diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-07-01 17:16:44 +0000 |
---|---|---|
committer | Jan Kratochvil <jkratoch@gcc.gnu.org> | 2011-07-01 17:16:44 +0000 |
commit | cb0ad104286a76447490333ce7f94a2f557a5914 (patch) | |
tree | b14d04457bcd80a404fcafea4b393ecbfa6ad483 /libiberty/testsuite | |
parent | 06e88d73463080ebe7f4e52c39408de43363fbbd (diff) | |
download | gcc-cb0ad104286a76447490333ce7f94a2f557a5914.zip gcc-cb0ad104286a76447490333ce7f94a2f557a5914.tar.gz gcc-cb0ad104286a76447490333ce7f94a2f557a5914.tar.bz2 |
re PR debug/49408 (member function template id not matching linkage name)
libiberty/
PR debug/49408
* cp-demangle.c (d_print_comp): Suppress argument list for function
references by the '&' unary operator. Keep also already processed
variant without the argument list. Suppress argument list types for
function call used in an expression.
* testsuite/demangle-expected: Fix excessive argument list types in
`test for typed function in decltype'. New testcase for no argument
list types printed. 3 new testcases for function references by the
'&' unary operator..
From-SVN: r175761
Diffstat (limited to 'libiberty/testsuite')
-rw-r--r-- | libiberty/testsuite/demangle-expected | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected index bbd418c..4980cf1 100644 --- a/libiberty/testsuite/demangle-expected +++ b/libiberty/testsuite/demangle-expected @@ -3920,7 +3920,11 @@ decltype (({parm#1}.(g<double>))()) h<A<int>, double>(A<int>, double) # test for typed function in decltype --format=gnu-v3 _ZN1AIiE1jIiEEDTplfp_clL_Z1xvEEET_ -decltype ({parm#1}+((x())())) A<int>::j<int>(int) +decltype ({parm#1}+(x())) A<int>::j<int>(int) +# typed function in decltype with an argument list +--format=gnu-v3 +_Z1tIlEDTplcvT_Li5EclL_Z1qsELi6EEEv +decltype (((long)(5))+(q(6))) t<long>() # test for expansion of function parameter pack --format=gnu-v3 _Z1gIIidEEDTclL_Z1fEspplfp_Li1EEEDpT_ @@ -3990,6 +3994,18 @@ outer(short (*)(int), long) _Z6outer2IsEPFilES1_ outer2<short>(int (*)(long)) # +--format=gnu-v3 --no-params +_ZN1KIXadL_ZN1S1mEiEEE1fEv +K<&S::m>::f() +K<&S::m>::f +--format=gnu-v3 +_ZN1KILi1EXadL_ZN1S1mEiEEE1fEv +K<1, &S::m>::f() +# Here the `(int)' argument list of `S::m' is already removed. +--format=gnu-v3 +_ZN1KILi1EXadL_ZN1S1mEEEE1fEv +K<1, &S::m>::f() +# # Ada (GNAT) tests. # # Simple test. |