From 2bd8e7b6447c4d9437122122f9467826c57b850c Mon Sep 17 00:00:00 2001 From: Greg Clayton Date: Wed, 7 Oct 2015 22:07:33 +0000 Subject: [PATCH] Fix the TestCppNsImport test case for DWARF. It was failing for DWARF in .o files because SymbolFileDWARFDebugMap didn't implement the following function: void ParseDeclsForContext (lldb_private::CompilerDeclContext decl_ctx) override; Now it does and the test works. llvm-svn: 249626 --- .../Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp | 9 +++++++++ .../Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp index 795e7e5d70e3..b5debacbe276 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp @@ -1459,6 +1459,15 @@ SymbolFileDWARFDebugMap::GetDeclContextContainingUID (lldb::user_id_t type_uid) return CompilerDeclContext(); } +void +SymbolFileDWARFDebugMap::ParseDeclsForContext (lldb_private::CompilerDeclContext decl_ctx) +{ + ForEachSymbolFile([&](SymbolFileDWARF *oso_dwarf) -> bool { + oso_dwarf->ParseDeclsForContext (decl_ctx); + return true; // Keep iterating + }); +} + bool SymbolFileDWARFDebugMap::AddOSOFileRange (CompileUnitInfo *cu_info, lldb::addr_t exe_file_addr, diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h index 25fd67b7d900..8a1e7e8244e1 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h @@ -72,6 +72,8 @@ public: lldb_private::Type* ResolveTypeUID (lldb::user_id_t type_uid) override; lldb_private::CompilerDeclContext GetDeclContextForUID (lldb::user_id_t uid) override; lldb_private::CompilerDeclContext GetDeclContextContainingUID (lldb::user_id_t uid) override; + void ParseDeclsForContext (lldb_private::CompilerDeclContext decl_ctx) override; + bool CompleteType (lldb_private::CompilerType& compiler_type) override; uint32_t ResolveSymbolContext (const lldb_private::Address& so_addr, uint32_t resolve_scope, lldb_private::SymbolContext& sc) override; uint32_t ResolveSymbolContext (const lldb_private::FileSpec& file_spec, uint32_t line, bool check_inlines, uint32_t resolve_scope, lldb_private::SymbolContextList& sc_list) override;