Mercurial > projects > ldc
diff gen/main.cpp @ 1521:982eb70e83b2
Fix build for LLVM >= r74640
Some LLVM objects now take a 'Context' to make multi-threaded apps easier.
Since we're not multi-threaded it's safe to use llvm::getGlobalContext()
which gives us the same behavior as we had before.
author | Benjamin Kramer <benny.kra@gmail.com> |
---|---|
date | Fri, 03 Jul 2009 17:24:35 +0200 |
parents | 26d061e61b02 |
children | b265fb6ce15b |
line wrap: on
line diff
--- a/gen/main.cpp Tue Jun 30 22:07:50 2009 +0200 +++ b/gen/main.cpp Fri Jul 03 17:24:35 2009 +0200 @@ -7,6 +7,9 @@ #include "gen/llvm-version.h" #include "llvm/LinkAllVMCore.h" #include "llvm/Linker.h" +#if LLVM_REV >= 74640 +#include "llvm/LLVMContext.h" +#endif #include "llvm/System/Signals.h" #include "llvm/Target/SubtargetFeature.h" #include "llvm/Target/TargetMachine.h" @@ -399,7 +402,11 @@ if (global.errors) fatal(); +#if LLVM_REV >= 74640 + llvm::Module mod("dummy", llvm::getGlobalContext()); +#else llvm::Module mod("dummy"); +#endif // override triple if needed const char* defaultTriple = DEFAULT_TARGET_TRIPLE; @@ -919,7 +926,11 @@ char* name = m->toChars(); char* filename = m->objfile->name->str; +#if LLVM_REV >= 74640 + llvm::Linker linker(name, name, llvm::getGlobalContext()); +#else llvm::Linker linker(name, name); +#endif std::string errormsg; for (int i = 0; i < llvmModules.size(); i++) {