|
|
@ -810,9 +810,9 @@ void ExpressionCompiler::LValue::setToZero(Expression const& _expression) const |
|
|
|
if (stackDiff > 16) |
|
|
|
BOOST_THROW_EXCEPTION(CompilerError() << errinfo_sourceLocation(_expression.getLocation()) |
|
|
|
<< errinfo_comment("Stack too deep.")); |
|
|
|
solAssert(stackDiff <= m_size, ""); |
|
|
|
solAssert(stackDiff >= m_size - 1, ""); |
|
|
|
for (unsigned i = 0; i < m_size; ++i) |
|
|
|
*m_context << u256(0) << eth::swapInstruction(stackDiff + (m_size - i) ) |
|
|
|
*m_context << u256(0) << eth::swapInstruction(stackDiff + 1 - i) |
|
|
|
<< eth::Instruction::POP; |
|
|
|
break; |
|
|
|
} |
|
|
|