In Solaris, do not define isfinite = finite if we are using long doubles, because the later only works for doubles. Instead force gcc to used gnu99 mode.

This commit is contained in:
Juan Jose Garcia Ripoll 2010-12-19 17:15:53 +01:00
parent 110a15dec8
commit c8c4c79255
3 changed files with 10 additions and 4 deletions

2
src/aclocal.m4 vendored
View file

@ -330,7 +330,7 @@ case "${host_os}" in
clibs='-ldl'
# We should use C99 and _XOPEN_SOURCE=600, but Solaris 10
# ships with GCC 3.4.3 which does not support C99
# CFLAGS="${CFLAGS} -std=gnu99"
CFLAGS="${CFLAGS} -std=gnu99"
enable_slow_config=yes
;;
cygwin*)

2
src/configure vendored
View file

@ -4837,7 +4837,7 @@ case "${host_os}" in
clibs='-ldl'
# We should use C99 and _XOPEN_SOURCE=600, but Solaris 10
# ships with GCC 3.4.3 which does not support C99
# CFLAGS="${CFLAGS} -std=gnu99"
CFLAGS="${CFLAGS} -std=gnu99"
enable_slow_config=yes
;;
cygwin*)

View file

@ -486,9 +486,15 @@ typedef unsigned @CL_FIXNUM_TYPE@ cl_hashkey;
# endif
# ifndef isfinite
# ifdef __sun
# include <ieeefp.h>
# ifndef ECL_LONG_FLOAT
# include <ieeefp.h>
# define isfinite(x) finite(x)
# else
# error "Function isfinite() is missing"
# endif
# else
# define isfinite(x) finite(x)
# endif
# define isfinite(x) finite(x)
# endif
# ifndef signbit
# ifndef ECL_SIGNED_ZERO