diff options
author | ibuclaw <ibuclaw@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-05-16 16:50:08 +0000 |
---|---|---|
committer | ibuclaw <ibuclaw@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-05-16 16:50:08 +0000 |
commit | 4aa78f7c0d44f2665cffc0419e17ec5bbc854ba6 (patch) | |
tree | ba545217f3658bbc5cbd7d7c807d4e6a6e9b7d4c /libiberty | |
parent | ba24f8c5d2643786b0452bfd6050ae09e04f2272 (diff) | |
download | gcc-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/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 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)) # |