[SMTChecker] Support type conversions

This commit is contained in:
Alex Beregszaszi
2020-10-02 10:26:02 +02:00
committed by Leonardo Alt
parent 875dc0f10c
commit fedbea46cd
25 changed files with 401 additions and 71 deletions
@@ -5,4 +5,3 @@ contract C {
}
}
// ----
// Warning 5084: (101-109): Type conversion is not yet fully supported and might yield false positives.
@@ -5,4 +5,3 @@ contract C {
}
}
// ----
// Warning 5084: (102-112): Type conversion is not yet fully supported and might yield false positives.
@@ -5,5 +5,3 @@ contract C {
}
}
// ----
// Warning 5084: (101-111): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (115-125): Type conversion is not yet fully supported and might yield false positives.
@@ -3,10 +3,8 @@ pragma experimental SMTChecker;
contract C {
function f() public pure {
uint x = uint(~1);
// This assertion fails because type conversion is still unsupported.
assert(x == 2**256 - 2);
assert(~1 == -2);
}
}
// ----
// Warning 6328: (169-192): CHC: Assertion violation happens here.
@@ -6,6 +6,3 @@ contract test {
}
// ----
// Warning 2072: (80-88): Unused local variable.
// Warning 4984: (91-112): CHC: Overflow (resulting value larger than 2**256 - 1) happens here.
// Warning 5084: (91-100): Type conversion is not yet fully supported and might yield false positives.
// Warning 5084: (103-112): Type conversion is not yet fully supported and might yield false positives.