Skip to content

Commit 761e9c8

Browse files
Fix #14733 FP functionStatic for brace initialization + typedef (#8537)
1 parent 95a7f7c commit 761e9c8

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

lib/tokenize.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4970,7 +4970,7 @@ void Tokenizer::setVarIdPass1()
49704970
decl = false;
49714971
} else if (cpp && Token::Match(prev2, "%type% {") && Token::simpleMatch(tok2->link(), "} ;")) { // C++11 initialization style
49724972
if (tok2->link() != tok2->next() && // add value-initialized variable T x{};
4973-
(Token::Match(prev2, "do|try|else") || Token::Match(prev2->tokAt(-2), "struct|class|:")))
4973+
(Token::Match(prev2, "do|try|else") || Token::simpleMatch(prev2->tokAt(-2), ":")))
49744974
continue;
49754975
} else
49764976
decl = false;

test/testvarid.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3066,6 +3066,11 @@ class TestVarID : public TestFixture {
30663066
" int j{i};\n"
30673067
" }\n"
30683068
"};"));
3069+
3070+
ASSERT_EQUALS("1: struct Sx { int i@1 ; } ;\n" // #14733
3071+
"2: struct Sx sx@2 { 0 } ;\n",
3072+
tokenize("struct Sx { int i; };\n"
3073+
"struct Sx sx{ 0 }; \n"));
30693074
}
30703075

30713076
void varid_inheritedMembers() {

0 commit comments

Comments
 (0)