[llvm] r298067 - [Asm] Don't list '@<type>' in diag when '@' is a comment
Oliver Stannard via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 17 04:10:18 PDT 2017
Author: olista01
Date: Fri Mar 17 06:10:17 2017
New Revision: 298067
URL: http://llvm.org/viewvc/llvm-project?rev=298067&view=rev
Log:
[Asm] Don't list '@<type>' in diag when '@' is a comment
This fixes https://bugs.llvm.org//show_bug.cgi?id=31280
Differential revision: https://reviews.llvm.org/D31026
Modified:
llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp
llvm/trunk/test/MC/ELF/ARM/gnu-type-hash-diagnostics.s
Modified: llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp?rev=298067&r1=298066&r2=298067&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp (original)
+++ llvm/trunk/lib/MC/MCParser/ELFAsmParser.cpp Fri Mar 17 06:10:17 2017
@@ -391,8 +391,12 @@ bool ELFAsmParser::maybeParseSectionType
return false;
Lex();
if (L.isNot(AsmToken::At) && L.isNot(AsmToken::Percent) &&
- L.isNot(AsmToken::String))
- return TokError("expected '@<type>', '%<type>' or \"<type>\"");
+ L.isNot(AsmToken::String)) {
+ if (L.getAllowAtInIdentifier())
+ return TokError("expected '@<type>', '%<type>' or \"<type>\"");
+ else
+ return TokError("expected '%<type>' or \"<type>\"");
+ }
if (!L.is(AsmToken::String))
Lex();
if (L.is(AsmToken::Integer)) {
Modified: llvm/trunk/test/MC/ELF/ARM/gnu-type-hash-diagnostics.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/ARM/gnu-type-hash-diagnostics.s?rev=298067&r1=298066&r2=298067&view=diff
==============================================================================
--- llvm/trunk/test/MC/ELF/ARM/gnu-type-hash-diagnostics.s (original)
+++ llvm/trunk/test/MC/ELF/ARM/gnu-type-hash-diagnostics.s Fri Mar 17 06:10:17 2017
@@ -7,3 +7,7 @@
// CHECK: .type TYPE #32
// CHECK: ^
+ // For ARM, the comment character is '@', so we don't list '@<type>' as a
+ // valid option.
+ .section "foo", "a", @progbits
+// CHECK: error: expected '%<type>' or "<type>"
More information about the llvm-commits
mailing list