ba060dc4c511a64d913cb5971866234708ef8319
[debian/tar] / gnu / inttypes.in.h
1 /* -*- buffer-read-only: t -*- vi: set ro: */
2 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
3 /* Copyright (C) 2006-2013 Free Software Foundation, Inc.
4    Written by Paul Eggert, Bruno Haible, Derek Price.
5    This file is part of gnulib.
6
7    This program is free software: you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 3 of the License, or
10    (at your option) any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
20 /*
21  * ISO C 99 <inttypes.h> for platforms that lack it.
22  * <http://www.opengroup.org/susv3xbd/inttypes.h.html>
23  */
24
25 #if __GNUC__ >= 3
26 @PRAGMA_SYSTEM_HEADER@
27 #endif
28 @PRAGMA_COLUMNS@
29
30 /* Include the original <inttypes.h> if it exists, and if this file
31    has not been included yet or if this file includes gnulib stdint.h
32    which in turn includes this file.
33    The include_next requires a split double-inclusion guard.  */
34 #if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
35 # if @HAVE_INTTYPES_H@
36
37    /* Some pre-C++11 <stdint.h> implementations need this.  */
38 #  if defined __cplusplus && ! defined __STDC_FORMAT_MACROS
39 #   define __STDC_FORMAT_MACROS 1
40 #  endif
41
42 #  @INCLUDE_NEXT@ @NEXT_INTTYPES_H@
43 # endif
44 #endif
45
46 #if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
47 #define INTTYPES_H
48
49 /* Include <stdint.h> or the gnulib replacement.
50    But avoid namespace pollution on glibc systems.  */
51 #ifndef __GLIBC__
52 # include <stdint.h>
53 #endif
54 /* Get CHAR_BIT.  */
55 #include <limits.h>
56
57 #if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX)
58 # error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>."
59 #endif
60
61 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
62
63 /* The definition of _GL_ARG_NONNULL is copied here.  */
64
65 /* The definition of _GL_WARN_ON_USE is copied here.  */
66
67 /* 7.8.1 Macros for format specifiers */
68
69 #if defined _TNS_R_TARGET
70    /* Tandem NonStop R series and compatible platforms released before
71       July 2005 support %Ld but not %lld.  */
72 # define _LONG_LONG_FORMAT_PREFIX "L"
73 #else
74 # define _LONG_LONG_FORMAT_PREFIX "ll"
75 #endif
76
77 #if !defined PRId8 || @PRI_MACROS_BROKEN@
78 # undef PRId8
79 # ifdef INT8_MAX
80 #  define PRId8 "d"
81 # endif
82 #endif
83 #if !defined PRIi8 || @PRI_MACROS_BROKEN@
84 # undef PRIi8
85 # ifdef INT8_MAX
86 #  define PRIi8 "i"
87 # endif
88 #endif
89 #if !defined PRIo8 || @PRI_MACROS_BROKEN@
90 # undef PRIo8
91 # ifdef UINT8_MAX
92 #  define PRIo8 "o"
93 # endif
94 #endif
95 #if !defined PRIu8 || @PRI_MACROS_BROKEN@
96 # undef PRIu8
97 # ifdef UINT8_MAX
98 #  define PRIu8 "u"
99 # endif
100 #endif
101 #if !defined PRIx8 || @PRI_MACROS_BROKEN@
102 # undef PRIx8
103 # ifdef UINT8_MAX
104 #  define PRIx8 "x"
105 # endif
106 #endif
107 #if !defined PRIX8 || @PRI_MACROS_BROKEN@
108 # undef PRIX8
109 # ifdef UINT8_MAX
110 #  define PRIX8 "X"
111 # endif
112 #endif
113 #if !defined PRId16 || @PRI_MACROS_BROKEN@
114 # undef PRId16
115 # ifdef INT16_MAX
116 #  define PRId16 "d"
117 # endif
118 #endif
119 #if !defined PRIi16 || @PRI_MACROS_BROKEN@
120 # undef PRIi16
121 # ifdef INT16_MAX
122 #  define PRIi16 "i"
123 # endif
124 #endif
125 #if !defined PRIo16 || @PRI_MACROS_BROKEN@
126 # undef PRIo16
127 # ifdef UINT16_MAX
128 #  define PRIo16 "o"
129 # endif
130 #endif
131 #if !defined PRIu16 || @PRI_MACROS_BROKEN@
132 # undef PRIu16
133 # ifdef UINT16_MAX
134 #  define PRIu16 "u"
135 # endif
136 #endif
137 #if !defined PRIx16 || @PRI_MACROS_BROKEN@
138 # undef PRIx16
139 # ifdef UINT16_MAX
140 #  define PRIx16 "x"
141 # endif
142 #endif
143 #if !defined PRIX16 || @PRI_MACROS_BROKEN@
144 # undef PRIX16
145 # ifdef UINT16_MAX
146 #  define PRIX16 "X"
147 # endif
148 #endif
149 #if !defined PRId32 || @PRI_MACROS_BROKEN@
150 # undef PRId32
151 # ifdef INT32_MAX
152 #  define PRId32 "d"
153 # endif
154 #endif
155 #if !defined PRIi32 || @PRI_MACROS_BROKEN@
156 # undef PRIi32
157 # ifdef INT32_MAX
158 #  define PRIi32 "i"
159 # endif
160 #endif
161 #if !defined PRIo32 || @PRI_MACROS_BROKEN@
162 # undef PRIo32
163 # ifdef UINT32_MAX
164 #  define PRIo32 "o"
165 # endif
166 #endif
167 #if !defined PRIu32 || @PRI_MACROS_BROKEN@
168 # undef PRIu32
169 # ifdef UINT32_MAX
170 #  define PRIu32 "u"
171 # endif
172 #endif
173 #if !defined PRIx32 || @PRI_MACROS_BROKEN@
174 # undef PRIx32
175 # ifdef UINT32_MAX
176 #  define PRIx32 "x"
177 # endif
178 #endif
179 #if !defined PRIX32 || @PRI_MACROS_BROKEN@
180 # undef PRIX32
181 # ifdef UINT32_MAX
182 #  define PRIX32 "X"
183 # endif
184 #endif
185 #ifdef INT64_MAX
186 # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@)
187 #  define _PRI64_PREFIX "l"
188 # elif defined _MSC_VER || defined __MINGW32__
189 #  define _PRI64_PREFIX "I64"
190 # elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
191 #  define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX
192 # endif
193 # if !defined PRId64 || @PRI_MACROS_BROKEN@
194 #  undef PRId64
195 #  define PRId64 _PRI64_PREFIX "d"
196 # endif
197 # if !defined PRIi64 || @PRI_MACROS_BROKEN@
198 #  undef PRIi64
199 #  define PRIi64 _PRI64_PREFIX "i"
200 # endif
201 #endif
202 #ifdef UINT64_MAX
203 # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@)
204 #  define _PRIu64_PREFIX "l"
205 # elif defined _MSC_VER || defined __MINGW32__
206 #  define _PRIu64_PREFIX "I64"
207 # elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
208 #  define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX
209 # endif
210 # if !defined PRIo64 || @PRI_MACROS_BROKEN@
211 #  undef PRIo64
212 #  define PRIo64 _PRIu64_PREFIX "o"
213 # endif
214 # if !defined PRIu64 || @PRI_MACROS_BROKEN@
215 #  undef PRIu64
216 #  define PRIu64 _PRIu64_PREFIX "u"
217 # endif
218 # if !defined PRIx64 || @PRI_MACROS_BROKEN@
219 #  undef PRIx64
220 #  define PRIx64 _PRIu64_PREFIX "x"
221 # endif
222 # if !defined PRIX64 || @PRI_MACROS_BROKEN@
223 #  undef PRIX64
224 #  define PRIX64 _PRIu64_PREFIX "X"
225 # endif
226 #endif
227
228 #if !defined PRIdLEAST8 || @PRI_MACROS_BROKEN@
229 # undef PRIdLEAST8
230 # define PRIdLEAST8 "d"
231 #endif
232 #if !defined PRIiLEAST8 || @PRI_MACROS_BROKEN@
233 # undef PRIiLEAST8
234 # define PRIiLEAST8 "i"
235 #endif
236 #if !defined PRIoLEAST8 || @PRI_MACROS_BROKEN@
237 # undef PRIoLEAST8
238 # define PRIoLEAST8 "o"
239 #endif
240 #if !defined PRIuLEAST8 || @PRI_MACROS_BROKEN@
241 # undef PRIuLEAST8
242 # define PRIuLEAST8 "u"
243 #endif
244 #if !defined PRIxLEAST8 || @PRI_MACROS_BROKEN@
245 # undef PRIxLEAST8
246 # define PRIxLEAST8 "x"
247 #endif
248 #if !defined PRIXLEAST8 || @PRI_MACROS_BROKEN@
249 # undef PRIXLEAST8
250 # define PRIXLEAST8 "X"
251 #endif
252 #if !defined PRIdLEAST16 || @PRI_MACROS_BROKEN@
253 # undef PRIdLEAST16
254 # define PRIdLEAST16 "d"
255 #endif
256 #if !defined PRIiLEAST16 || @PRI_MACROS_BROKEN@
257 # undef PRIiLEAST16
258 # define PRIiLEAST16 "i"
259 #endif
260 #if !defined PRIoLEAST16 || @PRI_MACROS_BROKEN@
261 # undef PRIoLEAST16
262 # define PRIoLEAST16 "o"
263 #endif
264 #if !defined PRIuLEAST16 || @PRI_MACROS_BROKEN@
265 # undef PRIuLEAST16
266 # define PRIuLEAST16 "u"
267 #endif
268 #if !defined PRIxLEAST16 || @PRI_MACROS_BROKEN@
269 # undef PRIxLEAST16
270 # define PRIxLEAST16 "x"
271 #endif
272 #if !defined PRIXLEAST16 || @PRI_MACROS_BROKEN@
273 # undef PRIXLEAST16
274 # define PRIXLEAST16 "X"
275 #endif
276 #if !defined PRIdLEAST32 || @PRI_MACROS_BROKEN@
277 # undef PRIdLEAST32
278 # define PRIdLEAST32 "d"
279 #endif
280 #if !defined PRIiLEAST32 || @PRI_MACROS_BROKEN@
281 # undef PRIiLEAST32
282 # define PRIiLEAST32 "i"
283 #endif
284 #if !defined PRIoLEAST32 || @PRI_MACROS_BROKEN@
285 # undef PRIoLEAST32
286 # define PRIoLEAST32 "o"
287 #endif
288 #if !defined PRIuLEAST32 || @PRI_MACROS_BROKEN@
289 # undef PRIuLEAST32
290 # define PRIuLEAST32 "u"
291 #endif
292 #if !defined PRIxLEAST32 || @PRI_MACROS_BROKEN@
293 # undef PRIxLEAST32
294 # define PRIxLEAST32 "x"
295 #endif
296 #if !defined PRIXLEAST32 || @PRI_MACROS_BROKEN@
297 # undef PRIXLEAST32
298 # define PRIXLEAST32 "X"
299 #endif
300 #ifdef INT64_MAX
301 # if !defined PRIdLEAST64 || @PRI_MACROS_BROKEN@
302 #  undef PRIdLEAST64
303 #  define PRIdLEAST64 PRId64
304 # endif
305 # if !defined PRIiLEAST64 || @PRI_MACROS_BROKEN@
306 #  undef PRIiLEAST64
307 #  define PRIiLEAST64 PRIi64
308 # endif
309 #endif
310 #ifdef UINT64_MAX
311 # if !defined PRIoLEAST64 || @PRI_MACROS_BROKEN@
312 #  undef PRIoLEAST64
313 #  define PRIoLEAST64 PRIo64
314 # endif
315 # if !defined PRIuLEAST64 || @PRI_MACROS_BROKEN@
316 #  undef PRIuLEAST64
317 #  define PRIuLEAST64 PRIu64
318 # endif
319 # if !defined PRIxLEAST64 || @PRI_MACROS_BROKEN@
320 #  undef PRIxLEAST64
321 #  define PRIxLEAST64 PRIx64
322 # endif
323 # if !defined PRIXLEAST64 || @PRI_MACROS_BROKEN@
324 #  undef PRIXLEAST64
325 #  define PRIXLEAST64 PRIX64
326 # endif
327 #endif
328
329 #if !defined PRIdFAST8 || @PRI_MACROS_BROKEN@
330 # undef PRIdFAST8
331 # if INT_FAST8_MAX > INT32_MAX
332 #  define PRIdFAST8 PRId64
333 # else
334 #  define PRIdFAST8 "d"
335 # endif
336 #endif
337 #if !defined PRIiFAST8 || @PRI_MACROS_BROKEN@
338 # undef PRIiFAST8
339 # if INT_FAST8_MAX > INT32_MAX
340 #  define PRIiFAST8 PRIi64
341 # else
342 #  define PRIiFAST8 "i"
343 # endif
344 #endif
345 #if !defined PRIoFAST8 || @PRI_MACROS_BROKEN@
346 # undef PRIoFAST8
347 # if UINT_FAST8_MAX > UINT32_MAX
348 #  define PRIoFAST8 PRIo64
349 # else
350 #  define PRIoFAST8 "o"
351 # endif
352 #endif
353 #if !defined PRIuFAST8 || @PRI_MACROS_BROKEN@
354 # undef PRIuFAST8
355 # if UINT_FAST8_MAX > UINT32_MAX
356 #  define PRIuFAST8 PRIu64
357 # else
358 #  define PRIuFAST8 "u"
359 # endif
360 #endif
361 #if !defined PRIxFAST8 || @PRI_MACROS_BROKEN@
362 # undef PRIxFAST8
363 # if UINT_FAST8_MAX > UINT32_MAX
364 #  define PRIxFAST8 PRIx64
365 # else
366 #  define PRIxFAST8 "x"
367 # endif
368 #endif
369 #if !defined PRIXFAST8 || @PRI_MACROS_BROKEN@
370 # undef PRIXFAST8
371 # if UINT_FAST8_MAX > UINT32_MAX
372 #  define PRIXFAST8 PRIX64
373 # else
374 #  define PRIXFAST8 "X"
375 # endif
376 #endif
377 #if !defined PRIdFAST16 || @PRI_MACROS_BROKEN@
378 # undef PRIdFAST16
379 # if INT_FAST16_MAX > INT32_MAX
380 #  define PRIdFAST16 PRId64
381 # else
382 #  define PRIdFAST16 "d"
383 # endif
384 #endif
385 #if !defined PRIiFAST16 || @PRI_MACROS_BROKEN@
386 # undef PRIiFAST16
387 # if INT_FAST16_MAX > INT32_MAX
388 #  define PRIiFAST16 PRIi64
389 # else
390 #  define PRIiFAST16 "i"
391 # endif
392 #endif
393 #if !defined PRIoFAST16 || @PRI_MACROS_BROKEN@
394 # undef PRIoFAST16
395 # if UINT_FAST16_MAX > UINT32_MAX
396 #  define PRIoFAST16 PRIo64
397 # else
398 #  define PRIoFAST16 "o"
399 # endif
400 #endif
401 #if !defined PRIuFAST16 || @PRI_MACROS_BROKEN@
402 # undef PRIuFAST16
403 # if UINT_FAST16_MAX > UINT32_MAX
404 #  define PRIuFAST16 PRIu64
405 # else
406 #  define PRIuFAST16 "u"
407 # endif
408 #endif
409 #if !defined PRIxFAST16 || @PRI_MACROS_BROKEN@
410 # undef PRIxFAST16
411 # if UINT_FAST16_MAX > UINT32_MAX
412 #  define PRIxFAST16 PRIx64
413 # else
414 #  define PRIxFAST16 "x"
415 # endif
416 #endif
417 #if !defined PRIXFAST16 || @PRI_MACROS_BROKEN@
418 # undef PRIXFAST16
419 # if UINT_FAST16_MAX > UINT32_MAX
420 #  define PRIXFAST16 PRIX64
421 # else
422 #  define PRIXFAST16 "X"
423 # endif
424 #endif
425 #if !defined PRIdFAST32 || @PRI_MACROS_BROKEN@
426 # undef PRIdFAST32
427 # if INT_FAST32_MAX > INT32_MAX
428 #  define PRIdFAST32 PRId64
429 # else
430 #  define PRIdFAST32 "d"
431 # endif
432 #endif
433 #if !defined PRIiFAST32 || @PRI_MACROS_BROKEN@
434 # undef PRIiFAST32
435 # if INT_FAST32_MAX > INT32_MAX
436 #  define PRIiFAST32 PRIi64
437 # else
438 #  define PRIiFAST32 "i"
439 # endif
440 #endif
441 #if !defined PRIoFAST32 || @PRI_MACROS_BROKEN@
442 # undef PRIoFAST32
443 # if UINT_FAST32_MAX > UINT32_MAX
444 #  define PRIoFAST32 PRIo64
445 # else
446 #  define PRIoFAST32 "o"
447 # endif
448 #endif
449 #if !defined PRIuFAST32 || @PRI_MACROS_BROKEN@
450 # undef PRIuFAST32
451 # if UINT_FAST32_MAX > UINT32_MAX
452 #  define PRIuFAST32 PRIu64
453 # else
454 #  define PRIuFAST32 "u"
455 # endif
456 #endif
457 #if !defined PRIxFAST32 || @PRI_MACROS_BROKEN@
458 # undef PRIxFAST32
459 # if UINT_FAST32_MAX > UINT32_MAX
460 #  define PRIxFAST32 PRIx64
461 # else
462 #  define PRIxFAST32 "x"
463 # endif
464 #endif
465 #if !defined PRIXFAST32 || @PRI_MACROS_BROKEN@
466 # undef PRIXFAST32
467 # if UINT_FAST32_MAX > UINT32_MAX
468 #  define PRIXFAST32 PRIX64
469 # else
470 #  define PRIXFAST32 "X"
471 # endif
472 #endif
473 #ifdef INT64_MAX
474 # if !defined PRIdFAST64 || @PRI_MACROS_BROKEN@
475 #  undef PRIdFAST64
476 #  define PRIdFAST64 PRId64
477 # endif
478 # if !defined PRIiFAST64 || @PRI_MACROS_BROKEN@
479 #  undef PRIiFAST64
480 #  define PRIiFAST64 PRIi64
481 # endif
482 #endif
483 #ifdef UINT64_MAX
484 # if !defined PRIoFAST64 || @PRI_MACROS_BROKEN@
485 #  undef PRIoFAST64
486 #  define PRIoFAST64 PRIo64
487 # endif
488 # if !defined PRIuFAST64 || @PRI_MACROS_BROKEN@
489 #  undef PRIuFAST64
490 #  define PRIuFAST64 PRIu64
491 # endif
492 # if !defined PRIxFAST64 || @PRI_MACROS_BROKEN@
493 #  undef PRIxFAST64
494 #  define PRIxFAST64 PRIx64
495 # endif
496 # if !defined PRIXFAST64 || @PRI_MACROS_BROKEN@
497 #  undef PRIXFAST64
498 #  define PRIXFAST64 PRIX64
499 # endif
500 #endif
501
502 #if !defined PRIdMAX || @PRI_MACROS_BROKEN@
503 # undef PRIdMAX
504 # if @INT32_MAX_LT_INTMAX_MAX@
505 #  define PRIdMAX PRId64
506 # else
507 #  define PRIdMAX "ld"
508 # endif
509 #endif
510 #if !defined PRIiMAX || @PRI_MACROS_BROKEN@
511 # undef PRIiMAX
512 # if @INT32_MAX_LT_INTMAX_MAX@
513 #  define PRIiMAX PRIi64
514 # else
515 #  define PRIiMAX "li"
516 # endif
517 #endif
518 #if !defined PRIoMAX || @PRI_MACROS_BROKEN@
519 # undef PRIoMAX
520 # if @UINT32_MAX_LT_UINTMAX_MAX@
521 #  define PRIoMAX PRIo64
522 # else
523 #  define PRIoMAX "lo"
524 # endif
525 #endif
526 #if !defined PRIuMAX || @PRI_MACROS_BROKEN@
527 # undef PRIuMAX
528 # if @UINT32_MAX_LT_UINTMAX_MAX@
529 #  define PRIuMAX PRIu64
530 # else
531 #  define PRIuMAX "lu"
532 # endif
533 #endif
534 #if !defined PRIxMAX || @PRI_MACROS_BROKEN@
535 # undef PRIxMAX
536 # if @UINT32_MAX_LT_UINTMAX_MAX@
537 #  define PRIxMAX PRIx64
538 # else
539 #  define PRIxMAX "lx"
540 # endif
541 #endif
542 #if !defined PRIXMAX || @PRI_MACROS_BROKEN@
543 # undef PRIXMAX
544 # if @UINT32_MAX_LT_UINTMAX_MAX@
545 #  define PRIXMAX PRIX64
546 # else
547 #  define PRIXMAX "lX"
548 # endif
549 #endif
550
551 #if !defined PRIdPTR || @PRI_MACROS_BROKEN@
552 # undef PRIdPTR
553 # ifdef INTPTR_MAX
554 #  define PRIdPTR @PRIPTR_PREFIX@ "d"
555 # endif
556 #endif
557 #if !defined PRIiPTR || @PRI_MACROS_BROKEN@
558 # undef PRIiPTR
559 # ifdef INTPTR_MAX
560 #  define PRIiPTR @PRIPTR_PREFIX@ "i"
561 # endif
562 #endif
563 #if !defined PRIoPTR || @PRI_MACROS_BROKEN@
564 # undef PRIoPTR
565 # ifdef UINTPTR_MAX
566 #  define PRIoPTR @PRIPTR_PREFIX@ "o"
567 # endif
568 #endif
569 #if !defined PRIuPTR || @PRI_MACROS_BROKEN@
570 # undef PRIuPTR
571 # ifdef UINTPTR_MAX
572 #  define PRIuPTR @PRIPTR_PREFIX@ "u"
573 # endif
574 #endif
575 #if !defined PRIxPTR || @PRI_MACROS_BROKEN@
576 # undef PRIxPTR
577 # ifdef UINTPTR_MAX
578 #  define PRIxPTR @PRIPTR_PREFIX@ "x"
579 # endif
580 #endif
581 #if !defined PRIXPTR || @PRI_MACROS_BROKEN@
582 # undef PRIXPTR
583 # ifdef UINTPTR_MAX
584 #  define PRIXPTR @PRIPTR_PREFIX@ "X"
585 # endif
586 #endif
587
588 #if !defined SCNd8 || @PRI_MACROS_BROKEN@
589 # undef SCNd8
590 # ifdef INT8_MAX
591 #  define SCNd8 "hhd"
592 # endif
593 #endif
594 #if !defined SCNi8 || @PRI_MACROS_BROKEN@
595 # undef SCNi8
596 # ifdef INT8_MAX
597 #  define SCNi8 "hhi"
598 # endif
599 #endif
600 #if !defined SCNo8 || @PRI_MACROS_BROKEN@
601 # undef SCNo8
602 # ifdef UINT8_MAX
603 #  define SCNo8 "hho"
604 # endif
605 #endif
606 #if !defined SCNu8 || @PRI_MACROS_BROKEN@
607 # undef SCNu8
608 # ifdef UINT8_MAX
609 #  define SCNu8 "hhu"
610 # endif
611 #endif
612 #if !defined SCNx8 || @PRI_MACROS_BROKEN@
613 # undef SCNx8
614 # ifdef UINT8_MAX
615 #  define SCNx8 "hhx"
616 # endif
617 #endif
618 #if !defined SCNd16 || @PRI_MACROS_BROKEN@
619 # undef SCNd16
620 # ifdef INT16_MAX
621 #  define SCNd16 "hd"
622 # endif
623 #endif
624 #if !defined SCNi16 || @PRI_MACROS_BROKEN@
625 # undef SCNi16
626 # ifdef INT16_MAX
627 #  define SCNi16 "hi"
628 # endif
629 #endif
630 #if !defined SCNo16 || @PRI_MACROS_BROKEN@
631 # undef SCNo16
632 # ifdef UINT16_MAX
633 #  define SCNo16 "ho"
634 # endif
635 #endif
636 #if !defined SCNu16 || @PRI_MACROS_BROKEN@
637 # undef SCNu16
638 # ifdef UINT16_MAX
639 #  define SCNu16 "hu"
640 # endif
641 #endif
642 #if !defined SCNx16 || @PRI_MACROS_BROKEN@
643 # undef SCNx16
644 # ifdef UINT16_MAX
645 #  define SCNx16 "hx"
646 # endif
647 #endif
648 #if !defined SCNd32 || @PRI_MACROS_BROKEN@
649 # undef SCNd32
650 # ifdef INT32_MAX
651 #  define SCNd32 "d"
652 # endif
653 #endif
654 #if !defined SCNi32 || @PRI_MACROS_BROKEN@
655 # undef SCNi32
656 # ifdef INT32_MAX
657 #  define SCNi32 "i"
658 # endif
659 #endif
660 #if !defined SCNo32 || @PRI_MACROS_BROKEN@
661 # undef SCNo32
662 # ifdef UINT32_MAX
663 #  define SCNo32 "o"
664 # endif
665 #endif
666 #if !defined SCNu32 || @PRI_MACROS_BROKEN@
667 # undef SCNu32
668 # ifdef UINT32_MAX
669 #  define SCNu32 "u"
670 # endif
671 #endif
672 #if !defined SCNx32 || @PRI_MACROS_BROKEN@
673 # undef SCNx32
674 # ifdef UINT32_MAX
675 #  define SCNx32 "x"
676 # endif
677 #endif
678 #ifdef INT64_MAX
679 # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @INT64_MAX_EQ_LONG_MAX@)
680 #  define _SCN64_PREFIX "l"
681 # elif defined _MSC_VER || defined __MINGW32__
682 #  define _SCN64_PREFIX "I64"
683 # elif @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
684 #  define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX
685 # endif
686 # if !defined SCNd64 || @PRI_MACROS_BROKEN@
687 #  undef SCNd64
688 #  define SCNd64 _SCN64_PREFIX "d"
689 # endif
690 # if !defined SCNi64 || @PRI_MACROS_BROKEN@
691 #  undef SCNi64
692 #  define SCNi64 _SCN64_PREFIX "i"
693 # endif
694 #endif
695 #ifdef UINT64_MAX
696 # if (@APPLE_UNIVERSAL_BUILD@ ? defined _LP64 : @UINT64_MAX_EQ_ULONG_MAX@)
697 #  define _SCNu64_PREFIX "l"
698 # elif defined _MSC_VER || defined __MINGW32__
699 #  define _SCNu64_PREFIX "I64"
700 # elif @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
701 #  define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX
702 # endif
703 # if !defined SCNo64 || @PRI_MACROS_BROKEN@
704 #  undef SCNo64
705 #  define SCNo64 _SCNu64_PREFIX "o"
706 # endif
707 # if !defined SCNu64 || @PRI_MACROS_BROKEN@
708 #  undef SCNu64
709 #  define SCNu64 _SCNu64_PREFIX "u"
710 # endif
711 # if !defined SCNx64 || @PRI_MACROS_BROKEN@
712 #  undef SCNx64
713 #  define SCNx64 _SCNu64_PREFIX "x"
714 # endif
715 #endif
716
717 #if !defined SCNdLEAST8 || @PRI_MACROS_BROKEN@
718 # undef SCNdLEAST8
719 # define SCNdLEAST8 "hhd"
720 #endif
721 #if !defined SCNiLEAST8 || @PRI_MACROS_BROKEN@
722 # undef SCNiLEAST8
723 # define SCNiLEAST8 "hhi"
724 #endif
725 #if !defined SCNoLEAST8 || @PRI_MACROS_BROKEN@
726 # undef SCNoLEAST8
727 # define SCNoLEAST8 "hho"
728 #endif
729 #if !defined SCNuLEAST8 || @PRI_MACROS_BROKEN@
730 # undef SCNuLEAST8
731 # define SCNuLEAST8 "hhu"
732 #endif
733 #if !defined SCNxLEAST8 || @PRI_MACROS_BROKEN@
734 # undef SCNxLEAST8
735 # define SCNxLEAST8 "hhx"
736 #endif
737 #if !defined SCNdLEAST16 || @PRI_MACROS_BROKEN@
738 # undef SCNdLEAST16
739 # define SCNdLEAST16 "hd"
740 #endif
741 #if !defined SCNiLEAST16 || @PRI_MACROS_BROKEN@
742 # undef SCNiLEAST16
743 # define SCNiLEAST16 "hi"
744 #endif
745 #if !defined SCNoLEAST16 || @PRI_MACROS_BROKEN@
746 # undef SCNoLEAST16
747 # define SCNoLEAST16 "ho"
748 #endif
749 #if !defined SCNuLEAST16 || @PRI_MACROS_BROKEN@
750 # undef SCNuLEAST16
751 # define SCNuLEAST16 "hu"
752 #endif
753 #if !defined SCNxLEAST16 || @PRI_MACROS_BROKEN@
754 # undef SCNxLEAST16
755 # define SCNxLEAST16 "hx"
756 #endif
757 #if !defined SCNdLEAST32 || @PRI_MACROS_BROKEN@
758 # undef SCNdLEAST32
759 # define SCNdLEAST32 "d"
760 #endif
761 #if !defined SCNiLEAST32 || @PRI_MACROS_BROKEN@
762 # undef SCNiLEAST32
763 # define SCNiLEAST32 "i"
764 #endif
765 #if !defined SCNoLEAST32 || @PRI_MACROS_BROKEN@
766 # undef SCNoLEAST32
767 # define SCNoLEAST32 "o"
768 #endif
769 #if !defined SCNuLEAST32 || @PRI_MACROS_BROKEN@
770 # undef SCNuLEAST32
771 # define SCNuLEAST32 "u"
772 #endif
773 #if !defined SCNxLEAST32 || @PRI_MACROS_BROKEN@
774 # undef SCNxLEAST32
775 # define SCNxLEAST32 "x"
776 #endif
777 #ifdef INT64_MAX
778 # if !defined SCNdLEAST64 || @PRI_MACROS_BROKEN@
779 #  undef SCNdLEAST64
780 #  define SCNdLEAST64 SCNd64
781 # endif
782 # if !defined SCNiLEAST64 || @PRI_MACROS_BROKEN@
783 #  undef SCNiLEAST64
784 #  define SCNiLEAST64 SCNi64
785 # endif
786 #endif
787 #ifdef UINT64_MAX
788 # if !defined SCNoLEAST64 || @PRI_MACROS_BROKEN@
789 #  undef SCNoLEAST64
790 #  define SCNoLEAST64 SCNo64
791 # endif
792 # if !defined SCNuLEAST64 || @PRI_MACROS_BROKEN@
793 #  undef SCNuLEAST64
794 #  define SCNuLEAST64 SCNu64
795 # endif
796 # if !defined SCNxLEAST64 || @PRI_MACROS_BROKEN@
797 #  undef SCNxLEAST64
798 #  define SCNxLEAST64 SCNx64
799 # endif
800 #endif
801
802 #if !defined SCNdFAST8 || @PRI_MACROS_BROKEN@
803 # undef SCNdFAST8
804 # if INT_FAST8_MAX > INT32_MAX
805 #  define SCNdFAST8 SCNd64
806 # elif INT_FAST8_MAX == 0x7fff
807 #  define SCNdFAST8 "hd"
808 # elif INT_FAST8_MAX == 0x7f
809 #  define SCNdFAST8 "hhd"
810 # else
811 #  define SCNdFAST8 "d"
812 # endif
813 #endif
814 #if !defined SCNiFAST8 || @PRI_MACROS_BROKEN@
815 # undef SCNiFAST8
816 # if INT_FAST8_MAX > INT32_MAX
817 #  define SCNiFAST8 SCNi64
818 # elif INT_FAST8_MAX == 0x7fff
819 #  define SCNiFAST8 "hi"
820 # elif INT_FAST8_MAX == 0x7f
821 #  define SCNiFAST8 "hhi"
822 # else
823 #  define SCNiFAST8 "i"
824 # endif
825 #endif
826 #if !defined SCNoFAST8 || @PRI_MACROS_BROKEN@
827 # undef SCNoFAST8
828 # if UINT_FAST8_MAX > UINT32_MAX
829 #  define SCNoFAST8 SCNo64
830 # elif UINT_FAST8_MAX == 0xffff
831 #  define SCNoFAST8 "ho"
832 # elif UINT_FAST8_MAX == 0xff
833 #  define SCNoFAST8 "hho"
834 # else
835 #  define SCNoFAST8 "o"
836 # endif
837 #endif
838 #if !defined SCNuFAST8 || @PRI_MACROS_BROKEN@
839 # undef SCNuFAST8
840 # if UINT_FAST8_MAX > UINT32_MAX
841 #  define SCNuFAST8 SCNu64
842 # elif UINT_FAST8_MAX == 0xffff
843 #  define SCNuFAST8 "hu"
844 # elif UINT_FAST8_MAX == 0xff
845 #  define SCNuFAST8 "hhu"
846 # else
847 #  define SCNuFAST8 "u"
848 # endif
849 #endif
850 #if !defined SCNxFAST8 || @PRI_MACROS_BROKEN@
851 # undef SCNxFAST8
852 # if UINT_FAST8_MAX > UINT32_MAX
853 #  define SCNxFAST8 SCNx64
854 # elif UINT_FAST8_MAX == 0xffff
855 #  define SCNxFAST8 "hx"
856 # elif UINT_FAST8_MAX == 0xff
857 #  define SCNxFAST8 "hhx"
858 # else
859 #  define SCNxFAST8 "x"
860 # endif
861 #endif
862 #if !defined SCNdFAST16 || @PRI_MACROS_BROKEN@
863 # undef SCNdFAST16
864 # if INT_FAST16_MAX > INT32_MAX
865 #  define SCNdFAST16 SCNd64
866 # elif INT_FAST16_MAX == 0x7fff
867 #  define SCNdFAST16 "hd"
868 # else
869 #  define SCNdFAST16 "d"
870 # endif
871 #endif
872 #if !defined SCNiFAST16 || @PRI_MACROS_BROKEN@
873 # undef SCNiFAST16
874 # if INT_FAST16_MAX > INT32_MAX
875 #  define SCNiFAST16 SCNi64
876 # elif INT_FAST16_MAX == 0x7fff
877 #  define SCNiFAST16 "hi"
878 # else
879 #  define SCNiFAST16 "i"
880 # endif
881 #endif
882 #if !defined SCNoFAST16 || @PRI_MACROS_BROKEN@
883 # undef SCNoFAST16
884 # if UINT_FAST16_MAX > UINT32_MAX
885 #  define SCNoFAST16 SCNo64
886 # elif UINT_FAST16_MAX == 0xffff
887 #  define SCNoFAST16 "ho"
888 # else
889 #  define SCNoFAST16 "o"
890 # endif
891 #endif
892 #if !defined SCNuFAST16 || @PRI_MACROS_BROKEN@
893 # undef SCNuFAST16
894 # if UINT_FAST16_MAX > UINT32_MAX
895 #  define SCNuFAST16 SCNu64
896 # elif UINT_FAST16_MAX == 0xffff
897 #  define SCNuFAST16 "hu"
898 # else
899 #  define SCNuFAST16 "u"
900 # endif
901 #endif
902 #if !defined SCNxFAST16 || @PRI_MACROS_BROKEN@
903 # undef SCNxFAST16
904 # if UINT_FAST16_MAX > UINT32_MAX
905 #  define SCNxFAST16 SCNx64
906 # elif UINT_FAST16_MAX == 0xffff
907 #  define SCNxFAST16 "hx"
908 # else
909 #  define SCNxFAST16 "x"
910 # endif
911 #endif
912 #if !defined SCNdFAST32 || @PRI_MACROS_BROKEN@
913 # undef SCNdFAST32
914 # if INT_FAST32_MAX > INT32_MAX
915 #  define SCNdFAST32 SCNd64
916 # else
917 #  define SCNdFAST32 "d"
918 # endif
919 #endif
920 #if !defined SCNiFAST32 || @PRI_MACROS_BROKEN@
921 # undef SCNiFAST32
922 # if INT_FAST32_MAX > INT32_MAX
923 #  define SCNiFAST32 SCNi64
924 # else
925 #  define SCNiFAST32 "i"
926 # endif
927 #endif
928 #if !defined SCNoFAST32 || @PRI_MACROS_BROKEN@
929 # undef SCNoFAST32
930 # if UINT_FAST32_MAX > UINT32_MAX
931 #  define SCNoFAST32 SCNo64
932 # else
933 #  define SCNoFAST32 "o"
934 # endif
935 #endif
936 #if !defined SCNuFAST32 || @PRI_MACROS_BROKEN@
937 # undef SCNuFAST32
938 # if UINT_FAST32_MAX > UINT32_MAX
939 #  define SCNuFAST32 SCNu64
940 # else
941 #  define SCNuFAST32 "u"
942 # endif
943 #endif
944 #if !defined SCNxFAST32 || @PRI_MACROS_BROKEN@
945 # undef SCNxFAST32
946 # if UINT_FAST32_MAX > UINT32_MAX
947 #  define SCNxFAST32 SCNx64
948 # else
949 #  define SCNxFAST32 "x"
950 # endif
951 #endif
952 #ifdef INT64_MAX
953 # if !defined SCNdFAST64 || @PRI_MACROS_BROKEN@
954 #  undef SCNdFAST64
955 #  define SCNdFAST64 SCNd64
956 # endif
957 # if !defined SCNiFAST64 || @PRI_MACROS_BROKEN@
958 #  undef SCNiFAST64
959 #  define SCNiFAST64 SCNi64
960 # endif
961 #endif
962 #ifdef UINT64_MAX
963 # if !defined SCNoFAST64 || @PRI_MACROS_BROKEN@
964 #  undef SCNoFAST64
965 #  define SCNoFAST64 SCNo64
966 # endif
967 # if !defined SCNuFAST64 || @PRI_MACROS_BROKEN@
968 #  undef SCNuFAST64
969 #  define SCNuFAST64 SCNu64
970 # endif
971 # if !defined SCNxFAST64 || @PRI_MACROS_BROKEN@
972 #  undef SCNxFAST64
973 #  define SCNxFAST64 SCNx64
974 # endif
975 #endif
976
977 #if !defined SCNdMAX || @PRI_MACROS_BROKEN@
978 # undef SCNdMAX
979 # if @INT32_MAX_LT_INTMAX_MAX@
980 #  define SCNdMAX SCNd64
981 # else
982 #  define SCNdMAX "ld"
983 # endif
984 #endif
985 #if !defined SCNiMAX || @PRI_MACROS_BROKEN@
986 # undef SCNiMAX
987 # if @INT32_MAX_LT_INTMAX_MAX@
988 #  define SCNiMAX SCNi64
989 # else
990 #  define SCNiMAX "li"
991 # endif
992 #endif
993 #if !defined SCNoMAX || @PRI_MACROS_BROKEN@
994 # undef SCNoMAX
995 # if @UINT32_MAX_LT_UINTMAX_MAX@
996 #  define SCNoMAX SCNo64
997 # else
998 #  define SCNoMAX "lo"
999 # endif
1000 #endif
1001 #if !defined SCNuMAX || @PRI_MACROS_BROKEN@
1002 # undef SCNuMAX
1003 # if @UINT32_MAX_LT_UINTMAX_MAX@
1004 #  define SCNuMAX SCNu64
1005 # else
1006 #  define SCNuMAX "lu"
1007 # endif
1008 #endif
1009 #if !defined SCNxMAX || @PRI_MACROS_BROKEN@
1010 # undef SCNxMAX
1011 # if @UINT32_MAX_LT_UINTMAX_MAX@
1012 #  define SCNxMAX SCNx64
1013 # else
1014 #  define SCNxMAX "lx"
1015 # endif
1016 #endif
1017
1018 #if !defined SCNdPTR || @PRI_MACROS_BROKEN@
1019 # undef SCNdPTR
1020 # ifdef INTPTR_MAX
1021 #  define SCNdPTR @PRIPTR_PREFIX@ "d"
1022 # endif
1023 #endif
1024 #if !defined SCNiPTR || @PRI_MACROS_BROKEN@
1025 # undef SCNiPTR
1026 # ifdef INTPTR_MAX
1027 #  define SCNiPTR @PRIPTR_PREFIX@ "i"
1028 # endif
1029 #endif
1030 #if !defined SCNoPTR || @PRI_MACROS_BROKEN@
1031 # undef SCNoPTR
1032 # ifdef UINTPTR_MAX
1033 #  define SCNoPTR @PRIPTR_PREFIX@ "o"
1034 # endif
1035 #endif
1036 #if !defined SCNuPTR || @PRI_MACROS_BROKEN@
1037 # undef SCNuPTR
1038 # ifdef UINTPTR_MAX
1039 #  define SCNuPTR @PRIPTR_PREFIX@ "u"
1040 # endif
1041 #endif
1042 #if !defined SCNxPTR || @PRI_MACROS_BROKEN@
1043 # undef SCNxPTR
1044 # ifdef UINTPTR_MAX
1045 #  define SCNxPTR @PRIPTR_PREFIX@ "x"
1046 # endif
1047 #endif
1048
1049 /* 7.8.2 Functions for greatest-width integer types */
1050
1051 #ifdef __cplusplus
1052 extern "C" {
1053 #endif
1054
1055 #if @GNULIB_IMAXABS@
1056 # if !@HAVE_DECL_IMAXABS@
1057 extern intmax_t imaxabs (intmax_t);
1058 # endif
1059 #elif defined GNULIB_POSIXCHECK
1060 # undef imaxabs
1061 # if HAVE_RAW_DECL_IMAXABS
1062 _GL_WARN_ON_USE (imaxabs, "imaxabs is unportable - "
1063                  "use gnulib module imaxabs for portability");
1064 # endif
1065 #endif
1066
1067 #if @GNULIB_IMAXDIV@
1068 # if !@HAVE_DECL_IMAXDIV@
1069 #  if !GNULIB_defined_imaxdiv_t
1070 typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t;
1071 #   define GNULIB_defined_imaxdiv_t 1
1072 #  endif
1073 extern imaxdiv_t imaxdiv (intmax_t, intmax_t);
1074 # endif
1075 #elif defined GNULIB_POSIXCHECK
1076 # undef imaxdiv
1077 # if HAVE_RAW_DECL_IMAXDIV
1078 _GL_WARN_ON_USE (imaxdiv, "imaxdiv is unportable - "
1079                  "use gnulib module imaxdiv for portability");
1080 # endif
1081 #endif
1082
1083 #if @GNULIB_STRTOIMAX@
1084 # if @REPLACE_STRTOIMAX@
1085 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
1086 #   undef strtoimax
1087 #   define strtoimax rpl_strtoimax
1088 #  endif
1089 _GL_FUNCDECL_RPL (strtoimax, intmax_t,
1090                   (const char *, char **, int) _GL_ARG_NONNULL ((1)));
1091 _GL_CXXALIAS_RPL (strtoimax, intmax_t, (const char *, char **, int));
1092 # else
1093 #  if !@HAVE_DECL_STRTOIMAX@
1094 #   undef strtoimax
1095 _GL_FUNCDECL_SYS (strtoimax, intmax_t,
1096                   (const char *, char **, int) _GL_ARG_NONNULL ((1)));
1097 #  endif
1098 _GL_CXXALIAS_SYS (strtoimax, intmax_t, (const char *, char **, int));
1099 # endif
1100 _GL_CXXALIASWARN (strtoimax);
1101 #elif defined GNULIB_POSIXCHECK
1102 # undef strtoimax
1103 # if HAVE_RAW_DECL_STRTOIMAX
1104 _GL_WARN_ON_USE (strtoimax, "strtoimax is unportable - "
1105                  "use gnulib module strtoimax for portability");
1106 # endif
1107 #endif
1108
1109 #if @GNULIB_STRTOUMAX@
1110 # if !@HAVE_DECL_STRTOUMAX@
1111 #  undef strtoumax
1112 _GL_FUNCDECL_SYS (strtoumax, uintmax_t,
1113                   (const char *, char **, int) _GL_ARG_NONNULL ((1)));
1114 # endif
1115 _GL_CXXALIAS_SYS (strtoumax, uintmax_t, (const char *, char **, int));
1116 _GL_CXXALIASWARN (strtoumax);
1117 #elif defined GNULIB_POSIXCHECK
1118 # undef strtoumax
1119 # if HAVE_RAW_DECL_STRTOUMAX
1120 _GL_WARN_ON_USE (strtoumax, "strtoumax is unportable - "
1121                  "use gnulib module strtoumax for portability");
1122 # endif
1123 #endif
1124
1125 /* Don't bother defining or declaring wcstoimax and wcstoumax, since
1126    wide-character functions like this are hardly ever useful.  */
1127
1128 #ifdef __cplusplus
1129 }
1130 #endif
1131
1132 #endif /* !defined INTTYPES_H && !defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H */