Index: gcc/config/stdint.m4 |
diff --git a/gcc/config/stdint.m4 b/gcc/config/stdint.m4 |
index 025ffad9ea29841230b71457f6c59c35271cfd4d..d63081d07e208c83fcfc6a470ffc4e3ebe99cdcc 100644 |
--- a/gcc/config/stdint.m4 |
+++ b/gcc/config/stdint.m4 |
@@ -1,3 +1,17 @@ |
+AC_DEFUN([GCC_STDINT_TYPES], |
+[AC_REQUIRE([AC_TYPE_INT8_T]) |
+AC_REQUIRE([AC_TYPE_INT16_T]) |
+AC_REQUIRE([AC_TYPE_INT32_T]) |
+AC_REQUIRE([AC_TYPE_INT64_T]) |
+AC_REQUIRE([AC_TYPE_INTMAX_T]) |
+AC_REQUIRE([AC_TYPE_INTPTR_T]) |
+AC_REQUIRE([AC_TYPE_UINT8_T]) |
+AC_REQUIRE([AC_TYPE_UINT16_T]) |
+AC_REQUIRE([AC_TYPE_UINT32_T]) |
+AC_REQUIRE([AC_TYPE_UINT64_T]) |
+AC_REQUIRE([AC_TYPE_UINTMAX_T]) |
+AC_REQUIRE([AC_TYPE_UINTPTR_T])]) |
+ |
dnl @synopsis GCC_HEADER_STDINT [( HEADER-TO-GENERATE [, HEADERS-TO-CHECK])] |
dnl |
dnl the "ISO C9X: 7.18 Integer types <stdint.h>" section requires the |
@@ -220,49 +234,61 @@ if test "$acx_cv_header_stdint" = stddef.h; then |
#define _UINT8_T |
#ifndef __uint8_t_defined |
#define __uint8_t_defined |
+ #ifndef uint8_t |
typedef unsigned $acx_cv_type_int8_t uint8_t; |
#endif |
#endif |
+ #endif |
#ifndef _UINT16_T |
#define _UINT16_T |
#ifndef __uint16_t_defined |
#define __uint16_t_defined |
+ #ifndef uint16_t |
typedef unsigned $acx_cv_type_int16_t uint16_t; |
#endif |
#endif |
+ #endif |
#ifndef _UINT32_T |
#define _UINT32_T |
#ifndef __uint32_t_defined |
#define __uint32_t_defined |
+ #ifndef uint32_t |
typedef unsigned $acx_cv_type_int32_t uint32_t; |
#endif |
#endif |
+ #endif |
#ifndef _INT8_T |
#define _INT8_T |
#ifndef __int8_t_defined |
#define __int8_t_defined |
+ #ifndef int8_t |
typedef $acx_cv_type_int8_t int8_t; |
#endif |
#endif |
+ #endif |
#ifndef _INT16_T |
#define _INT16_T |
#ifndef __int16_t_defined |
#define __int16_t_defined |
+ #ifndef int16_t |
typedef $acx_cv_type_int16_t int16_t; |
#endif |
#endif |
+ #endif |
#ifndef _INT32_T |
#define _INT32_T |
#ifndef __int32_t_defined |
#define __int32_t_defined |
+ #ifndef int32_t |
typedef $acx_cv_type_int32_t int32_t; |
#endif |
#endif |
+ #endif |
EOF |
elif test "$ac_cv_type_u_int32_t" = yes; then |
sed 's/^ *//' >> tmp-stdint.h <<EOF |
@@ -282,25 +308,31 @@ elif test "$ac_cv_type_u_int32_t" = yes; then |
#define _UINT8_T |
#ifndef __uint8_t_defined |
#define __uint8_t_defined |
+ #ifndef uint8_t |
typedef u_int8_t uint8_t; |
#endif |
#endif |
+ #endif |
#ifndef _UINT16_T |
#define _UINT16_T |
#ifndef __uint16_t_defined |
#define __uint16_t_defined |
+ #ifndef uint16_t |
typedef u_int16_t uint16_t; |
#endif |
#endif |
+ #endif |
#ifndef _UINT32_T |
#define _UINT32_T |
#ifndef __uint32_t_defined |
#define __uint32_t_defined |
+ #ifndef uint32_t |
typedef u_int32_t uint32_t; |
#endif |
#endif |
+ #endif |
EOF |
else |
sed 's/^ *//' >> tmp-stdint.h <<EOF |
@@ -350,9 +382,11 @@ elif test "$ac_cv_type_u_int64_t" = yes; then |
#define _UINT64_T |
#ifndef __uint64_t_defined |
#define __uint64_t_defined |
+ #ifndef uint64_t |
typedef u_int64_t uint64_t; |
#endif |
#endif |
+ #endif |
EOF |
elif test -n "$acx_cv_type_int64_t"; then |
sed 's/^ *//' >> tmp-stdint.h <<EOF |
@@ -360,15 +394,19 @@ elif test -n "$acx_cv_type_int64_t"; then |
/* architecture has a 64-bit type, $acx_cv_type_int64_t */ |
#ifndef _INT64_T |
#define _INT64_T |
+ #ifndef int64_t |
typedef $acx_cv_type_int64_t int64_t; |
#endif |
+ #endif |
#ifndef _UINT64_T |
#define _UINT64_T |
#ifndef __uint64_t_defined |
#define __uint64_t_defined |
+ #ifndef uint64_t |
typedef unsigned $acx_cv_type_int64_t uint64_t; |
#endif |
#endif |
+ #endif |
EOF |
else |
sed 's/^ *//' >> tmp-stdint.h <<EOF |
@@ -378,13 +416,17 @@ else |
#ifndef _INT64_T |
#define _INT64_T |
#ifndef __int64_t_defined |
+ #ifndef int64_t |
typedef long long int64_t; |
#endif |
#endif |
+ #endif |
#ifndef _UINT64_T |
#define _UINT64_T |
+ #ifndef uint64_t |
typedef unsigned long long uint64_t; |
#endif |
+ #endif |
#elif defined __GNUC__ && defined (__STDC__) && __STDC__-0 |
/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and |
@@ -396,24 +438,32 @@ else |
# ifndef _INT64_T |
# define _INT64_T |
+ # ifndef int64_t |
__extension__ typedef long long int64_t; |
# endif |
+ # endif |
# ifndef _UINT64_T |
# define _UINT64_T |
+ # ifndef uint64_t |
__extension__ typedef unsigned long long uint64_t; |
# endif |
+ # endif |
#elif !defined __STRICT_ANSI__ |
# if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__ |
# ifndef _INT64_T |
# define _INT64_T |
+ # ifndef int64_t |
typedef __int64 int64_t; |
# endif |
+ # endif |
# ifndef _UINT64_T |
# define _UINT64_T |
+ # ifndef uint64_t |
typedef unsigned __int64 uint64_t; |
# endif |
+ # endif |
# endif /* compiler */ |
#endif /* ANSI version */ |
@@ -426,11 +476,15 @@ if test "$ac_cv_type_uintptr_t" != yes; then |
/* Define intptr_t based on sizeof(void*) = $ac_cv_sizeof_void_p */ |
#ifndef __uintptr_t_defined |
+ #ifndef uintptr_t |
typedef u$acx_cv_type_intptr_t uintptr_t; |
#endif |
+ #endif |
#ifndef __intptr_t_defined |
+ #ifndef intptr_t |
typedef $acx_cv_type_intptr_t intptr_t; |
#endif |
+ #endif |
EOF |
fi |
@@ -482,16 +536,20 @@ if test "$ac_cv_type_uintmax_t" != yes; then |
sed 's/^ *//' >> tmp-stdint.h <<EOF |
/* Define intmax based on what we found */ |
+ #ifndef intmax_t |
#ifdef _INT64_T |
typedef int64_t intmax_t; |
#else |
typedef long intmax_t; |
#endif |
+ #endif |
+ #ifndef uintmax_t |
#ifdef _UINT64_T |
typedef uint64_t uintmax_t; |
#else |
typedef unsigned long uintmax_t; |
#endif |
+ #endif |
EOF |
fi |