1*fd82c4c4Schristos /* This file is automatically generated. DO NOT EDIT! */ 2*fd82c4c4Schristos /* Generated from: NetBSD: mknative-gdb,v 1.12 2020/09/17 16:54:31 christos Exp */ 3*fd82c4c4Schristos /* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp */ 4*fd82c4c4Schristos 5*fd82c4c4Schristos /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ 6*fd82c4c4Schristos /* Copyright (C) 2001-2002, 2004-2020 Free Software Foundation, Inc. 7*fd82c4c4Schristos Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. 8*fd82c4c4Schristos This file is part of gnulib. 9*fd82c4c4Schristos 10*fd82c4c4Schristos This program is free software; you can redistribute it and/or modify 11*fd82c4c4Schristos it under the terms of the GNU General Public License as published by 12*fd82c4c4Schristos the Free Software Foundation; either version 3, or (at your option) 13*fd82c4c4Schristos any later version. 14*fd82c4c4Schristos 15*fd82c4c4Schristos This program is distributed in the hope that it will be useful, 16*fd82c4c4Schristos but WITHOUT ANY WARRANTY; without even the implied warranty of 17*fd82c4c4Schristos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*fd82c4c4Schristos GNU General Public License for more details. 19*fd82c4c4Schristos 20*fd82c4c4Schristos You should have received a copy of the GNU General Public License 21*fd82c4c4Schristos along with this program; if not, see <https://www.gnu.org/licenses/>. */ 22*fd82c4c4Schristos 23*fd82c4c4Schristos /* 24*fd82c4c4Schristos * ISO C 99 <stdint.h> for platforms that lack it. 25*fd82c4c4Schristos * <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stdint.h.html> 26*fd82c4c4Schristos */ 27*fd82c4c4Schristos 28*fd82c4c4Schristos #ifndef _GL_STDINT_H 29*fd82c4c4Schristos 30*fd82c4c4Schristos #if __GNUC__ >= 3 31*fd82c4c4Schristos #pragma GCC system_header 32*fd82c4c4Schristos #endif 33*fd82c4c4Schristos 34*fd82c4c4Schristos 35*fd82c4c4Schristos /* When including a system file that in turn includes <inttypes.h>, 36*fd82c4c4Schristos use the system <inttypes.h>, not our substitute. This avoids 37*fd82c4c4Schristos problems with (for example) VMS, whose <sys/bitypes.h> includes 38*fd82c4c4Schristos <inttypes.h>. */ 39*fd82c4c4Schristos #define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H 40*fd82c4c4Schristos 41*fd82c4c4Schristos /* On Android (Bionic libc), <sys/types.h> includes this file before 42*fd82c4c4Schristos having defined 'time_t'. Therefore in this case avoid including 43*fd82c4c4Schristos other system header files; just include the system's <stdint.h>. 44*fd82c4c4Schristos Ideally we should test __BIONIC__ here, but it is only defined after 45*fd82c4c4Schristos <sys/cdefs.h> has been included; hence test __ANDROID__ instead. */ 46*fd82c4c4Schristos #if defined __ANDROID__ && defined _GL_INCLUDING_SYS_TYPES_H 47*fd82c4c4Schristos # include_next <stdint.h> 48*fd82c4c4Schristos #else 49*fd82c4c4Schristos 50*fd82c4c4Schristos /* Get those types that are already defined in other system include 51*fd82c4c4Schristos files, so that we can "#define int8_t signed char" below without 52*fd82c4c4Schristos worrying about a later system include file containing a "typedef 53*fd82c4c4Schristos signed char int8_t;" that will get messed up by our macro. Our 54*fd82c4c4Schristos macros should all be consistent with the system versions, except 55*fd82c4c4Schristos for the "fast" types and macros, which we recommend against using 56*fd82c4c4Schristos in public interfaces due to compiler differences. */ 57*fd82c4c4Schristos 58*fd82c4c4Schristos #if 1 59*fd82c4c4Schristos # if defined __sgi && ! defined __c99 60*fd82c4c4Schristos /* Bypass IRIX's <stdint.h> if in C89 mode, since it merely annoys users 61*fd82c4c4Schristos with "This header file is to be used only for c99 mode compilations" 62*fd82c4c4Schristos diagnostics. */ 63*fd82c4c4Schristos # define __STDINT_H__ 64*fd82c4c4Schristos # endif 65*fd82c4c4Schristos 66*fd82c4c4Schristos /* Some pre-C++11 <stdint.h> implementations need this. */ 67*fd82c4c4Schristos # ifdef __cplusplus 68*fd82c4c4Schristos # ifndef __STDC_CONSTANT_MACROS 69*fd82c4c4Schristos # define __STDC_CONSTANT_MACROS 1 70*fd82c4c4Schristos # endif 71*fd82c4c4Schristos # ifndef __STDC_LIMIT_MACROS 72*fd82c4c4Schristos # define __STDC_LIMIT_MACROS 1 73*fd82c4c4Schristos # endif 74*fd82c4c4Schristos # endif 75*fd82c4c4Schristos 76*fd82c4c4Schristos /* Other systems may have an incomplete or buggy <stdint.h>. 77*fd82c4c4Schristos Include it before <inttypes.h>, since any "#include <stdint.h>" 78*fd82c4c4Schristos in <inttypes.h> would reinclude us, skipping our contents because 79*fd82c4c4Schristos _GL_STDINT_H is defined. 80*fd82c4c4Schristos The include_next requires a split double-inclusion guard. */ 81*fd82c4c4Schristos # include_next <stdint.h> 82*fd82c4c4Schristos #endif 83*fd82c4c4Schristos 84*fd82c4c4Schristos #if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H 85*fd82c4c4Schristos #define _GL_STDINT_H 86*fd82c4c4Schristos 87*fd82c4c4Schristos /* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX, 88*fd82c4c4Schristos LONG_MIN, LONG_MAX, ULONG_MAX, _GL_INTEGER_WIDTH. */ 89*fd82c4c4Schristos #include <limits.h> 90*fd82c4c4Schristos 91*fd82c4c4Schristos /* Override WINT_MIN and WINT_MAX if gnulib's <wchar.h> or <wctype.h> overrides 92*fd82c4c4Schristos wint_t. */ 93*fd82c4c4Schristos #if 0 94*fd82c4c4Schristos # undef WINT_MIN 95*fd82c4c4Schristos # undef WINT_MAX 96*fd82c4c4Schristos # define WINT_MIN 0x0U 97*fd82c4c4Schristos # define WINT_MAX 0xffffffffU 98*fd82c4c4Schristos #endif 99*fd82c4c4Schristos 100*fd82c4c4Schristos #if ! 0 101*fd82c4c4Schristos 102*fd82c4c4Schristos /* <sys/types.h> defines some of the stdint.h types as well, on glibc, 103*fd82c4c4Schristos IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>). 104*fd82c4c4Schristos AIX 5.2 <sys/types.h> isn't needed and causes troubles. 105*fd82c4c4Schristos Mac OS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but 106*fd82c4c4Schristos relies on the system <stdint.h> definitions, so include 107*fd82c4c4Schristos <sys/types.h> after <stdint.h>. */ 108*fd82c4c4Schristos # if 1 && ! defined _AIX 109*fd82c4c4Schristos # include <sys/types.h> 110*fd82c4c4Schristos # endif 111*fd82c4c4Schristos 112*fd82c4c4Schristos # if 1 113*fd82c4c4Schristos /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines 114*fd82c4c4Schristos int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__. 115*fd82c4c4Schristos <inttypes.h> also defines intptr_t and uintptr_t. */ 116*fd82c4c4Schristos # include <inttypes.h> 117*fd82c4c4Schristos # elif 1 118*fd82c4c4Schristos /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and 119*fd82c4c4Schristos the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */ 120*fd82c4c4Schristos # include <sys/inttypes.h> 121*fd82c4c4Schristos # endif 122*fd82c4c4Schristos 123*fd82c4c4Schristos # if 0 && ! defined __BIT_TYPES_DEFINED__ 124*fd82c4c4Schristos /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines 125*fd82c4c4Schristos int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is 126*fd82c4c4Schristos included by <sys/types.h>. */ 127*fd82c4c4Schristos # include <sys/bitypes.h> 128*fd82c4c4Schristos # endif 129*fd82c4c4Schristos 130*fd82c4c4Schristos # undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H 131*fd82c4c4Schristos 132*fd82c4c4Schristos /* Minimum and maximum values for an integer type under the usual assumption. 133*fd82c4c4Schristos Return an unspecified value if BITS == 0, adding a check to pacify 134*fd82c4c4Schristos picky compilers. */ 135*fd82c4c4Schristos 136*fd82c4c4Schristos /* These are separate macros, because if you try to merge these macros into 137*fd82c4c4Schristos a single one, HP-UX cc rejects the resulting expression in constant 138*fd82c4c4Schristos expressions. */ 139*fd82c4c4Schristos # define _STDINT_UNSIGNED_MIN(bits, zero) \ 140*fd82c4c4Schristos (zero) 141*fd82c4c4Schristos # define _STDINT_SIGNED_MIN(bits, zero) \ 142*fd82c4c4Schristos (~ _STDINT_MAX (1, bits, zero)) 143*fd82c4c4Schristos 144*fd82c4c4Schristos # define _STDINT_MAX(signed, bits, zero) \ 145*fd82c4c4Schristos (((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1) 146*fd82c4c4Schristos 147*fd82c4c4Schristos #if !GNULIB_defined_stdint_types 148*fd82c4c4Schristos 149*fd82c4c4Schristos /* 7.18.1.1. Exact-width integer types */ 150*fd82c4c4Schristos 151*fd82c4c4Schristos /* Here we assume a standard architecture where the hardware integer 152*fd82c4c4Schristos types have 8, 16, 32, optionally 64 bits. */ 153*fd82c4c4Schristos 154*fd82c4c4Schristos # undef int8_t 155*fd82c4c4Schristos # undef uint8_t 156*fd82c4c4Schristos typedef signed char gl_int8_t; 157*fd82c4c4Schristos typedef unsigned char gl_uint8_t; 158*fd82c4c4Schristos # define int8_t gl_int8_t 159*fd82c4c4Schristos # define uint8_t gl_uint8_t 160*fd82c4c4Schristos 161*fd82c4c4Schristos # undef int16_t 162*fd82c4c4Schristos # undef uint16_t 163*fd82c4c4Schristos typedef short int gl_int16_t; 164*fd82c4c4Schristos typedef unsigned short int gl_uint16_t; 165*fd82c4c4Schristos # define int16_t gl_int16_t 166*fd82c4c4Schristos # define uint16_t gl_uint16_t 167*fd82c4c4Schristos 168*fd82c4c4Schristos # undef int32_t 169*fd82c4c4Schristos # undef uint32_t 170*fd82c4c4Schristos typedef int gl_int32_t; 171*fd82c4c4Schristos typedef unsigned int gl_uint32_t; 172*fd82c4c4Schristos # define int32_t gl_int32_t 173*fd82c4c4Schristos # define uint32_t gl_uint32_t 174*fd82c4c4Schristos 175*fd82c4c4Schristos /* If the system defines INT64_MAX, assume int64_t works. That way, 176*fd82c4c4Schristos if the underlying platform defines int64_t to be a 64-bit long long 177*fd82c4c4Schristos int, the code below won't mistakenly define it to be a 64-bit long 178*fd82c4c4Schristos int, which would mess up C++ name mangling. We must use #ifdef 179*fd82c4c4Schristos rather than #if, to avoid an error with HP-UX 10.20 cc. */ 180*fd82c4c4Schristos 181*fd82c4c4Schristos # ifdef INT64_MAX 182*fd82c4c4Schristos # define GL_INT64_T 183*fd82c4c4Schristos # else 184*fd82c4c4Schristos /* Do not undefine int64_t if gnulib is not being used with 64-bit 185*fd82c4c4Schristos types, since otherwise it breaks platforms like Tandem/NSK. */ 186*fd82c4c4Schristos # if LONG_MAX >> 31 >> 31 == 1 187*fd82c4c4Schristos # undef int64_t 188*fd82c4c4Schristos typedef long int gl_int64_t; 189*fd82c4c4Schristos # define int64_t gl_int64_t 190*fd82c4c4Schristos # define GL_INT64_T 191*fd82c4c4Schristos # elif defined _MSC_VER 192*fd82c4c4Schristos # undef int64_t 193*fd82c4c4Schristos typedef __int64 gl_int64_t; 194*fd82c4c4Schristos # define int64_t gl_int64_t 195*fd82c4c4Schristos # define GL_INT64_T 196*fd82c4c4Schristos # else 197*fd82c4c4Schristos # undef int64_t 198*fd82c4c4Schristos typedef long long int gl_int64_t; 199*fd82c4c4Schristos # define int64_t gl_int64_t 200*fd82c4c4Schristos # define GL_INT64_T 201*fd82c4c4Schristos # endif 202*fd82c4c4Schristos # endif 203*fd82c4c4Schristos 204*fd82c4c4Schristos # ifdef UINT64_MAX 205*fd82c4c4Schristos # define GL_UINT64_T 206*fd82c4c4Schristos # else 207*fd82c4c4Schristos # if ULONG_MAX >> 31 >> 31 >> 1 == 1 208*fd82c4c4Schristos # undef uint64_t 209*fd82c4c4Schristos typedef unsigned long int gl_uint64_t; 210*fd82c4c4Schristos # define uint64_t gl_uint64_t 211*fd82c4c4Schristos # define GL_UINT64_T 212*fd82c4c4Schristos # elif defined _MSC_VER 213*fd82c4c4Schristos # undef uint64_t 214*fd82c4c4Schristos typedef unsigned __int64 gl_uint64_t; 215*fd82c4c4Schristos # define uint64_t gl_uint64_t 216*fd82c4c4Schristos # define GL_UINT64_T 217*fd82c4c4Schristos # else 218*fd82c4c4Schristos # undef uint64_t 219*fd82c4c4Schristos typedef unsigned long long int gl_uint64_t; 220*fd82c4c4Schristos # define uint64_t gl_uint64_t 221*fd82c4c4Schristos # define GL_UINT64_T 222*fd82c4c4Schristos # endif 223*fd82c4c4Schristos # endif 224*fd82c4c4Schristos 225*fd82c4c4Schristos /* Avoid collision with Solaris 2.5.1 <pthread.h> etc. */ 226*fd82c4c4Schristos # define _UINT8_T 227*fd82c4c4Schristos # define _UINT32_T 228*fd82c4c4Schristos # define _UINT64_T 229*fd82c4c4Schristos 230*fd82c4c4Schristos 231*fd82c4c4Schristos /* 7.18.1.2. Minimum-width integer types */ 232*fd82c4c4Schristos 233*fd82c4c4Schristos /* Here we assume a standard architecture where the hardware integer 234*fd82c4c4Schristos types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types 235*fd82c4c4Schristos are the same as the corresponding N_t types. */ 236*fd82c4c4Schristos 237*fd82c4c4Schristos # undef int_least8_t 238*fd82c4c4Schristos # undef uint_least8_t 239*fd82c4c4Schristos # undef int_least16_t 240*fd82c4c4Schristos # undef uint_least16_t 241*fd82c4c4Schristos # undef int_least32_t 242*fd82c4c4Schristos # undef uint_least32_t 243*fd82c4c4Schristos # undef int_least64_t 244*fd82c4c4Schristos # undef uint_least64_t 245*fd82c4c4Schristos # define int_least8_t int8_t 246*fd82c4c4Schristos # define uint_least8_t uint8_t 247*fd82c4c4Schristos # define int_least16_t int16_t 248*fd82c4c4Schristos # define uint_least16_t uint16_t 249*fd82c4c4Schristos # define int_least32_t int32_t 250*fd82c4c4Schristos # define uint_least32_t uint32_t 251*fd82c4c4Schristos # ifdef GL_INT64_T 252*fd82c4c4Schristos # define int_least64_t int64_t 253*fd82c4c4Schristos # endif 254*fd82c4c4Schristos # ifdef GL_UINT64_T 255*fd82c4c4Schristos # define uint_least64_t uint64_t 256*fd82c4c4Schristos # endif 257*fd82c4c4Schristos 258*fd82c4c4Schristos /* 7.18.1.3. Fastest minimum-width integer types */ 259*fd82c4c4Schristos 260*fd82c4c4Schristos /* Note: Other <stdint.h> substitutes may define these types differently. 261*fd82c4c4Schristos It is not recommended to use these types in public header files. */ 262*fd82c4c4Schristos 263*fd82c4c4Schristos /* Here we assume a standard architecture where the hardware integer 264*fd82c4c4Schristos types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types 265*fd82c4c4Schristos are taken from the same list of types. The following code normally 266*fd82c4c4Schristos uses types consistent with glibc, as that lessens the chance of 267*fd82c4c4Schristos incompatibility with older GNU hosts. */ 268*fd82c4c4Schristos 269*fd82c4c4Schristos # undef int_fast8_t 270*fd82c4c4Schristos # undef uint_fast8_t 271*fd82c4c4Schristos # undef int_fast16_t 272*fd82c4c4Schristos # undef uint_fast16_t 273*fd82c4c4Schristos # undef int_fast32_t 274*fd82c4c4Schristos # undef uint_fast32_t 275*fd82c4c4Schristos # undef int_fast64_t 276*fd82c4c4Schristos # undef uint_fast64_t 277*fd82c4c4Schristos typedef signed char gl_int_fast8_t; 278*fd82c4c4Schristos typedef unsigned char gl_uint_fast8_t; 279*fd82c4c4Schristos 280*fd82c4c4Schristos # ifdef __sun 281*fd82c4c4Schristos /* Define types compatible with SunOS 5.10, so that code compiled under 282*fd82c4c4Schristos earlier SunOS versions works with code compiled under SunOS 5.10. */ 283*fd82c4c4Schristos typedef int gl_int_fast32_t; 284*fd82c4c4Schristos typedef unsigned int gl_uint_fast32_t; 285*fd82c4c4Schristos # else 286*fd82c4c4Schristos typedef long int gl_int_fast32_t; 287*fd82c4c4Schristos typedef unsigned long int gl_uint_fast32_t; 288*fd82c4c4Schristos # endif 289*fd82c4c4Schristos typedef gl_int_fast32_t gl_int_fast16_t; 290*fd82c4c4Schristos typedef gl_uint_fast32_t gl_uint_fast16_t; 291*fd82c4c4Schristos 292*fd82c4c4Schristos # define int_fast8_t gl_int_fast8_t 293*fd82c4c4Schristos # define uint_fast8_t gl_uint_fast8_t 294*fd82c4c4Schristos # define int_fast16_t gl_int_fast16_t 295*fd82c4c4Schristos # define uint_fast16_t gl_uint_fast16_t 296*fd82c4c4Schristos # define int_fast32_t gl_int_fast32_t 297*fd82c4c4Schristos # define uint_fast32_t gl_uint_fast32_t 298*fd82c4c4Schristos # ifdef GL_INT64_T 299*fd82c4c4Schristos # define int_fast64_t int64_t 300*fd82c4c4Schristos # endif 301*fd82c4c4Schristos # ifdef GL_UINT64_T 302*fd82c4c4Schristos # define uint_fast64_t uint64_t 303*fd82c4c4Schristos # endif 304*fd82c4c4Schristos 305*fd82c4c4Schristos /* 7.18.1.4. Integer types capable of holding object pointers */ 306*fd82c4c4Schristos 307*fd82c4c4Schristos /* kLIBC's <stdint.h> defines _INTPTR_T_DECLARED and needs its own 308*fd82c4c4Schristos definitions of intptr_t and uintptr_t (which use int and unsigned) 309*fd82c4c4Schristos to avoid clashes with declarations of system functions like sbrk. 310*fd82c4c4Schristos Similarly, mingw 5.22 <crtdefs.h> defines _INTPTR_T_DEFINED and 311*fd82c4c4Schristos _UINTPTR_T_DEFINED and needs its own definitions of intptr_t and 312*fd82c4c4Schristos uintptr_t to avoid conflicting declarations of system functions like 313*fd82c4c4Schristos _findclose in <io.h>. */ 314*fd82c4c4Schristos # if !((defined __KLIBC__ && defined _INTPTR_T_DECLARED) \ 315*fd82c4c4Schristos || (defined __MINGW32__ && defined _INTPTR_T_DEFINED && defined _UINTPTR_T_DEFINED)) 316*fd82c4c4Schristos # undef intptr_t 317*fd82c4c4Schristos # undef uintptr_t 318*fd82c4c4Schristos # ifdef _WIN64 319*fd82c4c4Schristos typedef long long int gl_intptr_t; 320*fd82c4c4Schristos typedef unsigned long long int gl_uintptr_t; 321*fd82c4c4Schristos # else 322*fd82c4c4Schristos typedef long int gl_intptr_t; 323*fd82c4c4Schristos typedef unsigned long int gl_uintptr_t; 324*fd82c4c4Schristos # endif 325*fd82c4c4Schristos # define intptr_t gl_intptr_t 326*fd82c4c4Schristos # define uintptr_t gl_uintptr_t 327*fd82c4c4Schristos # endif 328*fd82c4c4Schristos 329*fd82c4c4Schristos /* 7.18.1.5. Greatest-width integer types */ 330*fd82c4c4Schristos 331*fd82c4c4Schristos /* Note: These types are compiler dependent. It may be unwise to use them in 332*fd82c4c4Schristos public header files. */ 333*fd82c4c4Schristos 334*fd82c4c4Schristos /* If the system defines INTMAX_MAX, assume that intmax_t works, and 335*fd82c4c4Schristos similarly for UINTMAX_MAX and uintmax_t. This avoids problems with 336*fd82c4c4Schristos assuming one type where another is used by the system. */ 337*fd82c4c4Schristos 338*fd82c4c4Schristos # ifndef INTMAX_MAX 339*fd82c4c4Schristos # undef INTMAX_C 340*fd82c4c4Schristos # undef intmax_t 341*fd82c4c4Schristos # if LONG_MAX >> 30 == 1 342*fd82c4c4Schristos typedef long long int gl_intmax_t; 343*fd82c4c4Schristos # define intmax_t gl_intmax_t 344*fd82c4c4Schristos # elif defined GL_INT64_T 345*fd82c4c4Schristos # define intmax_t int64_t 346*fd82c4c4Schristos # else 347*fd82c4c4Schristos typedef long int gl_intmax_t; 348*fd82c4c4Schristos # define intmax_t gl_intmax_t 349*fd82c4c4Schristos # endif 350*fd82c4c4Schristos # endif 351*fd82c4c4Schristos 352*fd82c4c4Schristos # ifndef UINTMAX_MAX 353*fd82c4c4Schristos # undef UINTMAX_C 354*fd82c4c4Schristos # undef uintmax_t 355*fd82c4c4Schristos # if ULONG_MAX >> 31 == 1 356*fd82c4c4Schristos typedef unsigned long long int gl_uintmax_t; 357*fd82c4c4Schristos # define uintmax_t gl_uintmax_t 358*fd82c4c4Schristos # elif defined GL_UINT64_T 359*fd82c4c4Schristos # define uintmax_t uint64_t 360*fd82c4c4Schristos # else 361*fd82c4c4Schristos typedef unsigned long int gl_uintmax_t; 362*fd82c4c4Schristos # define uintmax_t gl_uintmax_t 363*fd82c4c4Schristos # endif 364*fd82c4c4Schristos # endif 365*fd82c4c4Schristos 366*fd82c4c4Schristos /* Verify that intmax_t and uintmax_t have the same size. Too much code 367*fd82c4c4Schristos breaks if this is not the case. If this check fails, the reason is likely 368*fd82c4c4Schristos to be found in the autoconf macros. */ 369*fd82c4c4Schristos typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t) 370*fd82c4c4Schristos ? 1 : -1]; 371*fd82c4c4Schristos 372*fd82c4c4Schristos # define GNULIB_defined_stdint_types 1 373*fd82c4c4Schristos # endif /* !GNULIB_defined_stdint_types */ 374*fd82c4c4Schristos 375*fd82c4c4Schristos /* 7.18.2. Limits of specified-width integer types */ 376*fd82c4c4Schristos 377*fd82c4c4Schristos /* 7.18.2.1. Limits of exact-width integer types */ 378*fd82c4c4Schristos 379*fd82c4c4Schristos /* Here we assume a standard architecture where the hardware integer 380*fd82c4c4Schristos types have 8, 16, 32, optionally 64 bits. */ 381*fd82c4c4Schristos 382*fd82c4c4Schristos # undef INT8_MIN 383*fd82c4c4Schristos # undef INT8_MAX 384*fd82c4c4Schristos # undef UINT8_MAX 385*fd82c4c4Schristos # define INT8_MIN (~ INT8_MAX) 386*fd82c4c4Schristos # define INT8_MAX 127 387*fd82c4c4Schristos # define UINT8_MAX 255 388*fd82c4c4Schristos 389*fd82c4c4Schristos # undef INT16_MIN 390*fd82c4c4Schristos # undef INT16_MAX 391*fd82c4c4Schristos # undef UINT16_MAX 392*fd82c4c4Schristos # define INT16_MIN (~ INT16_MAX) 393*fd82c4c4Schristos # define INT16_MAX 32767 394*fd82c4c4Schristos # define UINT16_MAX 65535 395*fd82c4c4Schristos 396*fd82c4c4Schristos # undef INT32_MIN 397*fd82c4c4Schristos # undef INT32_MAX 398*fd82c4c4Schristos # undef UINT32_MAX 399*fd82c4c4Schristos # define INT32_MIN (~ INT32_MAX) 400*fd82c4c4Schristos # define INT32_MAX 2147483647 401*fd82c4c4Schristos # define UINT32_MAX 4294967295U 402*fd82c4c4Schristos 403*fd82c4c4Schristos # if defined GL_INT64_T && ! defined INT64_MAX 404*fd82c4c4Schristos /* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0 405*fd82c4c4Schristos evaluates the latter incorrectly in preprocessor expressions. */ 406*fd82c4c4Schristos # define INT64_MIN (- INTMAX_C (1) << 63) 407*fd82c4c4Schristos # define INT64_MAX INTMAX_C (9223372036854775807) 408*fd82c4c4Schristos # endif 409*fd82c4c4Schristos 410*fd82c4c4Schristos # if defined GL_UINT64_T && ! defined UINT64_MAX 411*fd82c4c4Schristos # define UINT64_MAX UINTMAX_C (18446744073709551615) 412*fd82c4c4Schristos # endif 413*fd82c4c4Schristos 414*fd82c4c4Schristos /* 7.18.2.2. Limits of minimum-width integer types */ 415*fd82c4c4Schristos 416*fd82c4c4Schristos /* Here we assume a standard architecture where the hardware integer 417*fd82c4c4Schristos types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types 418*fd82c4c4Schristos are the same as the corresponding N_t types. */ 419*fd82c4c4Schristos 420*fd82c4c4Schristos # undef INT_LEAST8_MIN 421*fd82c4c4Schristos # undef INT_LEAST8_MAX 422*fd82c4c4Schristos # undef UINT_LEAST8_MAX 423*fd82c4c4Schristos # define INT_LEAST8_MIN INT8_MIN 424*fd82c4c4Schristos # define INT_LEAST8_MAX INT8_MAX 425*fd82c4c4Schristos # define UINT_LEAST8_MAX UINT8_MAX 426*fd82c4c4Schristos 427*fd82c4c4Schristos # undef INT_LEAST16_MIN 428*fd82c4c4Schristos # undef INT_LEAST16_MAX 429*fd82c4c4Schristos # undef UINT_LEAST16_MAX 430*fd82c4c4Schristos # define INT_LEAST16_MIN INT16_MIN 431*fd82c4c4Schristos # define INT_LEAST16_MAX INT16_MAX 432*fd82c4c4Schristos # define UINT_LEAST16_MAX UINT16_MAX 433*fd82c4c4Schristos 434*fd82c4c4Schristos # undef INT_LEAST32_MIN 435*fd82c4c4Schristos # undef INT_LEAST32_MAX 436*fd82c4c4Schristos # undef UINT_LEAST32_MAX 437*fd82c4c4Schristos # define INT_LEAST32_MIN INT32_MIN 438*fd82c4c4Schristos # define INT_LEAST32_MAX INT32_MAX 439*fd82c4c4Schristos # define UINT_LEAST32_MAX UINT32_MAX 440*fd82c4c4Schristos 441*fd82c4c4Schristos # undef INT_LEAST64_MIN 442*fd82c4c4Schristos # undef INT_LEAST64_MAX 443*fd82c4c4Schristos # ifdef GL_INT64_T 444*fd82c4c4Schristos # define INT_LEAST64_MIN INT64_MIN 445*fd82c4c4Schristos # define INT_LEAST64_MAX INT64_MAX 446*fd82c4c4Schristos # endif 447*fd82c4c4Schristos 448*fd82c4c4Schristos # undef UINT_LEAST64_MAX 449*fd82c4c4Schristos # ifdef GL_UINT64_T 450*fd82c4c4Schristos # define UINT_LEAST64_MAX UINT64_MAX 451*fd82c4c4Schristos # endif 452*fd82c4c4Schristos 453*fd82c4c4Schristos /* 7.18.2.3. Limits of fastest minimum-width integer types */ 454*fd82c4c4Schristos 455*fd82c4c4Schristos /* Here we assume a standard architecture where the hardware integer 456*fd82c4c4Schristos types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types 457*fd82c4c4Schristos are taken from the same list of types. */ 458*fd82c4c4Schristos 459*fd82c4c4Schristos # undef INT_FAST8_MIN 460*fd82c4c4Schristos # undef INT_FAST8_MAX 461*fd82c4c4Schristos # undef UINT_FAST8_MAX 462*fd82c4c4Schristos # define INT_FAST8_MIN SCHAR_MIN 463*fd82c4c4Schristos # define INT_FAST8_MAX SCHAR_MAX 464*fd82c4c4Schristos # define UINT_FAST8_MAX UCHAR_MAX 465*fd82c4c4Schristos 466*fd82c4c4Schristos # undef INT_FAST16_MIN 467*fd82c4c4Schristos # undef INT_FAST16_MAX 468*fd82c4c4Schristos # undef UINT_FAST16_MAX 469*fd82c4c4Schristos # define INT_FAST16_MIN INT_FAST32_MIN 470*fd82c4c4Schristos # define INT_FAST16_MAX INT_FAST32_MAX 471*fd82c4c4Schristos # define UINT_FAST16_MAX UINT_FAST32_MAX 472*fd82c4c4Schristos 473*fd82c4c4Schristos # undef INT_FAST32_MIN 474*fd82c4c4Schristos # undef INT_FAST32_MAX 475*fd82c4c4Schristos # undef UINT_FAST32_MAX 476*fd82c4c4Schristos # ifdef __sun 477*fd82c4c4Schristos # define INT_FAST32_MIN INT_MIN 478*fd82c4c4Schristos # define INT_FAST32_MAX INT_MAX 479*fd82c4c4Schristos # define UINT_FAST32_MAX UINT_MAX 480*fd82c4c4Schristos # else 481*fd82c4c4Schristos # define INT_FAST32_MIN LONG_MIN 482*fd82c4c4Schristos # define INT_FAST32_MAX LONG_MAX 483*fd82c4c4Schristos # define UINT_FAST32_MAX ULONG_MAX 484*fd82c4c4Schristos # endif 485*fd82c4c4Schristos 486*fd82c4c4Schristos # undef INT_FAST64_MIN 487*fd82c4c4Schristos # undef INT_FAST64_MAX 488*fd82c4c4Schristos # ifdef GL_INT64_T 489*fd82c4c4Schristos # define INT_FAST64_MIN INT64_MIN 490*fd82c4c4Schristos # define INT_FAST64_MAX INT64_MAX 491*fd82c4c4Schristos # endif 492*fd82c4c4Schristos 493*fd82c4c4Schristos # undef UINT_FAST64_MAX 494*fd82c4c4Schristos # ifdef GL_UINT64_T 495*fd82c4c4Schristos # define UINT_FAST64_MAX UINT64_MAX 496*fd82c4c4Schristos # endif 497*fd82c4c4Schristos 498*fd82c4c4Schristos /* 7.18.2.4. Limits of integer types capable of holding object pointers */ 499*fd82c4c4Schristos 500*fd82c4c4Schristos # undef INTPTR_MIN 501*fd82c4c4Schristos # undef INTPTR_MAX 502*fd82c4c4Schristos # undef UINTPTR_MAX 503*fd82c4c4Schristos # ifdef _WIN64 504*fd82c4c4Schristos # define INTPTR_MIN LLONG_MIN 505*fd82c4c4Schristos # define INTPTR_MAX LLONG_MAX 506*fd82c4c4Schristos # define UINTPTR_MAX ULLONG_MAX 507*fd82c4c4Schristos # else 508*fd82c4c4Schristos # define INTPTR_MIN LONG_MIN 509*fd82c4c4Schristos # define INTPTR_MAX LONG_MAX 510*fd82c4c4Schristos # define UINTPTR_MAX ULONG_MAX 511*fd82c4c4Schristos # endif 512*fd82c4c4Schristos 513*fd82c4c4Schristos /* 7.18.2.5. Limits of greatest-width integer types */ 514*fd82c4c4Schristos 515*fd82c4c4Schristos # ifndef INTMAX_MAX 516*fd82c4c4Schristos # undef INTMAX_MIN 517*fd82c4c4Schristos # ifdef INT64_MAX 518*fd82c4c4Schristos # define INTMAX_MIN INT64_MIN 519*fd82c4c4Schristos # define INTMAX_MAX INT64_MAX 520*fd82c4c4Schristos # else 521*fd82c4c4Schristos # define INTMAX_MIN INT32_MIN 522*fd82c4c4Schristos # define INTMAX_MAX INT32_MAX 523*fd82c4c4Schristos # endif 524*fd82c4c4Schristos # endif 525*fd82c4c4Schristos 526*fd82c4c4Schristos # ifndef UINTMAX_MAX 527*fd82c4c4Schristos # ifdef UINT64_MAX 528*fd82c4c4Schristos # define UINTMAX_MAX UINT64_MAX 529*fd82c4c4Schristos # else 530*fd82c4c4Schristos # define UINTMAX_MAX UINT32_MAX 531*fd82c4c4Schristos # endif 532*fd82c4c4Schristos # endif 533*fd82c4c4Schristos 534*fd82c4c4Schristos /* 7.18.3. Limits of other integer types */ 535*fd82c4c4Schristos 536*fd82c4c4Schristos /* ptrdiff_t limits */ 537*fd82c4c4Schristos # undef PTRDIFF_MIN 538*fd82c4c4Schristos # undef PTRDIFF_MAX 539*fd82c4c4Schristos # if 0 540*fd82c4c4Schristos # ifdef _LP64 541*fd82c4c4Schristos # define PTRDIFF_MIN _STDINT_SIGNED_MIN (64, 0l) 542*fd82c4c4Schristos # define PTRDIFF_MAX _STDINT_MAX (1, 64, 0l) 543*fd82c4c4Schristos # else 544*fd82c4c4Schristos # define PTRDIFF_MIN _STDINT_SIGNED_MIN (32, 0) 545*fd82c4c4Schristos # define PTRDIFF_MAX _STDINT_MAX (1, 32, 0) 546*fd82c4c4Schristos # endif 547*fd82c4c4Schristos # else 548*fd82c4c4Schristos # define PTRDIFF_MIN \ 549*fd82c4c4Schristos _STDINT_SIGNED_MIN (64, 0l) 550*fd82c4c4Schristos # define PTRDIFF_MAX \ 551*fd82c4c4Schristos _STDINT_MAX (1, 64, 0l) 552*fd82c4c4Schristos # endif 553*fd82c4c4Schristos 554*fd82c4c4Schristos /* sig_atomic_t limits */ 555*fd82c4c4Schristos # undef SIG_ATOMIC_MIN 556*fd82c4c4Schristos # undef SIG_ATOMIC_MAX 557*fd82c4c4Schristos # if 1 558*fd82c4c4Schristos # define SIG_ATOMIC_MIN \ 559*fd82c4c4Schristos _STDINT_SIGNED_MIN (64, 0l) 560*fd82c4c4Schristos # else 561*fd82c4c4Schristos # define SIG_ATOMIC_MIN \ 562*fd82c4c4Schristos _STDINT_UNSIGNED_MIN (64, 0l) 563*fd82c4c4Schristos # endif 564*fd82c4c4Schristos # define SIG_ATOMIC_MAX \ 565*fd82c4c4Schristos _STDINT_MAX (1, 64, \ 566*fd82c4c4Schristos 0l) 567*fd82c4c4Schristos 568*fd82c4c4Schristos 569*fd82c4c4Schristos /* size_t limit */ 570*fd82c4c4Schristos # undef SIZE_MAX 571*fd82c4c4Schristos # if 0 572*fd82c4c4Schristos # ifdef _LP64 573*fd82c4c4Schristos # define SIZE_MAX _STDINT_MAX (0, 64, 0ul) 574*fd82c4c4Schristos # else 575*fd82c4c4Schristos # define SIZE_MAX _STDINT_MAX (0, 32, 0ul) 576*fd82c4c4Schristos # endif 577*fd82c4c4Schristos # else 578*fd82c4c4Schristos # define SIZE_MAX _STDINT_MAX (0, 64, 0ul) 579*fd82c4c4Schristos # endif 580*fd82c4c4Schristos 581*fd82c4c4Schristos /* wchar_t limits */ 582*fd82c4c4Schristos /* Get WCHAR_MIN, WCHAR_MAX. 583*fd82c4c4Schristos This include is not on the top, above, because on OSF/1 4.0 we have a 584*fd82c4c4Schristos sequence of nested includes 585*fd82c4c4Schristos <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes 586*fd82c4c4Schristos <stdint.h> and assumes its types are already defined. */ 587*fd82c4c4Schristos # if 1 && ! (defined WCHAR_MIN && defined WCHAR_MAX) 588*fd82c4c4Schristos /* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be 589*fd82c4c4Schristos included before <wchar.h>. */ 590*fd82c4c4Schristos # include <stddef.h> 591*fd82c4c4Schristos # include <stdio.h> 592*fd82c4c4Schristos # include <time.h> 593*fd82c4c4Schristos # define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H 594*fd82c4c4Schristos # include <wchar.h> 595*fd82c4c4Schristos # undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H 596*fd82c4c4Schristos # endif 597*fd82c4c4Schristos # undef WCHAR_MIN 598*fd82c4c4Schristos # undef WCHAR_MAX 599*fd82c4c4Schristos # if 1 600*fd82c4c4Schristos # define WCHAR_MIN \ 601*fd82c4c4Schristos _STDINT_SIGNED_MIN (32, 0) 602*fd82c4c4Schristos # else 603*fd82c4c4Schristos # define WCHAR_MIN \ 604*fd82c4c4Schristos _STDINT_UNSIGNED_MIN (32, 0) 605*fd82c4c4Schristos # endif 606*fd82c4c4Schristos # define WCHAR_MAX \ 607*fd82c4c4Schristos _STDINT_MAX (1, 32, 0) 608*fd82c4c4Schristos 609*fd82c4c4Schristos /* wint_t limits */ 610*fd82c4c4Schristos /* If gnulib's <wchar.h> or <wctype.h> overrides wint_t, is not 611*fd82c4c4Schristos accurate, therefore use the definitions from above. */ 612*fd82c4c4Schristos # if !0 613*fd82c4c4Schristos # undef WINT_MIN 614*fd82c4c4Schristos # undef WINT_MAX 615*fd82c4c4Schristos # if 1 616*fd82c4c4Schristos # define WINT_MIN \ 617*fd82c4c4Schristos _STDINT_SIGNED_MIN (32, 0) 618*fd82c4c4Schristos # else 619*fd82c4c4Schristos # define WINT_MIN \ 620*fd82c4c4Schristos _STDINT_UNSIGNED_MIN (32, 0) 621*fd82c4c4Schristos # endif 622*fd82c4c4Schristos # define WINT_MAX \ 623*fd82c4c4Schristos _STDINT_MAX (1, 32, 0) 624*fd82c4c4Schristos # endif 625*fd82c4c4Schristos 626*fd82c4c4Schristos /* 7.18.4. Macros for integer constants */ 627*fd82c4c4Schristos 628*fd82c4c4Schristos /* 7.18.4.1. Macros for minimum-width integer constants */ 629*fd82c4c4Schristos /* According to ISO C 99 Technical Corrigendum 1 */ 630*fd82c4c4Schristos 631*fd82c4c4Schristos /* Here we assume a standard architecture where the hardware integer 632*fd82c4c4Schristos types have 8, 16, 32, optionally 64 bits, and int is 32 bits. */ 633*fd82c4c4Schristos 634*fd82c4c4Schristos # undef INT8_C 635*fd82c4c4Schristos # undef UINT8_C 636*fd82c4c4Schristos # define INT8_C(x) x 637*fd82c4c4Schristos # define UINT8_C(x) x 638*fd82c4c4Schristos 639*fd82c4c4Schristos # undef INT16_C 640*fd82c4c4Schristos # undef UINT16_C 641*fd82c4c4Schristos # define INT16_C(x) x 642*fd82c4c4Schristos # define UINT16_C(x) x 643*fd82c4c4Schristos 644*fd82c4c4Schristos # undef INT32_C 645*fd82c4c4Schristos # undef UINT32_C 646*fd82c4c4Schristos # define INT32_C(x) x 647*fd82c4c4Schristos # define UINT32_C(x) x ## U 648*fd82c4c4Schristos 649*fd82c4c4Schristos # undef INT64_C 650*fd82c4c4Schristos # undef UINT64_C 651*fd82c4c4Schristos # if LONG_MAX >> 31 >> 31 == 1 652*fd82c4c4Schristos # define INT64_C(x) x##L 653*fd82c4c4Schristos # elif defined _MSC_VER 654*fd82c4c4Schristos # define INT64_C(x) x##i64 655*fd82c4c4Schristos # else 656*fd82c4c4Schristos # define INT64_C(x) x##LL 657*fd82c4c4Schristos # endif 658*fd82c4c4Schristos # if ULONG_MAX >> 31 >> 31 >> 1 == 1 659*fd82c4c4Schristos # define UINT64_C(x) x##UL 660*fd82c4c4Schristos # elif defined _MSC_VER 661*fd82c4c4Schristos # define UINT64_C(x) x##ui64 662*fd82c4c4Schristos # else 663*fd82c4c4Schristos # define UINT64_C(x) x##ULL 664*fd82c4c4Schristos # endif 665*fd82c4c4Schristos 666*fd82c4c4Schristos /* 7.18.4.2. Macros for greatest-width integer constants */ 667*fd82c4c4Schristos 668*fd82c4c4Schristos # ifndef INTMAX_C 669*fd82c4c4Schristos # if LONG_MAX >> 30 == 1 670*fd82c4c4Schristos # define INTMAX_C(x) x##LL 671*fd82c4c4Schristos # elif defined GL_INT64_T 672*fd82c4c4Schristos # define INTMAX_C(x) INT64_C(x) 673*fd82c4c4Schristos # else 674*fd82c4c4Schristos # define INTMAX_C(x) x##L 675*fd82c4c4Schristos # endif 676*fd82c4c4Schristos # endif 677*fd82c4c4Schristos 678*fd82c4c4Schristos # ifndef UINTMAX_C 679*fd82c4c4Schristos # if ULONG_MAX >> 31 == 1 680*fd82c4c4Schristos # define UINTMAX_C(x) x##ULL 681*fd82c4c4Schristos # elif defined GL_UINT64_T 682*fd82c4c4Schristos # define UINTMAX_C(x) UINT64_C(x) 683*fd82c4c4Schristos # else 684*fd82c4c4Schristos # define UINTMAX_C(x) x##UL 685*fd82c4c4Schristos # endif 686*fd82c4c4Schristos # endif 687*fd82c4c4Schristos 688*fd82c4c4Schristos #endif /* !0 */ 689*fd82c4c4Schristos 690*fd82c4c4Schristos /* Macros specified by ISO/IEC TS 18661-1:2014. */ 691*fd82c4c4Schristos 692*fd82c4c4Schristos #if (!defined UINTMAX_WIDTH \ 693*fd82c4c4Schristos && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__)) 694*fd82c4c4Schristos # ifdef INT8_MAX 695*fd82c4c4Schristos # define INT8_WIDTH _GL_INTEGER_WIDTH (INT8_MIN, INT8_MAX) 696*fd82c4c4Schristos # endif 697*fd82c4c4Schristos # ifdef UINT8_MAX 698*fd82c4c4Schristos # define UINT8_WIDTH _GL_INTEGER_WIDTH (0, UINT8_MAX) 699*fd82c4c4Schristos # endif 700*fd82c4c4Schristos # ifdef INT16_MAX 701*fd82c4c4Schristos # define INT16_WIDTH _GL_INTEGER_WIDTH (INT16_MIN, INT16_MAX) 702*fd82c4c4Schristos # endif 703*fd82c4c4Schristos # ifdef UINT16_MAX 704*fd82c4c4Schristos # define UINT16_WIDTH _GL_INTEGER_WIDTH (0, UINT16_MAX) 705*fd82c4c4Schristos # endif 706*fd82c4c4Schristos # ifdef INT32_MAX 707*fd82c4c4Schristos # define INT32_WIDTH _GL_INTEGER_WIDTH (INT32_MIN, INT32_MAX) 708*fd82c4c4Schristos # endif 709*fd82c4c4Schristos # ifdef UINT32_MAX 710*fd82c4c4Schristos # define UINT32_WIDTH _GL_INTEGER_WIDTH (0, UINT32_MAX) 711*fd82c4c4Schristos # endif 712*fd82c4c4Schristos # ifdef INT64_MAX 713*fd82c4c4Schristos # define INT64_WIDTH _GL_INTEGER_WIDTH (INT64_MIN, INT64_MAX) 714*fd82c4c4Schristos # endif 715*fd82c4c4Schristos # ifdef UINT64_MAX 716*fd82c4c4Schristos # define UINT64_WIDTH _GL_INTEGER_WIDTH (0, UINT64_MAX) 717*fd82c4c4Schristos # endif 718*fd82c4c4Schristos # define INT_LEAST8_WIDTH _GL_INTEGER_WIDTH (INT_LEAST8_MIN, INT_LEAST8_MAX) 719*fd82c4c4Schristos # define UINT_LEAST8_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST8_MAX) 720*fd82c4c4Schristos # define INT_LEAST16_WIDTH _GL_INTEGER_WIDTH (INT_LEAST16_MIN, INT_LEAST16_MAX) 721*fd82c4c4Schristos # define UINT_LEAST16_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST16_MAX) 722*fd82c4c4Schristos # define INT_LEAST32_WIDTH _GL_INTEGER_WIDTH (INT_LEAST32_MIN, INT_LEAST32_MAX) 723*fd82c4c4Schristos # define UINT_LEAST32_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST32_MAX) 724*fd82c4c4Schristos # define INT_LEAST64_WIDTH _GL_INTEGER_WIDTH (INT_LEAST64_MIN, INT_LEAST64_MAX) 725*fd82c4c4Schristos # define UINT_LEAST64_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST64_MAX) 726*fd82c4c4Schristos # define INT_FAST8_WIDTH _GL_INTEGER_WIDTH (INT_FAST8_MIN, INT_FAST8_MAX) 727*fd82c4c4Schristos # define UINT_FAST8_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST8_MAX) 728*fd82c4c4Schristos # define INT_FAST16_WIDTH _GL_INTEGER_WIDTH (INT_FAST16_MIN, INT_FAST16_MAX) 729*fd82c4c4Schristos # define UINT_FAST16_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST16_MAX) 730*fd82c4c4Schristos # define INT_FAST32_WIDTH _GL_INTEGER_WIDTH (INT_FAST32_MIN, INT_FAST32_MAX) 731*fd82c4c4Schristos # define UINT_FAST32_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST32_MAX) 732*fd82c4c4Schristos # define INT_FAST64_WIDTH _GL_INTEGER_WIDTH (INT_FAST64_MIN, INT_FAST64_MAX) 733*fd82c4c4Schristos # define UINT_FAST64_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST64_MAX) 734*fd82c4c4Schristos # define INTPTR_WIDTH _GL_INTEGER_WIDTH (INTPTR_MIN, INTPTR_MAX) 735*fd82c4c4Schristos # define UINTPTR_WIDTH _GL_INTEGER_WIDTH (0, UINTPTR_MAX) 736*fd82c4c4Schristos # define INTMAX_WIDTH _GL_INTEGER_WIDTH (INTMAX_MIN, INTMAX_MAX) 737*fd82c4c4Schristos # define UINTMAX_WIDTH _GL_INTEGER_WIDTH (0, UINTMAX_MAX) 738*fd82c4c4Schristos # define PTRDIFF_WIDTH _GL_INTEGER_WIDTH (PTRDIFF_MIN, PTRDIFF_MAX) 739*fd82c4c4Schristos # define SIZE_WIDTH _GL_INTEGER_WIDTH (0, SIZE_MAX) 740*fd82c4c4Schristos # define WCHAR_WIDTH _GL_INTEGER_WIDTH (WCHAR_MIN, WCHAR_MAX) 741*fd82c4c4Schristos # ifdef WINT_MAX 742*fd82c4c4Schristos # define WINT_WIDTH _GL_INTEGER_WIDTH (WINT_MIN, WINT_MAX) 743*fd82c4c4Schristos # endif 744*fd82c4c4Schristos # ifdef SIG_ATOMIC_MAX 745*fd82c4c4Schristos # define SIG_ATOMIC_WIDTH _GL_INTEGER_WIDTH (SIG_ATOMIC_MIN, SIG_ATOMIC_MAX) 746*fd82c4c4Schristos # endif 747*fd82c4c4Schristos #endif /* !WINT_WIDTH && (_GNU_SOURCE || __STDC_WANT_IEC_60559_BFP_EXT__) */ 748*fd82c4c4Schristos 749*fd82c4c4Schristos #endif /* _GL_STDINT_H */ 750*fd82c4c4Schristos #endif /* !(defined __ANDROID__ && ...) */ 751*fd82c4c4Schristos #endif /* !defined _GL_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */ 752