[clang-tools-extra] [clang-tidy][NFC] Don't store a redundant copy of `HeaderFileExtensions` in every check (PR #190302)

via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 2 20:09:43 PDT 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang-tidy

Author: Victor Chernyakin (localspook)

<details>
<summary>Changes</summary>

#<!-- -->80333 removed local `HeaderFileExtensions` options; now there's only a global option, and its value lives in the `ClangTidyContext`. But every check still stores its own copy of `HeaderFileExtensions`, a vestige of the old design which this change fixes.

---

Patch is 24.75 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/190302.diff


21 Files Affected:

- (modified) clang-tools-extra/clang-tidy/ClangTidyCheck.h (+10) 
- (modified) clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp (+4-4) 
- (modified) clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h (-4) 
- (modified) clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp (+4-6) 
- (modified) clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h (-2) 
- (modified) clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp (+3-3) 
- (modified) clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h (-4) 
- (modified) clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp (+2-3) 
- (modified) clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.h (-4) 
- (modified) clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.cpp (+2-3) 
- (modified) clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.h (-3) 
- (modified) clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp (+7-6) 
- (modified) clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h (-4) 
- (modified) clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp (+3-3) 
- (modified) clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h (-3) 
- (modified) clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp (+6-6) 
- (modified) clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h (-4) 
- (modified) clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp (+4-5) 
- (modified) clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.h (-1) 
- (modified) clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp (+4-2) 
- (modified) clang-tools-extra/clang-tidy/utils/HeaderGuard.h (+1-6) 


``````````diff
diff --git a/clang-tools-extra/clang-tidy/ClangTidyCheck.h b/clang-tools-extra/clang-tidy/ClangTidyCheck.h
index 905e419cdf0ca..ec615e08dcccd 100644
--- a/clang-tools-extra/clang-tidy/ClangTidyCheck.h
+++ b/clang-tools-extra/clang-tidy/ClangTidyCheck.h
@@ -480,6 +480,16 @@ class ClangTidyCheck : public ast_matchers::MatchFinder::MatchCallback {
     ClangTidyContext *Context;
   };
 
+  /// Returns the list of header file extensions from the context.
+  const FileExtensionsSet &getHeaderFileExtensions() const {
+    return Context->getHeaderFileExtensions();
+  }
+
+  /// Returns the list of implementation file extensions from the context.
+  const FileExtensionsSet &getImplementationFileExtensions() const {
+    return Context->getImplementationFileExtensions();
+  }
+
 private:
   void run(const ast_matchers::MatchFinder::MatchResult &Result) override;
   std::string CheckName;
