Fixed a crash in the class uniq'ing code where we
didn't check if the two classes had the same number
of members.
<rdar://problem/11678873>
llvm-svn: 159880
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
index 6fe0484..3b47453 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
@@ -4995,6 +4995,18 @@
if (src_size && dst_size)
{
+ if (src_size != dst_size)
+ {
+ if (log)
+ log->Printf("warning: tried to unique class DIE 0x%8.8x to 0x%8.8x, but they didn't have the same size (src=%d, dst=%d)",
+ src_class_die->GetOffset(),
+ dst_class_die->GetOffset(),
+ src_size,
+ dst_size);
+
+ return false;
+ }
+
uint32_t idx;
for (idx = 0; idx < src_size; ++idx)
{