Hi! On Tue, 3 Jun 2014 11:55:44 +0200, I wrote: > Ping -- OK to commit to trunk? Even though several of those who I'd consider regular GCC developers do agree with this patch (see also ), that is not enough "consensus" to consider this patch approved, right? Wouldn't it be a good idea for GCC to move to a more "liberal" policy in this regard? (That seems to work nicely for glibc.) Ping. > On Wed, 28 May 2014 23:55:31 +0200, Jan Hubicka wrote: > > > On Mon, 26 May 2014 02:16:35 -0700, Andrew Pinski wrote: > > > > On Mon, May 26, 2014 at 1:59 AM, Dominique Dhumieres wrote: > > > > > r210901 breaks bootstrap on targets not supporting strnlen, e.g., darwin10. > > > > > > > > > > ../../_clean/gcc/lto-cgraph.c:976:68: error: 'strnlen' was not declared in this scope > > > > > > I'm seeing the same on MinGW, which also doesn't have strnlen (which is a > > > GNU extension). > > > > > > > strnlen should be declared in include/libiberty.h if there is no > > > > declaration as libiberty support is already there. That should be a > > > > simple fix. > > > > > > Like this? > > > > This looks good to me (thoguh strnlen is posix). I can not approve the patch > > but I would preffer it over just hand implementing strnlen there (that is easy, > > too) > > Patch is also considered good by testers in > . > > > > --- gcc/config.in > > > +++ gcc/config.in > > > [Regenerate.] > > > --- gcc/configure > > > +++ gcc/configure > > > [Regenerate.] > > > --- gcc/configure.ac > > > +++ gcc/configure.ac > > > @@ -1136,7 +1136,7 @@ CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/../include $GMPINC" > > > saved_CXXFLAGS="$CXXFLAGS" > > > CXXFLAGS="$CXXFLAGS -I${srcdir} -I${srcdir}/../include $GMPINC" > > > gcc_AC_CHECK_DECLS(getenv atol asprintf sbrk abort atof getcwd getwd \ > > > - strsignal strstr stpcpy strverscmp \ > > > + stpcpy strnlen strsignal strstr strverscmp \ > > > errno snprintf vsnprintf vasprintf malloc realloc calloc \ > > > free basename getopt clock getpagesize ffs gcc_UNLOCKED_FUNCS, , ,[ > > > #include "ansidecl.h" > > > diff --git include/libiberty.h include/libiberty.h > > > index 7fd0703..56b8b43 100644 > > > --- include/libiberty.h > > > +++ include/libiberty.h > > > @@ -636,6 +636,10 @@ extern int snprintf (char *, size_t, const char *, ...) ATTRIBUTE_PRINTF_3; > > > extern int vsnprintf (char *, size_t, const char *, va_list) ATTRIBUTE_PRINTF(3,0); > > > #endif > > > > > > +#if defined (HAVE_DECL_STRNLEN) && !HAVE_DECL_STRNLEN > > > +extern size_t strnlen (const char *, size_t); > > > +#endif > > > + > > > #if defined(HAVE_DECL_STRVERSCMP) && !HAVE_DECL_STRVERSCMP > > > /* Compare version strings. */ > > > extern int strverscmp (const char *, const char *); > > > Grüße, > Thomas