mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-25 10:27:04 +00:00
Provide InitializeAllTargets and InitializeNativeTarget functions in the
C bindings. Change all the backend "Initialize" functions to have C linkage. Change the "llvm/Config/Targets.def" header to use C-style comments to avoid compile warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74026 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -18,20 +18,21 @@
|
||||
|
||||
#include "llvm/Config/config.h"
|
||||
|
||||
namespace llvm {
|
||||
extern "C" {
|
||||
// Declare all of the target-initialization functions that are available.
|
||||
#define LLVM_TARGET(TargetName) void Initialize##TargetName##Target();
|
||||
#define LLVM_TARGET(TargetName) void LLVMInitialize##TargetName##Target();
|
||||
#include "llvm/Config/Targets.def"
|
||||
|
||||
// Declare all of the available asm-printer initialization functions.
|
||||
// Declare all of the target-initialization functions.
|
||||
#define LLVM_ASM_PRINTER(TargetName) void Initialize##TargetName##AsmPrinter();
|
||||
#define LLVM_ASM_PRINTER(TargetName) void LLVMInitialize##TargetName##AsmPrinter();
|
||||
#include "llvm/Config/AsmPrinters.def"
|
||||
|
||||
}
|
||||
|
||||
namespace llvm {
|
||||
/// InitializeAllTargets - The main program should call this function if it
|
||||
/// wants to link in all available targets that LLVM is configured to support.
|
||||
inline void InitializeAllTargets() {
|
||||
#define LLVM_TARGET(TargetName) llvm::Initialize##TargetName##Target();
|
||||
#define LLVM_TARGET(TargetName) LLVMInitialize##TargetName##Target();
|
||||
#include "llvm/Config/Targets.def"
|
||||
}
|
||||
|
||||
@@ -39,18 +40,17 @@ namespace llvm {
|
||||
/// it wants all asm printers that LLVM is configured to support. This will
|
||||
/// cause them to be linked into its executable.
|
||||
inline void InitializeAllAsmPrinters() {
|
||||
#define LLVM_ASM_PRINTER(TargetName) Initialize##TargetName##AsmPrinter();
|
||||
#define LLVM_ASM_PRINTER(TargetName) LLVMInitialize##TargetName##AsmPrinter();
|
||||
#include "llvm/Config/AsmPrinters.def"
|
||||
}
|
||||
|
||||
|
||||
/// InitializeNativeTarget - The main program should call this function to
|
||||
/// initialize the native target corresponding to the host. This is useful
|
||||
/// for JIT applications to ensure that the target gets linked in correctly.
|
||||
inline bool InitializeNativeTarget() {
|
||||
// If we have a native target, initialize it to ensure it is linked in.
|
||||
#ifdef LLVM_NATIVE_ARCH
|
||||
#define DoInit2(TARG) llvm::Initialize ## TARG ()
|
||||
#define DoInit2(TARG) LLVMInitialize ## TARG ()
|
||||
#define DoInit(T) DoInit2(T)
|
||||
DoInit(LLVM_NATIVE_ARCH);
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user