https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117198
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|UNCONFIRMED |RESOLVED --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The order is different. In the macro case the declaration with weak/alias is after the declaration without. While in the non macro case it is the opposite order. In the non-macro case it is redundant since it does not change anything while in the macro case the macro adds the weak/alias attribute.