[cfe-dev] Preprocessor tweak
Neil Booth
neil at daikokuya.co.uk
Tue Jul 17 23:32:38 PDT 2007
Neil Booth wrote:-
> Index: Lex/Preprocessor.cpp
> ===================================================================
> --- Lex/Preprocessor.cpp (revision 39996)
> +++ Lex/Preprocessor.cpp (working copy)
> @@ -552,14 +552,17 @@
> Val = CurLexer->isNextPPTokenLParen();
> else
> Val = CurMacroExpander->isNextTokenLParen();
> -
> +
> if (Val == 2) {
> - // If we ran off the end of the lexer or macro expander, walk the include
> - // stack, looking for whatever will return the next token.
> + // We have run off the end. If it's a source file we don't
> + // examine enclosing ones (C99 5.1.1.2p4). Otherwise walk up the
> + // macro stack.
> + if (CurLexer)
> + return false;
> for (unsigned i = IncludeMacroStack.size(); Val == 2 && i != 0; --i) {
> IncludeStackInfo &Entry = IncludeMacroStack[i-1];
> if (Entry.TheLexer)
> - Val = Entry.TheLexer->isNextPPTokenLParen();
> + return false;
> else
> Val = Entry.TheMacroExpander->isNextTokenLParen();
> }
That's not quite right either. I'll repost.
Neil.
More information about the cfe-dev
mailing list