aboutsummaryrefslogtreecommitdiff
path: root/libiberty/cp-demangle.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2015-09-30 17:55:16 +0100
committerNick Clifton <nickc@redhat.com>2015-09-30 17:55:16 +0100
commit6899683948c66a81ae470efc0869ea01e489e9cd (patch)
tree6beabcf2bf206b0b598aaf226e8a51b57474d832 /libiberty/cp-demangle.c
parent4b627c18440f51077f8fd4c18adaa3919c3a373e (diff)
downloadgdb-6899683948c66a81ae470efc0869ea01e489e9cd.zip
gdb-6899683948c66a81ae470efc0869ea01e489e9cd.tar.gz
gdb-6899683948c66a81ae470efc0869ea01e489e9cd.tar.bz2
Resync files in the binutils repository that are maintained in the gcc repository.
. 2015-08-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR libfortran/54572 * Makefile.def: Make libgfortran depend on libbacktrace. * Makefile.in: Regenerate. 2015-08-12 Tom de Vries <tom@codesourcery.com> PR other/67092 PR other/67098 * configure.ac: Remove --with_host_libstdcxx support. * configure: Regenerate. 2015-08-10 Thomas Schwinge <thomas@codesourcery.com> Jakub Jelinek <jakub@redhat.com> * configure.ac (noconfigdirs): Don't add "target-libgomp" for target nvptx*-*-*. * configure: Regenerate. include 2015-08-14 Pierre-Marie de Rodat <derodat@adacore.com> * dwarf2.def (DW_AT_GNU_bias): New attribute. 2015-08-14 Pierre-Marie de Rodat <derodat@adacore.com> * dwarf2.def (DW_AT_GNU_numerator, DW_AT_GNU_denominator): New attributes. libiberty 2015-08-15 Ian Lance Taylor <iant@google.com> * cp-demangle.c (d_abi_tags): Preserve di->last_name across any ABI tags.
Diffstat (limited to 'libiberty/cp-demangle.c')
-rw-r--r--libiberty/cp-demangle.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index 2988b6b..fb1c4e5 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -1302,7 +1302,12 @@ d_encoding (struct d_info *di, int top_level)
static struct demangle_component *
d_abi_tags (struct d_info *di, struct demangle_component *dc)
{
+ struct demangle_component *hold_last_name;
char peek;
+
+ /* Preserve the last name, so the ABI tag doesn't clobber it. */
+ hold_last_name = di->last_name;
+
while (peek = d_peek_char (di),
peek == 'B')
{
@@ -1311,6 +1316,9 @@ d_abi_tags (struct d_info *di, struct demangle_component *dc)
tag = d_source_name (di);
dc = d_make_comp (di, DEMANGLE_COMPONENT_TAGGED_NAME, dc, tag);
}
+
+ di->last_name = hold_last_name;
+
return dc;
}