[PATCH 2/3] intl: Remove PRI_MACROS_BROKEN from loadmsgcat.c
Adhemerval Zanella Netto
adhemerval.zanella@linaro.org
Wed May 13 14:17:10 GMT 2026
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" : \
More information about the Libc-alpha
mailing list