https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39159
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2014-08-16 CC| |manu at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #3 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- Confirmed. Perhaps it is not hard to fix. Just look how it is handled for functions. Probably it is at the same place as this: void __attribute__ ((visibility ("default"))) foo () { } void __attribute__ ((visibility ("hidden"))) foo (); pr39159.C:4:49: warning: ‘void foo()’: visibility attribute ignored because it conflicts with previous declaration [-Wattributes] void __attribute__ ((visibility ("default"))) foo () { } ^ pr39159.C:4:49: note: previous declaration of ‘void foo()’ and see if you can implement the same thing for types, probably at the point where the " type attributes ignored" warning is given.