[2/3] intl: Remove PRI_MACROS_BROKEN from loadmsgcat.c

Message ID 20260505151142.1453614-3-avinal.xlvii@gmail.com (mailing list archive)
State Committed
Commit 9985b162d86b636b8ca55ce1ff0744dc58717498
Delegated to: Adhemerval Zanella Netto
Headers
Series intl: Remove dead code, sync with GNU gettext |

Checks

Context Check Description
redhat-pt-bot/TryBot-apply_patch success Patch applied to master at the time it was sent

Commit Message

Avinal Kumar May 5, 2026, 3:11 p.m. UTC
  PRI_MACROS_BROKEN was a workaround for AIX 4, where inttypes.h
did not properly define the PRI* format macros (PRId8, PRIu32, etc.).
glibc has never supported AIX, the macro was always hardcoded to 0
under _LIBC, making it a dead code.

GNU gettext removed this in commit 267f61670 ("Drop portability to
AIX 4"), since no supported system has broken PRI macros post-C99.

Based on GNU gettext commit 267f61670.
Original author: Bruno Haible <bruno@clisp.org>

Signed-off-by: Avinal Kumar <avinal.xlvii@gmail.com>
---
 intl/loadmsgcat.c | 172 ++++++++++++++++++++++------------------------
 1 file changed, 84 insertions(+), 88 deletions(-)
  

Comments

Adhemerval Zanella May 13, 2026, 2:17 p.m. UTC | #1
On 05/05/26 12:11, Avinal Kumar wrote:
> PRI_MACROS_BROKEN was a workaround for AIX 4, where inttypes.h
> did not properly define the PRI* format macros (PRId8, PRIu32, etc.).
> glibc has never supported AIX, the macro was always hardcoded to 0
> under _LIBC, making it a dead code.
> 
> GNU gettext removed this in commit 267f61670 ("Drop portability to
> AIX 4"), since no supported system has broken PRI macros post-C99.
> 
> Based on GNU gettext commit 267f61670.
> Original author: Bruno Haible <bruno@clisp.org>
> 
> Signed-off-by: Avinal Kumar <avinal.xlvii@gmail.com>

LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

> ---
>  intl/loadmsgcat.c | 172 ++++++++++++++++++++++------------------------
>  1 file changed, 84 insertions(+), 88 deletions(-)
> 
> diff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c
> index 2bb339f3b9..66974904ce 100644
> --- a/intl/loadmsgcat.c
> +++ b/intl/loadmsgcat.c
> @@ -77,361 +77,357 @@
>  # include "lock.h"
>  #endif
>  
> -#ifdef _LIBC
> -# define PRI_MACROS_BROKEN 0
> -#endif
> -
>  /* Provide fallback values for macros that ought to be defined in <inttypes.h>.
>     Note that our fallback values need not be literal strings, because we don't
>     use them with preprocessor string concatenation.  */
> -#if !defined PRId8 || PRI_MACROS_BROKEN
> +#if !defined PRId8
>  # undef PRId8
>  # define PRId8 "d"
>  #endif
> -#if !defined PRIi8 || PRI_MACROS_BROKEN
> +#if !defined PRIi8
>  # undef PRIi8
>  # define PRIi8 "i"
>  #endif
> -#if !defined PRIo8 || PRI_MACROS_BROKEN
> +#if !defined PRIo8
>  # undef PRIo8
>  # define PRIo8 "o"
>  #endif
> -#if !defined PRIu8 || PRI_MACROS_BROKEN
> +#if !defined PRIu8
>  # undef PRIu8
>  # define PRIu8 "u"
>  #endif
> -#if !defined PRIx8 || PRI_MACROS_BROKEN
> +#if !defined PRIx8
>  # undef PRIx8
>  # define PRIx8 "x"
>  #endif
> -#if !defined PRIX8 || PRI_MACROS_BROKEN
> +#if !defined PRIX8
>  # undef PRIX8
>  # define PRIX8 "X"
>  #endif
> -#if !defined PRId16 || PRI_MACROS_BROKEN
> +#if !defined PRId16
>  # undef PRId16
>  # define PRId16 "d"
>  #endif
> -#if !defined PRIi16 || PRI_MACROS_BROKEN
> +#if !defined PRIi16
>  # undef PRIi16
>  # define PRIi16 "i"
>  #endif
> -#if !defined PRIo16 || PRI_MACROS_BROKEN
> +#if !defined PRIo16
>  # undef PRIo16
>  # define PRIo16 "o"
>  #endif
> -#if !defined PRIu16 || PRI_MACROS_BROKEN
> +#if !defined PRIu16
>  # undef PRIu16
>  # define PRIu16 "u"
>  #endif
> -#if !defined PRIx16 || PRI_MACROS_BROKEN
> +#if !defined PRIx16
>  # undef PRIx16
>  # define PRIx16 "x"
>  #endif
> -#if !defined PRIX16 || PRI_MACROS_BROKEN
> +#if !defined PRIX16
>  # undef PRIX16
>  # define PRIX16 "X"
>  #endif
> -#if !defined PRId32 || PRI_MACROS_BROKEN
> +#if !defined PRId32
>  # undef PRId32
>  # define PRId32 "d"
>  #endif
> -#if !defined PRIi32 || PRI_MACROS_BROKEN
> +#if !defined PRIi32
>  # undef PRIi32
>  # define PRIi32 "i"
>  #endif
> -#if !defined PRIo32 || PRI_MACROS_BROKEN
> +#if !defined PRIo32
>  # undef PRIo32
>  # define PRIo32 "o"
>  #endif
> -#if !defined PRIu32 || PRI_MACROS_BROKEN
> +#if !defined PRIu32
>  # undef PRIu32
>  # define PRIu32 "u"
>  #endif
> -#if !defined PRIx32 || PRI_MACROS_BROKEN
> +#if !defined PRIx32
>  # undef PRIx32
>  # define PRIx32 "x"
>  #endif
> -#if !defined PRIX32 || PRI_MACROS_BROKEN
> +#if !defined PRIX32
>  # undef PRIX32
>  # define PRIX32 "X"
>  #endif
> -#if !defined PRId64 || PRI_MACROS_BROKEN
> +#if !defined PRId64
>  # undef PRId64
>  # define PRId64 (sizeof (long) == 8 ? "ld" : "lld")
>  #endif
> -#if !defined PRIi64 || PRI_MACROS_BROKEN
> +#if !defined PRIi64
>  # undef PRIi64
>  # define PRIi64 (sizeof (long) == 8 ? "li" : "lli")
>  #endif
> -#if !defined PRIo64 || PRI_MACROS_BROKEN
> +#if !defined PRIo64
>  # undef PRIo64
>  # define PRIo64 (sizeof (long) == 8 ? "lo" : "llo")
>  #endif
> -#if !defined PRIu64 || PRI_MACROS_BROKEN
> +#if !defined PRIu64
>  # undef PRIu64
>  # define PRIu64 (sizeof (long) == 8 ? "lu" : "llu")
>  #endif
> -#if !defined PRIx64 || PRI_MACROS_BROKEN
> +#if !defined PRIx64
>  # undef PRIx64
>  # define PRIx64 (sizeof (long) == 8 ? "lx" : "llx")
>  #endif
> -#if !defined PRIX64 || PRI_MACROS_BROKEN
> +#if !defined PRIX64
>  # undef PRIX64
>  # define PRIX64 (sizeof (long) == 8 ? "lX" : "llX")
>  #endif
> -#if !defined PRIdLEAST8 || PRI_MACROS_BROKEN
> +#if !defined PRIdLEAST8
>  # undef PRIdLEAST8
>  # define PRIdLEAST8 "d"
>  #endif
> -#if !defined PRIiLEAST8 || PRI_MACROS_BROKEN
> +#if !defined PRIiLEAST8
>  # undef PRIiLEAST8
>  # define PRIiLEAST8 "i"
>  #endif
> -#if !defined PRIoLEAST8 || PRI_MACROS_BROKEN
> +#if !defined PRIoLEAST8
>  # undef PRIoLEAST8
>  # define PRIoLEAST8 "o"
>  #endif
> -#if !defined PRIuLEAST8 || PRI_MACROS_BROKEN
> +#if !defined PRIuLEAST8
>  # undef PRIuLEAST8
>  # define PRIuLEAST8 "u"
>  #endif
> -#if !defined PRIxLEAST8 || PRI_MACROS_BROKEN
> +#if !defined PRIxLEAST8
>  # undef PRIxLEAST8
>  # define PRIxLEAST8 "x"
>  #endif
> -#if !defined PRIXLEAST8 || PRI_MACROS_BROKEN
> +#if !defined PRIXLEAST8
>  # undef PRIXLEAST8
>  # define PRIXLEAST8 "X"
>  #endif
> -#if !defined PRIdLEAST16 || PRI_MACROS_BROKEN
> +#if !defined PRIdLEAST16
>  # undef PRIdLEAST16
>  # define PRIdLEAST16 "d"
>  #endif
> -#if !defined PRIiLEAST16 || PRI_MACROS_BROKEN
> +#if !defined PRIiLEAST16
>  # undef PRIiLEAST16
>  # define PRIiLEAST16 "i"
>  #endif
> -#if !defined PRIoLEAST16 || PRI_MACROS_BROKEN
> +#if !defined PRIoLEAST16
>  # undef PRIoLEAST16
>  # define PRIoLEAST16 "o"
>  #endif
> -#if !defined PRIuLEAST16 || PRI_MACROS_BROKEN
> +#if !defined PRIuLEAST16
>  # undef PRIuLEAST16
>  # define PRIuLEAST16 "u"
>  #endif
> -#if !defined PRIxLEAST16 || PRI_MACROS_BROKEN
> +#if !defined PRIxLEAST16
>  # undef PRIxLEAST16
>  # define PRIxLEAST16 "x"
>  #endif
> -#if !defined PRIXLEAST16 || PRI_MACROS_BROKEN
> +#if !defined PRIXLEAST16
>  # undef PRIXLEAST16
>  # define PRIXLEAST16 "X"
>  #endif
> -#if !defined PRIdLEAST32 || PRI_MACROS_BROKEN
> +#if !defined PRIdLEAST32
>  # undef PRIdLEAST32
>  # define PRIdLEAST32 "d"
>  #endif
> -#if !defined PRIiLEAST32 || PRI_MACROS_BROKEN
> +#if !defined PRIiLEAST32
>  # undef PRIiLEAST32
>  # define PRIiLEAST32 "i"
>  #endif
> -#if !defined PRIoLEAST32 || PRI_MACROS_BROKEN
> +#if !defined PRIoLEAST32
>  # undef PRIoLEAST32
>  # define PRIoLEAST32 "o"
>  #endif
> -#if !defined PRIuLEAST32 || PRI_MACROS_BROKEN
> +#if !defined PRIuLEAST32
>  # undef PRIuLEAST32
>  # define PRIuLEAST32 "u"
>  #endif
> -#if !defined PRIxLEAST32 || PRI_MACROS_BROKEN
> +#if !defined PRIxLEAST32
>  # undef PRIxLEAST32
>  # define PRIxLEAST32 "x"
>  #endif
> -#if !defined PRIXLEAST32 || PRI_MACROS_BROKEN
> +#if !defined PRIXLEAST32
>  # undef PRIXLEAST32
>  # define PRIXLEAST32 "X"
>  #endif
> -#if !defined PRIdLEAST64 || PRI_MACROS_BROKEN
> +#if !defined PRIdLEAST64
>  # undef PRIdLEAST64
>  # define PRIdLEAST64 PRId64
>  #endif
> -#if !defined PRIiLEAST64 || PRI_MACROS_BROKEN
> +#if !defined PRIiLEAST64
>  # undef PRIiLEAST64
>  # define PRIiLEAST64 PRIi64
>  #endif
> -#if !defined PRIoLEAST64 || PRI_MACROS_BROKEN
> +#if !defined PRIoLEAST64
>  # undef PRIoLEAST64
>  # define PRIoLEAST64 PRIo64
>  #endif
> -#if !defined PRIuLEAST64 || PRI_MACROS_BROKEN
> +#if !defined PRIuLEAST64
>  # undef PRIuLEAST64
>  # define PRIuLEAST64 PRIu64
>  #endif
> -#if !defined PRIxLEAST64 || PRI_MACROS_BROKEN
> +#if !defined PRIxLEAST64
>  # undef PRIxLEAST64
>  # define PRIxLEAST64 PRIx64
>  #endif
> -#if !defined PRIXLEAST64 || PRI_MACROS_BROKEN
> +#if !defined PRIXLEAST64
>  # undef PRIXLEAST64
>  # define PRIXLEAST64 PRIX64
>  #endif
> -#if !defined PRIdFAST8 || PRI_MACROS_BROKEN
> +#if !defined PRIdFAST8
>  # undef PRIdFAST8
>  # define PRIdFAST8 "d"
>  #endif
> -#if !defined PRIiFAST8 || PRI_MACROS_BROKEN
> +#if !defined PRIiFAST8
>  # undef PRIiFAST8
>  # define PRIiFAST8 "i"
>  #endif
> -#if !defined PRIoFAST8 || PRI_MACROS_BROKEN
> +#if !defined PRIoFAST8
>  # undef PRIoFAST8
>  # define PRIoFAST8 "o"
>  #endif
> -#if !defined PRIuFAST8 || PRI_MACROS_BROKEN
> +#if !defined PRIuFAST8
>  # undef PRIuFAST8
>  # define PRIuFAST8 "u"
>  #endif
> -#if !defined PRIxFAST8 || PRI_MACROS_BROKEN
> +#if !defined PRIxFAST8
>  # undef PRIxFAST8
>  # define PRIxFAST8 "x"
>  #endif
> -#if !defined PRIXFAST8 || PRI_MACROS_BROKEN
> +#if !defined PRIXFAST8
>  # undef PRIXFAST8
>  # define PRIXFAST8 "X"
>  #endif
> -#if !defined PRIdFAST16 || PRI_MACROS_BROKEN
> +#if !defined PRIdFAST16
>  # undef PRIdFAST16
>  # define PRIdFAST16 "d"
>  #endif
> -#if !defined PRIiFAST16 || PRI_MACROS_BROKEN
> +#if !defined PRIiFAST16
>  # undef PRIiFAST16
>  # define PRIiFAST16 "i"
>  #endif
> -#if !defined PRIoFAST16 || PRI_MACROS_BROKEN
> +#if !defined PRIoFAST16
>  # undef PRIoFAST16
>  # define PRIoFAST16 "o"
>  #endif
> -#if !defined PRIuFAST16 || PRI_MACROS_BROKEN
> +#if !defined PRIuFAST16
>  # undef PRIuFAST16
>  # define PRIuFAST16 "u"
>  #endif
> -#if !defined PRIxFAST16 || PRI_MACROS_BROKEN
> +#if !defined PRIxFAST16
>  # undef PRIxFAST16
>  # define PRIxFAST16 "x"
>  #endif
> -#if !defined PRIXFAST16 || PRI_MACROS_BROKEN
> +#if !defined PRIXFAST16
>  # undef PRIXFAST16
>  # define PRIXFAST16 "X"
>  #endif
> -#if !defined PRIdFAST32 || PRI_MACROS_BROKEN
> +#if !defined PRIdFAST32
>  # undef PRIdFAST32
>  # define PRIdFAST32 "d"
>  #endif
> -#if !defined PRIiFAST32 || PRI_MACROS_BROKEN
> +#if !defined PRIiFAST32
>  # undef PRIiFAST32
>  # define PRIiFAST32 "i"
>  #endif
> -#if !defined PRIoFAST32 || PRI_MACROS_BROKEN
> +#if !defined PRIoFAST32
>  # undef PRIoFAST32
>  # define PRIoFAST32 "o"
>  #endif
> -#if !defined PRIuFAST32 || PRI_MACROS_BROKEN
> +#if !defined PRIuFAST32
>  # undef PRIuFAST32
>  # define PRIuFAST32 "u"
>  #endif
> -#if !defined PRIxFAST32 || PRI_MACROS_BROKEN
> +#if !defined PRIxFAST32
>  # undef PRIxFAST32
>  # define PRIxFAST32 "x"
>  #endif
> -#if !defined PRIXFAST32 || PRI_MACROS_BROKEN
> +#if !defined PRIXFAST32
>  # undef PRIXFAST32
>  # define PRIXFAST32 "X"
>  #endif
> -#if !defined PRIdFAST64 || PRI_MACROS_BROKEN
> +#if !defined PRIdFAST64
>  # undef PRIdFAST64
>  # define PRIdFAST64 PRId64
>  #endif
> -#if !defined PRIiFAST64 || PRI_MACROS_BROKEN
> +#if !defined PRIiFAST64
>  # undef PRIiFAST64
>  # define PRIiFAST64 PRIi64
>  #endif
> -#if !defined PRIoFAST64 || PRI_MACROS_BROKEN
> +#if !defined PRIoFAST64
>  # undef PRIoFAST64
>  # define PRIoFAST64 PRIo64
>  #endif
> -#if !defined PRIuFAST64 || PRI_MACROS_BROKEN
> +#if !defined PRIuFAST64
>  # undef PRIuFAST64
>  # define PRIuFAST64 PRIu64
>  #endif
> -#if !defined PRIxFAST64 || PRI_MACROS_BROKEN
> +#if !defined PRIxFAST64
>  # undef PRIxFAST64
>  # define PRIxFAST64 PRIx64
>  #endif
> -#if !defined PRIXFAST64 || PRI_MACROS_BROKEN
> +#if !defined PRIXFAST64
>  # undef PRIXFAST64
>  # define PRIXFAST64 PRIX64
>  #endif
> -#if !defined PRIdMAX || PRI_MACROS_BROKEN
> +#if !defined PRIdMAX
>  # undef PRIdMAX
>  # define PRIdMAX (sizeof (uintmax_t) == sizeof (long) ? "ld" : "lld")
>  #endif
> -#if !defined PRIiMAX || PRI_MACROS_BROKEN
> +#if !defined PRIiMAX
>  # undef PRIiMAX
>  # define PRIiMAX (sizeof (uintmax_t) == sizeof (long) ? "li" : "lli")
>  #endif
> -#if !defined PRIoMAX || PRI_MACROS_BROKEN
> +#if !defined PRIoMAX
>  # undef PRIoMAX
>  # define PRIoMAX (sizeof (uintmax_t) == sizeof (long) ? "lo" : "llo")
>  #endif
> -#if !defined PRIuMAX || PRI_MACROS_BROKEN
> +#if !defined PRIuMAX
>  # undef PRIuMAX
>  # define PRIuMAX (sizeof (uintmax_t) == sizeof (long) ? "lu" : "llu")
>  #endif
> -#if !defined PRIxMAX || PRI_MACROS_BROKEN
> +#if !defined PRIxMAX
>  # undef PRIxMAX
>  # define PRIxMAX (sizeof (uintmax_t) == sizeof (long) ? "lx" : "llx")
>  #endif
> -#if !defined PRIXMAX || PRI_MACROS_BROKEN
> +#if !defined PRIXMAX
>  # undef PRIXMAX
>  # define PRIXMAX (sizeof (uintmax_t) == sizeof (long) ? "lX" : "llX")
>  #endif
> -#if !defined PRIdPTR || PRI_MACROS_BROKEN
> +#if !defined PRIdPTR
>  # undef PRIdPTR
>  # define PRIdPTR \
>    (sizeof (void *) == sizeof (long) ? "ld" : \
>     sizeof (void *) == sizeof (int) ? "d" : \
>     "lld")
>  #endif
> -#if !defined PRIiPTR || PRI_MACROS_BROKEN
> +#if !defined PRIiPTR
>  # undef PRIiPTR
>  # define PRIiPTR \
>    (sizeof (void *) == sizeof (long) ? "li" : \
>     sizeof (void *) == sizeof (int) ? "i" : \
>     "lli")
>  #endif
> -#if !defined PRIoPTR || PRI_MACROS_BROKEN
> +#if !defined PRIoPTR
>  # undef PRIoPTR
>  # define PRIoPTR \
>    (sizeof (void *) == sizeof (long) ? "lo" : \
>     sizeof (void *) == sizeof (int) ? "o" : \
>     "llo")
>  #endif
> -#if !defined PRIuPTR || PRI_MACROS_BROKEN
> +#if !defined PRIuPTR
>  # undef PRIuPTR
>  # define PRIuPTR \
>    (sizeof (void *) == sizeof (long) ? "lu" : \
>     sizeof (void *) == sizeof (int) ? "u" : \
>     "llu")
>  #endif
> -#if !defined PRIxPTR || PRI_MACROS_BROKEN
> +#if !defined PRIxPTR
>  # undef PRIxPTR
>  # define PRIxPTR \
>    (sizeof (void *) == sizeof (long) ? "lx" : \
>     sizeof (void *) == sizeof (int) ? "x" : \
>     "llx")
>  #endif
> -#if !defined PRIXPTR || PRI_MACROS_BROKEN
> +#if !defined PRIXPTR
>  # undef PRIXPTR
>  # define PRIXPTR \
>    (sizeof (void *) == sizeof (long) ? "lX" : \
  

Patch

diff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c
index 2bb339f3b9..66974904ce 100644
--- a/intl/loadmsgcat.c
+++ b/intl/loadmsgcat.c
@@ -77,361 +77,357 @@ 
 # include "lock.h"
 #endif
 
-#ifdef _LIBC
-# define PRI_MACROS_BROKEN 0
-#endif
-
 /* Provide fallback values for macros that ought to be defined in <inttypes.h>.
    Note that our fallback values need not be literal strings, because we don't
    use them with preprocessor string concatenation.  */
-#if !defined PRId8 || PRI_MACROS_BROKEN
+#if !defined PRId8
 # undef PRId8
 # define PRId8 "d"
 #endif
-#if !defined PRIi8 || PRI_MACROS_BROKEN
+#if !defined PRIi8
 # undef PRIi8
 # define PRIi8 "i"
 #endif
-#if !defined PRIo8 || PRI_MACROS_BROKEN
+#if !defined PRIo8
 # undef PRIo8
 # define PRIo8 "o"
 #endif
-#if !defined PRIu8 || PRI_MACROS_BROKEN
+#if !defined PRIu8
 # undef PRIu8
 # define PRIu8 "u"
 #endif
-#if !defined PRIx8 || PRI_MACROS_BROKEN
+#if !defined PRIx8
 # undef PRIx8
 # define PRIx8 "x"
 #endif
-#if !defined PRIX8 || PRI_MACROS_BROKEN
+#if !defined PRIX8
 # undef PRIX8
 # define PRIX8 "X"
 #endif
-#if !defined PRId16 || PRI_MACROS_BROKEN
+#if !defined PRId16
 # undef PRId16
 # define PRId16 "d"
 #endif
-#if !defined PRIi16 || PRI_MACROS_BROKEN
+#if !defined PRIi16
 # undef PRIi16
 # define PRIi16 "i"
 #endif
-#if !defined PRIo16 || PRI_MACROS_BROKEN
+#if !defined PRIo16
 # undef PRIo16
 # define PRIo16 "o"
 #endif
-#if !defined PRIu16 || PRI_MACROS_BROKEN
+#if !defined PRIu16
 # undef PRIu16
 # define PRIu16 "u"
 #endif
-#if !defined PRIx16 || PRI_MACROS_BROKEN
+#if !defined PRIx16
 # undef PRIx16
 # define PRIx16 "x"
 #endif
-#if !defined PRIX16 || PRI_MACROS_BROKEN
+#if !defined PRIX16
 # undef PRIX16
 # define PRIX16 "X"
 #endif
-#if !defined PRId32 || PRI_MACROS_BROKEN
+#if !defined PRId32
 # undef PRId32
 # define PRId32 "d"
 #endif
-#if !defined PRIi32 || PRI_MACROS_BROKEN
+#if !defined PRIi32
 # undef PRIi32
 # define PRIi32 "i"
 #endif
-#if !defined PRIo32 || PRI_MACROS_BROKEN
+#if !defined PRIo32
 # undef PRIo32
 # define PRIo32 "o"
 #endif
-#if !defined PRIu32 || PRI_MACROS_BROKEN
+#if !defined PRIu32
 # undef PRIu32
 # define PRIu32 "u"
 #endif
-#if !defined PRIx32 || PRI_MACROS_BROKEN
+#if !defined PRIx32
 # undef PRIx32
 # define PRIx32 "x"
 #endif
-#if !defined PRIX32 || PRI_MACROS_BROKEN
+#if !defined PRIX32
 # undef PRIX32
 # define PRIX32 "X"
 #endif
-#if !defined PRId64 || PRI_MACROS_BROKEN
+#if !defined PRId64
 # undef PRId64
 # define PRId64 (sizeof (long) == 8 ? "ld" : "lld")
 #endif
-#if !defined PRIi64 || PRI_MACROS_BROKEN
+#if !defined PRIi64
 # undef PRIi64
 # define PRIi64 (sizeof (long) == 8 ? "li" : "lli")
 #endif
-#if !defined PRIo64 || PRI_MACROS_BROKEN
+#if !defined PRIo64
 # undef PRIo64
 # define PRIo64 (sizeof (long) == 8 ? "lo" : "llo")
 #endif
-#if !defined PRIu64 || PRI_MACROS_BROKEN
+#if !defined PRIu64
 # undef PRIu64
 # define PRIu64 (sizeof (long) == 8 ? "lu" : "llu")
 #endif
-#if !defined PRIx64 || PRI_MACROS_BROKEN
+#if !defined PRIx64
 # undef PRIx64
 # define PRIx64 (sizeof (long) == 8 ? "lx" : "llx")
 #endif
-#if !defined PRIX64 || PRI_MACROS_BROKEN
+#if !defined PRIX64
 # undef PRIX64
 # define PRIX64 (sizeof (long) == 8 ? "lX" : "llX")
 #endif
-#if !defined PRIdLEAST8 || PRI_MACROS_BROKEN
+#if !defined PRIdLEAST8
 # undef PRIdLEAST8
 # define PRIdLEAST8 "d"
 #endif
-#if !defined PRIiLEAST8 || PRI_MACROS_BROKEN
+#if !defined PRIiLEAST8
 # undef PRIiLEAST8
 # define PRIiLEAST8 "i"
 #endif
-#if !defined PRIoLEAST8 || PRI_MACROS_BROKEN
+#if !defined PRIoLEAST8
 # undef PRIoLEAST8
 # define PRIoLEAST8 "o"
 #endif
-#if !defined PRIuLEAST8 || PRI_MACROS_BROKEN
+#if !defined PRIuLEAST8
 # undef PRIuLEAST8
 # define PRIuLEAST8 "u"
 #endif
-#if !defined PRIxLEAST8 || PRI_MACROS_BROKEN
+#if !defined PRIxLEAST8
 # undef PRIxLEAST8
 # define PRIxLEAST8 "x"
 #endif
-#if !defined PRIXLEAST8 || PRI_MACROS_BROKEN
+#if !defined PRIXLEAST8
 # undef PRIXLEAST8
 # define PRIXLEAST8 "X"
 #endif
-#if !defined PRIdLEAST16 || PRI_MACROS_BROKEN
+#if !defined PRIdLEAST16
 # undef PRIdLEAST16
 # define PRIdLEAST16 "d"
 #endif
-#if !defined PRIiLEAST16 || PRI_MACROS_BROKEN
+#if !defined PRIiLEAST16
 # undef PRIiLEAST16
 # define PRIiLEAST16 "i"
 #endif
-#if !defined PRIoLEAST16 || PRI_MACROS_BROKEN
+#if !defined PRIoLEAST16
 # undef PRIoLEAST16
 # define PRIoLEAST16 "o"
 #endif
-#if !defined PRIuLEAST16 || PRI_MACROS_BROKEN
+#if !defined PRIuLEAST16
 # undef PRIuLEAST16
 # define PRIuLEAST16 "u"
 #endif
-#if !defined PRIxLEAST16 || PRI_MACROS_BROKEN
+#if !defined PRIxLEAST16
 # undef PRIxLEAST16
 # define PRIxLEAST16 "x"
 #endif
-#if !defined PRIXLEAST16 || PRI_MACROS_BROKEN
+#if !defined PRIXLEAST16
 # undef PRIXLEAST16
 # define PRIXLEAST16 "X"
 #endif
-#if !defined PRIdLEAST32 || PRI_MACROS_BROKEN
+#if !defined PRIdLEAST32
 # undef PRIdLEAST32
 # define PRIdLEAST32 "d"
 #endif
-#if !defined PRIiLEAST32 || PRI_MACROS_BROKEN
+#if !defined PRIiLEAST32
 # undef PRIiLEAST32
 # define PRIiLEAST32 "i"
 #endif
-#if !defined PRIoLEAST32 || PRI_MACROS_BROKEN
+#if !defined PRIoLEAST32
 # undef PRIoLEAST32
 # define PRIoLEAST32 "o"
 #endif
-#if !defined PRIuLEAST32 || PRI_MACROS_BROKEN
+#if !defined PRIuLEAST32
 # undef PRIuLEAST32
 # define PRIuLEAST32 "u"
 #endif
-#if !defined PRIxLEAST32 || PRI_MACROS_BROKEN
+#if !defined PRIxLEAST32
 # undef PRIxLEAST32
 # define PRIxLEAST32 "x"
 #endif
-#if !defined PRIXLEAST32 || PRI_MACROS_BROKEN
+#if !defined PRIXLEAST32
 # undef PRIXLEAST32
 # define PRIXLEAST32 "X"
 #endif
-#if !defined PRIdLEAST64 || PRI_MACROS_BROKEN
+#if !defined PRIdLEAST64
 # undef PRIdLEAST64
 # define PRIdLEAST64 PRId64
 #endif
-#if !defined PRIiLEAST64 || PRI_MACROS_BROKEN
+#if !defined PRIiLEAST64
 # undef PRIiLEAST64
 # define PRIiLEAST64 PRIi64
 #endif
-#if !defined PRIoLEAST64 || PRI_MACROS_BROKEN
+#if !defined PRIoLEAST64
 # undef PRIoLEAST64
 # define PRIoLEAST64 PRIo64
 #endif
-#if !defined PRIuLEAST64 || PRI_MACROS_BROKEN
+#if !defined PRIuLEAST64
 # undef PRIuLEAST64
 # define PRIuLEAST64 PRIu64
 #endif
-#if !defined PRIxLEAST64 || PRI_MACROS_BROKEN
+#if !defined PRIxLEAST64
 # undef PRIxLEAST64
 # define PRIxLEAST64 PRIx64
 #endif
-#if !defined PRIXLEAST64 || PRI_MACROS_BROKEN
+#if !defined PRIXLEAST64
 # undef PRIXLEAST64
 # define PRIXLEAST64 PRIX64
 #endif
-#if !defined PRIdFAST8 || PRI_MACROS_BROKEN
+#if !defined PRIdFAST8
 # undef PRIdFAST8
 # define PRIdFAST8 "d"
 #endif
-#if !defined PRIiFAST8 || PRI_MACROS_BROKEN
+#if !defined PRIiFAST8
 # undef PRIiFAST8
 # define PRIiFAST8 "i"
 #endif
-#if !defined PRIoFAST8 || PRI_MACROS_BROKEN
+#if !defined PRIoFAST8
 # undef PRIoFAST8
 # define PRIoFAST8 "o"
 #endif
-#if !defined PRIuFAST8 || PRI_MACROS_BROKEN
+#if !defined PRIuFAST8
 # undef PRIuFAST8
 # define PRIuFAST8 "u"
 #endif
-#if !defined PRIxFAST8 || PRI_MACROS_BROKEN
+#if !defined PRIxFAST8
 # undef PRIxFAST8
 # define PRIxFAST8 "x"
 #endif
-#if !defined PRIXFAST8 || PRI_MACROS_BROKEN
+#if !defined PRIXFAST8
 # undef PRIXFAST8
 # define PRIXFAST8 "X"
 #endif
-#if !defined PRIdFAST16 || PRI_MACROS_BROKEN
+#if !defined PRIdFAST16
 # undef PRIdFAST16
 # define PRIdFAST16 "d"
 #endif
-#if !defined PRIiFAST16 || PRI_MACROS_BROKEN
+#if !defined PRIiFAST16
 # undef PRIiFAST16
 # define PRIiFAST16 "i"
 #endif
-#if !defined PRIoFAST16 || PRI_MACROS_BROKEN
+#if !defined PRIoFAST16
 # undef PRIoFAST16
 # define PRIoFAST16 "o"
 #endif
-#if !defined PRIuFAST16 || PRI_MACROS_BROKEN
+#if !defined PRIuFAST16
 # undef PRIuFAST16
 # define PRIuFAST16 "u"
 #endif
-#if !defined PRIxFAST16 || PRI_MACROS_BROKEN
+#if !defined PRIxFAST16
 # undef PRIxFAST16
 # define PRIxFAST16 "x"
 #endif
-#if !defined PRIXFAST16 || PRI_MACROS_BROKEN
+#if !defined PRIXFAST16
 # undef PRIXFAST16
 # define PRIXFAST16 "X"
 #endif
-#if !defined PRIdFAST32 || PRI_MACROS_BROKEN
+#if !defined PRIdFAST32
 # undef PRIdFAST32
 # define PRIdFAST32 "d"
 #endif
-#if !defined PRIiFAST32 || PRI_MACROS_BROKEN
+#if !defined PRIiFAST32
 # undef PRIiFAST32
 # define PRIiFAST32 "i"
 #endif
-#if !defined PRIoFAST32 || PRI_MACROS_BROKEN
+#if !defined PRIoFAST32
 # undef PRIoFAST32
 # define PRIoFAST32 "o"
 #endif
-#if !defined PRIuFAST32 || PRI_MACROS_BROKEN
+#if !defined PRIuFAST32
 # undef PRIuFAST32
 # define PRIuFAST32 "u"
 #endif
-#if !defined PRIxFAST32 || PRI_MACROS_BROKEN
+#if !defined PRIxFAST32
 # undef PRIxFAST32
 # define PRIxFAST32 "x"
 #endif
-#if !defined PRIXFAST32 || PRI_MACROS_BROKEN
+#if !defined PRIXFAST32
 # undef PRIXFAST32
 # define PRIXFAST32 "X"
 #endif
-#if !defined PRIdFAST64 || PRI_MACROS_BROKEN
+#if !defined PRIdFAST64
 # undef PRIdFAST64
 # define PRIdFAST64 PRId64
 #endif
-#if !defined PRIiFAST64 || PRI_MACROS_BROKEN
+#if !defined PRIiFAST64
 # undef PRIiFAST64
 # define PRIiFAST64 PRIi64
 #endif
-#if !defined PRIoFAST64 || PRI_MACROS_BROKEN
+#if !defined PRIoFAST64
 # undef PRIoFAST64
 # define PRIoFAST64 PRIo64
 #endif
-#if !defined PRIuFAST64 || PRI_MACROS_BROKEN
+#if !defined PRIuFAST64
 # undef PRIuFAST64
 # define PRIuFAST64 PRIu64
 #endif
-#if !defined PRIxFAST64 || PRI_MACROS_BROKEN
+#if !defined PRIxFAST64
 # undef PRIxFAST64
 # define PRIxFAST64 PRIx64
 #endif
-#if !defined PRIXFAST64 || PRI_MACROS_BROKEN
+#if !defined PRIXFAST64
 # undef PRIXFAST64
 # define PRIXFAST64 PRIX64
 #endif
-#if !defined PRIdMAX || PRI_MACROS_BROKEN
+#if !defined PRIdMAX
 # undef PRIdMAX
 # define PRIdMAX (sizeof (uintmax_t) == sizeof (long) ? "ld" : "lld")
 #endif
-#if !defined PRIiMAX || PRI_MACROS_BROKEN
+#if !defined PRIiMAX
 # undef PRIiMAX
 # define PRIiMAX (sizeof (uintmax_t) == sizeof (long) ? "li" : "lli")
 #endif
-#if !defined PRIoMAX || PRI_MACROS_BROKEN
+#if !defined PRIoMAX
 # undef PRIoMAX
 # define PRIoMAX (sizeof (uintmax_t) == sizeof (long) ? "lo" : "llo")
 #endif
-#if !defined PRIuMAX || PRI_MACROS_BROKEN
+#if !defined PRIuMAX
 # undef PRIuMAX
 # define PRIuMAX (sizeof (uintmax_t) == sizeof (long) ? "lu" : "llu")
 #endif
-#if !defined PRIxMAX || PRI_MACROS_BROKEN
+#if !defined PRIxMAX
 # undef PRIxMAX
 # define PRIxMAX (sizeof (uintmax_t) == sizeof (long) ? "lx" : "llx")
 #endif
-#if !defined PRIXMAX || PRI_MACROS_BROKEN
+#if !defined PRIXMAX
 # undef PRIXMAX
 # define PRIXMAX (sizeof (uintmax_t) == sizeof (long) ? "lX" : "llX")
 #endif
-#if !defined PRIdPTR || PRI_MACROS_BROKEN
+#if !defined PRIdPTR
 # undef PRIdPTR
 # define PRIdPTR \
   (sizeof (void *) == sizeof (long) ? "ld" : \
    sizeof (void *) == sizeof (int) ? "d" : \
    "lld")
 #endif
-#if !defined PRIiPTR || PRI_MACROS_BROKEN
+#if !defined PRIiPTR
 # undef PRIiPTR
 # define PRIiPTR \
   (sizeof (void *) == sizeof (long) ? "li" : \
    sizeof (void *) == sizeof (int) ? "i" : \
    "lli")
 #endif
-#if !defined PRIoPTR || PRI_MACROS_BROKEN
+#if !defined PRIoPTR
 # undef PRIoPTR
 # define PRIoPTR \
   (sizeof (void *) == sizeof (long) ? "lo" : \
    sizeof (void *) == sizeof (int) ? "o" : \
    "llo")
 #endif
-#if !defined PRIuPTR || PRI_MACROS_BROKEN
+#if !defined PRIuPTR
 # undef PRIuPTR
 # define PRIuPTR \
   (sizeof (void *) == sizeof (long) ? "lu" : \
    sizeof (void *) == sizeof (int) ? "u" : \
    "llu")
 #endif
-#if !defined PRIxPTR || PRI_MACROS_BROKEN
+#if !defined PRIxPTR
 # undef PRIxPTR
 # define PRIxPTR \
   (sizeof (void *) == sizeof (long) ? "lx" : \
    sizeof (void *) == sizeof (int) ? "x" : \
    "llx")
 #endif
-#if !defined PRIXPTR || PRI_MACROS_BROKEN
+#if !defined PRIXPTR
 # undef PRIXPTR
 # define PRIXPTR \
   (sizeof (void *) == sizeof (long) ? "lX" : \