aboutsummaryrefslogtreecommitdiff
path: root/src/link/Queue.zig
diff options
context:
space:
mode:
authormlugg <mlugg@mlugg.co.uk>2025-06-01 22:57:59 +0100
committermlugg <mlugg@mlugg.co.uk>2025-06-12 13:55:40 +0100
commit5ab307cf47b1f0418d9ed4ab56df6fb798305c20 (patch)
treee6efda29764d1fdaa92c40cce951f13c394facba /src/link/Queue.zig
parent9eb400ef19391261a3b61129d8665602c89959c5 (diff)
downloadzig-5ab307cf47b1f0418d9ed4ab56df6fb798305c20.tar.gz
zig-5ab307cf47b1f0418d9ed4ab56df6fb798305c20.zip
compiler: get most backends compiling again
As of this commit, every backend other than self-hosted Wasm and self-hosted SPIR-V compiles and (at least somewhat) functions again. Those two backends are currently disabled with panics. Note that `Zcu.Feature.separate_thread` is *not* enabled for the fixed backends. Avoiding linker references from codegen is a non-trivial task, and can be done after this branch.
Diffstat (limited to 'src/link/Queue.zig')
-rw-r--r--src/link/Queue.zig3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/link/Queue.zig b/src/link/Queue.zig
index c73a0e9684..3436be5921 100644
--- a/src/link/Queue.zig
+++ b/src/link/Queue.zig
@@ -97,8 +97,7 @@ pub fn mirReady(q: *Queue, comp: *Compilation, mir: *ZcuTask.LinkFunc.SharedMir)
q.mutex.lock();
defer q.mutex.unlock();
switch (q.state) {
- .finished => unreachable, // there's definitely a task queued
- .running => return,
+ .finished, .running => return,
.wait_for_mir => |wait_for| if (wait_for != mir) return,
}
// We were waiting for `mir`, so we will restart the linker thread.