clayborg requested changes to this revision. clayborg added a comment. This revision now requires changes to proceed.
The function is looking for the complete objective C type. The code needs to be modified to return the complete type only if one is found, else just one of the other incomplete versions is needed, not many. ================ Comment at: source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp:166 + if (!cu || !cu->Supports_DW_AT_APPLE_objc_complete_type()) { + offsets.push_back(ref); + continue; ---------------- Why are we pushing a potentially incomplete ObjC type here? We should keep a list of incomplete types and if we don't find a complete one, then return that as a fallback. ================ Comment at: source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp:173 + if (!die) { + offsets.push_back(ref); + continue; ---------------- Why are pushing a DIERef that doesn't produce a DIE? Remove the push_back. ================ Comment at: source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp:178 + if (die.GetAttributeValueAsUnsigned(DW_AT_APPLE_objc_complete_type, 1)) + offsets.push_back(ref); + } ---------------- If we find this, return right away with only one result: the complete version. ================ Comment at: source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp:180 + } +} + ---------------- We need to add code here to return an incomplete version of the ObjC type from line 166 if no complete versions are found. Repository: rL LLVM https://reviews.llvm.org/D48596 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits