Revert "[MC] Fix handling of end-of-line preprocessor comments"

Causes TSan failure on PPC64

This reverts commit r277459.

llvm-svn: 277468
This commit is contained in:
Nirav Dave 2016-08-02 15:08:52 +00:00
parent c558fe203f
commit f94cd9df0f
2 changed files with 0 additions and 44 deletions

View File

@ -262,23 +262,9 @@ public:
return false;
}
bool parseEOL(const Twine &ErrMsg) {
if (getTok().getKind() == AsmToken::Hash) {
StringRef CommentStr = parseStringToEndOfStatement();
Lexer.Lex();
Lexer.UnLex(AsmToken(AsmToken::EndOfStatement, CommentStr));
}
if (getTok().getKind() != AsmToken::EndOfStatement)
return TokError(ErrMsg);
Lex();
return false;
}
/// parseToken - If current token has the specified kind, eat it and
/// return success. Otherwise, emit the specified error and return failure.
bool parseToken(AsmToken::TokenKind T, const Twine &ErrMsg) {
if (T == AsmToken::EndOfStatement)
return parseEOL(ErrMsg);
if (getTok().getKind() != T)
return TokError(ErrMsg);
Lex();
@ -1423,16 +1409,6 @@ bool AsmParser::parseStatement(ParseStatementInfo &Info,
Lex();
return false;
}
if (Lexer.is(AsmToken::Hash)) {
// Seeing a hash here means that it was an end-of-line comment in
// an asm syntax where hash's are not comment and the previous
// statement parser did not check the end of statement. Relex as
// EndOfStatement.
StringRef CommentStr = parseStringToEndOfStatement();
Lexer.Lex();
Lexer.UnLex(AsmToken(AsmToken::EndOfStatement, CommentStr));
return false;
}
// Statements always start with an identifier.
AsmToken ID = getTok();
SMLoc IDLoc = ID.getLoc();
@ -1566,16 +1542,6 @@ bool AsmParser::parseStatement(ParseStatementInfo &Info,
if (!Sym->isUndefined() || Sym->isVariable())
return Error(IDLoc, "invalid symbol redefinition");
// End of Labels should be treated as end of line for lexing
// purposes but that information is not available to the Lexer who
// does not understand Labels. This may cause us to see a Hash
// here instead of a preprocessor line comment.
if (getTok().is(AsmToken::Hash)) {
StringRef CommentStr = parseStringToEndOfStatement();
Lexer.Lex();
Lexer.UnLex(AsmToken(AsmToken::EndOfStatement, CommentStr));
}
// Consume any end of statement token, if present, to avoid spurious
// AddBlankLine calls().
if (getTok().is(AsmToken::EndOfStatement)) {

View File

@ -1,10 +0,0 @@
@RUN: llvm-mc -preserve-comments -n -triple arm-eabi < %s > %t
@RUN: sed 's/#[C]omment/@Comment/g' %s > %t2
@RUN: diff %t %t2
.text
mov r0, r0
foo: #Comment here
mov r0, r0 @ EOL comment
.ident ""