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