diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2016-01-27 01:07:17 +0000 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gcc.gnu.org> | 2016-01-27 01:07:17 +0000 |
commit | acf1f7da9628b30a5577bf954f26e328a89c2ac7 (patch) | |
tree | 8cc3db6c0c1fe5e05e8cdb0955f8dcfa34c92e13 | |
parent | 0f4b8b316f13f7da1ad4c1de233b200732966b82 (diff) | |
download | gcc-acf1f7da9628b30a5577bf954f26e328a89c2ac7.zip gcc-acf1f7da9628b30a5577bf954f26e328a89c2ac7.tar.gz gcc-acf1f7da9628b30a5577bf954f26e328a89c2ac7.tar.bz2 |
d-demangle.c (dlang_function_args): Append ',' for variadic functions only if parameters were seen before the...
libiberty/ChangeLog:
2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
* d-demangle.c (dlang_function_args): Append ',' for variadic functions
only if parameters were seen before the elipsis symbol.
* testsuite/d-demangle-expected: Add coverage test for parameter-less
variadic functions.
From-SVN: r232863
-rw-r--r-- | libiberty/ChangeLog | 7 | ||||
-rw-r--r-- | libiberty/d-demangle.c | 4 | ||||
-rw-r--r-- | libiberty/testsuite/d-demangle-expected | 4 |
3 files changed, 14 insertions, 1 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index aa1af40..88422c5 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,5 +1,12 @@ 2016-01-27 Iain Buclaw <ibuclaw@gdcproject.org> + * d-demangle.c (dlang_function_args): Append ',' for variadic functions + only if parameters were seen before the elipsis symbol. + * testsuite/d-demangle-expected: Add coverage test for parameter-less + variadic functions. + +2016-01-27 Iain Buclaw <ibuclaw@gdcproject.org> + * d-demangle.c (dlang_type): Handle function types only in the context of seeing a pointer type symbol. * testsuite/d-demangle-expected: Update function pointer tests. diff --git a/libiberty/d-demangle.c b/libiberty/d-demangle.c index 9c4d459..9e5a8043 100644 --- a/libiberty/d-demangle.c +++ b/libiberty/d-demangle.c @@ -399,7 +399,9 @@ dlang_function_args (string *decl, const char *mangled) return mangled; case 'Y': /* (variadic T t, ...) style. */ mangled++; - string_append (decl, ", ..."); + if (n != 0) + string_append (decl, ", "); + string_append (decl, "..."); return mangled; case 'Z': /* Normal function. */ mangled++; diff --git a/libiberty/testsuite/d-demangle-expected b/libiberty/testsuite/d-demangle-expected index 11785f2..8f0b167 100644 --- a/libiberty/testsuite/d-demangle-expected +++ b/libiberty/testsuite/d-demangle-expected @@ -342,6 +342,10 @@ _D8demangle4testFaaYv demangle.test(char, char, ...) # --format=dlang +_D8demangle4testFYv +demangle.test(...) +# +--format=dlang _D8demangle4testFaaZv demangle.test(char, char) # |