[PATCH] underline null argument in -Wnonnull (PR c++/86568)
Jason Merrill
jason@redhat.com
Thu Jun 11 20:19:40 GMT 2020
On 6/5/20 3:41 PM, Martin Sebor wrote:
> + location_t loc
> + = EXPR_HAS_LOCATION (param) ? EXPR_LOCATION (param) : pctx->loc;
This could be EXPR_LOC_OR_LOC (param, pctx->loc)
> + location_t loc = (EXPR_HAS_LOCATION (ptr)
> + ? EXPR_LOCATION (ptr) : EXPR_LOCATION (exp));
And similarly here.
> + if (param_num == 0)
> {
> + warned = warning_at (loc, OPT_Wnonnull,
> + "%qs pointer null", "this");
> + if (pctx->fndecl)
> + inform (DECL_SOURCE_LOCATION (pctx->fndecl),
> + "in a call to non-static member function %qD",
> + pctx->fndecl);
> }
> + else
> + {
> + warned = warning_at (loc, OPT_Wnonnull,
> + "argument %u null where non-null expected",
> + (unsigned) param_num);
> + if (pctx->fndecl)
> + inform (DECL_SOURCE_LOCATION (pctx->fndecl),
> + "in a call to function %qD declared %qs",
> + pctx->fndecl, "nonnull");
> + }
You need auto_diagnostic_group somewhere.
The c-common.c and tree.c changes are OK with these adjustments. I'll
leave the optimizer bits to someone else.
Jason
More information about the Gcc-patches
mailing list