From fe67caf6297762ca40524e1efe2783c62585d811 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Sun, 27 May 2007 10:09:51 +0200 Subject: [PATCH] re PR middle-end/32083 (bug in transfer integer->real->integer) 2007-05-26 Tobias Burnus PR fortran/32083 * real.c (mpfr_from_real): Fix sign of -Inf. 2007-05-26 Tobias Burnus PR fortran/32083 * gfortran.dg/transfer_simplify_3.f90: New. From-SVN: r125108 --- gcc/ChangeLog | 5 +++++ gcc/real.c | 2 +- gcc/testsuite/ChangeLog | 5 +++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8edffc79fc7..4df2a050d37 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-05-27 Tobias Burnus + + PR middle-end/32083 + * real.c (mpfr_from_real): Fix sign of -Inf. + 2007-05-27 H.J. Lu * tree-vect-transform.c (vectorizable_conversion): Initialize diff --git a/gcc/real.c b/gcc/real.c index f5d842e24b5..867fdc70b03 100644 --- a/gcc/real.c +++ b/gcc/real.c @@ -4746,7 +4746,7 @@ mpfr_from_real (mpfr_ptr m, const REAL_VALUE_TYPE *r, mp_rnd_t rndmode) /* Take care of Infinity and NaN. */ if (r->cl == rvc_inf) { - mpfr_set_inf (m, r->sign); + mpfr_set_inf (m, r->sign == 1 ? -1 : 1); return; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1aa92c158e0..29b1eac0db9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-05-27 Tobias Burnus + + PR middle-end/32083 + * gfortran.dg/transfer_simplify_3.f90: New. + 2007-05-26 Uros Bizjak PR target/32065