Hi! Ping -- OK to commit to trunk? 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