aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-12-26 09:31:42 +0000
committerJeffrey A Law <law@cygnus.com>1998-12-26 09:31:42 +0000
commit5f5df6ab262a8b602e8838c45cd860678e8e9a11 (patch)
tree1ef42433c2078c368e91375f24eaeadda253d631
parent602c090eadeae7ac619eb2871823818382feb0c4 (diff)
* gengenrtl.c (gencode): Always use bzero to clear memory instead
of dangerous casts and stores. Fixes alpha & sparc -O3 bootstrap problems. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@24420 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/gengenrtl.c7
2 files changed, 4 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index be77325f723..74c156b7ddf 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
Sat Dec 26 09:17:04 1998 Jeffrey A Law (law@cygnus.com)
+ * gengenrtl.c (gencode): Always use bzero to clear memory instead
+ of dangerous casts and stores.
+
* Makefile.in (compare, gnucompare): Add missing else true clauses.
Fri Dec 25 23:00:56 1998 Jeffrey A Law (law@cygnus.com)
diff --git a/gcc/gengenrtl.c b/gcc/gengenrtl.c
index e99cb723e84..b9455cb7c1c 100644
--- a/gcc/gengenrtl.c
+++ b/gcc/gengenrtl.c
@@ -268,12 +268,7 @@ gencode (f)
fputs ("static rtx obstack_alloc_rtx (length)\n", f);
fputs (" register int length;\n{\n", f);
fputs (" rtx rt = (rtx) obstack_alloc (rtl_obstack, length);\n\n", f);
- fputs (" if (sizeof(struct rtx_def) - sizeof(rtunion) == sizeof(int))\n", f);
- fputs (" *(int *)rt = 0;\n", f);
- fputs (" else if (sizeof(struct rtx_def) - sizeof(rtunion) == sizeof(HOST_WIDE_INT))\n", f);
- fputs (" *(HOST_WIDE_INT *)rt = 0;\n", f);
- fputs (" else\n", f);
- fputs (" bzero((char *) rt, sizeof(struct rtx_def) - sizeof(rtunion));\n\n", f);
+ fputs (" bzero((char *) rt, sizeof(struct rtx_def) - sizeof(rtunion));\n\n", f);
fputs (" return rt;\n}\n\n", f);
for (fmt = formats; *fmt; ++fmt)