Index: gdb/gnulib/import/stdint.in.h |
diff --git a/gdb/gnulib/stdint.in.h b/gdb/gnulib/import/stdint.in.h |
similarity index 70% |
rename from gdb/gnulib/stdint.in.h |
rename to gdb/gnulib/import/stdint.in.h |
index 8a8fe3f3afae859c7590b838fa62b8e35b1131d0..e2a0eb19ac098c55d297ff58a98d8bb77626401b 100644 |
--- a/gdb/gnulib/stdint.in.h |
+++ b/gdb/gnulib/import/stdint.in.h |
@@ -1,4 +1,4 @@ |
-/* Copyright (C) 2001-2002, 2004-2011 Free Software Foundation, Inc. |
+/* Copyright (C) 2001-2002, 2004-2012 Free Software Foundation, Inc. |
Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. |
This file is part of gnulib. |
@@ -13,19 +13,19 @@ |
GNU General Public License for more details. |
You should have received a copy of the GNU General Public License |
- along with this program; if not, write to the Free Software Foundation, |
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ |
+ along with this program; if not, see <http://www.gnu.org/licenses/>. */ |
/* |
* ISO C 99 <stdint.h> for platforms that lack it. |
* <http://www.opengroup.org/susv3xbd/stdint.h.html> |
*/ |
-#ifndef _GL_STDINT_H |
+#ifndef _@GUARD_PREFIX@_STDINT_H |
#if __GNUC__ >= 3 |
@PRAGMA_SYSTEM_HEADER@ |
#endif |
+@PRAGMA_COLUMNS@ |
/* When including a system file that in turn includes <inttypes.h>, |
use the system <inttypes.h>, not our substitute. This avoids |
@@ -33,6 +33,16 @@ |
<inttypes.h>. */ |
#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H |
+/* On Android (Bionic libc), <sys/types.h> includes this file before |
+ having defined 'time_t'. Therefore in this case avoid including |
+ other system header files; just include the system's <stdint.h>. |
+ Ideally we should test __BIONIC__ here, but it is only defined after |
+ <sys/cdefs.h> has been included; hence test __ANDROID__ instead. */ |
+#if defined __ANDROID__ \ |
+ && defined _SYS_TYPES_H_ && !defined _SSIZE_T_DEFINED_ |
+# @INCLUDE_NEXT@ @NEXT_STDINT_H@ |
+#else |
+ |
/* Get those types that are already defined in other system include |
files, so that we can "#define int8_t signed char" below without |
worrying about a later system include file containing a "typedef |
@@ -48,28 +58,40 @@ |
diagnostics. */ |
# define __STDINT_H__ |
# endif |
+ |
+ /* Some pre-C++11 <stdint.h> implementations need this. */ |
+# ifdef __cplusplus |
+# ifndef __STDC_CONSTANT_MACROS |
+# define __STDC_CONSTANT_MACROS 1 |
+# endif |
+# ifndef __STDC_LIMIT_MACROS |
+# define __STDC_LIMIT_MACROS 1 |
+# endif |
+# endif |
+ |
/* Other systems may have an incomplete or buggy <stdint.h>. |
Include it before <inttypes.h>, since any "#include <stdint.h>" |
in <inttypes.h> would reinclude us, skipping our contents because |
- _GL_STDINT_H is defined. |
+ _@GUARD_PREFIX@_STDINT_H is defined. |
The include_next requires a split double-inclusion guard. */ |
# @INCLUDE_NEXT@ @NEXT_STDINT_H@ |
#endif |
-#if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H |
-#define _GL_STDINT_H |
+#if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H |
+#define _@GUARD_PREFIX@_STDINT_H |
/* <sys/types.h> defines some of the stdint.h types as well, on glibc, |
IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>). |
AIX 5.2 <sys/types.h> isn't needed and causes troubles. |
- MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but |
+ Mac OS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but |
relies on the system <stdint.h> definitions, so include |
<sys/types.h> after @NEXT_STDINT_H@. */ |
#if @HAVE_SYS_TYPES_H@ && ! defined _AIX |
# include <sys/types.h> |
#endif |
-/* Get LONG_MIN, LONG_MAX, ULONG_MAX. */ |
+/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX, |
+ LONG_MIN, LONG_MAX, ULONG_MAX. */ |
#include <limits.h> |
#if @HAVE_INTTYPES_H@ |
@@ -92,7 +114,7 @@ |
#undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H |
-/* Minimum and maximum values for a integer type under the usual assumption. |
+/* Minimum and maximum values for an integer type under the usual assumption. |
Return an unspecified value if BITS == 0, adding a check to pacify |
picky compilers. */ |
@@ -107,6 +129,8 @@ |
warnings in the signed case. */ \ |
((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1) |
+#if !GNULIB_defined_stdint_types |
+ |
/* 7.18.1.1. Exact-width integer types */ |
/* Here we assume a standard architecture where the hardware integer |
@@ -133,40 +157,54 @@ typedef unsigned int gl_uint32_t; |
#define int32_t gl_int32_t |
#define uint32_t gl_uint32_t |
+/* If the system defines INT64_MAX, assume int64_t works. That way, |
+ if the underlying platform defines int64_t to be a 64-bit long long |
+ int, the code below won't mistakenly define it to be a 64-bit long |
+ int, which would mess up C++ name mangling. We must use #ifdef |
+ rather than #if, to avoid an error with HP-UX 10.20 cc. */ |
+ |
+#ifdef INT64_MAX |
+# define GL_INT64_T |
+#else |
/* Do not undefine int64_t if gnulib is not being used with 64-bit |
types, since otherwise it breaks platforms like Tandem/NSK. */ |
-#if LONG_MAX >> 31 >> 31 == 1 |
-# undef int64_t |
+# if LONG_MAX >> 31 >> 31 == 1 |
+# undef int64_t |
typedef long int gl_int64_t; |
-# define int64_t gl_int64_t |
-# define GL_INT64_T |
-#elif defined _MSC_VER |
-# undef int64_t |
+# define int64_t gl_int64_t |
+# define GL_INT64_T |
+# elif defined _MSC_VER |
+# undef int64_t |
typedef __int64 gl_int64_t; |
-# define int64_t gl_int64_t |
-# define GL_INT64_T |
-#elif @HAVE_LONG_LONG_INT@ |
-# undef int64_t |
+# define int64_t gl_int64_t |
+# define GL_INT64_T |
+# elif @HAVE_LONG_LONG_INT@ |
+# undef int64_t |
typedef long long int gl_int64_t; |
-# define int64_t gl_int64_t |
-# define GL_INT64_T |
+# define int64_t gl_int64_t |
+# define GL_INT64_T |
+# endif |
#endif |
-#if ULONG_MAX >> 31 >> 31 >> 1 == 1 |
-# undef uint64_t |
-typedef unsigned long int gl_uint64_t; |
-# define uint64_t gl_uint64_t |
+#ifdef UINT64_MAX |
# define GL_UINT64_T |
-#elif defined _MSC_VER |
-# undef uint64_t |
+#else |
+# if ULONG_MAX >> 31 >> 31 >> 1 == 1 |
+# undef uint64_t |
+typedef unsigned long int gl_uint64_t; |
+# define uint64_t gl_uint64_t |
+# define GL_UINT64_T |
+# elif defined _MSC_VER |
+# undef uint64_t |
typedef unsigned __int64 gl_uint64_t; |
-# define uint64_t gl_uint64_t |
-# define GL_UINT64_T |
-#elif @HAVE_UNSIGNED_LONG_LONG_INT@ |
-# undef uint64_t |
+# define uint64_t gl_uint64_t |
+# define GL_UINT64_T |
+# elif @HAVE_UNSIGNED_LONG_LONG_INT@ |
+# undef uint64_t |
typedef unsigned long long int gl_uint64_t; |
-# define uint64_t gl_uint64_t |
-# define GL_UINT64_T |
+# define uint64_t gl_uint64_t |
+# define GL_UINT64_T |
+# endif |
#endif |
/* Avoid collision with Solaris 2.5.1 <pthread.h> etc. */ |
@@ -209,8 +247,9 @@ typedef unsigned long long int gl_uint64_t; |
/* Here we assume a standard architecture where the hardware integer |
types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types |
- are taken from the same list of types. Assume that 'long int' |
- is fast enough for all narrower integers. */ |
+ are taken from the same list of types. The following code normally |
+ uses types consistent with glibc, as that lessens the chance of |
+ incompatibility with older GNU hosts. */ |
#undef int_fast8_t |
#undef uint_fast8_t |
@@ -220,12 +259,21 @@ typedef unsigned long long int gl_uint64_t; |
#undef uint_fast32_t |
#undef int_fast64_t |
#undef uint_fast64_t |
-typedef long int gl_int_fast8_t; |
-typedef unsigned long int gl_uint_fast8_t; |
-typedef long int gl_int_fast16_t; |
-typedef unsigned long int gl_uint_fast16_t; |
+typedef signed char gl_int_fast8_t; |
+typedef unsigned char gl_uint_fast8_t; |
+ |
+#ifdef __sun |
+/* Define types compatible with SunOS 5.10, so that code compiled under |
+ earlier SunOS versions works with code compiled under SunOS 5.10. */ |
+typedef int gl_int_fast32_t; |
+typedef unsigned int gl_uint_fast32_t; |
+#else |
typedef long int gl_int_fast32_t; |
typedef unsigned long int gl_uint_fast32_t; |
+#endif |
+typedef gl_int_fast32_t gl_int_fast16_t; |
+typedef gl_uint_fast32_t gl_uint_fast16_t; |
+ |
#define int_fast8_t gl_int_fast8_t |
#define uint_fast8_t gl_uint_fast8_t |
#define int_fast16_t gl_int_fast16_t |
@@ -253,36 +301,48 @@ typedef unsigned long int gl_uintptr_t; |
/* Note: These types are compiler dependent. It may be unwise to use them in |
public header files. */ |
-#undef intmax_t |
-#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 |
+/* If the system defines INTMAX_MAX, assume that intmax_t works, and |
+ similarly for UINTMAX_MAX and uintmax_t. This avoids problems with |
+ assuming one type where another is used by the system. */ |
+ |
+#ifndef INTMAX_MAX |
+# undef INTMAX_C |
+# undef intmax_t |
+# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 |
typedef long long int gl_intmax_t; |
-# define intmax_t gl_intmax_t |
-#elif defined GL_INT64_T |
-# define intmax_t int64_t |
-#else |
+# define intmax_t gl_intmax_t |
+# elif defined GL_INT64_T |
+# define intmax_t int64_t |
+# else |
typedef long int gl_intmax_t; |
-# define intmax_t gl_intmax_t |
+# define intmax_t gl_intmax_t |
+# endif |
#endif |
-#undef uintmax_t |
-#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 |
+#ifndef UINTMAX_MAX |
+# undef UINTMAX_C |
+# undef uintmax_t |
+# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 |
typedef unsigned long long int gl_uintmax_t; |
-# define uintmax_t gl_uintmax_t |
-#elif defined GL_UINT64_T |
-# define uintmax_t uint64_t |
-#else |
+# define uintmax_t gl_uintmax_t |
+# elif defined GL_UINT64_T |
+# define uintmax_t uint64_t |
+# else |
typedef unsigned long int gl_uintmax_t; |
-# define uintmax_t gl_uintmax_t |
+# define uintmax_t gl_uintmax_t |
+# endif |
#endif |
/* Verify that intmax_t and uintmax_t have the same size. Too much code |
breaks if this is not the case. If this check fails, the reason is likely |
to be found in the autoconf macros. */ |
-typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - 1]; |
+typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t) |
+ ? 1 : -1]; |
-/* 7.18.2. Limits of specified-width integer types */ |
+#define GNULIB_defined_stdint_types 1 |
+#endif /* !GNULIB_defined_stdint_types */ |
-#if ! defined __cplusplus || defined __STDC_LIMIT_MACROS |
+/* 7.18.2. Limits of specified-width integer types */ |
/* 7.18.2.1. Limits of exact-width integer types */ |
@@ -310,17 +370,14 @@ typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - |
#define INT32_MAX 2147483647 |
#define UINT32_MAX 4294967295U |
-#undef INT64_MIN |
-#undef INT64_MAX |
-#ifdef GL_INT64_T |
+#if defined GL_INT64_T && ! defined INT64_MAX |
/* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0 |
evaluates the latter incorrectly in preprocessor expressions. */ |
# define INT64_MIN (- INTMAX_C (1) << 63) |
# define INT64_MAX INTMAX_C (9223372036854775807) |
#endif |
-#undef UINT64_MAX |
-#ifdef GL_UINT64_T |
+#if defined GL_UINT64_T && ! defined UINT64_MAX |
# define UINT64_MAX UINTMAX_C (18446744073709551615) |
#endif |
@@ -372,23 +429,29 @@ typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - |
#undef INT_FAST8_MIN |
#undef INT_FAST8_MAX |
#undef UINT_FAST8_MAX |
-#define INT_FAST8_MIN LONG_MIN |
-#define INT_FAST8_MAX LONG_MAX |
-#define UINT_FAST8_MAX ULONG_MAX |
+#define INT_FAST8_MIN SCHAR_MIN |
+#define INT_FAST8_MAX SCHAR_MAX |
+#define UINT_FAST8_MAX UCHAR_MAX |
#undef INT_FAST16_MIN |
#undef INT_FAST16_MAX |
#undef UINT_FAST16_MAX |
-#define INT_FAST16_MIN LONG_MIN |
-#define INT_FAST16_MAX LONG_MAX |
-#define UINT_FAST16_MAX ULONG_MAX |
+#define INT_FAST16_MIN INT_FAST32_MIN |
+#define INT_FAST16_MAX INT_FAST32_MAX |
+#define UINT_FAST16_MAX UINT_FAST32_MAX |
#undef INT_FAST32_MIN |
#undef INT_FAST32_MAX |
#undef UINT_FAST32_MAX |
-#define INT_FAST32_MIN LONG_MIN |
-#define INT_FAST32_MAX LONG_MAX |
-#define UINT_FAST32_MAX ULONG_MAX |
+#ifdef __sun |
+# define INT_FAST32_MIN INT_MIN |
+# define INT_FAST32_MAX INT_MAX |
+# define UINT_FAST32_MAX UINT_MAX |
+#else |
+# define INT_FAST32_MIN LONG_MIN |
+# define INT_FAST32_MAX LONG_MAX |
+# define UINT_FAST32_MAX ULONG_MAX |
+#endif |
#undef INT_FAST64_MIN |
#undef INT_FAST64_MAX |
@@ -413,21 +476,23 @@ typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - |
/* 7.18.2.5. Limits of greatest-width integer types */ |
-#undef INTMAX_MIN |
-#undef INTMAX_MAX |
-#ifdef INT64_MAX |
-# define INTMAX_MIN INT64_MIN |
-# define INTMAX_MAX INT64_MAX |
-#else |
-# define INTMAX_MIN INT32_MIN |
-# define INTMAX_MAX INT32_MAX |
+#ifndef INTMAX_MAX |
+# undef INTMAX_MIN |
+# ifdef INT64_MAX |
+# define INTMAX_MIN INT64_MIN |
+# define INTMAX_MAX INT64_MAX |
+# else |
+# define INTMAX_MIN INT32_MIN |
+# define INTMAX_MAX INT32_MAX |
+# endif |
#endif |
-#undef UINTMAX_MAX |
-#ifdef UINT64_MAX |
-# define UINTMAX_MAX UINT64_MAX |
-#else |
-# define UINTMAX_MAX UINT32_MAX |
+#ifndef UINTMAX_MAX |
+# ifdef UINT64_MAX |
+# define UINTMAX_MAX UINT64_MAX |
+# else |
+# define UINTMAX_MAX UINT32_MAX |
+# endif |
#endif |
/* 7.18.3. Limits of other integer types */ |
@@ -475,10 +540,16 @@ typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - |
/* wchar_t limits */ |
/* Get WCHAR_MIN, WCHAR_MAX. |
- This include is not on the top, above, because on OSF/1 4.0 we have a sequence of nested |
- includes <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes |
+ This include is not on the top, above, because on OSF/1 4.0 we have a |
+ sequence of nested includes |
+ <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes |
<stdint.h> and assumes its types are already defined. */ |
-#if ! (defined WCHAR_MIN && defined WCHAR_MAX) |
+#if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX) |
+ /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be |
+ included before <wchar.h>. */ |
+# include <stddef.h> |
+# include <stdio.h> |
+# include <time.h> |
# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H |
# include <wchar.h> |
# undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H |
@@ -498,12 +569,8 @@ typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - |
#define WINT_MAX \ |
_STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) |
-#endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */ |
- |
/* 7.18.4. Macros for integer constants */ |
-#if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS |
- |
/* 7.18.4.1. Macros for minimum-width integer constants */ |
/* According to ISO C 99 Technical Corrigendum 1 */ |
@@ -544,25 +611,26 @@ typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - |
/* 7.18.4.2. Macros for greatest-width integer constants */ |
-#undef INTMAX_C |
-#if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 |
-# define INTMAX_C(x) x##LL |
-#elif defined GL_INT64_T |
-# define INTMAX_C(x) INT64_C(x) |
-#else |
-# define INTMAX_C(x) x##L |
+#ifndef INTMAX_C |
+# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 |
+# define INTMAX_C(x) x##LL |
+# elif defined GL_INT64_T |
+# define INTMAX_C(x) INT64_C(x) |
+# else |
+# define INTMAX_C(x) x##L |
+# endif |
#endif |
-#undef UINTMAX_C |
-#if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 |
-# define UINTMAX_C(x) x##ULL |
-#elif defined GL_UINT64_T |
-# define UINTMAX_C(x) UINT64_C(x) |
-#else |
-# define UINTMAX_C(x) x##UL |
+#ifndef UINTMAX_C |
+# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 |
+# define UINTMAX_C(x) x##ULL |
+# elif defined GL_UINT64_T |
+# define UINTMAX_C(x) UINT64_C(x) |
+# else |
+# define UINTMAX_C(x) x##UL |
+# endif |
#endif |
-#endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */ |
- |
-#endif /* _GL_STDINT_H */ |
-#endif /* !defined _GL_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */ |
+#endif /* _@GUARD_PREFIX@_STDINT_H */ |
+#endif /* !(defined __ANDROID__ && ...) */ |
+#endif /* !defined _@GUARD_PREFIX@_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */ |