aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@physics.uc.edu>2005-12-22 18:06:35 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2005-12-22 10:06:35 -0800
commite814a0d1e0fc506f858a711271ac7a375d167b6e (patch)
tree0465f9291701fa6717cb8f2c82aae565e3de1aa9 /gcc
parent228366cdd228a5f390c68f7ecb894380967195b3 (diff)
downloadgcc-e814a0d1e0fc506f858a711271ac7a375d167b6e.zip
gcc-e814a0d1e0fc506f858a711271ac7a375d167b6e.tar.gz
gcc-e814a0d1e0fc506f858a711271ac7a375d167b6e.tar.bz2
[multiple changes]
2005-12-22 Andrew Pinski <pinskia@physics.uc.edu> PR tree-opt/25513 * gcc.c-torture/compile/pr25513.c: New test. 2005-12-22 Andrew Pinski <pinskia@physics.uc.edu> PR tree-opt/25513 * tree-dfa.c (make_rename_temp): Set DECL_COMPLEX_GIMPLE_REG_P complex variables. From-SVN: r108958
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr25513.c9
-rw-r--r--gcc/tree-dfa.c4
4 files changed, 24 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b264973..8004d01 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-12-22 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/25513
+ * tree-dfa.c (make_rename_temp): Set DECL_COMPLEX_GIMPLE_REG_P complex
+ variables.
+
2005-12-22 Zdenek Dvorak <dvorakz@suse.cz>
Steven Bosscher <stevenb@suse.de>
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 089e088..e829f8e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-22 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/25513
+ * gcc.c-torture/compile/pr25513.c: New test.
+
2005-12-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR c++/23333
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr25513.c b/gcc/testsuite/gcc.c-torture/compile/pr25513.c
new file mode 100644
index 0000000..d2aa591
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr25513.c
@@ -0,0 +1,9 @@
+int f(void)
+{
+ static _Complex double t;
+ int i, j;
+ for(i = 0;i<2;i++)
+ for(j = 0;j<2;j++)
+ t = .5 * 1.0;
+ return t;
+}
diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c
index 5af9753..f29602d 100644
--- a/gcc/tree-dfa.c
+++ b/gcc/tree-dfa.c
@@ -236,6 +236,10 @@ tree
make_rename_temp (tree type, const char *prefix)
{
tree t = create_tmp_var (type, prefix);
+
+ if (TREE_CODE (type) == COMPLEX_TYPE)
+ DECL_COMPLEX_GIMPLE_REG_P (t) = 1;
+
if (referenced_vars)
{
add_referenced_tmp_var (t);