Skip to content

Commit 36582a6

Browse files
authored
add command line flag to optionally disable learning constraints from resources (#742)
1 parent 9805673 commit 36582a6

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

backend/cn/bin/main.ml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@ let verify
282282
quiet
283283
no_inherit_loc
284284
magic_comment_char_dollar
285+
disable_resource_derived_constraints
285286
=
286287
if json then (
287288
if debug_level > 0 then
@@ -309,6 +310,7 @@ let verify
309310
Check.fail_fast := fail_fast;
310311
Diagnostics.diag_string := diag;
311312
WellTyped.use_ity := not no_use_ity;
313+
Resources.disable_resource_derived_constraints := disable_resource_derived_constraints;
312314
with_well_formedness_check (* CLI arguments *)
313315
~filename
314316
~macros
@@ -760,6 +762,10 @@ module Verify_flags = struct
760762
let output_dir =
761763
let doc = "directory in which to output state files" in
762764
Arg.(value & opt (some string) None & info [ "output-dir" ] ~docv:"FILE" ~doc)
765+
766+
let disable_resource_derived_constraints =
767+
let doc = "disable resource-derived constraints" in
768+
Arg.(value & flag & info [ "disable-resource-derived-constraints" ] ~doc)
763769
end
764770

765771
module Executable_spec_flags = struct
@@ -871,6 +877,7 @@ let verify_t : unit Term.t =
871877
$ Verify_flags.quiet
872878
$ Common_flags.no_inherit_loc
873879
$ Common_flags.magic_comment_char_dollar
880+
$ Verify_flags.disable_resource_derived_constraints
874881

875882

876883
let verify_cmd =

backend/cn/lib/resources.ml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,5 +75,9 @@ let derived_lc2 (resource, _) (resource', _) =
7575
| _ -> []
7676

7777

78+
let disable_resource_derived_constraints = ref false
79+
7880
let pointer_facts ~new_resource ~old_resources =
79-
derived_lc1 new_resource @ List.concat_map (derived_lc2 new_resource) old_resources
81+
if !disable_resource_derived_constraints
82+
then []
83+
else derived_lc1 new_resource @ List.concat_map (derived_lc2 new_resource) old_resources

0 commit comments

Comments
 (0)