Merge pull request #10762 from ethereum/packedStorageOverflowSol2Yul

[Sol->Yul] Fixing uncheked increment/decrement.
This commit is contained in:
chriseth
2021-01-14 15:32:55 +01:00
committed by GitHub
2 changed files with 5 additions and 3 deletions
@@ -684,10 +684,11 @@ void IRGeneratorForStatements::endVisit(UnaryOperation const& _unaryOperation)
IRVariable modifiedValue(m_context.newYulVariable(), resultType);
IRVariable originalValue = readFromLValue(*m_currentLValue);
bool checked = m_context.arithmetic() == Arithmetic::Checked;
define(modifiedValue) <<
(op == Token::Inc ?
m_utils.incrementCheckedFunction(resultType) :
m_utils.decrementCheckedFunction(resultType)
(checked ? m_utils.incrementCheckedFunction(resultType) : m_utils.incrementWrappingFunction(resultType)) :
(checked ? m_utils.decrementCheckedFunction(resultType) : m_utils.decrementWrappingFunction(resultType))
) <<
"(" <<
originalValue.name() <<