merge from gcc

This commit is contained in:
DJ Delorie 2005-04-02 20:20:01 +00:00
parent 09d4efe17b
commit aa55ccb120
10 changed files with 36 additions and 19 deletions

View File

@ -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.

View File

@ -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--;

View File

@ -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

4
libiberty/configure vendored
View File

@ -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

View File

@ -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)

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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;

View File

@ -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 (;;)
{