* optimize.c (maybe_clone_body): Fix parameter updating.
authorJason Merrill <jason@redhat.com>
Thu, 13 Dec 2001 15:06:42 +0000 (10:06 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Thu, 13 Dec 2001 15:06:42 +0000 (10:06 -0500)
From-SVN: r47976

gcc/cp/ChangeLog
gcc/cp/optimize.c

index 3a06bacf698f33ae7ab85102ca1fff87321e75a2..1e70a56a63bf88cd53be44e9076b019bd56dbf65 100644 (file)
@@ -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.
index 99d89877ae812b91db96df3c325768ac35fbfb29..ae343dcaf64db2e9e27f4751bec0c281f7b02d71 100644 (file)
@@ -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))