From 2559b1d1fd9fbd120ecd2d4f18a440368559f1eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludvig=20Gunne=20Lindstr=C3=B6m?= Date: Mon, 20 Apr 2026 16:56:51 +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..64b7b6664be 100644 --- a/test/testvarid.cpp +++ b/test/testvarid.cpp @@ -4500,7 +4500,7 @@ class TestVarID : public TestFixture { "2: struct T { struct S s ; } ;\n" "3: struct U { struct T t ; } ;\n" "4: void f ( ) {\n" - "5: struct U u@4 ; u@4 = { .@UNIQUE t@5 = { . s = { . s = 1 } } } ;\n" + "5: struct U u@4 ; u@4 = { .@UNIQUE t@5 = { .@UNIQUE s@6 = { .@UNIQUE s@7 = 1 } } } ;\n" "6: }\n"; ASSERT_EQUALS(exp, tokenizeExpr(code)); } From 4a60efa75f83997ee4a6121c3ef4c49b3d76fc3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludvig=20Gunne=20Lindstr=C3=B6m?= Date: Mon, 20 Apr 2026 16:55:40 +0200 Subject: [PATCH 2/2] fix --- lib/tokenize.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp index 40dbdf88f9d..a69babc770c 100644 --- a/lib/tokenize.cpp +++ b/lib/tokenize.cpp @@ -4494,6 +4494,10 @@ static void setVarIdStructMembers(Token *&tok1, tok->varId(it->second); } } + if (Token::Match(tok, "%name% = { . %name% =|{")) { + setVarIdStructMembers(tok, structMembers, varId); + tok = tok->linkAt(2); + } tok = tok->next(); }