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 631 int 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