mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-24 10:07:48 +00:00
[demangler] Support for inheriting constructors.
Fixes PR33223. llvm-svn: 325023
This commit is contained in:
parent
aec1e58c99
commit
b39094e39e
@ -2200,10 +2200,15 @@ Node *Db::parseCtorDtorName(Node *&SoFar) {
|
||||
}
|
||||
|
||||
if (consumeIf('C')) {
|
||||
bool IsInherited = consumeIf('I');
|
||||
if (look() != '1' && look() != '2' && look() != '3' && look() != '5')
|
||||
return nullptr;
|
||||
++First;
|
||||
ParsedCtorDtorCV = true;
|
||||
if (IsInherited) {
|
||||
if (legacyParse<parse_name>() == nullptr)
|
||||
return nullptr;
|
||||
}
|
||||
return make<CtorDtorName>(SoFar, false);
|
||||
}
|
||||
|
||||
|
@ -29690,6 +29690,10 @@ const char* cases[][2] =
|
||||
// Designated init expressions
|
||||
{"_ZN15designated_init1fINS_1AEEEvDTtlT_di1adi1bdxLi3EdXLi1ELi4ELi9EEE", "void designated_init::f<designated_init::A>(decltype(designated_init::A{.a.b[3][1 ... 4] = 9}))"},
|
||||
{"_Z1fIXtl1Xdi1adi1bdxLi3ELi1EEEE", "f<X{.a.b[3] = 1}>"},
|
||||
|
||||
// Inheriting constructors:
|
||||
{"_ZN1BCI21AEi", "B::B(int)"},
|
||||
{"_ZN1DCI21CIiEET_", "D::D(int)"},
|
||||
};
|
||||
|
||||
const unsigned N = sizeof(cases) / sizeof(cases[0]);
|
||||
|
Loading…
x
Reference in New Issue
Block a user