summaryrefslogtreecommitdiff
path: root/gcc/gimple-ssa-nonnull-compare.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2016-02-17 22:27:24 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2016-02-17 22:27:24 +0000
commitfc3527e3cca494696acf03440c1910348419ed08 (patch)
treeb906ddcc4aab6686c41e92f405908b6c5569564d /gcc/gimple-ssa-nonnull-compare.c
parent5045830489ab450f47462b7ff8dd59b9be766b30 (diff)
downloadgcc-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/gimple-ssa-nonnull-compare.c')
-rw-r--r--gcc/gimple-ssa-nonnull-compare.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/gimple-ssa-nonnull-compare.c b/gcc/gimple-ssa-nonnull-compare.c
index 910188b064a..8c5546754e6 100644
--- a/gcc/gimple-ssa-nonnull-compare.c
+++ b/gcc/gimple-ssa-nonnull-compare.c
@@ -96,7 +96,8 @@ do_warn_nonnull_compare (function *fun, tree arg)
}
if (op
&& (POINTER_TYPE_P (TREE_TYPE (arg))
- ? integer_zerop (op) : integer_minus_onep (op)))
+ ? integer_zerop (op) : integer_minus_onep (op))
+ && !gimple_no_warning_p (stmt))
warning_at (loc, OPT_Wnonnull_compare,
"nonnull argument %qD compared to NULL", arg);
}