2009-04-24 Jeff johnston <jjohnstn@redhat.com>
* configure.in: Add configuration test for long double equals dbl and set flag _LDBL_EQ_DBL if true. * configure: Regenerated. * newlib.hin: Add _LDBL_EQ_DBL flag. * libc/include/math.h: Use _LDBL_EQ_DBL flag instead of _HAVE_LDBL_MATH. * libc/include/stdlib.h: Use _LDBL_EQ_DBL flag instead of _HAVE_LDBL_STDLIB. * libc/common/local.h: Remove _LDBL_EQ_DBL flag setting. * libc/stdlib/local.h: Ditto.
This commit is contained in:
parent
de19487224
commit
35f31b6a98
|
@ -1,3 +1,16 @@
|
||||||
|
2009-04-24 Jeff johnston <jjohnstn@redhat.com>
|
||||||
|
|
||||||
|
* configure.in: Add configuration test for long double equals dbl
|
||||||
|
and set flag _LDBL_EQ_DBL if true.
|
||||||
|
* configure: Regenerated.
|
||||||
|
* newlib.hin: Add _LDBL_EQ_DBL flag.
|
||||||
|
* libc/include/math.h: Use _LDBL_EQ_DBL flag instead of
|
||||||
|
_HAVE_LDBL_MATH.
|
||||||
|
* libc/include/stdlib.h: Use _LDBL_EQ_DBL flag instead of
|
||||||
|
_HAVE_LDBL_STDLIB.
|
||||||
|
* libc/common/local.h: Remove _LDBL_EQ_DBL flag setting.
|
||||||
|
* libc/stdlib/local.h: Ditto.
|
||||||
|
|
||||||
2009-04-24 Joseph Myers <joseph@codesourcery.com>
|
2009-04-24 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
* libc/include/stdint.h (UINTPTR_MAX): Define to __UINTPTR_MAX__
|
* libc/include/stdint.h (UINTPTR_MAX): Define to __UINTPTR_MAX__
|
||||||
|
|
|
@ -11900,6 +11900,43 @@ if test $libc_cv_initfinit_array = yes; then
|
||||||
#define HAVE_INITFINI_ARRAY 1
|
#define HAVE_INITFINI_ARRAY 1
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$as_me:$LINENO: checking long double equals double" >&5
|
||||||
|
echo $ECHO_N "checking long double equals double... $ECHO_C" >&6
|
||||||
|
if test "${newlib_ldbl_eq_dbl+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
else
|
||||||
|
cat > conftest.c <<EOF
|
||||||
|
#include <float.h>
|
||||||
|
#if DBL_MANT_DIG == LDBL_MANT_DIG && LDBL_MIN_EXP == DBL_MIN_EXP && \
|
||||||
|
LDBL_MAX_EXP == DBL_MAX_EXP
|
||||||
|
#define _LDBL_EQ_DBL
|
||||||
|
#else
|
||||||
|
#error "LDBL != DBL"
|
||||||
|
#endif
|
||||||
|
EOF
|
||||||
|
if { ac_try='${CC} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
|
||||||
|
-static -nostartfiles -nostdlib 1>&5'
|
||||||
|
{ (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
|
||||||
|
newlib_ldbl_eq_dbl=yes;
|
||||||
|
else
|
||||||
|
newlib_ldbl_eq_dbl=no;
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
fi
|
||||||
|
echo "$as_me:$LINENO: result: $newlib_ldbl_eq_dbl" >&5
|
||||||
|
echo "${ECHO_T}$newlib_ldbl_eq_dbl" >&6
|
||||||
|
if test $newlib_ldbl_eq_dbl = yes; then
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define _LDBL_EQ_DBL 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ac_config_files="$ac_config_files Makefile"
|
ac_config_files="$ac_config_files Makefile"
|
||||||
|
|
|
@ -395,6 +395,29 @@ if test $libc_cv_initfinit_array = yes; then
|
||||||
AC_DEFINE_UNQUOTED(HAVE_INITFINI_ARRAY)
|
AC_DEFINE_UNQUOTED(HAVE_INITFINI_ARRAY)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
AC_CACHE_CHECK(long double equals double,
|
||||||
|
newlib_ldbl_eq_dbl, [dnl
|
||||||
|
cat > conftest.c <<EOF
|
||||||
|
#include <float.h>
|
||||||
|
#if DBL_MANT_DIG == LDBL_MANT_DIG && LDBL_MIN_EXP == DBL_MIN_EXP && \
|
||||||
|
LDBL_MAX_EXP == DBL_MAX_EXP
|
||||||
|
#define _LDBL_EQ_DBL
|
||||||
|
#else
|
||||||
|
#error "LDBL != DBL"
|
||||||
|
#endif
|
||||||
|
EOF
|
||||||
|
if AC_TRY_COMMAND([${CC} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
|
||||||
|
-static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
|
||||||
|
then
|
||||||
|
newlib_ldbl_eq_dbl=yes;
|
||||||
|
else
|
||||||
|
newlib_ldbl_eq_dbl=no;
|
||||||
|
fi
|
||||||
|
rm -f conftest*])
|
||||||
|
if test $newlib_ldbl_eq_dbl = yes; then
|
||||||
|
AC_DEFINE_UNQUOTED(_LDBL_EQ_DBL)
|
||||||
|
fi
|
||||||
|
|
||||||
AC_CONFIG_FILES([Makefile],
|
AC_CONFIG_FILES([Makefile],
|
||||||
[if test -n "$CONFIG_FILES"; then
|
[if test -n "$CONFIG_FILES"; then
|
||||||
unset ac_file
|
unset ac_file
|
||||||
|
|
|
@ -334,8 +334,8 @@ extern float log2f _PARAMS((float));
|
||||||
extern float hypotf _PARAMS((float, float));
|
extern float hypotf _PARAMS((float, float));
|
||||||
#endif /* ! defined (_REENT_ONLY) */
|
#endif /* ! defined (_REENT_ONLY) */
|
||||||
|
|
||||||
/* On platforms where long double math functions are supported. */
|
/* On platforms where long double equals double. */
|
||||||
#ifdef _HAVE_LDBL_MATH
|
#ifdef _LDBL_EQ_DBL
|
||||||
/* Reentrant ANSI C functions. */
|
/* Reentrant ANSI C functions. */
|
||||||
#ifndef __math_68881
|
#ifndef __math_68881
|
||||||
extern long double atanl _PARAMS((long double));
|
extern long double atanl _PARAMS((long double));
|
||||||
|
@ -400,14 +400,14 @@ extern long double lgammal _PARAMS((long double));
|
||||||
extern long double erfl _PARAMS((long double));
|
extern long double erfl _PARAMS((long double));
|
||||||
extern long double erfcl _PARAMS((long double));
|
extern long double erfcl _PARAMS((long double));
|
||||||
#endif /* ! defined (_REENT_ONLY) */
|
#endif /* ! defined (_REENT_ONLY) */
|
||||||
#else /* !_HAVE_LDBL_MATH */
|
#else /* !_LDBL_EQ_DBL */
|
||||||
#ifdef __i386__
|
#ifdef __i386__
|
||||||
/* Other long double precision functions. */
|
/* Other long double precision functions. */
|
||||||
extern _LONG_DOUBLE rintl _PARAMS((_LONG_DOUBLE));
|
extern _LONG_DOUBLE rintl _PARAMS((_LONG_DOUBLE));
|
||||||
extern long int lrintl _PARAMS((_LONG_DOUBLE));
|
extern long int lrintl _PARAMS((_LONG_DOUBLE));
|
||||||
extern _LONG_LONG_TYPE llrintl _PARAMS((_LONG_DOUBLE));
|
extern _LONG_LONG_TYPE llrintl _PARAMS((_LONG_DOUBLE));
|
||||||
#endif /* __i386__ */
|
#endif /* __i386__ */
|
||||||
#endif /* !_HAVE_LDBL_MATH */
|
#endif /* !_LDBL_EQ_DBL */
|
||||||
|
|
||||||
#endif /* !defined (__STRICT_ANSI__) || defined(__cplusplus) || __STDC_VERSION__ >= 199901L */
|
#endif /* !defined (__STRICT_ANSI__) || defined(__cplusplus) || __STDC_VERSION__ >= 199901L */
|
||||||
|
|
||||||
|
|
|
@ -199,11 +199,11 @@ int _EXFUN(_system_r,(struct _reent *, const char *));
|
||||||
|
|
||||||
_VOID _EXFUN(__eprintf,(const char *, const char *, unsigned int, const char *));
|
_VOID _EXFUN(__eprintf,(const char *, const char *, unsigned int, const char *));
|
||||||
|
|
||||||
/* On platforms where long double stdlib functions are supported. */
|
/* On platforms where long double equals double. */
|
||||||
#ifdef _HAVE_LDBL_STDLIB
|
#ifdef _LDBL_EQ_DBL
|
||||||
extern long double strtold (const char *, char **);
|
extern long double strtold (const char *, char **);
|
||||||
extern long double wcstold (const wchar_t *, wchar_t **);
|
extern long double wcstold (const wchar_t *, wchar_t **);
|
||||||
#endif /* _HAVE_LDBL_STDLIB */
|
#endif /* _LDBL_EQ_DBL */
|
||||||
|
|
||||||
_END_STD_C
|
_END_STD_C
|
||||||
|
|
||||||
|
|
|
@ -63,13 +63,4 @@ int __iso_8859_index (const char *);
|
||||||
extern wchar_t __cp_conv[12][0x80];
|
extern wchar_t __cp_conv[12][0x80];
|
||||||
int __cp_index (const char *);
|
int __cp_index (const char *);
|
||||||
|
|
||||||
#include <float.h>
|
|
||||||
|
|
||||||
/* Check if long double is as wide as double. */
|
|
||||||
#if (!defined(__STRICT_ANSI__) || __STDC_VERSION__ > 199901L || \
|
|
||||||
defined(__cplusplus)) && defined(LDBL_MANT_DIG) && \
|
|
||||||
(DBL_MANT_DIG == LDBL_MANT_DIG && LDBL_MIN_EXP == DBL_MIN_EXP && \
|
|
||||||
LDBL_MAX_EXP == DBL_MAX_EXP)
|
|
||||||
#define _LDBL_EQ_DBL
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,9 +1 @@
|
||||||
#include <float.h>
|
/* placeholder for future usage. */
|
||||||
|
|
||||||
/* Check if long double is as wide as double. */
|
|
||||||
#if (!defined(__STRICT_ANSI__) || __STDC_VERSION__ > 199901L || \
|
|
||||||
defined(__cplusplus)) && defined(LDBL_MANT_DIG) && \
|
|
||||||
(DBL_MANT_DIG == LDBL_MANT_DIG && LDBL_MIN_EXP == DBL_MIN_EXP && \
|
|
||||||
LDBL_MAX_EXP == DBL_MAX_EXP)
|
|
||||||
#define _LDBL_EQ_DBL
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -46,6 +46,9 @@
|
||||||
functions. */
|
functions. */
|
||||||
#undef _ATEXIT_DYNAMIC_ALLOC
|
#undef _ATEXIT_DYNAMIC_ALLOC
|
||||||
|
|
||||||
|
/* True if long double supported and it is equal to double. */
|
||||||
|
#undef _LDBL_EQ_DBL
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Iconv encodings enabled ("to" direction)
|
* Iconv encodings enabled ("to" direction)
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue