[Lldb-commits] [lldb] 8682947 - [LLDB][NativePDB] terminal entry has lower precedence than new entry
Zequan Wu via lldb-commits
lldb-commits at lists.llvm.org
Thu Feb 3 15:41:32 PST 2022
Author: Zequan Wu
Date: 2022-02-03T15:41:26-08:00
New Revision: 8682947d24e1f623fad30e1261e1a3de59a36f28
URL: https://github.com/llvm/llvm-project/commit/8682947d24e1f623fad30e1261e1a3de59a36f28
DIFF: https://github.com/llvm/llvm-project/commit/8682947d24e1f623fad30e1261e1a3de59a36f28.diff
LOG: [LLDB][NativePDB] terminal entry has lower precedence than new entry
Added:
Modified:
lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
Removed:
################################################################################
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
index c514cac655d68..cda9d42129d43 100644
--- a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
+++ b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
@@ -1119,8 +1119,13 @@ bool SymbolFileNativePDB::ParseLineTable(CompileUnit &comp_unit) {
uint32_t lno = cur_info.getStartLine();
- line_set.emplace(addr, lno, 0, file_index, is_statement, false,
- is_prologue, is_epilogue, false);
+ LineTable::Entry new_entry(addr, lno, 0, file_index, is_statement, false,
+ is_prologue, is_epilogue, false);
+ // Terminal entry has lower precedence than new entry.
+ auto iter = line_set.find(new_entry);
+ if (iter != line_set.end() && iter->is_terminal_entry)
+ line_set.erase(iter);
+ line_set.insert(new_entry);
if (line_entry.GetRangeBase() != LLDB_INVALID_ADDRESS) {
line_entry.SetRangeEnd(addr);
More information about the lldb-commits
mailing list