[all-commits] [llvm/llvm-project] 6e10e6: Reland "[lldb][DWARFASTParserClang] Correctly reso...

Michael Buch via All-commits all-commits at lists.llvm.org
Mon Feb 13 08:59:15 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6e10e6cb8fab015952edbc86d82e85b991ad26dc
      https://github.com/llvm/llvm-project/commit/6e10e6cb8fab015952edbc86d82e85b991ad26dc
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
    A lldb/test/API/commands/expression/namespace-alias/Makefile
    A lldb/test/API/commands/expression/namespace-alias/TestInlineNamespaceAlias.py
    A lldb/test/API/commands/expression/namespace-alias/main.cpp

  Log Message:
  -----------
  Reland "[lldb][DWARFASTParserClang] Correctly resolve imported namespaces during expression evaluation"

This relands a patch previously reverted
in `181d6e24ca3c09bfd6ec7c3b20affde3e5ea9b40`.
This wasn't quite working on Linux because we
weren't populating the manual DWARF index with
`DW_TAG_imported_declaration`. The relanded patch
does this.

**Summary**

This patch makes the expression evaluator understand
namespace aliases.

This will become important once `std::ranges` become
more widespread since `std::views` is defined as:

```
namespace std {
namespace ranges::views {}

namespace views = ranges::views;
}
```

**Testing**

* Added API test

Differential Revision: https://reviews.llvm.org/D143398




More information about the All-commits mailing list