Skip to content

Commit ad530b0

Browse files
authored
bump simplecpp to 1.3.2 (danmar#7299)
1 parent 257fd5d commit ad530b0

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

externals/simplecpp/simplecpp.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2088,7 +2088,7 @@ namespace simplecpp {
20882088
if (expandArg(&temp, defToken, parametertokens))
20892089
macroName = temp.cback()->str();
20902090
if (expandArg(&temp, defToken->next->next->next, parametertokens))
2091-
macroName += temp.cback()->str();
2091+
macroName += temp.cback() ? temp.cback()->str() : "";
20922092
else
20932093
macroName += defToken->next->next->next->str();
20942094
lastToken = defToken->next->next->next;
@@ -2132,7 +2132,8 @@ namespace simplecpp {
21322132
for (const Token *partok = parametertokens[argnr]->next; partok != parametertokens[argnr + 1U];) {
21332133
const MacroMap::const_iterator it = macros.find(partok->str());
21342134
if (it != macros.end() && !partok->isExpandedFrom(&it->second) && (partok->str() == name() || expandedmacros.find(partok->str()) == expandedmacros.end())) {
2135-
const std::set<TokenString> expandedmacros2; // temporary amnesia to allow reexpansion of currently expanding macros during argument evaluation
2135+
std::set<TokenString> expandedmacros2(expandedmacros); // temporary amnesia to allow reexpansion of currently expanding macros during argument evaluation
2136+
expandedmacros2.erase(name());
21362137
partok = it->second.expand(output, loc, partok, macros, expandedmacros2);
21372138
} else {
21382139
output->push_back(newMacroToken(partok->str(), loc, isReplaced(expandedmacros), partok));

0 commit comments

Comments
 (0)