aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/optimize.c
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@gmail.com>2006-12-21 23:30:55 -0800
committerAndrew Pinski <pinskia@gcc.gnu.org>2006-12-21 23:30:55 -0800
commitb3c4918f98830ee60d9d6dcad83de6e9e2f9ef6d (patch)
tree22e853cec34834d64d11f49dfac6d0c59828bee2 /gcc/cp/optimize.c
parentbc0ebe76b3d07e19aeafe057c480a52ad87aef9d (diff)
downloadgcc-b3c4918f98830ee60d9d6dcad83de6e9e2f9ef6d.zip
gcc-b3c4918f98830ee60d9d6dcad83de6e9e2f9ef6d.tar.gz
gcc-b3c4918f98830ee60d9d6dcad83de6e9e2f9ef6d.tar.bz2
re PR c++/30168 (C++ constructors can cause invalid gimple to happen with complex typed variables)
2006-12-21 Andrew Pinski <pinskia@gmail.com> PR C++/30168 * optimize.c (update_cloned_parm): Copy DECL_GIMPLE_REG_P also. 2006-12-21 Andrew Pinski <pinskia@gmail.com> PR C++/30168 * g++.dg/opt/complex6.C: New test. From-SVN: r120144
Diffstat (limited to 'gcc/cp/optimize.c')
-rw-r--r--gcc/cp/optimize.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c
index 7ac2437..839c4e6 100644
--- a/gcc/cp/optimize.c
+++ b/gcc/cp/optimize.c
@@ -69,6 +69,8 @@ update_cloned_parm (tree parm, tree cloned_parm, bool first)
DECL_NAME (cloned_parm) = DECL_NAME (parm);
DECL_SOURCE_LOCATION (cloned_parm) = DECL_SOURCE_LOCATION (parm);
TREE_TYPE (cloned_parm) = TREE_TYPE (parm);
+
+ DECL_GIMPLE_REG_P (cloned_parm) = DECL_GIMPLE_REG_P (parm);
}
/* FN is a function that has a complete body. Clone the body as