Skip to content

Commit 2182eda

Browse files
committed
[LLDB] Switch from using member_clang_type.GetByteSize() to member_type->GetByteSize() in ParseSingleMember
We have a bug in which using member_clang_type.GetByteSize() triggers record layout and during this process since the record was not yet complete we ended up reaching a record that had not been layed out yet. Using member_type->GetByteSize() avoids this situation since it relies on size from DWARF and will not trigger record layout. For reference: rdar://77293040 Differential Revision: https://reviews.llvm.org/D102445
1 parent 0633d5c commit 2182eda

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2671,7 +2671,7 @@ void DWARFASTParserClang::ParseSingleMember(
26712671
last_field_info.bit_offset = field_bit_offset;
26722672

26732673
if (llvm::Optional<uint64_t> clang_type_size =
2674-
member_clang_type.GetByteSize(nullptr)) {
2674+
member_type->GetByteSize(nullptr)) {
26752675
last_field_info.bit_size = *clang_type_size * character_width;
26762676
}
26772677

0 commit comments

Comments
 (0)