[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