[SMTChecker] Fix ICE in branch-inline function call-modify local variable

This commit is contained in:
Leonardo Alt
2019-05-09 09:15:11 +02:00
parent dcd6cb94bf
commit 3d52a6ca68
19 changed files with 400 additions and 75 deletions
@@ -0,0 +1,21 @@
pragma experimental SMTChecker;
contract C
{
address owner;
modifier m {
if (true)
owner = g();
_;
}
function f() m public {
}
function g() public pure returns (address) {
address a;
a = address(0);
return a;
}
}
// ----
// Warning: (205-215): Type conversion is not yet fully supported and might yield false positives.
// Warning: (205-215): Type conversion is not yet fully supported and might yield false positives.
@@ -22,5 +22,4 @@ contract C
}
}
// ----
// Warning: (86-93): Condition is always true.
// Warning: (311-324): Assertion violation happens here
@@ -15,4 +15,3 @@ contract C
}
}
// ----
// Warning: (127-132): Condition is always true.
@@ -18,4 +18,3 @@ contract C
}
}
// ----
// Warning: (138-144): Condition is always false.
@@ -17,5 +17,3 @@ contract C
}
}
// ----
// Warning: (137-142): Condition is always true.
// Warning: (155-164): Condition is always true.