136206206SYan Wang //===--- AndroidTidyModule.cpp - clang-tidy--------------------------------===// 236206206SYan Wang // 336206206SYan Wang // The LLVM Compiler Infrastructure 436206206SYan Wang // 536206206SYan Wang // This file is distributed under the University of Illinois Open Source 636206206SYan Wang // License. See LICENSE.TXT for details. 736206206SYan Wang // 836206206SYan Wang //===----------------------------------------------------------------------===// 936206206SYan Wang 1036206206SYan Wang #include "../ClangTidy.h" 1136206206SYan Wang #include "../ClangTidyModule.h" 1236206206SYan Wang #include "../ClangTidyModuleRegistry.h" 13*0b974147SYan Wang #include "CloexecCreatCheck.h" 1436206206SYan Wang #include "FileOpenFlagCheck.h" 1536206206SYan Wang 1636206206SYan Wang using namespace clang::ast_matchers; 1736206206SYan Wang 1836206206SYan Wang namespace clang { 1936206206SYan Wang namespace tidy { 2036206206SYan Wang namespace android { 2136206206SYan Wang 2236206206SYan Wang /// This module is for Android specific checks. 2336206206SYan Wang class AndroidModule : public ClangTidyModule { 2436206206SYan Wang public: 2536206206SYan Wang void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override { 2636206206SYan Wang CheckFactories.registerCheck<FileOpenFlagCheck>("android-file-open-flag"); 27*0b974147SYan Wang CheckFactories.registerCheck<CloexecCreatCheck>("android-cloexec-creat"); 2836206206SYan Wang } 2936206206SYan Wang }; 3036206206SYan Wang 3136206206SYan Wang // Register the AndroidTidyModule using this statically initialized variable. 3236206206SYan Wang static ClangTidyModuleRegistry::Add<AndroidModule> 3336206206SYan Wang X("android-module", "Adds Android platform checks."); 3436206206SYan Wang 3536206206SYan Wang } // namespace android 3636206206SYan Wang 3736206206SYan Wang // This anchor is used to force the linker to link in the generated object file 3836206206SYan Wang // and thus register the AndroidModule. 3936206206SYan Wang volatile int AndroidModuleAnchorSource = 0; 4036206206SYan Wang 4136206206SYan Wang } // namespace tidy 4236206206SYan Wang } // namespace clang 43