blob: 5b89a9e69a93ed44f968f563e92afdac9b4f064c [file] [log] [blame]
Gabor Horvath829e75a2017-07-14 12:15:55 +00001//===--- BugproneTidyModule.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
10#include "../ClangTidy.h"
11#include "../ClangTidyModule.h"
12#include "../ClangTidyModuleRegistry.h"
Gabor Horvathd984e332017-11-17 12:23:30 +000013#include "CopyConstructorInitCheck.h"
Gabor Horvath0b16c102017-08-10 13:30:30 +000014#include "IntegerDivisionCheck.h"
Gabor Horvath829e75a2017-07-14 12:15:55 +000015#include "SuspiciousMemsetUsageCheck.h"
Gabor Horvath46a9db42017-07-14 12:20:19 +000016#include "UndefinedMemoryManipulationCheck.h"
Gabor Horvath829e75a2017-07-14 12:15:55 +000017
18namespace clang {
19namespace tidy {
20namespace bugprone {
21
22class BugproneModule : public ClangTidyModule {
23public:
24 void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
Gabor Horvathd984e332017-11-17 12:23:30 +000025 CheckFactories.registerCheck<CopyConstructorInitCheck>(
26 "misc-copy-constructor-init");
Gabor Horvath0b16c102017-08-10 13:30:30 +000027 CheckFactories.registerCheck<IntegerDivisionCheck>(
28 "bugprone-integer-division");
Gabor Horvath829e75a2017-07-14 12:15:55 +000029 CheckFactories.registerCheck<SuspiciousMemsetUsageCheck>(
30 "bugprone-suspicious-memset-usage");
Gabor Horvath46a9db42017-07-14 12:20:19 +000031 CheckFactories.registerCheck<UndefinedMemoryManipulationCheck>(
32 "bugprone-undefined-memory-manipulation");
Gabor Horvath829e75a2017-07-14 12:15:55 +000033 }
34};
35
36} // namespace bugprone
37
38// Register the BugproneTidyModule using this statically initialized variable.
39static ClangTidyModuleRegistry::Add<bugprone::BugproneModule>
40 X("bugprone-module", "Adds checks for bugprone code constructs.");
41
42// This anchor is used to force the linker to link in the generated object file
43// and thus register the BugproneModule.
44volatile int BugproneModuleAnchorSource = 0;
45
46} // namespace tidy
47} // namespace clang