Implement pragma(lib) using module metadata.

Since LLVM 3.3 pragma(lib) can be implemented like DMD does.
This commit is contained in:
kai
2013-07-15 07:47:54 +02:00
parent d46d4ce4b1
commit 4f7bc678fb
3 changed files with 44 additions and 7 deletions

View File

@@ -422,6 +422,12 @@ llvm::Module* Module::genLLVMModule(llvm::LLVMContext& context, Ir* sir)
// generate ModuleInfo
genmoduleinfo();
#if LDC_LLVM_VER >= 303
// Add the linker options metadata flag.
ir.module->addModuleFlag(llvm::Module::AppendUnique, "Linker Options",
llvm::MDNode::get(ir.context(), ir.LinkerMetadataArgs));
#endif
// verify the llvm
verifyModule(*ir.module);