From 74421469393fd0fef8ac928150140f0ac64cbaa9 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 21 Feb 2005 22:39:33 +0100 Subject: [PATCH] re PR libfortran/19302 (intrinsic_nearest.f90 fails) PR libfortran/19302 * intrinsics/c99_functions.c (nextafterf): Special-case infinite numbers. From-SVN: r95353 --- libgfortran/ChangeLog | 6 ++++++ libgfortran/intrinsics/c99_functions.c | 2 ++ 2 files changed, 8 insertions(+) diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index de81b000ad93..9c0561b04c34 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2005-02-21 Eric Botcazou + + PR libfortran/19302 + * intrinsics/c99_functions.c (nextafterf): Special-case infinite + numbers. + 2005-02-21 Steven G. Kargl * io/write.c (output_float): Typo in error meesage. diff --git a/libgfortran/intrinsics/c99_functions.c b/libgfortran/intrinsics/c99_functions.c index 7dd95918dcd0..f7dc9777dd83 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;