On Okt 19 2019, Iain Sandoe <i...@sandoe.co.uk> wrote: > This test has failed always on Darwin, because Darwin does not mark > entries in string.h with nonnull attributes. 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 locally marked up > function declarations for Darwin.
If the test depends on the non-std declarations, then it should use them everywhere. > diff --git a/gcc/testsuite/gcc.dg/Wnonnull.c b/gcc/testsuite/gcc.dg/Wnonnull.c > index be89a5a755..a165baa99f 100644 > --- a/gcc/testsuite/gcc.dg/Wnonnull.c > +++ b/gcc/testsuite/gcc.dg/Wnonnull.c > @@ -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 Perhaps use __SIZE_TYPE__ instead of #include <stddef.h>? Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."