diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2010-08-01 23:36:18 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2010-08-01 23:36:18 +0000 |
| commit | df77432f8a28bd97c5df9e35de53addfc1b68be9 (patch) | |
| tree | 0b2dd99f753badaaff6cfd0a424a403640ee9594 | |
| parent | daf67727a3b6c0ca340a9e9f17923c2eceb8b090 (diff) | |
| download | bcm5719-llvm-df77432f8a28bd97c5df9e35de53addfc1b68be9.tar.gz bcm5719-llvm-df77432f8a28bd97c5df9e35de53addfc1b68be9.zip | |
Targets: Add InitializeNativeTargetAsmPrinter(), patch by Jan Sjodin, although
rewritten by me to not require updating all the target initialization routine
names.
llvm-svn: 109996
| -rw-r--r-- | llvm/include/llvm/Target/TargetSelect.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/include/llvm/Target/TargetSelect.h b/llvm/include/llvm/Target/TargetSelect.h index 951e7fa86b5..fc3244acd8e 100644 --- a/llvm/include/llvm/Target/TargetSelect.h +++ b/llvm/include/llvm/Target/TargetSelect.h @@ -30,6 +30,13 @@ extern "C" { #define LLVM_ASM_PRINTER(TargetName) void LLVMInitialize##TargetName##AsmPrinter(); #include "llvm/Config/AsmPrinters.def" + // FIXME: Workaround for unfortunate definition of LLVM_NATIVE_ARCH. +#define LLVM_ASM_PRINTER(TargetName) \ + static inline void LLVMInitialize##TargetName##TargetAsmPrinter() { \ + LLVMInitialize##TargetName##AsmPrinter(); \ + } +#include "llvm/Config/AsmPrinters.def" + // Declare all of the available assembly parser initialization functions. #define LLVM_ASM_PARSER(TargetName) void LLVMInitialize##TargetName##AsmParser(); #include "llvm/Config/AsmParsers.def" @@ -113,6 +120,23 @@ namespace llvm { return true; #endif } + + /// InitializeNativeTargetAsmPrinter - The main program should call + /// this function to initialize the native target asm printer. + inline bool InitializeNativeTargetAsmPrinter() { + // If we have a native target, initialize the corresponding asm printer. +#ifdef LLVM_NATIVE_ARCH +#define DoInit2(TARG) \ + LLVMInitialize ## TARG ## AsmPrinter (); +#define DoInit(T) DoInit2(T) + DoInit(LLVM_NATIVE_ARCH); + return false; +#undef DoInit +#undef DoInit2 +#else + return true; +#endif + } } #endif |

