diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fold-const.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.fortran-torture/compile/complex_1.f90 | 5 |
4 files changed, 17 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5878f50..21f9c3a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-08-03 Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR middle-end/32935 + * fold-convert.c (fold_negate_expr <NOP_EXPR>): Convert back to the + correct type the negate expression. + 2007-08-03 Jan Hubicka <jh@suse.cz> * i386.c (setup_incoming_varargs_64): Tolerate 64bit preferred diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 614e55a..be46b23 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -1382,7 +1382,7 @@ fold_negate_expr (tree t) { tem = strip_float_extensions (t); if (tem != t && negate_expr_p (tem)) - return negate_expr (tem); + return fold_convert (type, negate_expr (tem)); } break; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ded4044..7ba9afc 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-08-03 Andrew Pinski <andrew_pinski@playstation.sony.com> + + PR middle-end/32935 + * gfortran.fortran-torture/compile/complex_1.f90: New test. + 2007-08-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR fortran/32955 diff --git a/gcc/testsuite/gfortran.fortran-torture/compile/complex_1.f90 b/gcc/testsuite/gfortran.fortran-torture/compile/complex_1.f90 new file mode 100644 index 0000000..605ec66 --- /dev/null +++ b/gcc/testsuite/gfortran.fortran-torture/compile/complex_1.f90 @@ -0,0 +1,5 @@ +program test_gfortran2 + Complex(8) :: g, zh + Real(8) :: g_q + g = zh - zh/cmplx(0.0_8,-g_q) +end |