inttypes_h.pass.cpp   [plain text]


//===----------------------------------------------------------------------===//
//
//                     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), "");
}