[testsuite] Make the Wnonnull independent of system headers.
authorIain Sandoe <iain@sandoe.co.uk>
Tue, 22 Oct 2019 03:40:26 +0000 (03:40 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Tue, 22 Oct 2019 03:40:26 +0000 (03:40 +0000)
To avoid the result of this test depending on the implementation of
the system 'string.h', provide prototypes for the two functions used
in the test.

gcc/testsuite/ChangeLog:

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

* gcc.dg/Wnonnull.c: Provide prototypes for strlen and memcpy.
Use __SIZE_TYPE__ instead of size_t.

From-SVN: r277280

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

index 5aec5cd817a235b3f66ba7633b332e11ce8a2ec3..d63c7b5237838a88ff68b23cc975c7c2169d40f8 100644 (file)
@@ -1,3 +1,8 @@
+2019-10-22  Iain Sandoe  <iain@sandoe.co.uk>
+
+       * gcc.dg/Wnonnull.c: Provide prototypes for strlen and memcpy.
+       Use __SIZE_TYPE__ instead of size_t.
+
 2019-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
 
        * g++.dg/parse/qualified2.C: Tighten dg-error directive.
index a165baa99f556b629abb20f2949d57b345bbcd2c..0ed06aabe68cf7fa1e90e4526b862dfe8eb6ad51 100644 (file)
@@ -2,16 +2,10 @@
    { 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 __SIZE_TYPE__ 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
+                    __SIZE_TYPE__ __n) __attribute ((nonnull (1, 2)));
 
 char buf[100];
 
@@ -23,9 +17,9 @@ struct Test
 
 __attribute ((nonnull (1, 2)))
 inline char*
-my_strcpy (char *restrict dst, const char *restrict src, size_t size)
+my_strcpy (char *restrict dst, const char *restrict src, __SIZE_TYPE__ size)
 {
-  size_t len = strlen (src);        /* { dg-warning "argument 1 null where non-null expected" } */
+  __SIZE_TYPE__ len = strlen (src); /* { dg-warning "argument 1 null where non-null expected" } */
   if (len < size)
     memcpy (dst, src, len + 1);     /* { dg-warning "argument 2 null where non-null expected" } */
   else