diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-02-17 22:27:24 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-02-17 22:27:24 +0000 |
commit | fc3527e3cca494696acf03440c1910348419ed08 (patch) | |
tree | b906ddcc4aab6686c41e92f405908b6c5569564d /gcc/cp | |
parent | 5045830489ab450f47462b7ff8dd59b9be766b30 (diff) | |
download | gcc-fc3527e3cca494696acf03440c1910348419ed08.tar.gz |
PR c++/69850
* gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
* gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
warn on gimple_no_warning_p statements.
* init.c (build_delete): Set TREE_NO_WARNING on ifexp.
* g++.dg/warn/Wnonnull-compare-1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233508 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/init.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c02ffac4632..ca5d838f244 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2016-02-17 Jakub Jelinek <jakub@redhat.com> + + PR c++/69850 + * init.c (build_delete): Set TREE_NO_WARNING on ifexp. + 2016-02-17 Jason Merrill <jason@redhat.com> PR c++/69842 diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 9f9c7292d2d..68cc1a75cac 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -4525,6 +4525,10 @@ build_delete (tree otype, tree addr, special_function_kind auto_delete, complain)); if (ifexp == error_mark_node) return error_mark_node; + /* This is a compiler generated comparison, don't emit + e.g. -Wnonnull-compare warning for it. */ + else if (TREE_CODE (ifexp) == NE_EXPR) + TREE_NO_WARNING (ifexp) = 1; } if (ifexp != integer_one_node) |