https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84818
Bug ID: 84818 Summary: integer_onep must not be used for i18n Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: roland.illig at gmx dot de Target Milestone: --- In English, the following idiom is correct: warning_at (loc, opt, (integer_onep (range[0]) ? G_("%K%qD writing %E byte into a region " "of size %E overflows the destination") : G_("%K%qD writing %E bytes into a region " "of size %E overflows the destination")), In other languages, this fails. - In French, 0 and 1 both use the singular. - In Polish, Arabic and several other languages there are up to 6 plural forms. See http://www.unicode.org/cldr/charts/29/supplemental/language_plural_rules.html