Merge topic 'update-KWIML'

0dfdde1 Merge branch 'upstream-kwiml' into update-KWIML
6240f85 KWIML: Report broken integer format macros on AIX 4.3
e1b0fc9 KWIML: Add interface to report broken integer format macros
This commit is contained in:
David Cole 2012-06-12 16:00:34 -04:00 committed by CMake Topic Stage
commit 6a52f3cb36
1 changed files with 173 additions and 55 deletions

View File

@ -87,6 +87,10 @@ An includer may test the following macros after inclusion:
The SCN*8 and SCN*64 format macros will not be defined on systems
with scanf implementations known not to support them.
@KWIML@_INT_BROKEN_<fmt># = macro <fmt># is incorrect if defined
Some compilers define integer format macros incorrectly for their
own formatted print/scan implementations.
@KWIML@_INT_BROKEN_INT64_C = macro INT64_C is incorrect if defined
@KWIML@_INT_BROKEN_UINT64_C = macro UINT64_C is incorrect if defined
Some compilers define integer constant macros incorrectly and
@ -172,6 +176,65 @@ An includer may test the following macros after inclusion:
#define @KWIML@_INT_HAVE_UINTPTR_T 1
#endif
#if defined(_AIX43) && !defined(_AIX50) && !defined(_AIX51)
/* AIX 4.3 defines these incorrectly with % and no quotes. */
# define @KWIML@_INT_BROKEN_PRId8
# define @KWIML@_INT_BROKEN_SCNd8
# define @KWIML@_INT_BROKEN_PRIi8
# define @KWIML@_INT_BROKEN_SCNi8
# define @KWIML@_INT_BROKEN_PRIo8
# define @KWIML@_INT_BROKEN_SCNo8
# define @KWIML@_INT_BROKEN_PRIu8
# define @KWIML@_INT_BROKEN_SCNu8
# define @KWIML@_INT_BROKEN_PRIx8
# define @KWIML@_INT_BROKEN_SCNx8
# define @KWIML@_INT_BROKEN_PRIX8
# define @KWIML@_INT_BROKEN_PRId16
# define @KWIML@_INT_BROKEN_SCNd16
# define @KWIML@_INT_BROKEN_PRIi16
# define @KWIML@_INT_BROKEN_SCNi16
# define @KWIML@_INT_BROKEN_PRIo16
# define @KWIML@_INT_BROKEN_SCNo16
# define @KWIML@_INT_BROKEN_PRIu16
# define @KWIML@_INT_BROKEN_SCNu16
# define @KWIML@_INT_BROKEN_PRIx16
# define @KWIML@_INT_BROKEN_SCNx16
# define @KWIML@_INT_BROKEN_PRIX16
# define @KWIML@_INT_BROKEN_PRId32
# define @KWIML@_INT_BROKEN_SCNd32
# define @KWIML@_INT_BROKEN_PRIi32
# define @KWIML@_INT_BROKEN_SCNi32
# define @KWIML@_INT_BROKEN_PRIo32
# define @KWIML@_INT_BROKEN_SCNo32
# define @KWIML@_INT_BROKEN_PRIu32
# define @KWIML@_INT_BROKEN_SCNu32
# define @KWIML@_INT_BROKEN_PRIx32
# define @KWIML@_INT_BROKEN_SCNx32
# define @KWIML@_INT_BROKEN_PRIX32
# define @KWIML@_INT_BROKEN_PRId64
# define @KWIML@_INT_BROKEN_SCNd64
# define @KWIML@_INT_BROKEN_PRIi64
# define @KWIML@_INT_BROKEN_SCNi64
# define @KWIML@_INT_BROKEN_PRIo64
# define @KWIML@_INT_BROKEN_SCNo64
# define @KWIML@_INT_BROKEN_PRIu64
# define @KWIML@_INT_BROKEN_SCNu64
# define @KWIML@_INT_BROKEN_PRIx64
# define @KWIML@_INT_BROKEN_SCNx64
# define @KWIML@_INT_BROKEN_PRIX64
# define @KWIML@_INT_BROKEN_PRIdPTR
# define @KWIML@_INT_BROKEN_SCNdPTR
# define @KWIML@_INT_BROKEN_PRIiPTR
# define @KWIML@_INT_BROKEN_SCNiPTR
# define @KWIML@_INT_BROKEN_PRIoPTR
# define @KWIML@_INT_BROKEN_SCNoPTR
# define @KWIML@_INT_BROKEN_PRIuPTR
# define @KWIML@_INT_BROKEN_SCNuPTR
# define @KWIML@_INT_BROKEN_PRIxPTR
# define @KWIML@_INT_BROKEN_SCNxPTR
# define @KWIML@_INT_BROKEN_PRIXPTR
#endif
#if (defined(__SUNPRO_C)||defined(__SUNPRO_CC)) && defined(_CHAR_IS_UNSIGNED)
# define @KWIML@_INT_BROKEN_INT8_T /* system type defined incorrectly */
#elif defined(__BORLANDC__) && defined(_CHAR_UNSIGNED)
@ -208,59 +271,70 @@ An includer may test the following macros after inclusion:
#endif
/* 8-bit d, i */
#if defined(@KWIML@_INT_HAVE_INT8_T) && defined(PRId8)
#if defined(@KWIML@_INT_HAVE_INT8_T) && defined(PRId8) \
&& !defined(@KWIML@_INT_BROKEN_PRId8)
# define @KWIML@_INT_PRId8 PRId8
#else
# define @KWIML@_INT_PRId8 "d"
#endif
#if defined(@KWIML@_INT_HAVE_INT8_T) && defined(SCNd8)
#if defined(@KWIML@_INT_HAVE_INT8_T) && defined(SCNd8) \
&& !defined(@KWIML@_INT_BROKEN_SCNd8)
# define @KWIML@_INT_SCNd8 SCNd8
#elif !defined(@KWIML@_INT__NO_SCN8)
# define @KWIML@_INT_SCNd8 "hhd"
#endif
#if defined(@KWIML@_INT_HAVE_INT8_T) && defined(PRIi8)
#if defined(@KWIML@_INT_HAVE_INT8_T) && defined(PRIi8) \
&& !defined(@KWIML@_INT_BROKEN_PRIi8)
# define @KWIML@_INT_PRIi8 PRIi8
#else
# define @KWIML@_INT_PRIi8 "i"
#endif
#if defined(@KWIML@_INT_HAVE_INT8_T) && defined(SCNi8)
#if defined(@KWIML@_INT_HAVE_INT8_T) && defined(SCNi8) \
&& !defined(@KWIML@_INT_BROKEN_SCNi8)
# define @KWIML@_INT_SCNi8 SCNi8
#elif !defined(@KWIML@_INT__NO_SCN8)
# define @KWIML@_INT_SCNi8 "hhi"
#endif
/* 8-bit o, u, x, X */
#if defined(@KWIML@_INT_HAVE_UINT8_T) && defined(PRIo8)
#if defined(@KWIML@_INT_HAVE_UINT8_T) && defined(PRIo8) \
&& !defined(@KWIML@_INT_BROKEN_PRIo8)
# define @KWIML@_INT_PRIo8 PRIo8
#else
# define @KWIML@_INT_PRIo8 "o"
#endif
#if defined(@KWIML@_INT_HAVE_UINT8_T) && defined(SCNo8)
#if defined(@KWIML@_INT_HAVE_UINT8_T) && defined(SCNo8) \
&& !defined(@KWIML@_INT_BROKEN_SCNo8)
# define @KWIML@_INT_SCNo8 SCNo8
#elif !defined(@KWIML@_INT__NO_SCN8)
# define @KWIML@_INT_SCNo8 "hho"
#endif
#if defined(@KWIML@_INT_HAVE_UINT8_T) && defined(PRIu8)
#if defined(@KWIML@_INT_HAVE_UINT8_T) && defined(PRIu8) \
&& !defined(@KWIML@_INT_BROKEN_PRIu8)
# define @KWIML@_INT_PRIu8 PRIu8
#else
# define @KWIML@_INT_PRIu8 "u"
#endif
#if defined(@KWIML@_INT_HAVE_UINT8_T) && defined(SCNu8)
#if defined(@KWIML@_INT_HAVE_UINT8_T) && defined(SCNu8) \
&& !defined(@KWIML@_INT_BROKEN_SCNu8)
# define @KWIML@_INT_SCNu8 SCNu8
#elif !defined(@KWIML@_INT__NO_SCN8)
# define @KWIML@_INT_SCNu8 "hhu"
#endif
#if defined(@KWIML@_INT_HAVE_UINT8_T) && defined(PRIx8)
#if defined(@KWIML@_INT_HAVE_UINT8_T) && defined(PRIx8) \
&& !defined(@KWIML@_INT_BROKEN_PRIx8)
# define @KWIML@_INT_PRIx8 PRIx8
#else
# define @KWIML@_INT_PRIx8 "x"
#endif
#if defined(@KWIML@_INT_HAVE_UINT8_T) && defined(SCNx8)
#if defined(@KWIML@_INT_HAVE_UINT8_T) && defined(SCNx8) \
&& !defined(@KWIML@_INT_BROKEN_SCNx8)
# define @KWIML@_INT_SCNx8 SCNx8
#elif !defined(@KWIML@_INT__NO_SCN8)
# define @KWIML@_INT_SCNx8 "hhx"
#endif
#if defined(@KWIML@_INT_HAVE_UINT8_T) && defined(PRIX8)
#if defined(@KWIML@_INT_HAVE_UINT8_T) && defined(PRIX8) \
&& !defined(@KWIML@_INT_BROKEN_PRIX8)
# define @KWIML@_INT_PRIX8 PRIX8
#else
# define @KWIML@_INT_PRIX8 "X"
@ -291,59 +365,70 @@ An includer may test the following macros after inclusion:
#endif
/* 16-bit d, i */
#if defined(@KWIML@_INT_HAVE_INT16_T) && defined(PRId16)
#if defined(@KWIML@_INT_HAVE_INT16_T) && defined(PRId16) \
&& !defined(@KWIML@_INT_BROKEN_PRId16)
# define @KWIML@_INT_PRId16 PRId16
#else
# define @KWIML@_INT_PRId16 "d"
#endif
#if defined(@KWIML@_INT_HAVE_INT16_T) && defined(SCNd16)
#if defined(@KWIML@_INT_HAVE_INT16_T) && defined(SCNd16) \
&& !defined(@KWIML@_INT_BROKEN_SCNd16)
# define @KWIML@_INT_SCNd16 SCNd16
#else
# define @KWIML@_INT_SCNd16 "hd"
#endif
#if defined(@KWIML@_INT_HAVE_INT16_T) && defined(PRIi16)
#if defined(@KWIML@_INT_HAVE_INT16_T) && defined(PRIi16) \
&& !defined(@KWIML@_INT_BROKEN_PRIi16)
# define @KWIML@_INT_PRIi16 PRIi16
#else
# define @KWIML@_INT_PRIi16 "i"
#endif
#if defined(@KWIML@_INT_HAVE_INT16_T) && defined(SCNi16)
#if defined(@KWIML@_INT_HAVE_INT16_T) && defined(SCNi16) \
&& !defined(@KWIML@_INT_BROKEN_SCNi16)
# define @KWIML@_INT_SCNi16 SCNi16
#else
# define @KWIML@_INT_SCNi16 "hi"
#endif
/* 16-bit o, u, x, X */
#if defined(@KWIML@_INT_HAVE_UINT16_T) && defined(PRIo16)
#if defined(@KWIML@_INT_HAVE_UINT16_T) && defined(PRIo16) \
&& !defined(@KWIML@_INT_BROKEN_PRIo16)
# define @KWIML@_INT_PRIo16 PRIo16
#else
# define @KWIML@_INT_PRIo16 "o"
#endif
#if defined(@KWIML@_INT_HAVE_UINT16_T) && defined(SCNo16)
#if defined(@KWIML@_INT_HAVE_UINT16_T) && defined(SCNo16) \
&& !defined(@KWIML@_INT_BROKEN_SCNo16)
# define @KWIML@_INT_SCNo16 SCNo16
#else
# define @KWIML@_INT_SCNo16 "ho"
#endif
#if defined(@KWIML@_INT_HAVE_UINT16_T) && defined(PRIu16)
#if defined(@KWIML@_INT_HAVE_UINT16_T) && defined(PRIu16) \
&& !defined(@KWIML@_INT_BROKEN_PRIu16)
# define @KWIML@_INT_PRIu16 PRIu16
#else
# define @KWIML@_INT_PRIu16 "u"
#endif
#if defined(@KWIML@_INT_HAVE_UINT16_T) && defined(SCNu16)
#if defined(@KWIML@_INT_HAVE_UINT16_T) && defined(SCNu16) \
&& !defined(@KWIML@_INT_BROKEN_SCNu16)
# define @KWIML@_INT_SCNu16 SCNu16
#else
# define @KWIML@_INT_SCNu16 "hu"
#endif
#if defined(@KWIML@_INT_HAVE_UINT16_T) && defined(PRIx16)
#if defined(@KWIML@_INT_HAVE_UINT16_T) && defined(PRIx16) \
&& !defined(@KWIML@_INT_BROKEN_PRIx16)
# define @KWIML@_INT_PRIx16 PRIx16
#else
# define @KWIML@_INT_PRIx16 "x"
#endif
#if defined(@KWIML@_INT_HAVE_UINT16_T) && defined(SCNx16)
#if defined(@KWIML@_INT_HAVE_UINT16_T) && defined(SCNx16) \
&& !defined(@KWIML@_INT_BROKEN_SCNx16)
# define @KWIML@_INT_SCNx16 SCNx16
#else
# define @KWIML@_INT_SCNx16 "hx"
#endif
#if defined(@KWIML@_INT_HAVE_UINT16_T) && defined(PRIX16)
#if defined(@KWIML@_INT_HAVE_UINT16_T) && defined(PRIX16) \
&& !defined(@KWIML@_INT_BROKEN_PRIX16)
# define @KWIML@_INT_PRIX16 PRIX16
#else
# define @KWIML@_INT_PRIX16 "X"
@ -374,59 +459,70 @@ An includer may test the following macros after inclusion:
#endif
/* 32-bit d, i */
#if defined(@KWIML@_INT_HAVE_INT32_T) && defined(PRId32)
#if defined(@KWIML@_INT_HAVE_INT32_T) && defined(PRId32) \
&& !defined(@KWIML@_INT_BROKEN_PRId32)
# define @KWIML@_INT_PRId32 PRId32
#else
# define @KWIML@_INT_PRId32 "d"
#endif
#if defined(@KWIML@_INT_HAVE_INT32_T) && defined(SCNd32)
#if defined(@KWIML@_INT_HAVE_INT32_T) && defined(SCNd32) \
&& !defined(@KWIML@_INT_BROKEN_SCNd32)
# define @KWIML@_INT_SCNd32 SCNd32
#else
# define @KWIML@_INT_SCNd32 "d"
#endif
#if defined(@KWIML@_INT_HAVE_INT32_T) && defined(PRIi32)
#if defined(@KWIML@_INT_HAVE_INT32_T) && defined(PRIi32) \
&& !defined(@KWIML@_INT_BROKEN_PRIi32)
# define @KWIML@_INT_PRIi32 PRIi32
#else
# define @KWIML@_INT_PRIi32 "i"
#endif
#if defined(@KWIML@_INT_HAVE_INT32_T) && defined(SCNi32)
#if defined(@KWIML@_INT_HAVE_INT32_T) && defined(SCNi32) \
&& !defined(@KWIML@_INT_BROKEN_SCNi32)
# define @KWIML@_INT_SCNi32 SCNi32
#else
# define @KWIML@_INT_SCNi32 "i"
#endif
/* 32-bit o, u, x, X */
#if defined(@KWIML@_INT_HAVE_UINT32_T) && defined(PRIo32)
#if defined(@KWIML@_INT_HAVE_UINT32_T) && defined(PRIo32) \
&& !defined(@KWIML@_INT_BROKEN_PRIo32)
# define @KWIML@_INT_PRIo32 PRIo32
#else
# define @KWIML@_INT_PRIo32 "o"
#endif
#if defined(@KWIML@_INT_HAVE_UINT32_T) && defined(SCNo32)
#if defined(@KWIML@_INT_HAVE_UINT32_T) && defined(SCNo32) \
&& !defined(@KWIML@_INT_BROKEN_SCNo32)
# define @KWIML@_INT_SCNo32 SCNo32
#else
# define @KWIML@_INT_SCNo32 "o"
#endif
#if defined(@KWIML@_INT_HAVE_UINT32_T) && defined(PRIu32)
#if defined(@KWIML@_INT_HAVE_UINT32_T) && defined(PRIu32) \
&& !defined(@KWIML@_INT_BROKEN_PRIu32)
# define @KWIML@_INT_PRIu32 PRIu32
#else
# define @KWIML@_INT_PRIu32 "u"
#endif
#if defined(@KWIML@_INT_HAVE_UINT32_T) && defined(SCNu32)
#if defined(@KWIML@_INT_HAVE_UINT32_T) && defined(SCNu32) \
&& !defined(@KWIML@_INT_BROKEN_SCNu32)
# define @KWIML@_INT_SCNu32 SCNu32
#else
# define @KWIML@_INT_SCNu32 "u"
#endif
#if defined(@KWIML@_INT_HAVE_UINT32_T) && defined(PRIx32)
#if defined(@KWIML@_INT_HAVE_UINT32_T) && defined(PRIx32) \
&& !defined(@KWIML@_INT_BROKEN_PRIx32)
# define @KWIML@_INT_PRIx32 PRIx32
#else
# define @KWIML@_INT_PRIx32 "x"
#endif
#if defined(@KWIML@_INT_HAVE_UINT32_T) && defined(SCNx32)
#if defined(@KWIML@_INT_HAVE_UINT32_T) && defined(SCNx32) \
&& !defined(@KWIML@_INT_BROKEN_SCNx32)
# define @KWIML@_INT_SCNx32 SCNx32
#else
# define @KWIML@_INT_SCNx32 "x"
#endif
#if defined(@KWIML@_INT_HAVE_UINT32_T) && defined(PRIX32)
#if defined(@KWIML@_INT_HAVE_UINT32_T) && defined(PRIX32) \
&& !defined(@KWIML@_INT_BROKEN_PRIX32)
# define @KWIML@_INT_PRIX32 PRIX32
#else
# define @KWIML@_INT_PRIX32 "X"
@ -498,59 +594,70 @@ An includer may test the following macros after inclusion:
#endif
/* 64-bit d, i */
#if defined(@KWIML@_INT_HAVE_INT64_T) && defined(PRId64)
#if defined(@KWIML@_INT_HAVE_INT64_T) && defined(PRId64) \
&& !defined(@KWIML@_INT_BROKEN_PRId64)
# define @KWIML@_INT_PRId64 PRId64
#elif defined(@KWIML@_INT__FMT64)
# define @KWIML@_INT_PRId64 @KWIML@_INT__FMT64 "d"
#endif
#if defined(@KWIML@_INT_HAVE_INT64_T) && defined(SCNd64)
#if defined(@KWIML@_INT_HAVE_INT64_T) && defined(SCNd64) \
&& !defined(@KWIML@_INT_BROKEN_SCNd64)
# define @KWIML@_INT_SCNd64 SCNd64
#elif defined(@KWIML@_INT__FMT64) && !defined(@KWIML@_INT__NO_SCN64)
# define @KWIML@_INT_SCNd64 @KWIML@_INT__FMT64 "d"
#endif
#if defined(@KWIML@_INT_HAVE_INT64_T) && defined(PRIi64)
#if defined(@KWIML@_INT_HAVE_INT64_T) && defined(PRIi64) \
&& !defined(@KWIML@_INT_BROKEN_PRIi64)
# define @KWIML@_INT_PRIi64 PRIi64
#elif defined(@KWIML@_INT__FMT64)
# define @KWIML@_INT_PRIi64 @KWIML@_INT__FMT64 "d"
#endif
#if defined(@KWIML@_INT_HAVE_INT64_T) && defined(SCNi64)
#if defined(@KWIML@_INT_HAVE_INT64_T) && defined(SCNi64) \
&& !defined(@KWIML@_INT_BROKEN_SCNi64)
# define @KWIML@_INT_SCNi64 SCNi64
#elif defined(@KWIML@_INT__FMT64) && !defined(@KWIML@_INT__NO_SCN64)
# define @KWIML@_INT_SCNi64 @KWIML@_INT__FMT64 "d"
#endif
/* 64-bit o, u, x, X */
#if defined(@KWIML@_INT_HAVE_UINT64_T) && defined(PRIo64)
#if defined(@KWIML@_INT_HAVE_UINT64_T) && defined(PRIo64) \
&& !defined(@KWIML@_INT_BROKEN_PRIo64)
# define @KWIML@_INT_PRIo64 PRIo64
#elif defined(@KWIML@_INT__FMT64)
# define @KWIML@_INT_PRIo64 @KWIML@_INT__FMT64 "o"
#endif
#if defined(@KWIML@_INT_HAVE_UINT64_T) && defined(SCNo64)
#if defined(@KWIML@_INT_HAVE_UINT64_T) && defined(SCNo64) \
&& !defined(@KWIML@_INT_BROKEN_SCNo64)
# define @KWIML@_INT_SCNo64 SCNo64
#elif defined(@KWIML@_INT__FMT64) && !defined(@KWIML@_INT__NO_SCN64)
# define @KWIML@_INT_SCNo64 @KWIML@_INT__FMT64 "o"
#endif
#if defined(@KWIML@_INT_HAVE_UINT64_T) && defined(PRIu64)
#if defined(@KWIML@_INT_HAVE_UINT64_T) && defined(PRIu64) \
&& !defined(@KWIML@_INT_BROKEN_PRIu64)
# define @KWIML@_INT_PRIu64 PRIu64
#elif defined(@KWIML@_INT__FMT64)
# define @KWIML@_INT_PRIu64 @KWIML@_INT__FMT64 "u"
#endif
#if defined(@KWIML@_INT_HAVE_UINT64_T) && defined(SCNu64)
#if defined(@KWIML@_INT_HAVE_UINT64_T) && defined(SCNu64) \
&& !defined(@KWIML@_INT_BROKEN_SCNu64)
# define @KWIML@_INT_SCNu64 SCNu64
#elif defined(@KWIML@_INT__FMT64) && !defined(@KWIML@_INT__NO_SCN64)
# define @KWIML@_INT_SCNu64 @KWIML@_INT__FMT64 "u"
#endif
#if defined(@KWIML@_INT_HAVE_UINT64_T) && defined(PRIx64)
#if defined(@KWIML@_INT_HAVE_UINT64_T) && defined(PRIx64) \
&& !defined(@KWIML@_INT_BROKEN_PRIx64)
# define @KWIML@_INT_PRIx64 PRIx64
#elif defined(@KWIML@_INT__FMT64)
# define @KWIML@_INT_PRIx64 @KWIML@_INT__FMT64 "x"
#endif
#if defined(@KWIML@_INT_HAVE_UINT64_T) && defined(SCNx64)
#if defined(@KWIML@_INT_HAVE_UINT64_T) && defined(SCNx64) \
&& !defined(@KWIML@_INT_BROKEN_SCNx64)
# define @KWIML@_INT_SCNx64 SCNx64
#elif defined(@KWIML@_INT__FMT64) && !defined(@KWIML@_INT__NO_SCN64)
# define @KWIML@_INT_SCNx64 @KWIML@_INT__FMT64 "x"
#endif
#if defined(@KWIML@_INT_HAVE_UINT64_T) && defined(PRIX64)
#if defined(@KWIML@_INT_HAVE_UINT64_T) && defined(PRIX64) \
&& !defined(@KWIML@_INT_BROKEN_PRIX64)
# define @KWIML@_INT_PRIX64 PRIX64
#elif defined(@KWIML@_INT__FMT64)
# define @KWIML@_INT_PRIX64 @KWIML@_INT__FMT64 "X"
@ -602,28 +709,32 @@ An includer may test the following macros after inclusion:
# error "No type known for 'uintptr_t'."
#endif
#if defined(@KWIML@_INT_HAVE_INTPTR_T) && defined(PRIdPTR)
#if defined(@KWIML@_INT_HAVE_INTPTR_T) && defined(PRIdPTR) \
&& !defined(@KWIML@_INT_BROKEN_PRIdPTR)
# define @KWIML@_INT_PRIdPTR PRIdPTR
#elif @KWIML@_ABI_SIZEOF_DATA_PTR == 4
# define @KWIML@_INT_PRIdPTR @KWIML@_INT_PRId32
#elif !defined(@KWIML@_INT_NO_UINT64_T)
# define @KWIML@_INT_PRIdPTR @KWIML@_INT_PRId64
#endif
#if defined(@KWIML@_INT_HAVE_INTPTR_T) && defined(SCNdPTR)
#if defined(@KWIML@_INT_HAVE_INTPTR_T) && defined(SCNdPTR) \
&& !defined(@KWIML@_INT_BROKEN_SCNdPTR)
# define @KWIML@_INT_SCNdPTR SCNdPTR
#elif @KWIML@_ABI_SIZEOF_DATA_PTR == 4
# define @KWIML@_INT_SCNdPTR @KWIML@_INT_SCNd32
#elif !defined(@KWIML@_INT_NO_UINT64_T)
# define @KWIML@_INT_SCNdPTR @KWIML@_INT_SCNd64
#endif
#if defined(@KWIML@_INT_HAVE_INTPTR_T) && defined(PRIiPTR)
#if defined(@KWIML@_INT_HAVE_INTPTR_T) && defined(PRIiPTR) \
&& !defined(@KWIML@_INT_BROKEN_PRIiPTR)
# define @KWIML@_INT_PRIiPTR PRIiPTR
#elif @KWIML@_ABI_SIZEOF_DATA_PTR == 4
# define @KWIML@_INT_PRIiPTR @KWIML@_INT_PRIi32
#elif !defined(@KWIML@_INT_NO_UINT64_T)
# define @KWIML@_INT_PRIiPTR @KWIML@_INT_PRIi64
#endif
#if defined(@KWIML@_INT_HAVE_INTPTR_T) && defined(SCNiPTR)
#if defined(@KWIML@_INT_HAVE_INTPTR_T) && defined(SCNiPTR) \
&& !defined(@KWIML@_INT_BROKEN_SCNiPTR)
# define @KWIML@_INT_SCNiPTR SCNiPTR
#elif @KWIML@_ABI_SIZEOF_DATA_PTR == 4
# define @KWIML@_INT_SCNiPTR @KWIML@_INT_SCNi32
@ -631,49 +742,56 @@ An includer may test the following macros after inclusion:
# define @KWIML@_INT_SCNiPTR @KWIML@_INT_SCNi64
#endif
#if defined(@KWIML@_INT_HAVE_UINTPTR_T) && defined(PRIoPTR)
#if defined(@KWIML@_INT_HAVE_UINTPTR_T) && defined(PRIoPTR) \
&& !defined(@KWIML@_INT_BROKEN_PRIoPTR)
# define @KWIML@_INT_PRIoPTR PRIoPTR
#elif @KWIML@_ABI_SIZEOF_DATA_PTR == 4
# define @KWIML@_INT_PRIoPTR @KWIML@_INT_PRIo32
#elif !defined(@KWIML@_INT_NO_UINT64_T)
# define @KWIML@_INT_PRIoPTR @KWIML@_INT_PRIo64
#endif
#if defined(@KWIML@_INT_HAVE_UINTPTR_T) && defined(SCNoPTR)
#if defined(@KWIML@_INT_HAVE_UINTPTR_T) && defined(SCNoPTR) \
&& !defined(@KWIML@_INT_BROKEN_SCNoPTR)
# define @KWIML@_INT_SCNoPTR SCNoPTR
#elif @KWIML@_ABI_SIZEOF_DATA_PTR == 4
# define @KWIML@_INT_SCNoPTR @KWIML@_INT_SCNo32
#elif !defined(@KWIML@_INT_NO_UINT64_T)
# define @KWIML@_INT_SCNoPTR @KWIML@_INT_SCNo64
#endif
#if defined(@KWIML@_INT_HAVE_UINTPTR_T) && defined(PRIuPTR)
#if defined(@KWIML@_INT_HAVE_UINTPTR_T) && defined(PRIuPTR) \
&& !defined(@KWIML@_INT_BROKEN_PRIuPTR)
# define @KWIML@_INT_PRIuPTR PRIuPTR
#elif @KWIML@_ABI_SIZEOF_DATA_PTR == 4
# define @KWIML@_INT_PRIuPTR @KWIML@_INT_PRIu32
#elif !defined(@KWIML@_INT_NO_UINT64_T)
# define @KWIML@_INT_PRIuPTR @KWIML@_INT_PRIu64
#endif
#if defined(@KWIML@_INT_HAVE_UINTPTR_T) && defined(SCNuPTR)
#if defined(@KWIML@_INT_HAVE_UINTPTR_T) && defined(SCNuPTR) \
&& !defined(@KWIML@_INT_BROKEN_SCNuPTR)
# define @KWIML@_INT_SCNuPTR SCNuPTR
#elif @KWIML@_ABI_SIZEOF_DATA_PTR == 4
# define @KWIML@_INT_SCNuPTR @KWIML@_INT_SCNu32
#elif !defined(@KWIML@_INT_NO_UINT64_T)
# define @KWIML@_INT_SCNuPTR @KWIML@_INT_SCNu64
#endif
#if defined(@KWIML@_INT_HAVE_UINTPTR_T) && defined(PRIxPTR)
#if defined(@KWIML@_INT_HAVE_UINTPTR_T) && defined(PRIxPTR) \
&& !defined(@KWIML@_INT_BROKEN_PRIxPTR)
# define @KWIML@_INT_PRIxPTR PRIxPTR
#elif @KWIML@_ABI_SIZEOF_DATA_PTR == 4
# define @KWIML@_INT_PRIxPTR @KWIML@_INT_PRIx32
#elif !defined(@KWIML@_INT_NO_UINT64_T)
# define @KWIML@_INT_PRIxPTR @KWIML@_INT_PRIx64
#endif
#if defined(@KWIML@_INT_HAVE_UINTPTR_T) && defined(SCNxPTR)
#if defined(@KWIML@_INT_HAVE_UINTPTR_T) && defined(SCNxPTR) \
&& !defined(@KWIML@_INT_BROKEN_SCNxPTR)
# define @KWIML@_INT_SCNxPTR SCNxPTR
#elif @KWIML@_ABI_SIZEOF_DATA_PTR == 4
# define @KWIML@_INT_SCNxPTR @KWIML@_INT_SCNx32
#elif !defined(@KWIML@_INT_NO_UINT64_T)
# define @KWIML@_INT_SCNxPTR @KWIML@_INT_SCNx64
#endif
#if defined(@KWIML@_INT_HAVE_UINTPTR_T) && defined(PRIXPTR)
#if defined(@KWIML@_INT_HAVE_UINTPTR_T) && defined(PRIXPTR) \
&& !defined(@KWIML@_INT_BROKEN_PRIXPTR)
# define @KWIML@_INT_PRIXPTR PRIXPTR
#elif @KWIML@_ABI_SIZEOF_DATA_PTR == 4
# define @KWIML@_INT_PRIXPTR @KWIML@_INT_PRIX32