From 0d3deb8deb7435455da27f6aca9ef5704e6f2a25 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Sun, 6 Oct 2002 20:21:01 +0000 Subject: [PATCH] merge from gcc --- libiberty/ChangeLog | 6 ++++++ libiberty/cplus-dem.c | 18 ++++++++---------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index bde129cda8..10e7740420 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,9 @@ +2002-10-06 Andreas Jaeger + + * 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 * Makefile.in (all): Fix multilib parallel build. diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c index 4c4778375b..f42d6181d4 100644 --- a/libiberty/cplus-dem.c +++ b/libiberty/cplus-dem.c @@ -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