diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2025-10-29 16:14:55 +0000 |
|---|---|---|
| committer | gingerBill <gingerBill@users.noreply.github.com> | 2025-10-29 16:14:55 +0000 |
| commit | f77215982addf8d66e985fd35c746917a821adc4 (patch) | |
| tree | f1a68b04b9df49b11de4b670cc7a007bf8f8b4d3 /src | |
| parent | 9b788b919ae60b6e160e1afa02a9f6af3e3793b9 (diff) | |
Just retry again with `lb_generate_missing_procedures`core_os2_revamp
Diffstat (limited to 'src')
| -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); } |