From: Iain Sandoe Date: Wed, 30 Oct 2019 20:54:16 +0000 (+0000) Subject: [testsuite] Make the Wnonnull test independent of system headers. X-Git-Tag: releases/gcc-9.3.0~442 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=155de58689f0011c68f492115ca45ef6be8207a8;p=thirdparty%2Fgcc.git [testsuite] Make the Wnonnull test independent of system headers. This backports two patches that fix failure of Wnonnull test on some targets. 277280 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. This generalises the fix from 277202. 277202 was the initial fix for Wnonnull on Darwin. gcc/testsuite/ 2019-10-30 Iain Sandoe Backport from mainline. 2019-10-22 Iain Sandoe * gcc.dg/Wnonnull.c: Provide prototypes for strlen and memcpy. Use __SIZE_TYPE__ instead of size_t. Backport from mainline. 2019-10-19 Iain Sandoe * gcc.dg/Wnonnull.c: Add attributed function declarations for memcpy and strlen for Darwin. From-SVN: r277647 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f04dae4ebd1f..b21af8bcab55 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,17 @@ +2019-10-30 Iain Sandoe + + Backport from mainline. + 2019-10-22 Iain Sandoe + + * gcc.dg/Wnonnull.c: Provide prototypes for strlen and memcpy. + Use __SIZE_TYPE__ instead of size_t. + + Backport from mainline. + 2019-10-19 Iain Sandoe + + * gcc.dg/Wnonnull.c: Add attributed function declarations for + memcpy and strlen for Darwin. + 2019-10-30 Iain Sandoe Backport from mainline. diff --git a/gcc/testsuite/gcc.dg/Wnonnull.c b/gcc/testsuite/gcc.dg/Wnonnull.c index be89a5a755cf..0ed06aabe68c 100644 --- a/gcc/testsuite/gcc.dg/Wnonnull.c +++ b/gcc/testsuite/gcc.dg/Wnonnull.c @@ -2,7 +2,10 @@ { dg-do compile } { dg-options "-O2 -Wall" } */ -#include +extern __SIZE_TYPE__ strlen (const char *__s) + __attribute ((pure)) __attribute ((nonnull (1))); +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + __SIZE_TYPE__ __n) __attribute ((nonnull (1, 2))); char buf[100]; @@ -14,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