Ticket #6954: Properly handle pointers to arrays in CheckUnunsedVar.
This commit is contained in:
parent
436d7b6d59
commit
c78d99dc07
|
@ -689,6 +689,8 @@ void CheckUnusedVar::checkFunctionVariableUsage_iterateScopes(const Scope* const
|
||||||
type = Variables::reference;
|
type = Variables::reference;
|
||||||
else if (i->nameToken()->previous()->str() == "*" && i->nameToken()->strAt(-2) == "*")
|
else if (i->nameToken()->previous()->str() == "*" && i->nameToken()->strAt(-2) == "*")
|
||||||
type = Variables::pointerPointer;
|
type = Variables::pointerPointer;
|
||||||
|
else if (i->isPointerToArray())
|
||||||
|
type = Variables::pointerPointer;
|
||||||
else if (i->isPointer())
|
else if (i->isPointer())
|
||||||
type = Variables::pointer;
|
type = Variables::pointer;
|
||||||
else if (_tokenizer->isC() ||
|
else if (_tokenizer->isC() ||
|
||||||
|
|
|
@ -91,6 +91,7 @@ private:
|
||||||
TEST_CASE(localvar45); // ticket #4899
|
TEST_CASE(localvar45); // ticket #4899
|
||||||
TEST_CASE(localvar46); // ticket #5491 (C++11 style initialization)
|
TEST_CASE(localvar46); // ticket #5491 (C++11 style initialization)
|
||||||
TEST_CASE(localvar47); // ticket #6603
|
TEST_CASE(localvar47); // ticket #6603
|
||||||
|
TEST_CASE(localvar48); // ticket #6954
|
||||||
TEST_CASE(localvaralias1);
|
TEST_CASE(localvaralias1);
|
||||||
TEST_CASE(localvaralias2); // ticket #1637
|
TEST_CASE(localvaralias2); // ticket #1637
|
||||||
TEST_CASE(localvaralias3); // ticket #1639
|
TEST_CASE(localvaralias3); // ticket #1639
|
||||||
|
@ -1894,6 +1895,13 @@ private:
|
||||||
ASSERT_EQUALS("[test.cpp:3]: (style) Variable 'retrieveCount' is assigned a value that is never used.\n", errout.str());
|
ASSERT_EQUALS("[test.cpp:3]: (style) Variable 'retrieveCount' is assigned a value that is never used.\n", errout.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void localvar48() { // #6954
|
||||||
|
functionVariableUsage("void foo() {\n"
|
||||||
|
" long (*pKoeff)[256] = new long[9][256];\n"
|
||||||
|
"}");
|
||||||
|
ASSERT_EQUALS("", errout.str());
|
||||||
|
}
|
||||||
|
|
||||||
void localvaralias1() {
|
void localvaralias1() {
|
||||||
functionVariableUsage("void foo()\n"
|
functionVariableUsage("void foo()\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
|
|
Loading…
Reference in New Issue