aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/intrinsics/c99_functions.c
diff options
context:
space:
mode:
authorSteve Ellcey <sje@cup.hp.com>2005-09-27 21:12:52 +0000
committerSteve Ellcey <sje@gcc.gnu.org>2005-09-27 21:12:52 +0000
commit118ea208fa6de41756b9d1cce052e0bd64c681c2 (patch)
treeb153488273b3833bfdf44f1f0c3ac72e033b31c2 /libgfortran/intrinsics/c99_functions.c
parentca7a5aec06cbaa6683aedc8ebb6273e5d0e64fc6 (diff)
downloadgcc-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/c99_functions.c')
-rw-r--r--libgfortran/intrinsics/c99_functions.c13
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)
{