aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libsolidity/formal/SMTChecker.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/libsolidity/formal/SMTChecker.cpp b/libsolidity/formal/SMTChecker.cpp
index ef2dc52f..e5648eb3 100644
--- a/libsolidity/formal/SMTChecker.cpp
+++ b/libsolidity/formal/SMTChecker.cpp
@@ -992,13 +992,16 @@ void SMTChecker::createExpr(Expression const& _e)
solAssert(_e.annotation().type, "");
if (hasExpr(_e))
m_expressions.at(&_e)->increaseIndex();
- auto result = newSymbolicVariable(*_e.annotation().type, "expr_" + to_string(_e.id()), *m_interface);
- m_expressions.emplace(&_e, result.second);
- if (result.first)
- m_errorReporter.warning(
- _e.location(),
- "Assertion checker does not yet implement this type."
- );
+ else
+ {
+ auto result = newSymbolicVariable(*_e.annotation().type, "expr_" + to_string(_e.id()), *m_interface);
+ m_expressions.emplace(&_e, result.second);
+ if (result.first)
+ m_errorReporter.warning(
+ _e.location(),
+ "Assertion checker does not yet implement this type."
+ );
+ }
}
void SMTChecker::defineExpr(Expression const& _e, smt::Expression _value)