diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index d0aabea7681..e932ed1bf55 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2005-02-01 Paul Thomas + + PR libgfortran/19363 + PR libgfortran/19691 + * libgfortran.h (isfinite): Work around broken isfinite(x) in Cygwin. + 2005-01-30 Bud Davis PR fortran/19647 diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h index dfa2e409f4b..7dd6993809f 100644 --- a/libgfortran/libgfortran.h +++ b/libgfortran/libgfortran.h @@ -171,9 +171,14 @@ typedef off_t gfc_offset; /* The isfinite macro is only available with C99, but some non-C99 systems still provide fpclassify, and there is a `finite' function - in BSD. When isfinite is not available, try to use one of the + in BSD. + + Also, isfinite is broken on Cygwin. + + When isfinite is not available, try to use one of the alternatives, or bail out. */ -#if !defined(isfinite) +#if (!defined(isfinite) || defined(__CYGWIN__)) +#undef isfinite static inline int isfinite (double x) {