diff --git a/.clang-tidy b/.clang-tidy index e43f3d550a78..a45142433ef7 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -12,6 +12,7 @@ bugprone-*, -bugprone-macro-parentheses, -bugprone-lambda-function-name, -bugprone-reserved-identifier, +-bugprone-return-const-ref-from-parameter, -bugprone-swapped-arguments, clang-analyzer-core.*, clang-analyzer-cplusplus.*, @@ -24,6 +25,7 @@ cppcoreguidelines-*, -cppcoreguidelines-avoid-non-const-global-variables, -cppcoreguidelines-interfaces-global-init, -cppcoreguidelines-macro-usage, +-cppcoreguidelines-macro-to-enum, -cppcoreguidelines-owning-memory, -cppcoreguidelines-pro-bounds-array-to-pointer-decay, -cppcoreguidelines-pro-bounds-constant-array-index, @@ -46,6 +48,7 @@ misc-*, -misc-no-recursion, -misc-non-private-member-variables-in-classes, -misc-unused-using-decls, +-misc-use-internal-linkage, modernize-*, -modernize-macro-to-enum, -modernize-return-braced-init-list, @@ -55,6 +58,7 @@ modernize-*, -modernize-use-trailing-return-type, -modernize-use-nodiscard, performance-*, +-performance-enum-size, readability-container-size-empty, readability-delete-null-pointer, readability-duplicate-include diff --git a/aten/src/ATen/MapAllocator.cpp b/aten/src/ATen/MapAllocator.cpp index 953c0df5883f..be10641aa271 100644 --- a/aten/src/ATen/MapAllocator.cpp +++ b/aten/src/ATen/MapAllocator.cpp @@ -272,6 +272,7 @@ MapAllocator::MapAllocator(WithFd, std::string_view filename, int fd, int flags, } } else { fd = fd_; + TORCH_INTERNAL_ASSERT(fd >= 0); } struct stat file_stat{}; diff --git a/aten/src/ATen/core/IListRef_test.cpp b/aten/src/ATen/core/IListRef_test.cpp index a2659ff623e5..505a80216d67 100644 --- a/aten/src/ATen/core/IListRef_test.cpp +++ b/aten/src/ATen/core/IListRef_test.cpp @@ -12,6 +12,7 @@ using namespace c10; static std::vector get_tensor_vector() { std::vector tensors; const size_t SIZE = 5; + tensors.reserve(SIZE); for (size_t i = 0; i < SIZE; i++) { tensors.emplace_back(at::empty({0})); } diff --git a/c10/core/SymInt.cpp b/c10/core/SymInt.cpp index a36214e0baf0..70dfc0b74af8 100644 --- a/c10/core/SymInt.cpp +++ b/c10/core/SymInt.cpp @@ -29,8 +29,8 @@ SymNode SymInt::toSymNode() const { SymInt::SymInt(SymNode sin_sp) { TORCH_CHECK_ALWAYS_SHOW_CPP_STACKTRACE( sin_sp->is_int(), "SymInt::SymInt sin_sp->is_int()"); - auto ptr = static_cast( - reinterpret_cast(static_cast(sin_sp.release()))); + auto ptr = + static_cast(reinterpret_cast(sin_sp.release())); auto rep = (ptr & ~MASK) | IS_SYM; data_ = static_cast(rep); } diff --git a/c10/core/WrapDimMinimal.cpp b/c10/core/WrapDimMinimal.cpp index c95753432580..fffb5eb35fef 100644 --- a/c10/core/WrapDimMinimal.cpp +++ b/c10/core/WrapDimMinimal.cpp @@ -3,6 +3,7 @@ namespace c10::detail { template +// NOLINTNEXTLINE(performance-unnecessary-value-param) T maybe_wrap_dim_slow(T dim, T dim_post_expr, bool wrap_scalar) { TORCH_CHECK_INDEX( dim_post_expr >= 0, "Rank cannot be negative but got ", dim_post_expr); diff --git a/c10/cuda/CUDAAllocatorConfig.cpp b/c10/cuda/CUDAAllocatorConfig.cpp index 0f27cd08d070..632c7af5b80d 100644 --- a/c10/cuda/CUDAAllocatorConfig.cpp +++ b/c10/cuda/CUDAAllocatorConfig.cpp @@ -143,6 +143,7 @@ size_t CUDAAllocatorConfig::parseRoundUpPower2Divisions( if (++i < config.size()) { if (std::string_view(config[i]) == "[") { size_t last_index = 0; + // NOLINTNEXTLINE(bugprone-inc-dec-in-conditions) while (++i < config.size() && std::string_view(config[i]) != "]") { const std::string& val1 = config[i]; size_t val2 = 0; diff --git a/c10/test/core/DispatchKeySet_test.cpp b/c10/test/core/DispatchKeySet_test.cpp index 7877cc76fbba..c24fa4047e59 100644 --- a/c10/test/core/DispatchKeySet_test.cpp +++ b/c10/test/core/DispatchKeySet_test.cpp @@ -313,7 +313,9 @@ TEST(DispatchKeySet, IteratorBasicOps) { ASSERT_TRUE(full_set.begin() != full_set.end()); // Increment Ops + // NOLINTNEXTLINE(bugprone-inc-dec-in-conditions) ASSERT_TRUE(full_set.begin() == full_set.begin()++); + // NOLINTNEXTLINE(bugprone-inc-dec-in-conditions) ASSERT_TRUE(full_set.begin() != ++full_set.begin()); } @@ -430,9 +432,13 @@ TEST(DispatchKeySet, TestFunctionalityDispatchKeyToString) { k == DispatchKey::StartOfAutogradFunctionalityBackends) continue; auto res = std::string(toString(k)); - ASSERT_TRUE(res.find("Unknown") == std::string::npos) - << i << " (before is " << toString(static_cast(i - 1)) - << ")"; + if (i > 0) { + ASSERT_TRUE(res.find("Unknown") == std::string::npos) + << i << " (before is " << toString(static_cast(i - 1)) + << ")"; + } else { + ASSERT_TRUE(res.find("Unknown") == std::string::npos) << i; + } ASSERT_TRUE(seen_strings.count(res) == 0); seen_strings.insert(res); } diff --git a/c10/test/util/lazy_test.cpp b/c10/test/util/lazy_test.cpp index ea59c59d4963..d3e208ecae5e 100644 --- a/c10/test/util/lazy_test.cpp +++ b/c10/test/util/lazy_test.cpp @@ -23,6 +23,7 @@ TEST(LazyTest, OptimisticLazy) { std::vector threads; std::atomic address = nullptr; + threads.reserve(kNumThreads); for (size_t i = 0; i < kNumThreads; ++i) { threads.emplace_back([&] { auto* p = &s.ensure(factory); diff --git a/c10/util/string_view.h b/c10/util/string_view.h index ae38c55656ea..4858716a75b9 100644 --- a/c10/util/string_view.h +++ b/c10/util/string_view.h @@ -61,11 +61,7 @@ class basic_string_view final { constexpr basic_string_view(const basic_string_view&) noexcept = default; constexpr basic_string_view& operator=( - const basic_string_view& rhs) noexcept { - begin_ = rhs.begin_; - size_ = rhs.size_; - return *this; - } + const basic_string_view& rhs) noexcept = default; constexpr operator ::std::basic_string_view() const { return ::std::basic_string_view(data(), size()); diff --git a/tools/linter/adapters/s3_init_config.json b/tools/linter/adapters/s3_init_config.json index 94bd7b679b5f..54f0a2f2d96a 100644 --- a/tools/linter/adapters/s3_init_config.json +++ b/tools/linter/adapters/s3_init_config.json @@ -22,16 +22,16 @@ }, "clang-tidy": { "Darwin-i386": { - "download_url": "https://oss-clang-format.s3.us-east-2.amazonaws.com/macos-i386/15.0.6/clang-tidy", - "hash": "11c9234155dd5b7aec8cf46ea9629401c4432576615b6eff2a5a4c5e3f9e6504" + "download_url": "https://oss-clang-format.s3.us-east-2.amazonaws.com/macos-i386/19.1.4/clang-tidy", + "hash": "7b5da17d3f8b1c18c77d043999f05293f43402affb16de15dfcb276971984a3e" }, "Darwin-arm": { - "download_url": "https://oss-clang-format.s3.us-east-2.amazonaws.com/macos-arm/15.0.6/clang-tidy", - "hash": "4ed664cf50bb9fddec2d4170b3d7bbe0135dc5648acbd620b61c8d25a5a2fdb7" + "download_url": "https://oss-clang-format.s3.us-east-2.amazonaws.com/macos-arm/19.1.4/clang-tidy", + "hash": "04243f4044fe6d95f6d51d15be803331c3cbb61f2d8fcfeba5a5dec1e7ae6dfb" }, "Linux": { - "download_url": "https://oss-clang-format.s3.us-east-2.amazonaws.com/linux64/17.0.6/clang-tidy", - "hash": "a93110b0d58b430bb7ce86c8497f2528e1d44eed25d546557e7ec45c44ddfeb7" + "download_url": "https://oss-clang-format.s3.us-east-2.amazonaws.com/linux64/19.1.4/clang-tidy", + "hash": "5637bd0fca665d2797926fedf53ca5ad4655bb9dbed1e1c8654c8e032ce1e7a8" } }, "actionlint": {