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

Greg Clayton gclayton at apple.com
Thu Mar 29 13:50:37 PDT 2012


Author: gclayton
Date: Thu Mar 29 15:50:37 2012
New Revision: 153685

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

Line tables when using DWARF in .o files can be wrong when two entries get moved around by the compiler. This was due to incorrect logic in the line entry comparison operator.


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=153685&r1=153684&r2=153685&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/LineTable.cpp (original)
+++ lldb/trunk/source/Symbol/LineTable.cpp Thu Mar 29 15:50:37 2012
@@ -119,6 +119,8 @@
     {
         #define LT_COMPARE(a,b) if (a != b) return a < b
         LT_COMPARE (a.sect_offset, b.sect_offset);
+        // b and a reversed on purpose below.
+        LT_COMPARE (b.is_terminal_entry, a.is_terminal_entry);
         LT_COMPARE (a.line, b.line);
         LT_COMPARE (a.column, b.column);
         LT_COMPARE (a.is_start_of_statement, b.is_start_of_statement);
@@ -126,8 +128,6 @@
         // b and a reversed on purpose below.
         LT_COMPARE (b.is_prologue_end, a.is_prologue_end);
         LT_COMPARE (a.is_epilogue_begin, b.is_epilogue_begin);
-        // b and a reversed on purpose below.
-        LT_COMPARE (b.is_terminal_entry, a.is_terminal_entry);
         LT_COMPARE (a.file_idx, b.file_idx);
         return false;
         #undef LT_COMPARE





More information about the lldb-commits mailing list