This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Minor bug in store_constructor_field
- To: gcc-patches at gcc dot gnu dot org
- Subject: Minor bug in store_constructor_field
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Mon, 29 Nov 99 17:54:00 EST
I just comitted the following:
Mon Nov 29 16:56:42 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* expr.c (store_constructor_field): If bit position is not multiple
of alignment of TARGET's mode, use BLKmode.
*** expr.c.nov28 Sun Nov 28 08:46:31 1999
--- expr.c Sun Nov 28 10:27:35 1999
*************** store_constructor_field (target, bitsize
*** 3637,3643 ****
{
if (bitpos != 0)
! target = change_address (target, VOIDmode,
! plus_constant (XEXP (target, 0),
! bitpos / BITS_PER_UNIT));
store_constructor (exp, target, align, cleared);
}
--- 3637,3648 ----
{
if (bitpos != 0)
! target
! = change_address (target,
! GET_MODE (target) == BLKmode
! || 0 != (bitpos
! % GET_MODE_ALIGNMENT (GET_MODE (target)))
! ? BLKmode : VOIDmode,
! plus_constant (XEXP (target, 0),
! bitpos / BITS_PER_UNIT));
store_constructor (exp, target, align, cleared);
}