From f8ccf3eebfa337d9a014c46751eb4ed8331321a2 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Sat, 30 Apr 2016 00:13:03 +0100 Subject: [PATCH 1/2] Fix Token::isBitOp to exclude shift operators --- libsolidity/parsing/Token.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libsolidity/parsing/Token.h b/libsolidity/parsing/Token.h index f28df8bf3..703e88f66 100644 --- a/libsolidity/parsing/Token.h +++ b/libsolidity/parsing/Token.h @@ -275,7 +275,7 @@ public: return Value(op + (BitOr - AssignBitOr)); } - static bool isBitOp(Value op) { return (BitOr <= op && op <= SHR) || op == BitNot; } + static bool isBitOp(Value op) { return (BitOr <= op && op <= BitAnd) || op == BitNot; } static bool isBooleanOp(Value op) { return (Or <= op && op <= And) || op == Not; } static bool isUnaryOp(Value op) { return (Not <= op && op <= Delete) || op == Add || op == Sub || op == After; } static bool isCountOp(Value op) { return op == Inc || op == Dec; } From 0cb820cf98a2c6b95abcfb42ea5f094c3240a7d4 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Sat, 30 Apr 2016 00:14:05 +0100 Subject: [PATCH 2/2] Include SHR case in ExpressionCompiler::appendShiftOperatorCode --- libsolidity/codegen/ExpressionCompiler.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libsolidity/codegen/ExpressionCompiler.cpp b/libsolidity/codegen/ExpressionCompiler.cpp index 166770936..b973a117f 100644 --- a/libsolidity/codegen/ExpressionCompiler.cpp +++ b/libsolidity/codegen/ExpressionCompiler.cpp @@ -1360,6 +1360,8 @@ void ExpressionCompiler::appendShiftOperatorCode(Token::Value _operator) break; case Token::SAR: break; + case Token::SHR: + break; default: BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Unknown shift operator.")); }