summaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authoribuclaw <ibuclaw@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-16 16:50:08 +0000
committeribuclaw <ibuclaw@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-16 16:50:08 +0000
commit4aa78f7c0d44f2665cffc0419e17ec5bbc854ba6 (patch)
treeba545217f3658bbc5cbd7d7c807d4e6a6e9b7d4c /libiberty
parentba24f8c5d2643786b0452bfd6050ae09e04f2272 (diff)
downloadgcc-4aa78f7c0d44f2665cffc0419e17ec5bbc854ba6.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223245 138bc75d-0d04-0410-961f-82ee72b054a4
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 609c5e85863..110745df894 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 8104a345e1d..05f3a5e4b30 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 5dd0678a01b..e3fd850862e 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))
#