diff options
author | Steve Ellcey <sje@cup.hp.com> | 2005-09-27 21:12:52 +0000 |
---|---|---|
committer | Steve Ellcey <sje@gcc.gnu.org> | 2005-09-27 21:12:52 +0000 |
commit | 118ea208fa6de41756b9d1cce052e0bd64c681c2 (patch) | |
tree | b153488273b3833bfdf44f1f0c3ac72e033b31c2 /libgfortran/intrinsics | |
parent | ca7a5aec06cbaa6683aedc8ebb6273e5d0e64fc6 (diff) | |
download | gcc-118ea208fa6de41756b9d1cce052e0bd64c681c2.zip gcc-118ea208fa6de41756b9d1cce052e0bd64c681c2.tar.gz gcc-118ea208fa6de41756b9d1cce052e0bd64c681c2.tar.bz2 |
re PR target/23552 (FAIL: gfortran.dg/large_real_kind_1.f90)
PR target/23552
* acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): New.
(LIBGFOR_CHECK_FOR_BROKEN_ISNAN): New.
(LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): New.
* configure.ac (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): Add use.
(LIBGFOR_CHECK_FOR_BROKEN_ISNAN): Add use.
(LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): Add use.
* configure: Regenerate.
* config.h.in: Regenerate.
* libgfortan.h (isfinite): undef if broken, set if needed.
(isnan): undef if broken, set if needed.
(fpclassify): undef if broken, set if needed.
* io/write.c: Remove TODO comment about working isfinite.
* intrinsics/c99_functions.c (round): Use isfinite instead
of fpclassify.
* intrinsics/c99_functions.c (roundf): Ditto.
From-SVN: r104710
Diffstat (limited to 'libgfortran/intrinsics')
-rw-r--r-- | libgfortran/intrinsics/c99_functions.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/libgfortran/intrinsics/c99_functions.c b/libgfortran/intrinsics/c99_functions.c index 8083f77..2417e69 100644 --- a/libgfortran/intrinsics/c99_functions.c +++ b/libgfortran/intrinsics/c99_functions.c @@ -344,12 +344,8 @@ double round(double x) { double t; -#if defined(fpclassify) - int i; - i = fpclassify(x); - if (i == FP_INFINITE || i == FP_NAN) + if (!isfinite (x)) return (x); -#endif if (x >= 0.0) { @@ -377,13 +373,8 @@ float roundf(float x) { float t; -#if defined(fpclassify) - int i; - - i = fpclassify(x); - if (i == FP_INFINITE || i == FP_NAN) + if (!isfinite (x)) return (x); -#endif if (x >= 0.0) { |