Currently _D8demangle4testFYv and _D8demangle4testFXv report the same demangled symbol and they are not the same. The official demangler reports "demangle.test(, ...)", which is the distinguishable way to do it.
Signed-off-by: Luís Ferreira <cont...@lsferreira.net> libiberty/ChangeLog: * d-demangle.c (dlang_function_args): change Y variadic to always report ", ...". * testsuite/d-demangle-expected: change test for Y variadic and add a missing test for X variadic. --- libiberty/d-demangle.c | 4 +--- libiberty/testsuite/d-demangle-expected | 4 ++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/libiberty/d-demangle.c b/libiberty/d-demangle.c index 880f2ec85a4..4ec94316dad 100644 --- a/libiberty/d-demangle.c +++ b/libiberty/d-demangle.c @@ -690,9 +690,7 @@ dlang_function_args (string *decl, const char *mangled, struct dlang_info *info) return mangled; case 'Y': /* (variadic T t, ...) style. */ mangled++; - if (n != 0) - string_append (decl, ", "); - 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 44a3649c429..ec481d27dbe 100644 --- a/libiberty/testsuite/d-demangle-expected +++ b/libiberty/testsuite/d-demangle-expected @@ -359,6 +359,10 @@ demangle.test(char, char, ...) # --format=dlang _D8demangle4testFYv +demangle.test(, ...) +# +--format=dlang +_D8demangle4testFXv demangle.test(...) # --format=dlang -- 2.33.0