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:
David Nadlinger
2013-06-12 20:34:50 +02:00
parent 4c788699ae
commit bc910004a4
2 changed files with 2 additions and 2 deletions

View File

@@ -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);

View File

@@ -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);
}