diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index e2d3813af9a..c8a5f91f4c6 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,22 @@ +2000-07-21 Kaveh R. Ghazi + + * cp-demangle.c (cp_demangle_type): Wrap in IN_LIBGCC2. + + * setenv.c (setenv): Initialize variable `ep'. + + * sigsetmask.c (abort): Prototype. + + * vasprintf.c: Include config.h. Check ANSI_PROTOTYPES, not + __STDC__ for stdarg.h include. + (int_vasprintf): Prototype. + (checkit): Prototype. Use VPARAMS/ANSI_PROTOTYPES/VA_START in + definition. Cast `global_total_width' in comparison. + (main): Prototype. Return a value. + + * vfork.c (fork): Prototype. + + * xexit.c: Include config.h. + 2000-07-20 Joseph S. Myers * cplus-dem.c (demangle_fund_type): Make 'dec' an unsigned int, diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index de70b8963bd..13a746cb95f 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -852,8 +852,10 @@ static status_t demangle_discriminator PARAMS ((demangling_t, int)); static status_t cp_demangle PARAMS ((const char *, dyn_string_t)); +#ifdef IN_LIBGCC2 static status_t cp_demangle_type PARAMS ((const char*, dyn_string_t)); +#endif /* When passed to demangle_bare_function_type, indicates that the function's return type is not encoded before its parameter types. */ @@ -3023,6 +3025,7 @@ cp_demangle (name, result) dyn_string_t. On success, returns STATUS_OK. On failiure, returns an error message, and the contents of RESULT are unchanged. */ +#ifdef IN_LIBGCC2 static status_t cp_demangle_type (type_name, result) const char* type_name; @@ -3060,9 +3063,6 @@ cp_demangle_type (type_name, result) return status; } - -#ifdef IN_LIBGCC2 - extern char *__cxa_demangle PARAMS ((const char *, char *, size_t *, int *)); /* ABI-mandated entry point in the C++ runtime library for performing diff --git a/libiberty/setenv.c b/libiberty/setenv.c index a90c83ad78e..f025716e7f5 100644 --- a/libiberty/setenv.c +++ b/libiberty/setenv.c @@ -63,7 +63,7 @@ setenv (name, value, replace) const char *value; int replace; { - register char **ep; + register char **ep = 0; register size_t size; const size_t namelen = strlen (name); const size_t vallen = strlen (value) + 1; diff --git a/libiberty/sigsetmask.c b/libiberty/sigsetmask.c index 2a09e6a6c5a..db6408df75a 100644 --- a/libiberty/sigsetmask.c +++ b/libiberty/sigsetmask.c @@ -12,6 +12,8 @@ #include #include +extern void abort PARAMS ((void)) ATTRIBUTE_NORETURN; + #ifdef SIG_SETMASK int DEFUN(sigsetmask,(set), diff --git a/libiberty/vasprintf.c b/libiberty/vasprintf.c index b959f5f9ca5..c34585d0498 100644 --- a/libiberty/vasprintf.c +++ b/libiberty/vasprintf.c @@ -18,21 +18,31 @@ License along with libiberty; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ifdef __STDC__ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#ifdef ANSI_PROTOTYPES #include #else #include #endif #include #include -#include +#ifdef HAVE_STDLIB_H +#include +#else +extern unsigned long strtoul (); +extern PTR malloc (); +#endif +#include "libiberty.h" #ifdef TEST int global_total_width; #endif -unsigned long strtoul (); -char *malloc (); + +static int int_vasprintf PARAMS ((char **, const char *, va_list *)); static int int_vasprintf (result, format, args) @@ -60,7 +70,7 @@ int_vasprintf (result, format, args) total_width += abs (va_arg (ap, int)); } else - total_width += strtoul (p, &p, 10); + total_width += strtoul (p, (char **) &p, 10); if (*p == '.') { ++p; @@ -70,7 +80,7 @@ int_vasprintf (result, format, args) total_width += abs (va_arg (ap, int)); } else - total_width += strtoul (p, &p, 10); + total_width += strtoul (p, (char **) &p, 10); } while (strchr ("hlL", *p)) ++p; @@ -132,33 +142,33 @@ vasprintf (result, format, args) } #ifdef TEST -void -checkit -#ifdef __STDC__ - (const char* format, ...) -#else - (va_alist) - va_dcl -#endif +static void checkit PARAMS ((const char *, ...)); + +static void +checkit VPARAMS ((const char* format, ...)) { va_list args; char *result; - -#ifdef __STDC__ - va_start (args, format); -#else - char *format; - va_start (args); - format = va_arg (args, char *); +#ifndef ANSI_PROTOTYPES + const char *format; #endif + + VA_START (args, format); + +#ifndef ANSI_PROTOTYPES + format = va_arg (args, const char *); +#endif + vasprintf (&result, format, args); - if (strlen (result) < global_total_width) + if (strlen (result) < (size_t) global_total_width) printf ("PASS: "); else printf ("FAIL: "); printf ("%d %s\n", global_total_width, result); } +extern int main PARAMS ((void)); + int main () { @@ -169,5 +179,7 @@ main () checkit ("%s", "jjjjjjjjjiiiiiiiiiiiiiiioooooooooooooooooppppppppppppaa\n\ 777777777777777777333333333333366666666666622222222222777777777777733333"); checkit ("%f%s%d%s", 1.0, "foo", 77, "asdjffffffffffffffiiiiiiiiiiixxxxx"); + + return 0; } #endif /* TEST */ diff --git a/libiberty/vfork.c b/libiberty/vfork.c index 86c45919f66..5e877210081 100644 --- a/libiberty/vfork.c +++ b/libiberty/vfork.c @@ -1,6 +1,10 @@ /* Emulate vfork using just plain fork, for systems without a real vfork. This function is in the public domain. */ +#include "ansidecl.h" + +extern int fork PARAMS ((void)); + int vfork () { diff --git a/libiberty/xexit.c b/libiberty/xexit.c index 7aa52ac7599..e8b1ed1c007 100644 --- a/libiberty/xexit.c +++ b/libiberty/xexit.c @@ -17,13 +17,15 @@ License along with libiberty; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include "ansidecl.h" -#include "libiberty.h" - +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif #include #ifdef HAVE_STDLIB_H #include #endif +#include "libiberty.h" + /* This variable is set by xatexit if it is called. This way, xmalloc doesn't drag xatexit into the link. */