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