diff options
| author | Saleem Abdulrasool <compnerd@compnerd.org> | 2015-01-30 18:42:10 +0000 |
|---|---|---|
| committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2015-01-30 18:42:10 +0000 |
| commit | 07b7c03805511a6200afc8140b47584061f07acc (patch) | |
| tree | 5d8e68b76b7011f8227e9acbc0dda1ad9f8c26d2 /llvm | |
| parent | 42b1fb925335363ae649999f8d10bd96d39f5924 (diff) | |
| download | bcm5719-llvm-07b7c03805511a6200afc8140b47584061f07acc.tar.gz bcm5719-llvm-07b7c03805511a6200afc8140b47584061f07acc.zip | |
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.
llvm-svn: 227595
Diffstat (limited to 'llvm')
| -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: ^ |

