Fixed #8677 (False positive: unused method)
This commit is contained in:
parent
ddf7b186bb
commit
1f1c44a04f
|
@ -206,7 +206,7 @@ void CheckUnusedFunctions::parseTokens(const Tokenizer &tokenizer, const char Fi
|
||||||
while (Token::Match(funcname, "%name% :: %name%"))
|
while (Token::Match(funcname, "%name% :: %name%"))
|
||||||
funcname = funcname->tokAt(2);
|
funcname = funcname->tokAt(2);
|
||||||
|
|
||||||
if (!Token::Match(funcname, "%name% [(),;]:}]"))
|
if (!Token::Match(funcname, "%name% [(),;]:}>]"))
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@ private:
|
||||||
TEST_CASE(return1);
|
TEST_CASE(return1);
|
||||||
TEST_CASE(return2);
|
TEST_CASE(return2);
|
||||||
TEST_CASE(callback1);
|
TEST_CASE(callback1);
|
||||||
|
TEST_CASE(callback2);
|
||||||
TEST_CASE(else1);
|
TEST_CASE(else1);
|
||||||
TEST_CASE(functionpointer);
|
TEST_CASE(functionpointer);
|
||||||
TEST_CASE(template1);
|
TEST_CASE(template1);
|
||||||
|
@ -119,6 +120,19 @@ private:
|
||||||
ASSERT_EQUALS("", errout.str());
|
ASSERT_EQUALS("", errout.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void callback2() { // #8677
|
||||||
|
check("class C {\n"
|
||||||
|
"public:\n"
|
||||||
|
" void callback();\n"
|
||||||
|
" void start();\n"
|
||||||
|
"};\n"
|
||||||
|
"\n"
|
||||||
|
"void C::callback() {}\n" // <- not unused
|
||||||
|
"\n"
|
||||||
|
"void C::start() { ev.set<C, &C::callback>(this); }");
|
||||||
|
ASSERT_EQUALS("[test.cpp:9]: (style) The function 'start' is never used.\n", errout.str());
|
||||||
|
}
|
||||||
|
|
||||||
void else1() {
|
void else1() {
|
||||||
check("void f1()\n"
|
check("void f1()\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
|
|
Loading…
Reference in New Issue