diff --git a/lib/std/Build/Step/ConfigHeader.zig b/lib/std/Build/Step/ConfigHeader.zig index 4174d398b4..72d5e99e3a 100644 --- a/lib/std/Build/Step/ConfigHeader.zig +++ b/lib/std/Build/Step/ConfigHeader.zig @@ -131,7 +131,7 @@ fn putValue(config_header: *ConfigHeader, field_name: []const u8, comptime T: ty .comptime_int => { try config_header.values.put(field_name, .{ .int = v }); }, - .enum_literal => { + .@"enum", .enum_literal => { try config_header.values.put(field_name, .{ .ident = @tagName(v) }); }, .optional => { diff --git a/test/standalone/config_header/build.zig b/test/standalone/config_header/build.zig index fba2613c5a..423e9d3823 100644 --- a/test/standalone/config_header/build.zig +++ b/test/standalone/config_header/build.zig @@ -10,6 +10,7 @@ pub fn build(b: *std.Build) void { .SOME_ZERO = 0, .SOME_ONE = 1, .SOME_TEN = 10, + .SOME_ENUM = @as(enum { foo, bar }, .foo), .SOME_ENUM_LITERAL = .@"test", .SOME_STRING = "test", diff --git a/test/standalone/config_header/config.h b/test/standalone/config_header/config.h index 298aeac344..22b5fb5697 100644 --- a/test/standalone/config_header/config.h +++ b/test/standalone/config_header/config.h @@ -9,6 +9,7 @@ int foo(); #define SOME_ZERO 0 #define SOME_ONE 1 #define SOME_TEN 10 +#define SOME_ENUM foo #define SOME_ENUM_LITERAL test #define SOME_STRING "test" diff --git a/test/standalone/config_header/config.h.in b/test/standalone/config_header/config.h.in index b4cf3a47ea..c1b8fe7236 100644 --- a/test/standalone/config_header/config.h.in +++ b/test/standalone/config_header/config.h.in @@ -8,6 +8,7 @@ int foo(); #undef SOME_ZERO #undef SOME_ONE #undef SOME_TEN +#undef SOME_ENUM #undef SOME_ENUM_LITERAL #undef SOME_STRING