From 451894cadcf1210883ceefb2d69a0ed2d6a8cd8b Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Tue, 8 Mar 2022 13:00:35 -0800 Subject: demangler: Structured Bindings C++ Structured bindings have a mangling that has yet to be formally documented. However, it's been around for a while and shows up for module support. include/ * demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_STRUCTURED_BINDING. libiberty/ * cp-demangle.c (d_make_comp): Adjust. (d_unqualified_name): Add 'DC' support. (d_count_template_scopes): Adjust. (d_print_comp_inner): Add structured binding. * testsuite/demangle-expected: Add testcases. --- include/demangle.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'include/demangle.h') diff --git a/include/demangle.h b/include/demangle.h index 402308f..44a2737 100644 --- a/include/demangle.h +++ b/include/demangle.h @@ -449,7 +449,9 @@ enum demangle_component_type /* A cloned function. */ DEMANGLE_COMPONENT_CLONE, DEMANGLE_COMPONENT_NOEXCEPT, - DEMANGLE_COMPONENT_THROW_SPEC + DEMANGLE_COMPONENT_THROW_SPEC, + + DEMANGLE_COMPONENT_STRUCTURED_BINDING }; /* Types which are only used internally. */ -- cgit v1.1