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:
		| @@ -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> | ||||
|  | ||||
| 	* libc/include/stdint.h (UINTPTR_MAX): Define to __UINTPTR_MAX__ | ||||
|   | ||||
							
								
								
									
										37
									
								
								newlib/configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										37
									
								
								newlib/configure
									
									
									
									
										vendored
									
									
								
							| @@ -11900,6 +11900,43 @@ if test $libc_cv_initfinit_array = yes; then | ||||
| #define HAVE_INITFINI_ARRAY 1 | ||||
| _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 | ||||
|  | ||||
|           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) | ||||
| 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], | ||||
| [if test -n "$CONFIG_FILES"; then | ||||
|   unset ac_file | ||||
|   | ||||
| @@ -334,8 +334,8 @@ extern float log2f _PARAMS((float)); | ||||
| extern float hypotf _PARAMS((float, float)); | ||||
| #endif /* ! defined (_REENT_ONLY) */ | ||||
|  | ||||
| /* On platforms where long double math functions are supported.  */ | ||||
| #ifdef _HAVE_LDBL_MATH | ||||
| /* On platforms where long double equals double.  */ | ||||
| #ifdef _LDBL_EQ_DBL | ||||
| /* Reentrant ANSI C functions.  */ | ||||
| #ifndef __math_68881 | ||||
| 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 erfcl _PARAMS((long double)); | ||||
| #endif /* ! defined (_REENT_ONLY) */ | ||||
| #else /* !_HAVE_LDBL_MATH */ | ||||
| #else /* !_LDBL_EQ_DBL */ | ||||
| #ifdef __i386__ | ||||
| /* Other long double precision functions.  */ | ||||
| extern _LONG_DOUBLE rintl _PARAMS((_LONG_DOUBLE)); | ||||
| extern long int lrintl _PARAMS((_LONG_DOUBLE)); | ||||
| extern _LONG_LONG_TYPE llrintl _PARAMS((_LONG_DOUBLE)); | ||||
| #endif /* __i386__ */ | ||||
| #endif /* !_HAVE_LDBL_MATH */ | ||||
| #endif /* !_LDBL_EQ_DBL */ | ||||
|  | ||||
| #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 *)); | ||||
|  | ||||
| /* On platforms where long double stdlib functions are supported.  */ | ||||
| #ifdef _HAVE_LDBL_STDLIB | ||||
| /* On platforms where long double equals double.  */ | ||||
| #ifdef _LDBL_EQ_DBL | ||||
| extern long double strtold (const char *, char **); | ||||
| extern long double wcstold (const wchar_t *, wchar_t **); | ||||
| #endif /* _HAVE_LDBL_STDLIB */ | ||||
| #endif /* _LDBL_EQ_DBL */ | ||||
|  | ||||
| _END_STD_C | ||||
|  | ||||
|   | ||||
| @@ -63,13 +63,4 @@ int __iso_8859_index (const char *); | ||||
| extern wchar_t __cp_conv[12][0x80]; | ||||
| 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 | ||||
|   | ||||
| @@ -1,9 +1 @@ | ||||
| #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 | ||||
| /* placeholder for future usage.  */ | ||||
|   | ||||
| @@ -46,6 +46,9 @@ | ||||
|    functions.  */ | ||||
| #undef  _ATEXIT_DYNAMIC_ALLOC | ||||
|  | ||||
| /* True if long double supported and it is equal to double.  */ | ||||
| #undef  _LDBL_EQ_DBL | ||||
|  | ||||
| /* | ||||
|  * Iconv encodings enabled ("to" direction) | ||||
|  */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user