clang-tools 20.0.0git
MPITidyModule.cpp
Go to the documentation of this file.
1//===--- MPITidyModule.cpp - clang-tidy -----------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "../ClangTidy.h"
10#include "../ClangTidyModule.h"
11#include "../ClangTidyModuleRegistry.h"
12#include "BufferDerefCheck.h"
13#include "TypeMismatchCheck.h"
14
15namespace clang::tidy {
16namespace mpi {
17
18class MPIModule : public ClangTidyModule {
19public:
20 void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
21 CheckFactories.registerCheck<BufferDerefCheck>("mpi-buffer-deref");
22 CheckFactories.registerCheck<TypeMismatchCheck>("mpi-type-mismatch");
23 }
24};
25
26} // namespace mpi
27
28// Register the MPITidyModule using this statically initialized variable.
29static ClangTidyModuleRegistry::Add<mpi::MPIModule>
30 X("mpi-module", "Adds MPI clang-tidy checks.");
31
32// This anchor is used to force the linker to link in the generated object file
33// and thus register the MPIModule.
34volatile int MPIModuleAnchorSource = 0;
35
36} // namespace clang::tidy
int X
A collection of ClangTidyCheckFactory instances.
void registerCheck(llvm::StringRef CheckName)
Registers the CheckType with the name Name.
A clang-tidy module groups a number of ClangTidyChecks and gives them a prefixed name.
This check verifies if a buffer passed to an MPI (Message Passing Interface) function is sufficiently...
void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override
Implement this function in order to register all CheckFactories belonging to this module.
This check verifies if buffer type and MPI (Message Passing Interface) datatype pairs match.
volatile int MPIModuleAnchorSource