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