diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2025-10-29 16:14:55 +0000 |
|---|---|---|
| committer | Jeroen van Rijn <Kelimion@users.noreply.github.com> | 2025-10-29 17:46:00 +0100 |
| commit | 36d63b14b501e46b88d3b0b62f29c4a3fa2f556e (patch) | |
| tree | 32d7fb5391d8773d4f93d90a4da2c880e0a767be /src/llvm_backend.cpp | |
| parent | d38602e7882da68dce9d2973274bbf2a4833fcdf (diff) | |
Just retry again with `lb_generate_missing_procedures`
Diffstat (limited to 'src/llvm_backend.cpp')
| -rw-r--r-- | src/llvm_backend.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 7742fb39d..22a481187 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -2553,6 +2553,8 @@ gb_internal WORKER_TASK_PROC(lb_generate_missing_procedures_to_check_worker_proc } gb_internal void lb_generate_missing_procedures(lbGenerator *gen, bool do_threading) { + isize retry_count = 0; +retry:; if (do_threading) { for (auto const &entry : gen->modules) { lbModule *m = entry.value; @@ -2570,6 +2572,14 @@ gb_internal void lb_generate_missing_procedures(lbGenerator *gen, bool do_thread for (auto const &entry : gen->modules) { lbModule *m = entry.value; + if (m->missing_procedures_to_check.count != 0) { + if (retry_count > gen->modules.count) { + GB_ASSERT(m->missing_procedures_to_check.count == 0); + } + + retry_count += 1; + goto retry; + } GB_ASSERT(m->missing_procedures_to_check.count == 0); GB_ASSERT(m->procedures_to_generate.count == 0); } |