diff --git a/src/liboslexec/llvm_util.cpp b/src/liboslexec/llvm_util.cpp index 445f64000..3d468de27 100644 --- a/src/liboslexec/llvm_util.cpp +++ b/src/liboslexec/llvm_util.cpp @@ -3430,8 +3430,9 @@ LLVM_Util::call_function (llvm::Value *func, cspan args) #endif //llvm_gen_debug_printf (std::string("start ") + std::string(name)); #if OSL_LLVM_VERSION >= 110 - OSL_DASSERT(llvm::isa(func)); - llvm::Value *r = builder().CreateCall(llvm::cast(func), llvm::ArrayRef(args.data(), args.size())); + llvm::Value* r = builder().CreateCall( + llvm::cast(func->getType()->getPointerElementType()), func, + llvm::ArrayRef(args.data(), args.size())); #else llvm::Value *r = builder().CreateCall (func, llvm::ArrayRef(args.data(), args.size())); #endif