From 9d52cf68551d45d78d97edbe504041d349e26228 Mon Sep 17 00:00:00 2001 From: David Nadlinger Date: Sat, 6 Oct 2012 13:27:54 +0200 Subject: [PATCH] Workaround for LLVM bug 11479 in -singleobj mode. This applies the same fix as in 88f08cf for multiple object file builds. Fixes std.socket unit test builds. --- driver/main.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/driver/main.cpp b/driver/main.cpp index af0abfba..07dd429d 100644 --- a/driver/main.cpp +++ b/driver/main.cpp @@ -1035,7 +1035,6 @@ int main(int argc, char** argv) if (singleObj && llvmModules.size() > 0) { Module* m = static_cast(modules.data[0]); - char* name = m->toChars(); char* oname; char* filename; @@ -1050,7 +1049,13 @@ int main(int argc, char** argv) else filename = m->objfile->name->str; - llvm::Linker linker(name, name, context); +#if 1 + // Temporary workaround for http://llvm.org/bugs/show_bug.cgi?id=11479. + char* moduleName = filename; +#else + char* moduleName = m->toChars(); +#endif + llvm::Linker linker("ldc", moduleName, context); std::string errormsg; for (int i = 0; i < llvmModules.size(); i++)