aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2022-03-08 13:00:35 -0800
committerNathan Sidwell <nathan@acm.org>2022-05-17 11:10:03 -0700
commit451894cadcf1210883ceefb2d69a0ed2d6a8cd8b (patch)
tree1d02872b057666ed99f2fbd5d5abb1bcefb2293b /include
parent7a3f38a966a52893fb5bae301a1a3d56961358fb (diff)
downloadgcc-451894cadcf1210883ceefb2d69a0ed2d6a8cd8b.zip
gcc-451894cadcf1210883ceefb2d69a0ed2d6a8cd8b.tar.gz
gcc-451894cadcf1210883ceefb2d69a0ed2d6a8cd8b.tar.bz2
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.
Diffstat (limited to 'include')
-rw-r--r--include/demangle.h4
1 files changed, 3 insertions, 1 deletions
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. */