diff --git a/src/codegen/c.zig b/src/codegen/c.zig index 19f98d216af2da4c7d49b90fba51a80a4af07bde..22f91feeaa18aeb4b1865522f3e9394d8a05b60f 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -542,6 +542,15 @@ pub const DeclGen = struct { return writer.print("{d}", .{field_index}); } }, + .enum_numbered => { + const enum_obj = ty.castTag(.enum_numbered).?.data; + if (enum_obj.values.count() != 0) { + const tag_val = enum_obj.values.keys()[field_index]; + return dg.renderValue(writer, enum_obj.tag_ty, tag_val); + } else { + return writer.print("{d}", .{field_index}); + } + }, else => unreachable, } },