blob: cb0e247ee29e0450426e8f0dd9270da81cab327e [file] [log] [blame]
Roman Lebedev819bedf2019-03-22 19:46:01 +00001//===--- 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"
Roman Lebedev462446f2019-03-22 19:46:25 +000012#include "ExceptionEscapeCheck.h"
Roman Lebedevcbbf9282019-03-22 19:46:12 +000013#include "UseDefaultNoneCheck.h"
Roman Lebedev819bedf2019-03-22 19:46:01 +000014
15namespace clang {
16namespace tidy {
17namespace openmp {
18
19/// This module is for OpenMP-specific checks.
20class OpenMPModule : public ClangTidyModule {
21public:
22 void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
Roman Lebedev462446f2019-03-22 19:46:25 +000023 CheckFactories.registerCheck<ExceptionEscapeCheck>(
24 "openmp-exception-escape");
Roman Lebedevcbbf9282019-03-22 19:46:12 +000025 CheckFactories.registerCheck<UseDefaultNoneCheck>(
26 "openmp-use-default-none");
Roman Lebedev819bedf2019-03-22 19:46:01 +000027 }
28};
29
30// Register the OpenMPTidyModule using this statically initialized variable.
31static 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.
38volatile int OpenMPModuleAnchorSource = 0;
39
40} // namespace tidy
41} // namespace clang