diff options
-rw-r--r-- | libiberty/ChangeLog | 9 | ||||
-rw-r--r-- | libiberty/bsearch.c | 2 | ||||
-rw-r--r-- | libiberty/config.in | 6 | ||||
-rwxr-xr-x | libiberty/configure | 4 | ||||
-rw-r--r-- | libiberty/configure.ac | 2 | ||||
-rw-r--r-- | libiberty/index.c | 2 | ||||
-rw-r--r-- | libiberty/rindex.c | 4 | ||||
-rw-r--r-- | libiberty/strstr.c | 21 | ||||
-rw-r--r-- | libiberty/strtol.c | 2 | ||||
-rw-r--r-- | libiberty/waitpid.c | 3 |
10 files changed, 36 insertions, 19 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 1e20162..3099668 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,12 @@ +2005-04-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * 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 <ian@airs.com> * cp-demangle.c: Update copyright. diff --git a/libiberty/bsearch.c b/libiberty/bsearch.c index bb5555e..771d5de 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 6eb169e..ad71e76 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 f76d3c5..3aa3963 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 @@ -4888,6 +4888,8 @@ if test "x" = "y"; then + + for ac_func in asprintf atexit basename bcmp bcopy bsearch bzero calloc clock \ getcwd getpagesize gettimeofday index insque mkstemps memchr memcmp memcpy \ memmove mempcpy memset putenv random rename rindex sigsetmask \ diff --git a/libiberty/configure.ac b/libiberty/configure.ac index 6c4347d..9f47491 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 c37edca..acd0a45 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 741fd8e..194ef9f 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 ff8abd2..60902ea 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 <stddef.h> + +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 5f2a1ce..acc7882 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 33f2f8e..fd519d7 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 <sys/types.h> to get the definition of "pid_t" before you include <sys/wait.h>. */ @@ -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 (;;) { |