Skip to content

Commit 1369d99

Browse files
committed
Add test 56-witness/71-var_eq-invariants
1 parent 62e97b9 commit 1369d99

File tree

2 files changed

+77
-0
lines changed

2 files changed

+77
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
// CRAM
2+
3+
int main() {
4+
int a, b, c, d;
5+
a = b = c = d;
6+
return 0;
7+
}
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
$ goblint --set ana.activated[+] var_eq --enable witness.yaml.enabled 71-var_eq-invariants.c
2+
[Info][Deadcode] Logical lines of code (LLoC) summary:
3+
live: 3
4+
dead: 0
5+
total lines: 3
6+
[Info][Witness] witness generation summary:
7+
location invariants: 6
8+
loop invariants: 0
9+
flow-insensitive invariants: 0
10+
total generation entries: 1
11+
12+
With 4 equal variables, there should be just 3 var_eq invariants, not 6.
13+
14+
$ yamlWitnessStrip < witness.yml
15+
- entry_type: invariant_set
16+
content:
17+
- invariant:
18+
type: location_invariant
19+
location:
20+
file_name: 71-var_eq-invariants.c
21+
line: 6
22+
column: 3
23+
function: main
24+
value: a == b
25+
format: c_expression
26+
- invariant:
27+
type: location_invariant
28+
location:
29+
file_name: 71-var_eq-invariants.c
30+
line: 6
31+
column: 3
32+
function: main
33+
value: a == c
34+
format: c_expression
35+
- invariant:
36+
type: location_invariant
37+
location:
38+
file_name: 71-var_eq-invariants.c
39+
line: 6
40+
column: 3
41+
function: main
42+
value: a == d
43+
format: c_expression
44+
- invariant:
45+
type: location_invariant
46+
location:
47+
file_name: 71-var_eq-invariants.c
48+
line: 6
49+
column: 3
50+
function: main
51+
value: b == c
52+
format: c_expression
53+
- invariant:
54+
type: location_invariant
55+
location:
56+
file_name: 71-var_eq-invariants.c
57+
line: 6
58+
column: 3
59+
function: main
60+
value: b == d
61+
format: c_expression
62+
- invariant:
63+
type: location_invariant
64+
location:
65+
file_name: 71-var_eq-invariants.c
66+
line: 6
67+
column: 3
68+
function: main
69+
value: c == d
70+
format: c_expression

0 commit comments

Comments
 (0)