From 35fa894ae37dc5efdaf05db965e65a0621f5beee Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 10 Jun 2014 11:45:00 +0200 Subject: [PATCH] [PR lto/61334] Declare prototype for strnlen, if needed. include/ * libiberty.h [defined (HAVE_DECL_STRNLEN) && !HAVE_DECL_STRNLEN] (strnlen): New prototype. gcc/ * configure.ac: Use gcc_AC_CHECK_DECLS to check for strnlen prototype. * config.in: Regenerate. * configure: Likewise. From-SVN: r211401 --- gcc/ChangeLog | 8 ++++++++ gcc/config.in | 7 +++++++ gcc/configure | 2 +- gcc/configure.ac | 2 +- include/ChangeLog | 6 ++++++ include/libiberty.h | 4 ++++ 6 files changed, 27 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4841582fb5e..5d55985ce14 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2014-06-10 Thomas Schwinge + + PR lto/61334 + * configure.ac: Use gcc_AC_CHECK_DECLS to check for strnlen + prototype. + * config.in: Regenerate. + * configure: Likewise. + 2014-06-10 Jan Hubicka * ipa-reference.c (is_proper_for_analysis): Exclude addressable and public diff --git a/gcc/config.in b/gcc/config.in index fb7bf954db2..0897bd40458 100644 --- a/gcc/config.in +++ b/gcc/config.in @@ -888,6 +888,13 @@ #endif +/* Define to 1 if we found a declaration for 'strnlen', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#undef HAVE_DECL_STRNLEN +#endif + + /* Define to 1 if we found a declaration for 'strsignal', otherwise define to 0. */ #ifndef USED_FOR_TARGET diff --git a/gcc/configure b/gcc/configure index 6c35041b6a7..9ece2437656 100755 --- a/gcc/configure +++ b/gcc/configure @@ -10525,7 +10525,7 @@ CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/../include $GMPINC" saved_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -I${srcdir} -I${srcdir}/../include $GMPINC" for ac_func in 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 clearerr_unlocked feof_unlocked ferror_unlocked fflush_unlocked fgetc_unlocked fgets_unlocked fileno_unlocked fprintf_unlocked fputc_unlocked fputs_unlocked fread_unlocked fwrite_unlocked getchar_unlocked getc_unlocked putchar_unlocked putc_unlocked do diff --git a/gcc/configure.ac b/gcc/configure.ac index 2cec62a7eae..a1cf9010474 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -1170,7 +1170,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 a/include/ChangeLog b/include/ChangeLog index ff33d291e74..1cda0dc02b1 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,9 @@ +2014-06-10 Thomas Schwinge + + PR lto/61334 + * libiberty.h [defined (HAVE_DECL_STRNLEN) && + !HAVE_DECL_STRNLEN] (strnlen): New prototype. + 2014-05-21 John Marino * liberty.h: Use basename function on DragonFly. diff --git a/include/libiberty.h b/include/libiberty.h index 7fd07036b75..56b8b43cb88 100644 --- a/include/libiberty.h +++ b/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 *); -- 2.30.2