https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38573
Frederic Marchal <fmarchal at perso dot be> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fmarchal at perso dot be
--- Comment #5 from Frederic Marchal <fmarchal at perso dot be> ---
This issue is still present in gcc 7.
The strings assigned to symstd_msg in gfc_check_intrinsic_standard() should be
marked for translation.
As it is, the current code in fortran/resolve.c at line 1709 outputs an error
message containing one untranslated fragment:
/* Check it is actually available in the standard settings. */
if (!gfc_check_intrinsic_standard (isym, &symstd, false, sym->declared_at))
{
gfc_error ("The intrinsic %qs declared INTRINSIC at %L is not "
"available in the current standard settings but %s. Use "
"an appropriate %<-std=*%> option or enable "
"%<-fall-intrinsics%> in order to use it.",
sym->name, &sym->declared_at, symstd);
return false;
}
I don't know how many languages could work around that string concatenation and
still present a meaningful message to the user but none can output a legible
message if %s isn't translated. Therefore, I recommend to mark the strings for
translation as a stopgap until a full i18n compatible solution is available.
I also suggest to write a comment for translators stating that %s is a string
such as "available since Fortran 77".