------- Comment #10 from hubicka at gcc dot gnu dot org  2005-12-02 18:14 
-------
Testing patch:
2005-12-02  Jan Hubicka  <[EMAIL PROTECTED]>
        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

Reply via email to