summaryrefslogtreecommitdiff
path: root/libgfortran/intrinsics/c99_functions.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@libertysurf.fr>2005-02-21 22:39:33 +0100
committerEric Botcazou <ebotcazou@gcc.gnu.org>2005-02-21 21:39:33 +0000
commit74421469393fd0fef8ac928150140f0ac64cbaa9 (patch)
treed4a8c1881509a617ee87f2eb020a5f0f06bf2713 /libgfortran/intrinsics/c99_functions.c
parent10e7039248ce99bf0fcfb7d1d248785ad5d1788d (diff)
downloadgcc-74421469393fd0fef8ac928150140f0ac64cbaa9.tar.gz
re PR libfortran/19302 (intrinsic_nearest.f90 fails)
PR libfortran/19302 * intrinsics/c99_functions.c (nextafterf): Special-case infinite numbers. From-SVN: r95353
Diffstat (limited to 'libgfortran/intrinsics/c99_functions.c')
-rw-r--r--libgfortran/intrinsics/c99_functions.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libgfortran/intrinsics/c99_functions.c b/libgfortran/intrinsics/c99_functions.c
index 7dd95918dcd..f7dc9777dd8 100644
--- a/libgfortran/intrinsics/c99_functions.c
+++ b/libgfortran/intrinsics/c99_functions.c
@@ -218,6 +218,8 @@ nextafterf(float x, float y)
return x + y;
if (x == y)
return x;
+ if (!isfinite (x))
+ return x > 0 ? __FLT_MAX__ : - __FLT_MAX__;
/* absx = fabsf (x); */
absx = (x < 0.0) ? -x : x;