https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89939
Bug ID: 89939 Summary: messages for translation must not contain embedded macro parameters Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: translation Assignee: unassigned at gcc dot gnu.org Reporter: roland.illig at gmx dot de Target Milestone: --- from fortran/frontend-passes.c: #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)") In the .pot file, this results in: msgid "Array bound mismatch for dimension " msgstr "" This translation entry will never be used. The part after the #n doesn't make it to the .pot file at all. Please write a linter that prevents this kind of bug. It's not the first time I've seen it, and I don't want to remind you every year.