[llvm-commits] [llvm] r139798 - /llvm/trunk/lib/MC/MCParser/AsmLexer.cpp
Jim Grosbach
grosbach at apple.com
Thu Sep 15 09:52:06 PDT 2011
Author: grosbach
Date: Thu Sep 15 11:52:06 2011
New Revision: 139798
URL: http://llvm.org/viewvc/llvm-project?rev=139798&view=rev
Log:
Handle missing newline at EOF more gracefully in MC AsmLexer.
If we see an EOF w/o a preceding end-of-line, return an EndOfStatement
token before returning the Eof token.
Based on patch by Stepan Dyatkovskiy.
Modified:
llvm/trunk/lib/MC/MCParser/AsmLexer.cpp
Modified: llvm/trunk/lib/MC/MCParser/AsmLexer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCParser/AsmLexer.cpp?rev=139798&r1=139797&r2=139798&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCParser/AsmLexer.cpp (original)
+++ llvm/trunk/lib/MC/MCParser/AsmLexer.cpp Thu Sep 15 11:52:06 2011
@@ -375,8 +375,15 @@
return AsmToken(AsmToken::EndOfStatement,
StringRef(TokStart, strlen(MAI.getSeparatorString())));
}
- isAtStartOfLine = false;
+ // If we're missing a newline at EOF, make sure we still get an
+ // EndOfStatement token before the Eof token.
+ if (CurChar == EOF && !isAtStartOfLine) {
+ isAtStartOfLine = true;
+ return AsmToken(AsmToken::EndOfStatement, StringRef(TokStart, 1));
+ }
+
+ isAtStartOfLine = false;
switch (CurChar) {
default:
// Handle identifier: [a-zA-Z_.][a-zA-Z0-9_$.@]*
More information about the llvm-commits
mailing list