From 701cebeb30252abb59505e8c03a8b762f16c452f Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 3 Dec 2022 19:41:35 -0700 Subject: [PATCH] CBE: fix union init wrong field name --- src/codegen/c.zig | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/codegen/c.zig b/src/codegen/c.zig index d2ea8760655d8fc28ef179c34c6cc468d1b88e52..adc40354822b17ff55790a2c9be559f2b0d6f1fb 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -6436,10 +6436,15 @@ fn airUnionInit(f: *Function, inst: Air.Inst.Index) !CValue { try f.writeCValue(writer, local, .Other); try writer.print(".tag = {}; ", .{try f.fmtIntLiteral(tag_ty, int_val)}); } + try f.writeCValue(writer, local, .Other); + try writer.print(".payload.{ } = ", .{fmtIdent(field_name)}); + try f.writeCValue(writer, payload, .Other); + try writer.writeAll(";\n"); + return local; } try f.writeCValue(writer, local, .Other); - try writer.print(".payload.{ } = ", .{fmtIdent(field_name)}); + try writer.print(".{ } = ", .{fmtIdent(field_name)}); try f.writeCValue(writer, payload, .Other); try writer.writeAll(";\n"); -- 2.54.0