From 42fdda5e1ca50361e96ae223bcce0b85af5a8cf8 Mon Sep 17 00:00:00 2001 From: Juan Jose Garcia Ripoll Date: Wed, 20 May 2009 19:29:16 +0200 Subject: [PATCH] Whenever isfinite is not defined, use finite(). Additionally, in Solaris, load ieefp.h before using this macro. --- src/c/num_co.d | 5 +---- src/c/num_sfun.d | 5 +---- src/c/number.d | 5 +---- src/c/predicate.d | 2 +- src/c/print.d | 5 +---- src/c/read.d | 5 +---- src/c/threads.d | 2 +- src/c/time.d | 5 +---- src/h/config.h.in | 16 +++++++++++----- 9 files changed, 19 insertions(+), 31 deletions(-) diff --git a/src/c/num_co.d b/src/c/num_co.d index d61c9363a..b5178904a 100644 --- a/src/c/num_co.d +++ b/src/c/num_co.d @@ -22,12 +22,9 @@ that know the representation of floating-point numbers. */ +#define ECL_INCLUDE_MATH_H #include #include -#include -#ifdef _MSC_VER -# undef complex -#endif #ifndef HAVE_ISOC99 # define floorf floor # define ceilf ceil diff --git a/src/c/num_sfun.d b/src/c/num_sfun.d index 13dffd78b..7e575aab6 100644 --- a/src/c/num_sfun.d +++ b/src/c/num_sfun.d @@ -15,11 +15,8 @@ See file '../Copyright' for full details. */ +#define ECL_INCLUDE_MATH_H #include -#include -#ifdef _MSC_VER -# undef complex -#endif #include "ecl/internal.h" #ifndef HAVE_LOG1P diff --git a/src/c/number.d b/src/c/number.d index 1def11cae..84be4a1f6 100644 --- a/src/c/number.d +++ b/src/c/number.d @@ -15,12 +15,9 @@ See file '../Copyright' for full details. */ +#define ECL_INCLUDE_MATH_H #include #include -#include -#ifdef _MSC_VER -# undef complex -#endif #include cl_fixnum diff --git a/src/c/predicate.d b/src/c/predicate.d index 82fa85c99..f6770e632 100644 --- a/src/c/predicate.d +++ b/src/c/predicate.d @@ -15,8 +15,8 @@ See file '../Copyright' for full details. */ +#define ECL_INCLUDE_MATH_H #include -#include cl_object cl_identity(cl_object x) diff --git a/src/c/print.d b/src/c/print.d index 936c7e5fc..fe989111c 100644 --- a/src/c/print.d +++ b/src/c/print.d @@ -15,15 +15,12 @@ See file '../Copyright' for full details. */ +#define ECL_INCLUDE_MATH_H #include #include #include #include #include -#include -#ifdef _MSC_VER -# undef complex -#endif #ifndef _MSC_VER #include #endif diff --git a/src/c/read.d b/src/c/read.d index 2ad26d237..ac158bf32 100644 --- a/src/c/read.d +++ b/src/c/read.d @@ -15,14 +15,11 @@ See file '../Copyright' for full details. */ +#define ECL_INCLUDE_MATH_H #include #include #include #include -#include -#ifdef _MSC_VER -# undef complex -#endif #include #include #include diff --git a/src/c/threads.d b/src/c/threads.d index f2334a261..01ae6fad4 100644 --- a/src/c/threads.d +++ b/src/c/threads.d @@ -20,10 +20,10 @@ # include #endif #include -#include #include #include #define GC_THREADS +#define ECL_INCLUDE_MATH_H #include #include #ifdef HAVE_GETTIMEOFDAY diff --git a/src/c/time.d b/src/c/time.d index 20aa3a65e..5f95aaec7 100644 --- a/src/c/time.d +++ b/src/c/time.d @@ -15,11 +15,8 @@ See file '../Copyright' for full details. */ +#define ECL_INCLUDE_MATH_H #include -#include -#ifdef _MSC_VER -# undef complex -#endif #include #ifdef HAVE_TIMES # include diff --git a/src/h/config.h.in b/src/h/config.h.in index afbf1728b..ae7c0b222 100644 --- a/src/h/config.h.in +++ b/src/h/config.h.in @@ -410,9 +410,15 @@ typedef unsigned @CL_FIXNUM_TYPE@ cl_hashkey; # endif #endif -#if defined(mingw32) || defined(_MSC_VER) || defined(cygwin) || defined(sparc) -# include -# ifndef isfinite -# define isfinite(x) (finite(x)) -# endif +#ifdef ECL_INCLUDE_MATH_H +#include +#ifdef _MSC_VER +# undef complex #endif +#ifndef isfinite +# ifdef __sun +# include +# endif +# define isfinite(x) finite(x) +#endif +#endif \ No newline at end of file