summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCParser
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2010-11-12 15:47:08 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2010-11-12 15:47:08 +0000
commitde990b270d73632a834cb37e6ea50db093321aad (patch)
treeb4de6e0c80255f510ebd2f1fb3e6d87303c36fda /llvm/lib/MC/MCParser
parent8c173cc3645910138f7688eb402ff41c8598babd (diff)
downloadbcm5719-llvm-de990b270d73632a834cb37e6ea50db093321aad.tar.gz
bcm5719-llvm-de990b270d73632a834cb37e6ea50db093321aad.zip
gnu as support both % and @ before types, do the same.
llvm-svn: 118893
Diffstat (limited to 'llvm/lib/MC/MCParser')
-rw-r--r--llvm/lib/MC/MCParser/ELFAsmParser.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/llvm/lib/MC/MCParser/ELFAsmParser.cpp b/llvm/lib/MC/MCParser/ELFAsmParser.cpp
index 278f146ad67..b3d5f11e0eb 100644
--- a/llvm/lib/MC/MCParser/ELFAsmParser.cpp
+++ b/llvm/lib/MC/MCParser/ELFAsmParser.cpp
@@ -213,12 +213,6 @@ bool ELFAsmParser::ParseDirectiveSection(StringRef, SMLoc) {
FlagsStr = getTok().getStringContents();
Lex();
- AsmToken::TokenKind TypeStartToken;
- if (getContext().getAsmInfo().getCommentString()[0] == '@')
- TypeStartToken = AsmToken::Percent;
- else
- TypeStartToken = AsmToken::At;
-
bool Mergeable = FlagsStr.find('M') != StringRef::npos;
bool Group = FlagsStr.find('G') != StringRef::npos;
@@ -229,8 +223,8 @@ bool ELFAsmParser::ParseDirectiveSection(StringRef, SMLoc) {
return TokError("Group section must specify the type");
} else {
Lex();
- if (getLexer().isNot(TypeStartToken))
- return TokError("expected the type");
+ if (getLexer().isNot(AsmToken::Percent) && getLexer().isNot(AsmToken::At))
+ return TokError("expected '@' or '%' before type");
Lex();
if (getParser().ParseIdentifier(TypeName))
@@ -359,8 +353,8 @@ bool ELFAsmParser::ParseDirectiveType(StringRef, SMLoc) {
return TokError("unexpected token in '.type' directive");
Lex();
- if (getLexer().isNot(AsmToken::At))
- return TokError("expected '@' before type");
+ if (getLexer().isNot(AsmToken::Percent) && getLexer().isNot(AsmToken::At))
+ return TokError("expected '@' or '%' before type");
Lex();
StringRef Type;
OpenPOWER on IntegriCloud