File tree Expand file tree Collapse file tree 8 files changed +20
-12
lines changed
regression/goto-instrument Expand file tree Collapse file tree 8 files changed +20
-12
lines changed Original file line number Diff line number Diff line change @@ -79,7 +79,7 @@ allow malloc calls to return a null pointer
7979\fB \-\- malloc \- fail \- null \fR
8080set malloc failure mode to return null
8181.TP
82- \fB \-\- unwinding \- assertions \fR ( \fB cbmc \fR \- only)
82+ \fB \-\- unwinding \- assertions \fR
8383generate unwinding assertions (cannot be
8484used with \fB \-\- cover \fR )
8585.PP
@@ -108,9 +108,8 @@ disable signed arithmetic over\- and underflow checks
108108\fB \-\- no \- malloc \- may \- fail \fR
109109do not allow malloc calls to fail by default
110110.TP
111- \fB \-\- no \- unwinding \- assertions \fR (\fB cbmc \fR \- only)
112- do not generate unwinding assertions (cannot be
113- used with \fB \-\- cover \fR )
111+ \fB \-\- no \- unwinding \- assertions \fR
112+ do not generate unwinding assertions
114113.PP
115114If an already set flag is re-set, like calling \fB \-\- pointer \- check \fR
116115when default checks are already on, the flag is simply ignored.
Original file line number Diff line number Diff line change @@ -862,8 +862,12 @@ read unwindset from file
862862\fB \-\- partial \- loops \fR
863863permit paths with partial loops
864864.TP
865+ \fB \-\- no \- unwinding \- assertions \fR
866+ do not generate unwinding assertions
867+ .TP
865868\fB \-\- unwinding \- assertions \fR
866- generate unwinding assertions
869+ generate unwinding assertions (enabled by default; overrides
870+ \fB \-\- no \- unwinding \- assertions \fR when both of these are given)
867871.TP
868872\fB \-\- continue \- as \- loops \fR
869873add loop for remaining iterations after unwound part
Original file line number Diff line number Diff line change 11CORE
22main.c
3- --no-malloc-may-fail --unwind 2 --full-slice --add-library _ --no-standard-checks
3+ --no-malloc-may-fail --unwind 2 --no-unwinding-assertions -- full-slice --add-library _ --no-standard-checks
44^EXIT=0$
55^SIGNAL=0$
66^VERIFICATION SUCCESSFUL$
Original file line number Diff line number Diff line change 11CORE
22main.c
3- --full-slice --unwind 1
3+ --full-slice --unwind 1 --no-unwinding-assertions
44^EXIT=0$
55^SIGNAL=0$
66^VERIFICATION SUCCESSFUL$
Original file line number Diff line number Diff line change 11CORE
22main.c
3- --full-slice --unwind 2
3+ --full-slice --unwind 2 --no-unwinding-assertions
44^EXIT=0$
55^SIGNAL=0$
66^VERIFICATION SUCCESSFUL$
Original file line number Diff line number Diff line change 11CORE
22main.c
3- --unwind 9
3+ --unwind 9 --no-unwinding-assertions
44^EXIT=0$
55^SIGNAL=0$
66^VERIFICATION SUCCESSFUL$
Original file line number Diff line number Diff line change @@ -201,9 +201,11 @@ int goto_instrument_parse_optionst::doit()
201201 ui_message_handler);
202202 }
203203
204- bool unwinding_assertions=cmdline.isset (" unwinding-assertions" );
205- bool partial_loops=cmdline.isset (" partial-loops" );
206204 bool continue_as_loops=cmdline.isset (" continue-as-loops" );
205+ bool partial_loops = cmdline.isset (" partial-loops" );
206+ bool unwinding_assertions = cmdline.isset (" unwinding-assertions" ) ||
207+ (!continue_as_loops && !partial_loops &&
208+ !cmdline.isset (" no-unwinding-assertions" ));
207209 if (continue_as_loops)
208210 {
209211 if (unwinding_assertions)
@@ -1996,7 +1998,9 @@ void goto_instrument_parse_optionst::help()
19961998 HELP_UNWINDSET
19971999 " {y--unwindset-file_<file>} \t read unwindset from file\n "
19982000 " {y--partial-loops} \t permit paths with partial loops\n "
1999- " {y--unwinding-assertions} \t generate unwinding assertions\n "
2001+ " {y--unwinding-assertions} \t generate unwinding assertions"
2002+ " (enabled by default)\n "
2003+ " {y--no-unwinding-assertions} \t do not generate unwinding assertions\n "
20002004 " {y--continue-as-loops} \t add loop for remaining iterations after"
20012005 " unwound part\n "
20022006 " {y--k-induction} {uk} \t check loops with k-induction\n "
Original file line number Diff line number Diff line change 6060 OPT_UNWINDSET \
6161 " (unwindset-file):" \
6262 " (unwinding-assertions)(partial-loops)(continue-as-loops)" \
63+ " (no-unwinding-assertions)" \
6364 " (log):" \
6465 " (call-graph)(reachable-call-graph)" \
6566 OPT_INSERT_FINAL_ASSERT_FALSE \
You can’t perform that action at this time.
0 commit comments