diff options
Diffstat (limited to 'gl/stdint.in.h')
| -rw-r--r-- | gl/stdint.in.h | 123 |
1 files changed, 84 insertions, 39 deletions
diff --git a/gl/stdint.in.h b/gl/stdint.in.h index 67baceb6..f141c8f6 100644 --- a/gl/stdint.in.h +++ b/gl/stdint.in.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* Copyright (C) 2001-2002, 2004-2007 Free Software Foundation, Inc. | 1 | /* Copyright (C) 2001-2002, 2004-2009 Free Software Foundation, Inc. |
| 2 | Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. | 2 | Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. |
| 3 | This file is part of gnulib. | 3 | This file is part of gnulib. |
| 4 | 4 | ||
| @@ -49,6 +49,9 @@ | |||
| 49 | in <inttypes.h> would reinclude us, skipping our contents because | 49 | in <inttypes.h> would reinclude us, skipping our contents because |
| 50 | _GL_STDINT_H is defined. | 50 | _GL_STDINT_H is defined. |
| 51 | The include_next requires a split double-inclusion guard. */ | 51 | The include_next requires a split double-inclusion guard. */ |
| 52 | # if __GNUC__ >= 3 | ||
| 53 | @PRAGMA_SYSTEM_HEADER@ | ||
| 54 | # endif | ||
| 52 | # @INCLUDE_NEXT@ @NEXT_STDINT_H@ | 55 | # @INCLUDE_NEXT@ @NEXT_STDINT_H@ |
| 53 | #endif | 56 | #endif |
| 54 | 57 | ||
| @@ -86,15 +89,6 @@ | |||
| 86 | # include <sys/bitypes.h> | 89 | # include <sys/bitypes.h> |
| 87 | #endif | 90 | #endif |
| 88 | 91 | ||
| 89 | #if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS | ||
| 90 | |||
| 91 | /* Get WCHAR_MIN, WCHAR_MAX. */ | ||
| 92 | # if ! (defined WCHAR_MIN && defined WCHAR_MAX) | ||
| 93 | # include <wchar.h> | ||
| 94 | # endif | ||
| 95 | |||
| 96 | #endif | ||
| 97 | |||
| 98 | #undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H | 92 | #undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H |
| 99 | 93 | ||
| 100 | /* Minimum and maximum values for a integer type under the usual assumption. | 94 | /* Minimum and maximum values for a integer type under the usual assumption. |
| @@ -119,46 +113,58 @@ | |||
| 119 | 113 | ||
| 120 | #undef int8_t | 114 | #undef int8_t |
| 121 | #undef uint8_t | 115 | #undef uint8_t |
| 122 | #define int8_t signed char | 116 | typedef signed char gl_int8_t; |
| 123 | #define uint8_t unsigned char | 117 | typedef unsigned char gl_uint8_t; |
| 118 | #define int8_t gl_int8_t | ||
| 119 | #define uint8_t gl_uint8_t | ||
| 124 | 120 | ||
| 125 | #undef int16_t | 121 | #undef int16_t |
| 126 | #undef uint16_t | 122 | #undef uint16_t |
| 127 | #define int16_t short int | 123 | typedef short int gl_int16_t; |
| 128 | #define uint16_t unsigned short int | 124 | typedef unsigned short int gl_uint16_t; |
| 125 | #define int16_t gl_int16_t | ||
| 126 | #define uint16_t gl_uint16_t | ||
| 129 | 127 | ||
| 130 | #undef int32_t | 128 | #undef int32_t |
| 131 | #undef uint32_t | 129 | #undef uint32_t |
| 132 | #define int32_t int | 130 | typedef int gl_int32_t; |
| 133 | #define uint32_t unsigned int | 131 | typedef unsigned int gl_uint32_t; |
| 132 | #define int32_t gl_int32_t | ||
| 133 | #define uint32_t gl_uint32_t | ||
| 134 | 134 | ||
| 135 | /* Do not undefine int64_t if gnulib is not being used with 64-bit | 135 | /* Do not undefine int64_t if gnulib is not being used with 64-bit |
| 136 | types, since otherwise it breaks platforms like Tandem/NSK. */ | 136 | types, since otherwise it breaks platforms like Tandem/NSK. */ |
| 137 | #if LONG_MAX >> 31 >> 31 == 1 | 137 | #if LONG_MAX >> 31 >> 31 == 1 |
| 138 | # undef int64_t | 138 | # undef int64_t |
| 139 | # define int64_t long int | 139 | typedef long int gl_int64_t; |
| 140 | # define int64_t gl_int64_t | ||
| 140 | # define GL_INT64_T | 141 | # define GL_INT64_T |
| 141 | #elif defined _MSC_VER | 142 | #elif defined _MSC_VER |
| 142 | # undef int64_t | 143 | # undef int64_t |
| 143 | # define int64_t __int64 | 144 | typedef __int64 gl_int64_t; |
| 145 | # define int64_t gl_int64_t | ||
| 144 | # define GL_INT64_T | 146 | # define GL_INT64_T |
| 145 | #elif @HAVE_LONG_LONG_INT@ | 147 | #elif @HAVE_LONG_LONG_INT@ |
| 146 | # undef int64_t | 148 | # undef int64_t |
| 147 | # define int64_t long long int | 149 | typedef long long int gl_int64_t; |
| 150 | # define int64_t gl_int64_t | ||
| 148 | # define GL_INT64_T | 151 | # define GL_INT64_T |
| 149 | #endif | 152 | #endif |
| 150 | 153 | ||
| 151 | #if ULONG_MAX >> 31 >> 31 >> 1 == 1 | 154 | #if ULONG_MAX >> 31 >> 31 >> 1 == 1 |
| 152 | # undef uint64_t | 155 | # undef uint64_t |
| 153 | # define uint64_t unsigned long int | 156 | typedef unsigned long int gl_uint64_t; |
| 157 | # define uint64_t gl_uint64_t | ||
| 154 | # define GL_UINT64_T | 158 | # define GL_UINT64_T |
| 155 | #elif defined _MSC_VER | 159 | #elif defined _MSC_VER |
| 156 | # undef uint64_t | 160 | # undef uint64_t |
| 157 | # define uint64_t unsigned __int64 | 161 | typedef unsigned __int64 gl_uint64_t; |
| 162 | # define uint64_t gl_uint64_t | ||
| 158 | # define GL_UINT64_T | 163 | # define GL_UINT64_T |
| 159 | #elif @HAVE_UNSIGNED_LONG_LONG_INT@ | 164 | #elif @HAVE_UNSIGNED_LONG_LONG_INT@ |
| 160 | # undef uint64_t | 165 | # undef uint64_t |
| 161 | # define uint64_t unsigned long long int | 166 | typedef unsigned long long int gl_uint64_t; |
| 167 | # define uint64_t gl_uint64_t | ||
| 162 | # define GL_UINT64_T | 168 | # define GL_UINT64_T |
| 163 | #endif | 169 | #endif |
| 164 | 170 | ||
| @@ -213,12 +219,18 @@ | |||
| 213 | #undef uint_fast32_t | 219 | #undef uint_fast32_t |
| 214 | #undef int_fast64_t | 220 | #undef int_fast64_t |
| 215 | #undef uint_fast64_t | 221 | #undef uint_fast64_t |
| 216 | #define int_fast8_t long int | 222 | typedef long int gl_int_fast8_t; |
| 217 | #define uint_fast8_t unsigned int_fast8_t | 223 | typedef unsigned long int gl_uint_fast8_t; |
| 218 | #define int_fast16_t long int | 224 | typedef long int gl_int_fast16_t; |
| 219 | #define uint_fast16_t unsigned int_fast16_t | 225 | typedef unsigned long int gl_uint_fast16_t; |
| 220 | #define int_fast32_t long int | 226 | typedef long int gl_int_fast32_t; |
| 221 | #define uint_fast32_t unsigned int_fast32_t | 227 | typedef unsigned long int gl_uint_fast32_t; |
| 228 | #define int_fast8_t gl_int_fast8_t | ||
| 229 | #define uint_fast8_t gl_uint_fast8_t | ||
| 230 | #define int_fast16_t gl_int_fast16_t | ||
| 231 | #define uint_fast16_t gl_uint_fast16_t | ||
| 232 | #define int_fast32_t gl_int_fast32_t | ||
| 233 | #define uint_fast32_t gl_uint_fast32_t | ||
| 222 | #ifdef GL_INT64_T | 234 | #ifdef GL_INT64_T |
| 223 | # define int_fast64_t int64_t | 235 | # define int_fast64_t int64_t |
| 224 | #endif | 236 | #endif |
| @@ -230,8 +242,10 @@ | |||
| 230 | 242 | ||
| 231 | #undef intptr_t | 243 | #undef intptr_t |
| 232 | #undef uintptr_t | 244 | #undef uintptr_t |
| 233 | #define intptr_t long int | 245 | typedef long int gl_intptr_t; |
| 234 | #define uintptr_t unsigned long int | 246 | typedef unsigned long int gl_uintptr_t; |
| 247 | #define intptr_t gl_intptr_t | ||
| 248 | #define uintptr_t gl_uintptr_t | ||
| 235 | 249 | ||
| 236 | /* 7.18.1.5. Greatest-width integer types */ | 250 | /* 7.18.1.5. Greatest-width integer types */ |
| 237 | 251 | ||
| @@ -240,20 +254,24 @@ | |||
| 240 | 254 | ||
| 241 | #undef intmax_t | 255 | #undef intmax_t |
| 242 | #if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 | 256 | #if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1 |
| 243 | # define intmax_t long long int | 257 | typedef long long int gl_intmax_t; |
| 258 | # define intmax_t gl_intmax_t | ||
| 244 | #elif defined GL_INT64_T | 259 | #elif defined GL_INT64_T |
| 245 | # define intmax_t int64_t | 260 | # define intmax_t int64_t |
| 246 | #else | 261 | #else |
| 247 | # define intmax_t long int | 262 | typedef long int gl_intmax_t; |
| 263 | # define intmax_t gl_intmax_t | ||
| 248 | #endif | 264 | #endif |
| 249 | 265 | ||
| 250 | #undef uintmax_t | 266 | #undef uintmax_t |
| 251 | #if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 | 267 | #if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1 |
| 252 | # define uintmax_t unsigned long long int | 268 | typedef unsigned long long int gl_uintmax_t; |
| 269 | # define uintmax_t gl_uintmax_t | ||
| 253 | #elif defined GL_UINT64_T | 270 | #elif defined GL_UINT64_T |
| 254 | # define uintmax_t uint64_t | 271 | # define uintmax_t uint64_t |
| 255 | #else | 272 | #else |
| 256 | # define uintmax_t unsigned long int | 273 | typedef unsigned long int gl_uintmax_t; |
| 274 | # define uintmax_t gl_uintmax_t | ||
| 257 | #endif | 275 | #endif |
| 258 | 276 | ||
| 259 | /* Verify that intmax_t and uintmax_t have the same size. Too much code | 277 | /* Verify that intmax_t and uintmax_t have the same size. Too much code |
| @@ -416,10 +434,20 @@ typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - | |||
| 416 | /* ptrdiff_t limits */ | 434 | /* ptrdiff_t limits */ |
| 417 | #undef PTRDIFF_MIN | 435 | #undef PTRDIFF_MIN |
| 418 | #undef PTRDIFF_MAX | 436 | #undef PTRDIFF_MAX |
| 419 | #define PTRDIFF_MIN \ | 437 | #if @APPLE_UNIVERSAL_BUILD@ |
| 420 | _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) | 438 | # if _LP64 |
| 421 | #define PTRDIFF_MAX \ | 439 | # define PTRDIFF_MIN _STDINT_MIN (1, 64, 0l) |
| 422 | _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) | 440 | # define PTRDIFF_MAX _STDINT_MAX (1, 64, 0l) |
| 441 | # else | ||
| 442 | # define PTRDIFF_MIN _STDINT_MIN (1, 32, 0) | ||
| 443 | # define PTRDIFF_MAX _STDINT_MAX (1, 32, 0) | ||
| 444 | # endif | ||
| 445 | #else | ||
| 446 | # define PTRDIFF_MIN \ | ||
| 447 | _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) | ||
| 448 | # define PTRDIFF_MAX \ | ||
| 449 | _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) | ||
| 450 | #endif | ||
| 423 | 451 | ||
| 424 | /* sig_atomic_t limits */ | 452 | /* sig_atomic_t limits */ |
| 425 | #undef SIG_ATOMIC_MIN | 453 | #undef SIG_ATOMIC_MIN |
| @@ -434,9 +462,26 @@ typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - | |||
| 434 | 462 | ||
| 435 | /* size_t limit */ | 463 | /* size_t limit */ |
| 436 | #undef SIZE_MAX | 464 | #undef SIZE_MAX |
| 437 | #define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@) | 465 | #if @APPLE_UNIVERSAL_BUILD@ |
| 466 | # if _LP64 | ||
| 467 | # define SIZE_MAX _STDINT_MAX (0, 64, 0ul) | ||
| 468 | # else | ||
| 469 | # define SIZE_MAX _STDINT_MAX (0, 32, 0ul) | ||
| 470 | # endif | ||
| 471 | #else | ||
| 472 | # define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@) | ||
| 473 | #endif | ||
| 438 | 474 | ||
| 439 | /* wchar_t limits */ | 475 | /* wchar_t limits */ |
| 476 | /* Get WCHAR_MIN, WCHAR_MAX. | ||
| 477 | This include is not on the top, above, because on OSF/1 4.0 we have a sequence of nested | ||
| 478 | includes <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes | ||
| 479 | <stdint.h> and assumes its types are already defined. */ | ||
| 480 | #if ! (defined WCHAR_MIN && defined WCHAR_MAX) | ||
| 481 | # define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H | ||
| 482 | # include <wchar.h> | ||
| 483 | # undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H | ||
| 484 | #endif | ||
| 440 | #undef WCHAR_MIN | 485 | #undef WCHAR_MIN |
| 441 | #undef WCHAR_MAX | 486 | #undef WCHAR_MAX |
| 442 | #define WCHAR_MIN \ | 487 | #define WCHAR_MIN \ |
