On Thursday 25 of July 2013, Eli Friedman wrote: > On Tue, Jul 23, 2013 at 12:15 AM, Lubos Lunak wrote: > > On Tuesday 16 of July 2013, Eli Friedman wrote: > >> On Sun, Jul 14, 2013 at 2:16 PM, Lubos Lunak wrote: > >> > On Monday 01 of July 2013, Eli Friedman wrote: > >> >> --- 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. > >> > >> Okay. > >> > >> Please commit without this change. > > > > Actually, LibreOffice is always a good testcase, so I can reproduce the > > crash after all: ... > > So I will include that change too, unless somebody sees a better way of > > avoiding this. > > Can you reduce a testcase? $ echo -ne '#if 0\n#endif' >a.cpp $ clang++ -frewrite-includes -E a.cpp (note the lack of the trailing \n) -- Lubos Lunak l.lunak@suse.cz _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits