https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79093
Bug ID: 79093 Summary: Hard coded plural in builtins.c:3203 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: translation Assignee: unassigned at gcc dot gnu.org Reporter: fmarchal at perso dot be Target Milestone: --- The following code is found in builtins.c: warning_at (loc, opt, (uwir0 == 1 ? G_("%K%qD: writing %wu byte into a region " "of size %wu overflows the destination") : G_("%K%qD writing %wu bytes into a region " "of size %wu overflows the destination")), exp, get_callee_fndecl (exp), uwir0, tree_to_uhwi (objsize)); Assuming singular is only for a quantity == 1 is wrong. See https://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/Plural-forms.html. If ngettext can't be used, please use only one string for both singular and plural, like this: "%K%qD: writing %wu byte(s) into a region ". BTW, the plural lacks a colon after %K%qD.