summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCParser/MCAsmParser.cpp
diff options
context:
space:
mode:
authorAhmed Bougacha <ahmed.bougacha@gmail.com>2017-08-10 21:23:00 +0000
committerAhmed Bougacha <ahmed.bougacha@gmail.com>2017-08-10 21:23:00 +0000
commita24e4cda006772f27a3b484959207ef1d34e2056 (patch)
treeff97892ae7d76215b81f4d2b336150c1a97326be /llvm/lib/MC/MCParser/MCAsmParser.cpp
parent8d4d57035fd50c36d050585d22b50171c49fc6d9 (diff)
downloadbcm5719-llvm-a24e4cda006772f27a3b484959207ef1d34e2056.tar.gz
bcm5719-llvm-a24e4cda006772f27a3b484959207ef1d34e2056.zip
Revert "[AsmParser] Hash is not a comment on some targets"
This reverts commit r310457. It causes clang-produced IR to fail llvm codegen. llvm-svn: 310662
Diffstat (limited to 'llvm/lib/MC/MCParser/MCAsmParser.cpp')
-rw-r--r--llvm/lib/MC/MCParser/MCAsmParser.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCParser/MCAsmParser.cpp b/llvm/lib/MC/MCParser/MCAsmParser.cpp
index 6a4c74cd57f..ea36b3b9b3b 100644
--- a/llvm/lib/MC/MCParser/MCAsmParser.cpp
+++ b/llvm/lib/MC/MCParser/MCAsmParser.cpp
@@ -40,6 +40,11 @@ bool MCAsmParser::parseTokenLoc(SMLoc &Loc) {
}
bool MCAsmParser::parseEOL(const Twine &Msg) {
+ if (getTok().getKind() == AsmToken::Hash) {
+ StringRef CommentStr = parseStringToEndOfStatement();
+ getLexer().Lex();
+ getLexer().UnLex(AsmToken(AsmToken::EndOfStatement, CommentStr));
+ }
if (getTok().getKind() != AsmToken::EndOfStatement)
return Error(getTok().getLoc(), Msg);
Lex();
@@ -65,6 +70,9 @@ bool MCAsmParser::parseIntToken(int64_t &V, const Twine &Msg) {
bool MCAsmParser::parseOptionalToken(AsmToken::TokenKind T) {
bool Present = (getTok().getKind() == T);
+ // if token is EOL and current token is # this is an EOL comment.
+ if (getTok().getKind() == AsmToken::Hash && T == AsmToken::EndOfStatement)
+ Present = true;
if (Present)
parseToken(T);
return Present;
OpenPOWER on IntegriCloud