diff options
| author | Cody Tapscott <cody+topolarity@tapscott.me> | 2022-01-24 11:15:22 -0700 |
|---|---|---|
| committer | Cody Tapscott <cody+topolarity@tapscott.me> | 2022-01-24 12:00:04 -0700 |
| commit | 8c96c64fbbab83f14027963d0c4b4da5254a57a8 (patch) | |
| tree | f6dd77761d3a0c76b3efbb8e91315a0d81861531 /src/codegen/c.zig | |
| parent | 52517e86d6c56c3eb705f8de77e5ef3c81fae2a9 (diff) | |
| download | zig-8c96c64fbbab83f14027963d0c4b4da5254a57a8.tar.gz zig-8c96c64fbbab83f14027963d0c4b4da5254a57a8.zip | |
Add support for rendering `.enum_numbered`
Diffstat (limited to 'src/codegen/c.zig')
| -rw-r--r-- | src/codegen/c.zig | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig index 19f98d216a..22f91feeaa 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, } }, |
