clayborg wrote:

> we should probably fix the underlying issue instead: #77696

This is one fix that is needed. Quoted from an e-mail chain:

> I need to find my notes from those days, but I don't think we did. As Greg 
> points out, the standard forbids forward declarations in debug_names; entries 
> whose parents are forward declarations should be marked as having a parent 
> that is not indexed.
> The addition of IDX_parent_entries should not cause the addition of _entries_ 
> in the table, if it does then it is a bug in the implementation.

> In fact, in the original PR we have this bit of code: 
> https://github.com/llvm/llvm-project/pull/77457/files#diff-587587ad06ddb6f99f9ad8d8deffbc2ea59fde9d62d1b5ff58ace1f52cc75752R405

```
std::optional<uint64_t>
 DWARF5AccelTableData::getDefiningParentDieOffset(const DIE &Die) {
   if (auto *Parent = Die.getParent();
       Parent && !Parent->findAttribute(dwarf::Attribute::DW_AT_declaration))
     return Parent->getOffset();
   return {};
 }
```

https://github.com/llvm/llvm-project/pull/91808
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to