diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2008-11-25 05:55:55 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2008-11-25 05:55:55 +0000 |
commit | ca4300857f06252b8968e856034a1f43f0f8b72e (patch) | |
tree | a211509e31f108aa42fe824ae621622b60e541d7 /gcc/fortran/arith.c | |
parent | 58e99d9a79c5bcb300186d6d896bc2640abdd092 (diff) | |
download | gcc-ca4300857f06252b8968e856034a1f43f0f8b72e.zip gcc-ca4300857f06252b8968e856034a1f43f0f8b72e.tar.gz gcc-ca4300857f06252b8968e856034a1f43f0f8b72e.tar.bz2 |
re PR fortran/37803 (Call mpfr_check_range after setting emin/emax)
2008-11-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/37803
* arith.c (gfc_check_real_range): Add mpfr_check_range.
* simplify.c (gfc_simplify_nearest): Add mpfr_check_range.
From-SVN: r142187
Diffstat (limited to 'gcc/fortran/arith.c')
-rw-r--r-- | gcc/fortran/arith.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/arith.c b/gcc/fortran/arith.c index c56be03..7440be3 100644 --- a/gcc/fortran/arith.c +++ b/gcc/fortran/arith.c @@ -379,6 +379,7 @@ gfc_check_real_range (mpfr_t p, int kind) en = gfc_real_kinds[i].min_exponent - gfc_real_kinds[i].digits + 1; mpfr_set_emin ((mp_exp_t) en); mpfr_set_emax ((mp_exp_t) gfc_real_kinds[i].max_exponent); + mpfr_check_range (q, 0, GFC_RND_MODE); mpfr_subnormalize (q, 0, GFC_RND_MODE); /* Reset emin and emax. */ |