aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python
diff options
context:
space:
mode:
authorViktoriia Bakalova <115406782+VitaNuo@users.noreply.github.com>2024-09-23 11:49:41 +0200
committerGitHub <noreply@github.com>2024-09-23 11:49:41 +0200
commit2612316f72b92d7905717c358aeab8b8141738a1 (patch)
treea5f15081e686e066dd188032551be2f3299aae2f /lldb/source/Plugins/ScriptInterpreter/Python
parent3e0a76b1fd10d2f5f36d34a91b525c1d29685185 (diff)
downloadllvm-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')
0 files changed, 0 insertions, 0 deletions