2009-04-16 Ken Werner <ken.werner@de.ibm.com>

* libm/libm.texinfo: Add long double function support chapter.
        * libc/include/machine/ieeefp.h: Add _LDBL_EQ_DBL define.
        * libc/include/stdlib.h: Include <machine/ieeefp.h>.
        (strtold, wcstold): Declare.
        * libc/stdlib/strtold.c: New File.
        * libc/stdlib/wcstold.c: Likewise.
        * libc/configure.in: Add long double check.
        * libc/configure: Regenerate.
        * libc/stdlib/Makefile.am: Add strtold.c and wcstold.c.
        * libc/stdlib/Makefile.in: Regenerate.
        * libc/include/math.h (atanl, cosl, sinl, tanl, tanhl): Declare.
        (frexpl, modfl, ceill, fabsl, floorl, log1pl, expm1l, acosl): Ditto.
        (asinl, atan2l, coshl, sinhl, expl, ldexpl, logl, log10l, powl): Ditto.
        (sqrtl, fmodl, hypotl, copysignl, nanl, ilogbl, asinhl, cbrt): Ditto.
        (nextafterl, rintl, scalbnl, exp2l, scalblnl, tgammal): Ditto.
        (nearbyintl, lrintl, llrintl, roundl, lroundl, llround): Ditto.
        (llroundl, truncl, remquol, fdiml, fmaxl, fminl, fmal, acoshl): Ditto.
        (atanhl, remainderl, lgammal, erfl, erfcl): Ditto.
        * libm/common/atanl.c: New File.
        * libm/common/cosl.c: Likewise.
        * libm/common/sinl.c: Likewise.
        * libm/common/modfl.c: Likewise.
        * libm/common/frexpl.c: Likewise.
        * libm/common/tanhl.c: Likewise.
        * libm/common/tanl.c: Likewise.
        * libm/common/expm1l.c: Likewise.
        * libm/common/log1pl.c: Likewise.
        * libm/common/ceill.c: Likewise.
        * libm/common/fabsl.c: Likewise.
        * libm/common/floorl.c: Likewise.
        * libm/common/acosl.c: Likewise.
        * libm/common/asinl.c: Likewise.
        * libm/common/atan2l.c: Likewise.
        * libm/common/coshl.c: Likewise.
        * libm/common/expl.c: Likewise.
        * libm/common/fmodl.c: Likewise.
        * libm/common/hypotl.c: Likewise.
        * libm/common/ldexpl.c: Likewise.
        * libm/common/log10l.c: Likewise.
        * libm/common/logl.c: Likewise.
        * libm/common/powl.c: Likewise.
        * libm/common/sqrtl.c: Likewise.
        * libm/common/copysignl.c: Likewise.
        * libm/common/ilogbl.c: Likewise.
        * libm/common/nanl.c: Likewise.
        * libm/common/cbrtl.c: Likewise.
        * libm/common/asinhl.c: Likewise.
        * libm/common/nextafterl.c: Likewise.
        * libm/common/rintl.c: Likewise.
        * libm/common/scalbnl.c: Likewise.
        * libm/common/exp2l.c: Likewise.
        * libm/common/fdiml.c: Likewise.
        * libm/common/fmal.c: Likewise.
        * libm/common/fmaxl.c: Likewise.
        * libm/common/fminl.c: Likewise.
        * libm/common/lrintl.c: Likewise.
        * libm/common/lroundl.c: Likewise.
        * libm/common/nearbyintl.c: Likewise.
        * libm/common/remquol.c: Likewise.
        * libm/common/roundl.c: Likewise.
        * libm/common/scalblnl.c: Likewise.
        * libm/common/truncl.c: Likewise.
        * libm/common/acoshl.c: Likewise.
        * libm/common/atanhl.c: Likewise.
        * libm/common/erfcl.c: Likewise.
        * libm/common/erfl.c: Likewise.
        * libm/common/lgammal.c: Likewise.
        * libm/common/remainderl.c: Likewise.
        * libm/common/tgammal.c: Likewise.
        * libm/common/sinhl.c: Likewise.
        * libm/common/llroundl.c: Likewise.
        * libm/configure.in: Add long double check.
        * libm/configure: Regenerate.
        * libm/common/Makefile.am: Add new files.
        * libm/common/Makefile.in: Regenerate.
