1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00

[demangler] Don't allow the template parameters from the <encoding> in a

<local-name> to leak out into later parts of the name.

This caused us to fail to demangle certain constructs involving generic
lambdas.
This commit is contained in:
Richard Smith 2020-07-09 20:36:04 -07:00
parent ab65410392
commit 61aa9b8564

View File

@ -5096,6 +5096,8 @@ Node *AbstractManglingParser<Derived, Alloc>::parseSpecialName() {
// ::= <special-name>
template <typename Derived, typename Alloc>
Node *AbstractManglingParser<Derived, Alloc>::parseEncoding() {
ScopedTemplateParamList EncodingTemplateParams(this);
if (look() == 'G' || look() == 'T')
return getDerived().parseSpecialName();