Redundant assignment: Added TODO testcase for detecting redundant assignment in inner scope
This commit is contained in:
parent
e6f640d816
commit
1eafe45c47
|
@ -73,6 +73,7 @@ private:
|
||||||
TEST_CASE(localvar8);
|
TEST_CASE(localvar8);
|
||||||
TEST_CASE(localvar9); // ticket #1605
|
TEST_CASE(localvar9); // ticket #1605
|
||||||
TEST_CASE(localvar10);
|
TEST_CASE(localvar10);
|
||||||
|
TEST_CASE(localvar11);
|
||||||
TEST_CASE(localvaralias);
|
TEST_CASE(localvaralias);
|
||||||
TEST_CASE(localvarasm);
|
TEST_CASE(localvarasm);
|
||||||
|
|
||||||
|
@ -641,6 +642,38 @@ private:
|
||||||
"[test.cpp:7]: (style) Unused variable: i\n", errout.str());
|
"[test.cpp:7]: (style) Unused variable: i\n", errout.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void localvar11()
|
||||||
|
{
|
||||||
|
functionVariableUsage("void foo(int x)\n"
|
||||||
|
"{\n"
|
||||||
|
" int a = 0;\n"
|
||||||
|
" if (x == 1)\n"
|
||||||
|
" {\n"
|
||||||
|
" a = 123;\n" // redundant assignment
|
||||||
|
" return;\n"
|
||||||
|
" }\n"
|
||||||
|
" x = a;\n"
|
||||||
|
"}\n");
|
||||||
|
ASSERT_EQUALS("", errout.str()); // catch changes
|
||||||
|
TODO_ASSERT_EQUALS("[test.cpp:5]: (style) Variable 'a' is assigned a value that is never used\n", errout.str());
|
||||||
|
|
||||||
|
// The variable 'a' is initialized. But the initialized value is
|
||||||
|
// never used. It is only initialized for security reasons.
|
||||||
|
functionVariableUsage("void foo(int x)\n"
|
||||||
|
"{\n"
|
||||||
|
" int a = 0;\n"
|
||||||
|
" if (x == 1)\n"
|
||||||
|
" a = 123;\n"
|
||||||
|
" else if (x == 2)\n"
|
||||||
|
" a = 456;\n"
|
||||||
|
" else\n"
|
||||||
|
" return;\n"
|
||||||
|
" x = a;\n"
|
||||||
|
"}\n");
|
||||||
|
ASSERT_EQUALS("", errout.str());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void localvaralias()
|
void localvaralias()
|
||||||
{
|
{
|
||||||
functionVariableUsage("void foo()\n"
|
functionVariableUsage("void foo()\n"
|
||||||
|
|
Loading…
Reference in New Issue