diff options
author | Abramo Bagnara <abramo.bagnara@gmail.com> | 2012-03-31 20:17:27 +0000 |
---|---|---|
committer | Abramo Bagnara <abramo.bagnara@gmail.com> | 2012-03-31 20:17:27 +0000 |
commit | e2e8768c290ceceb3ac2e369b5243f40d6c0e3e2 (patch) | |
tree | 599683622dab7b70a0ffc557516d1e150ec0d111 /lib/Lex | |
parent | 6c235bc9e126fcecd16257838aa040fc9c363328 (diff) |
Fixed MacroInfo definition range for function like macros with empty body.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153819 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Lex')
-rw-r--r-- | lib/Lex/PPDirectives.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/Lex/PPDirectives.cpp b/lib/Lex/PPDirectives.cpp index aa3d1bf66d..625a204af9 100644 --- a/lib/Lex/PPDirectives.cpp +++ b/lib/Lex/PPDirectives.cpp @@ -1549,10 +1549,9 @@ void Preprocessor::HandleIncludeMacrosDirective(SourceLocation HashLoc, /// definition has just been read. Lex the rest of the arguments and the /// closing ), updating MI with what we learn. Return true if an error occurs /// parsing the arg list. -bool Preprocessor::ReadMacroDefinitionArgList(MacroInfo *MI) { +bool Preprocessor::ReadMacroDefinitionArgList(MacroInfo *MI, Token &Tok) { SmallVector<IdentifierInfo*, 32> Arguments; - Token Tok; while (1) { LexUnexpandedToken(Tok); switch (Tok.getKind()) { @@ -1671,7 +1670,7 @@ void Preprocessor::HandleDefineDirective(Token &DefineTok) { } else if (Tok.is(tok::l_paren)) { // This is a function-like macro definition. Read the argument list. MI->setIsFunctionLike(); - if (ReadMacroDefinitionArgList(MI)) { + if (ReadMacroDefinitionArgList(MI, LastTok)) { // Forget about MI. ReleaseMacroInfo(MI); // Throw away the rest of the line. |