diff options
author | Abramo Bagnara <abramo.bagnara@gmail.com> | 2011-10-03 18:39:03 +0000 |
---|---|---|
committer | Abramo Bagnara <abramo.bagnara@gmail.com> | 2011-10-03 18:39:03 +0000 |
commit | a08529cc3f00e0b47a3c028823634129ac46847b (patch) | |
tree | d90c4e2d8faa99b0f512a776a3fd9f6060380eeb /lib/Lex/MacroArgs.cpp | |
parent | 048e6490704d0a4e095e033786230c584b52d82c (diff) |
Fixed exapnsion range for # and ##.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141012 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Lex/MacroArgs.cpp')
-rw-r--r-- | lib/Lex/MacroArgs.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/Lex/MacroArgs.cpp b/lib/Lex/MacroArgs.cpp index a2d9651470..1846d1c05e 100644 --- a/lib/Lex/MacroArgs.cpp +++ b/lib/Lex/MacroArgs.cpp @@ -189,7 +189,8 @@ MacroArgs::getPreExpArgument(unsigned Arg, const MacroInfo *MI, /// Token MacroArgs::StringifyArgument(const Token *ArgToks, Preprocessor &PP, bool Charify, - SourceLocation hashInstLoc) { + SourceLocation ExpansionLocStart, + SourceLocation ExpansionLocEnd) { Token Tok; Tok.startToken(); Tok.setKind(Charify ? tok::char_constant : tok::string_literal); @@ -285,7 +286,8 @@ Token MacroArgs::StringifyArgument(const Token *ArgToks, } } - PP.CreateString(&Result[0], Result.size(), Tok, hashInstLoc); + PP.CreateString(&Result[0], Result.size(), Tok, + ExpansionLocStart, ExpansionLocEnd); return Tok; } @@ -293,7 +295,8 @@ Token MacroArgs::StringifyArgument(const Token *ArgToks, /// that has been 'stringified' as required by the # operator. const Token &MacroArgs::getStringifiedArgument(unsigned ArgNo, Preprocessor &PP, - SourceLocation hashInstLoc) { + SourceLocation ExpansionLocStart, + SourceLocation ExpansionLocEnd) { assert(ArgNo < NumUnexpArgTokens && "Invalid argument number!"); if (StringifiedArgs.empty()) { StringifiedArgs.resize(getNumArguments()); @@ -302,6 +305,8 @@ const Token &MacroArgs::getStringifiedArgument(unsigned ArgNo, } if (StringifiedArgs[ArgNo].isNot(tok::string_literal)) StringifiedArgs[ArgNo] = StringifyArgument(getUnexpArgument(ArgNo), PP, - /*Charify=*/false, hashInstLoc); + /*Charify=*/false, + ExpansionLocStart, + ExpansionLocEnd); return StringifiedArgs[ArgNo]; } |