From: Kevin Enderby Date: Fri, 9 Mar 2012 22:24:10 +0000 (+0000) Subject: Add the missing call to Error when a bad X86 scale expression is parsed. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=58dfaa14651f36fc9fce2031eb011e65ae267b9f;p=oota-llvm.git Add the missing call to Error when a bad X86 scale expression is parsed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152443 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/AsmParser/X86AsmParser.cpp b/lib/Target/X86/AsmParser/X86AsmParser.cpp index d91830f5667..e05b50c57e3 100644 --- a/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -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){ diff --git a/test/MC/X86/x86_errors.s b/test/MC/X86/x86_errors.s index 8de7444ea6c..8f2e1af40b5 100644 --- a/test/MC/X86/x86_errors.s +++ b/test/MC/X86/x86_errors.s @@ -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