diff --git a/src/checkclass.cpp b/src/checkclass.cpp index c752965d2..b2f3ded3d 100644 --- a/src/checkclass.cpp +++ b/src/checkclass.cpp @@ -541,6 +541,13 @@ void CheckClass::privateFunctions() FuncList.push_back(tok); } } + + /** @todo embedded class have access to private functions */ + if (tok->str() == "class") + { + FuncList.clear(); + break; + } } // Check that all private functions are used.. diff --git a/test/testunusedprivfunc.cpp b/test/testunusedprivfunc.cpp index 709f3a6ec..5b5e0ce10 100644 --- a/test/testunusedprivfunc.cpp +++ b/test/testunusedprivfunc.cpp @@ -266,6 +266,25 @@ private: " { }\n" "};\n"); ASSERT_EQUALS("", errout.str()); + + check("class A\n" + "{\n" + "public:\n" + " A()\n" + " { }\n" + "\n" + "private:\n" + " void f()\n" + " { }\n" + "\n" + " class B\n" + " {\n" + " public:\n" + " B(A *a)\n" + " { a->f(); }\n" + " };\n" + "};\n"); + ASSERT_EQUALS("", errout.str()); }