https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63495
Bug ID: 63495 Summary: struct __attribute__ ((aligned (8))) broken on x86 Product: gcc Version: 4.9.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: eggert at gnu dot org Compile and run the following two-line program with an x86 target: struct __attribute__ ((aligned (8))) s { char c; }; _Static_assert (_Alignof (struct s) >= 8, "wrong alignment"); This should compile, but here are the symptoms I observe with GCC 4.9.1: $ gcc -m32 t.c t.c:2:1: error: static assertion failed: "wrong alignment" _Static_assert (_Alignof (struct s) >= 8, "wrong alignment"); ^ On the buggy platform the structure's alignment is 4; it should be 8. The program compiles fine with GCC 4.8.3, so there is a regression here. The program also compiles fine on x86-64. The alignment bug breaks the trunk version of GNU Emacs when built on a 32-bit platform; see <http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00261.html>. I'll try to fix Emacs to work around the bug, but the GCC bug really should get fixed.