From: Richard Kenner Date: Sun, 3 Jan 1993 23:59:45 +0000 (-0500) Subject: (rtx_alloc): Clear common area of rtx in a portable manner. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2151a093e30b2d7b1122924810d0427b8a438ca9;p=gcc.git (rtx_alloc): Clear common area of rtx in a portable manner. From-SVN: r3074 --- diff --git a/gcc/rtl.c b/gcc/rtl.c index 8017df1b2c8..a47ebd53631 100644 --- a/gcc/rtl.c +++ b/gcc/rtl.c @@ -233,7 +233,14 @@ rtx_alloc (code) ob->next_free += length; ob->object_base = ob->next_free; - * (int *) rt = 0; + /* We want to clear everything up to the FLD array. Normally, this is + one int, but we don't want to assume that and it isn't very portable + anyway; this is. */ + + length = (sizeof (struct rtx_def) - sizeof (rtunion) - 1) / sizeof (int); + for (; length >= 0; length--) + ((int *) rt)[length] = 0; + PUT_CODE (rt, code); return rt;