| ... | @@ -10843,7 +10843,7 @@ static void float_init_bigfloat(ZigValue *dest_val, BigFloat *bigfloat) { | ... | @@ -10843,7 +10843,7 @@ static void float_init_bigfloat(ZigValue *dest_val, BigFloat *bigfloat) { |
| 10843 | dest_val->data.x_f64 = bigfloat_to_f64(bigfloat); | 10843 | dest_val->data.x_f64 = bigfloat_to_f64(bigfloat); |
| 10844 | break; | 10844 | break; |
| 10845 | case 80: | 10845 | case 80: |
| 10846 | zig_panic("TODO"); | 10846 | zig_panic("TODO: float_init_bigfloat c_longdouble"); |
| 10847 | case 128: | 10847 | case 128: |
| 10848 | dest_val->data.x_f128 = bigfloat_to_f128(bigfloat); | 10848 | dest_val->data.x_f128 = bigfloat_to_f128(bigfloat); |
| 10849 | break; | 10849 | break; |
| ... | @@ -11483,7 +11483,7 @@ static void value_to_bigfloat(BigFloat *out, ZigValue *val) { | ... | @@ -11483,7 +11483,7 @@ static void value_to_bigfloat(BigFloat *out, ZigValue *val) { |
| 11483 | bigfloat_init_64(out, val->data.x_f64); | 11483 | bigfloat_init_64(out, val->data.x_f64); |
| 11484 | return; | 11484 | return; |
| 11485 | case 80: | 11485 | case 80: |
| 11486 | zig_panic("TODO"); | 11486 | zig_panic("TODO: value_to_bigfloat c_longdouble"); |
| 11487 | case 128: | 11487 | case 128: |
| 11488 | bigfloat_init_128(out, val->data.x_f128); | 11488 | bigfloat_init_128(out, val->data.x_f128); |
| 11489 | return; | 11489 | return; |
| ... | @@ -11573,7 +11573,7 @@ static bool ir_num_lit_fits_in_other_type(IrAnalyze *ira, IrInstGen *instruction | ... | @@ -11573,7 +11573,7 @@ static bool ir_num_lit_fits_in_other_type(IrAnalyze *ira, IrInstGen *instruction |
| 11573 | break; | 11573 | break; |
| 11574 | } | 11574 | } |
| 11575 | case 80: | 11575 | case 80: |
| 11576 | zig_panic("TODO"); | 11576 | zig_panic("TODO: ir_num_lit_fits_in_other_type c_longdouble"); |
| 11577 | case 128: { | 11577 | case 128: { |
| 11578 | float128_t tmp = bigfloat_to_f128(&tmp_bf); | 11578 | float128_t tmp = bigfloat_to_f128(&tmp_bf); |
| 11579 | bigfloat_init_128(&orig_bf, tmp); | 11579 | bigfloat_init_128(&orig_bf, tmp); |
| ... | @@ -11618,7 +11618,7 @@ static bool ir_num_lit_fits_in_other_type(IrAnalyze *ira, IrInstGen *instruction | ... | @@ -11618,7 +11618,7 @@ static bool ir_num_lit_fits_in_other_type(IrAnalyze *ira, IrInstGen *instruction |
| 11618 | break; | 11618 | break; |
| 11619 | } | 11619 | } |
| 11620 | case 80: | 11620 | case 80: |
| 11621 | zig_panic("TODO"); | 11621 | zig_panic("TODO: ir_num_lit_fits_in_other_type c_longdouble"); |
| 11622 | case 128: { | 11622 | case 128: { |
| 11623 | float16_t tmp = f128M_to_f16(&const_val->data.x_f128); | 11623 | float16_t tmp = f128M_to_f16(&const_val->data.x_f128); |
| 11624 | float128_t orig; | 11624 | float128_t orig; |
| ... | @@ -11643,7 +11643,7 @@ static bool ir_num_lit_fits_in_other_type(IrAnalyze *ira, IrInstGen *instruction | ... | @@ -11643,7 +11643,7 @@ static bool ir_num_lit_fits_in_other_type(IrAnalyze *ira, IrInstGen *instruction |
| 11643 | break; | 11643 | break; |
| 11644 | } | 11644 | } |
| 11645 | case 80: | 11645 | case 80: |
| 11646 | zig_panic("TODO"); | 11646 | zig_panic("TODO: ir_num_lit_fits_in_other_type c_longdouble"); |
| 11647 | case 128: { | 11647 | case 128: { |
| 11648 | float32_t tmp = f128M_to_f32(&const_val->data.x_f128); | 11648 | float32_t tmp = f128M_to_f32(&const_val->data.x_f128); |
| 11649 | float128_t orig; | 11649 | float128_t orig; |
| ... | @@ -11660,7 +11660,7 @@ static bool ir_num_lit_fits_in_other_type(IrAnalyze *ira, IrInstGen *instruction | ... | @@ -11660,7 +11660,7 @@ static bool ir_num_lit_fits_in_other_type(IrAnalyze *ira, IrInstGen *instruction |
| 11660 | case 64: | 11660 | case 64: |
| 11661 | switch (const_val->type->data.floating.bit_count) { | 11661 | switch (const_val->type->data.floating.bit_count) { |
| 11662 | case 80: | 11662 | case 80: |
| 11663 | zig_panic("TODO"); | 11663 | zig_panic("TODO: ir_num_lit_fits_in_other_type c_longdouble"); |
| 11664 | case 128: { | 11664 | case 128: { |
| 11665 | float64_t tmp = f128M_to_f64(&const_val->data.x_f128); | 11665 | float64_t tmp = f128M_to_f64(&const_val->data.x_f128); |
| 11666 | float128_t orig; | 11666 | float128_t orig; |
| ... | @@ -11676,7 +11676,7 @@ static bool ir_num_lit_fits_in_other_type(IrAnalyze *ira, IrInstGen *instruction | ... | @@ -11676,7 +11676,7 @@ static bool ir_num_lit_fits_in_other_type(IrAnalyze *ira, IrInstGen *instruction |
| 11676 | break; | 11676 | break; |
| 11677 | case 80: | 11677 | case 80: |
| 11678 | assert(const_val->type->data.floating.bit_count == 128); | 11678 | assert(const_val->type->data.floating.bit_count == 128); |
| 11679 | zig_panic("TODO"); | 11679 | zig_panic("TODO: ir_num_lit_fits_in_other_type c_longdouble"); |
| 11680 | case 128: | 11680 | case 128: |
| 11681 | return true; | 11681 | return true; |
| 11682 | default: | 11682 | default: |
| ... | @@ -13068,7 +13068,7 @@ static bool eval_const_expr_implicit_cast(IrAnalyze *ira, IrInst *source_instr, | ... | @@ -13068,7 +13068,7 @@ static bool eval_const_expr_implicit_cast(IrAnalyze *ira, IrInst *source_instr, |
| 13068 | zig_unreachable(); | 13068 | zig_unreachable(); |
| 13069 | case CastOpErrSet: | 13069 | case CastOpErrSet: |
| 13070 | case CastOpBitCast: | 13070 | case CastOpBitCast: |
| 13071 | zig_panic("TODO"); | 13071 | zig_panic("TODO: eval_const_expr_implicit_cast CastOpErrSet, CastOpBitCast"); |
| 13072 | case CastOpNoop: { | 13072 | case CastOpNoop: { |
| 13073 | copy_const_val(ira->codegen, const_val, other_val); | 13073 | copy_const_val(ira->codegen, const_val, other_val); |
| 13074 | const_val->type = new_type; | 13074 | const_val->type = new_type; |
| ... | @@ -13088,7 +13088,7 @@ static bool eval_const_expr_implicit_cast(IrAnalyze *ira, IrInst *source_instr, | ... | @@ -13088,7 +13088,7 @@ static bool eval_const_expr_implicit_cast(IrAnalyze *ira, IrInst *source_instr, |
| 13088 | const_val->data.x_f64 = bigfloat_to_f64(&other_val->data.x_bigfloat); | 13088 | const_val->data.x_f64 = bigfloat_to_f64(&other_val->data.x_bigfloat); |
| 13089 | break; | 13089 | break; |
| 13090 | case 80: | 13090 | case 80: |
| 13091 | zig_panic("TODO"); | 13091 | zig_panic("TODO: eval_const_expr_implicit_cast c_longdouble"); |
| 13092 | case 128: | 13092 | case 128: |
| 13093 | const_val->data.x_f128 = bigfloat_to_f128(&other_val->data.x_bigfloat); | 13093 | const_val->data.x_f128 = bigfloat_to_f128(&other_val->data.x_bigfloat); |
| 13094 | break; | 13094 | break; |
| ... | @@ -13117,7 +13117,7 @@ static bool eval_const_expr_implicit_cast(IrAnalyze *ira, IrInst *source_instr, | ... | @@ -13117,7 +13117,7 @@ static bool eval_const_expr_implicit_cast(IrAnalyze *ira, IrInst *source_instr, |
| 13117 | const_val->data.x_f64 = bigfloat_to_f64(&bigfloat); | 13117 | const_val->data.x_f64 = bigfloat_to_f64(&bigfloat); |
| 13118 | break; | 13118 | break; |
| 13119 | case 80: | 13119 | case 80: |
| 13120 | zig_panic("TODO"); | 13120 | zig_panic("TODO: eval_const_expr_implicit_cast c_longdouble"); |
| 13121 | case 128: | 13121 | case 128: |
| 13122 | const_val->data.x_f128 = bigfloat_to_f128(&bigfloat); | 13122 | const_val->data.x_f128 = bigfloat_to_f128(&bigfloat); |
| 13123 | break; | 13123 | break; |
| ... | @@ -21433,7 +21433,7 @@ static Error ir_read_const_ptr(IrAnalyze *ira, CodeGen *codegen, AstNode *source | ... | @@ -21433,7 +21433,7 @@ static Error ir_read_const_ptr(IrAnalyze *ira, CodeGen *codegen, AstNode *source |
| 21433 | ZigValue *array_val = ptr_val->data.x_ptr.data.base_array.array_val; | 21433 | ZigValue *array_val = ptr_val->data.x_ptr.data.base_array.array_val; |
| 21434 | assert(array_val->type->id == ZigTypeIdArray); | 21434 | assert(array_val->type->id == ZigTypeIdArray); |
| 21435 | if (array_val->data.x_array.special != ConstArraySpecialNone) | 21435 | if (array_val->data.x_array.special != ConstArraySpecialNone) |
| 21436 | zig_panic("TODO"); | 21436 | zig_panic("TODO: ir_read_const_ptr ConstPtrSpecialSubArray !ConstArraySpecialNone"); |
| 21437 | if (dst_size > src_size) { | 21437 | if (dst_size > src_size) { |
| 21438 | size_t elem_index = ptr_val->data.x_ptr.data.base_array.elem_index; | 21438 | size_t elem_index = ptr_val->data.x_ptr.data.base_array.elem_index; |
| 21439 | opt_ir_add_error_node(ira, codegen, source_node, | 21439 | opt_ir_add_error_node(ira, codegen, source_node, |
| ... | @@ -21458,7 +21458,7 @@ static Error ir_read_const_ptr(IrAnalyze *ira, CodeGen *codegen, AstNode *source | ... | @@ -21458,7 +21458,7 @@ static Error ir_read_const_ptr(IrAnalyze *ira, CodeGen *codegen, AstNode *source |
| 21458 | ZigValue *array_val = ptr_val->data.x_ptr.data.base_array.array_val; | 21458 | ZigValue *array_val = ptr_val->data.x_ptr.data.base_array.array_val; |
| 21459 | assert(array_val->type->id == ZigTypeIdArray); | 21459 | assert(array_val->type->id == ZigTypeIdArray); |
| 21460 | if (array_val->data.x_array.special != ConstArraySpecialNone) | 21460 | if (array_val->data.x_array.special != ConstArraySpecialNone) |
| 21461 | zig_panic("TODO"); | 21461 | zig_panic("TODO: ir_read_const_ptr ConstPtrSpecialBaseArray !ConstArraySpecialNone"); |
| 21462 | size_t elem_size = src_size; | 21462 | size_t elem_size = src_size; |
| 21463 | size_t elem_index = ptr_val->data.x_ptr.data.base_array.elem_index; | 21463 | size_t elem_index = ptr_val->data.x_ptr.data.base_array.elem_index; |
| 21464 | src_size = elem_size * (array_val->type->data.array.len - elem_index); | 21464 | src_size = elem_size * (array_val->type->data.array.len - elem_index); |
| ... | @@ -21487,7 +21487,7 @@ static Error ir_read_const_ptr(IrAnalyze *ira, CodeGen *codegen, AstNode *source | ... | @@ -21487,7 +21487,7 @@ static Error ir_read_const_ptr(IrAnalyze *ira, CodeGen *codegen, AstNode *source |
| 21487 | case ConstPtrSpecialDiscard: | 21487 | case ConstPtrSpecialDiscard: |
| 21488 | case ConstPtrSpecialHardCodedAddr: | 21488 | case ConstPtrSpecialHardCodedAddr: |
| 21489 | case ConstPtrSpecialFunction: | 21489 | case ConstPtrSpecialFunction: |
| 21490 | zig_panic("TODO"); | 21490 | zig_panic("TODO: ir_read_const_ptr"); |
| 21491 | } | 21491 | } |
| 21492 | zig_unreachable(); | 21492 | zig_unreachable(); |
| 21493 | } | 21493 | } |
| ... | @@ -28815,13 +28815,13 @@ done_with_return_type: | ... | @@ -28815,13 +28815,13 @@ done_with_return_type: |
| 28815 | case ConstPtrSpecialBaseArray: | 28815 | case ConstPtrSpecialBaseArray: |
| 28816 | zig_unreachable(); | 28816 | zig_unreachable(); |
| 28817 | case ConstPtrSpecialBaseStruct: | 28817 | case ConstPtrSpecialBaseStruct: |
| 28818 | zig_panic("TODO"); | 28818 | zig_panic("TODO: ir_analyze_instruction_slice ConstPtrSpecialBaseStruct"); |
| 28819 | case ConstPtrSpecialBaseErrorUnionCode: | 28819 | case ConstPtrSpecialBaseErrorUnionCode: |
| 28820 | zig_panic("TODO"); | 28820 | zig_panic("TODO: ir_analyze_instruction_slice ConstPtrSpecialBaseErrorUnionCode"); |
| 28821 | case ConstPtrSpecialBaseErrorUnionPayload: | 28821 | case ConstPtrSpecialBaseErrorUnionPayload: |
| 28822 | zig_panic("TODO"); | 28822 | zig_panic("TODO: ir_analyze_instruction_slice ConstPtrSpecialBaseErrorUnionPayload"); |
| 28823 | case ConstPtrSpecialBaseOptionalPayload: | 28823 | case ConstPtrSpecialBaseOptionalPayload: |
| 28824 | zig_panic("TODO"); | 28824 | zig_panic("TODO: ir_analyze_instruction_slice ConstPtrSpecialBaseOptionalPayload"); |
| 28825 | case ConstPtrSpecialHardCodedAddr: | 28825 | case ConstPtrSpecialHardCodedAddr: |
| 28826 | init_const_ptr_hard_coded_addr(ira->codegen, ptr_val, | 28826 | init_const_ptr_hard_coded_addr(ira->codegen, ptr_val, |
| 28827 | parent_ptr->type->data.pointer.child_type, | 28827 | parent_ptr->type->data.pointer.child_type, |
| ... | @@ -28829,9 +28829,9 @@ done_with_return_type: | ... | @@ -28829,9 +28829,9 @@ done_with_return_type: |
| 28829 | return_type_is_const); | 28829 | return_type_is_const); |
| 28830 | break; | 28830 | break; |
| 28831 | case ConstPtrSpecialFunction: | 28831 | case ConstPtrSpecialFunction: |
| 28832 | zig_panic("TODO"); | 28832 | zig_panic("TODO: ir_analyze_instruction_slice ConstPtrSpecialFunction"); |
| 28833 | case ConstPtrSpecialNull: | 28833 | case ConstPtrSpecialNull: |
| 28834 | zig_panic("TODO"); | 28834 | zig_panic("TODO: ir_analyze_instruction_slice ConstPtrSpecialNull"); |
| 28835 | } | 28835 | } |
| 28836 | | 28836 | |
| 28837 | // In the case of pointer-to-array, we must restore this because above it overwrites ptr_val->type | 28837 | // In the case of pointer-to-array, we must restore this because above it overwrites ptr_val->type |