------- 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