Fix c++ problem resulting from ADDRESSOF support.

* integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.

From-SVN: r16330
This commit is contained in:
Jim Wilson 1997-11-05 01:15:04 +00:00 committed by Jim Wilson
parent 3feffdfe8e
commit 474eff8855
2 changed files with 13 additions and 0 deletions

View File

@ -1,5 +1,7 @@
Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com> Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
* integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
* reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants. * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
* mips.c (mips_expand_epilogue): Emit blockage insn before call to * mips.c (mips_expand_epilogue): Emit blockage insn before call to

View File

@ -415,6 +415,7 @@ save_for_inline_copying (fndecl)
int max_uid; int max_uid;
rtx first_nonparm_insn; rtx first_nonparm_insn;
char *new, *new1; char *new, *new1;
rtx *new2;
/* Make and emit a return-label if we have not already done so. /* Make and emit a return-label if we have not already done so.
Do this before recording the bounds on label numbers. */ Do this before recording the bounds on label numbers. */
@ -539,6 +540,16 @@ save_for_inline_copying (fndecl)
XEXP (regno_reg_rtx[i], 0) XEXP (regno_reg_rtx[i], 0)
= copy_for_inline (XEXP (regno_reg_rtx[i], 0)); = copy_for_inline (XEXP (regno_reg_rtx[i], 0));
/* Copy the parm_reg_stack_loc array, and substitute for all of the rtx
contained in it. */
new2 = savealloc (max_parm_reg * sizeof (rtx));
bcopy ((char *) parm_reg_stack_loc, (char *) new2,
max_parm_reg * sizeof (rtx));
parm_reg_stack_loc = new2;
for (i = LAST_VIRTUAL_REGISTER + 1; i < max_parm_reg; ++i)
if (parm_reg_stack_loc[i])
parm_reg_stack_loc[i] = copy_for_inline (parm_reg_stack_loc[i]);
/* Copy the tree of subblocks of the function, and the decls in them. /* Copy the tree of subblocks of the function, and the decls in them.
We will use the copy for compiling this function, then restore the original We will use the copy for compiling this function, then restore the original
subblocks and decls for use when inlining this function. subblocks and decls for use when inlining this function.