aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>1997-11-05 01:15:04 +0000
committerJim Wilson <wilson@gcc.gnu.org>1997-11-04 17:15:04 -0800
commit474eff885594b2e22a52fc103ef020d1c929df1f (patch)
tree62924499c9bb4337d205a980eb09a81bb33c3ba6
parent3feffdfe8e13977741530c96d77ede2ceea83290 (diff)
downloadgcc-474eff885594b2e22a52fc103ef020d1c929df1f.zip
gcc-474eff885594b2e22a52fc103ef020d1c929df1f.tar.gz
gcc-474eff885594b2e22a52fc103ef020d1c929df1f.tar.bz2
Fix c++ problem resulting from ADDRESSOF support.
* integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc. From-SVN: r16330
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/integrate.c11
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bd1dfa5..d95844d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,7 @@
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.
* mips.c (mips_expand_epilogue): Emit blockage insn before call to
diff --git a/gcc/integrate.c b/gcc/integrate.c
index 3931dee..4c887fb 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -415,6 +415,7 @@ save_for_inline_copying (fndecl)
int max_uid;
rtx first_nonparm_insn;
char *new, *new1;
+ rtx *new2;
/* Make and emit a return-label if we have not already done so.
Do this before recording the bounds on label numbers. */
@@ -539,6 +540,16 @@ save_for_inline_copying (fndecl)
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.
We will use the copy for compiling this function, then restore the original
subblocks and decls for use when inlining this function.