Fix -Werror -Wuninitialized warnings.
authorAndrew Cagney <cagney@redhat.com>
Fri, 23 Mar 2001 22:48:44 +0000 (22:48 +0000)
committerAndrew Cagney <cagney@redhat.com>
Fri, 23 Mar 2001 22:48:44 +0000 (22:48 +0000)
gdb/ChangeLog
gdb/fork-child.c
gdb/jv-lang.c
gdb/jv-valprint.c

index e9bbddb..6cdbaa5 100644 (file)
@@ -1,3 +1,13 @@
+2001-03-23  Andrew Cagney  <ac131313@redhat.com>
+
+       * fork-child.c (fork_inferior): Make ``argv'', ``exec_file'' and
+       ``shell_file'' static locals.
+
+       * jv-lang.c (java_link_class_type): Initialize ``field'' and
+       ``method''.
+       
+       * jv-valprint.c (java_value_print): Initialize ``next_element''.
+
 2001-03-23  Mark Kettenis  <kettenis@gnu.org>
 
        * config/i386/nm-i386.h: Fix formatting and change reference to
index e646a62..a32ab8e 100644 (file)
@@ -95,10 +95,13 @@ breakup_args (char *scratch, char **argv)
    ENV is the environment vector to pass.  SHELL_FILE is the shell file,
    or NULL if we should pick one.  Errors reported with error().  */
 
+/* This function is NOT-REENTRANT.  Some of the variables have been
+   made static to ensure that they survive the vfork() call.  */
+
 void
-fork_inferior (char *exec_file, char *allargs, char **env,
+fork_inferior (char *exec_file_arg, char *allargs, char **env,
               void (*traceme_fun) (void), void (*init_trace_fun) (int),
-              void (*pre_trace_fun) (void), char *shell_file)
+              void (*pre_trace_fun) (void), char *shell_file_arg)
 {
   int pid;
   char *shell_command;
@@ -109,12 +112,15 @@ fork_inferior (char *exec_file, char *allargs, char **env,
   /* This is set to the result of setpgrp, which if vforked, will be visible
      to you in the parent process.  It's only used by humans for debugging.  */
   static int debug_setpgrp = 657473;
+  static char *shell_file;
+  static char *exec_file;
   char **save_our_env;
   int shell = 0;
-  char **argv;
+  static char **argv;
 
   /* If no exec file handed to us, get it from the exec-file command -- with
      a good, common error message if none is specified.  */
+  exec_file = exec_file_arg;
   if (exec_file == 0)
     exec_file = get_exec_file (1);
 
@@ -122,6 +128,7 @@ fork_inferior (char *exec_file, char *allargs, char **env,
    * If 0, we'll just do a fork/exec, no shell, so don't
    * bother figuring out what shell.
    */
+  shell_file = shell_file_arg;
   if (STARTUP_WITH_SHELL)
     {
       /* Figure out what shell to start up the user program under. */
index 0fb79b4..abd0470 100644 (file)
@@ -346,7 +346,9 @@ java_link_class_type (struct type *type, value_ptr clas)
   int type_is_object = 0;
   struct fn_field *fn_fields;
   struct fn_fieldlist *fn_fieldlists;
-  value_ptr fields, field, method, methods;
+  value_ptr fields, methods;
+  struct value *method = NULL;
+  struct value *field = NULL;
   int i, j;
   struct objfile *objfile = get_dynamics_objfile ();
   struct type *tsuper;
index 8ea67ce..9ba953e 100644 (file)
@@ -90,7 +90,8 @@ java_value_print (value_ptr val, struct ui_file *stream, int format,
 
       if (el_type == NULL)
        {
-         CORE_ADDR element, next_element;
+         CORE_ADDR element;
+         CORE_ADDR next_element = -1; /* dummy initial value */
 
          address += JAVA_OBJECT_SIZE + 4;      /* Skip object header and length. */