On Mon, Jun 9, 2014 at 11:47 PM, Thomas Schwinge <tho...@codesourcery.com> wrote: > 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 <https://gcc.gnu.org/PR61334>), 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.)
Really I think this is an obvious patch and would be the exact same patch I would have came up with. Thanks, Andrew Pinski > > > Ping. > > >> On Wed, 28 May 2014 23:55:31 +0200, Jan Hubicka <hubi...@ucw.cz> wrote: >> > > On Mon, 26 May 2014 02:16:35 -0700, Andrew Pinski <pins...@gmail.com> >> > > wrote: >> > > > On Mon, May 26, 2014 at 1:59 AM, Dominique Dhumieres >> > > > <domi...@lps.ens.fr> 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 >> <https://gcc.gnu.org/PR61334>. >> >> > > --- 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