aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity/smtCheckerTests/loops/do_while_1_fail.sol
blob: ea5bf04436dd2605fcc2b6db57d0fe64283efbb9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
pragma experimental SMTChecker;

contract C
{
    function f(uint x) public pure {
        require(x < 100);
        do {
            // Overflows due to resetting x.
            x = x + 1;
        } while (x < 10);
        assert(x < 14);
    }
}
// ----
// Warning: (150-155): Overflow (resulting value larger than 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) happens here
// Warning: (146-155): Overflow (resulting value larger than 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) happens here
// Warning: (179-193): Assertion violation happens here