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

Steven Bosscher stevenb@suse.de
Tue Feb 1 09:07:00 GMT 2005


On Tuesday 01 February 2005 07:42, Paul Thomas wrote:
> Regtested Cygwin_NT-5.2 and RH9.
>
> PR libfortran/19363 and 19691
> * libgfortran.h : workaround for broken isfinite(x) in Cygwin

Commited as below.  Thanks!

Gr.
Steven


Index: ChangeLog
===================================================================
RCS file: /cvs/gcc/gcc/libgfortran/ChangeLog,v
retrieving revision 1.156
diff -u -3 -p -r1.156 ChangeLog
--- ChangeLog   30 Jan 2005 13:16:18 -0000      1.156
+++ ChangeLog   1 Feb 2005 09:05:46 -0000
@@ -1,3 +1,9 @@
+2005-02-01  Paul Thomas <paulthomas2@wanadoo.fr>
+
+       PR libgfortran/19363
+       PR libgfortran/19691
+       * libgfortran.h (isfinite): Work around broken isfinite(x) in Cygwin.
+
 2005-01-30  Bud Davis  <bdavis@gfortran.org>

        PR fortran/19647
Index: libgfortran.h
===================================================================
RCS file: /cvs/gcc/gcc/libgfortran/libgfortran.h,v
retrieving revision 1.22
diff -u -3 -p -r1.22 libgfortran.h
--- libgfortran.h       23 Jan 2005 00:14:27 -0000      1.22
+++ libgfortran.h       1 Feb 2005 09:05:46 -0000
@@ -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)
 {



More information about the Fortran mailing list