Fixed #2459 (False positive with unused private function and friend)
This commit is contained in:
parent
5c88129f01
commit
9551332321
|
@ -583,6 +583,11 @@ void CheckClass::privateFunctions()
|
||||||
if (Token::findmatch(_tokenizer->tokens(), "; __property ;"))
|
if (Token::findmatch(_tokenizer->tokens(), "; __property ;"))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// skip checking if there are friends
|
||||||
|
// Todo: check if each class has friends
|
||||||
|
if (Token::findmatch(_tokenizer->tokens(), "friend"))
|
||||||
|
return;
|
||||||
|
|
||||||
// #2407 calls from operator() is not detected
|
// #2407 calls from operator() is not detected
|
||||||
// TODO: Don't bailout. Detect the call.
|
// TODO: Don't bailout. Detect the call.
|
||||||
if (Token::findmatch(_tokenizer->tokens(), "operator ( )"))
|
if (Token::findmatch(_tokenizer->tokens(), "operator ( )"))
|
||||||
|
|
|
@ -53,6 +53,8 @@ private:
|
||||||
|
|
||||||
TEST_CASE(derivedClass); // skip warning for derived classes. It might be a virtual function.
|
TEST_CASE(derivedClass); // skip warning for derived classes. It might be a virtual function.
|
||||||
|
|
||||||
|
TEST_CASE(friendClass);
|
||||||
|
|
||||||
TEST_CASE(borland); // skip FP when using __property
|
TEST_CASE(borland); // skip FP when using __property
|
||||||
|
|
||||||
// No false positives when there are "unused" templates that are removed in the simplified token list
|
// No false positives when there are "unused" templates that are removed in the simplified token list
|
||||||
|
@ -387,6 +389,17 @@ private:
|
||||||
ASSERT_EQUALS("", errout.str());
|
ASSERT_EQUALS("", errout.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void friendClass()
|
||||||
|
{
|
||||||
|
// ticket #2459 - friend class
|
||||||
|
check("class Foo {\n"
|
||||||
|
"private:\n"
|
||||||
|
" friend Bar;\n"
|
||||||
|
" void f() { }\n"
|
||||||
|
"};");
|
||||||
|
ASSERT_EQUALS("", errout.str());
|
||||||
|
}
|
||||||
|
|
||||||
void borland()
|
void borland()
|
||||||
{
|
{
|
||||||
// ticket #2034 - Borland C++ __property
|
// ticket #2034 - Borland C++ __property
|
||||||
|
|
Loading…
Reference in New Issue