aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_general.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2025-09-18 15:34:19 +0100
committergingerBill <gingerBill@users.noreply.github.com>2025-09-18 15:34:19 +0100
commit0f307fbc5d27a9b0fa880dda7a2754d2d1ca7bfd (patch)
tree52b5cb5dc51f0e47c2e58750ed67937194130405 /src/llvm_backend_general.cpp
parent738a72943bdb9d0998b11d38efb5300cd02d8190 (diff)
Use multiple modules per file in package runtime
Diffstat (limited to 'src/llvm_backend_general.cpp')
-rw-r--r--src/llvm_backend_general.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/llvm_backend_general.cpp b/src/llvm_backend_general.cpp
index 4907e114d..9561f86dd 100644
--- a/src/llvm_backend_general.cpp
+++ b/src/llvm_backend_general.cpp
@@ -158,7 +158,7 @@ gb_internal bool lb_init_generator(lbGenerator *gen, Checker *c) {
auto pm = gb_alloc_item(permanent_allocator(), lbModule);
pm->pkg = pkg;
pm->gen = gen;
- m->polymorphic_module = pm;
+ m->polymorphic_module = pm;
pm->polymorphic_module = pm;
map_set(&gen->modules, cast(void *)pm, pm); // point to itself just add it to the list
@@ -166,7 +166,9 @@ gb_internal bool lb_init_generator(lbGenerator *gen, Checker *c) {
lb_init_module(pm, c);
}
- if (!module_per_file) {
+ if (pkg->kind == Package_Runtime) {
+ // allow this to be per file
+ } else if (!module_per_file) {
continue;
}
// NOTE(bill): Probably per file is not a good idea, so leave this for later
@@ -182,7 +184,9 @@ gb_internal bool lb_init_generator(lbGenerator *gen, Checker *c) {
if (build_context.internal_weak_monomorphization) {
auto pm = gb_alloc_item(permanent_allocator(), lbModule);
pm->file = file;
+ pm->pkg = pkg;
pm->gen = gen;
+ m->polymorphic_module = pm;
pm->polymorphic_module = pm;
map_set(&gen->modules, cast(void *)pm, pm); // point to itself just add it to the list