summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrevor Guidry <trevor.guidry@mongodb.com>2022-09-15 17:38:01 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-09-15 21:02:47 +0000
commit2c903273045c274083dbb7a25746e927100ba634 (patch)
tree37b77cede53771bb8fd2e729d29000fdc88941e1
parentd2c70e27724e27ffa412929bc7b11a64afde194e (diff)
downloadmongo-2c903273045c274083dbb7a25746e927100ba634.tar.gz
SERVER-69578 add bugprone-misplaced-widening-cast check to clang-tidy
-rw-r--r--.clang-tidy2
-rw-r--r--src/mongo/db/repl/oplog_applier_test.cpp3
-rw-r--r--src/mongo/db/repl/tenant_oplog_batcher_test.cpp2
-rw-r--r--src/mongo/db/s/auto_split_vector.cpp2
-rw-r--r--src/mongo/db/s/balancer/balancer_defragmentation_policy_impl.cpp11
-rw-r--r--src/mongo/db/sorter/sorter.cpp2
-rw-r--r--src/mongo/util/tcmalloc_server_status_section.cpp4
7 files changed, 15 insertions, 11 deletions
diff --git a/.clang-tidy b/.clang-tidy
index efdc688a0af..f45cd314ec8 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -16,6 +16,7 @@ Checks: '-*,
bugprone-incorrect-roundings,
bugprone-macro-repeated-side-effects,
bugprone-misplaced-operator-in-strlen-in-alloc,
+ bugprone-misplaced-widening-cast,
bugprone-multiple-statement-macro,
bugprone-string-integer-assignment,
bugprone-suspicious-enum-usage,
@@ -40,7 +41,6 @@ Checks: '-*,
-bugprone-forwarding-reference-overload,
-bugprone-lambda-function-name,
-bugprone-macro-parentheses,
- -bugprone-misplaced-widening-cast,
-bugprone-move-forwarding-reference,
-bugprone-narrowing-conversions,
-bugprone-parent-virtual-call,
diff --git a/src/mongo/db/repl/oplog_applier_test.cpp b/src/mongo/db/repl/oplog_applier_test.cpp
index c8b8016d4ca..fbd35674d1e 100644
--- a/src/mongo/db/repl/oplog_applier_test.cpp
+++ b/src/mongo/db/repl/oplog_applier_test.cpp
@@ -237,7 +237,8 @@ TEST_F(OplogApplierTest, GetNextApplierBatchChecksBatchLimitsForSizeOfOperations
_applier->enqueue(opCtx(), srcOps.cbegin(), srcOps.cend());
// Set batch limits so that only the first two operations can fit into the first batch.
- _limits.bytes = std::size_t(srcOps[0].getRawObjSizeBytes() + srcOps[1].getRawObjSizeBytes());
+ _limits.bytes =
+ std::size_t(srcOps[0].getRawObjSizeBytes()) + std::size_t(srcOps[1].getRawObjSizeBytes());
// First batch: [insert, insert]
auto batch = unittest::assertGet(_applier->getNextApplierBatch(opCtx(), _limits));
diff --git a/src/mongo/db/repl/tenant_oplog_batcher_test.cpp b/src/mongo/db/repl/tenant_oplog_batcher_test.cpp
index 5b82a4c4afe..e7e1e4791a8 100644
--- a/src/mongo/db/repl/tenant_oplog_batcher_test.cpp
+++ b/src/mongo/db/repl/tenant_oplog_batcher_test.cpp
@@ -299,7 +299,7 @@ TEST_F(TenantOplogBatcherTest, GetNextApplierBatchChecksBatchLimitsForSizeOfOper
// Set batch limits so that only the first two operations can fit into the first batch.
auto limits = bigBatchLimits;
- limits.bytes = std::size_t(srcOps[0].objsize() + srcOps[1].objsize());
+ limits.bytes = std::size_t(srcOps[0].objsize()) + std::size_t(srcOps[1].objsize());
auto batcher = std::make_shared<TenantOplogBatcher>(
_migrationUuid, &_oplogBuffer, _executor, Timestamp(), OpTime());
ASSERT_OK(batcher->startup());
diff --git a/src/mongo/db/s/auto_split_vector.cpp b/src/mongo/db/s/auto_split_vector.cpp
index 26eaac24669..efbdad8c3c5 100644
--- a/src/mongo/db/s/auto_split_vector.cpp
+++ b/src/mongo/db/s/auto_split_vector.cpp
@@ -271,7 +271,7 @@ std::pair<std::vector<BSONObj>, bool> autoSplitVector(OperationContext* opCtx,
lastSplitPoint = splitKeys.back();
numScannedKeys = 0;
- if (limit && splitKeys.size() == static_cast<size_t>(*limit + 1)) {
+ if (limit && splitKeys.size() == static_cast<size_t>(*limit) + 1) {
// If the user has specified a limit, calculate the first `limit + 1` split
// points (avoid creating small chunks)
break;
diff --git a/src/mongo/db/s/balancer/balancer_defragmentation_policy_impl.cpp b/src/mongo/db/s/balancer/balancer_defragmentation_policy_impl.cpp
index 2cadf4e26b0..59d6bae1fc7 100644
--- a/src/mongo/db/s/balancer/balancer_defragmentation_policy_impl.cpp
+++ b/src/mongo/db/s/balancer/balancer_defragmentation_policy_impl.cpp
@@ -336,8 +336,8 @@ public:
rangesToMerge += pendingActions.rangesToMerge.size();
rangesWithoutDataSize += pendingActions.rangesWithoutDataSize.size();
}
- auto remainingChunksToProcess =
- static_cast<long long>(_outstandingActions + rangesToMerge + rangesWithoutDataSize);
+ auto remainingChunksToProcess = static_cast<long long>(_outstandingActions) +
+ static_cast<long long>(rangesToMerge) + static_cast<long long>(rangesWithoutDataSize);
return BSON(kRemainingChunksToProcess << remainingChunksToProcess);
}
@@ -1129,7 +1129,8 @@ public:
for (const auto& [_, unmergedRanges] : _unmergedRangesByShard) {
rangesToMerge += unmergedRanges.size();
}
- auto remainingRangesToProcess = static_cast<long long>(_outstandingActions + rangesToMerge);
+ auto remainingRangesToProcess =
+ static_cast<long long>(_outstandingActions) + static_cast<long long>(rangesToMerge);
return BSON(kRemainingChunksToProcess << remainingRangesToProcess);
}
@@ -1343,8 +1344,8 @@ public:
rangesToFindSplitPoints += pendingActions.rangesToFindSplitPoints.size();
rangesToSplit += pendingActions.rangesToSplit.size();
}
- auto remainingChunksToProcess =
- static_cast<long long>(_outstandingActions + rangesToFindSplitPoints + rangesToSplit);
+ auto remainingChunksToProcess = static_cast<long long>(_outstandingActions) +
+ static_cast<long long>(rangesToFindSplitPoints) + static_cast<long long>(rangesToSplit);
return BSON(kRemainingChunksToProcess << remainingChunksToProcess);
}
diff --git a/src/mongo/db/sorter/sorter.cpp b/src/mongo/db/sorter/sorter.cpp
index fccf8cbd956..c39876dd1da 100644
--- a/src/mongo/db/sorter/sorter.cpp
+++ b/src/mongo/db/sorter/sorter.cpp
@@ -1319,7 +1319,7 @@ void SortedFileWriter<Key, Value>::writeChunk() {
snappy::Compress(outBuffer, size, &compressed);
verify(compressed.size() <= size_t(std::numeric_limits<int32_t>::max()));
- const bool shouldCompress = compressed.size() < size_t(_buffer.len() / 10 * 9);
+ const bool shouldCompress = compressed.size() < (size_t(_buffer.len()) / 10 * 9);
if (shouldCompress) {
size = compressed.size();
outBuffer = const_cast<char*>(compressed.data());
diff --git a/src/mongo/util/tcmalloc_server_status_section.cpp b/src/mongo/util/tcmalloc_server_status_section.cpp
index 2df8d9022d6..292d60001bf 100644
--- a/src/mongo/util/tcmalloc_server_status_section.cpp
+++ b/src/mongo/util/tcmalloc_server_status_section.cpp
@@ -119,7 +119,9 @@ public:
MallocExtension::instance()->GetNumericProperty("tcmalloc.thread_cache_free_bytes",
&thread)) {
sub.appendNumber("total_free_bytes",
- static_cast<long long>(central + transfer + thread));
+ static_cast<long long>(central) +
+ static_cast<long long>(transfer) +
+ static_cast<long long>(thread));
}
appendNumericPropertyIfAvailable(
sub, "central_cache_free_bytes", "tcmalloc.central_cache_free_bytes");