1fc8c65b2STom Roeder //===--- LinuxKernelTidyModule.cpp - clang-tidy----------------------------===// 2fc8c65b2STom Roeder // 3fc8c65b2STom Roeder // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4fc8c65b2STom Roeder // See https://llvm.org/LICENSE.txt for license information. 5fc8c65b2STom Roeder // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6fc8c65b2STom Roeder // 7fc8c65b2STom Roeder //===----------------------------------------------------------------------===// 8fc8c65b2STom Roeder 9fc8c65b2STom Roeder #include "../ClangTidy.h" 10fc8c65b2STom Roeder #include "../ClangTidyModule.h" 11fc8c65b2STom Roeder #include "../ClangTidyModuleRegistry.h" 12fc8c65b2STom Roeder #include "MustCheckErrsCheck.h" 13fc8c65b2STom Roeder 14*7d2ea6c4SCarlos Galvez namespace clang::tidy { 15fc8c65b2STom Roeder namespace linuxkernel { 16fc8c65b2STom Roeder 17fc8c65b2STom Roeder /// This module is for checks specific to the Linux kernel. 18fc8c65b2STom Roeder class LinuxKernelModule : public ClangTidyModule { 19fc8c65b2STom Roeder public: addCheckFactories(ClangTidyCheckFactories & CheckFactories)20fc8c65b2STom Roeder void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override { 21fc8c65b2STom Roeder CheckFactories.registerCheck<MustCheckErrsCheck>( 22fc8c65b2STom Roeder "linuxkernel-must-check-errs"); 23fc8c65b2STom Roeder } 24fc8c65b2STom Roeder }; 25fc8c65b2STom Roeder // Register the LinuxKernelTidyModule using this statically initialized 26fc8c65b2STom Roeder // variable. 27fc8c65b2STom Roeder static ClangTidyModuleRegistry::Add<LinuxKernelModule> 28fc8c65b2STom Roeder X("linux-module", "Adds checks specific to the Linux kernel."); 29fc8c65b2STom Roeder } // namespace linuxkernel 30fc8c65b2STom Roeder 31fc8c65b2STom Roeder // This anchor is used to force the linker to link in the generated object file 32fc8c65b2STom Roeder // and thus register the LinuxKernelModule. 33fc8c65b2STom Roeder volatile int LinuxKernelModuleAnchorSource = 0; 34fc8c65b2STom Roeder 35*7d2ea6c4SCarlos Galvez } // namespace clang::tidy 36