mirror of
https://github.com/ldc-developers/ldc.git
synced 2025-05-14 07:09:50 +03:00
Remove dummy module hack.
This commit is contained in:
parent
977fa551ee
commit
f3aad137c5
1 changed files with 4 additions and 11 deletions
15
gen/main.cpp
15
gen/main.cpp
|
@ -402,9 +402,6 @@ int main(int argc, char** argv)
|
||||||
if (global.errors)
|
if (global.errors)
|
||||||
fatal();
|
fatal();
|
||||||
|
|
||||||
llvm::LLVMContext& context = llvm::getGlobalContext();
|
|
||||||
llvm::Module mod("dummy", context);
|
|
||||||
|
|
||||||
// override triple if needed
|
// override triple if needed
|
||||||
const char* defaultTriple = DEFAULT_TARGET_TRIPLE;
|
const char* defaultTriple = DEFAULT_TARGET_TRIPLE;
|
||||||
if ((sizeof(void*) == 4 && m64bits) || (sizeof(void*) == 8 && m32bits))
|
if ((sizeof(void*) == 4 && m64bits) || (sizeof(void*) == 8 && m32bits))
|
||||||
|
@ -427,7 +424,7 @@ int main(int argc, char** argv)
|
||||||
global.params.targetTriple = mTargetTriple.c_str();
|
global.params.targetTriple = mTargetTriple.c_str();
|
||||||
}
|
}
|
||||||
|
|
||||||
mod.setTargetTriple(global.params.targetTriple);
|
std::string triple = global.params.targetTriple;
|
||||||
|
|
||||||
// Allocate target machine.
|
// Allocate target machine.
|
||||||
|
|
||||||
|
@ -442,11 +439,7 @@ LDC_TARGETS
|
||||||
if (mArch.empty())
|
if (mArch.empty())
|
||||||
{
|
{
|
||||||
std::string Err;
|
std::string Err;
|
||||||
#if LLVM_REV < 77950
|
theTarget = llvm::TargetRegistry::lookupTarget(triple, Err);
|
||||||
theTarget = llvm::TargetRegistry::lookupTarget(mod.getTargetTriple(), false, false, Err);
|
|
||||||
#else
|
|
||||||
theTarget = llvm::TargetRegistry::lookupTarget(mod.getTargetTriple(), Err);
|
|
||||||
#endif
|
|
||||||
if (theTarget == 0)
|
if (theTarget == 0)
|
||||||
{
|
{
|
||||||
error("failed to auto-select target: %s, please use the -march option", Err.c_str());
|
error("failed to auto-select target: %s, please use the -march option", Err.c_str());
|
||||||
|
@ -483,7 +476,7 @@ LDC_TARGETS
|
||||||
FeaturesStr = Features.getString();
|
FeaturesStr = Features.getString();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::auto_ptr<llvm::TargetMachine> target(theTarget->createTargetMachine(mod.getTargetTriple(), FeaturesStr));
|
std::auto_ptr<llvm::TargetMachine> target(theTarget->createTargetMachine(triple, FeaturesStr));
|
||||||
assert(target.get() && "Could not allocate target machine!");
|
assert(target.get() && "Could not allocate target machine!");
|
||||||
gTargetMachine = target.get();
|
gTargetMachine = target.get();
|
||||||
gTargetData = gTargetMachine->getTargetData();
|
gTargetData = gTargetMachine->getTargetData();
|
||||||
|
@ -559,7 +552,6 @@ LDC_TARGETS
|
||||||
// parse the OS out of the target triple
|
// parse the OS out of the target triple
|
||||||
// see http://gcc.gnu.org/install/specific.html for details
|
// see http://gcc.gnu.org/install/specific.html for details
|
||||||
// also llvm's different SubTargets have useful information
|
// also llvm's different SubTargets have useful information
|
||||||
std::string triple = global.params.targetTriple;
|
|
||||||
size_t npos = std::string::npos;
|
size_t npos = std::string::npos;
|
||||||
|
|
||||||
// windows
|
// windows
|
||||||
|
@ -904,6 +896,7 @@ LDC_TARGETS
|
||||||
|
|
||||||
// collects llvm modules to be linked if singleobj is passed
|
// collects llvm modules to be linked if singleobj is passed
|
||||||
std::vector<llvm::Module*> llvmModules;
|
std::vector<llvm::Module*> llvmModules;
|
||||||
|
llvm::LLVMContext& context = llvm::getGlobalContext();
|
||||||
|
|
||||||
// Generate output files
|
// Generate output files
|
||||||
for (int i = 0; i < modules.dim; i++)
|
for (int i = 0; i < modules.dim; i++)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue