mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #4479 from ethereum/fixFixedPointCrash
Fix handling of fixed point types in arithmetics.
This commit is contained in:
commit
0dd79bc172
@ -349,6 +349,10 @@ bool ExpressionCompiler::visit(UnaryOperation const& _unaryOperation)
|
||||
case Token::Inc: // ++ (pre- or postfix)
|
||||
case Token::Dec: // -- (pre- or postfix)
|
||||
solAssert(!!m_currentLValue, "LValue not retrieved.");
|
||||
solUnimplementedAssert(
|
||||
_unaryOperation.annotation().type->category() != Type::Category::FixedPoint,
|
||||
"Not yet implemented - FixedPointType."
|
||||
);
|
||||
m_currentLValue->retrieveValue(_unaryOperation.location());
|
||||
if (!_unaryOperation.isPrefixOperation())
|
||||
{
|
||||
@ -1647,12 +1651,12 @@ void ExpressionCompiler::appendOrdinaryBinaryOperatorCode(Token::Value _operator
|
||||
|
||||
void ExpressionCompiler::appendArithmeticOperatorCode(Token::Value _operator, Type const& _type)
|
||||
{
|
||||
IntegerType const& type = dynamic_cast<IntegerType const&>(_type);
|
||||
bool const c_isSigned = type.isSigned();
|
||||
|
||||
if (_type.category() == Type::Category::FixedPoint)
|
||||
solUnimplemented("Not yet implemented - FixedPointType.");
|
||||
|
||||
IntegerType const& type = dynamic_cast<IntegerType const&>(_type);
|
||||
bool const c_isSigned = type.isSigned();
|
||||
|
||||
switch (_operator)
|
||||
{
|
||||
case Token::Add:
|
||||
|
Loading…
Reference in New Issue
Block a user