In the case of an invalid FPU name, place the caret at the name rather than FPU
directive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227595
91177308-0d34-0410-b5e6-
96231b3b80d8
/// parseDirectiveFPU
/// ::= .fpu str
bool ARMAsmParser::parseDirectiveFPU(SMLoc L) {
+ SMLoc FPUNameLoc = getTok().getLoc();
StringRef FPU = getParser().parseStringToEndOfStatement().trim();
unsigned ID = StringSwitch<unsigned>(FPU)
.Default(ARM::INVALID_FPU);
if (ID == ARM::INVALID_FPU) {
- Error(L, "Unknown FPU name");
+ Error(FPUNameLoc, "Unknown FPU name");
return false;
}
--- /dev/null
+@ 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: ^