commit c1c6f082961a2735ff3c91167f0e1bcfcfcc2010 (tree)
parent 344db9e26bfb7a966cb99d73fa13c7d6845c2ce9
Author: Techatrix <techatrix@mailbox.org>
Date: Wed, 19 Feb 2025 09:33:56 +0100
std.Build.Step.ConfigHeader: permit inserting enum values
Diffstat:
4 files changed, 4 insertions(+), 1 deletion(-)
diff --git 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
@@ -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
@@ -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
@@ -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