diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2024-10-30 12:24:23 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-30 12:24:23 +0000 |
| commit | f469bbb0049f618d09dd1dd962389c8306db6bbc (patch) | |
| tree | c9fc02d1e8a7583ba339d8402f17ff6874403394 /src/llvm_backend_stmt.cpp | |
| parent | ee76acd665911e2f28d5183b3c0a07a665dbf858 (diff) | |
| parent | b59647084b11a7f08ad3aa54ae47ceb157f12c46 (diff) | |
Merge pull request #4425 from bobsayshilol/misc-fixes
Misc fixes
Diffstat (limited to 'src/llvm_backend_stmt.cpp')
| -rw-r--r-- | src/llvm_backend_stmt.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/llvm_backend_stmt.cpp b/src/llvm_backend_stmt.cpp index 288e7206a..06d66ac80 100644 --- a/src/llvm_backend_stmt.cpp +++ b/src/llvm_backend_stmt.cpp @@ -2018,14 +2018,7 @@ gb_internal void lb_build_return_stmt_internal(lbProcedure *p, lbValue res) { gb_internal void lb_build_return_stmt(lbProcedure *p, Slice<Ast *> const &return_results) { lb_ensure_abi_function_type(p->module, p); - lbValue res = {}; - - TypeTuple *tuple = &p->type->Proc.results->Tuple; isize return_count = p->type->Proc.result_count; - isize res_count = return_results.count; - - lbFunctionType *ft = lb_get_function_type(p->module, p->type); - bool return_by_pointer = ft->ret.kind == lbArg_Indirect; if (return_count == 0) { // No return values @@ -2038,7 +2031,17 @@ gb_internal void lb_build_return_stmt(lbProcedure *p, Slice<Ast *> const &return LLVMBuildRetVoid(p->builder); } return; - } else if (return_count == 1) { + } + + lbValue res = {}; + + TypeTuple *tuple = &p->type->Proc.results->Tuple; + isize res_count = return_results.count; + + lbFunctionType *ft = lb_get_function_type(p->module, p->type); + bool return_by_pointer = ft->ret.kind == lbArg_Indirect; + + if (return_count == 1) { Entity *e = tuple->variables[0]; if (res_count == 0) { rw_mutex_shared_lock(&p->module->values_mutex); |