From: Andrew Pinski Date: Thu, 22 Dec 2005 18:06:35 +0000 (+0000) Subject: [multiple changes] X-Git-Tag: releases/gcc-4.2.0~5184 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e814a0d1e0fc506f858a711271ac7a375d167b6e;p=thirdparty%2Fgcc.git [multiple changes] 2005-12-22 Andrew Pinski PR tree-opt/25513 * gcc.c-torture/compile/pr25513.c: New test. 2005-12-22 Andrew Pinski PR tree-opt/25513 * tree-dfa.c (make_rename_temp): Set DECL_COMPLEX_GIMPLE_REG_P complex variables. From-SVN: r108958 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b264973f82c5..8004d01dcc44 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-12-22 Andrew Pinski + + PR tree-opt/25513 + * tree-dfa.c (make_rename_temp): Set DECL_COMPLEX_GIMPLE_REG_P complex + variables. + 2005-12-22 Zdenek Dvorak Steven Bosscher diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 089e08802be4..e829f8e21f2d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-12-22 Andrew Pinski + + PR tree-opt/25513 + * gcc.c-torture/compile/pr25513.c: New test. + 2005-12-22 Volker Reichelt 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 000000000000..d2aa591fe210 --- /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 5af9753d5c68..f29602d27a31 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);