mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Fix ICE on unique errors
This commit is contained in:
@@ -35,6 +35,7 @@ SMTCheckerTest::SMTCheckerTest(string const& _filename): SyntaxTest(_filename, E
|
||||
else
|
||||
BOOST_THROW_EXCEPTION(runtime_error("Invalid SMT \"show unproved\" choice."));
|
||||
|
||||
m_modelCheckerSettings.solvers = smtutil::SMTSolverChoice::None();
|
||||
auto const& choice = m_reader.stringSetting("SMTSolvers", "any");
|
||||
if (choice == "any")
|
||||
m_modelCheckerSettings.solvers = smtutil::SMTSolverChoice::All();
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
==== Source: a.sol ====
|
||||
contract A {
|
||||
uint x;
|
||||
}
|
||||
==== Source: b.sol ====
|
||||
import "a.sol";
|
||||
contract B is A {
|
||||
function g() public view { assert(x > x); }
|
||||
}
|
||||
==== Source: c.sol ====
|
||||
import "b.sol";
|
||||
contract C is B {
|
||||
function h(uint x) public pure { assert(x < x); }
|
||||
}
|
||||
// ====
|
||||
// SMTEngine: all
|
||||
// SMTSolvers: smtlib2
|
||||
// ----
|
||||
// Warning 6328: (b.sol:62-75): CHC: Assertion violation might happen here.
|
||||
// Warning 3996: CHC analysis was not possible. No Horn solver was available. None of the installed solvers was enabled.
|
||||
// Warning 7812: (b.sol:62-75): BMC: Assertion violation might happen here.
|
||||
// Warning 8084: BMC analysis was not possible. No SMT solver (Z3 or CVC4) was available. None of the installed solvers was enabled.
|
||||
// Warning 6328: (c.sol:68-81): CHC: Assertion violation might happen here.
|
||||
// Warning 7812: (c.sol:68-81): BMC: Assertion violation might happen here.
|
||||
Reference in New Issue
Block a user