[llvm] r227595 - ARM: improve caret diagnostics for invalid FPU name
Saleem Abdulrasool
compnerd at compnerd.org
Fri Jan 30 10:42:10 PST 2015
Author: compnerd
Date: Fri Jan 30 12:42:10 2015
New Revision: 227595
URL: http://llvm.org/viewvc/llvm-project?rev=227595&view=rev
Log:
ARM: improve caret diagnostics for invalid FPU name
In the case of an invalid FPU name, place the caret at the name rather than FPU
directive.
Added:
llvm/trunk/test/MC/ARM/directive-fpu-diagnostics.s
Modified:
llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
Modified: llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp?rev=227595&r1=227594&r2=227595&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp (original)
+++ llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp Fri Jan 30 12:42:10 2015
@@ -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(SML
.Default(ARM::INVALID_FPU);
if (ID == ARM::INVALID_FPU) {
- Error(L, "Unknown FPU name");
+ Error(FPUNameLoc, "Unknown FPU name");
return false;
}
Added: llvm/trunk/test/MC/ARM/directive-fpu-diagnostics.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/directive-fpu-diagnostics.s?rev=227595&view=auto
==============================================================================
--- llvm/trunk/test/MC/ARM/directive-fpu-diagnostics.s (added)
+++ llvm/trunk/test/MC/ARM/directive-fpu-diagnostics.s Fri Jan 30 12:42:10 2015
@@ -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: ^
More information about the llvm-commits
mailing list