Author: Zequan Wu Date: 2022-04-25T16:07:04-07:00 New Revision: 827ff1e576f71fd3b81c4b012bf852eb6f46f808
URL: https://github.com/llvm/llvm-project/commit/827ff1e576f71fd3b81c4b012bf852eb6f46f808 DIFF: https://github.com/llvm/llvm-project/commit/827ff1e576f71fd3b81c4b012bf852eb6f46f808.diff LOG: [LLDB][NativePDB] Fix incorrect file index of inlinees introduced by f00cd23caed5f920495bcae2055f4c478d8383d6 Added: Modified: lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h Removed: ################################################################################ diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp index 00d4422bc979e..57b3cca47daa8 100644 --- a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp +++ b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp @@ -1225,9 +1225,6 @@ bool SymbolFileNativePDB::ParseDebugMacros(CompileUnit &comp_unit) { llvm::Expected<uint32_t> SymbolFileNativePDB::GetFileIndex(const CompilandIndexItem &cii, uint32_t file_id) { - auto index_iter = m_file_indexes.find(file_id); - if (index_iter != m_file_indexes.end()) - return index_iter->getSecond(); const auto &checksums = cii.m_strings.checksums().getArray(); const auto &strings = cii.m_strings.strings(); // Indices in this structure are actually offsets of records in the @@ -1244,9 +1241,9 @@ SymbolFileNativePDB::GetFileIndex(const CompilandIndexItem &cii, // LLDB wants the index of the file in the list of support files. auto fn_iter = llvm::find(cii.m_file_list, *efn); - lldbassert(fn_iter != cii.m_file_list.end()); - m_file_indexes[file_id] = std::distance(cii.m_file_list.begin(), fn_iter); - return m_file_indexes[file_id]; + if (fn_iter != cii.m_file_list.end()) + return std::distance(cii.m_file_list.begin(), fn_iter); + return llvm::make_error<RawError>(raw_error_code::no_entry); } bool SymbolFileNativePDB::ParseSupportFiles(CompileUnit &comp_unit, diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h index f1b6e34ca346b..d626daf4e95d3 100644 --- a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h +++ b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h @@ -272,8 +272,6 @@ class SymbolFileNativePDB : public SymbolFile { llvm::DenseMap<lldb::user_id_t, lldb::CompUnitSP> m_compilands; llvm::DenseMap<lldb::user_id_t, lldb::TypeSP> m_types; llvm::DenseMap<lldb::user_id_t, std::shared_ptr<InlineSite>> m_inline_sites; - // A map from file id in records to file index in support files. - llvm::DenseMap<uint32_t, uint32_t> m_file_indexes; }; } // namespace npdb _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits