https://github.com/vbvictor created https://github.com/llvm/llvm-project/pull/140753
- Deleted unused includes - Deleted useless braces - Modernized tests to use `CHECK-MESSAGES-NOT` and `CHECK-FIXES-NOT` for better readability and maintainability >From 60c4c0432a47637bedd20a88c60b5a715473c78a Mon Sep 17 00:00:00 2001 From: Baranov Victor <bar.victor.2...@gmail.com> Date: Tue, 20 May 2025 19:02:16 +0300 Subject: [PATCH] [clang-tidy][nfc] refactor pass-by-value check tests to use check-fixes-not and deleted unused code in the check --- .../clang-tidy/modernize/PassByValueCheck.cpp | 3 +-- .../clang-tidy/modernize/PassByValueCheck.h | 2 -- .../checkers/modernize/pass-by-value.cpp | 24 ++++++++++--------- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp b/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp index 7a9d04bfa8ba1..35f90fb8da15b 100644 --- a/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp +++ b/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp @@ -166,9 +166,8 @@ static bool hasRValueOverload(const CXXConstructorDecl *Ctor, }; for (const auto *Candidate : Record->ctors()) { - if (IsRValueOverload(Candidate)) { + if (IsRValueOverload(Candidate)) return true; - } } return false; } diff --git a/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.h b/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.h index c7677edc37dc4..b586b8d5fbf66 100644 --- a/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.h +++ b/clang-tools-extra/clang-tidy/modernize/PassByValueCheck.h @@ -12,8 +12,6 @@ #include "../ClangTidyCheck.h" #include "../utils/IncludeInserter.h" -#include <memory> - namespace clang::tidy::modernize { class PassByValueCheck : public ClangTidyCheck { diff --git a/clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp b/clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp index c0ebaebe4ccf6..4977186478793 100644 --- a/clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp +++ b/clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp @@ -32,7 +32,7 @@ struct A { Movable GlobalObj; struct B { B(const Movable &M) : M(GlobalObj) {} - // CHECK-FIXES: B(const Movable &M) : M(GlobalObj) {} + // CHECK-MESSAGES-NOT: :[[@LINE-1]]:5: warning: pass by value and use std::move Movable M; }; @@ -40,11 +40,11 @@ struct B { struct C { // Tests extra-reference in body. C(const Movable &M) : M(M) { this->i = M.a; } - // CHECK-FIXES: C(const Movable &M) : M(M) { this->i = M.a; } + // CHECK-MESSAGES-NOT: :[[@LINE-1]]:5: warning: pass by value and use std::move // Tests extra-reference in init-list. C(const Movable &M, int) : M(M), i(M.a) {} - // CHECK-FIXES: C(const Movable &M, int) : M(M), i(M.a) {} + // CHECK-MESSAGES-NOT: :[[@LINE-1]]:5: warning: pass by value and use std::move Movable M; int i; }; @@ -70,7 +70,7 @@ struct E { // Test with object that can't be moved. struct F { F(const NotMovable &NM) : NM(NM) {} - // CHECK-FIXES: F(const NotMovable &NM) : NM(NM) {} + // CHECK-MESSAGES-NOT: :[[@LINE-1]]:5: warning: pass by value and use std::move NotMovable NM; }; @@ -112,7 +112,8 @@ struct I { // Test that templates aren't modified. template <typename T> struct J { J(const T &M) : M(M) {} - // CHECK-FIXES: J(const T &M) : M(M) {} + // CHECK-MESSAGES-NOT: :[[@LINE-1]]:5: warning: pass by value and use std::move + // CHECK-FIXES-NOT: J(T M) : M(std::move(M)) {} T M; }; J<Movable> j1(Movable()); @@ -129,13 +130,14 @@ struct MovableTemplateT template <class T> struct J2 { J2(const MovableTemplateT<T>& A); - // CHECK-FIXES: J2(const MovableTemplateT<T>& A); + // CHECK-FIXES-NOT: J2(MovableTemplateT<T> A); MovableTemplateT<T> M; }; template <class T> J2<T>::J2(const MovableTemplateT<T>& A) : M(A) {} -// CHECK-FIXES: J2<T>::J2(const MovableTemplateT<T>& A) : M(A) {} +// CHECK-MESSAGES-NOT: :[[@LINE-1]]:11: warning: pass by value and use std::move +// CHECK-FIXES-NOT: J2<T>::J2(MovableTemplateT<T> A) : M(std::move(A)) {} J2<int> j3(MovableTemplateT<int>{}); struct K_Movable { @@ -182,7 +184,7 @@ struct O { // Test with a const-value parameter. struct P { P(const Movable M) : M(M) {} - // CHECK-FIXES: P(const Movable M) : M(M) {} + // CHECK-MESSAGES-NOT: :[[@LINE-1]]:5: warning: pass by value and use std::move Movable M; }; @@ -215,7 +217,7 @@ struct R { // Test with rvalue parameter. struct S { S(Movable &&M) : M(M) {} - // CHECK-FIXES: S(Movable &&M) : M(M) {} + // CHECK-MESSAGES-NOT: :[[@LINE-1]]:5: warning: pass by value and use std::move Movable M; }; @@ -225,13 +227,13 @@ template <typename T, int N> struct array { T A[N]; }; // cause problems with performance-move-const-arg, as it will revert it. struct T { T(array<int, 10> a) : a_(a) {} - // CHECK-FIXES: T(array<int, 10> a) : a_(a) {} + // CHECK-MESSAGES-NOT: :[[@LINE-1]]:5: warning: pass by value and use std::move array<int, 10> a_; }; struct U { U(const POD &M) : M(M) {} - // CHECK-FIXES: U(const POD &M) : M(M) {} + // CHECK-MESSAGES-NOT: :[[@LINE-1]]:5: warning: pass by value and use std::move POD M; }; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits