Basic support to free functions

This commit is contained in:
Leonardo Alt
2021-04-19 19:23:18 +02:00
parent 6a0a51110d
commit 4e34359063
12 changed files with 90 additions and 67 deletions
@@ -11,5 +11,5 @@ function fun(uint[] calldata _x, uint[] storage _y) view returns (uint, uint[]
// ====
// SMTEngine: all
// ----
// Warning 6660: (188-302): Model checker analysis was not possible because file level functions are not supported.
// Warning 6660: (188-302): Model checker analysis was not possible because file level functions are not supported.
// Warning 4984: (168-180): 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 6368: (289-294): CHC: Out of bounds access happens here.\nCounterexample:\ndata = []\nx = 0\ninput = [5, 5, 5, 5, 5, 5, 5, 5, 5, 10, 5, 5, 13, 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, 13, 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, 13, 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
@@ -6,6 +6,3 @@ contract C {
function f() {}
// ====
// SMTEngine: all
// ----
// Warning 6660: (50-65): Model checker analysis was not possible because file level functions are not supported.
// Warning 6660: (50-65): Model checker analysis was not possible because file level functions are not supported.
@@ -1,6 +1,3 @@
function f() view {}
// ====
// SMTEngine: all
// ----
// Warning 6660: (0-20): Model checker analysis was not possible because file level functions are not supported.
// Warning 6660: (0-20): Model checker analysis was not possible because file level functions are not supported.
@@ -4,6 +4,4 @@ function f()pure {
// ====
// SMTEngine: all
// ----
// Warning 2072: (20-28): Unused local variable.
// Warning 6660: (0-55): Model checker analysis was not possible because file level functions are not supported.
// Warning 6660: (0-55): Model checker analysis was not possible because file level functions are not supported.
// Warning 2072: (52-60): Unused local variable.
@@ -5,6 +5,4 @@ function f() pure {
// ====
// SMTEngine: all
// ----
// Warning 6133: (35-51): Statement has no effect.
// Warning 6660: (14-54): Model checker analysis was not possible because file level functions are not supported.
// Warning 6660: (14-54): Model checker analysis was not possible because file level functions are not supported.
// Warning 6133: (67-83): Statement has no effect.
@@ -12,7 +12,5 @@ function fun(uint[] calldata _x, uint[] storage _y) view returns (uint, uint[]
// ====
// SMTEngine: all
// ----
// Warning 8195: (0-20): Model checker analysis was not possible because file level constants are not supported.
// Warning 6660: (214-328): Model checker analysis was not possible because file level functions are not supported.
// Warning 8195: (0-20): Model checker analysis was not possible because file level constants are not supported.
// Warning 6660: (214-328): Model checker analysis was not possible because file level functions are not supported.
// 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.