clang-tools  4.0.0
MPITidyModule.cpp
Go to the documentation of this file.
1 //===--- MPITidyModule.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"
13 #include "BufferDerefCheck.h"
14 #include "TypeMismatchCheck.h"
15 
16 namespace clang {
17 namespace tidy {
18 namespace mpi {
19 
20 class MPIModule : public ClangTidyModule {
21 public:
22  void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
23  CheckFactories.registerCheck<BufferDerefCheck>("mpi-buffer-deref");
24  CheckFactories.registerCheck<TypeMismatchCheck>("mpi-type-mismatch");
25  }
26 };
27 
28 } // namespace mpi
29 
30 // Register the MPITidyModule using this statically initialized variable.
31 static ClangTidyModuleRegistry::Add<mpi::MPIModule>
32  X("mpi-module", "Adds MPI clang-tidy checks.");
33 
34 // This anchor is used to force the linker to link in the generated object file
35 // and thus register the MPIModule.
36 volatile int MPIModuleAnchorSource = 0;
37 
38 } // namespace tidy
39 } // namespace clang
static ClangTidyModuleRegistry::Add< cert::CERTModule > X("cert-module","Adds lint checks corresponding to CERT secure coding guidelines.")
This check verifies if buffer type and MPI (Message Passing Interface) datatype pairs match...
void registerCheck(StringRef CheckName)
Registers the CheckType with the name Name.
A collection of ClangTidyCheckFactory instances.
void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override
Implement this function in order to register all CheckFactories belonging to this module...
A clang-tidy module groups a number of ClangTidyChecks and gives them a prefixed name.
volatile int MPIModuleAnchorSource
This check verifies if a buffer passed to an MPI (Message Passing Interface) function is sufficiently...