This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/84818] New: integer_onep must not be used for i18n
- From: "roland.illig at gmx dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 11 Mar 2018 16:51:51 +0000
- Subject: [Bug c/84818] New: integer_onep must not be used for i18n
- Auto-submitted: auto-generated
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