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