[SMTChecker] Remove unsound assertion (too strong)

This commit is contained in:
Leonardo Alt 2019-07-01 16:16:39 +02:00
parent 22776cddcd
commit 6606a13ed2
2 changed files with 13 additions and 2 deletions

View File

@ -1264,8 +1264,6 @@ SecondarySourceLocation SMTEncoder::callStackMessage(vector<CallStackEntry> cons
for (auto const& call: _callStack | boost::adaptors::reversed) for (auto const& call: _callStack | boost::adaptors::reversed)
if (call.second) if (call.second)
callStackLocation.append("", call.second->location()); callStackLocation.append("", call.second->location());
// The first function in the tx has no FunctionCall.
solAssert(_callStack.front().second == nullptr, "");
return callStackLocation; return callStackLocation;
} }

View File

@ -0,0 +1,13 @@
pragma experimental SMTChecker;
contract C {
uint x = f(2);
function f(uint y) internal pure returns (uint) {
assert(y > 1000);
return y;
}
}
// ----
// Warning: (116-132): Assertion violation happens here
// Warning: (116-132): Assertion violation happens here