http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52238
--- Comment #3 from Michael Kostylev <michael.kostylev at gmail dot com> 2012-02-16 13:26:24 UTC --- Ok, let's modify the test case - s/char a;/char a:6;/: struct { char a:6; char b __attribute__ ((aligned (16))); } s; int main() { return (__PTRDIFF_TYPE__)&s.b & 15; } The b member is still misaligned, moreover, its offset is equal to 0x11 after patching.