mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Add better warning on binary operation on non-integer types in SMT Checker
This commit is contained in:
parent
278372c13d
commit
d30a6de942
@ -429,7 +429,14 @@ void SMTChecker::arithmeticOperation(BinaryOperation const& _op)
|
|||||||
case Token::Div:
|
case Token::Div:
|
||||||
{
|
{
|
||||||
solAssert(_op.annotation().commonType, "");
|
solAssert(_op.annotation().commonType, "");
|
||||||
solAssert(_op.annotation().commonType->category() == Type::Category::Integer, "");
|
if (_op.annotation().commonType->category() != Type::Category::Integer)
|
||||||
|
{
|
||||||
|
m_errorReporter.warning(
|
||||||
|
_op.location(),
|
||||||
|
"Assertion checker does not yet implement this operator on non-integer types."
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
auto const& intType = dynamic_cast<IntegerType const&>(*_op.annotation().commonType);
|
auto const& intType = dynamic_cast<IntegerType const&>(*_op.annotation().commonType);
|
||||||
smt::Expression left(expr(_op.leftExpression()));
|
smt::Expression left(expr(_op.leftExpression()));
|
||||||
smt::Expression right(expr(_op.rightExpression()));
|
smt::Expression right(expr(_op.rightExpression()));
|
||||||
|
Loading…
Reference in New Issue
Block a user