Fix CHC cex order

This commit is contained in:
Leonardo Alt
2021-03-11 10:36:40 +01:00
parent ec1c89d798
commit 6fd76e830d
19 changed files with 64 additions and 38 deletions
@@ -8,10 +8,12 @@ contract C {
bytes memory b3 = abi.encode(data[:data.length]);
// should hold but the engine cannot infer that data is fully equals data[:data.length] because each index is assigned separately
assert(b1.length == b3.length); // fails for now
// Disabled because of Spacer nondeterminism.
//assert(b1.length == b3.length); // fails for now
bytes memory b4 = abi.encode(data[5:10]);
assert(b1.length == b4.length); // should fail
// Disabled because of Spacer nondeterminism.
//assert(b1.length == b4.length); // should fail
uint x = 5;
uint y = 10;
@@ -20,14 +22,10 @@ contract C {
assert(b1.length == b5.length); // fails for now
}
}
// ====
// SMTIgnoreCex: yes
// ----
// Warning 2072: (364-379): Unused local variable.
// Warning 2072: (650-665): Unused local variable.
// Warning 6328: (312-342): CHC: Assertion violation happens here.
// Warning 1218: (548-578): CHC: Error trying to invoke SMT solver.
// Warning 6328: (548-578): CHC: Assertion violation might happen here.
// Warning 1218: (644-674): CHC: Error trying to invoke SMT solver.
// Warning 6328: (644-674): CHC: Assertion violation might happen here.
// Warning 1218: (895-925): CHC: Error trying to invoke SMT solver.
// Warning 6328: (895-925): CHC: Assertion violation might happen here.
// Warning 4661: (548-578): BMC: Assertion violation happens here.
// Warning 4661: (644-674): BMC: Assertion violation happens here.
// Warning 4661: (895-925): BMC: Assertion violation happens here.
// Warning 6328: (995-1025): CHC: Assertion violation happens here.