[cfe-commits] r109484 - /cfe/trunk/lib/Frontend/CacheTokens.cpp
Ted Kremenek
kremenek at apple.com
Mon Jul 26 19:58:57 PDT 2010
Author: kremenek
Date: Mon Jul 26 21:58:57 2010
New Revision: 109484
URL: http://llvm.org/viewvc/llvm-project?rev=109484&view=rev
Log:
PTH generation: Don't save the leading '#' token in a null directive. This unbreaks using PTH with Boost (<rdar://problem/8227989>).
Modified:
cfe/trunk/lib/Frontend/CacheTokens.cpp
Modified: cfe/trunk/lib/Frontend/CacheTokens.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CacheTokens.cpp?rev=109484&r1=109483&r2=109484&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/CacheTokens.cpp (original)
+++ cfe/trunk/lib/Frontend/CacheTokens.cpp Mon Jul 26 21:58:57 2010
@@ -311,14 +311,19 @@
// the next token.
assert(!ParsingPreprocessorDirective);
Offset HashOff = (Offset) Out.tell();
- EmitToken(Tok);
// Get the next token.
- L.LexFromRawLexer(Tok);
+ Token NextTok;
+ L.LexFromRawLexer(NextTok);
- // If we see the start of line, then we had a null directive "#".
- if (Tok.isAtStartOfLine())
+ // If we see the start of line, then we had a null directive "#". In
+ // this case, discard both tokens.
+ if (NextTok.isAtStartOfLine())
goto NextToken;
+
+ // The token is the start of a directive. Emit it.
+ EmitToken(Tok);
+ Tok = NextTok;
// Did we see 'include'/'import'/'include_next'?
if (Tok.isNot(tok::identifier)) {
More information about the cfe-commits
mailing list