summaryrefslogtreecommitdiff
path: root/lib/MC
diff options
context:
space:
mode:
authorKevin Enderby <enderby@apple.com>2013-05-07 21:40:58 +0000
committerKevin Enderby <enderby@apple.com>2013-05-07 21:40:58 +0000
commit88535dda9050377cc52dfffa20664484b0bb9f7f (patch)
tree82dfb9c2114eda98b49a6c4d181a8f15d6f297b1 /lib/MC
parent20d9e41ddb3f531267680819b5cac4cac1c6b231 (diff)
downloadllvm-88535dda9050377cc52dfffa20664484b0bb9f7f.tar.gz
llvm-88535dda9050377cc52dfffa20664484b0bb9f7f.tar.bz2
llvm-88535dda9050377cc52dfffa20664484b0bb9f7f.tar.xz
Fix a bug in the MC asm parser evaluating expressions. It was treating:
A = 9 B = 3 * A - 2 * A + 1 as B = 3 * A - (2 * A + 1) rdar://13816516 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181366 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC')
-rw-r--r--lib/MC/MCParser/AsmParser.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/MC/MCParser/AsmParser.cpp b/lib/MC/MCParser/AsmParser.cpp
index 2368e9e86a..edefdb4c36 100644
--- a/lib/MC/MCParser/AsmParser.cpp
+++ b/lib/MC/MCParser/AsmParser.cpp
@@ -1092,7 +1092,7 @@ bool AsmParser::ParseBinOpRHS(unsigned Precedence, const MCExpr *&Res,
MCBinaryExpr::Opcode Dummy;
unsigned NextTokPrec = getBinOpPrecedence(Lexer.getKind(), Dummy);
if (TokPrec < NextTokPrec) {
- if (ParseBinOpRHS(Precedence+1, RHS, EndLoc)) return true;
+ if (ParseBinOpRHS(TokPrec+1, RHS, EndLoc)) return true;
}
// Merge LHS and RHS according to operator.