Commit 3ddd4b6
Remi Delmas
CONTRATCS: force success for some pointer predicates
Force success for pointer predicates that must
necessarily hold if they ever get invoked in
an assumption context. This ensures that the value sets
of pointers as as small as possible after assuming
a requires or an ensures clause and solves a performance
issue with z3. All predicates in the `cprover_contracts.c`
library now have an extra input `may_fail` controlling the
failure behaviour, DFCC instrumentation sets the `may_fail`
parameter to true or false using recursive algorithm.1 parent d4757e2 commit 3ddd4b6
File tree
9 files changed
+171
-20
lines changed- regression/contracts-dfcc/quantifiers-loops-fresh-bound-vars-smt
- src
- ansi-c/library
- goto-instrument/contracts/dynamic-frames
9 files changed
+171
-20
lines changedLines changed: 1 addition & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | 11 | | |
17 | 12 | | |
18 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1166 | 1166 | | |
1167 | 1167 | | |
1168 | 1168 | | |
| 1169 | + | |
1169 | 1170 | | |
1170 | 1171 | | |
1171 | 1172 | | |
| |||
1179 | 1180 | | |
1180 | 1181 | | |
1181 | 1182 | | |
| 1183 | + | |
1182 | 1184 | | |
1183 | 1185 | | |
1184 | 1186 | | |
| |||
1195 | 1197 | | |
1196 | 1198 | | |
1197 | 1199 | | |
1198 | | - | |
| 1200 | + | |
| 1201 | + | |
1199 | 1202 | | |
1200 | 1203 | | |
1201 | 1204 | | |
| |||
1224 | 1227 | | |
1225 | 1228 | | |
1226 | 1229 | | |
1227 | | - | |
1228 | | - | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
1229 | 1233 | | |
1230 | 1234 | | |
1231 | 1235 | | |
| |||
1242 | 1246 | | |
1243 | 1247 | | |
1244 | 1248 | | |
| 1249 | + | |
1245 | 1250 | | |
1246 | 1251 | | |
1247 | 1252 | | |
| |||
1289 | 1294 | | |
1290 | 1295 | | |
1291 | 1296 | | |
1292 | | - | |
| 1297 | + | |
1293 | 1298 | | |
1294 | 1299 | | |
1295 | 1300 | | |
| |||
1349 | 1354 | | |
1350 | 1355 | | |
1351 | 1356 | | |
1352 | | - | |
| 1357 | + | |
1353 | 1358 | | |
1354 | 1359 | | |
1355 | 1360 | | |
| |||
1436 | 1441 | | |
1437 | 1442 | | |
1438 | 1443 | | |
| 1444 | + | |
1439 | 1445 | | |
1440 | 1446 | | |
1441 | 1447 | | |
| |||
1449 | 1455 | | |
1450 | 1456 | | |
1451 | 1457 | | |
| 1458 | + | |
1452 | 1459 | | |
1453 | 1460 | | |
1454 | 1461 | | |
| |||
1470 | 1477 | | |
1471 | 1478 | | |
1472 | 1479 | | |
1473 | | - | |
| 1480 | + | |
| 1481 | + | |
1474 | 1482 | | |
1475 | | - | |
1476 | 1483 | | |
1477 | 1484 | | |
1478 | 1485 | | |
| |||
1647 | 1654 | | |
1648 | 1655 | | |
1649 | 1656 | | |
| 1657 | + | |
1650 | 1658 | | |
1651 | 1659 | | |
1652 | 1660 | | |
| |||
1657 | 1665 | | |
1658 | 1666 | | |
1659 | 1667 | | |
1660 | | - | |
1661 | | - | |
| 1668 | + | |
| 1669 | + | |
1662 | 1670 | | |
1663 | 1671 | | |
1664 | 1672 | | |
| |||
Lines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
156 | 156 | | |
157 | 157 | | |
158 | 158 | | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
27 | 30 | | |
Lines changed: 9 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
| |||
50 | 52 | | |
51 | 53 | | |
52 | 54 | | |
53 | | - | |
54 | | - | |
| 55 | + | |
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
| |||
61 | 62 | | |
62 | 63 | | |
63 | 64 | | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
64 | 71 | | |
65 | 72 | | |
66 | 73 | | |
| |||
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
87 | 88 | | |
88 | 89 | | |
89 | 90 | | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
90 | 97 | | |
91 | 98 | | |
92 | 99 | | |
| |||
Lines changed: 11 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| 20 | + | |
19 | 21 | | |
20 | 22 | | |
21 | 23 | | |
| |||
56 | 58 | | |
57 | 59 | | |
58 | 60 | | |
59 | | - | |
| 61 | + | |
60 | 62 | | |
61 | 63 | | |
62 | 64 | | |
| |||
67 | 69 | | |
68 | 70 | | |
69 | 71 | | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
70 | 78 | | |
71 | 79 | | |
72 | 80 | | |
| |||
106 | 114 | | |
107 | 115 | | |
108 | 116 | | |
109 | | - | |
| 117 | + | |
| 118 | + | |
110 | 119 | | |
111 | 120 | | |
112 | 121 | | |
| |||
Lines changed: 11 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
| 17 | + | |
16 | 18 | | |
17 | 19 | | |
18 | 20 | | |
| |||
53 | 55 | | |
54 | 56 | | |
55 | 57 | | |
56 | | - | |
| 58 | + | |
| 59 | + | |
57 | 60 | | |
58 | 61 | | |
59 | 62 | | |
| |||
64 | 67 | | |
65 | 68 | | |
66 | 69 | | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
67 | 77 | | |
68 | 78 | | |
69 | 79 | | |
| |||
0 commit comments