------- Comment #18 from steven at gcc dot gnu dot org 2006-01-14 14:48 ------- This code in layout_decl looks suspicous:
/* Should this be controlled by DECL_USER_ALIGN, too? */ if (maximum_field_alignment != 0) DECL_ALIGN (decl) = MIN (DECL_ALIGN (decl), maximum_field_alignment); For this test case, maximum_field_alignment==8, so every bitfield is at most byte aligned by these two lines. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22275