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 40