api: posix header test
[libc-test] / src / api / inttypes.c
diff --git a/src/api/inttypes.c b/src/api/inttypes.c
new file mode 100644 (file)
index 0000000..0d00167
--- /dev/null
@@ -0,0 +1,260 @@
+#include <inttypes.h>
+#define T(t) (t*)0;
+#define S(n) {char s[] = "" n;}
+#define C(n) switch(n){case n:;}
+static void f()
+{
+T(imaxdiv_t)
+T(int8_t)
+T(int16_t)
+T(int32_t)
+T(int64_t)
+T(uint8_t)
+T(uint16_t)
+T(uint32_t)
+T(uint64_t)
+T(int_least8_t)
+T(int_least16_t)
+T(int_least32_t)
+T(int_least64_t)
+T(uint_least8_t)
+T(uint_least16_t)
+T(uint_least32_t)
+T(uint_least64_t)
+T(int_fast8_t)
+T(int_fast16_t)
+T(int_fast32_t)
+T(int_fast64_t)
+T(uint_fast8_t)
+T(uint_fast16_t)
+T(uint_fast32_t)
+T(uint_fast64_t)
+#ifdef _XOPEN_SOURCE
+T(intptr_t)
+T(uintptr_t)
+#endif
+T(intmax_t)
+T(uintmax_t)
+C(INT8_MIN)
+C(INT16_MIN)
+C(INT32_MIN)
+C(INT64_MIN)
+C(INT8_MAX)
+C(INT16_MAX)
+C(INT32_MAX)
+C(INT64_MAX)
+C(UINT8_MAX)
+C(UINT16_MAX)
+C(UINT32_MAX)
+C(UINT64_MAX)
+C(INT_LEAST8_MIN)
+C(INT_LEAST16_MIN)
+C(INT_LEAST32_MIN)
+C(INT_LEAST64_MIN)
+C(INT_LEAST8_MAX)
+C(INT_LEAST16_MAX)
+C(INT_LEAST32_MAX)
+C(INT_LEAST64_MAX)
+C(UINT_LEAST8_MAX)
+C(UINT_LEAST16_MAX)
+C(UINT_LEAST32_MAX)
+C(UINT_LEAST64_MAX)
+C(INT_FAST8_MIN)
+C(INT_FAST16_MIN)
+C(INT_FAST32_MIN)
+C(INT_FAST64_MIN)
+C(INT_FAST8_MAX)
+C(INT_FAST16_MAX)
+C(INT_FAST32_MAX)
+C(INT_FAST64_MAX)
+C(UINT_FAST8_MAX)
+C(UINT_FAST16_MAX)
+C(UINT_FAST32_MAX)
+C(UINT_FAST64_MAX)
+C(INTPTR_MIN)
+C(INTPTR_MAX)
+C(UINTPTR_MAX)
+C(INTMAX_MIN)
+C(INTMAX_MAX)
+C(UINTMAX_MAX)
+C(PTRDIFF_MIN)
+C(PTRDIFF_MAX)
+C(SIG_ATOMIC_MIN)
+C(SIG_ATOMIC_MAX)
+C(SIZE_MAX)
+C(WCHAR_MIN)
+C(WCHAR_MAX)
+C(WINT_MIN)
+C(WINT_MAX)
+C(INT8_C(0))
+C(INT16_C(0))
+C(INT32_C(0))
+C(INT64_C(0))
+C(UINT8_C(0))
+C(UINT16_C(0))
+C(UINT32_C(0))
+C(UINT64_C(0))
+C(INTMAX_C(0))
+C(UINTMAX_C(0))
+S(PRId8)
+S(PRId16)
+S(PRId32)
+S(PRId64)
+S(PRIdLEAST8)
+S(PRIdLEAST16)
+S(PRIdLEAST32)
+S(PRIdLEAST64)
+S(PRIdFAST8)
+S(PRIdFAST16)
+S(PRIdFAST32)
+S(PRIdFAST64)
+S(PRIdMAX)
+S(PRIdPTR)
+S(PRIi8)
+S(PRIi16)
+S(PRIi32)
+S(PRIi64)
+S(PRIiLEAST8)
+S(PRIiLEAST16)
+S(PRIiLEAST32)
+S(PRIiLEAST64)
+S(PRIiFAST8)
+S(PRIiFAST16)
+S(PRIiFAST32)
+S(PRIiFAST64)
+S(PRIiMAX)
+S(PRIiPTR)
+S(PRIo8)
+S(PRIo16)
+S(PRIo32)
+S(PRIo64)
+S(PRIoLEAST8)
+S(PRIoLEAST16)
+S(PRIoLEAST32)
+S(PRIoLEAST64)
+S(PRIoFAST8)
+S(PRIoFAST16)
+S(PRIoFAST32)
+S(PRIoFAST64)
+S(PRIoMAX)
+S(PRIoPTR)
+S(PRIu8)
+S(PRIu16)
+S(PRIu32)
+S(PRIu64)
+S(PRIuLEAST8)
+S(PRIuLEAST16)
+S(PRIuLEAST32)
+S(PRIuLEAST64)
+S(PRIuFAST8)
+S(PRIuFAST16)
+S(PRIuFAST32)
+S(PRIuFAST64)
+S(PRIuMAX)
+S(PRIuPTR)
+S(PRIx8)
+S(PRIx16)
+S(PRIx32)
+S(PRIx64)
+S(PRIxLEAST8)
+S(PRIxLEAST16)
+S(PRIxLEAST32)
+S(PRIxLEAST64)
+S(PRIxFAST8)
+S(PRIxFAST16)
+S(PRIxFAST32)
+S(PRIxFAST64)
+S(PRIxMAX)
+S(PRIxPTR)
+S(PRIX8)
+S(PRIX16)
+S(PRIX32)
+S(PRIX64)
+S(PRIXLEAST8)
+S(PRIXLEAST16)
+S(PRIXLEAST32)
+S(PRIXLEAST64)
+S(PRIXFAST8)
+S(PRIXFAST16)
+S(PRIXFAST32)
+S(PRIXFAST64)
+S(PRIXMAX)
+S(PRIXPTR)
+S(SCNd8)
+S(SCNd16)
+S(SCNd32)
+S(SCNd64)
+S(SCNdLEAST8)
+S(SCNdLEAST16)
+S(SCNdLEAST32)
+S(SCNdLEAST64)
+S(SCNdFAST8)
+S(SCNdFAST16)
+S(SCNdFAST32)
+S(SCNdFAST64)
+S(SCNdMAX)
+S(SCNdPTR)
+S(SCNi8)
+S(SCNi16)
+S(SCNi32)
+S(SCNi64)
+S(SCNiLEAST8)
+S(SCNiLEAST16)
+S(SCNiLEAST32)
+S(SCNiLEAST64)
+S(SCNiFAST8)
+S(SCNiFAST16)
+S(SCNiFAST32)
+S(SCNiFAST64)
+S(SCNiMAX)
+S(SCNiPTR)
+S(SCNo8)
+S(SCNo16)
+S(SCNo32)
+S(SCNo64)
+S(SCNoLEAST8)
+S(SCNoLEAST16)
+S(SCNoLEAST32)
+S(SCNoLEAST64)
+S(SCNoFAST8)
+S(SCNoFAST16)
+S(SCNoFAST32)
+S(SCNoFAST64)
+S(SCNoMAX)
+S(SCNoPTR)
+S(SCNu8)
+S(SCNu16)
+S(SCNu32)
+S(SCNu64)
+S(SCNuLEAST8)
+S(SCNuLEAST16)
+S(SCNuLEAST32)
+S(SCNuLEAST64)
+S(SCNuFAST8)
+S(SCNuFAST16)
+S(SCNuFAST32)
+S(SCNuFAST64)
+S(SCNuMAX)
+S(SCNuPTR)
+S(SCNx8)
+S(SCNx16)
+S(SCNx32)
+S(SCNx64)
+S(SCNxLEAST8)
+S(SCNxLEAST16)
+S(SCNxLEAST32)
+S(SCNxLEAST64)
+S(SCNxFAST8)
+S(SCNxFAST16)
+S(SCNxFAST32)
+S(SCNxFAST64)
+S(SCNxMAX)
+S(SCNxPTR)
+intmax_t(*p_imaxabs)(intmax_t) = imaxabs;
+imaxdiv_t(*p_imaxdiv)(intmax_t,intmax_t) = imaxdiv;
+intmax_t(*p_strtoimax)(const char*restrict,char**restrict,int) = strtoimax;
+uintmax_t(*p_strtoumax)(const char*restrict,char**restrict,int) = strtoumax;
+#include <stddef.h>
+intmax_t(*p_wcstoimax)(const wchar_t*restrict,wchar_t**restrict,int) = wcstoimax;
+uintmax_t(*p_wcstoumax)(const wchar_t*restrict,wchar_t**restrict,int) = wcstoumax;
+}