| ... | ... | @@ -9014,7 +9014,7 @@ static IrInstSrc *ir_gen_switch_expr(IrBuilderSrc *irb, Scope *scope, AstNode *n |
| 9014 | 9014 | return irb->codegen->invalid_inst_src; |
| 9015 | 9015 | } |
| 9016 | 9016 | else_prong = prong_node; |
| 9017 | | } else if (prong_item_count == 1 && |
| 9017 | } else if (prong_item_count == 1 && |
| 9018 | 9018 | prong_node->data.switch_prong.items.at(0)->type == NodeTypeSymbol && |
| 9019 | 9019 | buf_eql_str(prong_node->data.switch_prong.items.at(0)->data.symbol_expr.symbol, "_")) { |
| 9020 | 9020 | if (underscore_prong) { |
| ... | ... | @@ -26068,7 +26068,7 @@ static IrInstGen *ir_analyze_instruction_slice(IrAnalyze *ira, IrInstSrcSlice *i |
| 26068 | 26068 | if (array_type->data.pointer.ptr_len == PtrLenC) { |
| 26069 | 26069 | array_type = adjust_ptr_len(ira->codegen, array_type, PtrLenUnknown); |
| 26070 | 26070 | |
| 26071 | | // C pointers are allowzero by default. |
| 26071 | // C pointers are allowzero by default. |
| 26072 | 26072 | // However, we want to be able to slice them without generating an allowzero slice (see issue #4401). |
| 26073 | 26073 | // To achieve this, we generate a runtime safety check and make the slice type non-allowzero. |
| 26074 | 26074 | if (array_type->data.pointer.allow_zero) { |
| ... | ... | @@ -26363,7 +26363,7 @@ static IrInstGen *ir_analyze_instruction_slice(IrAnalyze *ira, IrInstSrcSlice *i |
| 26363 | 26363 | |
| 26364 | 26364 | if (type_is_invalid(ptr_val->value->type)) |
| 26365 | 26365 | return ira->codegen->invalid_inst_gen; |
| 26366 | | |
| 26366 | |
| 26367 | 26367 | ir_build_assert_non_null(ira, &instruction->base.base, ptr_val); |
| 26368 | 26368 | } |
| 26369 | 26369 | |