OSDN Git Service

(rtx_alloc): Clear common area of rtx in a portable manner.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 3 Jan 1993 23:59:45 +0000 (23:59 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 3 Jan 1993 23:59:45 +0000 (23:59 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3074 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/rtl.c

index 8017df1..a47ebd5 100644 (file)
--- 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;