This commit is contained in:
Jeff Johnston
2009-04-16 18:24:35 +00:00
parent 47d39ee0b6
commit 65f414dc16
68 changed files with 4141 additions and 1183 deletions

75
newlib/libc/configure vendored
View File

@ -459,7 +459,7 @@ ac_includes_default="\
#endif"
ac_subdirs_all="$ac_subdirs_all machine sys"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS MAY_SUPPLY_SYSCALLS_TRUE MAY_SUPPLY_SYSCALLS_FALSE newlib_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB READELF ac_ct_READELF MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CCAS CCASFLAGS NEWLIB_CFLAGS LDFLAGS ELIX_LEVEL_0_TRUE ELIX_LEVEL_0_FALSE ELIX_LEVEL_1_TRUE ELIX_LEVEL_1_FALSE ELIX_LEVEL_2_TRUE ELIX_LEVEL_2_FALSE ELIX_LEVEL_3_TRUE ELIX_LEVEL_3_FALSE ELIX_LEVEL_4_TRUE ELIX_LEVEL_4_FALSE USE_LIBTOOL_TRUE USE_LIBTOOL_FALSE OBJEXT oext aext lpfx libm_machine_dir machine_dir sys_dir SED DLLTOOL ac_ct_DLLTOOL OBJDUMP ac_ct_OBJDUMP LIBTOOL CFLAGS CPPFLAGS ac_ct_CC EXEEXT EGREP FGREP GREP LD DUMPBIN ac_ct_DUMPBIN NM LN_S lt_ECHO DSYMUTIL ac_ct_DSYMUTIL NMEDIT ac_ct_NMEDIT LIPO ac_ct_LIPO OTOOL ac_ct_OTOOL OTOOL64 ac_ct_OTOOL64 CPP subdirs CRT0 LIBC_POSIX_LIB HAVE_POSIX_DIR_TRUE HAVE_POSIX_DIR_FALSE LIBC_SIGNAL_LIB LIBC_SIGNAL_DEF HAVE_SIGNAL_DIR_TRUE HAVE_SIGNAL_DIR_FALSE LIBC_STDIO_LIB LIBC_STDIO_DEF HAVE_STDIO_DIR_TRUE HAVE_STDIO_DIR_FALSE LIBC_STDIO64_LIB LIBC_STDIO64_DEF HAVE_STDIO64_DIR_TRUE HAVE_STDIO64_DIR_FALSE LIBC_SYSCALL_LIB HAVE_SYSCALL_DIR_TRUE HAVE_SYSCALL_DIR_FALSE LIBC_UNIX_LIB HAVE_UNIX_DIR_TRUE HAVE_UNIX_DIR_FALSE LIBC_EXTRA_LIB LIBC_EXTRA_DEF extra_dir LIBC_SYS_LIB ENABLE_NEWLIB_ICONV_TRUE ENABLE_NEWLIB_ICONV_FALSE LIBC_MACHINE_LIB LIBOBJS LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS MAY_SUPPLY_SYSCALLS_TRUE MAY_SUPPLY_SYSCALLS_FALSE newlib_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB READELF ac_ct_READELF MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CCAS CCASFLAGS NEWLIB_CFLAGS LDFLAGS ELIX_LEVEL_0_TRUE ELIX_LEVEL_0_FALSE ELIX_LEVEL_1_TRUE ELIX_LEVEL_1_FALSE ELIX_LEVEL_2_TRUE ELIX_LEVEL_2_FALSE ELIX_LEVEL_3_TRUE ELIX_LEVEL_3_FALSE ELIX_LEVEL_4_TRUE ELIX_LEVEL_4_FALSE USE_LIBTOOL_TRUE USE_LIBTOOL_FALSE OBJEXT oext aext lpfx libm_machine_dir machine_dir sys_dir SED DLLTOOL ac_ct_DLLTOOL OBJDUMP ac_ct_OBJDUMP LIBTOOL CFLAGS CPPFLAGS ac_ct_CC EXEEXT EGREP FGREP GREP LD DUMPBIN ac_ct_DUMPBIN NM LN_S lt_ECHO DSYMUTIL ac_ct_DSYMUTIL NMEDIT ac_ct_NMEDIT LIPO ac_ct_LIPO OTOOL ac_ct_OTOOL OTOOL64 ac_ct_OTOOL64 CPP subdirs CRT0 LIBC_POSIX_LIB HAVE_POSIX_DIR_TRUE HAVE_POSIX_DIR_FALSE LIBC_SIGNAL_LIB LIBC_SIGNAL_DEF HAVE_SIGNAL_DIR_TRUE HAVE_SIGNAL_DIR_FALSE LIBC_STDIO_LIB LIBC_STDIO_DEF HAVE_STDIO_DIR_TRUE HAVE_STDIO_DIR_FALSE LIBC_STDIO64_LIB LIBC_STDIO64_DEF HAVE_STDIO64_DIR_TRUE HAVE_STDIO64_DIR_FALSE LIBC_SYSCALL_LIB HAVE_SYSCALL_DIR_TRUE HAVE_SYSCALL_DIR_FALSE LIBC_UNIX_LIB HAVE_UNIX_DIR_TRUE HAVE_UNIX_DIR_FALSE LIBC_EXTRA_LIB LIBC_EXTRA_DEF extra_dir LIBC_SYS_LIB ENABLE_NEWLIB_ICONV_TRUE ENABLE_NEWLIB_ICONV_FALSE HAVE_LONG_DOUBLE_TRUE HAVE_LONG_DOUBLE_FALSE LIBC_MACHINE_LIB LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@ -11516,6 +11516,70 @@ else
fi
echo "$as_me:$LINENO: checking Checking long double support" >&5
echo $ECHO_N "checking Checking long double support... $ECHO_C" >&6
if test "${acnewlib_cv_type_long_double+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
long double foo = 0.0L;
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
acnewlib_cv_type_long_double = yes;
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
acnewlib_cv_type_long_double = no;
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $acnewlib_cv_type_long_double" >&5
echo "${ECHO_T}$acnewlib_cv_type_long_double" >&6
if test x"$acnewlib_cv_type_long_double" = x"yes"; then
HAVE_LONG_DOUBLE_TRUE=
HAVE_LONG_DOUBLE_FALSE='#'
else
HAVE_LONG_DOUBLE_TRUE='#'
HAVE_LONG_DOUBLE_FALSE=
fi
if test -n "${machine_dir}"; then
if test "${use_libtool}" = "yes"; then
LIBC_MACHINE_LIB=machine/${machine_dir}/lib${machine_dir}.${aext}
@ -11776,6 +11840,13 @@ echo "$as_me: error: conditional \"ENABLE_NEWLIB_ICONV\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${HAVE_LONG_DOUBLE_TRUE}" && test -z "${HAVE_LONG_DOUBLE_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"HAVE_LONG_DOUBLE\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
echo "$as_me: error: conditional \"HAVE_LONG_DOUBLE\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
: ${CONFIG_STATUS=./config.status}
ac_clean_files_save=$ac_clean_files
@ -12715,6 +12786,8 @@ s,@extra_dir@,$extra_dir,;t t
s,@LIBC_SYS_LIB@,$LIBC_SYS_LIB,;t t
s,@ENABLE_NEWLIB_ICONV_TRUE@,$ENABLE_NEWLIB_ICONV_TRUE,;t t
s,@ENABLE_NEWLIB_ICONV_FALSE@,$ENABLE_NEWLIB_ICONV_FALSE,;t t
s,@HAVE_LONG_DOUBLE_TRUE@,$HAVE_LONG_DOUBLE_TRUE,;t t
s,@HAVE_LONG_DOUBLE_FALSE@,$HAVE_LONG_DOUBLE_FALSE,;t t
s,@LIBC_MACHINE_LIB@,$LIBC_MACHINE_LIB,;t t
s,@LIBOBJS@,$LIBOBJS,;t t
s,@LTLIBOBJS@,$LTLIBOBJS,;t t