https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105588
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- _Alignof(expression) works like __alignof__(expression) which works like __alignof__(__typeof(expression)), while _Alignof(type_name) is mandated by the standard to work differently. The difference is that in the ia32 psABI, double is normally 8 byte aligned, except when inside of struct/union where the alignment is lowered to 4 byte alignment. Changing any of this would be a significant ABI change.