[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