brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · ded8593 Raw
46 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 "CalleeNamespaceCheck.h"13#include "ImplementationInNamespaceCheck.h"14#include "InlineFunctionDeclCheck.h"15#include "RestrictSystemLibcHeadersCheck.h"16 17namespace clang::tidy {18namespace llvm_libc {19 20class LLVMLibcModule : public ClangTidyModule {21public:22  void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {23    CheckFactories.registerCheck<CalleeNamespaceCheck>(24        "llvmlibc-callee-namespace");25    CheckFactories.registerCheck<ImplementationInNamespaceCheck>(26        "llvmlibc-implementation-in-namespace");27    CheckFactories.registerCheck<InlineFunctionDeclCheck>(28        "llvmlibc-inline-function-decl");29    CheckFactories.registerCheck<RestrictSystemLibcHeadersCheck>(30        "llvmlibc-restrict-system-libc-headers");31  }32};33 34// Register the LLVMLibcTidyModule using this statically initialized variable.35static ClangTidyModuleRegistry::Add<LLVMLibcModule>36    X("llvmlibc-module", "Adds LLVM libc standards checks.");37 38} // namespace llvm_libc39 40// This anchor is used to force the linker to link in the generated object file41// and thus register the LLVMLibcModule.42// NOLINTNEXTLINE(misc-use-internal-linkage)43volatile int LLVMLibcModuleAnchorSource = 0;44 45} // namespace clang::tidy46