Skip to content

Commit 393f8aa

Browse files
committed
clang-format: disable bin packing
Bin packing often makes code hard to read. Disable it entirely. Test plan: - CI
1 parent c207972 commit 393f8aa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+668
-358
lines changed

.clang-format

+1
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ AllowShortLoopsOnASingleLine: false
99
DerivePointerAlignment: false
1010
PointerAlignment: Left
1111
BinPackParameters: false
12+
BinPackArguments: false

include/oi/exporters/CSV.h

+11-4
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,17 @@ class CSV {
3939
static constexpr std::string_view kEscapedQuote = "\\\"";
4040
static constexpr std::string_view kListDelimiter = ";";
4141

42-
static constexpr std::string_view kColumns[] = {
43-
"id", "name", "typePath", "typeNames",
44-
"staticSize", "exclusiveSize", "pointer", "length",
45-
"capacity", "is_set", "parent_id"};
42+
static constexpr std::string_view kColumns[] = {"id",
43+
"name",
44+
"typePath",
45+
"typeNames",
46+
"staticSize",
47+
"exclusiveSize",
48+
"pointer",
49+
"length",
50+
"capacity",
51+
"is_set",
52+
"parent_id"};
4653

4754
size_t id_ = 0;
4855
std::vector<size_t> parentIdStack_ = {0};

oi/CodeGen.cpp

+19-13
Original file line numberDiff line numberDiff line change
@@ -194,12 +194,12 @@ namespace {
194194

195195
size_t calculateExclusiveSize(const Type& t) {
196196
if (const auto* c = dynamic_cast<const Class*>(&t)) {
197-
return std::accumulate(c->members.cbegin(), c->members.cend(), 0,
198-
[](size_t a, const auto& m) {
199-
if (m.name.starts_with(AddPadding::MemberPrefix))
200-
return a + m.type().size();
201-
return a;
202-
});
197+
return std::accumulate(
198+
c->members.cbegin(), c->members.cend(), 0, [](size_t a, const auto& m) {
199+
if (m.name.starts_with(AddPadding::MemberPrefix))
200+
return a + m.type().size();
201+
return a;
202+
});
203203
}
204204
return t.size();
205205
}
@@ -1087,8 +1087,8 @@ constexpr inst::Field make_field(std::string_view name) {
10871087
TemplateParam{typeGraph.makeType<Primitive>(Primitive::Kind::UInt64),
10881088
"0"},
10891089
};
1090-
genContainerTypeHandler(features, used, FuncGen::GetOiArrayContainerInfo(),
1091-
arrayParams, code);
1090+
genContainerTypeHandler(
1091+
features, used, FuncGen::GetOiArrayContainerInfo(), arrayParams, code);
10921092
}
10931093

10941094
} // namespace
@@ -1098,12 +1098,17 @@ void CodeGen::addTypeHandlers(const TypeGraph& typeGraph, std::string& code) {
10981098
if (const auto* c = dynamic_cast<const Class*>(&t)) {
10991099
genClassTypeHandler(*c, code);
11001100
} else if (const auto* con = dynamic_cast<const Container*>(&t)) {
1101-
genContainerTypeHandler(config_.features, definedContainers_,
1102-
con->containerInfo_, con->templateParams, code);
1101+
genContainerTypeHandler(config_.features,
1102+
definedContainers_,
1103+
con->containerInfo_,
1104+
con->templateParams,
1105+
code);
11031106
} else if (const auto* cap = dynamic_cast<const CaptureKeys*>(&t)) {
1104-
genContainerTypeHandler(config_.features, definedContainers_,
1107+
genContainerTypeHandler(config_.features,
1108+
definedContainers_,
11051109
cap->containerInfo(),
1106-
cap->container().templateParams, code);
1110+
cap->container().templateParams,
1111+
code);
11071112
}
11081113
}
11091114
}
@@ -1301,7 +1306,8 @@ void CodeGen::generate(
13011306
}
13021307

