@@ -5752,7 +5752,22 @@ bool Tokenizer::simplifyTokenList1(const char FileName[])
57525752
57535753 // if MACRO
57545754 for (Token *tok = list.front (); tok; tok = tok->next ()) {
5755- if (Token::Match (tok, " if|for|while %name% (" )) {
5755+ if (Token::simpleMatch (tok, " if consteval {" )) {
5756+ // 'if consteval { ... }' -> 'if ( __cppcheck_consteval__ ) { ... }'
5757+ Token *parTok = tok->next ();
5758+ parTok->str (" (" );
5759+ Token *evalTok = parTok->insertToken (" __cppcheck_consteval__" );
5760+ evalTok->originalName (" consteval" );
5761+ evalTok->insertToken (" )" );
5762+ } else if (Token::Match (tok, " if !|not consteval {" )) {
5763+ // 'if !consteval { ... }' / 'if not consteval { ... }' -> 'if ( ! __cppcheck_consteval__ ) { ... }'
5764+ Token *notTok = tok->next ();
5765+ notTok->insertTokenBefore (" (" );
5766+ Token *evalTok = notTok->next ();
5767+ evalTok->str (" __cppcheck_consteval__" );
5768+ evalTok->originalName (" consteval" );
5769+ evalTok->insertToken (" )" );
5770+ } else if (Token::Match (tok, " if|for|while %name% (" )) {
57565771 if (Token::simpleMatch (tok, " for each" )) {
57575772 // 'for each (x in y )' -> 'for (x : y)'
57585773 if (Token* in = Token::findsimplematch (tok->tokAt (2 ), " in" , tok->linkAt (2 )))
0 commit comments