Fixed #9312 (FP : variable is assigned a value that is never used (static))
This commit is contained in:
parent
61286392d9
commit
06ea1a2b53
|
@ -1180,7 +1180,11 @@ void CheckUnusedVar::checkFunctionVariableUsage()
|
||||||
if (iteratorToken && iteratorToken->variable() && iteratorToken->variable()->typeEndToken()->str().find("iterator") != std::string::npos)
|
if (iteratorToken && iteratorToken->variable() && iteratorToken->variable()->typeEndToken()->str().find("iterator") != std::string::npos)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
const Variable *op1Var = tok->astOperand1() ? tok->astOperand1()->variable() : nullptr;
|
const Token *op1tok = tok->astOperand1();
|
||||||
|
while (Token::Match(op1tok, ".|[|*"))
|
||||||
|
op1tok = op1tok->astOperand1();
|
||||||
|
|
||||||
|
const Variable *op1Var = op1tok ? op1tok->variable() : nullptr;
|
||||||
if (op1Var && op1Var->isReference() && op1Var->nameToken() != tok->astOperand1())
|
if (op1Var && op1Var->isReference() && op1Var->nameToken() != tok->astOperand1())
|
||||||
// todo: check references
|
// todo: check references
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -3726,6 +3726,13 @@ private:
|
||||||
" x++;\n"
|
" x++;\n"
|
||||||
"}");
|
"}");
|
||||||
ASSERT_EQUALS("", errout.str());
|
ASSERT_EQUALS("", errout.str());
|
||||||
|
|
||||||
|
functionVariableUsage("void foo(int value) {\n"
|
||||||
|
" static int array[16] = {0};\n"
|
||||||
|
" if(array[value]) {}\n"
|
||||||
|
" array[value] = 1;\n"
|
||||||
|
"}");
|
||||||
|
ASSERT_EQUALS("", errout.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
void localvarextern() {
|
void localvarextern() {
|
||||||
|
|
Loading…
Reference in New Issue