diff options
author | Jakub Jelinek <jakub@redhat.com> | 2016-02-17 23:27:24 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-02-17 23:27:24 +0100 |
commit | 932c0da42d36625559d7997b392b0d08869dc649 (patch) | |
tree | b906ddcc4aab6686c41e92f405908b6c5569564d /gcc/gimple-ssa-nonnull-compare.c | |
parent | 0f02dd56f5f50238244a729bde63387d42c36d63 (diff) |
re PR c++/69850 (unnecessary -Wnonnull-compare warning)
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.
From-SVN: r233508
Diffstat (limited to 'gcc/gimple-ssa-nonnull-compare.c')
-rw-r--r-- | gcc/gimple-ssa-nonnull-compare.c | 3 |
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); } |