summaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authoribuclaw <ibuclaw@138bc75d-0d04-0410-961f-82ee72b054a4>2016-01-27 01:07:17 +0000
committeribuclaw <ibuclaw@138bc75d-0d04-0410-961f-82ee72b054a4>2016-01-27 01:07:17 +0000
commit894b08e11254992303626de95d12b938886f56b2 (patch)
tree8cc3db6c0c1fe5e05e8cdb0955f8dcfa34c92e13 /libiberty
parent27b6cda280675c682d182a929b731b934a48a506 (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/ChangeLog7
-rw-r--r--libiberty/d-demangle.c4
-rw-r--r--libiberty/testsuite/d-demangle-expected4
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)
#