diff options
| -rw-r--r-- | llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 3 | ||||
| -rw-r--r-- | llvm/test/MC/ARM/directive-fpu-diagnostics.s | 10 |
2 files changed, 12 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index 96f3b4e6432..2de0ffa5ec6 100644 --- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -9229,6 +9229,7 @@ static const struct { /// parseDirectiveFPU /// ::= .fpu str bool ARMAsmParser::parseDirectiveFPU(SMLoc L) { + SMLoc FPUNameLoc = getTok().getLoc(); StringRef FPU = getParser().parseStringToEndOfStatement().trim(); unsigned ID = StringSwitch<unsigned>(FPU) @@ -9237,7 +9238,7 @@ bool ARMAsmParser::parseDirectiveFPU(SMLoc L) { .Default(ARM::INVALID_FPU); if (ID == ARM::INVALID_FPU) { - Error(L, "Unknown FPU name"); + Error(FPUNameLoc, "Unknown FPU name"); return false; } diff --git a/llvm/test/MC/ARM/directive-fpu-diagnostics.s b/llvm/test/MC/ARM/directive-fpu-diagnostics.s new file mode 100644 index 00000000000..67c61298221 --- /dev/null +++ b/llvm/test/MC/ARM/directive-fpu-diagnostics.s @@ -0,0 +1,10 @@ +@ RUN: not llvm-mc -triple armv7 -filetype asm -o /dev/null %s 2>&1 \ +@ RUN: | FileCheck %s -strict-whitespace + + .text + .thumb + + .fpu invalid +@ CHECK: error: Unknown FPU name +@ CHECK: .fpu invalid +@ CHECK: ^ |

