• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===--- OpenMPTidyModule.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 "ExceptionEscapeCheck.h"
13 #include "UseDefaultNoneCheck.h"
14 
15 namespace clang {
16 namespace tidy {
17 namespace openmp {
18 
19 /// This module is for OpenMP-specific checks.
20 class OpenMPModule : public ClangTidyModule {
21 public:
addCheckFactories(ClangTidyCheckFactories & CheckFactories)22   void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
23     CheckFactories.registerCheck<ExceptionEscapeCheck>(
24         "openmp-exception-escape");
25     CheckFactories.registerCheck<UseDefaultNoneCheck>(
26         "openmp-use-default-none");
27   }
28 };
29 
30 // Register the OpenMPTidyModule using this statically initialized variable.
31 static ClangTidyModuleRegistry::Add<OpenMPModule>
32     X("openmp-module", "Adds OpenMP-specific checks.");
33 
34 } // namespace openmp
35 
36 // This anchor is used to force the linker to link in the generated object file
37 // and thus register the OpenMPModule.
38 volatile int OpenMPModuleAnchorSource = 0;
39 
40 } // namespace tidy
41 } // namespace clang
42