diff options
author | Richard Stallman <rms@gnu.org> | 1993-07-27 18:52:32 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-07-27 18:52:32 +0000 |
commit | 19fdd3eecb6ae79bd9b1af26d287462351b6e020 (patch) | |
tree | fd19467c67236d020f8b03b4342adf9df1dcd429 /gcc | |
parent | 86615a621633adeb7fa11afb112b2f31b6617b9e (diff) | |
download | gcc-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.c | 4 |
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; |