On Tue, Dec 19, 2017 at 07:02:38PM +0100, Richard Biener wrote: > On December 19, 2017 6:58:15 PM GMT+01:00, Jakub Jelinek <ja...@redhat.com> > wrote: > >On Tue, Dec 19, 2017 at 10:49:07AM -0700, Martin Sebor wrote: > >> Can the math be moved into inform_n (and warning_n) itself? > > > >No. I'm against having dozens of inform_n and warning_n etc. > >overloads, it is already bad enough we have so many diagnostics > >entry points now that putting breakpoints on them is so hard. > >Those functions just have int, and we can have > >perhaps some other function (plural_count or some better name) > >that is inline and overloaded on the various types and can be used > >if the count isn't int. > > > >As for gimple-ssa-sprintf.c, there are several other cases that > >want a plural form, but I haven't changed them because > >format_warning_at_substring doesn't have _n suffixed variant. > > Can't we simply use bytes (plural) and not care for the detail of special > values like one? Other languages (Czech?) even have special cases for two > and three...
If it is supposed to be gramattically correct, it should use the _n suffixed APIs. There are languages with just 1 or 2, 3, 4 and 6 forms, see https://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/Plural-forms.html for details. Jakub