diff options
| author | gingerBill <bill@gingerbill.org> | 2021-06-09 23:47:44 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-06-09 23:47:44 +0100 |
| commit | e6ad773a8887023165fabec552122b21ef4a5633 (patch) | |
| tree | 995de638c1d411cf06133e12c130d2037ed24ace /src/llvm_backend.cpp | |
| parent | 82eae32bca73a9eda26da78df48f3c56172c13c1 (diff) | |
Minor code clean up
Diffstat (limited to 'src/llvm_backend.cpp')
| -rw-r--r-- | src/llvm_backend.cpp | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index e7fb1194f..c66b7499d 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -5038,14 +5038,13 @@ void lb_build_type_switch_stmt(lbProcedure *p, AstTypeSwitchStmt *ss) { GB_ASSERT(tag.value != nullptr); LLVMValueRef switch_instr = LLVMBuildSwitch(p->builder, tag.value, else_block->block, cast(unsigned)num_cases); - // NOTE(bill): Append this later - Ast *default_ = nullptr; - for_array(i, body->stmts) { Ast *clause = body->stmts[i]; ast_node(cc, CaseClause, clause); if (cc->list.count == 0) { - default_ = clause; + lb_start_block(p, default_block); + lb_store_type_case_implicit(p, clause, parent_value); + lb_type_case_body(p, ss->label, clause, p->curr_block, done); continue; } @@ -5094,13 +5093,7 @@ void lb_build_type_switch_stmt(lbProcedure *p, AstTypeSwitchStmt *ss) { lb_type_case_body(p, ss->label, clause, body, done); } - if (default_ != nullptr) { - lb_start_block(p, default_block); - lb_store_type_case_implicit(p, default_, parent_value); - lb_type_case_body(p, ss->label, default_, p->curr_block, done); - } else { - lb_emit_jump(p, done); - } + lb_emit_jump(p, done); lb_start_block(p, done); } |