http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55813
Bug #: 55813 Summary: Poorly named/documented option Wctor-dtor-privacy Classification: Unclassified Product: gcc Version: 4.7.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: har...@gigawatt.nl The -Wctor-dtor-privacy option is documented as `-Wctor-dtor-privacy (C++ only)' Warn when a class seems unusable, because all the constructors or destructors in a class are private and the class has no friends or public static member functions. However, the option warns for more than just that: class A { // warning: all member functions in class 'A' are private void f(); }; class B { // no warning void f() {} public: B() {} }; The documentation does not explain why a warning for A is issued, nor does it explain why A is treated differently from B. The option's name suggests that no warning should be generated for either of them, but I cannot tell what the actual intended behaviour is, only that gcc has behaved this way since before 3.x.