[PATCH] IA-32 bitfields (take 3)
Jakub Jelinek
jakub@redhat.com
Wed Aug 7 03:46:00 GMT 2002
On Wed, Aug 07, 2002 at 10:56:41AM +0200, Jakub Jelinek wrote:
> 2002-08-05 Jakub Jelinek <jakub@redhat.com>
> Richard Henderson <rth@redhat.com>
>
> * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
> to type_align when PCC_BITFIELD_TYPE_MATTERS.
> (place_field): Likewise.
> * config/i386/i386.c (x86_field_alignment): Don't check
> TARGET_ALIGN_DOUBLE for the second time.
> If field is a type, use TYPE_USER_ALIGN and the type itself
> instead of TREE_TYPE (field).
> Apply min for all MODE_INT and MODE_CLASS_INT modes.
> * config/rs6000/rs6000.c (rs6000_field_alignment): New.
> * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
> prototype.
> * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Use it.
> * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Likewise.
> * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
> * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Handle if field is
> a type.
>
> * gcc.dg/i386-bitfield1.c: New test.
> * g++.dg/abi/bitfield3.C: New test.
FYI bootstrapped and regression tested on i386-redhat-linux on 3.2 branch.
Jakub
More information about the Gcc-patches
mailing list