Make llvmc work again.
[oota-llvm.git] / include / llvm / CompilerDriver / ForceLinkageMacros.h
1 //===--- ForceLinkageMacros.h - The LLVM Compiler Driver --------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open
6 // Source License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 //  Preprocessor magic that forces references to static libraries - common
11 //  macros used by both driver and plugins.
12 //
13 //===----------------------------------------------------------------------===//
14
15 #ifndef LLVM_INCLUDE_COMPILER_DRIVER_FORCE_LINKAGE_MACROS_H
16 #define LLVM_INCLUDE_COMPILER_DRIVER_FORCE_LINKAGE_MACROS_H
17
18 #define LLVMC_FORCE_LINKAGE_PREFIX(PluginName) ForceLinkage ## PluginName
19
20 #define LLVMC_FORCE_LINKAGE_FUN(PluginName) \
21   LLVMC_FORCE_LINKAGE_PREFIX(PluginName)
22
23 #define LLVMC_FORCE_LINKAGE_DECL(PluginName) \
24   void LLVMC_FORCE_LINKAGE_FUN(PluginName) ()
25
26 #define LLVMC_FORCE_LINKAGE_CALL(PluginName) \
27   LLVMC_FORCE_LINKAGE_FUN(PluginName) ()
28
29 #endif // LLVM_INCLUDE_COMPILER_DRIVER_FORCE_LINKAGE_MACROS_H