From f1f740883f09a76c3d85c921e75a2bea6d96a60d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Thu, 5 Oct 2023 18:20:42 +0200 Subject: [PATCH] bump simplecpp to simplecpp revision dbae338e (#5511) --- externals/simplecpp/simplecpp.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/externals/simplecpp/simplecpp.cpp b/externals/simplecpp/simplecpp.cpp index 6bad9e303..804583396 100755 --- a/externals/simplecpp/simplecpp.cpp +++ b/externals/simplecpp/simplecpp.cpp @@ -114,6 +114,8 @@ static const simplecpp::TokenString ONCE("once"); static const simplecpp::TokenString HAS_INCLUDE("__has_include"); +static const simplecpp::TokenString INNER_COMMA(",,"); + template static std::string toString(T t) { // NOLINTNEXTLINE(misc-const-correctness) - false positive @@ -1559,6 +1561,10 @@ namespace simplecpp { rawtok = rawtok2->next; } output->takeTokens(output2); + for (Token* tok = output->front(); tok; tok = tok->next) { + if (tok->str() == INNER_COMMA) + tok->setstr(","); + } return rawtok; } @@ -1733,7 +1739,12 @@ namespace simplecpp { if (it != macros.end() && expandedmacros.find(tok->str()) == expandedmacros.end()) { const Macro &m = it->second; if (!m.functionLike()) { + Token* mtok = tokens->back(); m.expand(tokens, rawloc, tok, macros, expandedmacros); + for (mtok = mtok->next; mtok; mtok = mtok->next) { + if (mtok->op == ',') + mtok->setstr(INNER_COMMA); + } expanded = true; } }