The definition of signbit in GCC/Opensolaris does not work with -O2.

This commit is contained in:
Juan Jose Garcia Ripoll 2010-12-19 19:58:11 +01:00
parent c8c4c79255
commit 11098e6047

View file

@ -485,7 +485,7 @@ typedef unsigned @CL_FIXNUM_TYPE@ cl_hashkey;
# define signbit(x) (copysign(1.0,(x)))
# endif
# ifndef isfinite
# ifdef __sun
# ifdef __sun__
# ifndef ECL_LONG_FLOAT
# include <ieeefp.h>
# define isfinite(x) finite(x)
@ -510,6 +510,14 @@ typedef unsigned @CL_FIXNUM_TYPE@ cl_hashkey;
# endif
# endif
# endif
/*
* GCC fails to compile the following code
* if (f == 0.0) { if (signbit(f)) ... }
*/
# if defined(__sun__) && defined(__GNUC__)
# undef signbit
# define signbit(x) (copysign(1.0,(x)) < 0)
# endif
#endif
#if defined(HAVE_LIBFFI) && defined(ECL_INCLUDE_FFI_H)