From 0e9bc3bf9b7c840a441b0d707ea06abefd0b5282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= Date: Tue, 3 Mar 2026 09:04:18 +0000 Subject: [PATCH] zig0_airgen_options: restrict what can be configured 1. `dev == .bootstrap` does not include wasm backend, no use. 2. different optimize modes _of the compiler_ (_not_ target) _should_ not emit a different AIR. Thus if we want to `zig build test-zig0 -Doptimize=ReleaseFast`, we most often mean to compile the test executable under this mode, but not `air_gen`, which will only emit the AIR for comparison. --- build.zig | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build.zig b/build.zig index ec893c547b..1a0972c5cd 100644 --- a/build.zig +++ b/build.zig @@ -733,7 +733,7 @@ pub fn build(b: *std.Build) !void { zig0_airgen_options.addOption(bool, "llvm_has_arc", false); zig0_airgen_options.addOption(bool, "llvm_has_xtensa", false); zig0_airgen_options.addOption(bool, "debug_gpa", debug_gpa); - zig0_airgen_options.addOption(DevEnv, "dev", dev_mode); + zig0_airgen_options.addOption(DevEnv, "dev", .full); zig0_airgen_options.addOption(ValueInterpretMode, "value_interpret_mode", value_interpret_mode); zig0_airgen_options.addOption([:0]const u8, "version", try b.allocator.dupeZ(u8, "0.15.2-zig0-dev")); zig0_airgen_options.addOption(std.SemanticVersion, "semver", try std.SemanticVersion.parse("0.15.2-zig0-dev")); @@ -746,7 +746,9 @@ pub fn build(b: *std.Build) !void { zig0_airgen_options.addOption(u32, "tracy_callstack_depth", tracy_callstack_depth); zig0_airgen_options.addOption(bool, "value_tracing", value_tracing); - const air_gen_result = addAirGen(b, zig0_airgen_options, optimize); + // ReleaseFast, because we trust compiler will emit the correct AIR + // under all modes. + const air_gen_result = addAirGen(b, zig0_airgen_options, .ReleaseFast); const prepare_zig0 = b.step("prepare-zig0", "Generate pre-computed AIR files for zig0 tests"); prepare_zig0.dependOn(air_gen_result.step);