This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/24969] tmpdir-gcc.dg-struct-layout-1/t026 fails execution
- From: "hubicka at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 2 Dec 2005 18:14:25 -0000
- Subject: [Bug target/24969] tmpdir-gcc.dg-struct-layout-1/t026 fails execution
- References: <bug-24969-10053@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #10 from hubicka at gcc dot gnu dot org 2005-12-02 18:14 -------
Testing patch:
2005-12-02 Jan Hubicka <jh@suse.cz>
PR target/24969
* i386.c (classify_argument): Properly adjust offset of bitfield for
substructures.
Index: config/i386/i386.c
===================================================================
*** config/i386/i386.c (revision 107909)
--- config/i386/i386.c (working copy)
*************** classify_argument (enum machine_mode mod
*** 2652,2659 ****
misaligned integers. */
if (DECL_BIT_FIELD (field))
{
! for (i = int_bit_position (field) / 8 / 8;
! i < (int_bit_position (field)
+ tree_low_cst (DECL_SIZE (field), 0)
+ 63) / 8 / 8; i++)
classes[i] =
--- 2652,2659 ----
misaligned integers. */
if (DECL_BIT_FIELD (field))
{
! for (i = (int_bit_position (field) + (bit_offset % 64)) /
8 / 8;
! i < ((int_bit_position (field) + (bit_offset % 64))
+ tree_low_cst (DECL_SIZE (field), 0)
+ 63) / 8 / 8; i++)
classes[i] =
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24969