aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/codegen/ExpressionCompiler.cpp
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2016-05-25 15:40:39 +0800
committerchriseth <c@ethdev.com>2016-05-25 15:40:39 +0800
commit51a94d75d011b02a115a6af1c3dfa18ba2cec472 (patch)
tree52cec06169f541b6c46685fb3a1f506f6a29f601 /libsolidity/codegen/ExpressionCompiler.cpp
parent86c65c9339111b5a8e3ce001bbaa36528d2c0e25 (diff)
parent708129abd5f67838913dd42df590b3b64a825e3a (diff)
downloaddexon-solidity-51a94d75d011b02a115a6af1c3dfa18ba2cec472.tar
dexon-solidity-51a94d75d011b02a115a6af1c3dfa18ba2cec472.tar.gz
dexon-solidity-51a94d75d011b02a115a6af1c3dfa18ba2cec472.tar.bz2
dexon-solidity-51a94d75d011b02a115a6af1c3dfa18ba2cec472.tar.lz
dexon-solidity-51a94d75d011b02a115a6af1c3dfa18ba2cec472.tar.xz
dexon-solidity-51a94d75d011b02a115a6af1c3dfa18ba2cec472.tar.zst
dexon-solidity-51a94d75d011b02a115a6af1c3dfa18ba2cec472.zip
Merge pull request #588 from chriseth/cleanup
Fix: Perform proper cleanup for bytesNN types.
Diffstat (limited to 'libsolidity/codegen/ExpressionCompiler.cpp')
-rw-r--r--libsolidity/codegen/ExpressionCompiler.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/libsolidity/codegen/ExpressionCompiler.cpp b/libsolidity/codegen/ExpressionCompiler.cpp
index a01e306e..16677093 100644
--- a/libsolidity/codegen/ExpressionCompiler.cpp
+++ b/libsolidity/codegen/ExpressionCompiler.cpp
@@ -360,8 +360,11 @@ bool ExpressionCompiler::visit(BinaryOperation const& _binaryOperation)
m_context << commonType.literalValue(nullptr);
else
{
- bool cleanupNeeded = commonType.category() == Type::Category::Integer &&
- (Token::isCompareOp(c_op) || c_op == Token::Div || c_op == Token::Mod);
+ bool cleanupNeeded = false;
+ if (Token::isCompareOp(c_op))
+ cleanupNeeded = true;
+ if (commonType.category() == Type::Category::Integer && (c_op == Token::Div || c_op == Token::Mod))
+ cleanupNeeded = true;
// for commutative operators, push the literal as late as possible to allow improved optimization
auto isLiteral = [](Expression const& _e)