/* ANSI and traditional C compatability macros
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2009
+ 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010
Free Software Foundation, Inc.
This file is part of the GNU C Library.
/* inline requires special treatment; it's in C99, and GCC >=2.7 supports
it too, but it's not in C89. */
#undef inline
-#if __STDC_VERSION__ > 199901L || defined(__cplusplus)
+#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) || (defined(__SUNPRO_C) && defined(__C99FEATURES__))
/* it's a keyword */
#else
# if GCC_VERSION >= 2007
#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
#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
#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
/* 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
#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
# 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 */
/* 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
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