brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 0330626 Raw
38 lines · cpp
1//===----------------------------------------------------------------------===//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-exception6//7//===----------------------------------------------------------------------===//8 9#include "../ClangTidy.h"10#include "../ClangTidyModule.h"11#include "../ClangTidyModuleRegistry.h"12#include "AvoidSpinlockCheck.h"13#include "DispatchOnceNonstaticCheck.h"14 15namespace clang::tidy {16namespace darwin {17 18class DarwinModule : public ClangTidyModule {19public:20  void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {21    CheckFactories.registerCheck<AvoidSpinlockCheck>("darwin-avoid-spinlock");22    CheckFactories.registerCheck<DispatchOnceNonstaticCheck>(23        "darwin-dispatch-once-nonstatic");24  }25};26 27} // namespace darwin28 29// Register the DarwinTidyModule using this statically initialized variable.30static ClangTidyModuleRegistry::Add<darwin::DarwinModule>31    X("darwin-module", "Adds Darwin-specific lint checks.");32 33// This anchor is used to force the linker to link in the generated object file34// and thus register the DarwinModule.35volatile int DarwinModuleAnchorSource = 0; // NOLINT(misc-use-internal-linkage)36 37} // namespace clang::tidy38