Use new functions appendToGlobalCtors() and appendToGlobalDtors.

This simplifies the code in module.cpp a bit. But it is also the base to implement a pragma to place an arbitrary function in llvm.global_ctors and llvm.global_dtors.
This commit is contained in:
kai
2012-09-09 20:41:51 +02:00
parent e78ff5a131
commit d57eaa49ae
5 changed files with 144 additions and 91 deletions
+7
View File
@@ -14,12 +14,19 @@
#if LDC_LLVM_VER == 300
namespace llvm {
class Module;
class Function;
namespace sys {
std::string getDefaultTargetTriple();
}
Triple Triple__get32BitArchVariant(const std::string&_this);
Triple Triple__get64BitArchVariant(const std::string& _this);
// From Transforms/Utils/ModuleUtils
void appendToGlobalCtors(Module &M, Function *F, int Priority);
void appendToGlobalDtors(Module &M, Function *F, int Priority);
}
#endif