error_print parses the error message and replaces %L and %C by the special string.
However, this clashes with translations, if the order of arguments is changed: >From gcc/po/de.po: #: fortran/module.c:3369 #, no-c-format msgid "Symbol '%s' referenced at %L not found in module '%s'" msgstr "Bei %2$L referenziertes Symbol »%1$s« nicht im Modul »%3$s« gefunden" Here, the order of %s and %L is changed. The result at runtime is: Fehler: Bei $L referenziertes Symbol »$s« nicht im Modul »$s« gefunden Which renders the error message useless. -- Summary: error_print produces useless error message for LANG != C Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: diagnostic Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29711