https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118991
--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:0bb431d0a77cf8dc790b9c61539b3eb6ab1710f0

commit r15-7699-g0bb431d0a77cf8dc790b9c61539b3eb6ab1710f0
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Tue Feb 25 20:03:38 2025 +0100

    pru: Fix pru_pragma_ctable_entry diagnostics [PR118991]

    HOST_WIDE_INT_PRINT* macros aren't supposed to be used in
    gcc-internal-format format strings, we have the w modifier for
HOST_WIDE_INT
    in that case, the HOST_WIDE_INT_PRINT* macros might not work properly on
    some hosts (e.g. mingw32 has HOST_LONG_LONG_FORMAT "I64" and that is
    something pretty-print doesn't handle, while it handles "ll" for long long)
    and also the use of macros in the middle of format strings breaks
    translations (both that exgettext can't retrieve the string from there
    and we get
     #: config/pru/pru-pragma.cc:61
     msgid "%<CTABLE_ENTRY%> index %"
     msgstr ""

     #: config/pru/pru-pragma.cc:64
     msgid "redefinition of %<CTABLE_ENTRY %"
     msgstr ""
    in po/gcc.pot and also the macros are different on different hosts,
    so even if exgettext extracted say "%<CTABLE_ENTRY%> index %lld is not
valid"
    it could be translated on some hosts but not e.g. mingw32).

    So, the following patch just uses %wd instead.

    Tested it before/after the
    patch on
     #pragma ctable_entry 12 0x48040000
     #pragma ctable_entry 1024 0x48040000
     #pragma ctable_entry 12 0x48040001
    and the result is the same.

    2025-02-25  Jakub Jelinek  <ja...@redhat.com>

            PR translation/118991
            * config/pru/pru-pragma.cc (pru_pragma_ctable_entry): Use %wd
            instead of %" HOST_WIDE_INT_PRINT "d to print a hwi in error.

Reply via email to