// https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/inttypes.h.html #include "core.h" #include TEST(inttypes_h) { TYPE(wchar_t); TYPE(imaxdiv_t); MACRO_VALUE_STRING(PRId8, "d"); MACRO_VALUE_STRING(PRId16, "d"); MACRO_VALUE_STRING(PRId32, "d"); MACRO_VALUE_STRING(PRId64, __PRI64 "d"); MACRO_VALUE_STRING(PRIdLEAST8, "d"); MACRO_VALUE_STRING(PRIdLEAST16, "d"); MACRO_VALUE_STRING(PRIdLEAST32, "d"); MACRO_VALUE_STRING(PRIdLEAST64, __PRI64 "d"); MACRO_VALUE_STRING(PRIdFAST8, "d"); MACRO_VALUE_STRING(PRIdFAST16, "d"); MACRO_VALUE_STRING(PRIdFAST32, "d"); MACRO_VALUE_STRING(PRIdFAST64, __PRI64 "d"); MACRO_VALUE_STRING(PRIi8, "i"); MACRO_VALUE_STRING(PRIi16, "i"); MACRO_VALUE_STRING(PRIi32, "i"); MACRO_VALUE_STRING(PRIi64, __PRI64 "i"); MACRO_VALUE_STRING(PRIiLEAST8, "i"); MACRO_VALUE_STRING(PRIiLEAST16, "i"); MACRO_VALUE_STRING(PRIiLEAST32, "i"); MACRO_VALUE_STRING(PRIiLEAST64, __PRI64 "i"); MACRO_VALUE_STRING(PRIiFAST8, "i"); MACRO_VALUE_STRING(PRIiFAST16, "i"); MACRO_VALUE_STRING(PRIiFAST32, "i"); MACRO_VALUE_STRING(PRIiFAST64, __PRI64 "i"); MACRO_VALUE_STRING(PRIo8, "o"); MACRO_VALUE_STRING(PRIo16, "o"); MACRO_VALUE_STRING(PRIo32, "o"); MACRO_VALUE_STRING(PRIo64, __PRI64 "o"); MACRO_VALUE_STRING(PRIoLEAST8, "o"); MACRO_VALUE_STRING(PRIoLEAST16, "o"); MACRO_VALUE_STRING(PRIoLEAST32, "o"); MACRO_VALUE_STRING(PRIoLEAST64, __PRI64 "o"); MACRO_VALUE_STRING(PRIoFAST8, "o"); MACRO_VALUE_STRING(PRIoFAST16, "o"); MACRO_VALUE_STRING(PRIoFAST32, "o"); MACRO_VALUE_STRING(PRIoFAST64, __PRI64 "o"); MACRO_VALUE_STRING(PRIu8, "u"); MACRO_VALUE_STRING(PRIu16, "u"); MACRO_VALUE_STRING(PRIu32, "u"); MACRO_VALUE_STRING(PRIu64, __PRI64 "u"); MACRO_VALUE_STRING(PRIuLEAST8, "u"); MACRO_VALUE_STRING(PRIuLEAST16, "u"); MACRO_VALUE_STRING(PRIuLEAST32, "u"); MACRO_VALUE_STRING(PRIuLEAST64, __PRI64 "u"); MACRO_VALUE_STRING(PRIuFAST8, "u"); MACRO_VALUE_STRING(PRIuFAST16, "u"); MACRO_VALUE_STRING(PRIuFAST32, "u"); MACRO_VALUE_STRING(PRIuFAST64, __PRI64 "u"); MACRO_VALUE_STRING(PRIx8, "x"); MACRO_VALUE_STRING(PRIx16, "x"); MACRO_VALUE_STRING(PRIx32, "x"); MACRO_VALUE_STRING(PRIx64, __PRI64 "x"); MACRO_VALUE_STRING(PRIxLEAST8, "x"); MACRO_VALUE_STRING(PRIxLEAST16, "x"); MACRO_VALUE_STRING(PRIxLEAST32, "x"); MACRO_VALUE_STRING(PRIxLEAST64, __PRI64 "x"); MACRO_VALUE_STRING(PRIxFAST8, "x"); MACRO_VALUE_STRING(PRIxFAST16, "x"); MACRO_VALUE_STRING(PRIxFAST32, "x"); MACRO_VALUE_STRING(PRIxFAST64, __PRI64 "x"); MACRO_VALUE_STRING(PRIX8, "X"); MACRO_VALUE_STRING(PRIX16, "X"); MACRO_VALUE_STRING(PRIX32, "X"); MACRO_VALUE_STRING(PRIX64, __PRI64 "X"); MACRO_VALUE_STRING(PRIXLEAST8, "X"); MACRO_VALUE_STRING(PRIXLEAST16, "X"); MACRO_VALUE_STRING(PRIXLEAST32, "X"); MACRO_VALUE_STRING(PRIXLEAST64, __PRI64 "X"); MACRO_VALUE_STRING(PRIXFAST8, "X"); MACRO_VALUE_STRING(PRIXFAST16, "X"); MACRO_VALUE_STRING(PRIXFAST32, "X"); MACRO_VALUE_STRING(PRIXFAST64, __PRI64 "X"); MACRO_VALUE_STRING(PRIdMAX, __PRI64 "d"); MACRO_VALUE_STRING(PRIiMAX, __PRI64 "i"); MACRO_VALUE_STRING(PRIoMAX, __PRI64 "o"); MACRO_VALUE_STRING(PRIuMAX, __PRI64 "u"); MACRO_VALUE_STRING(PRIxMAX, __PRI64 "x"); MACRO_VALUE_STRING(PRIXMAX, __PRI64 "X"); MACRO_VALUE_STRING(PRIdPTR, __PRIPTR "d"); MACRO_VALUE_STRING(PRIiPTR, __PRIPTR "i"); MACRO_VALUE_STRING(PRIoPTR, __PRIPTR "o"); MACRO_VALUE_STRING(PRIuPTR, __PRIPTR "u"); MACRO_VALUE_STRING(PRIxPTR, __PRIPTR "x"); MACRO_VALUE_STRING(PRIXPTR, __PRIPTR "X"); MACRO_VALUE_STRING(SCNd8, "hhd"); MACRO_VALUE_STRING(SCNd16, "hd"); MACRO_VALUE_STRING(SCNd32, "d"); MACRO_VALUE_STRING(SCNd64, __PRI64 "d"); MACRO_VALUE_STRING(SCNdLEAST8, "hhd"); MACRO_VALUE_STRING(SCNdLEAST16, "hd"); MACRO_VALUE_STRING(SCNdLEAST32, "d"); MACRO_VALUE_STRING(SCNdLEAST64, __PRI64 "d"); MACRO_VALUE_STRING(SCNdFAST8, "hhd"); MACRO_VALUE_STRING(SCNdFAST16, "d"); MACRO_VALUE_STRING(SCNdFAST32, "d"); MACRO_VALUE_STRING(SCNdFAST64, __PRI64 "d"); MACRO_VALUE_STRING(SCNi8, "hhi"); MACRO_VALUE_STRING(SCNi16, "hi"); MACRO_VALUE_STRING(SCNi32, "i"); MACRO_VALUE_STRING(SCNi64, __PRI64 "i"); MACRO_VALUE_STRING(SCNiLEAST8, "hhi"); MACRO_VALUE_STRING(SCNiLEAST16, "hi"); MACRO_VALUE_STRING(SCNiLEAST32, "i"); MACRO_VALUE_STRING(SCNiLEAST64, __PRI64 "i"); MACRO_VALUE_STRING(SCNiFAST8, "hhi"); MACRO_VALUE_STRING(SCNiFAST16, "i"); MACRO_VALUE_STRING(SCNiFAST32, "i"); MACRO_VALUE_STRING(SCNiFAST64, __PRI64 "i"); MACRO_VALUE_STRING(SCNu8, "hhu"); MACRO_VALUE_STRING(SCNu16, "hu"); MACRO_VALUE_STRING(SCNu32, "u"); MACRO_VALUE_STRING(SCNu64, __PRI64 "u"); MACRO_VALUE_STRING(SCNuLEAST8, "hhu"); MACRO_VALUE_STRING(SCNuLEAST16, "hu"); MACRO_VALUE_STRING(SCNuLEAST32, "u"); MACRO_VALUE_STRING(SCNuLEAST64, __PRI64 "u"); MACRO_VALUE_STRING(SCNuFAST8, "hhu"); MACRO_VALUE_STRING(SCNuFAST16, "u"); MACRO_VALUE_STRING(SCNuFAST32, "u"); MACRO_VALUE_STRING(SCNuFAST64, __PRI64 "u"); MACRO_VALUE_STRING(SCNo8, "hho"); MACRO_VALUE_STRING(SCNo16, "ho"); MACRO_VALUE_STRING(SCNo32, "o"); MACRO_VALUE_STRING(SCNo64, __PRI64 "o"); MACRO_VALUE_STRING(SCNoLEAST8, "hho"); MACRO_VALUE_STRING(SCNoLEAST16, "ho"); MACRO_VALUE_STRING(SCNoLEAST32, "o"); MACRO_VALUE_STRING(SCNoLEAST64, __PRI64 "o"); MACRO_VALUE_STRING(SCNoFAST8, "hho"); MACRO_VALUE_STRING(SCNoFAST16, "o"); MACRO_VALUE_STRING(SCNoFAST32, "o"); MACRO_VALUE_STRING(SCNoFAST64, __PRI64 "o"); MACRO_VALUE_STRING(SCNx8, "hhx"); MACRO_VALUE_STRING(SCNx16, "hx"); MACRO_VALUE_STRING(SCNx32, "x"); MACRO_VALUE_STRING(SCNx64, __PRI64 "x"); MACRO_VALUE_STRING(SCNxLEAST8, "hhx"); MACRO_VALUE_STRING(SCNxLEAST16, "hx"); MACRO_VALUE_STRING(SCNxLEAST32, "x"); MACRO_VALUE_STRING(SCNxLEAST64, __PRI64 "x"); MACRO_VALUE_STRING(SCNxFAST8, "hhx"); MACRO_VALUE_STRING(SCNxFAST16, "x"); MACRO_VALUE_STRING(SCNxFAST32, "x"); MACRO_VALUE_STRING(SCNxFAST64, __PRI64 "x"); MACRO_VALUE_STRING(SCNdMAX, __PRI64 "d"); MACRO_VALUE_STRING(SCNiMAX, __PRI64 "i"); MACRO_VALUE_STRING(SCNoMAX, __PRI64 "o"); MACRO_VALUE_STRING(SCNuMAX, __PRI64 "u"); MACRO_VALUE_STRING(SCNxMAX, __PRI64 "x"); MACRO_VALUE_STRING(SCNdPTR, __PRIPTR "d"); MACRO_VALUE_STRING(SCNiPTR, __PRIPTR "i"); MACRO_VALUE_STRING(SCNoPTR, __PRIPTR "o"); MACRO_VALUE_STRING(SCNuPTR, __PRIPTR "u"); MACRO_VALUE_STRING(SCNxPTR, __PRIPTR "x"); FUNCTION(imaxabs, FN(intmax_t, intmax_t)); FUNCTION(imaxdiv, FN(imaxdiv_t, intmax_t, intmax_t)); FUNCTION(strtoimax, FN(intmax_t, const char *, char **, int)); FUNCTION(strtoumax, FN(uintmax_t, const char *, char **, int)); FUNCTION(wcstoimax, FN(intmax_t, const wchar_t *, wchar_t **, int)); FUNCTION(wcstoumax, FN(uintmax_t, const wchar_t *, wchar_t **, int)); }