aboutsummaryrefslogtreecommitdiff
path: root/libiberty/testsuite
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2017-09-15 12:23:57 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2017-09-15 12:23:57 +0000
commitfa0cdfb651f59951d10331b782c422baad93d3e4 (patch)
tree8df9c2bc5a9ed8f3d6b38ca359f7db3b5a824ab8 /libiberty/testsuite
parentdc4b8c68205ed860dd2dda9d00d868a96211d393 (diff)
downloadgcc-fa0cdfb651f59951d10331b782c422baad93d3e4.zip
gcc-fa0cdfb651f59951d10331b782c422baad93d3e4.tar.gz
gcc-fa0cdfb651f59951d10331b782c422baad93d3e4.tar.bz2
[demangler] Fix nested generic lambda
https://gcc.gnu.org/ml/gcc-patches/2017-09/msg00994.html PR demangler/82195 * cp-demangle.c (d_name): Add 'toplevel' parm. Pass to ... (d_local_name): ... here. Parse trailing function args on nested local_name. (d_encoding, d_special_name, d_class_enum_type): Adjust d_name calls. * testsuite/demangle-expected: Add tests. From-SVN: r252815
Diffstat (limited to 'libiberty/testsuite')
-rw-r--r--libiberty/testsuite/demangle-expected14
1 files changed, 14 insertions, 0 deletions
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected
index 519f6d0..c1a9a73 100644
--- a/libiberty/testsuite/demangle-expected
+++ b/libiberty/testsuite/demangle-expected
@@ -4736,3 +4736,17 @@ __thunk_16a_$_1x
__thunk_4294967297__$_1x
__thunk_4294967297__$_1x
#
+# demangler/82195 members of lambdas
+--no-params
+_ZZZ3FoovENKUlT_E_clIiEEfS_EN5Local2fnEv
+Foo()::float {lambda(auto:1)#1}::operator()<int>(int) const::Local::fn()
+Foo()::float {lambda(auto:1)#1}::operator()<int>(int) const::Local::fn
+--no-params
+_Z7CaptureIZZ3FoovENKUlT_E_clIiEEvS0_EUlvE_EvOS0_
+void Capture<Foo()::void {lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}>(Foo()::void {lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}&&)
+Capture<Foo()::void {lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}>
+--no-params
+_Z4FrobIZZ3FoovENKUlT_E_clIiEEvS0_EUlvE_Evv
+void Frob<Foo()::void {lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}>()
+Frob<Foo()::void {lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}>
+#