aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-07-27 18:52:32 +0000
committerRichard Stallman <rms@gnu.org>1993-07-27 18:52:32 +0000
commit19fdd3eecb6ae79bd9b1af26d287462351b6e020 (patch)
treefd19467c67236d020f8b03b4342adf9df1dcd429 /gcc
parent86615a621633adeb7fa11afb112b2f31b6617b9e (diff)
downloadgcc-19fdd3eecb6ae79bd9b1af26d287462351b6e020.zip
gcc-19fdd3eecb6ae79bd9b1af26d287462351b6e020.tar.gz
gcc-19fdd3eecb6ae79bd9b1af26d287462351b6e020.tar.bz2
(assign_parms): Don't copy too much when extending parm_reg_stack_loc.
From-SVN: r5004
Diffstat (limited to 'gcc')
-rw-r--r--gcc/function.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 3410956..a2ac08a 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -3295,9 +3295,11 @@ assign_parms (fndecl, second_time)
if (REGNO (parmreg) >= nparmregs)
{
rtx *new;
+ int old_nparmregs = nparmregs;
nparmregs = REGNO (parmreg) + 5;
new = (rtx *) oballoc (nparmregs * sizeof (rtx));
- bcopy (parm_reg_stack_loc, new, nparmregs * sizeof (rtx));
+ bcopy (parm_reg_stack_loc, new, old_nparmregs * sizeof (rtx));
+ bzero (new + old_nparmregs, (nparmregs - old_nparmregs) * sizeof (rtx));
parm_reg_stack_loc = new;
}
parm_reg_stack_loc[REGNO (parmreg)] = stack_parm;