From 281cbf31893671e3ab8bf0f1ba9eddd297176047 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 19 Dec 2017 22:06:04 +0100 Subject: [PATCH] gimple-ssa-sprintf.c (format_directive): Use inform_n instead of inform with hardcoded english plural handling. * gimple-ssa-sprintf.c (format_directive): Use inform_n instead of inform with hardcoded english plural handling. From-SVN: r255840 --- gcc/ChangeLog | 5 +++++ gcc/gimple-ssa-sprintf.c | 14 ++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8a80f18045b..39b102fc24e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-12-19 Jakub Jelinek + + * gimple-ssa-sprintf.c (format_directive): Use inform_n instead of + inform with hardcoded english plural handling. + 2017-12-18 Jeff Law PR tree-optimization/83477 diff --git a/gcc/gimple-ssa-sprintf.c b/gcc/gimple-ssa-sprintf.c index eddc20e2ac4..4275755c7bf 100644 --- a/gcc/gimple-ssa-sprintf.c +++ b/gcc/gimple-ssa-sprintf.c @@ -2933,13 +2933,15 @@ format_directive (const sprintf_dom_walker::call_info &info, if (warned && fmtres.range.min < fmtres.range.likely && fmtres.range.likely < fmtres.range.max) - { - inform (info.fmtloc, - (1 == fmtres.range.likely - ? G_("assuming directive output of %wu byte") - : G_("assuming directive output of %wu bytes")), + /* Some languages have special plural rules even for large values, + but it is periodic with period of 10, 100, 1000 etc. */ + inform_n (info.fmtloc, + fmtres.range.likely > INT_MAX + ? (fmtres.range.likely % 1000000) + 1000000 + : fmtres.range.likely, + "assuming directive output of %wu byte", + "assuming directive output of %wu bytes", fmtres.range.likely); - } if (warned && fmtres.argmin) { -- 2.30.2