[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