Uninitialized variables: Fixed false positives when using typeof()
This commit is contained in:
parent
9f1fc14ea3
commit
32ed84f4c5
|
@ -1172,7 +1172,7 @@ bool CheckUninitVar::checkScopeForVariable(const Token *tok, const unsigned int
|
||||||
}
|
}
|
||||||
|
|
||||||
// skip sizeof / offsetof
|
// skip sizeof / offsetof
|
||||||
if (Token::Match(tok, "sizeof|offsetof|decltype ("))
|
if (Token::Match(tok, "sizeof|typeof|offsetof|decltype ("))
|
||||||
tok = tok->next()->link();
|
tok = tok->next()->link();
|
||||||
|
|
||||||
// for..
|
// for..
|
||||||
|
|
|
@ -1974,7 +1974,7 @@ private:
|
||||||
"}");
|
"}");
|
||||||
ASSERT_EQUALS("", errout.str());
|
ASSERT_EQUALS("", errout.str());
|
||||||
|
|
||||||
// sizeof / offsetof
|
// sizeof / typeof / offsetof / etc
|
||||||
checkUninitVar2("void f() {\n"
|
checkUninitVar2("void f() {\n"
|
||||||
" int i;\n"
|
" int i;\n"
|
||||||
" sizeof(i+1);\n"
|
" sizeof(i+1);\n"
|
||||||
|
@ -1992,6 +1992,12 @@ private:
|
||||||
" int i = ARRAY_SIZE(abc.a);"
|
" int i = ARRAY_SIZE(abc.a);"
|
||||||
"}");
|
"}");
|
||||||
ASSERT_EQUALS("", errout.str());
|
ASSERT_EQUALS("", errout.str());
|
||||||
|
|
||||||
|
checkUninitVar2("void f() {\n"
|
||||||
|
" int *abc;\n"
|
||||||
|
" typeof(*abc);\n"
|
||||||
|
"}");
|
||||||
|
ASSERT_EQUALS("", errout.str());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue