|  | //===- ClangTidyForceLinker.h - 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 | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_CLANGTIDYFORCELINKER_H | 
|  | #define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_CLANGTIDYFORCELINKER_H | 
|  |  | 
|  | #include "clang-tidy-config.h" | 
|  | #include "llvm/Support/Compiler.h" | 
|  |  | 
|  | namespace clang { | 
|  | namespace tidy { | 
|  |  | 
|  | // This anchor is used to force the linker to link the AbseilModule. | 
|  | extern volatile int AbseilModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED AbseilModuleAnchorDestination = | 
|  | AbseilModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the AlteraModule. | 
|  | extern volatile int AlteraModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED AlteraModuleAnchorDestination = | 
|  | AlteraModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the AndroidModule. | 
|  | extern volatile int AndroidModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED AndroidModuleAnchorDestination = | 
|  | AndroidModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the BoostModule. | 
|  | extern volatile int BoostModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED BoostModuleAnchorDestination = | 
|  | BoostModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the BugproneModule. | 
|  | extern volatile int BugproneModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED BugproneModuleAnchorDestination = | 
|  | BugproneModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the CERTModule. | 
|  | extern volatile int CERTModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED CERTModuleAnchorDestination = | 
|  | CERTModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the ConcurrencyModule. | 
|  | extern volatile int ConcurrencyModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED ConcurrencyModuleAnchorDestination = | 
|  | ConcurrencyModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the CppCoreGuidelinesModule. | 
|  | extern volatile int CppCoreGuidelinesModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED CppCoreGuidelinesModuleAnchorDestination = | 
|  | CppCoreGuidelinesModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the DarwinModule. | 
|  | extern volatile int DarwinModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED DarwinModuleAnchorDestination = | 
|  | DarwinModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the FuchsiaModule. | 
|  | extern volatile int FuchsiaModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED FuchsiaModuleAnchorDestination = | 
|  | FuchsiaModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the GoogleModule. | 
|  | extern volatile int GoogleModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED GoogleModuleAnchorDestination = | 
|  | GoogleModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the HICPPModule. | 
|  | extern volatile int HICPPModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED HICPPModuleAnchorDestination = | 
|  | HICPPModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the LinuxKernelModule. | 
|  | extern volatile int LinuxKernelModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED LinuxKernelModuleAnchorDestination = | 
|  | LinuxKernelModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the LLVMModule. | 
|  | extern volatile int LLVMModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED LLVMModuleAnchorDestination = | 
|  | LLVMModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the LLVMLibcModule. | 
|  | extern volatile int LLVMLibcModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED LLVMLibcModuleAnchorDestination = | 
|  | LLVMLibcModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the MiscModule. | 
|  | extern volatile int MiscModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED MiscModuleAnchorDestination = | 
|  | MiscModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the ModernizeModule. | 
|  | extern volatile int ModernizeModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED ModernizeModuleAnchorDestination = | 
|  | ModernizeModuleAnchorSource; | 
|  |  | 
|  | #if CLANG_TIDY_ENABLE_STATIC_ANALYZER &&                                       \ | 
|  | !defined(CLANG_TIDY_DISABLE_STATIC_ANALYZER_CHECKS) | 
|  | // This anchor is used to force the linker to link the MPIModule. | 
|  | extern volatile int MPIModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED MPIModuleAnchorDestination = | 
|  | MPIModuleAnchorSource; | 
|  | #endif | 
|  |  | 
|  | // This anchor is used to force the linker to link the ObjCModule. | 
|  | extern volatile int ObjCModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED ObjCModuleAnchorDestination = | 
|  | ObjCModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the OpenMPModule. | 
|  | extern volatile int OpenMPModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED OpenMPModuleAnchorDestination = | 
|  | OpenMPModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the PerformanceModule. | 
|  | extern volatile int PerformanceModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED PerformanceModuleAnchorDestination = | 
|  | PerformanceModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the PortabilityModule. | 
|  | extern volatile int PortabilityModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED PortabilityModuleAnchorDestination = | 
|  | PortabilityModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the ReadabilityModule. | 
|  | extern volatile int ReadabilityModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED ReadabilityModuleAnchorDestination = | 
|  | ReadabilityModuleAnchorSource; | 
|  |  | 
|  | // This anchor is used to force the linker to link the ZirconModule. | 
|  | extern volatile int ZirconModuleAnchorSource; | 
|  | static int LLVM_ATTRIBUTE_UNUSED ZirconModuleAnchorDestination = | 
|  | ZirconModuleAnchorSource; | 
|  |  | 
|  | } // namespace tidy | 
|  | } // namespace clang | 
|  |  | 
|  | #endif |