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