mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 12:50:30 +00:00
ARM IAS: fix diagnostics of improper qualification
An improper qualifier would result in a superfluous error due to the parser not consuming the remainder of the statement. Simply consume the remainder of the statement to avoid the error. llvm-svn: 199035
This commit is contained in:
parent
816c9a7dd9
commit
c74b8ca814
@ -5325,6 +5325,7 @@ bool ARMAsmParser::ParseInstruction(ParseInstructionInfo &Info, StringRef Name,
|
||||
// For for ARM mode generate an error if the .n qualifier is used.
|
||||
if (ExtraToken == ".n" && !isThumb()) {
|
||||
SMLoc Loc = SMLoc::getFromPointer(NameLoc.getPointer() + Start);
|
||||
Parser.eatToEndOfStatement();
|
||||
return Error(Loc, "instruction with .n (narrow) qualifier not allowed in "
|
||||
"arm mode");
|
||||
}
|
||||
|
15
test/MC/ARM/arm-qualifier-diagnostics.s
Normal file
15
test/MC/ARM/arm-qualifier-diagnostics.s
Normal file
@ -0,0 +1,15 @@
|
||||
@ RUN: not llvm-mc -triple armv7-eabi -filetype asm -o - %s 2>&1 | FileCheck %s
|
||||
|
||||
.syntax unified
|
||||
|
||||
.type function,%function
|
||||
function:
|
||||
ldr.n r0, [r0]
|
||||
|
||||
@ CHECK: error: instruction with .n (narrow) qualifier not allowed in arm mode
|
||||
@ CHECK: ldr.n r0, [r0]
|
||||
@ CHECK: ^
|
||||
@ CHECK-NOT: error: unexpected token in operand
|
||||
@ CHECK-NOT: ldr.n r0, [r0]
|
||||
@ CHECK-NOT: ^
|
||||
|
Loading…
Reference in New Issue
Block a user