[Lldb-commits] [lldb] r148097 - /lldb/trunk/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h

Greg Clayton gclayton at apple.com
Thu Jan 12 21:38:24 PST 2012


Author: gclayton
Date: Thu Jan 12 23:38:24 2012
New Revision: 148097

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

Fixed the new __apple_types to be able to accept a DW_TAG_structure_type
forward declaration and then find a DW_TAG_class_type definition, or vice
versa.


Modified:
    lldb/trunk/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h

Modified: lldb/trunk/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h?rev=148097&r1=148096&r2=148097&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h (original)
+++ lldb/trunk/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h Thu Jan 12 23:38:24 2012
@@ -85,7 +85,13 @@
             for (size_t i=0; i<count; ++i)
             {
                 const dw_tag_t die_tag = die_info_array[i].tag;
-                if (die_tag == 0 || tag == die_tag)
+                bool tag_matches = die_tag == 0 || tag == die_tag;
+                if (!tag_matches)
+                {
+                    if (die_tag == DW_TAG_class_type || die_tag == DW_TAG_structure_type)
+                        tag_matches = tag == DW_TAG_structure_type || tag == DW_TAG_class_type;
+                }
+                if (tag_matches)
                     die_offsets.push_back (die_info_array[i].offset);
             }
         }





More information about the lldb-commits mailing list