diff options
| author | gingerBill <bill@gingerbill.org> | 2022-09-12 13:08:05 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2022-09-12 13:08:05 +0100 |
| commit | fbbfe438dc8d841bdba6585c7b80336b569a01f0 (patch) | |
| tree | ce7cae28d0050724ab9a315a779798cd4625685a /src/llvm_backend_proc.cpp | |
| parent | e008eeac6ae553da96dba0c0cdae8def6a03b92b (diff) | |
Improve debug info to named return values
Diffstat (limited to 'src/llvm_backend_proc.cpp')
| -rw-r--r-- | src/llvm_backend_proc.cpp | 5 |
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) { |