This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix to bug involving clearing of storage
- To: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner),gcc-patches at gcc dot gnu dot org
- Subject: Re: Fix to bug involving clearing of storage
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- Date: Mon, 20 Dec 1999 23:41:33 +0100
- References: <9912202126.AA28689@vlsi1.ultra.nyu.edu>
Am Mon, 20 Dec 1999 schrieb Richard Kenner:
>--- 3656,3670 ----
> TARGET is either a REG or a MEM.
> ALIGN is the maximum known alignment for TARGET, in bits.
>! CLEARED is true if TARGET is known to have been zero'd.
>! SIZE is the number of bytes of TARGET we are allowed to modify: this
>! may not be the same as the size of EXP if we are assigning to a field
>! which has been packed to exclude padding bits. */
>
> static void
>! store_constructor (exp, target, align, cleared, size)
> tree exp;
> rtx target;
> int cleared;
>+ int size;
align was missing before and is still missing with your patch
>*************** store_constructor (exp, target, align, c
>*** 3674,3678 ****
> {
> rtx temp = gen_reg_rtx (GET_MODE (target));
>! store_constructor (exp, temp, 0);
> emit_move_insn (target, temp);
> return;
>--- 3678,3682 ----
> {
> rtx temp = gen_reg_rtx (GET_MODE (target));
>! store_constructor (exp, temp, 0, size);
store_constructor now takes 5 args, or?
Franz.