d-demangle.c (dlang_type): Handle cent and ucent types.
authorIain Buclaw <ibuclaw@gdcproject.org>
Sat, 16 May 2015 16:50:08 +0000 (16:50 +0000)
committerIain Buclaw <ibuclaw@gcc.gnu.org>
Sat, 16 May 2015 16:50:08 +0000 (16:50 +0000)
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

libiberty/ChangeLog
libiberty/d-demangle.c
libiberty/testsuite/d-demangle-expected

index 609c5e8..110745d 100644 (file)
@@ -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.
index 8104a34..05f3a5e 100644 (file)
@@ -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;
index 5dd0678..e3fd850 100644 (file)
@@ -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))
 #