| ... | ... | @@ -3030,6 +3030,11 @@ fn airStore(f: *Function, inst: Air.Inst.Index) !CValue { |
| 3030 | 3030 | try writer.writeAll("(("); |
| 3031 | 3031 | try f.renderTypecast(writer, host_ty); |
| 3032 | 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 | 3038 | try f.writeCValue(writer, src_val, .Other); |
| 3034 | 3039 | try writer.print(", {}))", .{try f.fmtIntLiteral(bit_offset_ty, bit_offset_val)}); |
| 3035 | 3040 | } else { |
| ... | ... | @@ -5121,6 +5126,14 @@ fn airAggregateInit(f: *Function, inst: Air.Inst.Index) !CValue { |
| 5121 | 5126 | try writer.writeAll("(("); |
| 5122 | 5127 | try f.renderTypecast(writer, inst_ty); |
| 5123 | 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 | 5137 | try f.writeCValue(writer, try f.resolveInst(element), .Other); |
| 5125 | 5138 | try writer.writeAll(", "); |
| 5126 | 5139 | try f.object.dg.renderValue(writer, bit_offset_ty, bit_offset_val, .FunctionArgument); |