[all-commits] [llvm/llvm-project] 000feb: [lldb][test] Add test-coverage for DW_AT_APPLE_obj...

Michael Buch via All-commits all-commits at lists.llvm.org
Fri Dec 20 04:16:40 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 000febd0290698728abd9e23da6b27969c529177
      https://github.com/llvm/llvm-project/commit/000febd0290698728abd9e23da6b27969c529177
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-12-20 (Fri, 20 Dec 2024)

  Changed paths:
    A lldb/test/Shell/Expr/TestObjCHiddenIvars.test

  Log Message:
  -----------
  [lldb][test] Add test-coverage for DW_AT_APPLE_objc_complete_type parsing (#120279)

When given a DIE for an Objective-C interface (which doesn't have a
`DW_AT_APPLE_objc_complete_type`), the `DWARFASTParserClang` will try to
find the DIE which corresponds to the implementation to complete the
interface DIE. The code is here:

https://github.com/llvm/llvm-project/blob/d2e7ee77d33e8b3be3b1d4e9bc5bc4c60b62b554/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp#L1718-L1738

However, this was currently not exercised in our test-suite (removing
the code above didn't fail any LLDB test).

This patch adds a test which exercises this codepath (it will fail if we
don't fetch the implementation DIE in the `DWARFASTParserClang`).

Something that's not currently clear to me is why `frame var *f`
succeeds even without the `DW_AT_APPLE_objc_complete_type`
infrastructure. If it's using the ObjC runtime, we should make `expr` do
the same, in which case we can remove this code from
`DWARFASTParserClang`.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list