Skip to content

Commit 85bd256

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 (cherry picked from commit 2182eda)
1 parent ab6d133 commit 85bd256

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
@@ -2666,7 +2666,7 @@ void DWARFASTParserClang::ParseSingleMember(
26662666
last_field_info.bit_offset = field_bit_offset;
26672667

26682668
if (llvm::Optional<uint64_t> clang_type_size =
2669-
member_clang_type.GetByteSize(nullptr)) {
2669+
member_type->GetByteSize(nullptr)) {
26702670
last_field_info.bit_size = *clang_type_size * character_width;
26712671
}
26722672

0 commit comments

Comments
 (0)