]> git.ipfire.org Git - thirdparty/gcc.git/commit
demangler: C++ modules support
authorNathan Sidwell <nathan@acm.org>
Tue, 8 Mar 2022 20:54:03 +0000 (12:54 -0800)
committerNathan Sidwell <nathan@acm.org>
Mon, 23 May 2022 12:39:15 +0000 (05:39 -0700)
commitb7feb71d45e4cd894d7706c21a21a3871070d098
treeed5f57ea1f5d52d05acc92c20f1325cfe7c4cad2
parent63798f67dcc848dcd110ce222b97304565c9ea29
demangler: C++ modules support

This adds demangling support for C++ modules.  A new 'W' component
along with augmented behaviour of 'S' components.

include/
* demangle.h (enum demangle_component_type): Add module components.
libiberty/
* cp-demangle.c (d_make_comp): Adjust.
(d_name, d_prefix): Adjust subst handling. Add module handling.
(d_maybe_module_name): New.
(d_unqualified_name): Add incoming module parm. Handle it.  Adjust all callers.
(d_special_name): Add 'GI' support.
(d_count_template_scopes): Adjust.
(d_print_comp_inner): Print module.
* testsuite/demangle-expected: New test cases
include/demangle.h
libiberty/cp-demangle.c
libiberty/testsuite/demangle-expected