diff options
author | Chris Lattner <sabre@nondot.org> | 2006-07-15 07:51:24 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-07-15 07:51:24 +0000 |
commit | 2ada5d3890f17da6624ff42302764f79119b3d69 (patch) | |
tree | 6597968dae7ba6be062d7089351c154fe9b61281 /clang/Lex/MacroExpander.cpp | |
parent | ee8760b21bfab1278618194438674c1e0fe14b8f (diff) | |
download | bcm5719-llvm-2ada5d3890f17da6624ff42302764f79119b3d69.tar.gz bcm5719-llvm-2ada5d3890f17da6624ff42302764f79119b3d69.zip |
More changes from formals -> actuals.
llvm-svn: 38717
Diffstat (limited to 'clang/Lex/MacroExpander.cpp')
-rw-r--r-- | clang/Lex/MacroExpander.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/clang/Lex/MacroExpander.cpp b/clang/Lex/MacroExpander.cpp index b420ce168e3..257684cd735 100644 --- a/clang/Lex/MacroExpander.cpp +++ b/clang/Lex/MacroExpander.cpp @@ -65,7 +65,7 @@ static LexerToken StringifyArgument(const std::vector<LexerToken> &Toks, // Stringify all the tokens. std::string Result = "\""; - for (unsigned i = 0, e = Toks.size(); i != e; ++i) { + for (unsigned i = 0, e = Toks.size()-1 /*no eof*/; i != e; ++i) { const LexerToken &Tok = Toks[i]; // FIXME: Optimize this. if (i != 0 && Tok.hasLeadingSpace()) @@ -108,9 +108,7 @@ static LexerToken StringifyArgument(const std::vector<LexerToken> &Toks, // Check for bogus character. bool isBad = false; - if (Result.size() == 2) { - Result = "' '"; // #@empty -> ' '. - } else if (Result.size() == 3) { + if (Result.size() == 3) { isBad = Result[1] == '\''; // ''' is not legal. '\' already fixed above. } else { isBad = (Result.size() != 4 || Result[1] != '\\'); // Not '\x' @@ -132,14 +130,14 @@ static LexerToken StringifyArgument(const std::vector<LexerToken> &Toks, /// that has been 'stringified' as required by the # operator. const LexerToken &MacroArgs::getStringifiedArgument(unsigned ArgNo, Preprocessor &PP) { - assert(ArgNo < ExpArgTokens.size() && "Invalid argument number!"); + assert(ArgNo < UnexpArgTokens.size() && "Invalid argument number!"); if (StringifiedArgs.empty()) { - StringifiedArgs.resize(ExpArgTokens.size()); + StringifiedArgs.resize(getNumArguments()); memset(&StringifiedArgs[0], 0, sizeof(StringifiedArgs[0])*getNumArguments()); } if (StringifiedArgs[ArgNo].getKind() != tok::string_literal) - StringifiedArgs[ArgNo] = StringifyArgument(ExpArgTokens[ArgNo], PP); + StringifiedArgs[ArgNo] = StringifyArgument(UnexpArgTokens[ArgNo], PP); return StringifiedArgs[ArgNo]; } |