Browse Source

Fix procedure pointer cast

gingerBill 2 years ago
parent
commit
d325c36eb8
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/llvm_backend_proc.cpp

+ 3 - 0
src/llvm_backend_proc.cpp

@@ -736,6 +736,9 @@ lbValue lb_emit_call_internal(lbProcedure *p, lbValue value, lbValue return_ptr,
 	}
 	for_array(i, processed_args) {
 		lbValue arg = processed_args[i];
+		if (is_type_proc(arg.type)) {
+			arg.value = LLVMBuildPointerCast(p->builder, arg.value, lb_type(p->module, arg.type), "");
+		}
 		args[arg_index++] = arg.value;
 	}
 	if (context_ptr.addr.value != nullptr) {