File tree Expand file tree Collapse file tree 3 files changed +29
-1
lines changed
regression/goto-instrument/constant-propagation1 Expand file tree Collapse file tree 3 files changed +29
-1
lines changed Original file line number Diff line number Diff line change 1+ #include <assert.h>
2+
3+ void main ()
4+ {
5+ unsigned char n ;
6+ __CPROVER_assume (n > 0 ); // To keep division well defined
7+ __CPROVER_assume (n * n > 0 ); // To keep division well defined
8+
9+ unsigned char i = 0 ;
10+ unsigned char j = 0 ;
11+
12+ unsigned char aux1 = i / (n * n );
13+ for (i = 0 ; i < n ; ++ i , aux1 = i / (n * n )) {
14+ for (j = 0 ; j < n ; ++ j ) {
15+ }
16+ }
17+ assert (i != n );
18+ }
Original file line number Diff line number Diff line change 1+ CORE
2+ main.c
3+ --constant-propagator --unwind 3
4+ ^EXIT=10$
5+ ^SIGNAL=0$
6+ ^VERIFICATION FAILED$
7+ --
8+ ^warning: ignoring
Original file line number Diff line number Diff line change @@ -66,7 +66,9 @@ void constant_propagator_domaint::transform(
6666 dynamic_cast <constant_propagator_ait *>(&ai);
6767 bool have_dirty=(cp!=nullptr );
6868
69- // INVARIANT(!values.is_bottom);
69+ // Transform on a domain that is bottom is possible
70+ // if a branch is impossible the target can still wind
71+ // up on the work list.
7072 if (values.is_bottom )
7173 return ;
7274
You can’t perform that action at this time.
0 commit comments