From 59251a7367065b35f4a513be65625bc8a09e4cc2 Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Sat, 16 May 2015 16:50:08 +0000 Subject: [PATCH] d-demangle.c (dlang_type): Handle cent and ucent types. libiberty/ChangeLog: 2015-05-16 Iain Buclaw * 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 | 5 +++++ libiberty/d-demangle.c | 14 ++++++++++++++ libiberty/testsuite/d-demangle-expected | 8 ++++++++ 3 files changed, 27 insertions(+) diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 609c5e85863..110745df894 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,8 @@ +2015-05-16 Iain Buclaw + + * 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 * d-demangle.c (dlang_attributes): Handle return attributes, ignoring 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)) # -- 2.30.2