diff options
author | Chris Lattner <sabre@nondot.org> | 2007-07-19 16:11:58 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-07-19 16:11:58 +0000 |
commit | 2b64fdc4993795af86fd79f02085268e7be0dc4d (patch) | |
tree | cb27e8d98e16ebfc7760f5a811185fd0f2e055a8 /Lex/Preprocessor.cpp | |
parent | a87b63b492553f1d47c418ad8849383aa3fd1ed1 (diff) |
Fix a stringizing bug that Neil noticed. We should preprocess this:
#define t(x) #x
t(a
c)
to "a c", not "ac".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40060 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'Lex/Preprocessor.cpp')
-rw-r--r-- | Lex/Preprocessor.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Lex/Preprocessor.cpp b/Lex/Preprocessor.cpp index bc7ad12e56..7b6c57186c 100644 --- a/Lex/Preprocessor.cpp +++ b/Lex/Preprocessor.cpp @@ -613,7 +613,8 @@ bool Preprocessor::HandleMacroExpandedIdentifier(LexerToken &Identifier, // If this is a function-like macro, read the arguments. if (MI->isFunctionLike()) { // C99 6.10.3p10: If the preprocessing token immediately after the the macro - // name isn't a '(', this macro should not be expanded. + // name isn't a '(', this macro should not be expanded. Otherwise, consume + // it. if (!isNextPPTokenLParen()) return true; @@ -731,7 +732,8 @@ MacroArgs *Preprocessor::ReadFunctionLikeMacroArgs(LexerToken &MacroName, unsigned NumActuals = 0; while (Tok.getKind() == tok::comma) { - // C99 6.10.3p11: Keep track of the number of l_parens we have seen. + // C99 6.10.3p11: Keep track of the number of l_parens we have seen. Note + // that we already consumed the first one. unsigned NumParens = 0; while (1) { |