diff options
Diffstat (limited to 'lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp')
-rw-r--r-- | lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp index 17f9241bb12..ba63b41a581 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp @@ -2484,16 +2484,16 @@ uint32_t SymbolFileDWARF::FindTypes( return num_die_matches; } -size_t SymbolFileDWARF::FindTypes(const std::vector<CompilerContext> &context, +size_t SymbolFileDWARF::FindTypes(llvm::ArrayRef<CompilerContext> pattern, bool append, TypeMap &types) { std::lock_guard<std::recursive_mutex> guard(GetModuleMutex()); if (!append) types.Clear(); - if (context.empty()) + if (pattern.empty()) return 0; - ConstString name = context.back().name; + ConstString name = pattern.back().name; if (!name) return 0; @@ -2508,9 +2508,9 @@ size_t SymbolFileDWARF::FindTypes(const std::vector<CompilerContext> &context, DWARFDIE die = GetDIE(die_ref); if (die) { - std::vector<CompilerContext> die_context; + llvm::SmallVector<CompilerContext, 4> die_context; die.GetDeclContext(die_context); - if (die_context != context) + if (!contextMatches(die_context, pattern)) continue; Type *matching_type = ResolveType(die, true, true); |