diff options
author | Viktoriia Bakalova <115406782+VitaNuo@users.noreply.github.com> | 2024-09-23 11:49:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-23 11:49:41 +0200 |
commit | 2612316f72b92d7905717c358aeab8b8141738a1 (patch) | |
tree | a5f15081e686e066dd188032551be2f3299aae2f /lldb/source/Plugins/ScriptInterpreter/Python/Interfaces | |
parent | 3e0a76b1fd10d2f5f36d34a91b525c1d29685185 (diff) | |
download | llvm-2612316f72b92d7905717c358aeab8b8141738a1.zip llvm-2612316f72b92d7905717c358aeab8b8141738a1.tar.gz llvm-2612316f72b92d7905717c358aeab8b8141738a1.tar.bz2 |
[ItaniumDemangle] Add template name to the substitutions list during demangling (#108538)
When demangling a template template parameter (`method<bool,
Bar>(Bar<bool> b)`), the current demangler version first enters the
template argument (`bool`) into the substitutions list, then the whole
template specialization (`Bar<bool>`). The template name (`Bar`) never
becomes a substitution candidate on its own.
This is different when mangling. Mangling `method<bool, Bar>(Bar<bool>
b, Bar<int> i)` substitutes the `Bar` in the second parameter with the
substitution for `TemplateTemplateParmDecl`.
This leads to a discrepancy between mangler and demangler, see
https://github.com/llvm/llvm-project/issues/108009.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/Interfaces')
0 files changed, 0 insertions, 0 deletions