# HG changeset patch # User Benjamin Kramer # Date 1249567334 -7200 # Node ID ab03cfb3a2129fe1f5b18d0d8fff41519f038ad2 # Parent 755abafbf25d29e165011aeca6979d30d679c8a5 Remove dummy module hack. diff -r 755abafbf25d -r ab03cfb3a212 gen/main.cpp --- a/gen/main.cpp Thu Aug 06 01:47:39 2009 +0200 +++ b/gen/main.cpp Thu Aug 06 16:02:14 2009 +0200 @@ -402,9 +402,6 @@ if (global.errors) fatal(); - llvm::LLVMContext& context = llvm::getGlobalContext(); - llvm::Module mod("dummy", context); - // override triple if needed const char* defaultTriple = DEFAULT_TARGET_TRIPLE; if ((sizeof(void*) == 4 && m64bits) || (sizeof(void*) == 8 && m32bits)) @@ -427,7 +424,7 @@ global.params.targetTriple = mTargetTriple.c_str(); } - mod.setTargetTriple(global.params.targetTriple); + std::string triple = global.params.targetTriple; // Allocate target machine. @@ -442,11 +439,7 @@ if (mArch.empty()) { std::string Err; -#if LLVM_REV < 77950 - theTarget = llvm::TargetRegistry::lookupTarget(mod.getTargetTriple(), false, false, Err); -#else - theTarget = llvm::TargetRegistry::lookupTarget(mod.getTargetTriple(), Err); -#endif + theTarget = llvm::TargetRegistry::lookupTarget(triple, Err); if (theTarget == 0) { error("failed to auto-select target: %s, please use the -march option", Err.c_str()); @@ -483,7 +476,7 @@ FeaturesStr = Features.getString(); } - std::auto_ptr target(theTarget->createTargetMachine(mod.getTargetTriple(), FeaturesStr)); + std::auto_ptr target(theTarget->createTargetMachine(triple, FeaturesStr)); assert(target.get() && "Could not allocate target machine!"); gTargetMachine = target.get(); gTargetData = gTargetMachine->getTargetData(); @@ -559,7 +552,6 @@ // parse the OS out of the target triple // see http://gcc.gnu.org/install/specific.html for details // also llvm's different SubTargets have useful information - std::string triple = global.params.targetTriple; size_t npos = std::string::npos; // windows @@ -904,6 +896,7 @@ // collects llvm modules to be linked if singleobj is passed std::vector llvmModules; + llvm::LLVMContext& context = llvm::getGlobalContext(); // Generate output files for (int i = 0; i < modules.dim; i++)