This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Warning patch installed for libiberty
- To: gcc-patches at gcc dot gnu dot org
- Subject: Warning patch installed for libiberty
- From: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Date: Fri, 21 Jul 2000 16:15:25 -0400 (EDT)
I insalled the following warning fixes into libiberty.
Bootstrapped on x86-linux and solaris2.7.
2000-07-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* 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.
diff -rup orig/egcs-CVS20000720/libiberty/cp-demangle.c egcs-CVS20000720/libiberty/cp-demangle.c
--- orig/egcs-CVS20000720/libiberty/cp-demangle.c Fri Jun 30 16:21:26 2000
+++ egcs-CVS20000720/libiberty/cp-demangle.c Thu Jul 20 18:03:54 2000
@@ -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;
@@ -3059,9 +3062,6 @@ cp_demangle_type (type_name, result)
return status;
}
-
-
-#ifdef IN_LIBGCC2
extern char *__cxa_demangle PARAMS ((const char *, char *, size_t *, int *));
diff -rup orig/egcs-CVS20000720/libiberty/setenv.c egcs-CVS20000720/libiberty/setenv.c
--- orig/egcs-CVS20000720/libiberty/setenv.c Wed Jun 7 17:05:42 2000
+++ egcs-CVS20000720/libiberty/setenv.c Thu Jul 20 18:03:54 2000
@@ -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 -rup orig/egcs-CVS20000720/libiberty/sigsetmask.c egcs-CVS20000720/libiberty/sigsetmask.c
--- orig/egcs-CVS20000720/libiberty/sigsetmask.c Fri May 15 19:14:34 1998
+++ egcs-CVS20000720/libiberty/sigsetmask.c Thu Jul 20 18:03:54 2000
@@ -12,6 +12,8 @@
#include <sys/types.h>
#include <signal.h>
+extern void abort PARAMS ((void)) ATTRIBUTE_NORETURN;
+
#ifdef SIG_SETMASK
int
DEFUN(sigsetmask,(set),
diff -rup orig/egcs-CVS20000720/libiberty/vasprintf.c egcs-CVS20000720/libiberty/vasprintf.c
--- orig/egcs-CVS20000720/libiberty/vasprintf.c Tue Dec 28 07:46:57 1999
+++ egcs-CVS20000720/libiberty/vasprintf.c Thu Jul 20 18:03:54 2000
@@ -18,21 +18,31 @@ License along with libiberty; see the fi
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 <ansidecl.h>
+#ifdef ANSI_PROTOTYPES
#include <stdarg.h>
#else
#include <varargs.h>
#endif
#include <stdio.h>
#include <string.h>
-#include <ansidecl.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#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;
+#ifndef ANSI_PROTOTYPES
+ const char *format;
+#endif
-#ifdef __STDC__
- va_start (args, format);
-#else
- char *format;
- va_start (args);
- format = va_arg (args, char *);
+ 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 -rup orig/egcs-CVS20000720/libiberty/vfork.c egcs-CVS20000720/libiberty/vfork.c
--- orig/egcs-CVS20000720/libiberty/vfork.c Fri May 15 19:14:51 1998
+++ egcs-CVS20000720/libiberty/vfork.c Fri Jul 21 10:30:59 2000
@@ -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 -rup orig/egcs-CVS20000720/libiberty/xexit.c egcs-CVS20000720/libiberty/xexit.c
--- orig/egcs-CVS20000720/libiberty/xexit.c Tue May 30 10:20:16 2000
+++ egcs-CVS20000720/libiberty/xexit.c Thu Jul 20 18:03:54 2000
@@ -17,13 +17,15 @@ License along with libiberty; see the fi
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 <stdio.h>
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
+#include "libiberty.h"
+
/* This variable is set by xatexit if it is called. This way, xmalloc
doesn't drag xatexit into the link. */