Fixed #4503 (False positive: Incomplete statement (std::vector<int> v{1};))
This commit is contained in:
parent
2edf95a1b9
commit
df55ce14a0
|
@ -2257,6 +2257,10 @@ void CheckOther::checkIncompleteStatement()
|
|||
else if (tok->str() == "{" && Token::Match(tok->tokAt(-2), ",|: %var%") && Token::Match(tok->link(), "} [,{]"))
|
||||
tok = tok->link();
|
||||
|
||||
// C++11 vector initialization
|
||||
else if (Token::Match(tok,"> %var% {"))
|
||||
tok = tok->linkAt(2);
|
||||
|
||||
else if (Token::Match(tok, "[;{}] %str%") || Token::Match(tok, "[;{}] %num%")) {
|
||||
// No warning if numeric constant is followed by a "." or ","
|
||||
if (Token::Match(tok->next(), "%num% [,.]"))
|
||||
|
|
|
@ -167,7 +167,7 @@ private:
|
|||
}
|
||||
|
||||
void structinit() {
|
||||
// #2462 - C++0x struct initialization
|
||||
// #2462 - C++11 struct initialization
|
||||
check("void f() {\n"
|
||||
" ABC abc{1,2,3};\n"
|
||||
"}\n");
|
||||
|
@ -180,6 +180,10 @@ private:
|
|||
// #4387 - C++11 initializer list
|
||||
check("A::A() : abc{0} {}");
|
||||
ASSERT_EQUALS("", errout.str());
|
||||
|
||||
// #4503 - vector init
|
||||
check("void f() { vector<int> v{1}; }");
|
||||
ASSERT_EQUALS("", errout.str());
|
||||
}
|
||||
|
||||
void returnstruct() {
|
||||
|
|
Loading…
Reference in New Issue