[Bug c++/55813] New: Poorly named/documented option Wctor-dtor-privacy
harald at gigawatt dot nl
gcc-bugzilla@gcc.gnu.org
Wed Dec 26 15:05:00 GMT 2012
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: unassigned@gcc.gnu.org
ReportedBy: harald@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.
More information about the Gcc-bugs
mailing list