On 09/09/2015 05:09 PM, Paolo Carlini wrote: > +@item -Wsubobject-linkage @r{(C++ and Objective-C++ only)} > +@opindex Wsubobject-linkage > +@opindex Wno-subobject-linkage > +Warn if a class type has a base or a field whose type uses the anonymous > +namespace or depends on a type with no linkage.
“and the class type does not itself use the anonymous namespace or has no linkage”? > This warning is > +enabled by default. Maybe add a sentence why this is bad? I can only guess, but I suspect the reason is this: Such types are necessarily specific to a single translation unit because any definition in another translation unit would be an ODR violation, so they can be put into the anonymous namespace themselves. -- Florian Weimer / Red Hat Product Security