summaryrefslogtreecommitdiffstats
path: root/clang/Lex/MacroExpander.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-07-15 07:51:24 +0000
committerChris Lattner <sabre@nondot.org>2006-07-15 07:51:24 +0000
commit2ada5d3890f17da6624ff42302764f79119b3d69 (patch)
tree6597968dae7ba6be062d7089351c154fe9b61281 /clang/Lex/MacroExpander.cpp
parentee8760b21bfab1278618194438674c1e0fe14b8f (diff)
downloadbcm5719-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.cpp12
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];
}
OpenPOWER on IntegriCloud