================ @@ -362,6 +369,18 @@ void ManualDWARFIndex::IndexUnitImpl(DWARFUnit &unit, set.namespaces.Insert(ConstString(name), ref); break; + case DW_TAG_member: { + // In DWARF 4 and earlier `static const` members of a struct, a class or a + // union have an entry tag `DW_TAG_member`, and are also tagged as + // `DW_AT_declaration`, but otherwise follow the same rules as + // `DW_TAG_variable`. + bool parent_is_class_type = false; + if (auto parent = die.GetParent()) + parent_is_class_type = DWARFDIE(&unit, parent).IsStructUnionOrClass(); ---------------- labath wrote:
No, because `parent` is a DWARFDebugInfoEntry, not a DWARFDIE :P It's a (not entirely fortunate) result of trying to avoid any high level (expensive) operations, and of the fact that lldb's DWARFDebugInfoEntry (unlike the llvm) fork actually provides some functionality instead of being a simple data holder. https://github.com/llvm/llvm-project/pull/111859 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits