diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-12-26 09:31:42 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1998-12-26 09:31:42 +0000 |
commit | c59eff3df18d6512bb3056080d0854af5b9b59de (patch) | |
tree | 1ef42433c2078c368e91375f24eaeadda253d631 /gcc | |
parent | 3806ffea5ab55faf9e8193b89dbe608d029ad3a9 (diff) | |
download | gcc-c59eff3df18d6512bb3056080d0854af5b9b59de.tar.gz |
* gengenrtl.c (gencode): Always use bzero to clear memory instead
of dangerous casts and stores.
Fixes alpha & sparc -O3 bootstrap problems.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24420 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/gengenrtl.c | 7 |
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) |