> Btw, now checking with gdb, DECL_OFFSET_ALIGN is always 128 for > all of the fields - that looks bogus. DECL_ALIGN is 1, but that > doesn't mean DECL_OFFSET_ALIGN should not be 1 as well, no?
DECL_OFFSET_ALIGN is set to BIGGEST_ALIGNMENT for the first field, see start_record_layout. If DECL_FIELD_OFFSET doesn't change for the next fields, DECL_OFFSET_ALIGN will very likely not either. -- Eric Botcazou