mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
added error jump instead of STOP instraction in case of exception
This commit is contained in:
@@ -1102,9 +1102,10 @@ void ExpressionCompiler::appendExternalFunctionCall(
|
||||
)
|
||||
m_context << eth::Instruction::CALLCODE;
|
||||
else
|
||||
m_context << eth::Instruction::CALL;
|
||||
auto tag = m_context.appendConditionalJump();
|
||||
m_context << eth::Instruction::STOP << tag; // STOP if CALL leaves 0.
|
||||
{
|
||||
m_context << eth::Instruction::CALL << 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())
|
||||
|
||||
Reference in New Issue
Block a user