diff options
author | Vlad Serebrennikov <serebrennikov.vladislav@gmail.com> | 2024-02-16 22:42:55 +0300 |
---|---|---|
committer | Vlad Serebrennikov <serebrennikov.vladislav@gmail.com> | 2024-02-16 22:47:09 +0300 |
commit | 4214f25dccba36472c9666f1395eef894dca1bba (patch) | |
tree | ffb085ab5de6e3105399979cbedc0cd3b2c96f31 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 6841395953e64002c836a724e5429358554385a3 (diff) | |
download | llvm-4214f25dccba36472c9666f1395eef894dca1bba.zip llvm-4214f25dccba36472c9666f1395eef894dca1bba.tar.gz llvm-4214f25dccba36472c9666f1395eef894dca1bba.tar.bz2 |
Re-land "[lldb] Fix `FindDirectNestedType` not working with class templates (#81666)"
This patch attempts to fix lookup in class template specialization.
The first fixed problem is that during type lookup `DeclContextGetName`
have been dropping template arguments. So when such a name was compared
against a name in `DW_AT_name`, which contains template arguments, false
mismatches have been occurring.
The second fixed problem is that LLDB's printing policy hasn't been
matching Clang's printing policy when it comes to integral non-type
template arguments. This again caused some false mismatches during type
lookup, because Clang puts e.g. `3U` in debug info for class
specializations, but LLDB has been expecting just `3`. This patch brings
printing policy in line with what Clang does.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions