From e0633768a1a2efe689e5505b3a95aa949d704b06 Mon Sep 17 00:00:00 2001 From: Martin Sebor Date: Sat, 25 Jul 2020 14:21:47 -0600 Subject: Fix PR c++/96310 - Ignoring -Wnonnull via pragma gcc diagnostics still produces an unwanted note. gcc/c-family/ChangeLog: PR c++/96310 * c-common.c (check_nonnull_arg): Print note only when warning was issued. --- gcc/c-family/c-common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gcc/c-family/c-common.c') diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c index 51ecde69f2d..e2569c65827 100644 --- a/gcc/c-family/c-common.c +++ b/gcc/c-family/c-common.c @@ -5538,7 +5538,7 @@ check_nonnull_arg (void *ctx, tree param, unsigned HOST_WIDE_INT param_num) { warned = warning_at (loc, OPT_Wnonnull, "%qs pointer null", "this"); - if (pctx->fndecl) + if (warned && pctx->fndecl) inform (DECL_SOURCE_LOCATION (pctx->fndecl), "in a call to non-static member function %qD", pctx->fndecl); @@ -5548,7 +5548,7 @@ check_nonnull_arg (void *ctx, tree param, unsigned HOST_WIDE_INT param_num) warned = warning_at (loc, OPT_Wnonnull, "argument %u null where non-null expected", (unsigned) param_num); - if (pctx->fndecl) + if (warned && pctx->fndecl) inform (DECL_SOURCE_LOCATION (pctx->fndecl), "in a call to function %qD declared %qs", pctx->fndecl, "nonnull"); -- cgit v1.2.1