| Issue |
87176
|
| Summary |
SymbolFileDWARFDebugMap::FindTypes only finds types defined in the first compile unit
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
pabusse
|
The early-exit condition inside `SymbolFileDWARFDebugMap::FindTypes ` is inverted:
```cpp
void SymbolFileDWARFDebugMap::FindTypes(const TypeQuery &query,
TypeResults &results) {
std::lock_guard<std::recursive_mutex> guard(GetModuleMutex());
ForEachSymbolFile([&](SymbolFileDWARF *oso_dwarf) -> bool {
oso_dwarf->FindTypes(query, results);
return !results.Done(query); // Keep iterating if we aren't done.
});
}
```
`ForEachSymbolFile` stops iterating when the closure returns `true`. As a result, type queries only consider the first compile unit in a module.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs