root/maint/gnulib/lib/inttypes.in.h

/* [previous][next][first][last][top][bottom][index][help] */
   1 /* Copyright (C) 2006-2021 Free Software Foundation, Inc.
   2    Written by Paul Eggert, Bruno Haible, Derek Price.
   3    This file is part of gnulib.
   4 
   5    This file is free software: you can redistribute it and/or modify
   6    it under the terms of the GNU Lesser General Public License as
   7    published by the Free Software Foundation; either version 2.1 of the
   8    License, or (at your option) any later version.
   9 
  10    This file 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 Lesser General Public License for more details.
  14 
  15    You should have received a copy of the GNU Lesser General Public License
  16    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
  17 
  18 /*
  19  * ISO C 99 <inttypes.h> for platforms that lack it.
  20  * <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/inttypes.h.html>
  21  */
  22 
  23 #if __GNUC__ >= 3
  24 @PRAGMA_SYSTEM_HEADER@
  25 #endif
  26 @PRAGMA_COLUMNS@
  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@
  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 
  40 #  @INCLUDE_NEXT@ @NEXT_INTTYPES_H@
  41 
  42 #  define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H
  43 # endif
  44 #endif
  45 
  46 #if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
  47 #define INTTYPES_H
  48 
  49 /* Include <stdint.h> or the gnulib replacement.
  50    But avoid namespace pollution on glibc systems.  */
  51 #ifndef __GLIBC__
  52 # include <stdint.h>
  53 #endif
  54 /* Get CHAR_BIT, INT_MAX, LONG_MAX, etc.  */
  55 #include <limits.h>
  56 /* On mingw, __USE_MINGW_ANSI_STDIO only works if <stdio.h> is also included */
  57 #if defined _WIN32 && ! defined __CYGWIN__
  58 # include <stdio.h>
  59 #endif
  60 
  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>."
  63 #endif
  64 
  65 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
  66 
  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 
  73 #if defined _TNS_R_TARGET
  74    /* Tandem NonStop R series and compatible platforms released before
  75       July 2005 support %Ld but not %lld.  */
  76 # define _LONG_LONG_FORMAT_PREFIX "L"
  77 #else
  78 # define _LONG_LONG_FORMAT_PREFIX "ll"
  79 #endif
  80 
  81 #if !defined PRId8
  82 # ifdef INT8_MAX
  83 #  define PRId8 "d"
  84 # endif
  85 #endif
  86 #if !defined PRIi8
  87 # ifdef INT8_MAX
  88 #  define PRIi8 "i"
  89 # endif
  90 #endif
  91 #if !defined PRIo8
  92 # ifdef UINT8_MAX
  93 #  define PRIo8 "o"
  94 # endif
  95 #endif
  96 #if !defined PRIu8
  97 # ifdef UINT8_MAX
  98 #  define PRIu8 "u"
  99 # endif
 100 #endif
 101 #if !defined PRIx8
 102 # ifdef UINT8_MAX
 103 #  define PRIx8 "x"
 104 # endif
 105 #endif
 106 #if !defined PRIX8
 107 # ifdef UINT8_MAX
 108 #  define PRIX8 "X"
 109 # endif
 110 #endif
 111 #if !defined PRId16
 112 # ifdef INT16_MAX
 113 #  define PRId16 "d"
 114 # endif
 115 #endif
 116 #if !defined PRIi16
 117 # ifdef INT16_MAX
 118 #  define PRIi16 "i"
 119 # endif
 120 #endif
 121 #if !defined PRIo16
 122 # ifdef UINT16_MAX
 123 #  define PRIo16 "o"
 124 # endif
 125 #endif
 126 #if !defined PRIu16
 127 # ifdef UINT16_MAX
 128 #  define PRIu16 "u"
 129 # endif
 130 #endif
 131 #if !defined PRIx16
 132 # ifdef UINT16_MAX
 133 #  define PRIx16 "x"
 134 # endif
 135 #endif
 136 #if !defined PRIX16
 137 # ifdef UINT16_MAX
 138 #  define PRIX16 "X"
 139 # endif
 140 #endif
 141 #if !defined PRId32
 142 # ifdef INT32_MAX
 143 #  define PRId32 "d"
 144 # endif
 145 #endif
 146 #if !defined PRIi32
 147 # ifdef INT32_MAX
 148 #  define PRIi32 "i"
 149 # endif
 150 #endif
 151 #if !defined PRIo32
 152 # ifdef UINT32_MAX
 153 #  define PRIo32 "o"
 154 # endif
 155 #endif
 156 #if !defined PRIu32
 157 # ifdef UINT32_MAX
 158 #  define PRIu32 "u"
 159 # endif
 160 #endif
 161 #if !defined PRIx32
 162 # ifdef UINT32_MAX
 163 #  define PRIx32 "x"
 164 # endif
 165 #endif
 166 #if !defined PRIX32
 167 # ifdef UINT32_MAX
 168 #  define PRIX32 "X"
 169 # endif
 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"
 176 # elif LONG_MAX >> 30 == 1
 177 #  define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX
 178 # endif
 179 # if !defined PRId64
 180 #  define PRId64 _PRI64_PREFIX "d"
 181 # endif
 182 # if !defined PRIi64
 183 #  define PRIi64 _PRI64_PREFIX "i"
 184 # endif
 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"
 191 # elif ULONG_MAX >> 31 == 1
 192 #  define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX
 193 # endif
 194 # if !defined PRIo64
 195 #  define PRIo64 _PRIu64_PREFIX "o"
 196 # endif
 197 # if !defined PRIu64
 198 #  define PRIu64 _PRIu64_PREFIX "u"
 199 # endif
 200 # if !defined PRIx64
 201 #  define PRIx64 _PRIu64_PREFIX "x"
 202 # endif
 203 # if !defined PRIX64
 204 #  define PRIX64 _PRIu64_PREFIX "X"
 205 # endif
 206 #endif
 207 
 208 #if !defined PRIdLEAST8
 209 # define PRIdLEAST8 "d"
 210 #endif
 211 #if !defined PRIiLEAST8
 212 # define PRIiLEAST8 "i"
 213 #endif
 214 #if !defined PRIoLEAST8
 215 # define PRIoLEAST8 "o"
 216 #endif
 217 #if !defined PRIuLEAST8
 218 # define PRIuLEAST8 "u"
 219 #endif
 220 #if !defined PRIxLEAST8
 221 # define PRIxLEAST8 "x"
 222 #endif
 223 #if !defined PRIXLEAST8
 224 # define PRIXLEAST8 "X"
 225 #endif
 226 #if !defined PRIdLEAST16
 227 # define PRIdLEAST16 "d"
 228 #endif
 229 #if !defined PRIiLEAST16
 230 # define PRIiLEAST16 "i"
 231 #endif
 232 #if !defined PRIoLEAST16
 233 # define PRIoLEAST16 "o"
 234 #endif
 235 #if !defined PRIuLEAST16
 236 # define PRIuLEAST16 "u"
 237 #endif
 238 #if !defined PRIxLEAST16
 239 # define PRIxLEAST16 "x"
 240 #endif
 241 #if !defined PRIXLEAST16
 242 # define PRIXLEAST16 "X"
 243 #endif
 244 #if !defined PRIdLEAST32
 245 # define PRIdLEAST32 "d"
 246 #endif
 247 #if !defined PRIiLEAST32
 248 # define PRIiLEAST32 "i"
 249 #endif
 250 #if !defined PRIoLEAST32
 251 # define PRIoLEAST32 "o"
 252 #endif
 253 #if !defined PRIuLEAST32
 254 # define PRIuLEAST32 "u"
 255 #endif
 256 #if !defined PRIxLEAST32
 257 # define PRIxLEAST32 "x"
 258 #endif
 259 #if !defined PRIXLEAST32
 260 # define PRIXLEAST32 "X"
 261 #endif
 262 #ifdef INT64_MAX
 263 # if !defined PRIdLEAST64
 264 #  define PRIdLEAST64 PRId64
 265 # endif
 266 # if !defined PRIiLEAST64
 267 #  define PRIiLEAST64 PRIi64
 268 # endif
 269 #endif
 270 #ifdef UINT64_MAX
 271 # if !defined PRIoLEAST64
 272 #  define PRIoLEAST64 PRIo64
 273 # endif
 274 # if !defined PRIuLEAST64
 275 #  define PRIuLEAST64 PRIu64
 276 # endif
 277 # if !defined PRIxLEAST64
 278 #  define PRIxLEAST64 PRIx64
 279 # endif
 280 # if !defined PRIXLEAST64
 281 #  define PRIXLEAST64 PRIX64
 282 # endif
 283 #endif
 284 
 285 #if !defined PRIdFAST8
 286 # if INT_FAST8_MAX > INT32_MAX
 287 #  define PRIdFAST8 PRId64
 288 # else
 289 #  define PRIdFAST8 "d"
 290 # endif
 291 #endif
 292 #if !defined PRIiFAST8
 293 # if INT_FAST8_MAX > INT32_MAX
 294 #  define PRIiFAST8 PRIi64
 295 # else
 296 #  define PRIiFAST8 "i"
 297 # endif
 298 #endif
 299 #if !defined PRIoFAST8
 300 # if UINT_FAST8_MAX > UINT32_MAX
 301 #  define PRIoFAST8 PRIo64
 302 # else
 303 #  define PRIoFAST8 "o"
 304 # endif
 305 #endif
 306 #if !defined PRIuFAST8
 307 # if UINT_FAST8_MAX > UINT32_MAX
 308 #  define PRIuFAST8 PRIu64
 309 # else
 310 #  define PRIuFAST8 "u"
 311 # endif
 312 #endif
 313 #if !defined PRIxFAST8
 314 # if UINT_FAST8_MAX > UINT32_MAX
 315 #  define PRIxFAST8 PRIx64
 316 # else
 317 #  define PRIxFAST8 "x"
 318 # endif
 319 #endif
 320 #if !defined PRIXFAST8
 321 # if UINT_FAST8_MAX > UINT32_MAX
 322 #  define PRIXFAST8 PRIX64
 323 # else
 324 #  define PRIXFAST8 "X"
 325 # endif
 326 #endif
 327 #if !defined PRIdFAST16
 328 # if INT_FAST16_MAX > INT32_MAX
 329 #  define PRIdFAST16 PRId64
 330 # else
 331 #  define PRIdFAST16 "d"
 332 # endif
 333 #endif
 334 #if !defined PRIiFAST16
 335 # if INT_FAST16_MAX > INT32_MAX
 336 #  define PRIiFAST16 PRIi64
 337 # else
 338 #  define PRIiFAST16 "i"
 339 # endif
 340 #endif
 341 #if !defined PRIoFAST16
 342 # if UINT_FAST16_MAX > UINT32_MAX
 343 #  define PRIoFAST16 PRIo64
 344 # else
 345 #  define PRIoFAST16 "o"
 346 # endif
 347 #endif
 348 #if !defined PRIuFAST16
 349 # if UINT_FAST16_MAX > UINT32_MAX
 350 #  define PRIuFAST16 PRIu64
 351 # else
 352 #  define PRIuFAST16 "u"
 353 # endif
 354 #endif
 355 #if !defined PRIxFAST16
 356 # if UINT_FAST16_MAX > UINT32_MAX
 357 #  define PRIxFAST16 PRIx64
 358 # else
 359 #  define PRIxFAST16 "x"
 360 # endif
 361 #endif
 362 #if !defined PRIXFAST16
 363 # if UINT_FAST16_MAX > UINT32_MAX
 364 #  define PRIXFAST16 PRIX64
 365 # else
 366 #  define PRIXFAST16 "X"
 367 # endif
 368 #endif
 369 #if !defined PRIdFAST32
 370 # if INT_FAST32_MAX > INT32_MAX
 371 #  define PRIdFAST32 PRId64
 372 # else
 373 #  define PRIdFAST32 "d"
 374 # endif
 375 #endif
 376 #if !defined PRIiFAST32
 377 # if INT_FAST32_MAX > INT32_MAX
 378 #  define PRIiFAST32 PRIi64
 379 # else
 380 #  define PRIiFAST32 "i"
 381 # endif
 382 #endif
 383 #if !defined PRIoFAST32
 384 # if UINT_FAST32_MAX > UINT32_MAX
 385 #  define PRIoFAST32 PRIo64
 386 # else
 387 #  define PRIoFAST32 "o"
 388 # endif
 389 #endif
 390 #if !defined PRIuFAST32
 391 # if UINT_FAST32_MAX > UINT32_MAX
 392 #  define PRIuFAST32 PRIu64
 393 # else
 394 #  define PRIuFAST32 "u"
 395 # endif
 396 #endif
 397 #if !defined PRIxFAST32
 398 # if UINT_FAST32_MAX > UINT32_MAX
 399 #  define PRIxFAST32 PRIx64
 400 # else
 401 #  define PRIxFAST32 "x"
 402 # endif
 403 #endif
 404 #if !defined PRIXFAST32
 405 # if UINT_FAST32_MAX > UINT32_MAX
 406 #  define PRIXFAST32 PRIX64
 407 # else
 408 #  define PRIXFAST32 "X"
 409 # endif
 410 #endif
 411 #ifdef INT64_MAX
 412 # if !defined PRIdFAST64
 413 #  define PRIdFAST64 PRId64
 414 # endif
 415 # if !defined PRIiFAST64
 416 #  define PRIiFAST64 PRIi64
 417 # endif
 418 #endif
 419 #ifdef UINT64_MAX
 420 # if !defined PRIoFAST64
 421 #  define PRIoFAST64 PRIo64
 422 # endif
 423 # if !defined PRIuFAST64
 424 #  define PRIuFAST64 PRIu64
 425 # endif
 426 # if !defined PRIxFAST64
 427 #  define PRIxFAST64 PRIx64
 428 # endif
 429 # if !defined PRIXFAST64
 430 #  define PRIXFAST64 PRIX64
 431 # endif
 432 #endif
 433 
 434 #if !defined PRIdMAX
 435 # if @INT32_MAX_LT_INTMAX_MAX@
 436 #  define PRIdMAX PRId64
 437 # else
 438 #  define PRIdMAX "ld"
 439 # endif
 440 #endif
 441 #if !defined PRIiMAX
 442 # if @INT32_MAX_LT_INTMAX_MAX@
 443 #  define PRIiMAX PRIi64
 444 # else
 445 #  define PRIiMAX "li"
 446 # endif
 447 #endif
 448 #if !defined PRIoMAX
 449 # if @UINT32_MAX_LT_UINTMAX_MAX@
 450 #  define PRIoMAX PRIo64
 451 # else
 452 #  define PRIoMAX "lo"
 453 # endif
 454 #endif
 455 #if !defined PRIuMAX
 456 # if @UINT32_MAX_LT_UINTMAX_MAX@
 457 #  define PRIuMAX PRIu64
 458 # else
 459 #  define PRIuMAX "lu"
 460 # endif
 461 #endif
 462 #if !defined PRIxMAX
 463 # if @UINT32_MAX_LT_UINTMAX_MAX@
 464 #  define PRIxMAX PRIx64
 465 # else
 466 #  define PRIxMAX "lx"
 467 # endif
 468 #endif
 469 #if !defined PRIXMAX
 470 # if @UINT32_MAX_LT_UINTMAX_MAX@
 471 #  define PRIXMAX PRIX64
 472 # else
 473 #  define PRIXMAX "lX"
 474 # endif
 475 #endif
 476 
 477 #if !defined PRIdPTR
 478 # ifdef INTPTR_MAX
 479 #  define PRIdPTR @PRIPTR_PREFIX@ "d"
 480 # endif
 481 #endif
 482 #if !defined PRIiPTR
 483 # ifdef INTPTR_MAX
 484 #  define PRIiPTR @PRIPTR_PREFIX@ "i"
 485 # endif
 486 #endif
 487 #if !defined PRIoPTR
 488 # ifdef UINTPTR_MAX
 489 #  define PRIoPTR @PRIPTR_PREFIX@ "o"
 490 # endif
 491 #endif
 492 #if !defined PRIuPTR
 493 # ifdef UINTPTR_MAX
 494 #  define PRIuPTR @PRIPTR_PREFIX@ "u"
 495 # endif
 496 #endif
 497 #if !defined PRIxPTR
 498 # ifdef UINTPTR_MAX
 499 #  define PRIxPTR @PRIPTR_PREFIX@ "x"
 500 # endif
 501 #endif
 502 #if !defined PRIXPTR
 503 # ifdef UINTPTR_MAX
 504 #  define PRIXPTR @PRIPTR_PREFIX@ "X"
 505 # endif
 506 #endif
 507 
 508 #if !defined SCNd8
 509 # ifdef INT8_MAX
 510 #  define SCNd8 "hhd"
 511 # endif
 512 #endif
 513 #if !defined SCNi8
 514 # ifdef INT8_MAX
 515 #  define SCNi8 "hhi"
 516 # endif
 517 #endif
 518 #if !defined SCNo8
 519 # ifdef UINT8_MAX
 520 #  define SCNo8 "hho"
 521 # endif
 522 #endif
 523 #if !defined SCNu8
 524 # ifdef UINT8_MAX
 525 #  define SCNu8 "hhu"
 526 # endif
 527 #endif
 528 #if !defined SCNx8
 529 # ifdef UINT8_MAX
 530 #  define SCNx8 "hhx"
 531 # endif
 532 #endif
 533 #if !defined SCNd16
 534 # ifdef INT16_MAX
 535 #  define SCNd16 "hd"
 536 # endif
 537 #endif
 538 #if !defined SCNi16
 539 # ifdef INT16_MAX
 540 #  define SCNi16 "hi"
 541 # endif
 542 #endif
 543 #if !defined SCNo16
 544 # ifdef UINT16_MAX
 545 #  define SCNo16 "ho"
 546 # endif
 547 #endif
 548 #if !defined SCNu16
 549 # ifdef UINT16_MAX
 550 #  define SCNu16 "hu"
 551 # endif
 552 #endif
 553 #if !defined SCNx16
 554 # ifdef UINT16_MAX
 555 #  define SCNx16 "hx"
 556 # endif
 557 #endif
 558 #if !defined SCNd32
 559 # ifdef INT32_MAX
 560 #  define SCNd32 "d"
 561 # endif
 562 #endif
 563 #if !defined SCNi32
 564 # ifdef INT32_MAX
 565 #  define SCNi32 "i"
 566 # endif
 567 #endif
 568 #if !defined SCNo32
 569 # ifdef UINT32_MAX
 570 #  define SCNo32 "o"
 571 # endif
 572 #endif
 573 #if !defined SCNu32
 574 # ifdef UINT32_MAX
 575 #  define SCNu32 "u"
 576 # endif
 577 #endif
 578 #if !defined SCNx32
 579 # ifdef UINT32_MAX
 580 #  define SCNx32 "x"
 581 # endif
 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"
 588 # elif LONG_MAX >> 30 == 1
 589 #  define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX
 590 # endif
 591 # if !defined SCNd64
 592 #  define SCNd64 _SCN64_PREFIX "d"
 593 # endif
 594 # if !defined SCNi64
 595 #  define SCNi64 _SCN64_PREFIX "i"
 596 # endif
 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"
 603 # elif ULONG_MAX >> 31 == 1
 604 #  define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX
 605 # endif
 606 # if !defined SCNo64
 607 #  define SCNo64 _SCNu64_PREFIX "o"
 608 # endif
 609 # if !defined SCNu64
 610 #  define SCNu64 _SCNu64_PREFIX "u"
 611 # endif
 612 # if !defined SCNx64
 613 #  define SCNx64 _SCNu64_PREFIX "x"
 614 # endif
 615 #endif
 616 
 617 #if !defined SCNdLEAST8
 618 # define SCNdLEAST8 "hhd"
 619 #endif
 620 #if !defined SCNiLEAST8
 621 # define SCNiLEAST8 "hhi"
 622 #endif
 623 #if !defined SCNoLEAST8
 624 # define SCNoLEAST8 "hho"
 625 #endif
 626 #if !defined SCNuLEAST8
 627 # define SCNuLEAST8 "hhu"
 628 #endif
 629 #if !defined SCNxLEAST8
 630 # define SCNxLEAST8 "hhx"
 631 #endif
 632 #if !defined SCNdLEAST16
 633 # define SCNdLEAST16 "hd"
 634 #endif
 635 #if !defined SCNiLEAST16
 636 # define SCNiLEAST16 "hi"
 637 #endif
 638 #if !defined SCNoLEAST16
 639 # define SCNoLEAST16 "ho"
 640 #endif
 641 #if !defined SCNuLEAST16
 642 # define SCNuLEAST16 "hu"
 643 #endif
 644 #if !defined SCNxLEAST16
 645 # define SCNxLEAST16 "hx"
 646 #endif
 647 #if !defined SCNdLEAST32
 648 # define SCNdLEAST32 "d"
 649 #endif
 650 #if !defined SCNiLEAST32
 651 # define SCNiLEAST32 "i"
 652 #endif
 653 #if !defined SCNoLEAST32
 654 # define SCNoLEAST32 "o"
 655 #endif
 656 #if !defined SCNuLEAST32
 657 # define SCNuLEAST32 "u"
 658 #endif
 659 #if !defined SCNxLEAST32
 660 # define SCNxLEAST32 "x"
 661 #endif
 662 #ifdef INT64_MAX
 663 # if !defined SCNdLEAST64
 664 #  define SCNdLEAST64 SCNd64
 665 # endif
 666 # if !defined SCNiLEAST64
 667 #  define SCNiLEAST64 SCNi64
 668 # endif
 669 #endif
 670 #ifdef UINT64_MAX
 671 # if !defined SCNoLEAST64
 672 #  define SCNoLEAST64 SCNo64
 673 # endif
 674 # if !defined SCNuLEAST64
 675 #  define SCNuLEAST64 SCNu64
 676 # endif
 677 # if !defined SCNxLEAST64
 678 #  define SCNxLEAST64 SCNx64
 679 # endif
 680 #endif
 681 
 682 #if !defined SCNdFAST8
 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"
 691 # endif
 692 #endif
 693 #if !defined SCNiFAST8
 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"
 702 # endif
 703 #endif
 704 #if !defined SCNoFAST8
 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"
 713 # endif
 714 #endif
 715 #if !defined SCNuFAST8
 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"
 724 # endif
 725 #endif
 726 #if !defined SCNxFAST8
 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"
 735 # endif
 736 #endif
 737 #if !defined SCNdFAST16
 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"
 744 # endif
 745 #endif
 746 #if !defined SCNiFAST16
 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"
 753 # endif
 754 #endif
 755 #if !defined SCNoFAST16
 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"
 762 # endif
 763 #endif
 764 #if !defined SCNuFAST16
 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"
 771 # endif
 772 #endif
 773 #if !defined SCNxFAST16
 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"
 780 # endif
 781 #endif
 782 #if !defined SCNdFAST32
 783 # if INT_FAST32_MAX > INT32_MAX
 784 #  define SCNdFAST32 SCNd64
 785 # else
 786 #  define SCNdFAST32 "d"
 787 # endif
 788 #endif
 789 #if !defined SCNiFAST32
 790 # if INT_FAST32_MAX > INT32_MAX
 791 #  define SCNiFAST32 SCNi64
 792 # else
 793 #  define SCNiFAST32 "i"
 794 # endif
 795 #endif
 796 #if !defined SCNoFAST32
 797 # if UINT_FAST32_MAX > UINT32_MAX
 798 #  define SCNoFAST32 SCNo64
 799 # else
 800 #  define SCNoFAST32 "o"
 801 # endif
 802 #endif
 803 #if !defined SCNuFAST32
 804 # if UINT_FAST32_MAX > UINT32_MAX
 805 #  define SCNuFAST32 SCNu64
 806 # else
 807 #  define SCNuFAST32 "u"
 808 # endif
 809 #endif
 810 #if !defined SCNxFAST32
 811 # if UINT_FAST32_MAX > UINT32_MAX
 812 #  define SCNxFAST32 SCNx64
 813 # else
 814 #  define SCNxFAST32 "x"
 815 # endif
 816 #endif
 817 #ifdef INT64_MAX
 818 # if !defined SCNdFAST64
 819 #  define SCNdFAST64 SCNd64
 820 # endif
 821 # if !defined SCNiFAST64
 822 #  define SCNiFAST64 SCNi64
 823 # endif
 824 #endif
 825 #ifdef UINT64_MAX
 826 # if !defined SCNoFAST64
 827 #  define SCNoFAST64 SCNo64
 828 # endif
 829 # if !defined SCNuFAST64
 830 #  define SCNuFAST64 SCNu64
 831 # endif
 832 # if !defined SCNxFAST64
 833 #  define SCNxFAST64 SCNx64
 834 # endif
 835 #endif
 836 
 837 #if !defined SCNdMAX
 838 # if @INT32_MAX_LT_INTMAX_MAX@
 839 #  define SCNdMAX SCNd64
 840 # else
 841 #  define SCNdMAX "ld"
 842 # endif
 843 #endif
 844 #if !defined SCNiMAX
 845 # if @INT32_MAX_LT_INTMAX_MAX@
 846 #  define SCNiMAX SCNi64
 847 # else
 848 #  define SCNiMAX "li"
 849 # endif
 850 #endif
 851 #if !defined SCNoMAX
 852 # if @UINT32_MAX_LT_UINTMAX_MAX@
 853 #  define SCNoMAX SCNo64
 854 # else
 855 #  define SCNoMAX "lo"
 856 # endif
 857 #endif
 858 #if !defined SCNuMAX
 859 # if @UINT32_MAX_LT_UINTMAX_MAX@
 860 #  define SCNuMAX SCNu64
 861 # else
 862 #  define SCNuMAX "lu"
 863 # endif
 864 #endif
 865 #if !defined SCNxMAX
 866 # if @UINT32_MAX_LT_UINTMAX_MAX@
 867 #  define SCNxMAX SCNx64
 868 # else
 869 #  define SCNxMAX "lx"
 870 # endif
 871 #endif
 872 
 873 #if !defined SCNdPTR
 874 # ifdef INTPTR_MAX
 875 #  define SCNdPTR @PRIPTR_PREFIX@ "d"
 876 # endif
 877 #endif
 878 #if !defined SCNiPTR
 879 # ifdef INTPTR_MAX
 880 #  define SCNiPTR @PRIPTR_PREFIX@ "i"
 881 # endif
 882 #endif
 883 #if !defined SCNoPTR
 884 # ifdef UINTPTR_MAX
 885 #  define SCNoPTR @PRIPTR_PREFIX@ "o"
 886 # endif
 887 #endif
 888 #if !defined SCNuPTR
 889 # ifdef UINTPTR_MAX
 890 #  define SCNuPTR @PRIPTR_PREFIX@ "u"
 891 # endif
 892 #endif
 893 #if !defined SCNxPTR
 894 # ifdef UINTPTR_MAX
 895 #  define SCNxPTR @PRIPTR_PREFIX@ "x"
 896 # endif
 897 #endif
 898 
 899 /* 7.8.2 Functions for greatest-width integer types */
 900 
 901 #ifdef __cplusplus
 902 extern "C" {
 903 #endif
 904 
 905 #if @GNULIB_IMAXABS@
 906 # if !@HAVE_DECL_IMAXABS@
 907 extern 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@
 918 # if !@HAVE_IMAXDIV_T@
 919 #  if !GNULIB_defined_imaxdiv_t
 920 typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t;
 921 #   define GNULIB_defined_imaxdiv_t 1
 922 #  endif
 923 # endif
 924 # if !@HAVE_DECL_IMAXDIV@
 925 extern 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@
 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,
 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));
 946 # else
 947 #  if !@HAVE_DECL_STRTOIMAX@
 948 #   undef strtoimax
 949 _GL_FUNCDECL_SYS (strtoimax, intmax_t,
 950                   (const char *restrict, char **restrict, int)
 951                   _GL_ARG_NONNULL ((1)));
 952 #  endif
 953 _GL_CXXALIAS_SYS (strtoimax, intmax_t,
 954                   (const char *restrict, char **restrict, int));
 955 # endif
 956 _GL_CXXALIASWARN (strtoimax);
 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@
 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,
 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));
 976 # else
 977 #  if !@HAVE_DECL_STRTOUMAX@
 978 #   undef strtoumax
 979 _GL_FUNCDECL_SYS (strtoumax, uintmax_t,
 980                   (const char *restrict, char **restrict, int)
 981                   _GL_ARG_NONNULL ((1)));
 982 #  endif
 983 _GL_CXXALIAS_SYS (strtoumax, uintmax_t,
 984                   (const char *restrict, char **restrict, int));
 985 # endif
 986 _GL_CXXALIASWARN (strtoumax);
 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 */

/* [previous][next][first][last][top][bottom][index][help] */