From 7f8ceaadab0c265674b591aa50cfeb8910628b9f Mon Sep 17 00:00:00 2001 From: Leonardo Alt Date: Thu, 20 Dec 2018 18:11:20 +0100 Subject: [SMTChecker] Clear state knowledge after external function calls --- .../functions/functions_external_1.sol | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 test/libsolidity/smtCheckerTests/functions/functions_external_1.sol (limited to 'test/libsolidity/smtCheckerTests/functions/functions_external_1.sol') diff --git a/test/libsolidity/smtCheckerTests/functions/functions_external_1.sol b/test/libsolidity/smtCheckerTests/functions/functions_external_1.sol new file mode 100644 index 00000000..16482e7a --- /dev/null +++ b/test/libsolidity/smtCheckerTests/functions/functions_external_1.sol @@ -0,0 +1,21 @@ +pragma experimental SMTChecker; + +contract D +{ + function g(uint x) public; +} + +contract C +{ + uint x; + function f(uint y, D d) public { + require(x == y); + assert(x == y); + d.g(y); + // Storage knowledge is cleared after an external call. + assert(x == y); + } +} +// ---- +// Warning: (119-122): Assertion checker does not yet support the type of this variable. +// Warning: (240-254): Assertion violation happens here -- cgit