authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-05-20 12:26:44-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-05-25 18:54:36-07:00
logb991b868ae2d6719dbe2e36f95c6d2cb799d8810
tree3ed6f193f9bbea7d1fcf54cf979324917b6db219
parent88ae1d9aeca6441f2c905bbde61d399025c63242

Configuration: prevent ObjectFormat enum mismatch


1 files changed, 12 insertions(+), 2 deletions(-)

lib/std/Build/Configuration.zig+12-2
......@@ -2437,6 +2437,7 @@ pub const TargetQuery = struct {
24372437 };
24382438 }
24392439 };
2440
24402441 pub const ObjectFormat = enum(u4) {
24412442 c,
24422443 coff,
......@@ -2451,8 +2452,17 @@ pub const TargetQuery = struct {
24512452 default,
24522453
24532454 pub fn init(x: ?std.Target.ObjectFormat) @This() {
2454 // TODO comptime assert the enums match
2455 return @enumFromInt(@intFromEnum(x orelse return .default));
2455 return switch (x orelse return .default) {
2456 .c => .c,
2457 .coff => .coff,
2458 .elf => .elf,
2459 .hex => .hex,
2460 .macho => .macho,
2461 .plan9 => .plan9,
2462 .raw => .raw,
2463 .spirv => .spirv,
2464 .wasm => .wasm,
2465 };
24562466 }
24572467
24582468 pub fn unwrap(this: @This()) ?std.Target.ObjectFormat {