File tree 2 files changed +12
-2
lines changed
regression/cbmc/Address_of1 2 files changed +12
-2
lines changed Original file line number Diff line number Diff line change 1
1
CORE
2
2
main.c
3
-
3
+ --stop-on-fail
4
4
^EXIT=0$
5
5
^SIGNAL=0$
6
6
^VERIFICATION SUCCESSFUL$
7
7
--
8
8
^warning: ignoring
9
+ --
10
+ Adding "--stop-on-fail" should not make a difference for successful
11
+ verification, but previously caused an invariant failure when running CBMC with
12
+ "--paths."
Original file line number Diff line number Diff line change @@ -75,6 +75,10 @@ operator()(propertiest &properties)
75
75
return result;
76
76
}
77
77
78
+ // leave the last worklist item in place for the benefit of output_proof
79
+ if (worklist->size () == 1 )
80
+ break ;
81
+
78
82
worklist->pop ();
79
83
}
80
84
@@ -83,7 +87,7 @@ operator()(propertiest &properties)
83
87
84
88
final_update_properties (properties, result.updated_properties );
85
89
86
- // Worklist is empty : we are done.
90
+ // Worklist just has the last element left : we are done.
87
91
return result;
88
92
}
89
93
@@ -182,6 +186,8 @@ void single_path_symex_checkert::output_error_witness(
182
186
void single_path_symex_checkert::output_proof ()
183
187
{
184
188
// This is incorrect, but the best we can do at the moment.
189
+ // operator()(propertiest &properties) leaves in place the last worklist item
190
+ // just for this purpose.
185
191
const path_storaget::patht &resume = worklist->peek ();
186
192
output_graphml (resume.equation , ns, options);
187
193
}
You can’t perform that action at this time.
0 commit comments