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