Commit 24b54eb2 by Iain Sandoe Committed by Iain Sandoe

[testsuite] Make the Wnonnull independent of system headers.

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
parent 8c726579
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> 2019-10-21 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/parse/qualified2.C: Tighten dg-error directive. * g++.dg/parse/qualified2.C: Tighten dg-error directive.
......
...@@ -2,16 +2,10 @@ ...@@ -2,16 +2,10 @@
{ dg-do compile } { dg-do compile }
{ dg-options "-O2 -Wall" } */ { dg-options "-O2 -Wall" } */
#ifndef __APPLE__ extern __SIZE_TYPE__ strlen (const char *__s)
#include <string.h> __attribute ((pure)) __attribute ((nonnull (1)));
#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, extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
size_t __n) __attribute ((nonnull (1, 2))); __SIZE_TYPE__ __n) __attribute ((nonnull (1, 2)));
#endif
char buf[100]; char buf[100];
...@@ -23,9 +17,9 @@ struct Test ...@@ -23,9 +17,9 @@ struct Test
__attribute ((nonnull (1, 2))) __attribute ((nonnull (1, 2)))
inline char* 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) if (len < size)
memcpy (dst, src, len + 1); /* { dg-warning "argument 2 null where non-null expected" } */ memcpy (dst, src, len + 1); /* { dg-warning "argument 2 null where non-null expected" } */
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment