[Lldb-commits] [lldb] r153077 - /lldb/trunk/source/Symbol/LineTable.cpp

Greg Clayton gclayton at apple.com
Mon Mar 19 19:15:48 PDT 2012


Author: gclayton
Date: Mon Mar 19 21:15:45 2012
New Revision: 153077

URL: http://llvm.org/viewvc/llvm-project?rev=153077&view=rev
Log:
<rdar://problem/11078937>

LLDB can match incorrect line table entries when an address is between two valid line entries (in the gap between the valid debug info), now it doesn't!


Modified:
    lldb/trunk/source/Symbol/LineTable.cpp

Modified: lldb/trunk/source/Symbol/LineTable.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/LineTable.cpp?rev=153077&r1=153076&r2=153077&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/LineTable.cpp (original)
+++ lldb/trunk/source/Symbol/LineTable.cpp Mon Mar 19 21:15:45 2012
@@ -227,7 +227,9 @@
 
             }
             
-            if (pos != end_pos)
+            // Make sure we have a valid match and that the match isn't a terminating
+            // entry for a previous line...
+            if (pos != end_pos && pos->is_terminal_entry == false)
             {
                 uint32_t match_idx = std::distance (begin_pos, pos);
                 success = ConvertEntryAtIndexToLineEntry(match_idx, line_entry);





More information about the lldb-commits mailing list