1//===----------------------------------------------------------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is dual licensed under the MIT and the University of Illinois Open 6// Source Licenses. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10// test <inttypes.h> 11 12#include <inttypes.h> 13#include <type_traits> 14 15#ifndef PRId8 16#error PRId8 not defined 17#endif 18 19#ifndef PRId16 20#error PRId16 not defined 21#endif 22 23#ifndef PRId32 24#error PRId32 not defined 25#endif 26 27#ifndef PRId64 28#error PRId64 not defined 29#endif 30 31#ifndef PRIdLEAST8 32#error PRIdLEAST8 not defined 33#endif 34 35#ifndef PRIdLEAST16 36#error PRIdLEAST16 not defined 37#endif 38 39#ifndef PRIdLEAST32 40#error PRIdLEAST32 not defined 41#endif 42 43#ifndef PRIdLEAST64 44#error PRIdLEAST64 not defined 45#endif 46 47#ifndef PRIdFAST8 48#error PRIdFAST8 not defined 49#endif 50 51#ifndef PRIdFAST16 52#error PRIdFAST16 not defined 53#endif 54 55#ifndef PRIdFAST32 56#error PRIdFAST32 not defined 57#endif 58 59#ifndef PRIdFAST64 60#error PRIdFAST64 not defined 61#endif 62 63#ifndef PRIdMAX 64#error PRIdMAX not defined 65#endif 66 67#ifndef PRIdPTR 68#error PRIdPTR not defined 69#endif 70 71#ifndef PRIi8 72#error PRIi8 not defined 73#endif 74 75#ifndef PRIi16 76#error PRIi16 not defined 77#endif 78 79#ifndef PRIi32 80#error PRIi32 not defined 81#endif 82 83#ifndef PRIi64 84#error PRIi64 not defined 85#endif 86 87#ifndef PRIiLEAST8 88#error PRIiLEAST8 not defined 89#endif 90 91#ifndef PRIiLEAST16 92#error PRIiLEAST16 not defined 93#endif 94 95#ifndef PRIiLEAST32 96#error PRIiLEAST32 not defined 97#endif 98 99#ifndef PRIiLEAST64 100#error PRIiLEAST64 not defined 101#endif 102 103#ifndef PRIiFAST8 104#error PRIiFAST8 not defined 105#endif 106 107#ifndef PRIiFAST16 108#error PRIiFAST16 not defined 109#endif 110 111#ifndef PRIiFAST32 112#error PRIiFAST32 not defined 113#endif 114 115#ifndef PRIiFAST64 116#error PRIiFAST64 not defined 117#endif 118 119#ifndef PRIiMAX 120#error PRIiMAX not defined 121#endif 122 123#ifndef PRIiPTR 124#error PRIiPTR not defined 125#endif 126 127#ifndef PRIo8 128#error PRIo8 not defined 129#endif 130 131#ifndef PRIo16 132#error PRIo16 not defined 133#endif 134 135#ifndef PRIo32 136#error PRIo32 not defined 137#endif 138 139#ifndef PRIo64 140#error PRIo64 not defined 141#endif 142 143#ifndef PRIoLEAST8 144#error PRIoLEAST8 not defined 145#endif 146 147#ifndef PRIoLEAST16 148#error PRIoLEAST16 not defined 149#endif 150 151#ifndef PRIoLEAST32 152#error PRIoLEAST32 not defined 153#endif 154 155#ifndef PRIoLEAST64 156#error PRIoLEAST64 not defined 157#endif 158 159#ifndef PRIoFAST8 160#error PRIoFAST8 not defined 161#endif 162 163#ifndef PRIoFAST16 164#error PRIoFAST16 not defined 165#endif 166 167#ifndef PRIoFAST32 168#error PRIoFAST32 not defined 169#endif 170 171#ifndef PRIoFAST64 172#error PRIoFAST64 not defined 173#endif 174 175#ifndef PRIoMAX 176#error PRIoMAX not defined 177#endif 178 179#ifndef PRIoPTR 180#error PRIoPTR not defined 181#endif 182 183#ifndef PRIu8 184#error PRIu8 not defined 185#endif 186 187#ifndef PRIu16 188#error PRIu16 not defined 189#endif 190 191#ifndef PRIu32 192#error PRIu32 not defined 193#endif 194 195#ifndef PRIu64 196#error PRIu64 not defined 197#endif 198 199#ifndef PRIuLEAST8 200#error PRIuLEAST8 not defined 201#endif 202 203#ifndef PRIuLEAST16 204#error PRIuLEAST16 not defined 205#endif 206 207#ifndef PRIuLEAST32 208#error PRIuLEAST32 not defined 209#endif 210 211#ifndef PRIuLEAST64 212#error PRIuLEAST64 not defined 213#endif 214 215#ifndef PRIuFAST8 216#error PRIuFAST8 not defined 217#endif 218 219#ifndef PRIuFAST16 220#error PRIuFAST16 not defined 221#endif 222 223#ifndef PRIuFAST32 224#error PRIuFAST32 not defined 225#endif 226 227#ifndef PRIuFAST64 228#error PRIuFAST64 not defined 229#endif 230 231#ifndef PRIuMAX 232#error PRIuMAX not defined 233#endif 234 235#ifndef PRIuPTR 236#error PRIuPTR not defined 237#endif 238 239#ifndef PRIx8 240#error PRIx8 not defined 241#endif 242 243#ifndef PRIx16 244#error PRIx16 not defined 245#endif 246 247#ifndef PRIx32 248#error PRIx32 not defined 249#endif 250 251#ifndef PRIx64 252#error PRIx64 not defined 253#endif 254 255#ifndef PRIxLEAST8 256#error PRIxLEAST8 not defined 257#endif 258 259#ifndef PRIxLEAST16 260#error PRIxLEAST16 not defined 261#endif 262 263#ifndef PRIxLEAST32 264#error PRIxLEAST32 not defined 265#endif 266 267#ifndef PRIxLEAST64 268#error PRIxLEAST64 not defined 269#endif 270 271#ifndef PRIxFAST8 272#error PRIxFAST8 not defined 273#endif 274 275#ifndef PRIxFAST16 276#error PRIxFAST16 not defined 277#endif 278 279#ifndef PRIxFAST32 280#error PRIxFAST32 not defined 281#endif 282 283#ifndef PRIxFAST64 284#error PRIxFAST64 not defined 285#endif 286 287#ifndef PRIxMAX 288#error PRIxMAX not defined 289#endif 290 291#ifndef PRIxPTR 292#error PRIxPTR not defined 293#endif 294 295#ifndef PRIX8 296#error PRIX8 not defined 297#endif 298 299#ifndef PRIX16 300#error PRIX16 not defined 301#endif 302 303#ifndef PRIX32 304#error PRIX32 not defined 305#endif 306 307#ifndef PRIX64 308#error PRIX64 not defined 309#endif 310 311#ifndef PRIXLEAST8 312#error PRIXLEAST8 not defined 313#endif 314 315#ifndef PRIXLEAST16 316#error PRIXLEAST16 not defined 317#endif 318 319#ifndef PRIXLEAST32 320#error PRIXLEAST32 not defined 321#endif 322 323#ifndef PRIXLEAST64 324#error PRIXLEAST64 not defined 325#endif 326 327#ifndef PRIXFAST8 328#error PRIXFAST8 not defined 329#endif 330 331#ifndef PRIXFAST16 332#error PRIXFAST16 not defined 333#endif 334 335#ifndef PRIXFAST32 336#error PRIXFAST32 not defined 337#endif 338 339#ifndef PRIXFAST64 340#error PRIXFAST64 not defined 341#endif 342 343#ifndef PRIXMAX 344#error PRIXMAX not defined 345#endif 346 347#ifndef PRIXPTR 348#error PRIXPTR not defined 349#endif 350 351#ifndef SCNd8 352#error SCNd8 not defined 353#endif 354 355#ifndef SCNd16 356#error SCNd16 not defined 357#endif 358 359#ifndef SCNd32 360#error SCNd32 not defined 361#endif 362 363#ifndef SCNd64 364#error SCNd64 not defined 365#endif 366 367#ifndef SCNdLEAST8 368#error SCNdLEAST8 not defined 369#endif 370 371#ifndef SCNdLEAST16 372#error SCNdLEAST16 not defined 373#endif 374 375#ifndef SCNdLEAST32 376#error SCNdLEAST32 not defined 377#endif 378 379#ifndef SCNdLEAST64 380#error SCNdLEAST64 not defined 381#endif 382 383#ifndef SCNdFAST8 384#error SCNdFAST8 not defined 385#endif 386 387#ifndef SCNdFAST16 388#error SCNdFAST16 not defined 389#endif 390 391#ifndef SCNdFAST32 392#error SCNdFAST32 not defined 393#endif 394 395#ifndef SCNdFAST64 396#error SCNdFAST64 not defined 397#endif 398 399#ifndef SCNdMAX 400#error SCNdMAX not defined 401#endif 402 403#ifndef SCNdPTR 404#error SCNdPTR not defined 405#endif 406 407#ifndef SCNi8 408#error SCNi8 not defined 409#endif 410 411#ifndef SCNi16 412#error SCNi16 not defined 413#endif 414 415#ifndef SCNi32 416#error SCNi32 not defined 417#endif 418 419#ifndef SCNi64 420#error SCNi64 not defined 421#endif 422 423#ifndef SCNiLEAST8 424#error SCNiLEAST8 not defined 425#endif 426 427#ifndef SCNiLEAST16 428#error SCNiLEAST16 not defined 429#endif 430 431#ifndef SCNiLEAST32 432#error SCNiLEAST32 not defined 433#endif 434 435#ifndef SCNiLEAST64 436#error SCNiLEAST64 not defined 437#endif 438 439#ifndef SCNiFAST8 440#error SCNiFAST8 not defined 441#endif 442 443#ifndef SCNiFAST16 444#error SCNiFAST16 not defined 445#endif 446 447#ifndef SCNiFAST32 448#error SCNiFAST32 not defined 449#endif 450 451#ifndef SCNiFAST64 452#error SCNiFAST64 not defined 453#endif 454 455#ifndef SCNiMAX 456#error SCNiMAX not defined 457#endif 458 459#ifndef SCNiPTR 460#error SCNiPTR not defined 461#endif 462 463#ifndef SCNo8 464#error SCNo8 not defined 465#endif 466 467#ifndef SCNo16 468#error SCNo16 not defined 469#endif 470 471#ifndef SCNo32 472#error SCNo32 not defined 473#endif 474 475#ifndef SCNo64 476#error SCNo64 not defined 477#endif 478 479#ifndef SCNoLEAST8 480#error SCNoLEAST8 not defined 481#endif 482 483#ifndef SCNoLEAST16 484#error SCNoLEAST16 not defined 485#endif 486 487#ifndef SCNoLEAST32 488#error SCNoLEAST32 not defined 489#endif 490 491#ifndef SCNoLEAST64 492#error SCNoLEAST64 not defined 493#endif 494 495#ifndef SCNoFAST8 496#error SCNoFAST8 not defined 497#endif 498 499#ifndef SCNoFAST16 500#error SCNoFAST16 not defined 501#endif 502 503#ifndef SCNoFAST32 504#error SCNoFAST32 not defined 505#endif 506 507#ifndef SCNoFAST64 508#error SCNoFAST64 not defined 509#endif 510 511#ifndef SCNoMAX 512#error SCNoMAX not defined 513#endif 514 515#ifndef SCNoPTR 516#error SCNoPTR not defined 517#endif 518 519#ifndef SCNu8 520#error SCNu8 not defined 521#endif 522 523#ifndef SCNu16 524#error SCNu16 not defined 525#endif 526 527#ifndef SCNu32 528#error SCNu32 not defined 529#endif 530 531#ifndef SCNu64 532#error SCNu64 not defined 533#endif 534 535#ifndef SCNuLEAST8 536#error SCNuLEAST8 not defined 537#endif 538 539#ifndef SCNuLEAST16 540#error SCNuLEAST16 not defined 541#endif 542 543#ifndef SCNuLEAST32 544#error SCNuLEAST32 not defined 545#endif 546 547#ifndef SCNuLEAST64 548#error SCNuLEAST64 not defined 549#endif 550 551#ifndef SCNuFAST8 552#error SCNuFAST8 not defined 553#endif 554 555#ifndef SCNuFAST16 556#error SCNuFAST16 not defined 557#endif 558 559#ifndef SCNuFAST32 560#error SCNuFAST32 not defined 561#endif 562 563#ifndef SCNuFAST64 564#error SCNuFAST64 not defined 565#endif 566 567#ifndef SCNuMAX 568#error SCNuMAX not defined 569#endif 570 571#ifndef SCNuPTR 572#error SCNuPTR not defined 573#endif 574 575#ifndef SCNx8 576#error SCNx8 not defined 577#endif 578 579#ifndef SCNx16 580#error SCNx16 not defined 581#endif 582 583#ifndef SCNx32 584#error SCNx32 not defined 585#endif 586 587#ifndef SCNx64 588#error SCNx64 not defined 589#endif 590 591#ifndef SCNxLEAST8 592#error SCNxLEAST8 not defined 593#endif 594 595#ifndef SCNxLEAST16 596#error SCNxLEAST16 not defined 597#endif 598 599#ifndef SCNxLEAST32 600#error SCNxLEAST32 not defined 601#endif 602 603#ifndef SCNxLEAST64 604#error SCNxLEAST64 not defined 605#endif 606 607#ifndef SCNxFAST8 608#error SCNxFAST8 not defined 609#endif 610 611#ifndef SCNxFAST16 612#error SCNxFAST16 not defined 613#endif 614 615#ifndef SCNxFAST32 616#error SCNxFAST32 not defined 617#endif 618 619#ifndef SCNxFAST64 620#error SCNxFAST64 not defined 621#endif 622 623#ifndef SCNxMAX 624#error SCNxMAX not defined 625#endif 626 627#ifndef SCNxPTR 628#error SCNxPTR not defined 629#endif 630 631int main() 632{ 633 { 634 imaxdiv_t i1 = {0}; 635 } 636 intmax_t i = 0; 637 static_assert((std::is_same<decltype(imaxabs(i)), intmax_t>::value), ""); 638 static_assert((std::is_same<decltype(imaxdiv(i, i)), imaxdiv_t>::value), ""); 639 static_assert((std::is_same<decltype(strtoimax("", (char**)0, 0)), intmax_t>::value), ""); 640 static_assert((std::is_same<decltype(strtoumax("", (char**)0, 0)), uintmax_t>::value), ""); 641 static_assert((std::is_same<decltype(wcstoimax(L"", (wchar_t**)0, 0)), intmax_t>::value), ""); 642 static_assert((std::is_same<decltype(wcstoumax(L"", (wchar_t**)0, 0)), uintmax_t>::value), ""); 643} 644