mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-19 02:08:06 +00:00
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303738 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
376361f40b
commit
b762e5bdbc
@ -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…
x
Reference in New Issue
Block a user