644 lines
9.1 KiB
C++
644 lines
9.1 KiB
C++
|
//===----------------------------------------------------------------------===//
|
||
|
//
|
||
|
// The LLVM Compiler Infrastructure
|
||
|
//
|
||
|
// This file is dual licensed under the MIT and the University of Illinois Open
|
||
|
// Source Licenses. See LICENSE.TXT for details.
|
||
|
//
|
||
|
//===----------------------------------------------------------------------===//
|
||
|
|
||
|
// test <inttypes.h>
|
||
|
|
||
|
#include <inttypes.h>
|
||
|
#include <type_traits>
|
||
|
|
||
|
#ifndef PRId8
|
||
|
#error PRId8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRId16
|
||
|
#error PRId16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRId32
|
||
|
#error PRId32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRId64
|
||
|
#error PRId64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIdLEAST8
|
||
|
#error PRIdLEAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIdLEAST16
|
||
|
#error PRIdLEAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIdLEAST32
|
||
|
#error PRIdLEAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIdLEAST64
|
||
|
#error PRIdLEAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIdFAST8
|
||
|
#error PRIdFAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIdFAST16
|
||
|
#error PRIdFAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIdFAST32
|
||
|
#error PRIdFAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIdFAST64
|
||
|
#error PRIdFAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIdMAX
|
||
|
#error PRIdMAX not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIdPTR
|
||
|
#error PRIdPTR not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIi8
|
||
|
#error PRIi8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIi16
|
||
|
#error PRIi16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIi32
|
||
|
#error PRIi32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIi64
|
||
|
#error PRIi64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIiLEAST8
|
||
|
#error PRIiLEAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIiLEAST16
|
||
|
#error PRIiLEAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIiLEAST32
|
||
|
#error PRIiLEAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIiLEAST64
|
||
|
#error PRIiLEAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIiFAST8
|
||
|
#error PRIiFAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIiFAST16
|
||
|
#error PRIiFAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIiFAST32
|
||
|
#error PRIiFAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIiFAST64
|
||
|
#error PRIiFAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIiMAX
|
||
|
#error PRIiMAX not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIiPTR
|
||
|
#error PRIiPTR not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIo8
|
||
|
#error PRIo8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIo16
|
||
|
#error PRIo16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIo32
|
||
|
#error PRIo32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIo64
|
||
|
#error PRIo64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIoLEAST8
|
||
|
#error PRIoLEAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIoLEAST16
|
||
|
#error PRIoLEAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIoLEAST32
|
||
|
#error PRIoLEAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIoLEAST64
|
||
|
#error PRIoLEAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIoFAST8
|
||
|
#error PRIoFAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIoFAST16
|
||
|
#error PRIoFAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIoFAST32
|
||
|
#error PRIoFAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIoFAST64
|
||
|
#error PRIoFAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIoMAX
|
||
|
#error PRIoMAX not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIoPTR
|
||
|
#error PRIoPTR not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIu8
|
||
|
#error PRIu8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIu16
|
||
|
#error PRIu16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIu32
|
||
|
#error PRIu32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIu64
|
||
|
#error PRIu64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIuLEAST8
|
||
|
#error PRIuLEAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIuLEAST16
|
||
|
#error PRIuLEAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIuLEAST32
|
||
|
#error PRIuLEAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIuLEAST64
|
||
|
#error PRIuLEAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIuFAST8
|
||
|
#error PRIuFAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIuFAST16
|
||
|
#error PRIuFAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIuFAST32
|
||
|
#error PRIuFAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIuFAST64
|
||
|
#error PRIuFAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIuMAX
|
||
|
#error PRIuMAX not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIuPTR
|
||
|
#error PRIuPTR not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIx8
|
||
|
#error PRIx8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIx16
|
||
|
#error PRIx16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIx32
|
||
|
#error PRIx32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIx64
|
||
|
#error PRIx64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIxLEAST8
|
||
|
#error PRIxLEAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIxLEAST16
|
||
|
#error PRIxLEAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIxLEAST32
|
||
|
#error PRIxLEAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIxLEAST64
|
||
|
#error PRIxLEAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIxFAST8
|
||
|
#error PRIxFAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIxFAST16
|
||
|
#error PRIxFAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIxFAST32
|
||
|
#error PRIxFAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIxFAST64
|
||
|
#error PRIxFAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIxMAX
|
||
|
#error PRIxMAX not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIxPTR
|
||
|
#error PRIxPTR not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIX8
|
||
|
#error PRIX8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIX16
|
||
|
#error PRIX16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIX32
|
||
|
#error PRIX32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIX64
|
||
|
#error PRIX64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIXLEAST8
|
||
|
#error PRIXLEAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIXLEAST16
|
||
|
#error PRIXLEAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIXLEAST32
|
||
|
#error PRIXLEAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIXLEAST64
|
||
|
#error PRIXLEAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIXFAST8
|
||
|
#error PRIXFAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIXFAST16
|
||
|
#error PRIXFAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIXFAST32
|
||
|
#error PRIXFAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIXFAST64
|
||
|
#error PRIXFAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIXMAX
|
||
|
#error PRIXMAX not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef PRIXPTR
|
||
|
#error PRIXPTR not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNd8
|
||
|
#error SCNd8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNd16
|
||
|
#error SCNd16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNd32
|
||
|
#error SCNd32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNd64
|
||
|
#error SCNd64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNdLEAST8
|
||
|
#error SCNdLEAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNdLEAST16
|
||
|
#error SCNdLEAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNdLEAST32
|
||
|
#error SCNdLEAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNdLEAST64
|
||
|
#error SCNdLEAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNdFAST8
|
||
|
#error SCNdFAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNdFAST16
|
||
|
#error SCNdFAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNdFAST32
|
||
|
#error SCNdFAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNdFAST64
|
||
|
#error SCNdFAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNdMAX
|
||
|
#error SCNdMAX not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNdPTR
|
||
|
#error SCNdPTR not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNi8
|
||
|
#error SCNi8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNi16
|
||
|
#error SCNi16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNi32
|
||
|
#error SCNi32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNi64
|
||
|
#error SCNi64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNiLEAST8
|
||
|
#error SCNiLEAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNiLEAST16
|
||
|
#error SCNiLEAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNiLEAST32
|
||
|
#error SCNiLEAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNiLEAST64
|
||
|
#error SCNiLEAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNiFAST8
|
||
|
#error SCNiFAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNiFAST16
|
||
|
#error SCNiFAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNiFAST32
|
||
|
#error SCNiFAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNiFAST64
|
||
|
#error SCNiFAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNiMAX
|
||
|
#error SCNiMAX not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNiPTR
|
||
|
#error SCNiPTR not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNo8
|
||
|
#error SCNo8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNo16
|
||
|
#error SCNo16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNo32
|
||
|
#error SCNo32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNo64
|
||
|
#error SCNo64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNoLEAST8
|
||
|
#error SCNoLEAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNoLEAST16
|
||
|
#error SCNoLEAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNoLEAST32
|
||
|
#error SCNoLEAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNoLEAST64
|
||
|
#error SCNoLEAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNoFAST8
|
||
|
#error SCNoFAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNoFAST16
|
||
|
#error SCNoFAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNoFAST32
|
||
|
#error SCNoFAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNoFAST64
|
||
|
#error SCNoFAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNoMAX
|
||
|
#error SCNoMAX not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNoPTR
|
||
|
#error SCNoPTR not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNu8
|
||
|
#error SCNu8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNu16
|
||
|
#error SCNu16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNu32
|
||
|
#error SCNu32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNu64
|
||
|
#error SCNu64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNuLEAST8
|
||
|
#error SCNuLEAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNuLEAST16
|
||
|
#error SCNuLEAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNuLEAST32
|
||
|
#error SCNuLEAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNuLEAST64
|
||
|
#error SCNuLEAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNuFAST8
|
||
|
#error SCNuFAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNuFAST16
|
||
|
#error SCNuFAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNuFAST32
|
||
|
#error SCNuFAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNuFAST64
|
||
|
#error SCNuFAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNuMAX
|
||
|
#error SCNuMAX not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNuPTR
|
||
|
#error SCNuPTR not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNx8
|
||
|
#error SCNx8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNx16
|
||
|
#error SCNx16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNx32
|
||
|
#error SCNx32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNx64
|
||
|
#error SCNx64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNxLEAST8
|
||
|
#error SCNxLEAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNxLEAST16
|
||
|
#error SCNxLEAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNxLEAST32
|
||
|
#error SCNxLEAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNxLEAST64
|
||
|
#error SCNxLEAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNxFAST8
|
||
|
#error SCNxFAST8 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNxFAST16
|
||
|
#error SCNxFAST16 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNxFAST32
|
||
|
#error SCNxFAST32 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNxFAST64
|
||
|
#error SCNxFAST64 not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNxMAX
|
||
|
#error SCNxMAX not defined
|
||
|
#endif
|
||
|
|
||
|
#ifndef SCNxPTR
|
||
|
#error SCNxPTR not defined
|
||
|
#endif
|
||
|
|
||
|
int main()
|
||
|
{
|
||
|
{
|
||
|
imaxdiv_t i1 = {0};
|
||
|
}
|
||
|
intmax_t i = 0;
|
||
|
static_assert((std::is_same<decltype(imaxabs(i)), intmax_t>::value), "");
|
||
|
static_assert((std::is_same<decltype(imaxdiv(i, i)), imaxdiv_t>::value), "");
|
||
|
static_assert((std::is_same<decltype(strtoimax("", (char**)0, 0)), intmax_t>::value), "");
|
||
|
static_assert((std::is_same<decltype(strtoumax("", (char**)0, 0)), uintmax_t>::value), "");
|
||
|
static_assert((std::is_same<decltype(wcstoimax(L"", (wchar_t**)0, 0)), intmax_t>::value), "");
|
||
|
static_assert((std::is_same<decltype(wcstoumax(L"", (wchar_t**)0, 0)), uintmax_t>::value), "");
|
||
|
}
|