Basic support to free constants

This commit is contained in:
Leonardo Alt
2021-04-19 19:23:18 +02:00
parent 6ae82fcec2
commit 095d337140
7 changed files with 39 additions and 48 deletions
@@ -7,5 +7,4 @@ contract C {
// ====
// SMTEngine: all
// ----
// Warning 8195: (0-20): Model checker analysis was not possible because file level constants are not supported.
// Warning 8195: (0-20): Model checker analysis was not possible because file level constants are not supported.
// Warning 4984: (125-130): CHC: Overflow (resulting value larger than 2**256 - 1) happens here.\nCounterexample:\n\nx = 115792089237316195423570985008687907853269984665640564039457584007913129639894\n = 0\n\nTransaction trace:\nC.constructor()\nC.f(115792089237316195423570985008687907853269984665640564039457584007913129639894)
@@ -10,10 +10,4 @@ contract C {
// ====
// SMTEngine: all
// ----
// Warning 2018: (188-278): Function state mutability can be restricted to pure
// Warning 8195: (0-23): Model checker analysis was not possible because file level constants are not supported.
// Warning 8195: (79-133): Model checker analysis was not possible because file level constants are not supported.
// Warning 8195: (135-172): Model checker analysis was not possible because file level constants are not supported.
// Warning 8195: (0-23): Model checker analysis was not possible because file level constants are not supported.
// Warning 8195: (79-133): Model checker analysis was not possible because file level constants are not supported.
// Warning 8195: (135-172): Model checker analysis was not possible because file level constants are not supported.
// Warning 2018: (220-310): Function state mutability can be restricted to pure
@@ -12,5 +12,6 @@ function fun(uint[] calldata _x, uint[] storage _y) view returns (uint, uint[]
// ====
// SMTEngine: all
// ----
// Warning 8195: (32-52): Model checker analysis was not possible because file level constants are not supported.
// Warning 8195: (32-52): Model checker analysis was not possible because file level constants are not supported.
// Warning 4984: (222-234): CHC: Overflow (resulting value larger than 2**256 - 1) happens here.\nCounterexample:\ndata = []\nx = 1\n = 0\n = 0\na = 0\n\nTransaction trace:\nC.constructor()\nState: data = []\nC.f(1, input)\n ::fun(_x, []) -- internal call
// Warning 4984: (222-238): CHC: Overflow (resulting value larger than 2**256 - 1) happens here.\nCounterexample:\ndata = []\nx = 115792089237316195423570985008687907853269984665640564039457584007913129632175\n = 0\n = 0\na = 0\n\nTransaction trace:\nC.constructor()\nState: data = []\nC.f(115792089237316195423570985008687907853269984665640564039457584007913129632175, input)\n ::fun(_x, []) -- internal call
// Warning 6368: (347-352): CHC: Out of bounds access happens here.\nCounterexample:\ndata = []\nx = 0\ninput = [5, 5, 5, 5, 5, 5, 5, 5, 5, 10, 5, 5, 14, 5, 5, 5, 5, 5, 19, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]\n = 0\n = 0\n\nTransaction trace:\nC.constructor()\nState: data = []\nC.f(0, [5, 5, 5, 5, 5, 5, 5, 5, 5, 10, 5, 5, 14, 5, 5, 5, 5, 5, 19, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5])\n ::fun([5, 5, 5, 5, 5, 5, 5, 5, 5, 10, 5, 5, 14, 5, 5, 5, 5, 5, 19, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5], []) -- internal call