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

--- Comment #10 from Martin Sebor <msebor at gcc dot gnu.org> ---
Author: msebor
Date: Tue Oct 30 21:58:35 2018
New Revision: 265648

URL: https://gcc.gnu.org/viewcvs?rev=265648&root=gcc&view=rev
Log:
PR middle-end/87041 - -Wformat reading through null pointer on unreachable code

gcc/ChangeLog:

        PR middle-end/87041
        * gimple-ssa-sprintf.c (format_directive): Use %G to include
        inlining context.
        (sprintf_dom_walker::compute_format_length):
        Avoid setting POSUNDER4K here.
        (get_destination_size): Handle null argument values.
        (get_user_idx_format): New function.
        (sprintf_dom_walker::handle_gimple_call): Handle all printf-like
        functions, including user-defined with attribute format printf.
        Use %G to include inlining context.
        Set POSUNDER4K here.

gcc/c-family/ChangeLog:

        PR middle-end/87041
        * c-format.c (check_format_types): Avoid diagnosing null pointer
        arguments to printf-family of functions.

gcc/testsuite/ChangeLog:

        PR middle-end/87041
        * gcc.c-torture/execute/fprintf-2.c: New test.
        * gcc.c-torture/execute/printf-2.c: Same.
        * gcc.c-torture/execute/user-printf.c: Same.
        * gcc.dg/tree-ssa/builtin-fprintf-warn-1.c: Same.
        * gcc.dg/tree-ssa/builtin-printf-2.c: Same.
        * gcc.dg/tree-ssa/builtin-printf-warn-1.c: Same.
        * gcc.dg/tree-ssa/user-printf-warn-1.c: Same.


Added:
    trunk/gcc/testsuite/gcc.c-torture/execute/fprintf-2.c
    trunk/gcc/testsuite/gcc.c-torture/execute/printf-2.c
    trunk/gcc/testsuite/gcc.c-torture/execute/user-printf.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-warn-1.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-2.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-warn-1.c
    trunk/gcc/testsuite/gcc.dg/tree-ssa/user-printf-warn-1.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-format.c
    trunk/gcc/gimple-ssa-sprintf.c
    trunk/gcc/testsuite/ChangeLog

Reply via email to