zturner created this revision.
zturner added reviewers: davide, JDevlieghere, jingham.
Most of these are surrounding the ObjectiveC formatters. They use a lot of
unions containing unnamed structs, which are not ISO C++ compliant and which
gcc warns about. There are several other minor warnings like unused variables,
etc.
The ObjectiveC ones look NFC to me, because they basically just delete some
structure / union members that are never read, but I'm throwing this up here
for review anyway just to be on the safe side.
https://reviews.llvm.org/D57413
Files:
lldb/source/Commands/CommandObjectReproducer.cpp
lldb/source/Plugins/Language/ObjC/Cocoa.cpp
lldb/source/Plugins/Language/ObjC/NSArray.cpp
lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
lldb/source/Plugins/Language/ObjC/NSSet.cpp
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Index: lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
===================================================================
--- lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+++ lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
@@ -1663,7 +1663,6 @@
dwarf->GetDIEToType()[die.GetDIE()] = DIE_IS_BEING_PARSED;
DWARFFormValue type_die_form;
- int64_t first_index = 0;
uint32_t byte_stride = 0;
uint32_t bit_stride = 0;
bool is_vector = false;
@@ -1733,7 +1732,6 @@
if (element_type) {
auto array_info = ParseChildArrayInfo(die);
if (array_info) {
- first_index = array_info->first_index;
byte_stride = array_info->byte_stride;
bit_stride = array_info->bit_stride;
}
Index: lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
===================================================================
--- lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
+++ lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
@@ -1263,7 +1263,7 @@
void GDBRemoteCommunication::SetHistoryStream(llvm::raw_ostream *strm) {
m_history.SetStream(strm);
-};
+}
llvm::Error
GDBRemoteCommunication::ConnectLocally(GDBRemoteCommunication &client,
Index: lldb/source/Plugins/Language/ObjC/NSSet.cpp
===================================================================
--- lldb/source/Plugins/Language/ObjC/NSSet.cpp
+++ lldb/source/Plugins/Language/ObjC/NSSet.cpp
@@ -154,28 +154,18 @@
uint32_t _cow;
// __table storage
uint32_t _objs_addr;
- union {
- uint32_t _mutations;
- struct {
- uint32_t _muts;
- uint32_t _used : 26;
- uint32_t _szidx : 6;
- };
- };
+ uint32_t _muts;
+ uint32_t _used : 26;
+ uint32_t _szidx : 6;
};
struct DataDescriptor_64 {
uint64_t _cow;
// __Table storage
uint64_t _objs_addr;
- union {
- uint64_t _mutations;
- struct {
- uint32_t _muts;
- uint32_t _used : 26;
- uint32_t _szidx : 6;
- };
- };
+ uint32_t _muts;
+ uint32_t _used : 26;
+ uint32_t _szidx : 6;
};
using NSSetMSyntheticFrontEnd =
Index: lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
===================================================================
--- lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
+++ lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
@@ -281,18 +281,11 @@
struct DataDescriptor_32 {
uint32_t _buffer;
- union {
- struct {
- uint32_t _mutations;
- };
- struct {
- uint32_t _muts;
- uint32_t _used:25;
- uint32_t _kvo:1;
- uint32_t _szidx:6;
- };
- };
-
+ uint32_t _muts;
+ uint32_t _used : 25;
+ uint32_t _kvo : 1;
+ uint32_t _szidx : 6;
+
uint64_t GetSize() {
return (_szidx) >= NSDictionaryNumSizeBuckets ?
0 : NSDictionaryCapacities[_szidx];
@@ -301,18 +294,11 @@
struct DataDescriptor_64 {
uint64_t _buffer;
- union {
- struct {
- uint64_t _mutations;
- };
- struct {
- uint32_t _muts;
- uint32_t _used:25;
- uint32_t _kvo:1;
- uint32_t _szidx:6;
- };
- };
-
+ uint32_t _muts;
+ uint32_t _used : 25;
+ uint32_t _kvo : 1;
+ uint32_t _szidx : 6;
+
uint64_t GetSize() {
return (_szidx) >= NSDictionaryNumSizeBuckets ?
0 : NSDictionaryCapacities[_szidx];
Index: lldb/source/Plugins/Language/ObjC/NSArray.cpp
===================================================================
--- lldb/source/Plugins/Language/ObjC/NSArray.cpp
+++ lldb/source/Plugins/Language/ObjC/NSArray.cpp
@@ -171,13 +171,8 @@
PtrType _data;
uint32_t _offset;
uint32_t _size;
- union {
- PtrType _mutations;
- struct {
- uint32_t _muts;
- uint32_t _used;
- };
- };
+ uint32_t _muts;
+ uint32_t _used;
};
using NSArrayMSyntheticFrontEnd =
Index: lldb/source/Plugins/Language/ObjC/Cocoa.cpp
===================================================================
--- lldb/source/Plugins/Language/ObjC/Cocoa.cpp
+++ lldb/source/Plugins/Language/ObjC/Cocoa.cpp
@@ -754,7 +754,7 @@
uint64_t fraction:52; // unsigned
uint64_t exponent:11; // signed
uint64_t sign:1;
- };
+ } repr;
uint64_t i;
double d;
} DoubleBits;
@@ -764,7 +764,7 @@
uint64_t exponent:7; // signed
uint64_t sign:1;
uint64_t unused:4; // placeholder for pointer tag bits
- };
+ } repr;
uint64_t i;
} TaggedDoubleBits;
@@ -786,10 +786,10 @@
// Sign and fraction are represented exactly.
// Exponent is encoded.
- assert(encodedBits.unused == 0);
- decodedBits.sign = encodedBits.sign;
- decodedBits.fraction = encodedBits.fraction;
- decodedBits.exponent = decodeExponent(encodedBits.exponent);
+ assert(encodedBits.repr.unused == 0);
+ decodedBits.repr.sign = encodedBits.repr.sign;
+ decodedBits.repr.fraction = encodedBits.repr.fraction;
+ decodedBits.repr.exponent = decodeExponent(encodedBits.repr.exponent);
return decodedBits.d;
}
Index: lldb/source/Commands/CommandObjectReproducer.cpp
===================================================================
--- lldb/source/Commands/CommandObjectReproducer.cpp
+++ lldb/source/Commands/CommandObjectReproducer.cpp
@@ -67,12 +67,11 @@
}
auto &r = repro::Reproducer::Instance();
- if (auto generator = r.GetGenerator()) {
+ if (r.GetGenerator()) {
result.GetOutputStream() << "Reproducer is in capture mode.\n";
- } else if (auto generator = r.GetLoader()) {
+ } else if (r.GetLoader()) {
result.GetOutputStream() << "Reproducer is in replay mode.\n";
} else {
-
result.GetOutputStream() << "Reproducer is off.\n";
}
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits