[patch,fortran] PRs 19363 and 19691, Cygwin failure in formatted write of Inf and NaN (revised)

Paul Thomas paulthomas2@wanadoo.fr
Tue Feb 1 06:42:00 GMT 2005


Regtested Cygwin_NT-5.2 and RH9.

PR libfortran/19363 and 19691
* libgfortran.h : workaround for broken isfinite(x) in Cygwin

$ diff -u -3 -p libgfortran.old.h 
/cygdrive/d/gcc-cvs/gcc/libgfortran/libgfortr
an.h
--- libgfortran.old.h   2005-02-01 06:54:22.000000000 +0100
+++ /cygdrive/d/gcc-cvs/gcc/libgfortran/libgfortran.h   2005-02-01 
06:50:00.0000
00000 +0100
@@ -172,8 +172,9 @@ 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
-   alternatives, or bail out. */
-#if !defined(isfinite)
+   alternatives, or bail out.   Also, isfinite is broken in Cygwin*/
+#if (!defined(isfinite)||defined(__CYGWIN__))
+#undef isfinite
 static inline int
 isfinite (double x)
 { 




More information about the Fortran mailing list