File tree 3 files changed +23
-2
lines changed
3 files changed +23
-2
lines changed Original file line number Diff line number Diff line change
1
+ #include <assert.h>
2
+
3
+ extern int x ;
4
+
5
+ int main (int argc , char * argv [])
6
+ {
7
+ if (argc > 5 )
8
+ x = 42 ;
9
+
10
+ __CPROVER_assert (x == 42 , "should fail" );
11
+ }
Original file line number Diff line number Diff line change
1
+ CORE
2
+ main.c
3
+
4
+ ^EXIT=10$
5
+ ^SIGNAL=0$
6
+ ^VERIFICATION FAILED$
7
+ --
8
+ --
9
+ The change to phi_function of 646cf29941499 failed to consider the case of
10
+ extern variables, which we leave uninitialised.
Original file line number Diff line number Diff line change @@ -473,11 +473,11 @@ static void merge_names(
473
473
rhs = goto_state_rhs;
474
474
else if (goto_state.guard .is_false ())
475
475
rhs = dest_state_rhs;
476
- else if (goto_count == 0 )
476
+ else if (goto_count == 0 && symbol. value . is_not_nil () )
477
477
{
478
478
rhs = dest_state_rhs;
479
479
}
480
- else if (dest_count == 0 )
480
+ else if (dest_count == 0 && symbol. value . is_not_nil () )
481
481
{
482
482
rhs = goto_state_rhs;
483
483
}
You can’t perform that action at this time.
0 commit comments