Skip to content

Commit 269f253

Browse files
committed
Detect loop locals with goto_rw in DFCC
1 parent 20a1ecf commit 269f253

File tree

24 files changed

+149
-61
lines changed

24 files changed

+149
-61
lines changed

regression/contracts-dfcc/dont_skip_cprover_prefixed_vars_fail/main.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
void foo()
22
{
3-
int nondet_var;
4-
int __VERIFIER_var;
5-
int __CPROVER_var;
3+
int nondet_var = nondet_int();
4+
int __VERIFIER_var = nondet_int();
5+
int __CPROVER_var = nondet_int();
66
for(int i = 10; i > 0; i--)
77
// clang-format off
8-
__CPROVER_assigns(i)
8+
__CPROVER_assigns(i)
99
__CPROVER_loop_invariant(0 <= i && i <= 10)
1010
__CPROVER_decreases(i)
1111
// clang-format on

regression/contracts-dfcc/dont_skip_cprover_prefixed_vars_pass/main.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
void foo()
22
{
3-
int nondet_var;
4-
int __VERIFIER_var;
5-
int __CPROVER_var;
3+
int nondet_var = nondet_int();
4+
int __VERIFIER_var = nondet_int();
5+
int __CPROVER_var = nondet_int();
66
for(int i = 10; i > 0; i--)
77
// clang-format off
88
__CPROVER_assigns(i,nondet_var, __VERIFIER_var, __CPROVER_var)

regression/contracts-dfcc/invar_assigns_opt/main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ int foo()
1717
}
1818
assert(r1 == 0);
1919

20-
int r2, s2 = 1;
20+
int r2 = nondet_int(), s2 = 1;
2121
__CPROVER_assume(r2 >= 0);
2222
while(r2 > 0)
2323
__CPROVER_assigns(r2, s2) __CPROVER_loop_invariant(r2 >= 0 && s2 == 1)

regression/contracts-dfcc/invar_check_break_fail/main.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
#include <assert.h>
2-
31
int main()
42
{
5-
int r;
3+
int r = nondet_int();
64
__CPROVER_assume(r >= 0);
75

86
while(r > 0)

regression/contracts-dfcc/invar_check_break_pass/main.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
#include <assert.h>
2-
31
int main()
42
{
5-
int r;
3+
int r = nondet_int();
64
__CPROVER_assume(r >= 0);
75

86
while(r > 0)

regression/contracts-dfcc/invar_check_continue/main.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
#include <assert.h>
2-
31
int main()
42
{
5-
int r;
3+
int r = nondet_int();
64
__CPROVER_assume(r >= 0);
75

86
while(r > 0)

regression/contracts-dfcc/invar_check_multiple_loops/main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
int main()
44
{
5-
int r, n, x, y;
5+
int r, n, x = nondet_int(), y = nondet_int();
66
__CPROVER_assume(n > 0 && x == y);
77

88
for(r = 0; r < n; ++r)

regression/contracts-dfcc/invar_check_nested_loops/main.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
int main()
44
{
5-
int n, s = 0;
5+
int n = nondet_int(), s = 0;
66
__CPROVER_assume(n >= 0);
77

88
for(int i = 0; i < n; ++i)
@@ -11,7 +11,7 @@ int main()
1111
__CPROVER_decreases(n - i)
1212
// clang-format on
1313
{
14-
int a, b;
14+
int a = nondet_int(), b = nondet_int();
1515
__CPROVER_assume(b >= 0 && a == b);
1616

1717
while(a > 0)

regression/contracts-dfcc/invar_check_pointer_modifies-01/main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ void main()
66
char *data = malloc(1);
77
*data = 42;
88

9-
unsigned i;
9+
unsigned i = nondet_int();
1010
while(i > 0)
1111
// clang-format off
1212
__CPROVER_loop_invariant(*data == 42)

regression/contracts-dfcc/invar_check_pointer_modifies-02/main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ void main()
88
copy = data;
99
*data = 42;
1010

11-
unsigned i;
11+
unsigned i = nondet_int();
1212
while(i > 0)
1313
// clang-format off
1414
__CPROVER_loop_invariant(*data == 42)

0 commit comments

Comments
 (0)