Skip to content

Commit

Permalink
fix some types and nulls checking in previous commit
Browse files Browse the repository at this point in the history
  • Loading branch information
vtjnash committed Nov 29, 2013
1 parent 67a11cb commit f4f4c2f
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 3 deletions.
4 changes: 3 additions & 1 deletion src/ccall.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,7 @@ static Value *emit_cglobal(jl_value_t **args, size_t nargs, jl_codectx_t *ctx)
else
symaddr = sys::DynamicLibrary::SearchForAddressOfSymbol(sym.f_name);
if (imaging_mode) {
PointerType *lrtp = PointerType::get(lrt,0);
PointerType *lrtp = (PointerType*)lrt;
Constant *nullval = ConstantPointerNull::get(lrtp);
GlobalValue *llvmgv = new GlobalVariable(*jl_Module, lrtp,
false, GlobalVariable::PrivateLinkage,
Expand All @@ -448,6 +448,7 @@ static Value *emit_cglobal(jl_value_t **args, size_t nargs, jl_codectx_t *ctx)
libptr = builder.CreateCall2(jldlopen_func, ConstantPointerNull::get((PointerType*)T_pint8), ConstantInt::get(T_int32,0));
}
res = builder.CreateCall2(jldlsym_func, libptr, builder.CreateGlobalStringPtr(sym.f_name));
null_pointer_check(res,ctx);
res = builder.CreatePointerCast(res, lrtp);
builder.CreateStore(res, llvmgv);
builder.CreateBr(cglobal_bb);
Expand Down Expand Up @@ -701,6 +702,7 @@ static Value *emit_ccall(jl_value_t **args, size_t nargs, jl_codectx_t *ctx)
libptr = builder.CreateCall2(jldlopen_func, ConstantPointerNull::get((PointerType*)T_pint8), ConstantInt::get(T_int32,0));
}
llvmf = builder.CreateCall2(jldlsym_func, libptr, builder.CreateGlobalStringPtr(f_name));
null_pointer_check(llvmf,ctx);
llvmf = builder.CreatePointerCast(llvmf,funcptype);
builder.CreateStore(llvmf, llvmgv);
builder.CreateBr(ccall_bb);
Expand Down
4 changes: 2 additions & 2 deletions src/codegen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3491,8 +3491,8 @@ static void init_julia_llvm_env(Module *m)
jldlsym_func =
Function::Create(FunctionType::get(T_pint8, dlsym_args, false),
Function::ExternalLinkage,
"jl_dlsym", jl_Module);
jl_ExecutionEngine->addGlobalMapping(jldlsym_func, (void*)&jl_dlsym);
"jl_dlsym_e", jl_Module);
jl_ExecutionEngine->addGlobalMapping(jldlsym_func, (void*)&jl_dlsym_e);

// set up optimization passes
FPM = new FunctionPassManager(jl_Module);
Expand Down

0 comments on commit f4f4c2f

Please sign in to comment.