[Bug demangler/82195] Undemangleable lambda

2018-03-05 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82195

Nathan Sidwell  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from Nathan Sidwell  ---
yes, no one's complained about the fix :)

[Bug demangler/82195] Undemangleable lambda

2018-03-02 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82195

--- Comment #9 from Paolo Carlini  ---
Nathan, can we close this as fixed, then?

[Bug demangler/82195] Undemangleable lambda

2017-09-25 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82195

--- Comment #8 from Nathan Sidwell  ---
Author: nathan
Date: Tue Sep 26 02:38:12 2017
New Revision: 253186

URL: https://gcc.gnu.org/viewcvs?rev=253186=gcc=rev
Log:
PR demangler/82195
* cp-demangle.c (d_encoding): Strip return type when name is a
LOCAL_NAME.
(d_local_name): Strip return type of enclosing TYPED_NAME.
* testsuite/demangle-expected: Add and adjust tests.

Modified:
trunk/libiberty/ChangeLog
trunk/libiberty/cp-demangle.c
trunk/libiberty/testsuite/demangle-expected

[Bug demangler/82195] Undemangleable lambda

2017-09-21 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82195

--- Comment #7 from Nathan Sidwell  ---
Author: nathan
Date: Thu Sep 21 15:52:31 2017
New Revision: 253075

URL: https://gcc.gnu.org/viewcvs?rev=253075=gcc=rev
Log:
[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

Modified:
trunk/libiberty/ChangeLog
trunk/libiberty/cp-demangle.c
trunk/libiberty/testsuite/demangle-expected

[Bug demangler/82195] Undemangleable lambda

2017-09-18 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82195

Nathan Sidwell  changed:

   What|Removed |Added

 Status|RESOLVED|ASSIGNED
 Resolution|FIXED   |---

--- Comment #6 from Nathan Sidwell  ---
I flubbed the toplevel case.

[Bug demangler/82195] Undemangleable lambda

2017-09-15 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82195

Nathan Sidwell  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Nathan Sidwell  ---
Fixed r252815.

[Bug demangler/82195] Undemangleable lambda

2017-09-15 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82195

--- Comment #4 from Nathan Sidwell  ---
Author: nathan
Date: Fri Sep 15 12:23:57 2017
New Revision: 252815

URL: https://gcc.gnu.org/viewcvs?rev=252815=gcc=rev
Log:
[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.

Modified:
trunk/libiberty/ChangeLog
trunk/libiberty/cp-demangle.c
trunk/libiberty/testsuite/demangle-expected

[Bug demangler/82195] Undemangleable lambda

2017-09-14 Thread nathan at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82195

Nathan Sidwell  changed:

   What|Removed |Added

  Component|c++ |demangler

--- Comment #3 from Nathan Sidwell  ---
The problem is that in a local name 'Z fn E name [disc]', 'name' could be a
(nested) function and have encoded parms.  We do not expecting that and either
barf or attach them to the wrong level of the tree.  Attaching to the wrong
level works most of the time, except when the fn is an instantiation.  And of
course, generic lambdas are such a thing and didn't prevously exist.