[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 1a87247323e94a572197902cbeeed7685e20290a..6fc0c826d4cf579ecd28e62ad08487bb85a09a94 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 be89a5a755cf524628f87120089cc5134a759edf..a165baa99f556b629abb20f2949d57b345bbcd2c 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];