1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #ifndef _@GUARD_PREFIX@_STDINT_H
24
25 #if __GNUC__ >= 3
26 @PRAGMA_SYSTEM_HEADER@
27 #endif
28 @PRAGMA_COLUMNS@
29
30
31
32
33
34 #define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
35
36
37
38
39
40
41 #if defined __ANDROID__ \
42 && defined _SYS_TYPES_H_ && !defined _SSIZE_T_DEFINED_
43 # @INCLUDE_NEXT@ @NEXT_STDINT_H@
44 #else
45
46
47
48
49
50
51
52
53
54 #if @HAVE_STDINT_H@
55 # if defined __sgi && ! defined __c99
56
57
58
59 # define __STDINT_H__
60 # endif
61
62
63 # ifdef __cplusplus
64 # ifndef __STDC_CONSTANT_MACROS
65 # define __STDC_CONSTANT_MACROS 1
66 # endif
67 # ifndef __STDC_LIMIT_MACROS
68 # define __STDC_LIMIT_MACROS 1
69 # endif
70 # endif
71
72
73
74
75
76
77 # @INCLUDE_NEXT@ @NEXT_STDINT_H@
78 #endif
79
80 #if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
81 #define _@GUARD_PREFIX@_STDINT_H
82
83
84
85
86
87
88
89 #if @HAVE_SYS_TYPES_H@ && ! defined _AIX
90 # include <sys/types.h>
91 #endif
92
93
94
95 #include <limits.h>
96
97 #if @HAVE_INTTYPES_H@
98
99
100
101 # include <inttypes.h>
102 #elif @HAVE_SYS_INTTYPES_H@
103
104
105 # include <sys/inttypes.h>
106 #endif
107
108 #if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
109
110
111
112 # include <sys/bitypes.h>
113 #endif
114
115 #undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
116
117
118
119
120
121 #define _STDINT_MIN(signed, bits, zero) \
122 ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero))
123
124 #define _STDINT_MAX(signed, bits, zero) \
125 ((signed) \
126 ? ~ _STDINT_MIN (signed, bits, zero) \
127 :
128
129 \
130 ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
131
132 #if !GNULIB_defined_stdint_types
133
134
135
136
137
138
139 #undef int8_t
140 #undef uint8_t
141 typedef signed char gl_int8_t;
142 typedef unsigned char gl_uint8_t;
143 #define int8_t gl_int8_t
144 #define uint8_t gl_uint8_t
145
146 #undef int16_t
147 #undef uint16_t
148 typedef short int gl_int16_t;
149 typedef unsigned short int gl_uint16_t;
150 #define int16_t gl_int16_t
151 #define uint16_t gl_uint16_t
152
153 #undef int32_t
154 #undef uint32_t
155 typedef int gl_int32_t;
156 typedef unsigned int gl_uint32_t;
157 #define int32_t gl_int32_t
158 #define uint32_t gl_uint32_t
159
160
161
162
163
164
165
166 #ifdef INT64_MAX
167 # define GL_INT64_T
168 #else
169
170
171 # if LONG_MAX >> 31 >> 31 == 1
172 # undef int64_t
173 typedef long int gl_int64_t;
174 # define int64_t gl_int64_t
175 # define GL_INT64_T
176 # elif defined _MSC_VER
177 # undef int64_t
178 typedef __int64 gl_int64_t;
179 # define int64_t gl_int64_t
180 # define GL_INT64_T
181 # elif @HAVE_LONG_LONG_INT@
182 # undef int64_t
183 typedef long long int gl_int64_t;
184 # define int64_t gl_int64_t
185 # define GL_INT64_T
186 # endif
187 #endif
188
189 #ifdef UINT64_MAX
190 # define GL_UINT64_T
191 #else
192 # if ULONG_MAX >> 31 >> 31 >> 1 == 1
193 # undef uint64_t
194 typedef unsigned long int gl_uint64_t;
195 # define uint64_t gl_uint64_t
196 # define GL_UINT64_T
197 # elif defined _MSC_VER
198 # undef uint64_t
199 typedef unsigned __int64 gl_uint64_t;
200 # define uint64_t gl_uint64_t
201 # define GL_UINT64_T
202 # elif @HAVE_UNSIGNED_LONG_LONG_INT@
203 # undef uint64_t
204 typedef unsigned long long int gl_uint64_t;
205 # define uint64_t gl_uint64_t
206 # define GL_UINT64_T
207 # endif
208 #endif
209
210
211 #define _UINT8_T
212 #define _UINT32_T
213 #define _UINT64_T
214
215
216
217
218
219
220
221
222 #undef int_least8_t
223 #undef uint_least8_t
224 #undef int_least16_t
225 #undef uint_least16_t
226 #undef int_least32_t
227 #undef uint_least32_t
228 #undef int_least64_t
229 #undef uint_least64_t
230 #define int_least8_t int8_t
231 #define uint_least8_t uint8_t
232 #define int_least16_t int16_t
233 #define uint_least16_t uint16_t
234 #define int_least32_t int32_t
235 #define uint_least32_t uint32_t
236 #ifdef GL_INT64_T
237 # define int_least64_t int64_t
238 #endif
239 #ifdef GL_UINT64_T
240 # define uint_least64_t uint64_t
241 #endif
242
243
244
245
246
247
248
249
250
251
252
253
254 #undef int_fast8_t
255 #undef uint_fast8_t
256 #undef int_fast16_t
257 #undef uint_fast16_t
258 #undef int_fast32_t
259 #undef uint_fast32_t
260 #undef int_fast64_t
261 #undef uint_fast64_t
262 typedef signed char gl_int_fast8_t;
263 typedef unsigned char gl_uint_fast8_t;
264
265 #ifdef __sun
266
267
268 typedef int gl_int_fast32_t;
269 typedef unsigned int gl_uint_fast32_t;
270 #else
271 typedef long int gl_int_fast32_t;
272 typedef unsigned long int gl_uint_fast32_t;
273 #endif
274 typedef gl_int_fast32_t gl_int_fast16_t;
275 typedef gl_uint_fast32_t gl_uint_fast16_t;
276
277 #define int_fast8_t gl_int_fast8_t
278 #define uint_fast8_t gl_uint_fast8_t
279 #define int_fast16_t gl_int_fast16_t
280 #define uint_fast16_t gl_uint_fast16_t
281 #define int_fast32_t gl_int_fast32_t
282 #define uint_fast32_t gl_uint_fast32_t
283 #ifdef GL_INT64_T
284 # define int_fast64_t int64_t
285 #endif
286 #ifdef GL_UINT64_T
287 # define uint_fast64_t uint64_t
288 #endif
289
290
291
292 #undef intptr_t
293 #undef uintptr_t
294 typedef long int gl_intptr_t;
295 typedef unsigned long int gl_uintptr_t;
296 #define intptr_t gl_intptr_t
297 #define uintptr_t gl_uintptr_t
298
299
300
301
302
303
304
305
306
307
308 #ifndef INTMAX_MAX
309 # undef INTMAX_C
310 # undef intmax_t
311 # if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
312 typedef long long int gl_intmax_t;
313 # define intmax_t gl_intmax_t
314 # elif defined GL_INT64_T
315 # define intmax_t int64_t
316 # else
317 typedef long int gl_intmax_t;
318 # define intmax_t gl_intmax_t
319 # endif
320 #endif
321
322 #ifndef UINTMAX_MAX
323 # undef UINTMAX_C
324 # undef uintmax_t
325 # if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
326 typedef unsigned long long int gl_uintmax_t;
327 # define uintmax_t gl_uintmax_t
328 # elif defined GL_UINT64_T
329 # define uintmax_t uint64_t
330 # else
331 typedef unsigned long int gl_uintmax_t;
332 # define uintmax_t gl_uintmax_t
333 # endif
334 #endif
335
336
337
338
339 typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
340 ? 1 : -1];
341
342 #define GNULIB_defined_stdint_types 1
343 #endif
344
345
346
347
348
349
350
351
352 #undef INT8_MIN
353 #undef INT8_MAX
354 #undef UINT8_MAX
355 #define INT8_MIN (~ INT8_MAX)
356 #define INT8_MAX 127
357 #define UINT8_MAX 255
358
359 #undef INT16_MIN
360 #undef INT16_MAX
361 #undef UINT16_MAX
362 #define INT16_MIN (~ INT16_MAX)
363 #define INT16_MAX 32767
364 #define UINT16_MAX 65535
365
366 #undef INT32_MIN
367 #undef INT32_MAX
368 #undef UINT32_MAX
369 #define INT32_MIN (~ INT32_MAX)
370 #define INT32_MAX 2147483647
371 #define UINT32_MAX 4294967295U
372
373 #if defined GL_INT64_T && ! defined INT64_MAX
374
375
376 # define INT64_MIN (- INTMAX_C (1) << 63)
377 # define INT64_MAX INTMAX_C (9223372036854775807)
378 #endif
379
380 #if defined GL_UINT64_T && ! defined UINT64_MAX
381 # define UINT64_MAX UINTMAX_C (18446744073709551615)
382 #endif
383
384
385
386
387
388
389
390 #undef INT_LEAST8_MIN
391 #undef INT_LEAST8_MAX
392 #undef UINT_LEAST8_MAX
393 #define INT_LEAST8_MIN INT8_MIN
394 #define INT_LEAST8_MAX INT8_MAX
395 #define UINT_LEAST8_MAX UINT8_MAX
396
397 #undef INT_LEAST16_MIN
398 #undef INT_LEAST16_MAX
399 #undef UINT_LEAST16_MAX
400 #define INT_LEAST16_MIN INT16_MIN
401 #define INT_LEAST16_MAX INT16_MAX
402 #define UINT_LEAST16_MAX UINT16_MAX
403
404 #undef INT_LEAST32_MIN
405 #undef INT_LEAST32_MAX
406 #undef UINT_LEAST32_MAX
407 #define INT_LEAST32_MIN INT32_MIN
408 #define INT_LEAST32_MAX INT32_MAX
409 #define UINT_LEAST32_MAX UINT32_MAX
410
411 #undef INT_LEAST64_MIN
412 #undef INT_LEAST64_MAX
413 #ifdef GL_INT64_T
414 # define INT_LEAST64_MIN INT64_MIN
415 # define INT_LEAST64_MAX INT64_MAX
416 #endif
417
418 #undef UINT_LEAST64_MAX
419 #ifdef GL_UINT64_T
420 # define UINT_LEAST64_MAX UINT64_MAX
421 #endif
422
423
424
425
426
427
428
429 #undef INT_FAST8_MIN
430 #undef INT_FAST8_MAX
431 #undef UINT_FAST8_MAX
432 #define INT_FAST8_MIN SCHAR_MIN
433 #define INT_FAST8_MAX SCHAR_MAX
434 #define UINT_FAST8_MAX UCHAR_MAX
435
436 #undef INT_FAST16_MIN
437 #undef INT_FAST16_MAX
438 #undef UINT_FAST16_MAX
439 #define INT_FAST16_MIN INT_FAST32_MIN
440 #define INT_FAST16_MAX INT_FAST32_MAX
441 #define UINT_FAST16_MAX UINT_FAST32_MAX
442
443 #undef INT_FAST32_MIN
444 #undef INT_FAST32_MAX
445 #undef UINT_FAST32_MAX
446 #ifdef __sun
447 # define INT_FAST32_MIN INT_MIN
448 # define INT_FAST32_MAX INT_MAX
449 # define UINT_FAST32_MAX UINT_MAX
450 #else
451 # define INT_FAST32_MIN LONG_MIN
452 # define INT_FAST32_MAX LONG_MAX
453 # define UINT_FAST32_MAX ULONG_MAX
454 #endif
455
456 #undef INT_FAST64_MIN
457 #undef INT_FAST64_MAX
458 #ifdef GL_INT64_T
459 # define INT_FAST64_MIN INT64_MIN
460 # define INT_FAST64_MAX INT64_MAX
461 #endif
462
463 #undef UINT_FAST64_MAX
464 #ifdef GL_UINT64_T
465 # define UINT_FAST64_MAX UINT64_MAX
466 #endif
467
468
469
470 #undef INTPTR_MIN
471 #undef INTPTR_MAX
472 #undef UINTPTR_MAX
473 #define INTPTR_MIN LONG_MIN
474 #define INTPTR_MAX LONG_MAX
475 #define UINTPTR_MAX ULONG_MAX
476
477
478
479 #ifndef INTMAX_MAX
480 # undef INTMAX_MIN
481 # ifdef INT64_MAX
482 # define INTMAX_MIN INT64_MIN
483 # define INTMAX_MAX INT64_MAX
484 # else
485 # define INTMAX_MIN INT32_MIN
486 # define INTMAX_MAX INT32_MAX
487 # endif
488 #endif
489
490 #ifndef UINTMAX_MAX
491 # ifdef UINT64_MAX
492 # define UINTMAX_MAX UINT64_MAX
493 # else
494 # define UINTMAX_MAX UINT32_MAX
495 # endif
496 #endif
497
498
499
500
501 #undef PTRDIFF_MIN
502 #undef PTRDIFF_MAX
503 #if @APPLE_UNIVERSAL_BUILD@
504 # ifdef _LP64
505 # define PTRDIFF_MIN _STDINT_MIN (1, 64, 0l)
506 # define PTRDIFF_MAX _STDINT_MAX (1, 64, 0l)
507 # else
508 # define PTRDIFF_MIN _STDINT_MIN (1, 32, 0)
509 # define PTRDIFF_MAX _STDINT_MAX (1, 32, 0)
510 # endif
511 #else
512 # define PTRDIFF_MIN \
513 _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
514 # define PTRDIFF_MAX \
515 _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
516 #endif
517
518
519 #undef SIG_ATOMIC_MIN
520 #undef SIG_ATOMIC_MAX
521 #define SIG_ATOMIC_MIN \
522 _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
523 0@SIG_ATOMIC_T_SUFFIX@)
524 #define SIG_ATOMIC_MAX \
525 _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
526 0@SIG_ATOMIC_T_SUFFIX@)
527
528
529
530 #undef SIZE_MAX
531 #if @APPLE_UNIVERSAL_BUILD@
532 # ifdef _LP64
533 # define SIZE_MAX _STDINT_MAX (0, 64, 0ul)
534 # else
535 # define SIZE_MAX _STDINT_MAX (0, 32, 0ul)
536 # endif
537 #else
538 # define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
539 #endif
540
541
542
543
544
545
546
547 #if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX)
548
549
550 # include <stddef.h>
551 # include <stdio.h>
552 # include <time.h>
553 # define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
554 # include <wchar.h>
555 # undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
556 #endif
557 #undef WCHAR_MIN
558 #undef WCHAR_MAX
559 #define WCHAR_MIN \
560 _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
561 #define WCHAR_MAX \
562 _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
563
564
565 #undef WINT_MIN
566 #undef WINT_MAX
567 #define WINT_MIN \
568 _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
569 #define WINT_MAX \
570 _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
571
572
573
574
575
576
577
578
579
580 #undef INT8_C
581 #undef UINT8_C
582 #define INT8_C(x) x
583 #define UINT8_C(x) x
584
585 #undef INT16_C
586 #undef UINT16_C
587 #define INT16_C(x) x
588 #define UINT16_C(x) x
589
590 #undef INT32_C
591 #undef UINT32_C
592 #define INT32_C(x) x
593 #define UINT32_C(x) x ## U
594
595 #undef INT64_C
596 #undef UINT64_C
597 #if LONG_MAX >> 31 >> 31 == 1
598 # define INT64_C(x) x##L
599 #elif defined _MSC_VER
600 # define INT64_C(x) x##i64
601 #elif @HAVE_LONG_LONG_INT@
602 # define INT64_C(x) x##LL
603 #endif
604 #if ULONG_MAX >> 31 >> 31 >> 1 == 1
605 # define UINT64_C(x) x##UL
606 #elif defined _MSC_VER
607 # define UINT64_C(x) x##ui64
608 #elif @HAVE_UNSIGNED_LONG_LONG_INT@
609 # define UINT64_C(x) x##ULL
610 #endif
611
612
613
614 #ifndef INTMAX_C
615 # if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
616 # define INTMAX_C(x) x##LL
617 # elif defined GL_INT64_T
618 # define INTMAX_C(x) INT64_C(x)
619 # else
620 # define INTMAX_C(x) x##L
621 # endif
622 #endif
623
624 #ifndef UINTMAX_C
625 # if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
626 # define UINTMAX_C(x) x##ULL
627 # elif defined GL_UINT64_T
628 # define UINTMAX_C(x) UINT64_C(x)
629 # else
630 # define UINTMAX_C(x) x##UL
631 # endif
632 #endif
633
634 #endif
635 #endif
636 #endif