aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clang-tidy/misc
diff options
context:
space:
mode:
authorCarlos Galvez <carlosgalvezp@gmail.com>2024-02-02 21:48:21 +0100
committerGitHub <noreply@github.com>2024-02-02 21:48:21 +0100
commitcc38cd856d9a9df77d5d727377e38a891807774b (patch)
treedd8c605494889923db802cb67ccf9dde3c8658d2 /clang-tools-extra/clang-tidy/misc
parent2352fdd2026e36c4206053331deba1a70b70d925 (diff)
downloadllvm-cc38cd856d9a9df77d5d727377e38a891807774b.zip
llvm-cc38cd856d9a9df77d5d727377e38a891807774b.tar.gz
llvm-cc38cd856d9a9df77d5d727377e38a891807774b.tar.bz2
[clang-tidy] Remove check-specific HeaderFileExtensions and Implement… (#80333)
…ationFileExtensions Deprecated since clang-tidy 17. Use the corresponding global options instead. Fixes #61947 --------- Co-authored-by: Carlos Gálvez <carlos.galvez@zenseact.com>
Diffstat (limited to 'clang-tools-extra/clang-tidy/misc')
-rw-r--r--clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp39
-rw-r--r--clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h9
-rw-r--r--clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp17
-rw-r--r--clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp22
-rw-r--r--clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h10
5 files changed, 9 insertions, 88 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
index 2c07b30..21008bc 100644
--- a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
@@ -28,45 +28,16 @@ AST_MATCHER_P(NamedDecl, usesHeaderFileExtension, FileExtensionsSet,
DefinitionsInHeadersCheck::DefinitionsInHeadersCheck(StringRef Name,
ClangTidyContext *Context)
: ClangTidyCheck(Name, Context),
- UseHeaderFileExtension(Options.get("UseHeaderFileExtension", true)) {
- std::optional<StringRef> HeaderFileExtensionsOption =
- Options.get("HeaderFileExtensions");
- RawStringHeaderFileExtensions =
- HeaderFileExtensionsOption.value_or(utils::defaultHeaderFileExtensions());
- if (HeaderFileExtensionsOption) {
- if (!utils::parseFileExtensions(RawStringHeaderFileExtensions,
- HeaderFileExtensions,
- utils::defaultFileExtensionDelimiters())) {
- this->configurationDiag("Invalid header file extension: '%0'")
- << RawStringHeaderFileExtensions;
- }
- } else
- HeaderFileExtensions = Context->getHeaderFileExtensions();
-}
-
-void DefinitionsInHeadersCheck::storeOptions(
- ClangTidyOptions::OptionMap &Opts) {
- Options.store(Opts, "UseHeaderFileExtension", UseHeaderFileExtension);
- Options.store(Opts, "HeaderFileExtensions", RawStringHeaderFileExtensions);
-}
+ HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
void DefinitionsInHeadersCheck::registerMatchers(MatchFinder *Finder) {
auto DefinitionMatcher =
anyOf(functionDecl(isDefinition(), unless(isDeleted())),
varDecl(isDefinition()));
- if (UseHeaderFileExtension) {
- Finder->addMatcher(namedDecl(DefinitionMatcher,
- usesHeaderFileExtension(HeaderFileExtensions))
- .bind("name-decl"),
- this);
- } else {
- Finder->addMatcher(
- namedDecl(DefinitionMatcher,
- anyOf(usesHeaderFileExtension(HeaderFileExtensions),
- unless(isExpansionInMainFile())))
- .bind("name-decl"),
- this);
- }
+ Finder->addMatcher(namedDecl(DefinitionMatcher,
+ usesHeaderFileExtension(HeaderFileExtensions))
+ .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 e009549..ebb55d5 100644
--- a/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h
+++ b/clang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.h
@@ -20,12 +20,6 @@ namespace clang::tidy::misc {
/// The check supports these options:
/// - `UseHeaderFileExtension`: Whether to use file extension to distinguish
/// header files. True by default.
-/// - `HeaderFileExtensions`: a semicolon-separated list of filename
-/// extensions of header files (The filename extension should not contain
-/// "." prefix). ";h;hh;hpp;hxx" by default.
-///
-/// For extension-less header files, using an empty string or leaving an
-/// empty string between ";" if there are other filename extensions.
///
/// For the user-facing documentation see:
/// http://clang.llvm.org/extra/clang-tidy/checks/misc/definitions-in-headers.html
@@ -35,13 +29,10 @@ public:
bool isLanguageVersionSupported(const LangOptions &LangOpts) const override {
return LangOpts.CPlusPlus11;
}
- void storeOptions(ClangTidyOptions::OptionMap &Opts) override;
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
private:
- const bool UseHeaderFileExtension;
- StringRef RawStringHeaderFileExtensions;
FileExtensionsSet HeaderFileExtensions;
};
diff --git a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
index 59e487b..90b3175 100644
--- a/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
@@ -39,21 +39,8 @@ static bool shouldCheckDecl(const Decl *TargetDecl) {
UnusedUsingDeclsCheck::UnusedUsingDeclsCheck(StringRef Name,
ClangTidyContext *Context)
- : ClangTidyCheck(Name, Context) {
- std::optional<StringRef> HeaderFileExtensionsOption =
- Options.get("HeaderFileExtensions");
- RawStringHeaderFileExtensions =
- HeaderFileExtensionsOption.value_or(utils::defaultHeaderFileExtensions());
- if (HeaderFileExtensionsOption) {
- if (!utils::parseFileExtensions(RawStringHeaderFileExtensions,
- HeaderFileExtensions,
- utils::defaultFileExtensionDelimiters())) {
- this->configurationDiag("Invalid header file extension: '%0'")
- << RawStringHeaderFileExtensions;
- }
- } else
- HeaderFileExtensions = Context->getHeaderFileExtensions();
-}
+ : ClangTidyCheck(Name, Context),
+ HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
void UnusedUsingDeclsCheck::registerMatchers(MatchFinder *Finder) {
Finder->addMatcher(usingDecl(isExpansionInMainFile()).bind("using"), this);
diff --git a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp
index a6337f5..05b4701 100644
--- a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.cpp
@@ -31,26 +31,8 @@ AST_MATCHER(VarDecl, isStaticDataMember) { return Node.isStaticDataMember(); }
UseAnonymousNamespaceCheck::UseAnonymousNamespaceCheck(
StringRef Name, ClangTidyContext *Context)
- : ClangTidyCheck(Name, Context) {
- std::optional<StringRef> HeaderFileExtensionsOption =
- Options.get("HeaderFileExtensions");
- RawStringHeaderFileExtensions =
- HeaderFileExtensionsOption.value_or(utils::defaultHeaderFileExtensions());
- if (HeaderFileExtensionsOption) {
- if (!utils::parseFileExtensions(RawStringHeaderFileExtensions,
- HeaderFileExtensions,
- utils::defaultFileExtensionDelimiters())) {
- this->configurationDiag("Invalid header file extension: '%0'")
- << RawStringHeaderFileExtensions;
- }
- } else
- HeaderFileExtensions = Context->getHeaderFileExtensions();
-}
-
-void UseAnonymousNamespaceCheck::storeOptions(
- ClangTidyOptions::OptionMap &Opts) {
- Options.store(Opts, "HeaderFileExtensions", RawStringHeaderFileExtensions);
-}
+ : ClangTidyCheck(Name, Context),
+ HeaderFileExtensions(Context->getHeaderFileExtensions()) {}
void UseAnonymousNamespaceCheck::registerMatchers(MatchFinder *Finder) {
Finder->addMatcher(
diff --git a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h
index 4a5a867..3f73ce7 100644
--- a/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h
+++ b/clang-tools-extra/clang-tidy/misc/UseAnonymousNamespaceCheck.h
@@ -17,14 +17,6 @@ namespace clang::tidy::misc {
/// Warns when using 'static' functions or variables at global scope, and
/// suggests moving them to an anonymous namespace.
///
-/// The check supports these options:
-/// - `HeaderFileExtensions`: a semicolon-separated list of filename
-/// extensions of header files (The filename extension should not contain
-/// "." prefix). ";h;hh;hpp;hxx" by default.
-///
-/// For extension-less header files, using an empty string or leaving an
-/// empty string between ";" if there are other filename extensions.
-///
/// For the user-facing documentation see:
/// http://clang.llvm.org/extra/clang-tidy/checks/misc/use-anonymous-namespace.html
class UseAnonymousNamespaceCheck : public ClangTidyCheck {
@@ -33,12 +25,10 @@ public:
bool isLanguageVersionSupported(const LangOptions &LangOpts) const override {
return LangOpts.CPlusPlus;
}
- void storeOptions(ClangTidyOptions::OptionMap &Opts) override;
void registerMatchers(ast_matchers::MatchFinder *Finder) override;
void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
private:
- StringRef RawStringHeaderFileExtensions;
FileExtensionsSet HeaderFileExtensions;
};