[llvm-commits] [llvm] r109996 - /llvm/trunk/include/llvm/Target/TargetSelect.h
Daniel Dunbar
daniel at zuster.org
Sun Aug 1 16:36:18 PDT 2010
Author: ddunbar
Date: Sun Aug 1 18:36:18 2010
New Revision: 109996
URL: http://llvm.org/viewvc/llvm-project?rev=109996&view=rev
Log:
Targets: Add InitializeNativeTargetAsmPrinter(), patch by Jan Sjodin, although
rewritten by me to not require updating all the target initialization routine
names.
Modified:
llvm/trunk/include/llvm/Target/TargetSelect.h
Modified: llvm/trunk/include/llvm/Target/TargetSelect.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetSelect.h?rev=109996&r1=109995&r2=109996&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Target/TargetSelect.h (original)
+++ llvm/trunk/include/llvm/Target/TargetSelect.h Sun Aug 1 18:36:18 2010
@@ -30,6 +30,13 @@
#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 @@
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
More information about the llvm-commits
mailing list