aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_proc.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2022-09-07 11:14:59 +0100
committergingerBill <bill@gingerbill.org>2022-09-07 11:14:59 +0100
commitd325c36eb8d9015db91b61d8049760aafd6ad66f (patch)
treee3086215923eac93c32acc90ab61a80e12fe25ac /src/llvm_backend_proc.cpp
parent79b55d5e2b053992b4dfde9538672df22eda0751 (diff)
Fix procedure pointer cast
Diffstat (limited to 'src/llvm_backend_proc.cpp')
-rw-r--r--src/llvm_backend_proc.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/llvm_backend_proc.cpp b/src/llvm_backend_proc.cpp
index d9f4e0c0d..530c08944 100644
--- a/src/llvm_backend_proc.cpp
+++ b/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) {