mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
[SMTChecker] Fix ICE in fixed point operations
This commit is contained in:
parent
73484ccaf2
commit
66655b87b0
@ -10,6 +10,7 @@ Compiler Features:
|
|||||||
Bugfixes:
|
Bugfixes:
|
||||||
* SMTChecker: Fix bad cast in base constructor modifier.
|
* SMTChecker: Fix bad cast in base constructor modifier.
|
||||||
* SMTChecker: Fix internal error when visiting state variable inherited from base class.
|
* SMTChecker: Fix internal error when visiting state variable inherited from base class.
|
||||||
|
* SMTChecker: Fix internal error in fixed point operations.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1050,6 +1050,10 @@ bool SMTChecker::shortcutRationalNumber(Expression const& _expr)
|
|||||||
|
|
||||||
void SMTChecker::arithmeticOperation(BinaryOperation const& _op)
|
void SMTChecker::arithmeticOperation(BinaryOperation const& _op)
|
||||||
{
|
{
|
||||||
|
auto type = _op.annotation().commonType;
|
||||||
|
solAssert(type, "");
|
||||||
|
if (type->category() == Type::Category::Integer)
|
||||||
|
{
|
||||||
switch (_op.getOperator())
|
switch (_op.getOperator())
|
||||||
{
|
{
|
||||||
case Token::Add:
|
case Token::Add:
|
||||||
@ -1073,6 +1077,12 @@ void SMTChecker::arithmeticOperation(BinaryOperation const& _op)
|
|||||||
"Assertion checker does not yet implement this operator."
|
"Assertion checker does not yet implement this operator."
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
m_errorReporter.warning(
|
||||||
|
_op.location(),
|
||||||
|
"Assertion checker does not yet implement this operator for type " + type->richIdentifier() + "."
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
smt::Expression SMTChecker::arithmeticOperation(
|
smt::Expression SMTChecker::arithmeticOperation(
|
||||||
|
Loading…
Reference in New Issue
Block a user