aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_general.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2024-07-15 11:49:07 +0100
committergingerBill <bill@gingerbill.org>2024-07-15 11:49:07 +0100
commitc5decd3eaecf393e1bf216b4d864fc9cfc5db0c2 (patch)
tree964ebce0f055d1a0c984290f7388adfbfddd3e8a /src/llvm_backend_general.cpp
parent664a71454bd2c58ab6f06f8de6d7d34c3eb397d7 (diff)
Fix possible race and correct linkage _after_ generation
Diffstat (limited to 'src/llvm_backend_general.cpp')
-rw-r--r--src/llvm_backend_general.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/llvm_backend_general.cpp b/src/llvm_backend_general.cpp
index f5595b70e..ba8b13bd8 100644
--- a/src/llvm_backend_general.cpp
+++ b/src/llvm_backend_general.cpp
@@ -71,7 +71,7 @@ gb_internal void lb_init_module(lbModule *m, Checker *c) {
map_init(&m->hasher_procs);
map_init(&m->map_get_procs);
map_init(&m->map_set_procs);
- if (build_context.use_separate_modules) {
+ if (USE_SEPARATE_MODULES) {
array_init(&m->procedures_to_generate, a, 0, 1<<10);
map_init(&m->procedure_values, 1<<11);
} else {
@@ -151,6 +151,8 @@ gb_internal bool lb_init_generator(lbGenerator *gen, Checker *c) {
map_set(&gen->modules_through_ctx, ctx, m);
}
+ mpsc_init(&gen->entities_to_correct_linkage, heap_allocator());
+
return true;
}