libgfortran.h: When isfinite is not provided by the system...

* 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
This commit is contained in:
Francois-Xavier Coudert 2005-08-03 22:00:00 +02:00 committed by François-Xavier Coudert
parent 1d4def65c8
commit 06b23b9287
2 changed files with 8 additions and 8 deletions

View File

@ -1,3 +1,9 @@
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

View File

@ -179,17 +179,11 @@ typedef off_t gfc_offset;
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. */