Several float specializations break the program in Linux/AMD64

This commit is contained in:
jgarcia 2006-10-13 20:49:31 +00:00
parent d0fd3b06fb
commit 78bc4567f3
4 changed files with 7 additions and 3 deletions

4
src/aclocal.m4 vendored
View file

@ -194,7 +194,7 @@ case "${host_os}" in
BUNDLE_LDFLAGS="-shared ${LDFLAGS}"
LDRPATH='-Wl,--rpath,~A'
clibs="-ldl"
# Maybe CFLAGS="-D_ISOC99_SOURCE ${CFLAGS}" ???
CFLAGS="-D_GNU_SOURCE ${CFLAGS}"
;;
kfreebsd*-gnu)
thehost='kfreebsd'
@ -204,7 +204,7 @@ case "${host_os}" in
BUNDLE_LDFLAGS="-shared ${LDFLAGS}"
LDRPATH='-Wl,--rpath,/usr/lib/ecl/'
clibs="-ldl"
# Maybe CFLAGS="-D_ISOC99_SOURCE ${CFLAGS}" ???
CFLAGS="-D_GNU_SOURCE ${CFLAGS}"
;;
freebsd*)
thehost='freebsd'

View file

@ -186,7 +186,7 @@ cl_log1(cl_object x)
case t_fixnum:
case t_bignum:
case t_ratio:
return1(make_singlefloat(logf(number_to_double(x))));
return1(make_singlefloat(log(number_to_double(x))));
#ifdef ECL_SHORT_FLOAT
case t_shortfloat:
return1(make_shortfloat(logf(ecl_short_float(x))));

View file

@ -224,6 +224,7 @@ typedef unsigned @CL_FIXNUM_TYPE@ cl_hashkey;
/* the tzset() function gets the current time zone */
#undef HAVE_TZSET
/* several floating point functions (ISO C99) */
#if 0
#undef HAVE_EXPF
#undef HAVE_LOGF
#undef HAVE_SQRTF
@ -233,6 +234,7 @@ typedef unsigned @CL_FIXNUM_TYPE@ cl_hashkey;
#undef HAVE_SINHF
#undef HAVE_COSHF
#undef HAVE_TANHF
#endif
#undef HAVE_FLOORF
#undef HAVE_CEILF
#undef HAVE_FABSF

View file

@ -252,6 +252,8 @@ extern cl_object si_get_library_pathname(void);
/*
* Fake several ISO C99 mathematical functions
*/
#define _GNU_SOURCE
#ifndef HAVE_EXPF
# define expf(x) exp((float)x)
#endif