diff --git a/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
index ebbc197e0189a..c8185a662a2a4 100644
--- a/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
@@ -33,8 +33,7 @@ AST_MATCHER(VarDecl, hasConstantDeclaration) {
 
 DynamicStaticInitializersCheck::DynamicStaticInitializersCheck(
     StringRef Name, ClangTidyContext *Context)
-    : ClangTidyCheck(Name, Context),
-      HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
+    : ClangTidyCheck(Name, Context) {}
 
 void DynamicStaticInitializersCheck::registerMatchers(MatchFinder *Finder) {
   Finder->addMatcher(
@@ -46,8 +45,9 @@ void DynamicStaticInitializersCheck::check(
     const MatchFinder::MatchResult &Result) {
   const auto *Var = Result.Nodes.getNodeAs<VarDecl>("var");
   const SourceLocation Loc = Var->getLocation();
-  if (!Loc.isValid() || !utils::isPresumedLocInHeaderFile(
-                            Loc, *Result.SourceManager, HeaderFileExtensions))
+  if (!Loc.isValid() ||
+      !utils::isPresumedLocInHeaderFile(Loc, *Result.SourceManager,
+                                        getHeaderFileExtensions()))
     return;
   // If the initializer is a constant expression, then the compiler
   // doesn't have to dynamically initialize it.
diff --git a/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h b/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h
index 00e4bb1e75000..92b8c7d876517 100644
--- a/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h
+++ b/clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.h
@@ -10,7 +10,6 @@
 #define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_DYNAMICSTATICINITIALIZERSCHECK_H
 
 #include "../ClangTidyCheck.h"
-#include "../FileExtensionsSet.h"
 
 namespace clang::tidy::bugprone {
 
@@ -23,9 +22,6 @@ class DynamicStaticInitializersCheck : public ClangTidyCheck {
   }
   void registerMatchers(ast_matchers::MatchFinder *Finder) override;
   void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
-
-private:
-  FileExtensionsSet HeaderFileExtensions;
 };
 
 } // namespace clang::tidy::bugprone
diff --git a/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
index 5abbadafc0d63..d90e5dae650c7 100644
--- a/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.cpp
@@ -39,15 +39,13 @@ class SuspiciousIncludePPCallbacks : public PPCallbacks {
 SuspiciousIncludeCheck::SuspiciousIncludeCheck(StringRef Name,
                                                ClangTidyContext *Context)
     : ClangTidyCheck(Name, Context),
-      HeaderFileExtensions(Context->getHeaderFileExtensions()),
-      ImplementationFileExtensions(Context->getImplementationFileExtensions()),
       IgnoredRegexString(Options.get("IgnoredRegex").value_or(StringRef{})),
       IgnoredRegex(IgnoredRegexString) {}
 
 void SuspiciousIncludeCheck::registerPPCallbacks(
     const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) {
   PP->addPPCallbacks(
-      ::std::make_unique<SuspiciousIncludePPCallbacks>(*this, SM, PP));
+      std::make_unique<SuspiciousIncludePPCallbacks>(*this, SM, PP));
 }
 
 void SuspiciousIncludeCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
@@ -68,15 +66,15 @@ void SuspiciousIncludePPCallbacks::InclusionDirective(
 
   const SourceLocation DiagLoc = FilenameRange.getBegin().getLocWithOffset(1);
 
-  const std::optional<StringRef> IFE =
-      utils::getFileExtension(FileName, Check.ImplementationFileExtensions);
+  const std::optional<StringRef> IFE = utils::getFileExtension(
+      FileName, Check.getImplementationFileExtensions());
   if (!IFE)
     return;
 
   Check.diag(DiagLoc, "suspicious #%0 of file with '%1' extension")
       << IncludeTok.getIdentifierInfo()->getName() << *IFE;
 
-  for (const auto &HFE : Check.HeaderFileExtensions) {
+  for (const auto &HFE : Check.getHeaderFileExtensions()) {
     SmallString<128> GuessedFileName(FileName);
     llvm::sys::path::replace_extension(GuessedFileName,
                                        (!HFE.empty() ? "." : "") + HFE);
diff --git a/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h b/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h
index 50fc34595b5d6..49f74e63d6739 100644
--- a/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h
+++ b/clang-tools-extra/clang-tidy/bugprone/SuspiciousIncludeCheck.h
@@ -29,8 +29,6 @@ class SuspiciousIncludeCheck : public ClangTidyCheck {
                            Preprocessor *ModuleExpanderPP) override;
   void storeOptions(ClangTidyOptions::OptionMap &Opts) override;
 
-  FileExtensionsSet HeaderFileExtensions;
-  FileExtensionsSet ImplementationFileExtensions;
   StringRef IgnoredRegexString;
   llvm::Regex IgnoredRegex;
 };
diff --git a/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp b/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
index aa8bc74e911b4..ee0e29b9c5d17 100644
--- a/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "GlobalNamesInHeadersCheck.h"
+#include "../utils/FileExtensionsUtils.h"
 #include "clang/ASTMatchers/ASTMatchFinder.h"
 #include "clang/ASTMatchers/ASTMatchers.h"
 #include "clang/Lex/Lexer.h"
@@ -17,8 +18,7 @@ namespace clang::tidy::google::readability {
 
 GlobalNamesInHeadersCheck::GlobalNamesInHeadersCheck(StringRef Name,
                                                      ClangTidyContext *Context)
-    : ClangTidyCheck(Name, Context),
-      HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
+    : ClangTidyCheck(Name, Context) {}
 
 void GlobalNamesInHeadersCheck::registerMatchers(
     ast_matchers::MatchFinder *Finder) {
@@ -39,7 +39,7 @@ void GlobalNamesInHeadersCheck::check(const MatchFinder::MatchResult &Result) {
           Result.SourceManager->getExpansionLoc(D->getBeginLoc()))) {
     // unless that file is a header.
     if (!utils::isSpellingLocInHeaderFile(
-            D->getBeginLoc(), *Result.SourceManager, HeaderFileExtensions))
+            D->getBeginLoc(), *Result.SourceManager, getHeaderFileExtensions()))
       return;
   }
 
diff --git a/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h b/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h
index 750b9f4f340f0..a68bbbf898556 100644
--- a/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h
+++ b/clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.h
@@ -10,7 +10,6 @@
 #define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_GOOGLE_GLOBALNAMESINHEADERSCHECK_H
 
 #include "../ClangTidyCheck.h"
-#include "../utils/FileExtensionsUtils.h"
 
 namespace clang::tidy::google::readability {
 
@@ -24,9 +23,6 @@ class GlobalNamesInHeadersCheck : public ClangTidyCheck {
   GlobalNamesInHeadersCheck(StringRef Name, ClangTidyContext *Context);
   void registerMatchers(ast_matchers::MatchFinder *Finder) override;
   void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
-
-private:
-  FileExtensionsSet HeaderFileExtensions;
 };
 
 } // namespace clang::tidy::google::readability
diff --git a/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp b/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
index 9eb749dede6d2..ddb3551bcc8f7 100644
--- a/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
+++ b/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.cpp
@@ -35,8 +35,7 @@ getLastTemplateParameterList(const FunctionDecl *FuncDecl) {
 
 InlineFunctionDeclCheck::InlineFunctionDeclCheck(StringRef Name,
                                                  ClangTidyContext *Context)
-    : ClangTidyCheck(Name, Context),
-      HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
+    : ClangTidyCheck(Name, Context) {}
 
 void InlineFunctionDeclCheck::registerMatchers(MatchFinder *Finder) {
   // Ignore functions that have been deleted.
@@ -67,7 +66,7 @@ void InlineFunctionDeclCheck::check(const MatchFinder::MatchResult &Result) {
 
   // Consider functions only in header files.
   if (!utils::isSpellingLocInHeaderFile(SrcBegin, *Result.SourceManager,
-                                        HeaderFileExtensions))
+                                        getHeaderFileExtensions()))
     return;
 
   // Ignore lambda functions as they are internal and implicit.
diff --git a/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.h b/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.h
index cf8c11d7619ed..0171b0924462c 100644
--- a/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.h
+++ b/clang-tools-extra/clang-tidy/llvmlibc/InlineFunctionDeclCheck.h
@@ -10,7 +10,6 @@
 #define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_LLVMLIBC_INLINEFUNCTIONDECLCHECK_H
 
 #include "../ClangTidyCheck.h"
-#include "../FileExtensionsSet.h"
 
 namespace clang::tidy::llvm_libc {
 
@@ -37,9 +36,6 @@ class InlineFunctionDeclCheck : public ClangTidyCheck {
   std::optional<TraversalKind> getCheckTraversalKind() const override {
     return TK_IgnoreUnlessSpelledInSource;
   }
-
-private:
-  FileExtensionsSet HeaderFileExtensions;
 };
 
 } // namespace clang::tidy::llvm_libc
diff --git a/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.cpp b/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.cpp
index c459ba5d9f2e9..81ba412c86d8b 100644
--- a/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.cpp
@@ -17,8 +17,7 @@ namespace clang::tidy::misc {
 
 AnonymousNamespaceInHeaderCheck::AnonymousNamespaceInHeaderCheck(
     StringRef Name, ClangTidyContext *Context)
-    : ClangTidyCheck(Name, Context),
-      HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
+    : ClangTidyCheck(Name, Context) {}
 
 void AnonymousNamespaceInHeaderCheck::registerMatchers(
     ast_matchers::MatchFinder *Finder) {
@@ -34,7 +33,7 @@ void AnonymousNamespaceInHeaderCheck::check(
     return;
 
   if (utils::isPresumedLocInHeaderFile(Loc, *Result.SourceManager,
-                                       HeaderFileExtensions))
+                                       getHeaderFileExtensions()))
     diag(Loc, "do not use unnamed namespaces in header files");
 }
 
diff --git a/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.h b/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.h
index 8245bdcfa8fd3..3855e9ac33906 100644
--- a/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.h
+++ b/clang-tools-extra/clang-tidy/misc/AnonymousNamespaceInHeaderCheck.h
@@ -29,9 +29,6 @@ class AnonymousNamespaceInHeaderCheck : public ClangTidyCheck {
   }
   void registerMatchers(ast_matchers::MatchFinder *Finder) override;
   void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
-
-private:
-  FileExtensionsSet HeaderFileExtensions;
 };
 
 } // namespace clang::tidy::misc
diff --git a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
index c10ee1d92cd59..ae063a19d779d 100644
--- a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "DefinitionsInHeadersCheck.h"
+#include "../utils/FileExtensionsUtils.h"
 #include "clang/AST/ASTContext.h"
 #include "clang/ASTMatchers/ASTMatchFinder.h"
 
@@ -27,17 +28,17 @@ AST_MATCHER_P(NamedDecl, usesHeaderFileExtension, FileExtensionsSet,
 
 DefinitionsInHeadersCheck::DefinitionsInHeadersCheck(StringRef Name,
                                                      ClangTidyContext *Context)
-    : ClangTidyCheck(Name, Context),
-      HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
+    : ClangTidyCheck(Name, Context) {}
 
 void DefinitionsInHeadersCheck::registerMatchers(MatchFinder *Finder) {
   auto DefinitionMatcher =
       anyOf(functionDecl(isDefinition(), unless(isDeleted())),
             varDecl(isDefinition()));
-  Finder->addMatcher(namedDecl(DefinitionMatcher,
-                               usesHeaderFileExtension(HeaderFileExtensions))
-                         .bind("name-decl"),
-                     this);
+  Finder->addMatcher(
+      namedDecl(DefinitionMatcher,
+                usesHeaderFileExtension(getHeaderFileExtensions()))
+          .bind("name-decl"),
+      this);
 }
 
 void DefinitionsInHeadersCheck::check(const MatchFinder::MatchResult &Result) {
diff --git a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h
index e52fa20460c9d..21073193af48f 100644
--- a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h
+++ b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h
@@ -10,7 +10,6 @@
 #define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_DEFINITIONSINHEADERSCHECK_H
 
 #include "../ClangTidyCheck.h"
-#include "../utils/FileExtensionsUtils.h"
 
 namespace clang::tidy::misc {
 
@@ -31,9 +30,6 @@ class DefinitionsInHeadersCheck : public ClangTidyCheck {
   }
   void registerMatchers(ast_matchers::MatchFinder *Finder) override;
   void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
-
-private:
-  FileExtensionsSet HeaderFileExtensions;
 };
 
 } // namespace clang::tidy::misc
diff --git a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
index b5011d982bf76..309342a537ca7 100644
--- a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "UnusedUsingDeclsCheck.h"
+#include "../utils/FileExtensionsUtils.h"
 #include "clang/AST/ASTContext.h"
 #include "clang/AST/Decl.h"
 #include "clang/ASTMatchers/ASTMatchFinder.h"
@@ -47,13 +48,12 @@ static bool shouldCheckDecl(const Decl *TargetDecl) {
 
 UnusedUsingDeclsCheck::UnusedUsingDeclsCheck(StringRef Name,
                                              ClangTidyContext *Context)
-    : ClangTidyCheck(Name, Context),
-      HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
+    : ClangTidyCheck(Name, Context) {}
 
 void UnusedUsingDeclsCheck::registerMatchers(MatchFinder *Finder) {
   // We don't emit warnings on unused-using-decls from headers, so bail out if
   // the main file is a header.
-  if (utils::isFileExtension(getCurrentMainFile(), HeaderFileExtensions))
+  if (utils::isFileExtension(getCurrentMainFile(), getHeaderFileExtensions()))
     return;
   Finder->addMatcher(usingDecl(isExpansionInMainFile()).bind("using"), this);
   auto DeclMatcher = hasDeclaration(namedDecl().bind("used"));
diff --git a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
index 986bf37e259e8..798702d517904 100644
--- a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
+++ b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
@@ -10,7 +10,6 @@
 #define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_UNUSEDUSINGDECLSCHECK_H
 
 #include "../ClangTidyCheck.h"
-#include "../utils/FileExtensionsUtils.h"
 #include "llvm/ADT/SmallPtrSet.h"
 #include <vector>
 
@@ -50,8 +49,6 @@ class UnusedUsingDeclsCheck : public ClangTidyCheck {
 
   std::vector<UsingDeclContext> Contexts;
   llvm::SmallPtrSet<const Decl *, 32> UsingTargetDeclsCache;
-
-  FileExtensionsSet HeaderFileExtensions;
 };
 
 } // namespace clang::tidy::misc
diff --git a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp
index 90643264a7d29..3ab63fd1e463e 100644
--- a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "UseAnonymousNamespaceCheck.h"
+#include "../utils/FileExtensionsUtils.h"
 #include "clang/AST/ASTContext.h"
 #include "clang/ASTMatchers/ASTMatchFinder.h"
 
@@ -17,10 +18,10 @@ namespace {
 AST_POLYMORPHIC_MATCHER_P(isInHeaderFile,
                           AST_POLYMORPHIC_SUPPORTED_TYPES(FunctionDecl,
                                                           VarDecl),
-                          FileExtensionsSet, HeaderFileExtensions) {
+                          const FileExtensionsSet *, HeaderFileExtensions) {
   return utils::isExpansionLocInHeaderFile(
       Node.getBeginLoc(), Finder->getASTContext().getSourceManager(),
-      HeaderFileExtensions);
+      *HeaderFileExtensions);
 }
 
 AST_MATCHER(FunctionDecl, isMemberFunction) {
@@ -31,19 +32,18 @@ AST_MATCHER(VarDecl, isStaticDataMember) { return Node.isStaticDataMember(); }
 
 UseAnonymousNamespaceCheck::UseAnonymousNamespaceCheck(
     StringRef Name, ClangTidyContext *Context)
-    : ClangTidyCheck(Name, Context),
-      HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
+    : ClangTidyCheck(Name, Context) {}
 
 void UseAnonymousNamespaceCheck::registerMatchers(MatchFinder *Finder) {
   Finder->addMatcher(
       functionDecl(isStaticStorageClass(),
-                   unless(anyOf(isInHeaderFile(HeaderFileExtensions),
+                   unless(anyOf(isInHeaderFile(&getHeaderFileExtensions()),
                                 isInAnonymousNamespace(), isMemberFunction())))
           .bind("x"),
       this);
   Finder->addMatcher(
       varDecl(isStaticStorageClass(),
-              unless(anyOf(isInHeaderFile(HeaderFileExtensions),
+              unless(anyOf(isInHeaderFile(&getHeaderFileExtensions()),
                            isInAnonymousNamespace(), isStaticLocal(),
                            isStaticDataMember(), hasType(isConstQualified()))))
           .bind("x"),
diff --git a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h
index 8548fbbc6a3cc..b6361db5ba0d4 100644
--- a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h
+++ b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h
@@ -10,7 +10,6 @@
 #define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_USEANONYMOUSNAMESPACECHECK_H
 
 #include "../ClangTidyCheck.h"
-#include "../utils/FileExtensionsUtils.h"
 
 namespace clang::tidy::misc {
 
@@ -27,9 +26,6 @@ class UseAnonymousNamespaceCheck : public ClangTidyCheck {
   }
   void registerMatchers(ast_matchers::MatchFinder *Finder) override;
   void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
-
-private:
-  FileExtensionsSet HeaderFileExtensions;
 };
 
 } // namespace clang::tidy::misc
diff --git a/clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp b/clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
index 68115cb28e7c8..30b7ca5ee50c1 100644
--- a/clang-tools-extra/cla...
[truncated]

``````````

</details>


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


More information about the cfe-commits mailing list