[Bug fortran/90014] New: Untranslatable Fortran diagnostics

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Apr 8 19:23:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90014

            Bug ID: 90014
           Summary: Untranslatable Fortran diagnostics
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

gcc/po/gcc.pot has:
#. Macros for unified error messages.
#: fortran/frontend-passes.c:3746
msgid "Incorrect extent in argument B in MATMUL intrinsic in dimension "
msgstr ""

#: fortran/frontend-passes.c:3749
msgid "Array bound mismatch for dimension "
msgstr ""

which is what exgettext creates for:
#define B_ERROR(n) _("Incorrect extent in argument B in MATMUL intrinsic in " \
                     "dimension " #n ": is %ld, should be %ld")

#define C_ERROR(n) _("Array bound mismatch for dimension " #n " of array " \
                     "(%ld/%ld)")
and
B_ERROR(1) or C_ERROR(1) or C_ERROR(2).

This simply won't work, exgettext isn't able to deal with that kind of
stringification.
Either use %d and somehow propagate the value as another argument, or
use B_ERROR_1, C_ERROR_1 and C_ERROR_2 macros that won't use this kind of
stringification.


More information about the Gcc-bugs mailing list