]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/c-family/c-common.c
c-decl.c (finish_struct): Move code to set DECL_PACKED after DECL_BIT_FIELD is alreay...
authorAdam Nemet <anemet@caviumnetworks.com>
Fri, 23 Jan 2009 06:29:54 +0000 (06:29 +0000)
committerAdam Nemet <nemet@gcc.gnu.org>
Fri, 23 Jan 2009 06:29:54 +0000 (06:29 +0000)
commit2cd36c22d3d16e24f342829a989ac35f2f442656
treef2ccff5eab03e65287a19a85ac3f6e9c2d8e320d
parent5cf9cc965f9307beeed14acf4814677041e5bad7
c-decl.c (finish_struct): Move code to set DECL_PACKED after DECL_BIT_FIELD is alreay known.

* c-decl.c (finish_struct): Move code to set DECL_PACKED after
DECL_BIT_FIELD is alreay known.  Also inherit packed for bitfields
regardless of their type.
* c-common.c (handle_packed_attribute): Don't ignore packed on
bitfields.
* c.opt (Wpacked-bitfield-compat): New warning option.
* stor-layout.c (place_field): Warn if offset of a field changed.
* doc/extend.texi (packed): Mention the ABI change.
* doc/invoke.texi (-Wpacked-bitfield-compat): Document.
(Warning Options): Add it to the list.

cp/
* class.c (check_field_decls): Also inherit packed for bitfields
regardless of their type.

testsuite/
* gcc.dg/bitfld-15.c, gcc.dg/bitfld-16.c,
gcc.dg/bitfld-17.c,gcc.dg/bitfld-18.c: New tests.
* g++.dg/ext/bitfield2.C, g++.dg/ext/bitfield3.C,
g++.dg/ext/bitfield4.C, g++.dg/ext/bitfield5.C: New tests.

From-SVN: r143584
18 files changed:
gcc/ChangeLog
gcc/c-common.c
gcc/c-decl.c
gcc/c.opt
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/doc/extend.texi
gcc/doc/invoke.texi
gcc/stor-layout.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/bitfield2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/bitfield3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/bitfield4.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/bitfield5.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/bitfld-15.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/bitfld-16.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/bitfld-17.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/bitfld-18.c [new file with mode: 0644]