diff options
author | chriseth <chris@ethereum.org> | 2018-04-20 01:24:01 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-20 01:24:01 +0800 |
commit | 124ca40dc525a987a88176c6e5170978e82fa290 (patch) | |
tree | b1c1da8a9a6ba886bb43f115328a18222f59553d /libsolidity/formal/SMTChecker.cpp | |
parent | 4cb486ee993cadde5564fb6c611d2bcf4fc44414 (diff) | |
parent | 7fb431ad7d0f7667c83d3f9b2350c3a1cef73b9e (diff) | |
download | dexon-solidity-124ca40dc525a987a88176c6e5170978e82fa290.tar dexon-solidity-124ca40dc525a987a88176c6e5170978e82fa290.tar.gz dexon-solidity-124ca40dc525a987a88176c6e5170978e82fa290.tar.bz2 dexon-solidity-124ca40dc525a987a88176c6e5170978e82fa290.tar.lz dexon-solidity-124ca40dc525a987a88176c6e5170978e82fa290.tar.xz dexon-solidity-124ca40dc525a987a88176c6e5170978e82fa290.tar.zst dexon-solidity-124ca40dc525a987a88176c6e5170978e82fa290.zip |
Merge pull request #3950 from ethereum/develop
Merge develop into release for 0.4.23
Diffstat (limited to 'libsolidity/formal/SMTChecker.cpp')
-rw-r--r-- | libsolidity/formal/SMTChecker.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libsolidity/formal/SMTChecker.cpp b/libsolidity/formal/SMTChecker.cpp index 8f4abdc2..777e57c3 100644 --- a/libsolidity/formal/SMTChecker.cpp +++ b/libsolidity/formal/SMTChecker.cpp @@ -19,6 +19,8 @@ #ifdef HAVE_Z3 #include <libsolidity/formal/Z3Interface.h> +#elif HAVE_CVC4 +#include <libsolidity/formal/CVC4Interface.h> #else #include <libsolidity/formal/SMTLib2Interface.h> #endif @@ -39,6 +41,8 @@ using namespace dev::solidity; SMTChecker::SMTChecker(ErrorReporter& _errorReporter, ReadCallback::Callback const& _readFileCallback): #ifdef HAVE_Z3 m_interface(make_shared<smt::Z3Interface>()), +#elif HAVE_CVC4 + m_interface(make_shared<smt::CVC4Interface>()), #else m_interface(make_shared<smt::SMTLib2Interface>(_readFileCallback)), #endif @@ -464,7 +468,7 @@ void SMTChecker::compareOperation(BinaryOperation const& _op) } else // Bool { - solAssert(SSAVariable::isBool(_op.annotation().commonType->category()), ""); + solUnimplementedAssert(SSAVariable::isBool(_op.annotation().commonType->category()), "Operation not yet supported"); value = make_shared<smt::Expression>( op == Token::Equal ? (left == right) : op == Token::NotEqual ? (left != right) : @@ -835,7 +839,7 @@ void SMTChecker::createExpr(Expression const& _e) m_expressions.emplace(&_e, m_interface->newBool(uniqueSymbol(_e))); break; default: - solAssert(false, "Type not implemented."); + solUnimplementedAssert(false, "Type not implemented."); } } } |