PR middle-end/101216 - spurious notes for function calls

PR middle-end/101216

gcc/ChangeLog:

	* calls.c (maybe_warn_rdwr_sizes): Use the no_warning constant.

gcc/testsuite/ChangeLog:

	* gcc.dg/Wnonnull-7.c: New test.
This commit is contained in:
Martin Sebor 2021-06-25 17:01:01 -06:00
parent 4a52cf2eb9
commit fd51b344ca
2 changed files with 18 additions and 3 deletions

View File

@ -2054,7 +2054,7 @@ maybe_warn_rdwr_sizes (rdwr_map *rwm, tree fndecl, tree fntype, tree exp)
*sizstr = '\0';
/* Set if a warning has been issued for the current argument. */
opt_code arg_warned = N_OPTS;
opt_code arg_warned = no_warning;
location_t loc = EXPR_LOCATION (exp);
tree ptr = access.second.ptr;
if (*sizstr
@ -2080,7 +2080,7 @@ maybe_warn_rdwr_sizes (rdwr_map *rwm, tree fndecl, tree fntype, tree exp)
exp, sizidx + 1, sizstr))
arg_warned = OPT_Wstringop_overflow_;
if (arg_warned != N_OPTS)
if (arg_warned != no_warning)
{
append_attrname (access, attrstr, sizeof attrstr);
/* Remember a warning has been issued and avoid warning
@ -2152,7 +2152,7 @@ maybe_warn_rdwr_sizes (rdwr_map *rwm, tree fndecl, tree fntype, tree exp)
arg_warned = OPT_Wnonnull;
}
if (arg_warned)
if (arg_warned != no_warning)
{
append_attrname (access, attrstr, sizeof attrstr);
/* Remember a warning has been issued and avoid warning

View File

@ -0,0 +1,15 @@
/* PR middle-end/101216 - spurious notes for function calls
{ dg-do compile }
{ dg-options "-O2 -w" } */
__attribute__ ((access (write_only, 1, 2))) char*
getcwd (char *, __SIZE_TYPE__);
char* f (void)
{
char a[8];
return getcwd (0, 8);
}
/* Expect no messages of any kind on output.
{ dg-bogus "" "" { target *-*-* } 0 } */