[Lldb-commits] [lldb] [lldb] Lookup static const members in FindGlobalVariables (PR #111859)
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Mon Nov 4 00:53:16 PST 2024
================
@@ -362,6 +369,23 @@ 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_external` and `DW_AT_declaration`, but otherwise follow the
+ // same rules as `DW_TAG_variable`.
+ if (unit.GetVersion() >= 5)
+ break;
+ bool parent_is_class_type = false;
+ if (auto parent = die.GetParent()) {
+ parent_is_class_type = parent->Tag() == DW_TAG_structure_type ||
+ parent->Tag() == DW_TAG_class_type ||
+ parent->Tag() == DW_TAG_union_type;
+ }
----------------
labath wrote:
```suggestion
bool parent_is_class_type = false;
if (auto parent = die.GetParent())
parent_is_class_type = DWARFDIE(&unit, parent).IsStructUnionOrClass();
```
https://github.com/llvm/llvm-project/pull/111859
More information about the lldb-commits
mailing list