[Bug c/84818] New: integer_onep must not be used for i18n

roland.illig at gmx dot de gcc-bugzilla@gcc.gnu.org
Sun Mar 11 16:51:00 GMT 2018


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


More information about the Gcc-bugs mailing list