diff options
| -rw-r--r-- | libgfortran/ChangeLog | 5 | ||||
| -rw-r--r-- | libgfortran/intrinsics/c99_functions.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 0502439..f0e7d8d 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,8 @@ +2004-06-14 Bud Davis <bdavis9659@comcast.net> + + PR gfortran/15292 + * intrinsics/c99_functions.c: Use fpclassify if it exists. + 2004-06-13 Paul Brook <paul@codesourcery.com> * Makefile.am (gfor_helper_src): Add runtime/normalize.f90. diff --git a/libgfortran/intrinsics/c99_functions.c b/libgfortran/intrinsics/c99_functions.c index 9328387..69b6c3e 100644 --- a/libgfortran/intrinsics/c99_functions.c +++ b/libgfortran/intrinsics/c99_functions.c @@ -24,6 +24,8 @@ Boston, MA 02111-1307, USA. */ #include "libgfortran.h" +/* Note that if HAVE_FPCLASSIFY is not defined, then NaN is not handled */ + /* Algorithm by Steven G. Kargl. */ #ifndef HAVE_ROUND @@ -34,11 +36,12 @@ double round(double x) { double t; +#ifdef HAVE_FPCLASSIFY int i; - i = fpclassify(x); if (i == FP_INFINITE || i == FP_NAN) return (x); +#endif if (x >= 0.0) { @@ -65,11 +68,13 @@ float roundf(float x) { float t; +#ifdef HAVE_FPCLASSIFY int i; i = fpclassify(x); if (i == FP_INFINITE || i == FP_NAN) return (x); +#endif if (x >= 0.0) { |
