mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-10-10 12:55:00 +00:00
[demangler] Support for block literals.
llvm-svn: 351482
This commit is contained in:
parent
75a4d7644e
commit
b2d6c298af
@ -2480,6 +2480,12 @@ AbstractManglingParser<Derived, Alloc>::parseUnnamedTypeName(NameState *) {
|
||||
return nullptr;
|
||||
return make<ClosureTypeName>(Params, Count);
|
||||
}
|
||||
if (consumeIf("Ub")) {
|
||||
(void)parseNumber();
|
||||
if (!consumeIf('_'))
|
||||
return nullptr;
|
||||
return make<NameType>("'block-literal'");
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
@ -29759,6 +29759,8 @@ const char* cases[][2] =
|
||||
// Darwin adds leading underscores to symbols, just demangle them anyways.
|
||||
{"____Z3foo_block_invoke.25", "invocation function for block in foo"},
|
||||
{"__Z1fv", "f()"},
|
||||
|
||||
{"_Z2tfIZUb_E1SEiv", "int tf<'block-literal'::S>()"}
|
||||
};
|
||||
|
||||
const unsigned N = sizeof(cases) / sizeof(cases[0]);
|
||||
|
@ -2480,6 +2480,12 @@ AbstractManglingParser<Derived, Alloc>::parseUnnamedTypeName(NameState *) {
|
||||
return nullptr;
|
||||
return make<ClosureTypeName>(Params, Count);
|
||||
}
|
||||
if (consumeIf("Ub")) {
|
||||
(void)parseNumber();
|
||||
if (!consumeIf('_'))
|
||||
return nullptr;
|
||||
return make<NameType>("'block-literal'");
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user