commit 2f3cd175d3fc74be8318c07d943c8d5d067085b3 (tree)
parent 5a8acc91158e84d1478478cbf6aa510091708b93
Author: Andrew Kelley <andrew@ziglang.org>
Date: Sun, 13 Jul 2025 12:53:46 -0700
compiler: raise the bar for backend contributions
Diffstat:
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/target.zig b/src/target.zig
@@ -868,10 +868,16 @@ pub inline fn backendSupportsFeature(backend: std.builtin.CompilerBackend, compt
else => false,
},
.separate_thread => switch (backend) {
+ // Supports a separate thread but does not support N separate
+ // threads because they would all just be locking the same mutex to
+ // protect Builder.
.stage2_llvm => false,
- .stage2_c, .stage2_wasm, .stage2_x86_64 => true,
- // TODO: most self-hosted backends should be able to support this without too much work.
- else => false,
+ // Same problem. Frontend needs to allow this backend to run in the
+ // linker thread.
+ .stage2_spirv => false,
+ // Please do not make any more exceptions. Backends must support
+ // being run in a separate thread from now on.
+ else => true,
},
};
}