[all-commits] [llvm/llvm-project] 7b9627: [lldb][SymbolFileDWARF] Fall back to using parent ...

Michael Buch via All-commits all-commits at lists.llvm.org
Thu May 29 23:16:16 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7b96272bd991adb51240151c779be23a023227c1
      https://github.com/llvm/llvm-project/commit/7b96272bd991adb51240151c779be23a023227c1
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-05-30 (Fri, 30 May 2025)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    A lldb/test/API/lang/cpp/decl-from-submodule/Makefile
    A lldb/test/API/lang/cpp/decl-from-submodule/TestDeclFromSubmodule.py
    A lldb/test/API/lang/cpp/decl-from-submodule/TopLevel/module1.h
    A lldb/test/API/lang/cpp/decl-from-submodule/TopLevel/module2.h
    A lldb/test/API/lang/cpp/decl-from-submodule/main.cpp
    A lldb/test/API/lang/cpp/decl-from-submodule/module.modulemap

  Log Message:
  -----------
  [lldb][SymbolFileDWARF] Fall back to using parent DW_AT_LLVM_include_path for submodules (#142044)

Inferred submodule declarations are emitted in DWARF as `DW_TAG_module`s
without `DW_AT_LLVM_include_path`s. Instead the parent DIE will have the
include path. This patch adds support for such setups. Without this, the
`ClangModulesDeclVendor` would fail to `AddModule` the submodules (i.e.,
compile and load the submodules). This would cause errors such as:
```
note: error: Header search couldn't locate module 'TopLevel'
```

The test added here also tests
https://github.com/llvm/llvm-project/pull/141220. Without that patch
we'd fail with:
```
note: error: No module map file in /Users/jonas/Git/llvm-worktrees/llvm-project/lldb/test/API/lang/cpp/decl-from-submodule
```

Unfortunately the embedded clang instance doesn't allow us to use the
decls we find in the modules. But we'll try to fix that in a separate
patch.

rdar://151022173



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list