[Darwin, testsuite] Fix Wnonnull on Darwin.
authorIain Sandoe <iain@sandoe.co.uk>
Sat, 19 Oct 2019 07:44:49 +0000 (07:44 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Sat, 19 Oct 2019 07:44:49 +0000 (07:44 +0000)
Darwin does not mark entries in string.h with nonnull attributes
so the test fails.  Since the purpose of the test is to check that
the warnings are issued for an inlined function, not that the target
headers are marked up, we can provide marked up headers for Darwin.

gcc/testsuite/ChangeLog:

2019-10-19  Iain Sandoe  <iain@sandoe.co.uk>

* gcc.dg/Wnonnull.c: Add attributed function declarations for
memcpy and strlen for Darwin.

From-SVN: r277202

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/Wnonnull.c

index 1a87247..6fc0c82 100644 (file)
@@ -1,3 +1,8 @@
+2019-10-19  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.dg/Wnonnull.c: Add attributed function declarations for
+       memcpy and strlen for Darwin.
+
 2019-10-18  Martin Sebor  <msebor@redhat.com>
 
        PR tree-optimization/92157
index be89a5a..a165baa 100644 (file)
@@ -2,7 +2,16 @@
    { dg-do compile }
    { dg-options "-O2 -Wall" } */
 
+#ifndef __APPLE__
 #include <string.h>
+#else
+/* OSX headers do not mark up the nonnull elements yet.  */
+# include <stddef.h>
+extern size_t strlen (const char *__s)
+                     __attribute ((pure)) __attribute ((nonnull (1)));
+extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
+                    size_t __n) __attribute ((nonnull (1, 2)));
+#endif
 
 char buf[100];