mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-02-15 11:23:14 +01:00
Adapt codegen to removal of old _d_invariant from druntime.
We should think about using symbolic constants for runtime function names though, this is not maintainable in the long run.
This commit is contained in:
@@ -900,7 +900,7 @@ static void LLVM_D_BuildRuntimeModule()
|
||||
|
||||
// void _d_invariant(Object o)
|
||||
{
|
||||
llvm::StringRef fname("_d_invariant");
|
||||
llvm::StringRef fname("_D9invariant12_d_invariantFC6ObjectZv");
|
||||
LLType *types[] = { objectTy };
|
||||
LLFunctionType* fty = llvm::FunctionType::get(voidTy, types, false);
|
||||
llvm::Function::Create(fty, llvm::GlobalValue::ExternalLinkage, fname, M);
|
||||
|
||||
@@ -2102,7 +2102,7 @@ DValue* AssertExp::toElem(IRState* p)
|
||||
!(static_cast<TypeClass*>(condty)->sym->isInterfaceDeclaration()))
|
||||
{
|
||||
Logger::println("calling class invariant");
|
||||
llvm::Function* fn = LLVM_D_GetRuntimeFunction(gIR->module, "_d_invariant");
|
||||
llvm::Function* fn = LLVM_D_GetRuntimeFunction(gIR->module, "_D9invariant12_d_invariantFC6ObjectZv");
|
||||
LLValue* arg = DtoBitCast(cond->getRVal(), fn->getFunctionType()->getParamType(0));
|
||||
gIR->CreateCallOrInvoke(fn, arg);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user