diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 17fb033c6f..b3dc41708b 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,11 @@ +2009-09-04 Ozkan Sezer + + PR target/39065 + * configure.ac: Replace AC_CHECK_TYPE() for intptr_t and uintptr_t + with AC_TYPE_INTPTR_T and AC_TYPE_UINTPTR_T. + * config.in: Regenerated. + * configure: Regenerated. + 2009-09-03 Ozkan Sezer PR target/39065 diff --git a/libiberty/config.in b/libiberty/config.in index e962769e6a..193164830c 100644 --- a/libiberty/config.in +++ b/libiberty/config.in @@ -121,6 +121,9 @@ /* Define to 1 if you have the `insque' function. */ #undef HAVE_INSQUE +/* Define to 1 if the system has the type `intptr_t'. */ +#undef HAVE_INTPTR_T + /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H @@ -457,13 +460,15 @@ #undef inline #endif -/* Define to `long' if does not define. */ +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ #undef intptr_t /* Define to `int' if does not define. */ #undef pid_t -/* Define to `unsigned long' if does not define. */ +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ #undef uintptr_t /* Define as `fork' if `vfork' does not work. */ diff --git a/libiberty/configure b/libiberty/configure index 9463f8f506..423e59b9b3 100755 --- a/libiberty/configure +++ b/libiberty/configure @@ -5046,29 +5046,6 @@ _ACEOF -ac_fn_c_check_type "$LINENO" "intptr_t" "ac_cv_type_intptr_t" "$ac_includes_default" -if test "x$ac_cv_type_intptr_t" = x""yes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define intptr_t long -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default" -if test "x$ac_cv_type_uintptr_t" = x""yes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define uintptr_t unsigned long -_ACEOF - -fi - - # Look for a 64-bit type. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a 64-bit type" >&5 $as_echo_n "checking for a 64-bit type... " >&6; } @@ -5148,6 +5125,78 @@ _ACEOF fi + + ac_fn_c_check_type "$LINENO" "intptr_t" "ac_cv_type_intptr_t" "$ac_includes_default" +if test "x$ac_cv_type_intptr_t" = x""yes; then : + +$as_echo "#define HAVE_INTPTR_T 1" >>confdefs.h + +else + for ac_type in 'int' 'long int' 'long long int'; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +cat >>confdefs.h <<_ACEOF +#define intptr_t $ac_type +_ACEOF + + ac_type= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test -z "$ac_type" && break + done +fi + + + + ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default" +if test "x$ac_cv_type_uintptr_t" = x""yes; then : + +$as_echo "#define HAVE_UINTPTR_T 1" >>confdefs.h + +else + for ac_type in 'unsigned int' 'unsigned long int' \ + 'unsigned long long int'; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +cat >>confdefs.h <<_ACEOF +#define uintptr_t $ac_type +_ACEOF + + ac_type= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + test -z "$ac_type" && break + done +fi + + + # Given the above check, we always have uintptr_t or a fallback # definition. So define HAVE_UINTPTR_T in case any imported code # relies on it. diff --git a/libiberty/configure.ac b/libiberty/configure.ac index c34fc10b81..00dd68dcef 100644 --- a/libiberty/configure.ac +++ b/libiberty/configure.ac @@ -254,9 +254,6 @@ libiberty_AC_DECLARE_ERRNO # Determine the size of an int for struct fibnode. AC_CHECK_SIZEOF([int]) -AC_CHECK_TYPE(intptr_t, long) -AC_CHECK_TYPE(uintptr_t, unsigned long) - # Look for a 64-bit type. AC_MSG_CHECKING([for a 64-bit type]) AC_CACHE_VAL(liberty_cv_uint64, @@ -290,6 +287,9 @@ if test "$liberty_cv_uint64" != none; then [Define to an unsigned 64-bit type available in the compiler.]) fi +AC_TYPE_INTPTR_T +AC_TYPE_UINTPTR_T + # Given the above check, we always have uintptr_t or a fallback # definition. So define HAVE_UINTPTR_T in case any imported code # relies on it.