summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libiberty/ChangeLog9
-rw-r--r--libiberty/bsearch.c2
-rw-r--r--libiberty/config.in6
-rwxr-xr-xlibiberty/configure4
-rw-r--r--libiberty/configure.ac2
-rw-r--r--libiberty/index.c2
-rw-r--r--libiberty/rindex.c4
-rw-r--r--libiberty/strstr.c21
-rw-r--r--libiberty/strtol.c2
-rw-r--r--libiberty/waitpid.c3
10 files changed, 36 insertions, 19 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 1e20162a4a..3099668761 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 bb5555eff3..771d5de7b1 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 6eb169e2ee..ad71e76c09 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 f76d3c5732..3aa3963ea1 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 6c4347da36..9f47491390 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 c37edca024..acd0a45fc0 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 741fd8ecb7..194ef9fad7 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 ff8abd20f7..60902ea40e 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 5f2a1cebb2..acc7882192 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 33f2f8e38c..fd519d7696 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 (;;)
{