aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2021-06-25 17:01:01 -0600
committerMartin Sebor <msebor@redhat.com>2021-06-25 17:01:01 -0600
commitfd51b344ca86c9673db0161d4a383cccdb2f429c (patch)
tree8a197385cb4db4652191ea6da1ddcbd288b68ebb
parent4a52cf2eb9d6864ad85674ab56838e0d9ce27926 (diff)
downloadgcc-fd51b344ca86c9673db0161d4a383cccdb2f429c.zip
gcc-fd51b344ca86c9673db0161d4a383cccdb2f429c.tar.gz
gcc-fd51b344ca86c9673db0161d4a383cccdb2f429c.tar.bz2
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.
-rw-r--r--gcc/calls.c6
-rw-r--r--gcc/testsuite/gcc.dg/Wnonnull-7.c15
2 files changed, 18 insertions, 3 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index 27e8c45..f8a4b79 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -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
diff --git a/gcc/testsuite/gcc.dg/Wnonnull-7.c b/gcc/testsuite/gcc.dg/Wnonnull-7.c
new file mode 100644
index 0000000..e7b331a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/Wnonnull-7.c
@@ -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 } */