diff options
author | ibuclaw <ibuclaw@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-27 01:07:17 +0000 |
---|---|---|
committer | ibuclaw <ibuclaw@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-01-27 01:07:17 +0000 |
commit | 894b08e11254992303626de95d12b938886f56b2 (patch) | |
tree | 8cc3db6c0c1fe5e05e8cdb0955f8dcfa34c92e13 /libiberty | |
parent | 27b6cda280675c682d182a929b731b934a48a506 (diff) |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232863 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty')
-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 aa1af40c50c3..88422c548156 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 9c4d4597e8d9..9e5a80439f57 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 11785f2c572f..8f0b167142c5 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) # |