forked from OSchip/llvm-project
Demangler: Fix constructor cv qualifier handling
Previously if we parsed a constructor then we set parsed_ctor_dtor_cv to true and never reseted it. This causes issue when a template argument references a constructor (e.g. type of lambda defined inside a constructor) as we will have the parsed_ctor_dtor_cv flag set what will cause issues when parsing later arguments. Differential Revision: https://reviews.llvm.org/D33385 libcxxabi change: https://reviews.llvm.org/rL303737 llvm-svn: 303738
This commit is contained in:
parent
8bc9b88a24
commit
e3852fa405
|
@ -4030,6 +4030,8 @@ static const char *parse_encoding(const char *first, const char *last, C &db) {
|
|||
save_value<decltype(db.tag_templates)> sb(db.tag_templates);
|
||||
if (db.encoding_depth > 1)
|
||||
db.tag_templates = true;
|
||||
save_value<decltype(db.parsed_ctor_dtor_cv)> sp(db.parsed_ctor_dtor_cv);
|
||||
db.parsed_ctor_dtor_cv = false;
|
||||
switch (*first) {
|
||||
case 'G':
|
||||
case 'T':
|
||||
|
|
Loading…
Reference in New Issue