merge from gcc
authorDJ Delorie <dj@redhat.com>
Sun, 6 Oct 2002 20:21:01 +0000 (20:21 +0000)
committerDJ Delorie <dj@redhat.com>
Sun, 6 Oct 2002 20:21:01 +0000 (20:21 +0000)
libiberty/ChangeLog
libiberty/cplus-dem.c

index bde129cda841f85d5a76e1887dbb0d02dd072089..10e77404201e7239c2990e6999be124bddb2ae6f 100644 (file)
@@ -1,3 +1,9 @@
+2002-10-06  Andreas Jaeger  <aj@suse.de>
+
+       * libiberty/cplus-dem.c (ada_demangle): Get rid of unneeded
+       variable and of strict-aliasing warning.
+       (grow_vect): Use char as first parameter.
+
 2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * Makefile.in (all): Fix multilib parallel build.
index 4c4778375b0579b51b80971d43cc494ec743c94d..f42d6181d403b2e06a4d180d769a5a3003c9fc54 100644 (file)
@@ -514,7 +514,7 @@ recursively_demangle PARAMS ((struct work_stuff *, const char **, string *,
                              int));
 
 static void
-grow_vect PARAMS ((void **, size_t *, size_t, int));
+grow_vect PARAMS ((char **, size_t *, size_t, int));
 
 /* Translate count to integer, consuming tokens in the process.
    Conversion terminates on the first non-digit character.
@@ -936,7 +936,7 @@ cplus_demangle (mangled, options)
 
 static void
 grow_vect (old_vect, size, min_size, element_size)
-     void **old_vect;
+     char **old_vect;
      size_t *size;
      size_t min_size;
      int element_size;
@@ -969,8 +969,7 @@ ada_demangle (mangled, option)
   char *demangled = NULL;
   int at_start_name;
   int changed;
-  char *demangling_buffer = NULL;
-  size_t demangling_buffer_size = 0;
+  size_t demangled_size = 0;
   
   changed = 0;
 
@@ -998,10 +997,9 @@ ada_demangle (mangled, option)
     }
   
   /* Make demangled big enough for possible expansion by operator name.  */
-  grow_vect ((void **) &(demangling_buffer),
-            &demangling_buffer_size,  2 * len0 + 1,
+  grow_vect (&demangled,
+            &demangled_size,  2 * len0 + 1,
             sizeof (char));
-  demangled = demangling_buffer;
   
   if (ISDIGIT ((unsigned char) mangled[len0 - 1])) {
     for (i = len0 - 2; i >= 0 && ISDIGIT ((unsigned char) mangled[i]); i -= 1)
@@ -1051,10 +1049,10 @@ ada_demangle (mangled, option)
     return demangled;
   
  Suppress:
-  grow_vect ((void **) &(demangling_buffer),
-            &demangling_buffer_size,  strlen (mangled) + 3,
+  grow_vect (&demangled,
+            &demangled_size,  strlen (mangled) + 3,
             sizeof (char));
-  demangled = demangling_buffer;
+
   if (mangled[0] == '<')
      strcpy (demangled, mangled);
   else