summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-13 15:06:42 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-13 15:06:42 +0000
commit4cb90235ad72bc8b91fdfd02608fc063c3ee347c (patch)
treea999cb5b23ccc84f9c45b7eb28238ff819ba2af6
parent2f9e77d1f405a800f0a14731c4173eb64b0e0020 (diff)
downloadppe42-gcc-4cb90235ad72bc8b91fdfd02608fc063c3ee347c.tar.gz
ppe42-gcc-4cb90235ad72bc8b91fdfd02608fc063c3ee347c.zip
* optimize.c (maybe_clone_body): Fix parameter updating.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47976 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/optimize.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 3a06bacf698..1e70a56a63b 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,7 @@
+2001-12-13 Jason Merrill <jason@redhat.com>
+
+ * optimize.c (maybe_clone_body): Fix parameter updating.
+
2001-12-12 Jason Merrill <jason@redhat.com>
* decl.c (store_parm_decls): Remove parms_have_cleanups cruft.
diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c
index 99d89877ae8..ae343dcaf64 100644
--- a/gcc/cp/optimize.c
+++ b/gcc/cp/optimize.c
@@ -181,10 +181,10 @@ maybe_clone_body (fn)
/* Adjust the parameter names and locations. */
parm = DECL_ARGUMENTS (fn);
clone_parm = DECL_ARGUMENTS (clone);
- /* Update the `this' parameter, which is always first.
- Sometimes, we end update the `this' parameter twice because
- we process it again in the loop below. That is harmless. */
+ /* Update the `this' parameter, which is always first. */
update_cloned_parm (parm, clone_parm);
+ parm = TREE_CHAIN (parm);
+ clone_parm = TREE_CHAIN (clone_parm);
if (DECL_HAS_IN_CHARGE_PARM_P (fn))
parm = TREE_CHAIN (parm);
if (DECL_HAS_VTT_PARM_P (fn))
OpenPOWER on IntegriCloud