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