re PR c++/19476 (Missed null checking elimination with new)
commit2284b03444d6845ce6402db37f4ec43f6c755f77
authorMarc Glisse <marc.glisse@inria.fr>
Thu, 3 Oct 2013 16:13:54 +0000 (3 18:13 +0200)
committerMarc Glisse <glisse@gcc.gnu.org>
Thu, 3 Oct 2013 16:13:54 +0000 (3 16:13 +0000)
tree626a1783dbadedeb04e9dc7b74807b9ad23cc8c7
parent0609bdf2114919b570e7a3c4ab273fdf16262a4b
re PR c++/19476 (Missed null checking elimination with new)

2013-10-03  Marc Glisse  <marc.glisse@inria.fr>

PR c++/19476
gcc/c-family/
* c.opt (fcheck-new): Move to common.opt.

gcc/
* common.opt (fcheck-new): Moved from c.opt. Make it 'Common'.
* calls.c (alloca_call_p): Use get_callee_fndecl.
* fold-const.c (tree_expr_nonzero_warnv_p): Handle operator new.
* tree-vrp.c (gimple_stmt_nonzero_warnv_p, stmt_interesting_for_vrp):
Likewise.
(vrp_visit_stmt): Remove duplicated code.

gcc/testsuite/
* g++.dg/tree-ssa/pr19476-1.C: New file.
* g++.dg/tree-ssa/pr19476-2.C: Likewise.
* g++.dg/tree-ssa/pr19476-3.C: Likewise.
* g++.dg/tree-ssa/pr19476-4.C: Likewise.

From-SVN: r203163
12 files changed:
gcc/ChangeLog
gcc/c-family/ChangeLog
gcc/c-family/c.opt
gcc/calls.c
gcc/common.opt
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/tree-ssa/pr19476-1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/tree-ssa/pr19476-2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/tree-ssa/pr19476-3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/tree-ssa/pr19476-4.C [new file with mode: 0644]
gcc/tree-vrp.c