diff options
author | Alexander Kornienko <alexfh@google.com> | 2015-08-14 13:17:11 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2015-08-14 13:17:11 +0000 |
commit | fc650864eff46017be759353dcd1d43e82fd0eb0 (patch) | |
tree | a580060a2076bbb18fb162dc30c44c11a657ff61 /clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp | |
parent | 62b81b875ab32940e9e5c0dd0a29b1a86b6bc0de (diff) | |
download | bcm5719-llvm-fc650864eff46017be759353dcd1d43e82fd0eb0.tar.gz bcm5719-llvm-fc650864eff46017be759353dcd1d43e82fd0eb0.zip |
[clang-tidy] Create clang-tidy module modernize. Add pass-by-value check.
This is the first step for migrating cppmodernize to clang-tidy.
http://reviews.llvm.org/D11946
Patch by Angel Garcia!
llvm-svn: 245045
Diffstat (limited to 'clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp')
-rw-r--r-- | clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp b/clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp new file mode 100644 index 00000000000..5f25832e8a6 --- /dev/null +++ b/clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp @@ -0,0 +1,46 @@ +//===--- ModernizeTidyModule.cpp - clang-tidy -----------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "../ClangTidy.h" +#include "../ClangTidyModule.h" +#include "../ClangTidyModuleRegistry.h" +#include "PassByValueCheck.h" + +using namespace clang::ast_matchers; + +namespace clang { +namespace tidy { +namespace modernize { + +class ModernizeModule : public ClangTidyModule { +public: + void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override { + CheckFactories.registerCheck<PassByValueCheck>("modernize-pass-by-value"); + } + + ClangTidyOptions getModuleOptions() override { + ClangTidyOptions Options; + auto &Opts = Options.CheckOptions; + Opts["modernize-pass-by-value.IncludeStyle"] = "llvm"; // Also: "google". + return Options; + } +}; + +// Register the ModernizeTidyModule using this statically initialized variable. +static ClangTidyModuleRegistry::Add<ModernizeModule> X("modernize-module", + "Add modernize checks."); + +} // namespace modernize + +// This anchor is used to force the linker to link in the generated object file +// and thus register the ModernizeModule. +volatile int ModernizeModuleAnchorSource = 0; + +} // namespace tidy +} // namespace clang |