aboutsummaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2015-05-16 16:50:08 +0000
committerIain Buclaw <ibuclaw@gcc.gnu.org>2015-05-16 16:50:08 +0000
commit59251a7367065b35f4a513be65625bc8a09e4cc2 (patch)
treeba545217f3658bbc5cbd7d7c807d4e6a6e9b7d4c /libiberty
parent7ce4461f3712b9a979a41a5914ca729fe635616c (diff)
downloadgcc-59251a7367065b35f4a513be65625bc8a09e4cc2.zip
gcc-59251a7367065b35f4a513be65625bc8a09e4cc2.tar.gz
gcc-59251a7367065b35f4a513be65625bc8a09e4cc2.tar.bz2
d-demangle.c (dlang_type): Handle cent and ucent types.
libiberty/ChangeLog: 2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org> * d-demangle.c (dlang_type): Handle cent and ucent types. * testsuite/d-demangle-expected: Add coverage tests for cent and ucent. From-SVN: r223245
Diffstat (limited to 'libiberty')
-rw-r--r--libiberty/ChangeLog5
-rw-r--r--libiberty/d-demangle.c14
-rw-r--r--libiberty/testsuite/d-demangle-expected8
3 files changed, 27 insertions, 0 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 609c5e8..110745d 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,5 +1,10 @@
2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org>
+ * d-demangle.c (dlang_type): Handle cent and ucent types.
+ * testsuite/d-demangle-expected: Add coverage tests for cent and ucent.
+
+2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
* d-demangle.c (dlang_attributes): Handle return attributes, ignoring
return parameters in the mangled string. Return NULL if have encountered
an unknown attribute.
diff --git a/libiberty/d-demangle.c b/libiberty/d-demangle.c
index 8104a34..05f3a5e 100644
--- a/libiberty/d-demangle.c
+++ b/libiberty/d-demangle.c
@@ -653,6 +653,20 @@ dlang_type (string *decl, const char *mangled)
mangled++;
string_append (decl, "dchar");
return mangled;
+ case 'z':
+ mangled++;
+ switch (*mangled)
+ {
+ case 'i':
+ mangled++;
+ string_append (decl, "cent");
+ return mangled;
+ case 'k':
+ mangled++;
+ string_append (decl, "ucent");
+ return mangled;
+ }
+ return NULL;
default: /* unhandled */
return NULL;
diff --git a/libiberty/testsuite/d-demangle-expected b/libiberty/testsuite/d-demangle-expected
index 5dd0678..e3fd850 100644
--- a/libiberty/testsuite/d-demangle-expected
+++ b/libiberty/testsuite/d-demangle-expected
@@ -114,6 +114,14 @@ _D8demangle4testFwZv
demangle.test(dchar)
#
--format=dlang
+_D8demangle4testFziZv
+demangle.test(cent)
+#
+--format=dlang
+_D8demangle4testFzkZv
+demangle.test(ucent)
+#
+--format=dlang
_D8demangle4testFOaZv
demangle.test(shared(char))
#