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
79
79
\fB \-\- malloc \- fail \- null \fR
80
80
set malloc failure mode to return null
81
81
.TP
82
- \fB \-\- unwinding \- assertions \fR ( \fB cbmc \fR \- only)
82
+ \fB \-\- unwinding \- assertions \fR
83
83
generate unwinding assertions (cannot be
84
84
used with \fB \-\- cover \fR )
85
85
.PP
@@ -108,9 +108,8 @@ disable signed arithmetic over\- and underflow checks
108
108
\fB \-\- no \- malloc \- may \- fail \fR
109
109
do not allow malloc calls to fail by default
110
110
.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
114
113
.PP
115
114
If an already set flag is re-set, like calling \fB \-\- pointer \- check \fR
116
115
when 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
862
862
\fB \-\- partial \- loops \fR
863
863
permit paths with partial loops
864
864
.TP
865
+ \fB \-\- no \- unwinding \- assertions \fR
866
+ do not generate unwinding assertions
867
+ .TP
865
868
\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)
867
871
.TP
868
872
\fB \-\- continue \- as \- loops \fR
869
873
add loop for remaining iterations after unwound part
Original file line number Diff line number Diff line change 1
1
CORE
2
2
main.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
4
4
^EXIT=0$
5
5
^SIGNAL=0$
6
6
^VERIFICATION SUCCESSFUL$
Original file line number Diff line number Diff line change 1
1
CORE
2
2
main.c
3
- --full-slice --unwind 1
3
+ --full-slice --unwind 1 --no-unwinding-assertions
4
4
^EXIT=0$
5
5
^SIGNAL=0$
6
6
^VERIFICATION SUCCESSFUL$
Original file line number Diff line number Diff line change 1
1
CORE
2
2
main.c
3
- --full-slice --unwind 2
3
+ --full-slice --unwind 2 --no-unwinding-assertions
4
4
^EXIT=0$
5
5
^SIGNAL=0$
6
6
^VERIFICATION SUCCESSFUL$
Original file line number Diff line number Diff line change 1
1
CORE
2
2
main.c
3
- --unwind 9
3
+ --unwind 9 --no-unwinding-assertions
4
4
^EXIT=0$
5
5
^SIGNAL=0$
6
6
^VERIFICATION SUCCESSFUL$
Original file line number Diff line number Diff line change @@ -201,9 +201,11 @@ int goto_instrument_parse_optionst::doit()
201
201
ui_message_handler);
202
202
}
203
203
204
- bool unwinding_assertions=cmdline.isset (" unwinding-assertions" );
205
- bool partial_loops=cmdline.isset (" partial-loops" );
206
204
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" ));
207
209
if (continue_as_loops)
208
210
{
209
211
if (unwinding_assertions)
@@ -1996,7 +1998,9 @@ void goto_instrument_parse_optionst::help()
1996
1998
HELP_UNWINDSET
1997
1999
" {y--unwindset-file_<file>} \t read unwindset from file\n "
1998
2000
" {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 "
2000
2004
" {y--continue-as-loops} \t add loop for remaining iterations after"
2001
2005
" unwound part\n "
2002
2006
" {y--k-induction} {uk} \t check loops with k-induction\n "
Original file line number Diff line number Diff line change 60
60
OPT_UNWINDSET \
61
61
" (unwindset-file):" \
62
62
" (unwinding-assertions)(partial-loops)(continue-as-loops)" \
63
+ " (no-unwinding-assertions)" \
63
64
" (log):" \
64
65
" (call-graph)(reachable-call-graph)" \
65
66
OPT_INSERT_FINAL_ASSERT_FALSE \
You can’t perform that action at this time.
0 commit comments