[Lldb-commits] [lld] [lldb] [llvm] [NFC] Address more bit-field storage sizes (PR #140493)
Oliver Hunt via lldb-commits
lldb-commits at lists.llvm.org
Sun May 18 20:33:20 PDT 2025
https://github.com/ojhunt created https://github.com/llvm/llvm-project/pull/140493
Follow on work from #139825
>From 6234ea2b59e49a9da1248875a9fc6ecf294483b4 Mon Sep 17 00:00:00 2001
From: Oliver Hunt <oliver at 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
---
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 +-
llvm/include/llvm/Demangle/ItaniumDemangle.h | 1 +
6 files changed, 10 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
diff --git a/llvm/include/llvm/Demangle/ItaniumDemangle.h b/llvm/include/llvm/Demangle/ItaniumDemangle.h
index f4569850b093c..8041d5447095c 100644
--- a/llvm/include/llvm/Demangle/ItaniumDemangle.h
+++ b/llvm/include/llvm/Demangle/ItaniumDemangle.h
@@ -19,6 +19,7 @@
#include "DemangleConfig.h"
#include "StringViewExtras.h"
#include "Utility.h"
+#include "llvm/Support/Compiler.h"
#include <algorithm>
#include <cctype>
#include <cstdint>
More information about the lldb-commits
mailing list