From aa55ccb12061123ca56c2b61402899b73276d2df Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Sat, 2 Apr 2005 20:20:01 +0000 Subject: [PATCH] merge from gcc --- libiberty/ChangeLog | 9 +++++++++ libiberty/bsearch.c | 2 +- libiberty/config.in | 6 ++++++ libiberty/configure | 4 +++- libiberty/configure.ac | 2 +- libiberty/index.c | 2 +- libiberty/rindex.c | 4 ++-- libiberty/strstr.c | 21 ++++++++++----------- libiberty/strtol.c | 2 +- libiberty/waitpid.c | 3 ++- 10 files changed, 36 insertions(+), 19 deletions(-) diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 1e20162a4a2..30996687612 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,12 @@ +2005-04-02 Kaveh R. Ghazi + + * configure.ac (ac_libiberty_warn_cflags): Add -Wwrite-strings + -Wstrict-prototypes. + * configure, config.in: Regenerate. + + * bsearch.c, index.c, rindex.c, strstr.c, strtol.c, waitpid.c: Fix + warnings and reconcile interfaces with relevant standards. + 2005-04-02 Ian Lance Taylor * cp-demangle.c: Update copyright. diff --git a/libiberty/bsearch.c b/libiberty/bsearch.c index bb5555eff3c..771d5de7b12 100644 --- a/libiberty/bsearch.c +++ b/libiberty/bsearch.c @@ -79,7 +79,7 @@ bsearch (register const void *key, const void *base0, p = base + (lim >> 1) * size; cmp = (*compar)(key, p); if (cmp == 0) - return (p); + return (void *)p; if (cmp > 0) { /* key > p: move right */ base = (const char *)p + size; lim--; diff --git a/libiberty/config.in b/libiberty/config.in index 6eb169e2eec..ad71e76c09a 100644 --- a/libiberty/config.in +++ b/libiberty/config.in @@ -301,6 +301,12 @@ /* Define to 1 if you have the `vsprintf' function. */ #undef HAVE_VSPRINTF +/* Define to 1 if you have the `wait3' function. */ +#undef HAVE_WAIT3 + +/* Define to 1 if you have the `wait4' function. */ +#undef HAVE_WAIT4 + /* Define to 1 if you have the `waitpid' function. */ #undef HAVE_WAITPID diff --git a/libiberty/configure b/libiberty/configure index f76d3c5732f..3aa3963ea19 100755 --- a/libiberty/configure +++ b/libiberty/configure @@ -2930,7 +2930,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_c_preproc_warn_flag=yes if test x$GCC = xyes; then - ac_libiberty_warn_cflags='-W -Wall -pedantic' + ac_libiberty_warn_cflags='-W -Wall -pedantic -Wwrite-strings -Wstrict-prototypes' fi @@ -4885,6 +4885,8 @@ if test "x" = "y"; then + + diff --git a/libiberty/configure.ac b/libiberty/configure.ac index 6c4347da36c..9f474913906 100644 --- a/libiberty/configure.ac +++ b/libiberty/configure.ac @@ -114,7 +114,7 @@ AC_PROG_CC AC_PROG_CPP_WERROR if test x$GCC = xyes; then - ac_libiberty_warn_cflags='-W -Wall -pedantic' + ac_libiberty_warn_cflags='-W -Wall -pedantic -Wwrite-strings -Wstrict-prototypes' fi AC_SUBST(ac_libiberty_warn_cflags) diff --git a/libiberty/index.c b/libiberty/index.c index c37edca024e..acd0a45fc02 100644 --- a/libiberty/index.c +++ b/libiberty/index.c @@ -15,7 +15,7 @@ deprecated in new programs in favor of @code{strchr}. extern char * strchr(const char *, int); char * -index (char *s, int c) +index (const char *s, int c) { return strchr (s, c); } diff --git a/libiberty/rindex.c b/libiberty/rindex.c index 741fd8ecb7c..194ef9fad78 100644 --- a/libiberty/rindex.c +++ b/libiberty/rindex.c @@ -12,10 +12,10 @@ deprecated in new programs in favor of @code{strrchr}. */ -extern char *strrchr (); +extern char *strrchr (const char *, int); char * -rindex (char *s, int c) +rindex (const char *s, int c) { return strrchr (s, c); } diff --git a/libiberty/strstr.c b/libiberty/strstr.c index ff8abd20f78..60902ea40ee 100644 --- a/libiberty/strstr.c +++ b/libiberty/strstr.c @@ -20,23 +20,22 @@ length, the function returns @var{string}. /* FIXME: The above description is ANSI compiliant. This routine has not been validated to comply with it. -fnf */ +#include + +extern char *strchr (const char *, int); +extern int strncmp (const void *, const void *, size_t); +extern size_t strlen (const char *); + char * -strstr (char *s1, char *s2) +strstr (const char *s1, const char *s2) { - register char *p = s1; - extern char *strchr (); - extern int strncmp (); -#if __GNUC__ >= 2 - extern __SIZE_TYPE__ strlen (const char *); -#endif - register int len = strlen (s2); + const char *p = s1; + const size_t len = strlen (s2); for (; (p = strchr (p, *s2)) != 0; p++) { if (strncmp (p, s2, len) == 0) - { - return (p); - } + return (char *)p; } return (0); } diff --git a/libiberty/strtol.c b/libiberty/strtol.c index 5f2a1cebb20..acc7882192b 100644 --- a/libiberty/strtol.c +++ b/libiberty/strtol.c @@ -144,7 +144,7 @@ strtol(const char *nptr, char **endptr, register int base) break; if (c >= base) break; - if (any < 0 || acc > cutoff || acc == cutoff && c > cutlim) + if (any < 0 || acc > cutoff || (acc == cutoff && c > cutlim)) any = -1; else { any = 1; diff --git a/libiberty/waitpid.c b/libiberty/waitpid.c index 33f2f8e38cc..fd519d7696e 100644 --- a/libiberty/waitpid.c +++ b/libiberty/waitpid.c @@ -13,6 +13,7 @@ does the return value. The third argument is unused in @libib{}. #ifdef HAVE_CONFIG_H #include "config.h" #endif +#include "ansidecl.h" /* On some systems (such as WindISS), you must include to get the definition of "pid_t" before you include . */ @@ -23,7 +24,7 @@ does the return value. The third argument is unused in @libib{}. #endif pid_t -waitpid (pid_t pid, int *stat_loc, int options) +waitpid (pid_t pid, int *stat_loc, int options ATTRIBUTE_UNUSED) { for (;;) { -- 2.30.2