The next version of D adds support for cent and ucent for platforms that are able to handle them natively. This adds support for demangling them.
--- libiberty/ChangeLog: 2015-05-13 Iain Buclaw <ibuc...@gdcproject.org> * d-demangle.c (dlang_type): Handle cent and ucent types. * testsuite/d-demangle-expected: Add coverage tests for cent and ucent.
From 7fe0bf5d0b218f18cba3097be8c166e9934091eb Mon Sep 17 00:00:00 2001 From: Iain Buclaw <ibuc...@gdcproject.org> Date: Mon, 11 May 2015 22:21:13 +0200 Subject: [PATCH 7/7] D demangle: Add support for cent and ucent types --- libiberty/d-demangle.c | 14 ++++++++++++++ libiberty/testsuite/d-demangle-expected | 8 ++++++++ 2 files changed, 22 insertions(+) diff --git a/libiberty/d-demangle.c b/libiberty/d-demangle.c index a7821d8..5c0f356 100644 --- a/libiberty/d-demangle.c +++ b/libiberty/d-demangle.c @@ -669,6 +669,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 d88fb26..580da9b 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)) # -- 2.1.0