aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-12-25 18:00:14 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1993-12-25 18:00:14 -0500
commitc0b178d09bb9bb6c8fba904b322c8e8ea87e7615 (patch)
treea8625eb012ffa16ffaa95b2c32548a8e094d88df
parent3207b172f70fc5cf1d1f24b0c171755b6f36136d (diff)
downloadgcc-c0b178d09bb9bb6c8fba904b322c8e8ea87e7615.zip
gcc-c0b178d09bb9bb6c8fba904b322c8e8ea87e7615.tar.gz
gcc-c0b178d09bb9bb6c8fba904b322c8e8ea87e7615.tar.bz2
(gen_reg_rtx): Only clear part of arrays we aren't going to copy into.
From-SVN: r6324
-rw-r--r--gcc/emit-rtl.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 1270521..de23b08 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -482,13 +482,14 @@ gen_reg_rtx (mode)
rtx *new1;
char *new =
(char *) oballoc (regno_pointer_flag_length * 2);
- bzero (new, regno_pointer_flag_length * 2);
bcopy (regno_pointer_flag, new, regno_pointer_flag_length);
+ bzero (&new[regno_pointer_flag_length], regno_pointer_flag_length);
regno_pointer_flag = new;
new1 = (rtx *) oballoc (regno_pointer_flag_length * 2 * sizeof (rtx));
- bzero (new1, regno_pointer_flag_length * 2 * sizeof (rtx));
bcopy (regno_reg_rtx, new1, regno_pointer_flag_length * sizeof (rtx));
+ bzero (&new1[regno_pointer_flag_length],
+ regno_pointer_flag_length * sizeof (rtx));
regno_reg_rtx = new1;
regno_pointer_flag_length *= 2;