From 2f3cd175d3fc74be8318c07d943c8d5d067085b3 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sun, 13 Jul 2025 12:53:46 -0700 Subject: [PATCH] compiler: raise the bar for backend contributions --- src/target.zig | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/target.zig b/src/target.zig index 8c33a26939..dcacc65fad 100644 --- 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, }, }; }