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.