On Monday 01 of July 2013, Eli Friedman wrote: > On Sat, Jun 29, 2013 at 11:35 PM, Lubos Lunak <[email protected]> wrote: > > Hello, > > > > could somebody please review and commit the atached patch for pr14795? > > Thank > > you. > > --- a/lib/Lex/Lexer.cpp > +++ b/lib/Lex/Lexer.cpp > @@ -2372,8 +2372,9 @@ bool Lexer::LexEndOfFile(Token &Result, const char > *CurPtr) { > FormTokenWithChars(Result, CurPtr, tok::eod); > > // Restore comment saving mode, in case it was disabled for directive. > - resetExtendedTokenMode(); > - return true; // Have a token. > + if (PP) > + resetExtendedTokenMode(); > + return true; // Have a token. > } > > // If we are in raw mode, return this event as an EOF token. Let the > caller > > How is this related?
I had a crash there without this when I wrote the patch. I don't remember the circumstances though and the random testcase I tried doesn't trigger it. > + // We surround every #include by #if 0 to comment it out, but > that > + // changes line numbers. These are fixed up right after that, > but > + // the whole #include could be inside a preprocessor > conditional > + // that is not processed. So it is necessary to fix the line > > This looks like it puts a line directive after every if/elif/else/endif. > That not really a problem, I guess, but it would be nice to avoid if > possible. Maybe there can be a way to compute which ones need it (every change from ignored to non-ignored block), but that seems like way too much effort for a couple of lines. > Otherwise, looks fine. -- Lubos Lunak [email protected] _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
