[Bug target/79883] avr i18n: untranslated "interrupt" or "signal"
fmarchal at perso dot be
gcc-bugzilla@gcc.gnu.org
Thu Mar 16 14:01:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79883
Frederic Marchal <fmarchal at perso dot be> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fmarchal at perso dot be
--- Comment #3 from Frederic Marchal <fmarchal at perso dot be> ---
I confirm this is a problem at two more places within the same
avr_set_current_function() function:
if (args && TREE_CODE (TREE_VALUE (args)) != VOID_TYPE)
error_at (loc, "%qs function cannot have arguments", isr);
if (TREE_CODE (ret) != VOID_TYPE)
error_at (loc, "%qs function cannot return a value", isr);
I had to degrade the French translation to accommodate the %qs. The correct
translation for "interrupt function" should have been "la fonction
d'interruption" but it is, instead, the ugly "la fonction avec l'attribut «
interrupt »".
Similarly, "signal function" should be "la fonction de traitement du signal"
instead of the silly looking "la fonction avec l'attribut « signal »".
The keyword idiom is correct in this instance though:
error_at (loc, "function attributes %qs, %qs and %qs are mutually"
" exclusive", "OS_task", "OS_main", isr);
Therefore, I suggest to replace the above two messages with
if (args && TREE_CODE (TREE_VALUE (args)) != VOID_TYPE) {
if (cfun->machine->is_interrupt)
error_at (loc, "%<interrupt%> function cannot have arguments");
else
error_at (loc, "%<signal%> function cannot have arguments");
}
if (TREE_CODE (ret) != VOID_TYPE) {
if (cfun->machine->is_interrupt)
error_at (loc, "%<interrupt%> function cannot return a value");
else
error_at (loc, "%<signal%> function cannot return a value");
}
And the one reported by Roland with
if (!STR_PREFIX_P (name, "__vector")) {
if (cfun->machine->is_interrupt)
warning_at (loc, OPT_Wmisspelled_isr, "%qs appears to be a misspelled "
"interrupt handler, missing __vector prefix", name);
else
warning_at (loc, OPT_Wmisspelled_isr, "%qs appears to be a misspelled "
"signal handler, missing __vector prefix", name);
}
More information about the Gcc-bugs
mailing list