[00/10] Fix some C++ name canonicalizer problems

Message ID 20240421-canon-fixes-v1-0-4dc4791d270d@tromey.com
Headers
Series Fix some C++ name canonicalizer problems |

Message

Tom Tromey April 21, 2024, 5 p.m. UTC
  This series fixes a few bug in the C++ name canonicalizer.

It doesn't fix all of them; in particular, there's a bug open about
ABI tags that I didn't try to fix.  I think there may be other bugs as
well, because C++ has continued to evolve but the canonicalizer, by
and large, has not.

Regression tested on x86-64 Fedora 38.

---
Tom Tromey (10):
      Remove test code from cp-name-parser.y
      Allow initialization functions in .y files
      Clean up demangle_parse_info
      Change storage of demangle_component
      Fix C++ name canonicalizations of character literals
      Remove some unnecessary allocations from cpname_state::parse_number
      Fix C++ canonicalization of hex literals
      Implement C++14 numeric separators
      Allow function types as template parameters in name canonicalizer
      Add spaceship operator to cp-name-parser.y

 gdb/Makefile.in               |  19 +--
 gdb/c-exp.y                   |  28 +++-
 gdb/cp-name-parser.y          | 374 +++++++++++++++++-------------------------
 gdb/cp-support.c              |   9 +-
 gdb/cp-support.h              |  19 +--
 gdb/testsuite/gdb.cp/misc.exp |   4 +
 gdb/yy-remap.h                |   4 -
 7 files changed, 186 insertions(+), 271 deletions(-)
---
base-commit: 7e9ef24e4a72d8d174932c7dd6be44226328ab88
change-id: 20240421-canon-fixes-28ad0802b238

Best regards,
  

Comments

Tom Tromey May 14, 2024, 7:29 p.m. UTC | #1
>>>>> "Tom" == Tom Tromey <tom@tromey.com> writes:

Tom> This series fixes a few bug in the C++ name canonicalizer.
Tom> It doesn't fix all of them; in particular, there's a bug open about
Tom> ABI tags that I didn't try to fix.  I think there may be other bugs as
Tom> well, because C++ has continued to evolve but the canonicalizer, by
Tom> and large, has not.

Tom> Regression tested on x86-64 Fedora 38.

I'm going to check these in now.

Tom