aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2022-03-08 12:54:03 -0800
committerNathan Sidwell <nathan@acm.org>2022-05-23 05:39:15 -0700
commitb7feb71d45e4cd894d7706c21a21a3871070d098 (patch)
treeed5f57ea1f5d52d05acc92c20f1325cfe7c4cad2 /include
parent63798f67dcc848dcd110ce222b97304565c9ea29 (diff)
downloadgcc-b7feb71d45e4cd894d7706c21a21a3871070d098.zip
gcc-b7feb71d45e4cd894d7706c21a21a3871070d098.tar.gz
gcc-b7feb71d45e4cd894d7706c21a21a3871070d098.tar.bz2
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
Diffstat (limited to 'include')
-rw-r--r--include/demangle.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/demangle.h b/include/demangle.h
index 44a2737..e2aa4a9 100644
--- a/include/demangle.h
+++ b/include/demangle.h
@@ -451,7 +451,12 @@ enum demangle_component_type
DEMANGLE_COMPONENT_NOEXCEPT,
DEMANGLE_COMPONENT_THROW_SPEC,
- DEMANGLE_COMPONENT_STRUCTURED_BINDING
+ DEMANGLE_COMPONENT_STRUCTURED_BINDING,
+
+ DEMANGLE_COMPONENT_MODULE_NAME,
+ DEMANGLE_COMPONENT_MODULE_PARTITION,
+ DEMANGLE_COMPONENT_MODULE_ENTITY,
+ DEMANGLE_COMPONENT_MODULE_INIT,
};
/* Types which are only used internally. */