summaryrefslogtreecommitdiff
path: root/libiberty/cp-demangle.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2015-06-02 02:28:19 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2015-06-02 02:28:19 +0000
commit399fbdbdddd6ea476c7f47d20bd2ceb0be827218 (patch)
tree1587f66f189daa25f9f3d68dc7bba6b4d6e5e5d6 /libiberty/cp-demangle.c
parent7d2a579e44dbc8da7c850ba3a55473a973a3b61f (diff)
downloadgcc-399fbdbdddd6ea476c7f47d20bd2ceb0be827218.tar.gz
PR c++/44282
gcc/cp/ * mangle.c (attr_strcmp): New. (write_CV_qualifiers_for_type): Also write out attributes that affect type identity. (write_type): Strip all attributes after writing qualifiers. libiberty/ * cp-demangle.c (cplus_demangle_type): Handle arguments to vendor extended qualifier. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224007 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty/cp-demangle.c')
-rw-r--r--libiberty/cp-demangle.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index 77c2cee9d17..2988b6bcb01 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -2470,6 +2470,9 @@ cplus_demangle_type (struct d_info *di)
case 'U':
d_advance (di, 1);
ret = d_source_name (di);
+ if (d_peek_char (di) == 'I')
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, ret,
+ d_template_args (di));
ret = d_make_comp (di, DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL,
cplus_demangle_type (di), ret);
break;