diff options
author | Michael Buch <michaelbuch12@gmail.com> | 2025-05-30 07:15:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-30 07:15:55 +0100 |
commit | 7b96272bd991adb51240151c779be23a023227c1 (patch) | |
tree | 1ec4a076eb0dba5ca43fe936ea5aa4bc79671b4a /clang/lib/Frontend/TestModuleFileExtension.cpp | |
parent | e4ed71818e913426f52acbcc1d1f4a1d414d4a2b (diff) | |
download | llvm-7b96272bd991adb51240151c779be23a023227c1.zip llvm-7b96272bd991adb51240151c779be23a023227c1.tar.gz llvm-7b96272bd991adb51240151c779be23a023227c1.tar.bz2 |
[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
Diffstat (limited to 'clang/lib/Frontend/TestModuleFileExtension.cpp')
0 files changed, 0 insertions, 0 deletions