-LC_ARG_TYPE(char, char)
-LC_ARG_TYPE(short, short)
-LC_ARG_TYPE(int, int)
-LC_ARG_TYPE(long, long)
-LC_ARG_TYPE(LC_LONGLONG, long_long)
-LC_ARG_TYPE(double, double)
-LC_ARG_TYPE(LC_LONGDOUBLE, long_double)
-LC_ARG_TYPE(void *, ptr)
-LC_ARG_TYPE(intmax_t, intmax_t)
-LC_ARG_TYPE(ptrdiff_t, ptrdiff_t)
-LC_ARG_TYPE(size_t, size_t)
+/* type | name | va_arg type */
+LC_ARG_TYPE(char, char, int)
+LC_ARG_TYPE(short, short, int)
+LC_ARG_TYPE(int, int, int)
+LC_ARG_TYPE(long, long, long)
+LC_ARG_TYPE(LC_LONGLONG, long_long, LC_LONGLONG)
+LC_ARG_TYPE(double, double, double)
+LC_ARG_TYPE(LC_LONGDOUBLE, long_double, LC_LONGDOUBLE)
+LC_ARG_TYPE(void *, ptr, void *)
+LC_ARG_TYPE(intmax_t, intmax_t, intmax_t)
+LC_ARG_TYPE(ptrdiff_t, ptrdiff_t, ptrdiff_t)
+LC_ARG_TYPE(size_t, size_t, size_t)