aboutsummaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2011-11-04 14:32:13 +0000
committerDJ Delorie <dj@redhat.com>2011-11-04 14:32:13 +0000
commitabc6552b2679eddc1a6b2d0e50b1bcb05350d1e9 (patch)
tree3746eb630f93be3c04c6e19c72f8a3b9c2209f08 /libiberty
parent81de56bef2438b3e884d8fdeaf5eedb4ef0e51a9 (diff)
downloadgdb-abc6552b2679eddc1a6b2d0e50b1bcb05350d1e9.zip
gdb-abc6552b2679eddc1a6b2d0e50b1bcb05350d1e9.tar.gz
gdb-abc6552b2679eddc1a6b2d0e50b1bcb05350d1e9.tar.bz2
merge from gcc
Diffstat (limited to 'libiberty')
-rw-r--r--libiberty/ChangeLog6
-rw-r--r--libiberty/cp-demangle.c11
2 files changed, 14 insertions, 3 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 8ff403b..559f0c9 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,9 @@
+2011-11-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/48370
+ * cp-demangle.c (d_special_name, d_print_comp): Handle a
+ discriminator number on DEMANGLE_COMPONENT_REFTEMP.
+
2011-11-02 Doug Evans <dje@google.com>
* Makefile.in (CFILES): Add timeval-utils.c.
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index c7afef0..d0f57b7 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -1846,8 +1846,11 @@ d_special_name (struct d_info *di)
return d_make_comp (di, DEMANGLE_COMPONENT_GUARD, d_name (di), NULL);
case 'R':
- return d_make_comp (di, DEMANGLE_COMPONENT_REFTEMP, d_name (di),
- NULL);
+ {
+ struct demangle_component *name = d_name (di);
+ return d_make_comp (di, DEMANGLE_COMPONENT_REFTEMP, name,
+ d_number_component (di));
+ }
case 'A':
return d_make_comp (di, DEMANGLE_COMPONENT_HIDDEN_ALIAS,
@@ -3921,7 +3924,9 @@ d_print_comp (struct d_print_info *dpi, int options,
return;
case DEMANGLE_COMPONENT_REFTEMP:
- d_append_string (dpi, "reference temporary for ");
+ d_append_string (dpi, "reference temporary #");
+ d_print_comp (dpi, options, d_right (dc));
+ d_append_string (dpi, " for ");
d_print_comp (dpi, options, d_left (dc));
return;