[PATCH] D97488: [clang-tidy][NFC] Tweak some generation of diag messages
This revision was automatically updated to reflect the committed changes. Closed by commit rG1a721b6a2634: [clang-tidy][NFC] Tweak some generation of diag messages (authored by njames93). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D97488/new/ https://reviews.llvm.org/D97488 Files: clang-tools-extra/clang-tidy/abseil/DurationFactoryFloatCheck.cpp clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp clang-tools-extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp clang-tools-extra/clang-tidy/misc/UnconventionalAssignOperatorCheck.cpp clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp clang-tools-extra/clang-tidy/modernize/UseNodiscardCheck.cpp clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp clang-tools-extra/clang-tidy/performance/NoexceptMoveConstructorCheck.cpp clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp clang-tools-extra/test/clang-tidy/checkers/misc-uniqueptr-reset-release.cpp Index: clang-tools-extra/test/clang-tidy/checkers/misc-uniqueptr-reset-release.cpp === --- clang-tools-extra/test/clang-tidy/checkers/misc-uniqueptr-reset-release.cpp +++ clang-tools-extra/test/clang-tidy/checkers/misc-uniqueptr-reset-release.cpp @@ -33,27 +33,27 @@ std::unique_ptr *y = a.reset(b.release()); - // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: prefer ptr1 = std::move(ptr2) over ptr1.reset(ptr2.release()) [misc-uniqueptr-reset-release] + // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: prefer ptr = std::move(ptr2) over ptr.reset(ptr2.release()) [misc-uniqueptr-reset-release] // CHECK-FIXES: a = std::move(b); a.reset(c.release()); - // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: prefer ptr1 = std::move(ptr2) + // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: prefer ptr = std::move(ptr2) // CHECK-FIXES: a = std::move(c); a.reset(Create().release()); // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: prefer ptr = ReturnUnique() over ptr.reset(ReturnUnique().release()) [misc-uniqueptr-reset-release] // CHECK-FIXES: a = Create(); x->reset(y->release()); - // CHECK-MESSAGES: :[[@LINE-1]]:6: warning: prefer ptr1 = std::move(ptr2) + // CHECK-MESSAGES: :[[@LINE-1]]:6: warning: prefer ptr = std::move(ptr2) // CHECK-FIXES: *x = std::move(*y); Look().reset(Look().release()); - // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr1 = std::move(ptr2) + // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr = std::move(ptr2) // CHECK-FIXES: Look() = std::move(Look()); Get()->reset(Get()->release()); - // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr1 = std::move(ptr2) + // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr = std::move(ptr2) // CHECK-FIXES: *Get() = std::move(*Get()); std::unique_ptr func_a, func_b; func_a.reset(func_b.release()); - // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr1 = std::move(ptr2) + // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr = std::move(ptr2) // CHECK-FIXES: func_a = std::move(func_b); } Index: clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp === --- clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp +++ clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp @@ -88,19 +88,20 @@ } void UseAnyOfAllOfCheck::check(const MatchFinder::MatchResult ) { - StringRef Ranges = getLangOpts().CPlusPlus20 ? "::ranges" : ""; if (const auto *S = Result.Nodes.getNodeAs("any_of_loop")) { if (!isViableLoop(*S, *Result.Context)) return; -diag(S->getForLoc(), "replace loop by 'std%0::any_of()'") << Ranges; +diag(S->getForLoc(), "replace loop by 'std%select{|::ranges}0::any_of()'") +<< getLangOpts().CPlusPlus20; } else if (const auto *S = Result.Nodes.getNodeAs("all_of_loop")) { if (!isViableLoop(*S, *Result.Context)) return; -diag(S->getForLoc(), "replace loop by 'std%0::all_of()'") << Ranges; +diag(S->getForLoc(), "replace loop by 'std%select{|::ranges}0::all_of()'") +<< getLangOpts().CPlusPlus20; } } Index:
[PATCH] D97488: [clang-tidy][NFC] Tweak some generation of diag messages
aaron.ballman accepted this revision. aaron.ballman added a comment. This revision is now accepted and ready to land. LGTM! Thanks, these are really nice cleanups! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D97488/new/ https://reviews.llvm.org/D97488 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D97488: [clang-tidy][NFC] Tweak some generation of diag messages
njames93 updated this revision to Diff 326540. njames93 added a comment. Fix up portability-simd-intrinsics diagnostic. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D97488/new/ https://reviews.llvm.org/D97488 Files: clang-tools-extra/clang-tidy/abseil/DurationFactoryFloatCheck.cpp clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp clang-tools-extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp clang-tools-extra/clang-tidy/misc/UnconventionalAssignOperatorCheck.cpp clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp clang-tools-extra/clang-tidy/modernize/UseNodiscardCheck.cpp clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp clang-tools-extra/clang-tidy/performance/NoexceptMoveConstructorCheck.cpp clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp clang-tools-extra/test/clang-tidy/checkers/misc-uniqueptr-reset-release.cpp Index: clang-tools-extra/test/clang-tidy/checkers/misc-uniqueptr-reset-release.cpp === --- clang-tools-extra/test/clang-tidy/checkers/misc-uniqueptr-reset-release.cpp +++ clang-tools-extra/test/clang-tidy/checkers/misc-uniqueptr-reset-release.cpp @@ -33,27 +33,27 @@ std::unique_ptr *y = a.reset(b.release()); - // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: prefer ptr1 = std::move(ptr2) over ptr1.reset(ptr2.release()) [misc-uniqueptr-reset-release] + // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: prefer ptr = std::move(ptr2) over ptr.reset(ptr2.release()) [misc-uniqueptr-reset-release] // CHECK-FIXES: a = std::move(b); a.reset(c.release()); - // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: prefer ptr1 = std::move(ptr2) + // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: prefer ptr = std::move(ptr2) // CHECK-FIXES: a = std::move(c); a.reset(Create().release()); // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: prefer ptr = ReturnUnique() over ptr.reset(ReturnUnique().release()) [misc-uniqueptr-reset-release] // CHECK-FIXES: a = Create(); x->reset(y->release()); - // CHECK-MESSAGES: :[[@LINE-1]]:6: warning: prefer ptr1 = std::move(ptr2) + // CHECK-MESSAGES: :[[@LINE-1]]:6: warning: prefer ptr = std::move(ptr2) // CHECK-FIXES: *x = std::move(*y); Look().reset(Look().release()); - // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr1 = std::move(ptr2) + // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr = std::move(ptr2) // CHECK-FIXES: Look() = std::move(Look()); Get()->reset(Get()->release()); - // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr1 = std::move(ptr2) + // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr = std::move(ptr2) // CHECK-FIXES: *Get() = std::move(*Get()); std::unique_ptr func_a, func_b; func_a.reset(func_b.release()); - // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr1 = std::move(ptr2) + // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr = std::move(ptr2) // CHECK-FIXES: func_a = std::move(func_b); } Index: clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp === --- clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp +++ clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp @@ -88,19 +88,20 @@ } void UseAnyOfAllOfCheck::check(const MatchFinder::MatchResult ) { - StringRef Ranges = getLangOpts().CPlusPlus20 ? "::ranges" : ""; if (const auto *S = Result.Nodes.getNodeAs("any_of_loop")) { if (!isViableLoop(*S, *Result.Context)) return; -diag(S->getForLoc(), "replace loop by 'std%0::any_of()'") << Ranges; +diag(S->getForLoc(), "replace loop by 'std%select{|::ranges}0::any_of()'") +<< getLangOpts().CPlusPlus20; } else if (const auto *S = Result.Nodes.getNodeAs("all_of_loop")) { if (!isViableLoop(*S, *Result.Context)) return; -diag(S->getForLoc(), "replace loop by 'std%0::all_of()'") << Ranges; +diag(S->getForLoc(), "replace loop by 'std%select{|::ranges}0::all_of()'") +<< getLangOpts().CPlusPlus20; } } Index: clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
[PATCH] D97488: [clang-tidy][NFC] Tweak some generation of diag messages
njames93 created this revision. njames93 added a reviewer: aaron.ballman. Herald added subscribers: kbarton, xazax.hun, nemanjai. njames93 requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Fix up cases where diag is called by piecing together a string in favour of placeholders. Fix up cases where select could be used instead of duplicating the message for sake of 1 word difference. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D97488 Files: clang-tools-extra/clang-tidy/abseil/DurationFactoryFloatCheck.cpp clang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp clang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp clang-tools-extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp clang-tools-extra/clang-tidy/misc/UnconventionalAssignOperatorCheck.cpp clang-tools-extra/clang-tidy/misc/UniqueptrResetReleaseCheck.cpp clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp clang-tools-extra/clang-tidy/modernize/UseNodiscardCheck.cpp clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp clang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp clang-tools-extra/clang-tidy/performance/NoexceptMoveConstructorCheck.cpp clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp clang-tools-extra/test/clang-tidy/checkers/misc-uniqueptr-reset-release.cpp Index: clang-tools-extra/test/clang-tidy/checkers/misc-uniqueptr-reset-release.cpp === --- clang-tools-extra/test/clang-tidy/checkers/misc-uniqueptr-reset-release.cpp +++ clang-tools-extra/test/clang-tidy/checkers/misc-uniqueptr-reset-release.cpp @@ -33,27 +33,27 @@ std::unique_ptr *y = a.reset(b.release()); - // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: prefer ptr1 = std::move(ptr2) over ptr1.reset(ptr2.release()) [misc-uniqueptr-reset-release] + // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: prefer ptr = std::move(ptr2) over ptr.reset(ptr2.release()) [misc-uniqueptr-reset-release] // CHECK-FIXES: a = std::move(b); a.reset(c.release()); - // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: prefer ptr1 = std::move(ptr2) + // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: prefer ptr = std::move(ptr2) // CHECK-FIXES: a = std::move(c); a.reset(Create().release()); // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: prefer ptr = ReturnUnique() over ptr.reset(ReturnUnique().release()) [misc-uniqueptr-reset-release] // CHECK-FIXES: a = Create(); x->reset(y->release()); - // CHECK-MESSAGES: :[[@LINE-1]]:6: warning: prefer ptr1 = std::move(ptr2) + // CHECK-MESSAGES: :[[@LINE-1]]:6: warning: prefer ptr = std::move(ptr2) // CHECK-FIXES: *x = std::move(*y); Look().reset(Look().release()); - // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr1 = std::move(ptr2) + // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr = std::move(ptr2) // CHECK-FIXES: Look() = std::move(Look()); Get()->reset(Get()->release()); - // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr1 = std::move(ptr2) + // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr = std::move(ptr2) // CHECK-FIXES: *Get() = std::move(*Get()); std::unique_ptr func_a, func_b; func_a.reset(func_b.release()); - // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr1 = std::move(ptr2) + // CHECK-MESSAGES: :[[@LINE-1]]:10: warning: prefer ptr = std::move(ptr2) // CHECK-FIXES: func_a = std::move(func_b); } Index: clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp === --- clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp +++ clang-tools-extra/clang-tidy/readability/UseAnyOfAllOfCheck.cpp @@ -88,19 +88,20 @@ } void UseAnyOfAllOfCheck::check(const MatchFinder::MatchResult ) { - StringRef Ranges = getLangOpts().CPlusPlus20 ? "::ranges" : ""; if (const auto *S = Result.Nodes.getNodeAs("any_of_loop")) { if (!isViableLoop(*S, *Result.Context)) return; -diag(S->getForLoc(), "replace loop by 'std%0::any_of()'") << Ranges; +diag(S->getForLoc(), "replace loop by 'std%select{|::ranges}0::any_of()'") +<< getLangOpts().CPlusPlus20; } else if (const auto *S = Result.Nodes.getNodeAs("all_of_loop")) { if (!isViableLoop(*S, *Result.Context)) return; -diag(S->getForLoc(), "replace loop by 'std%0::all_of()'") << Ranges; +diag(S->getForLoc(), "replace loop by