https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109654
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=36566 Resolution|--- |INVALID --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This won't work for templates or function overloading since GCC does NOT mangle the alignment. This is why it was started to be rejected in the first place. That is: ``` typedef __attribute__((aligned(1))) int packed_int; template <class T> T load(T &a); int load1(int *a) { return load<packed_int>(*a); } int load2(int *a) { return load<int>(*a); } ``` Will both still call load<int> in both cases.