forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			135 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			C++
		
	
	
	
| //===- 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/Config/config.h"
 | |
| #include "llvm/Support/Compiler.h"
 | |
| 
 | |
| namespace clang {
 | |
| namespace tidy {
 | |
| 
 | |
| // 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 AbseilModule.
 | |
| extern volatile int AbseilModuleAnchorSource;
 | |
| static int LLVM_ATTRIBUTE_UNUSED AbseilModuleAnchorDestination =
 | |
|     AbseilModuleAnchorSource;
 | |
| 
 | |
| // 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 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 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 AndroidModule.
 | |
| extern volatile int AndroidModuleAnchorSource;
 | |
| static int LLVM_ATTRIBUTE_UNUSED AndroidModuleAnchorDestination =
 | |
|     AndroidModuleAnchorSource;
 | |
| 
 | |
| // 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_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 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 ObjCModule.
 | |
| extern volatile int ObjCModuleAnchorSource;
 | |
| static int LLVM_ATTRIBUTE_UNUSED ObjCModuleAnchorDestination =
 | |
|     ObjCModuleAnchorSource;
 | |
| 
 | |
| // 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 ZirconModule.
 | |
| extern volatile int ZirconModuleAnchorSource;
 | |
| static int LLVM_ATTRIBUTE_UNUSED ZirconModuleAnchorDestination =
 | |
|     ZirconModuleAnchorSource;
 | |
| 
 | |
| } // namespace tidy
 | |
| } // namespace clang
 | |
| 
 | |
| #endif
 |