Restored old behavior of initialization of llvm targets.

LDC initializes only a llvm host target and targets that were explicitly
requested when building the program.
This commit is contained in:
Alexey Prokhin
2011-12-05 21:27:08 +04:00
parent bb3908f290
commit 7da47c4ee8
2 changed files with 54 additions and 9 deletions

View File

@@ -449,11 +449,19 @@ int main(int argc, char** argv)
// Allocate target machine.
// first initialize llvm
llvm::InitializeAllTargetInfos();
llvm::InitializeAllTargets();
llvm::InitializeAllAsmPrinters();
llvm::InitializeAllAsmParsers();
llvm::InitializeAllTargetMCs();
#if 0
llvm::InitializeNativeTarget();
llvm::InitializeNativeTargetAsmParser();
llvm::InitializeNativeTargetAsmPrinter();
#endif
#define LLVM_TARGET(A) \
LLVMInitialize##A##TargetInfo(); \
LLVMInitialize##A##Target(); \
LLVMInitialize##A##AsmPrinter(); \
LLVMInitialize##A##AsmParser(); \
LLVMInitialize##A##TargetMC();
LDC_TARGETS
#undef LLVM_TARGET
const llvm::Target *theTarget = NULL;
// Check whether the user has explicitly specified an architecture to compile for.