diff options
Diffstat (limited to 'src/gallium/auxiliary/gallivm/lp_bld_assert.c')
-rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_assert.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_assert.c b/src/gallium/auxiliary/gallivm/lp_bld_assert.c index f2ebd868a8d..9de5e8e7b51 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_assert.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_assert.c @@ -56,20 +56,21 @@ lp_assert(int condition, const char *msg) * \param msg a string to print if the assertion fails. */ LLVMValueRef -lp_build_assert(LLVMBuilderRef builder, LLVMValueRef condition, +lp_build_assert(struct gallivm_state *gallivm, + LLVMValueRef condition, const char *msg) { - LLVMModuleRef module; + LLVMBuilderRef builder = gallivm->builder; + LLVMContextRef context = gallivm->context; + LLVMModuleRef module = gallivm->module; LLVMTypeRef arg_types[2]; LLVMValueRef msg_string, assert_func, params[2], r; - module = LLVMGetGlobalParent(LLVMGetBasicBlockParent( - LLVMGetInsertBlock(builder))); + msg_string = lp_build_const_string_variable(module, context, + msg, strlen(msg) + 1); - msg_string = lp_build_const_string_variable(module, msg, strlen(msg) + 1); - - arg_types[0] = LLVMInt32Type(); - arg_types[1] = LLVMPointerType(LLVMInt8Type(), 0); + arg_types[0] = LLVMInt32TypeInContext(context); + arg_types[1] = LLVMPointerType(LLVMInt8TypeInContext(context), 0); /* lookup the lp_assert function */ assert_func = LLVMGetNamedFunction(module, "lp_assert"); @@ -77,12 +78,12 @@ lp_build_assert(LLVMBuilderRef builder, LLVMValueRef condition, /* Create the assertion function if not found */ if (!assert_func) { LLVMTypeRef func_type = - LLVMFunctionType(LLVMVoidType(), arg_types, 2, 0); + LLVMFunctionType(LLVMVoidTypeInContext(context), arg_types, 2, 0); assert_func = LLVMAddFunction(module, "lp_assert", func_type); LLVMSetFunctionCallConv(assert_func, LLVMCCallConv); LLVMSetLinkage(assert_func, LLVMExternalLinkage); - LLVMAddGlobalMapping(lp_build_engine, assert_func, + LLVMAddGlobalMapping(gallivm->engine, assert_func, func_to_pointer((func_pointer)lp_assert)); } assert(assert_func); |