diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2015-05-16 16:50:08 +0000 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gcc.gnu.org> | 2015-05-16 16:50:08 +0000 |
commit | 59251a7367065b35f4a513be65625bc8a09e4cc2 (patch) | |
tree | ba545217f3658bbc5cbd7d7c807d4e6a6e9b7d4c /libiberty | |
parent | 7ce4461f3712b9a979a41a5914ca729fe635616c (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | libiberty/d-demangle.c | 14 | ||||
-rw-r--r-- | libiberty/testsuite/d-demangle-expected | 8 |
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)) # |