[llvm] [lldb] Fix size in bytes of type DIEs when size in bits is not a multiple of 8 (PR #69741)
Augusto Noronha via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 10 10:34:06 PST 2023
================
@@ -2866,8 +2879,12 @@ void DWARFASTParserClang::ParseSingleMember(
// Get the parent byte size so we can verify any members will fit
const uint64_t parent_byte_size =
parent_die.GetAttributeValueAsUnsigned(DW_AT_byte_size, UINT64_MAX);
- const uint64_t parent_bit_size =
- parent_byte_size == UINT64_MAX ? UINT64_MAX : parent_byte_size * 8;
+ uint64_t parent_bit_size;
+ if (parent_byte_size != UINT64_MAX)
+ parent_bit_size = parent_byte_size * 8;
+ else
+ parent_bit_size =
+ parent_die.GetAttributeValueAsUnsigned(DW_AT_bit_size, UINT64_MAX);
----------------
augusto2112 wrote:
Hmm, I'll definitely have a downstream test that exercises this behavior, but I don't think on the clang side this would be easy to test, do you have any suggestions on how to do that?
https://github.com/llvm/llvm-project/pull/69741
More information about the llvm-commits
mailing list