diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp index 74dd791b8..1e04ee8d7 100644 --- a/lib/tokenize.cpp +++ b/lib/tokenize.cpp @@ -4204,7 +4204,7 @@ void Tokenizer::removeMacrosInGlobalScope() if (tok2 && tok2->str() == "(") tok2 = tok2->link()->next(); - if (Token::Match(tok, "%type% (") && Token::Match(tok2, "%type% (") && isFunctionHead(tok2->next(), "{")) + if (Token::Match(tok, "%type% (") && Token::Match(tok2, "%type% (") && !Token::Match(tok2, "noexcept|throw") && isFunctionHead(tok2->next(), ":;{")) unknownMacroError(tok); // remove unknown macros before namespace|class|struct|union