diff --git a/clang-tools-extra/clang-tidy/ClangTidyModule.h b/clang-tools-extra/clang-tidy/ClangTidyModule.h index 894093d95b90..b92971f30fd3 100644 --- a/clang-tools-extra/clang-tidy/ClangTidyModule.h +++ b/clang-tools-extra/clang-tidy/ClangTidyModule.h @@ -13,6 +13,7 @@ #include "llvm/ADT/StringRef.h" #include #include +#include #include #include @@ -25,9 +26,8 @@ namespace tidy { /// this object. class ClangTidyCheckFactories { public: - typedef std::function - CheckFactory; + using CheckFactory = std::function( + StringRef Name, ClangTidyContext *Context)>; /// Registers check \p Factory with name \p Name. /// @@ -58,7 +58,7 @@ public: template void registerCheck(StringRef CheckName) { registerCheckFactory(CheckName, [](StringRef Name, ClangTidyContext *Context) { - return new CheckType(Name, Context); + return std::make_unique(Name, Context); }); } diff --git a/clang-tools-extra/clang-tidy/google/TodoCommentCheck.cpp b/clang-tools-extra/clang-tidy/google/TodoCommentCheck.cpp index 787c30548d4a..ec099f0e400c 100644 --- a/clang-tools-extra/clang-tidy/google/TodoCommentCheck.cpp +++ b/clang-tools-extra/clang-tidy/google/TodoCommentCheck.cpp @@ -55,6 +55,8 @@ TodoCommentCheck::TodoCommentCheck(StringRef Name, ClangTidyContext *Context) Handler(std::make_unique( *this, Context->getOptions().User)) {} +TodoCommentCheck::~TodoCommentCheck() = default; + void TodoCommentCheck::registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) { diff --git a/clang-tools-extra/clang-tidy/google/TodoCommentCheck.h b/clang-tools-extra/clang-tidy/google/TodoCommentCheck.h index d1343b74fdbf..8c32dddc2837 100644 --- a/clang-tools-extra/clang-tidy/google/TodoCommentCheck.h +++ b/clang-tools-extra/clang-tidy/google/TodoCommentCheck.h @@ -22,6 +22,8 @@ namespace readability { class TodoCommentCheck : public ClangTidyCheck { public: TodoCommentCheck(StringRef Name, ClangTidyContext *Context); + ~TodoCommentCheck(); + void registerPPCallbacks(const SourceManager &SM, Preprocessor *PP, Preprocessor *ModuleExpanderPP) override; diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp index dc24f663ae35..322894041325 100644 --- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp +++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp @@ -193,6 +193,8 @@ IdentifierNamingCheck::IdentifierNamingCheck(StringRef Name, IgnoreFailedSplit = Options.get("IgnoreFailedSplit", 0); } +IdentifierNamingCheck::~IdentifierNamingCheck() = default; + void IdentifierNamingCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) { auto const toString = [](CaseType Type) { switch (Type) { diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h index 5d5f05604948..250dc361ff74 100644 --- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h +++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h @@ -34,6 +34,7 @@ namespace readability { class IdentifierNamingCheck : public ClangTidyCheck { public: IdentifierNamingCheck(StringRef Name, ClangTidyContext *Context); + ~IdentifierNamingCheck(); void storeOptions(ClangTidyOptions::OptionMap &Opts) override; void registerMatchers(ast_matchers::MatchFinder *Finder) override;