aboutsummaryrefslogtreecommitdiffstats
path: root/ExpressionCompiler.cpp
diff options
context:
space:
mode:
authorLiana Husikyan <liana@ethdev.com>2015-06-01 22:39:09 +0800
committerLiana Husikyan <liana@ethdev.com>2015-06-01 22:39:09 +0800
commitaf4650beb2360ebdf75e0fb2126b88acf441080a (patch)
tree336e54c81348c1bcb0513eda264ed2f87d3c9253 /ExpressionCompiler.cpp
parent9af94ca0dc8e62d8cfe04a8b127522e5874e312d (diff)
downloaddexon-solidity-af4650beb2360ebdf75e0fb2126b88acf441080a.tar.gz
dexon-solidity-af4650beb2360ebdf75e0fb2126b88acf441080a.tar.zst
dexon-solidity-af4650beb2360ebdf75e0fb2126b88acf441080a.zip
fixed CALL case. added exception
Diffstat (limited to 'ExpressionCompiler.cpp')
-rw-r--r--ExpressionCompiler.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/ExpressionCompiler.cpp b/ExpressionCompiler.cpp
index 6a246f44..ae8bcaee 100644
--- a/ExpressionCompiler.cpp
+++ b/ExpressionCompiler.cpp
@@ -1105,8 +1105,8 @@ void ExpressionCompiler::appendExternalFunctionCall(
m_context << eth::Instruction::CALL;
//Propagate error condition (if CALL pushes 0 on stack).
- auto tag = m_context.appendConditionalJump();
- m_context << eth::Instruction::STOP << tag; // STOP if CALL leaves 0.
+ m_context << eth::Instruction::ISZERO;
+ m_context.appendConditionalJumpTo(m_context.errorTag());
if (_functionType.valueSet())
m_context << eth::Instruction::POP;