https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81824
--- Comment #8 from Martin Sebor <msebor at gcc dot gnu.org> --- I see. I think you are specifically talking about the case when the three attributes are used together, as in: void __attribute__ ((weak, alias ("__foo"), visibility ("..."))) foo (); void __foo () { ... } and not warning that __foo isn't declared weak, or with alias, or with visibility. Yes, warning for that wouldn't be very helpful.