//===--- LLVMTidyModule.cpp - clang-tidy ----------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "../ClangTidy.h" #include "../ClangTidyModule.h" #include "../ClangTidyModuleRegistry.h" #include "../readability/ElseAfterReturnCheck.h" #include "../readability/NamespaceCommentCheck.h" #include "../readability/QualifiedAutoCheck.h" #include "HeaderGuardCheck.h" #include "IncludeOrderCheck.h" #include "PreferIsaOrDynCastInConditionalsCheck.h" #include "PreferRegisterOverUnsignedCheck.h" #include "TwineLocalCheck.h" namespace clang { namespace tidy { namespace llvm_check { class LLVMModule : public ClangTidyModule { public: void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override { CheckFactories.registerCheck( "llvm-else-after-return"); CheckFactories.registerCheck("llvm-header-guard"); CheckFactories.registerCheck("llvm-include-order"); CheckFactories.registerCheck( "llvm-namespace-comment"); CheckFactories.registerCheck( "llvm-prefer-isa-or-dyn-cast-in-conditionals"); CheckFactories.registerCheck( "llvm-prefer-register-over-unsigned"); CheckFactories.registerCheck( "llvm-qualified-auto"); CheckFactories.registerCheck("llvm-twine-local"); } ClangTidyOptions getModuleOptions() override { ClangTidyOptions Options; Options.CheckOptions["llvm-qualified-auto.AddConstToQualified"] = "0"; Options.CheckOptions["llvm-else-after-return.WarnOnUnfixable"] = "0"; Options.CheckOptions["llvm-else-after-return.WarnOnConditionVariables"] = "0"; return Options; } }; // Register the LLVMTidyModule using this statically initialized variable. static ClangTidyModuleRegistry::Add X("llvm-module", "Adds LLVM lint checks."); } // namespace llvm_check // This anchor is used to force the linker to link in the generated object file // and thus register the LLVMModule. volatile int LLVMModuleAnchorSource = 0; } // namespace tidy } // namespace clang