diff options
author | Jason Merrill <jason@redhat.com> | 2001-12-13 10:06:42 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2001-12-13 10:06:42 -0500 |
commit | 4a90862e3a3ea61399acc40605aa6d196d5d1a57 (patch) | |
tree | a999cb5b23ccc84f9c45b7eb28238ff819ba2af6 | |
parent | 414e05cffba6eda254f91ea66e1edb04b55852a2 (diff) | |
download | gcc-4a90862e3a3ea61399acc40605aa6d196d5d1a57.zip gcc-4a90862e3a3ea61399acc40605aa6d196d5d1a57.tar.gz gcc-4a90862e3a3ea61399acc40605aa6d196d5d1a57.tar.bz2 |
* optimize.c (maybe_clone_body): Fix parameter updating.
From-SVN: r47976
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/optimize.c | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 3a06bac..1e70a56 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 99d8987..ae343dc 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)) |