OSDN Git Service

* stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Aug 2002 21:05:16 +0000 (21:05 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Aug 2002 21:05:16 +0000 (21:05 +0000)
commit77d0f168ac0b07d083251fd187aacc0dba5eb036
tree7249cbfca426d8f5536a573cc0ed13427c382e6b
parentb251a88aec7938d49d28ef096fdca9c9774a4516
* stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
(place_field): Likewise.
* config/i386/i386.c (x86_field_alignment): Don't check
DECL_USER_ALIGN here.
* config/rs6000/rs6000.c (rs6000_field_alignment): New.
* config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
prototype.
* config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
* config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
* config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
* doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.

* gcc.dg/i386-bitfield1.c: New test.
* g++.dg/abi/bitfield3.C: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56107 138bc75d-0d04-0410-961f-82ee72b054a4
14 files changed:
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/rs6000/aix.h
gcc/config/rs6000/darwin.h
gcc/config/rs6000/linux64.h
gcc/config/rs6000/rs6000-protos.h
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.h
gcc/config/rs6000/sysv4.h
gcc/doc/tm.texi
gcc/stor-layout.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/abi/bitfield3.C
gcc/testsuite/gcc.dg/i386-bitfield1.c [new file with mode: 0644]