brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · e73e954 Raw
49 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 "AvoidPragmaOnceCheck.h"13#include "RestrictSystemIncludesCheck.h"14#include "SIMDIntrinsicsCheck.h"15#include "StdAllocatorConstCheck.h"16#include "TemplateVirtualMemberFunctionCheck.h"17 18namespace clang::tidy {19namespace portability {20 21class PortabilityModule : public ClangTidyModule {22public:23  void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {24    CheckFactories.registerCheck<AvoidPragmaOnceCheck>(25        "portability-avoid-pragma-once");26    CheckFactories.registerCheck<RestrictSystemIncludesCheck>(27        "portability-restrict-system-includes");28    CheckFactories.registerCheck<SIMDIntrinsicsCheck>(29        "portability-simd-intrinsics");30    CheckFactories.registerCheck<StdAllocatorConstCheck>(31        "portability-std-allocator-const");32    CheckFactories.registerCheck<TemplateVirtualMemberFunctionCheck>(33        "portability-template-virtual-member-function");34  }35};36 37// Register the PortabilityModule using this statically initialized variable.38static ClangTidyModuleRegistry::Add<PortabilityModule>39    X("portability-module", "Adds portability-related checks.");40 41} // namespace portability42 43// This anchor is used to force the linker to link in the generated object file44// and thus register the PortabilityModule.45// NOLINTNEXTLINE(misc-use-internal-linkage)46volatile int PortabilityModuleAnchorSource = 0;47 48} // namespace clang::tidy49