diff options
-rw-r--r-- | ExpressionCompiler.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/ExpressionCompiler.cpp b/ExpressionCompiler.cpp index a9f0ba3e..063af7ce 100644 --- a/ExpressionCompiler.cpp +++ b/ExpressionCompiler.cpp @@ -1102,10 +1102,11 @@ void ExpressionCompiler::appendExternalFunctionCall( ) m_context << eth::Instruction::CALLCODE; else - { - m_context << eth::Instruction::CALL << eth::Instruction::ISZERO; - auto tag = m_context.appendConditionalJumpTo(m_context.errorTag());// if CALL leaves 0. - } + m_context << eth::Instruction::CALL; + + m_context << eth::Instruction::ISZERO; + auto tag = m_context.appendConditionalJumpTo(m_context.errorTag());// if CALL leaves 0. + if (_functionType.valueSet()) m_context << eth::Instruction::POP; if (_functionType.gasSet()) |