diff --git a/ChangeLog b/ChangeLog index 2f8109c840..c787135999 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Sun Jan 1 15:28:46 2006 Tanaka Akira + + * missing.h (isnan): avoid macro expantion + "extern int isinf(double);" to + "extern int ((sizeof(double)==sizeof(float))?_Isinff(double):_Isinf(double));" on + HP-UX. + Sun Jan 1 14:42:54 2006 Hirokazu Yamamoto * win32/win32.c (rb_w32_seekdir): should not segfault even if passed diff --git a/missing.h b/missing.h index 5b4dcc2747..1b9ca2e20b 100644 --- a/missing.h +++ b/missing.h @@ -62,11 +62,13 @@ extern double erf(double); extern double erfc(double); #endif -#ifndef HAVE_ISINF -# if defined(HAVE_FINITE) && defined(HAVE_ISNAN) -# define isinf(x) (!finite(x) && !isnan(x)) -# else +#ifndef isinf +# ifndef HAVE_ISINF +# if defined(HAVE_FINITE) && defined(HAVE_ISNAN) +# define isinf(x) (!finite(x) && !isnan(x)) +# else extern int isinf(double); +# endif # endif #endif