2013-10-09 Marc Glisse <marc.glisse@inria.fr>
commitd7dcba40a5768c70c40d1b7109377c78010abea4
authorglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 9 Oct 2013 13:03:13 +0000 (9 13:03 +0000)
committerglisse <glisse@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 9 Oct 2013 13:03:13 +0000 (9 13:03 +0000)
treeca712605143da33b695da4c91076aa641b7f23d3
parent11ad02c667d0c697c971e810fb30504de359371f
2013-10-09  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/20318
gcc/c-family/
* c-common.c (handle_returns_nonnull_attribute): New function.
(c_common_attribute_table): Add returns_nonnull.

gcc/
* doc/extend.texi (returns_nonnull): New function attribute.
* fold-const.c (tree_expr_nonzero_warnv_p): Look for returns_nonnull
attribute.
* tree-vrp.c (gimple_stmt_nonzero_warnv_p): Likewise.
(stmt_interesting_for_vrp): Accept all GIMPLE_CALL.

gcc/testsuite/
* c-c++-common/pr20318.c: New file.
* gcc.dg/tree-ssa/pr20318.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203316 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/doc/extend.texi
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/pr20318.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/pr20318.c [new file with mode: 0644]
gcc/tree-vrp.c