https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79692
--- Comment #4 from Martin Sebor <msebor at gcc dot gnu.org> --- Author: msebor Date: Wed Mar 1 23:39:59 2017 New Revision: 245822 URL: https://gcc.gnu.org/viewcvs?rev=245822&root=gcc&view=rev Log: PR middle-end/79692 - [7 Regression] -Wformat-overflow false positive gcc/ChangeLog: PR middle-end/79692 * gimple-ssa-sprintf.c (directive::known_width_and_precision): New function. (format_integer): Use it. (get_mpfr_format_length): Consider the full range of precision when computing %g output with the # flag. Set the likely byte count to 3 rather than 1 when precision is indeterminate. (format_floating): Correct the lower bound of precision. gcc/testsuite/ChangeLog: PR middle-end/79692 * gcc.dg/tree-ssa/builtin-sprintf-2.c: Add test cases. * gcc.dg/tree-ssa/builtin-sprintf-warn-10.c: Correct %#g. * gcc.dg/tree-ssa/builtin-sprintf-warn-15.c: New test. * gcc.dg/tree-ssa/builtin-snprintf-3.c: Ditto. Added: trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-snprintf-3.c trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-15.c Modified: trunk/gcc/ChangeLog trunk/gcc/gimple-ssa-sprintf.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-2.c trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-10.c