From 72667f7de6604489be2ef16bd7c1a2abfe43e4a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludvig=20Gunne=20Lindstr=C3=B6m?= Date: Mon, 20 Apr 2026 17:20:29 +0200 Subject: [PATCH 1/2] update test --- test/testvarid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/testvarid.cpp b/test/testvarid.cpp index 007e16ffb29..71916eb0276 100644 --- a/test/testvarid.cpp +++ b/test/testvarid.cpp @@ -1328,7 +1328,7 @@ class TestVarID : public TestFixture { ASSERT_EQUALS(expected2, tokenize(code2)); const char code3[] = "extern void (*arr[10])(uint32_t some);\n"; - const char expected3[] = "1: extern void ( * arr@1 [ 10 ] ) ( uint32_t some@2 ) ;\n"; + const char expected3[] = "1: extern void ( * arr@1 [ 10 ] ) ( uint32_t some ) ;\n"; ASSERT_EQUALS(expected3, tokenize(code3)); const char code4[] = "_Static_assert(sizeof((struct S){0}.i) == 4);\n"; // #12729 From b48f0f3156fbb3d0d443a4a178a3e830e7db94a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludvig=20Gunne=20Lindstr=C3=B6m?= Date: Mon, 20 Apr 2026 17:13:17 +0200 Subject: [PATCH 2/2] fix --- lib/tokenize.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp index 40dbdf88f9d..ba533098b5d 100644 --- a/lib/tokenize.cpp +++ b/lib/tokenize.cpp @@ -4704,6 +4704,16 @@ void Tokenizer::setVarIdPass1() bool initlist = false; bool inlineFunction = false; for (Token *tok = list.front(); tok; tok = tok->next()) { + if (Token::simpleMatch(tok, ") (") && Token::simpleMatch(tok->link(), "( *")) { + const Token *typeTok = tok->link()->previous(); + while (Token::Match(typeTok, "*|&")) { + typeTok = tok->previous(); + } + if (Token::Match(typeTok, "%type%")) { + tok = tok->linkAt(1); + continue; + } + } if (tok->isOp()) continue; if (cpp && Token::simpleMatch(tok, "template <")) {