blob: c9c71842460fa50ac4970313a2c17a404b1819f1 [file] [log] [blame]
Daniel Jasperd07c8402013-07-29 08:19:24 +00001//===--- LLVMTidyModule.cpp - clang-tidy ----------------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
Daniel Jasperd07c8402013-07-29 08:19:24 +000010#include "../ClangTidy.h"
11#include "../ClangTidyModule.h"
12#include "../ClangTidyModuleRegistry.h"
Chandler Carruth3cbd71c2015-01-14 11:24:38 +000013#include "../readability/NamespaceCommentCheck.h"
Benjamin Kramer498cce52014-08-13 13:57:57 +000014#include "HeaderGuardCheck.h"
Alexander Kornienkobef51cd2014-05-19 16:39:08 +000015#include "IncludeOrderCheck.h"
Benjamin Kramer190e2cf2014-07-08 14:32:17 +000016#include "TwineLocalCheck.h"
Daniel Jasperd07c8402013-07-29 08:19:24 +000017
18namespace clang {
19namespace tidy {
20
Daniel Jasperd07c8402013-07-29 08:19:24 +000021class LLVMModule : public ClangTidyModule {
22public:
Alexander Kornienko21f3b772014-03-05 13:01:24 +000023 void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
Alexander Kornienkobe8c1432014-09-10 11:06:43 +000024 CheckFactories.registerCheck<LLVMHeaderGuardCheck>("llvm-header-guard");
25 CheckFactories.registerCheck<IncludeOrderCheck>("llvm-include-order");
Alexander Kornienko33fc3db2014-09-22 10:41:39 +000026 CheckFactories.registerCheck<readability::NamespaceCommentCheck>(
Alexander Kornienkobe8c1432014-09-10 11:06:43 +000027 "llvm-namespace-comment");
28 CheckFactories.registerCheck<TwineLocalCheck>("llvm-twine-local");
Daniel Jasperd07c8402013-07-29 08:19:24 +000029 }
30};
31
32// Register the LLVMTidyModule using this statically initialized variable.
33static ClangTidyModuleRegistry::Add<LLVMModule> X("llvm-module",
34 "Adds LLVM lint checks.");
35
36// This anchor is used to force the linker to link in the generated object file
37// and thus register the LLVMModule.
38volatile int LLVMModuleAnchorSource = 0;
39
40} // namespace tidy
41} // namespace clang