diff options
author | Nathan Sidwell <nathan@acm.org> | 2017-09-21 15:52:31 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2017-09-21 15:52:31 +0000 |
commit | 7cd7dbdadf181dd79a933fee387364b24558058e (patch) | |
tree | 76815fdc44e1920f707fea268d10bbd21d9c55fb /libiberty/testsuite | |
parent | f17aba3c82d9c316ab550b81cf9c7f141b31b999 (diff) |
[demangler PATCH]: Revert and update generic lambda demangling
https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01482.html
PR demangler/82195
* cp-demangle.c (d_name): Revert addition of 'toplevel' parm.
(has_return_type): Recurse for DEMANGLE_COMPONENT_LOCAL_NAME.
(d_encoding): Revert d_name change. Use is_fnqual_component_type
to strip modifiers that do not belong.
(d_special_name, d_class_enum_type): Revert d_name call change.
(d_expresion_1): Commonize DEMANGLE_COMPONENT_UNARY building.
(d_local_name): Revert parsing of a function type.
(d_print_comp_inner): An inner LOCAL_NAME might contain a
TEMPLATE.
* testsuite/demangle-expected: Add & adjust tests
From-SVN: r253075
Diffstat (limited to 'libiberty/testsuite')
-rw-r--r-- | libiberty/testsuite/demangle-expected | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected index c1a9a73f4df..993435fb0ac 100644 --- a/libiberty/testsuite/demangle-expected +++ b/libiberty/testsuite/demangle-expected @@ -4739,14 +4739,19 @@ __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 +float Foo()::{lambda(auto:1)#1}::operator()<int>(int) const::Local::fn() +float Foo()::{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}> +void Capture<void Foo()::{lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}>(void Foo()::{lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}&&) +Capture<void Foo()::{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}> +void Frob<void Foo()::{lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}>() +Frob<void Foo()::{lambda(auto:1)#1}::operator()<int>(int) const::{lambda()#1}> # +# A lambda {local-class::member-fn} +--no-params +_ZZ3FoovENKUlT_E_clIiEEfS_ +float Foo()::{lambda(auto:1)#1}::operator()<int>(int) const +Foo()::{lambda(auto:1)#1}::operator()<int> |