* libgfortran.h: When isfinite is not provided by the system,
define it as a macro, so that it can accept any floating point
type.
From-SVN: r102707
+2005-08-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * libgfortran.h: When isfinite is not provided by the system,
+ define it as a macro, so that it can accept any floating point
+ type.
+
2005-08-01 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR libfortran/23178
alternatives, or bail out. */
#if (!defined(isfinite) || defined(__CYGWIN__))
#undef isfinite
-static inline int
-isfinite (double x)
-{
#if defined(fpclassify)
- return (fpclassify(x) != FP_NAN && fpclassify(x) != FP_INFINITE);
-#elif defined(HAVE_FINITE)
- return finite (x);
+#define isfinite(x) (fpclassify(x) != FP_NAN && fpclassify(x) != FP_INFINITE)
#else
-#error "libgfortran needs isfinite, fpclassify, or finite"
+#define isfinite(x) ((x) - (x) == 0)
#endif
-}
#endif /* !defined(isfinite) */
/* TODO: find the C99 version of these an move into above ifdef. */