This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/78521] [7 Regression] incorrect byte count in -Wformat-length warning with non-constant width or precision


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78521

--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> ---
Author: msebor
Date: Mon Nov 28 21:41:41 2016
New Revision: 242935

URL: https://gcc.gnu.org/viewcvs?rev=242935&root=gcc&view=rev
Log:
PR middle-end/78521 - [7 Regression] incorrect byte count in -Wformat-length
warning with non-constant width or precision
PR middle-end/78520 - missing warning for snprintf with size greater than
INT_MAX

gcc/ChangeLog:

        PR middle-end/78520
        * gimple-ssa-sprintf.c (target_max_value): Remove.
        (target_int_max, target_size_max): Use TYPE_MAX_VALUE.
        (get_width_and_precision): New function.
        (format_integer, format_floating, get_string_length, format_string):
        Correct handling of width and precision with unknown value.
        (format_directive): Add warning.
        (pass_sprintf_length::compute_format_length): Allow for precision
        to consist of a sole period with no asterisk or digits after it.

gcc/testsuite/ChangeLog:

        PR middle-end/78520
        * gcc.dg/tree-ssa/builtin-sprintf-5.c: Add test cases.
        * gcc.dg/tree-ssa/builtin-sprintf-6.c: New test.
        * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Add test cases.
        * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Add test cases.


Added:
    trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-6.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/gimple-ssa-sprintf.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-5.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-1.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-3.c

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]