aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_proc.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2022-09-12 13:08:05 +0100
committergingerBill <bill@gingerbill.org>2022-09-12 13:08:05 +0100
commitfbbfe438dc8d841bdba6585c7b80336b569a01f0 (patch)
treece7cae28d0050724ab9a315a779798cd4625685a /src/llvm_backend_proc.cpp
parente008eeac6ae553da96dba0c0cdae8def6a03b92b (diff)
Improve debug info to named return values
Diffstat (limited to 'src/llvm_backend_proc.cpp')
-rw-r--r--src/llvm_backend_proc.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/llvm_backend_proc.cpp b/src/llvm_backend_proc.cpp
index 17501d657..1f2175369 100644
--- a/src/llvm_backend_proc.cpp
+++ b/src/llvm_backend_proc.cpp
@@ -578,7 +578,7 @@ void lb_begin_procedure_body(lbProcedure *p) {
GB_ASSERT(!is_blank_ident(e->token));
lbAddr res = {};
- if (return_ptr_value.value) {
+ if (return_ptr_value.value != nullptr) {
lbValue ptr = return_ptr_value;
if (results->variables.count != 1) {
ptr = lb_emit_struct_ep(p, ptr, cast(i32)i);
@@ -594,8 +594,11 @@ void lb_begin_procedure_body(lbProcedure *p) {
lbValue c = lb_handle_param_value(p, e->type, e->Variable.param_value, e->token.pos);
lb_addr_store(p, res, c);
}
+
+ lb_add_debug_param_variable(p, lb_addr_get_ptr(p, res).value, e->type, e->token, cast(unsigned)(ft->args.count+i), p->curr_block, lbArg_Indirect);
}
}
+
}
}
if (p->type->Proc.calling_convention == ProcCC_Odin) {