Add the missing call to Error when a bad X86 scale expression is parsed.
authorKevin Enderby <enderby@apple.com>
Fri, 9 Mar 2012 22:24:10 +0000 (22:24 +0000)
committerKevin Enderby <enderby@apple.com>
Fri, 9 Mar 2012 22:24:10 +0000 (22:24 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152443 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/AsmParser/X86AsmParser.cpp
test/MC/X86/x86_errors.s

index d91830f566728b7da077d03e529439bc62cba940..e05b50c57e3ac65c9282f7c81da4fe866f59a69e 100644 (file)
@@ -876,8 +876,10 @@ X86Operand *X86AsmParser::ParseMemOperand(unsigned SegReg, SMLoc MemStart) {
           SMLoc Loc = Parser.getTok().getLoc();
 
           int64_t ScaleVal;
-          if (getParser().ParseAbsoluteExpression(ScaleVal))
+          if (getParser().ParseAbsoluteExpression(ScaleVal)){
+            Error(Loc, "expected scale expression");
             return 0;
+         }
 
           // Validate the scale amount.
           if (ScaleVal != 1 && ScaleVal != 2 && ScaleVal != 4 && ScaleVal != 8){
index 8de7444ea6c01ad595729ecc8e2fde8ee7cfee39..8f2e1af40b57bdedff0b49a03ae4e529c6e16dab 100644 (file)
@@ -20,3 +20,7 @@ movl 0(%rax), 0(%edx)  // error: invalid operand for instruction
 
 // 32: error: instruction requires a CPU feature not currently enabled
 sysexitq
+
+// rdar://10710167
+// 64: error: expected scale expression
+lea (%rsp, %rbp, $4), %rax