https://github.com/ojhunt updated https://github.com/llvm/llvm-project/pull/140493
>From 7bf3ebaa15bdabdef20a2b15933fbb66fa0aaa2c Mon Sep 17 00:00:00 2001 From: Oliver Hunt <oli...@apple.com> Date: Sun, 18 May 2025 20:31:43 -0700 Subject: [PATCH] [NFC] Address more bit-field storage sizes Follow on work from #139825. As previously this is fixing a few more cases where adjacent bit-fields have types with different base storage sizes, as the MS ABI will not pack those bit-fields. --- lld/wasm/InputChunks.h | 6 +++--- lldb/source/Plugins/Language/ObjC/NSArray.cpp | 2 +- lldb/source/Plugins/Language/ObjC/NSDictionary.cpp | 6 +++--- lldb/source/Plugins/Language/ObjC/NSSet.cpp | 2 +- lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lld/wasm/InputChunks.h b/lld/wasm/InputChunks.h index 1fe78d76631f1..4bae235b247c5 100644 --- a/lld/wasm/InputChunks.h +++ b/lld/wasm/InputChunks.h @@ -99,15 +99,15 @@ class InputChunk { // the beginning of the output section this chunk was assigned to. int32_t outSecOff = 0; - uint8_t sectionKind : 3; + uint32_t sectionKind : 3; // Signals that the section is part of the output. The garbage collector, // and COMDAT handling can set a sections' Live bit. // If GC is disabled, all sections start out as live by default. - unsigned live : 1; + uint32_t live : 1; // Signals the chunk was discarded by COMDAT handling. - unsigned discarded : 1; + uint32_t discarded : 1; protected: InputChunk(ObjFile *f, Kind k, StringRef name, uint32_t alignment = 0, diff --git a/lldb/source/Plugins/Language/ObjC/NSArray.cpp b/lldb/source/Plugins/Language/ObjC/NSArray.cpp index 25376e064879d..444286692994d 100644 --- a/lldb/source/Plugins/Language/ObjC/NSArray.cpp +++ b/lldb/source/Plugins/Language/ObjC/NSArray.cpp @@ -101,7 +101,7 @@ namespace Foundation1010 { uint32_t _used; uint32_t _offset; uint32_t _size : 28; - uint64_t _priv1 : 4; + uint32_t _priv1 : 4; uint32_t _priv2; uint32_t _data; }; diff --git a/lldb/source/Plugins/Language/ObjC/NSDictionary.cpp b/lldb/source/Plugins/Language/ObjC/NSDictionary.cpp index ef1c2c89fe125..4f5c54b2c077c 100644 --- a/lldb/source/Plugins/Language/ObjC/NSDictionary.cpp +++ b/lldb/source/Plugins/Language/ObjC/NSDictionary.cpp @@ -119,7 +119,7 @@ class NSDictionaryISyntheticFrontEnd : public SyntheticChildrenFrontEnd { struct DataDescriptor_64 { uint64_t _used : 58; - uint32_t _szidx : 6; + uint64_t _szidx : 6; }; struct DictionaryItemDescriptor { @@ -273,7 +273,7 @@ namespace Foundation1100 { struct DataDescriptor_64 { uint64_t _used : 58; - uint32_t _kvo : 1; + uint64_t _kvo : 1; uint64_t _size; uint64_t _mutations; uint64_t _objs_addr; @@ -308,7 +308,7 @@ namespace Foundation1428 { struct DataDescriptor_64 { uint64_t _used : 58; - uint32_t _kvo : 1; + uint64_t _kvo : 1; uint64_t _size; uint64_t _buffer; uint64_t GetSize() { return _size; } diff --git a/lldb/source/Plugins/Language/ObjC/NSSet.cpp b/lldb/source/Plugins/Language/ObjC/NSSet.cpp index 7d814e656dc5f..bee6d5ceb41b6 100644 --- a/lldb/source/Plugins/Language/ObjC/NSSet.cpp +++ b/lldb/source/Plugins/Language/ObjC/NSSet.cpp @@ -62,7 +62,7 @@ class NSSetISyntheticFrontEnd : public SyntheticChildrenFrontEnd { struct DataDescriptor_64 { uint64_t _used : 58; - uint32_t _szidx : 6; + uint64_t _szidx : 6; }; struct SetItemDescriptor { diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h index 72aeb2743b1e2..022a64e3d7f6f 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h @@ -189,7 +189,7 @@ class DWARFDebugInfoEntry { // If it is zero, then the DIE doesn't have children, // or the DWARF claimed it had children but the DIE // only contained a single NULL terminating child. - uint32_t m_sibling_idx : 31, m_has_children : 1; + uint64_t m_sibling_idx : 31, m_has_children : 1; uint16_t m_abbr_idx = 0; /// A copy of the DW_TAG value so we don't have to go through the compile /// unit abbrev table _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits