diff options
author | Michael Buch <michaelbuch12@gmail.com> | 2023-02-06 13:53:08 +0000 |
---|---|---|
committer | Michael Buch <michaelbuch12@gmail.com> | 2023-02-10 01:33:51 +0000 |
commit | 657672667fd16aa49897093b925c93c900286c8d (patch) | |
tree | b1cbcccaa216a36009f40a604b3e854428322bd7 /clang/lib/Lex/Preprocessor.cpp | |
parent | 8b6ae9bd7466bd3ceefcd8bd0262b9b085481697 (diff) | |
download | llvm-657672667fd16aa49897093b925c93c900286c8d.zip llvm-657672667fd16aa49897093b925c93c900286c8d.tar.gz llvm-657672667fd16aa49897093b925c93c900286c8d.tar.bz2 |
[llvm][DebugInfo] Add DW_TAG_imported_declaration to accelerator tables
**Summary**
After this patch, `DW_TAG_imported_declaration`s will be emitted into
the DWARF accelerator tables (under `.apple_namespaces`)
**Motivation**
Currently LLDB expression evaluation doesn't see through namespace
aliases. This is because LLDB only considers namespaces that are
part of `.apple_namespaces` when building a nested namespace
identifier for C++, which currently doesn't include import
declarations. The alternative to putting imports into accelerator
tables is to do a linear scan of a `DW_TAG_namespace` and look
for import declarations that look like they would satisfy the lookup
request, which is prohibitively expensive.
**Testing**
* Added unit-test
Differential Revision: https://reviews.llvm.org/D143397
Diffstat (limited to 'clang/lib/Lex/Preprocessor.cpp')
0 files changed, 0 insertions, 0 deletions