| ... | @@ -3030,6 +3030,11 @@ fn airStore(f: *Function, inst: Air.Inst.Index) !CValue { | ... | @@ -3030,6 +3030,11 @@ fn airStore(f: *Function, inst: Air.Inst.Index) !CValue { |
| 3030 | try writer.writeAll("(("); | 3030 | try writer.writeAll("(("); |
| 3031 | try f.renderTypecast(writer, host_ty); | 3031 | try f.renderTypecast(writer, host_ty); |
| 3032 | try writer.writeByte(')'); | 3032 | try writer.writeByte(')'); |
| | 3033 | if (src_ty.isPtrAtRuntime()) { |
| | 3034 | try writer.writeByte('('); |
| | 3035 | try f.renderTypecast(writer, Type.usize); |
| | 3036 | try writer.writeByte(')'); |
| | 3037 | } |
| 3033 | try f.writeCValue(writer, src_val, .Other); | 3038 | try f.writeCValue(writer, src_val, .Other); |
| 3034 | try writer.print(", {}))", .{try f.fmtIntLiteral(bit_offset_ty, bit_offset_val)}); | 3039 | try writer.print(", {}))", .{try f.fmtIntLiteral(bit_offset_ty, bit_offset_val)}); |
| 3035 | } else { | 3040 | } else { |
| ... | @@ -5121,6 +5126,14 @@ fn airAggregateInit(f: *Function, inst: Air.Inst.Index) !CValue { | ... | @@ -5121,6 +5126,14 @@ fn airAggregateInit(f: *Function, inst: Air.Inst.Index) !CValue { |
| 5121 | try writer.writeAll("(("); | 5126 | try writer.writeAll("(("); |
| 5122 | try f.renderTypecast(writer, inst_ty); | 5127 | try f.renderTypecast(writer, inst_ty); |
| 5123 | try writer.writeByte(')'); | 5128 | try writer.writeByte(')'); |
| | 5129 | if (field_ty.isPtrAtRuntime()) { |
| | 5130 | try writer.writeByte('('); |
| | 5131 | try f.renderTypecast(writer, switch (int_info.signedness) { |
| | 5132 | .unsigned => Type.usize, |
| | 5133 | .signed => Type.isize, |
| | 5134 | }); |
| | 5135 | try writer.writeByte(')'); |
| | 5136 | } |
| 5124 | try f.writeCValue(writer, try f.resolveInst(element), .Other); | 5137 | try f.writeCValue(writer, try f.resolveInst(element), .Other); |
| 5125 | try writer.writeAll(", "); | 5138 | try writer.writeAll(", "); |
| 5126 | try f.object.dg.renderValue(writer, bit_offset_ty, bit_offset_val, .FunctionArgument); | 5139 | try f.object.dg.renderValue(writer, bit_offset_ty, bit_offset_val, .FunctionArgument); |