diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-12-03 19:41:35 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-12-04 15:57:40 -0700 |
| commit | 701cebeb30252abb59505e8c03a8b762f16c452f (patch) | |
| tree | bd98b39b2f883e6218397308273e619e7218f8b3 /src/codegen/c.zig | |
| parent | aa98517b3e4df84eb28fe1f3352e34407ef51343 (diff) | |
| download | zig-701cebeb30252abb59505e8c03a8b762f16c452f.tar.gz zig-701cebeb30252abb59505e8c03a8b762f16c452f.zip | |
CBE: fix union init wrong field name
Diffstat (limited to 'src/codegen/c.zig')
| -rw-r--r-- | src/codegen/c.zig | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig index d2ea876065..adc4035482 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"); |
