diff options
| author | gingerBill <bill@gingerbill.org> | 2021-09-08 11:58:01 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-09-08 11:58:01 +0100 |
| commit | d4f5ef046da7d1d3402f671e84fa483c71a3b26f (patch) | |
| tree | 793e0ff21a6fa0ab84059dab2cd8f49842e12f34 /src/llvm_backend_expr.cpp | |
| parent | 30554f4758fca8d0181f368b6efd7e5ffee7ffaa (diff) | |
Remove `goto` in favour of multiple exits
Diffstat (limited to 'src/llvm_backend_expr.cpp')
| -rw-r--r-- | src/llvm_backend_expr.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/llvm_backend_expr.cpp b/src/llvm_backend_expr.cpp index 8e632d5bc..8189aec68 100644 --- a/src/llvm_backend_expr.cpp +++ b/src/llvm_backend_expr.cpp @@ -71,7 +71,10 @@ lbValue lb_emit_logical_binary_expr(lbProcedure *p, TokenKind op, Ast *left, Ast if (phi_type == nullptr) { phi = LLVMBuildPhi(p->builder, dst_type, ""); LLVMAddIncoming(phi, incoming_values.data, incoming_blocks.data, cast(unsigned)incoming_values.count); - goto phi_end; + lbValue res = {}; + res.type = type; + res.value = phi; + return res; } for_array(i, incoming_values) { @@ -102,7 +105,6 @@ lbValue lb_emit_logical_binary_expr(lbProcedure *p, TokenKind op, Ast *left, Ast phi = LLVMBuildTruncOrBitCast(p->builder, phi, dst_type, ""); } -phi_end:; lbValue res = {}; res.type = type; res.value = phi; |