13031308
if (config_.features[Feature::TreeBuilderV2]) {
1304-
FuncGen::DefineTreeBuilderInstructions(code, typeName,
1309+
FuncGen::DefineTreeBuilderInstructions(code,
1310+
typeName,
13051311
calculateExclusiveSize(rootType),
13061312
enumerateTypeNames(rootType));
13071313
} else if (config_.features[Feature::TreeBuilderTypeChecking]) {

oi/Config.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -215,8 +215,8 @@ std::optional<FeatureSet> processConfigFile(
215215
auto* members = (*captureKeys)["members"].as_array();
216216
if (!members) {
217217
generatorConfig.keysToCapture.push_back(
218-
OICodeGen::Config::KeyToCapture{type->value_or(""), "*",
219-
false});
218+
OICodeGen::Config::KeyToCapture{
219+
type->value_or(""), "*", false});
220220
} else {
221221
for (auto&& member : *members) {
222222
generatorConfig.keysToCapture.push_back(
@@ -226,8 +226,8 @@ std::optional<FeatureSet> processConfigFile(
226226
}
227227
} else if (topLevel) {
228228
generatorConfig.keysToCapture.push_back(
229-
OICodeGen::Config::KeyToCapture{std::nullopt, std::nullopt,
230-
true});
229+
OICodeGen::Config::KeyToCapture{
230+
std::nullopt, std::nullopt, true});
231231
}
232232
}
233233
}

oi/ContainerInfo.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,8 @@ ContainerInfo::ContainerInfo(std::string typeName_,
323323
matcher(getMatcher(typeName)),
324324
ctype(ctype_),
325325
header(std::move(header_)),
326-
codegen(Codegen{"// DummyDecl %1%\n", "// DummyFunc %1%\n",
327-
"// DummyHandler %1%\n", "// DummyFunc\n"}) {
326+
codegen(Codegen{"// DummyDecl %1%\n",
327+
"// DummyFunc %1%\n",
328+
"// DummyHandler %1%\n",
329+
"// DummyFunc\n"}) {
328330
}

oi/FuncGen.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -800,7 +800,8 @@ void FuncGen::DefineBasicTypeHandlers(std::string& code, FeatureSet features) {
800800
}
801801

802802
ContainerInfo FuncGen::GetOiArrayContainerInfo() {
803-
ContainerInfo oiArray{"OIArray", UNKNOWN_TYPE,
803+
ContainerInfo oiArray{"OIArray",
804+
UNKNOWN_TYPE,
804805
"cstdint"}; // TODO: remove the need for a dummy header
805806

806807
oiArray.codegen.handler = R"(

oi/Metrics.cpp

+5-2
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,11 @@ void Tracing::stop() {
130130

131131
std::lock_guard<std::mutex> guard{static_.mutex};
132132
// Can't use emplace_back() because of old clang++ on CI
133-
static_.traces.push_back({getNextIndex(), std::move(traceName),
134-
duration.count(), rssBeforeBytes, rssAfterBytes});
133+
static_.traces.push_back({getNextIndex(),
134+
std::move(traceName),
135+
duration.count(),
136+
rssBeforeBytes,
137+
rssAfterBytes});
135138
}
136139

137140
void Tracing::saveTraces(const std::filesystem::path& output) {

oi/OICodeGen.cpp

+58-35
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,8 @@ std::string OICodeGen::preProcessUniquePtr(drgn_type* type, std::string name) {
204204
} else if (typeSize == cFunctionDeleterSize) {
205205
name.replace(begin, end - begin + 1, "void(*)(" + typeName + "*)");
206206
} else if (typeSize == stdFunctionDeleterSize) {
207-
name.replace(begin, end - begin + 1,
208-
"std::function<void (" + typeName + "*)>");
207+
name.replace(
208+
begin, end - begin + 1, "std::function<void (" + typeName + "*)>");
209209
} else {
210210
LOG(ERROR) << "Unhandled case, unique_ptr size: " << typeSize;
211211
}
@@ -540,8 +540,8 @@ bool OICodeGen::buildNameInt(drgn_type* type,
540540
templateParamsStrings.push_back(templateParamName);
541541
}
542542

543-
replaceTemplateParameters(type, templateParams, templateParamsStrings,
544-
nameWithoutTemplate);
543+
replaceTemplateParameters(
544+
type, templateParams, templateParamsStrings, nameWithoutTemplate);
545545

546546
outName = nameWithoutTemplate;
547547
for (size_t i = 0; i < templateParamsStrings.size(); ++i) {
@@ -765,8 +765,9 @@ bool OICodeGen::enumerateTemplateParamIdxs(drgn_type* type,
765765

766766
auto& templateTypes =
767767
containerTypeMapDrgn
768-
.emplace(type, std::pair(std::ref(containerInfo),
769-
std::vector<drgn_qualified_type>()))
768+
.emplace(type,
769+
std::pair(std::ref(containerInfo),
770+
std::vector<drgn_qualified_type>()))
770771
.first->second.second;
771772

772773
for (auto i : paramIdxs) {
@@ -1721,8 +1722,8 @@ void OICodeGen::enumerateDescendants(drgn_type* type, drgn_type* baseType) {
17211722

17221723
// TODO this list may end up containing duplicates
17231724
const auto& children = it->second;
1724-
descendantClasses[baseType].insert(descendantClasses[baseType].end(),
1725-
children.begin(), children.end());
1725+
descendantClasses[baseType].insert(
1726+
descendantClasses[baseType].end(), children.begin(), children.end());
17261727

17271728
for (const auto& child : children) {
17281729
enumerateDescendants(child, baseType);
@@ -1878,7 +1879,8 @@ void OICodeGen::memberTransformName(
18781879
sortedTypes.push_back(e.first);
18791880
}
18801881

1881-
std::sort(sortedTypes.begin(), sortedTypes.end(),
1882+
std::sort(sortedTypes.begin(),
1883+
sortedTypes.end(),
18821884
[](const std::string& first, const std::string& second) {
18831885
return first.size() > second.size();
18841886
});
@@ -2212,8 +2214,13 @@ bool OICodeGen::generateStructDef(drgn_type* e, std::string& code) {
22122214

22132215
uint64_t offsetBits = 0;
22142216
std::unordered_map<std::string, int> memberNames;
2215-
if (!generateStructMembers(e, memberNames, generatedMembers, offsetBits,
2216-
paddingInfo, violatesAlignmentRequirement, 0)) {
2217+
if (!generateStructMembers(e,
2218+
memberNames,
2219+
generatedMembers,
2220+
offsetBits,
2221+
paddingInfo,
2222+
violatesAlignmentRequirement,
2223+
0)) {
22172224
return false;
22182225
}
22192226

@@ -2471,8 +2478,8 @@ std::optional<uint64_t> OICodeGen::generateMember(
24712478
currOffsetBits = 0;
24722479
VLOG(1) << "Member size: " << memberSize;
24732480
} else {
2474-
addSizeComment(feature(Feature::GenPaddingStats), code, currOffsetBits,
2475-
memberSize);
2481+
addSizeComment(
2482+
feature(Feature::GenPaddingStats), code, currOffsetBits, memberSize);
24762483
currOffsetBits = currOffsetBits + memberSize;
24772484
}
24782485

@@ -2499,8 +2506,12 @@ bool OICodeGen::generateParent(
24992506
auto* underlyingType = drgn_utils::underlyingType(p);
25002507
uint64_t offsetBits = 0;
25012508

2502-
if (!generateStructMembers(underlyingType, memberNames, code, offsetBits,
2503-
paddingInfo, violatesAlignmentRequirement,
2509+
if (!generateStructMembers(underlyingType,
2510+
memberNames,
2511+
code,
2512+
offsetBits,
2513+
paddingInfo,
2514+
violatesAlignmentRequirement,
25042515
offsetToNextMember)) {
25052516
return false;
25062517
}
@@ -2657,8 +2668,11 @@ bool OICodeGen::generateStructMembers(
26572668
size_t prevOffsetBits = currOffsetBits;
26582669

26592670
auto newCurrOffsetBits =
2660-
generateMember(members[memberIndex], memberNames, currOffsetBits,
2661-
code, drgn_type_kind(e) == DRGN_TYPE_UNION);
2671+
generateMember(members[memberIndex],
2672+
memberNames,
2673+
currOffsetBits,
2674+
code,
2675+
drgn_type_kind(e) == DRGN_TYPE_UNION);
26622676

26632677
if (!newCurrOffsetBits.has_value()) {
26642678
return false;
@@ -2770,8 +2784,11 @@ bool OICodeGen::generateStructMembers(
27702784
}
27712785
}
27722786

2773-
if (!generateParent(parentClasses[e][parentIndex].type, memberNames,
2774-
currOffsetBits, code, offsetToNextMember)) {
2787+
if (!generateParent(parentClasses[e][parentIndex].type,
2788+
memberNames,
2789+
currOffsetBits,
2790+
code,
2791+
offsetToNextMember)) {
27752792
return false;
27762793
}
27772794

@@ -2869,8 +2886,8 @@ bool OICodeGen::generateStructDefs(std::string& code) {
28692886
if (parentClassesCopy.find(e) != parentClassesCopy.end()) {
28702887
auto& parents = parentClassesCopy[e];
28712888
for (auto& p : parents) {
2872-
auto it2 = std::find(structDefTypeCopy.begin(),
2873-
structDefTypeCopy.end(), p.type);
2889+
auto it2 = std::find(
2890+
structDefTypeCopy.begin(), structDefTypeCopy.end(), p.type);
28742891
if (it2 != structDefTypeCopy.cend()) {
28752892
skip = true;
28762893
break;
@@ -2886,7 +2903,8 @@ bool OICodeGen::generateStructDefs(std::string& code) {
28862903

28872904
if (underlyingType != e) {
28882905
auto it2 = std::find(structDefTypeCopy.begin(),
2889-
structDefTypeCopy.end(), underlyingType);
2906+
structDefTypeCopy.end(),
2907+
underlyingType);
28902908
if (it2 != structDefTypeCopy.cend()) {
28912909
skip = true;
28922910
break;
@@ -3204,8 +3222,8 @@ bool OICodeGen::generateJitCode(std::string& code) {
32043222
std::string functionsCode;
32053223
functionsCode.append("namespace OIInternal {\nnamespace {\n");
32063224
functionsCode.append("// functions -----\n");
3207-
if (!funcGen.DeclareGetSizeFuncs(functionsCode, containerTypesFuncDef,
3208-
config.features)) {
3225+
if (!funcGen.DeclareGetSizeFuncs(
3226+
functionsCode, containerTypesFuncDef, config.features)) {
32093227
LOG(ERROR) << "declaring get size for containers failed";
32103228
return false;
32113229
}
@@ -3235,8 +3253,8 @@ bool OICodeGen::generateJitCode(std::string& code) {
32353253
funcGen.DeclareEncodeData(functionsCode);
32363254
funcGen.DeclareEncodeDataSize(functionsCode);
32373255

3238-
if (!funcGen.DefineGetSizeFuncs(functionsCode, containerTypesFuncDef,
3239-
config.features)) {
3256+
if (!funcGen.DefineGetSizeFuncs(
3257+
functionsCode, containerTypesFuncDef, config.features)) {
32403258
LOG(ERROR) << "defining get size for containers failed";
32413259
return false;
32423260
}
@@ -3289,8 +3307,8 @@ bool OICodeGen::generateJitCode(std::string& code) {
32893307
bool generateOffsetAsserts =
32903308
(drgn_type_kind(structType) != DRGN_TYPE_UNION);
32913309

3292-
if (!addStaticAssertsForType(structType, generateOffsetAsserts,
3293-
functionsCode)) {
3310+
if (!addStaticAssertsForType(
3311+
structType, generateOffsetAsserts, functionsCode)) {
32943312
return false;
32953313
}
32963314
}
@@ -3328,11 +3346,11 @@ bool OICodeGen::generateJitCode(std::string& code) {
33283346
if (rootTypeStr.starts_with("unique_ptr") ||
33293347
rootTypeStr.starts_with("LowPtr") ||
33303348
rootTypeStr.starts_with("shared_ptr")) {
3331-
funcGen.DefineTopLevelGetSizeSmartPtr(functionsCode, rawTypeName,
3332-
config.features);
3349+
funcGen.DefineTopLevelGetSizeSmartPtr(
3350+
functionsCode, rawTypeName, config.features);
33333351
} else {
3334-
funcGen.DefineTopLevelGetSizeRef(functionsCode, rawTypeName,
3335-
config.features);
3352+
funcGen.DefineTopLevelGetSizeRef(
3353+
functionsCode, rawTypeName, config.features);
33363354
}
33373355
}
33383356

@@ -3593,7 +3611,9 @@ bool OICodeGen::staticAssertMemberOffsets(
35933611
// Operate on the underlying type for typedefs
35943612
return staticAssertMemberOffsets(struct_name,
35953613
drgn_utils::underlyingType(struct_type),
3596-
assert_str, memberNames, base_offset);
3614+
assert_str,
3615+
memberNames,
3616+
base_offset);
35973617
}
35983618

35993619
const auto* tag = drgn_type_tag(struct_type);
@@ -3606,8 +3626,11 @@ bool OICodeGen::staticAssertMemberOffsets(
36063626
// Recurse into parents to find inherited members
36073627
for (const auto& parent : parentClasses[struct_type]) {
36083628
auto parentOffset = base_offset + parent.bit_offset / CHAR_BIT;
3609-
if (!staticAssertMemberOffsets(struct_name, parent.type, assert_str,
3610-
memberNames, parentOffset)) {
3629+
if (!staticAssertMemberOffsets(struct_name,
3630+
parent.type,
3631+
assert_str,
3632+
memberNames,
3633+
parentOffset)) {
36113634
return false;
36123635
}
36133636
}

0 commit comments

Comments
 (0)