[clang-tools-extra] [clang-tidy] Add modernize-cleanup-static-cast check (PR #118033)

via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 28 12:21:24 PST 2024


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff 866755f8da588ec2efbcac60679b9d9f5c4636a9 5ee115e7cd83fe5a59c0284e91893b71df79be0c --extensions cpp,h -- clang-tools-extra/clang-tidy/modernize/CleanupStaticCastCheck.cpp clang-tools-extra/clang-tidy/modernize/CleanupStaticCastCheck.h clang-tools-extra/test/clang-tidy/checkers/modernize/modernize-cleanup-static-cast.cpp clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/clang-tools-extra/clang-tidy/modernize/CleanupStaticCastCheck.cpp b/clang-tools-extra/clang-tidy/modernize/CleanupStaticCastCheck.cpp
index 1fdb0cff14..f7cb40e32d 100644
--- a/clang-tools-extra/clang-tidy/modernize/CleanupStaticCastCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/CleanupStaticCastCheck.cpp
@@ -18,7 +18,6 @@ using namespace clang::ast_matchers;
 
 namespace clang::tidy::modernize {
 
-
 std::string getText(const clang::Expr *E, const clang::ASTContext &Context) {
   auto &SM = Context.getSourceManager();
   auto Range = clang::CharSourceRange::getTokenRange(E->getSourceRange());
@@ -28,11 +27,10 @@ std::string getText(const clang::Expr *E, const clang::ASTContext &Context) {
 void CleanupStaticCastCheck::registerMatchers(MatchFinder *Finder) {
   // Match static_cast expressions not in templates
   Finder->addMatcher(
-      cxxStaticCastExpr(
-          unless(hasAncestor(functionTemplateDecl())),
-          unless(hasAncestor(classTemplateDecl())),
-          unless(isInTemplateInstantiation()))
-      .bind("cast"),
+      cxxStaticCastExpr(unless(hasAncestor(functionTemplateDecl())),
+                        unless(hasAncestor(classTemplateDecl())),
+                        unless(isInTemplateInstantiation()))
+          .bind("cast"),
       this);
 }
 
@@ -52,18 +50,18 @@ void CleanupStaticCastCheck::check(const MatchFinder::MatchResult &Result) {
   // Compare canonical types and qualifiers
   SourceType = SourceType.getCanonicalType();
   TargetType = TargetType.getCanonicalType();
-  
+
   if (SourceType == TargetType) {
-    auto Diag = 
+    auto Diag =
         diag(Cast->getBeginLoc(),
-             "redundant static_cast to the same type %0")  // Removed single quotes
+             "redundant static_cast to the same type %0") // Removed single
+                                                          // quotes
         << TargetType;
 
     std::string ReplacementText = getText(SubExpr, *Result.Context);
-    
-    Diag << FixItHint::CreateReplacement(
-        Cast->getSourceRange(),
-        ReplacementText);
+
+    Diag << FixItHint::CreateReplacement(Cast->getSourceRange(),
+                                         ReplacementText);
   }
 }
 
diff --git a/clang-tools-extra/clang-tidy/modernize/CleanupStaticCastCheck.h b/clang-tools-extra/clang-tidy/modernize/CleanupStaticCastCheck.h
index a96e7cac3f..3c719a7376 100644
--- a/clang-tools-extra/clang-tidy/modernize/CleanupStaticCastCheck.h
+++ b/clang-tools-extra/clang-tidy/modernize/CleanupStaticCastCheck.h
@@ -23,8 +23,8 @@ namespace clang::tidy::modernize {
 ///   foo(s);
 /// \endcode
 ///
-/// Note: This check intentionally ignores redundant casts in template instantiations
-/// as they might be needed for other template parameter types.
+/// Note: This check intentionally ignores redundant casts in template
+/// instantiations as they might be needed for other template parameter types.
 class CleanupStaticCastCheck : public ClangTidyCheck {
 public:
   CleanupStaticCastCheck(StringRef Name, ClangTidyContext *Context)
diff --git a/clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp b/clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
index 364f1d6b20..edb11d8afe 100644
--- a/clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
@@ -11,6 +11,7 @@
 #include "../ClangTidyModuleRegistry.h"
 #include "AvoidBindCheck.h"
 #include "AvoidCArraysCheck.h"
+#include "CleanupStaticCastCheck.h"
 #include "ConcatNestedNamespacesCheck.h"
 #include "DeprecatedHeadersCheck.h"
 #include "DeprecatedIosBaseAliasesCheck.h"
@@ -42,7 +43,6 @@
 #include "UseNullptrCheck.h"
 #include "UseOverrideCheck.h"
 #include "UseRangesCheck.h"
-#include "CleanupStaticCastCheck.h"
 #include "UseStartsEndsWithCheck.h"
 #include "UseStdFormatCheck.h"
 #include "UseStdNumbersCheck.h"
@@ -124,7 +124,7 @@ public:
         "modernize-use-uncaught-exceptions");
     CheckFactories.registerCheck<UseUsingCheck>("modernize-use-using");
     CheckFactories.registerCheck<CleanupStaticCastCheck>(
-      "modernize-cleanup-static-cast");
+        "modernize-cleanup-static-cast");
   }
 };
 

``````````

</details>


https://github.com/llvm/llvm-project/pull/118033


More information about the cfe-commits mailing list