summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2015-08-14 13:17:11 +0000
committerAlexander Kornienko <alexfh@google.com>2015-08-14 13:17:11 +0000
commitfc650864eff46017be759353dcd1d43e82fd0eb0 (patch)
treea580060a2076bbb18fb162dc30c44c11a657ff61 /clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
parent62b81b875ab32940e9e5c0dd0a29b1a86b6bc0de (diff)
downloadbcm5719-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.cpp46
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
OpenPOWER on IntegriCloud