[Lldb-commits] [lldb] [lldb] Index static const members of classes, structs and unions as global variables in DWARF 4 and earlier (PR #111859)

Michael Buch via lldb-commits lldb-commits at lists.llvm.org
Mon Nov 4 05:53:56 PST 2024


================
@@ -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();
----------------
Michael137 wrote:

Can this just be:
```suggestion
        parent_is_class_type = parent->IsStructUnionOrClass();
```
?

https://github.com/llvm/llvm-project/pull/111859


More information about the lldb-commits mailing list