diff options
| author | gingerBill <bill@gingerbill.org> | 2025-02-25 14:35:54 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2025-02-25 14:35:54 +0000 |
| commit | 5aafbc7f3000d1a24e3097ae37ac3900ffd9d187 (patch) | |
| tree | b26492572b01f816c2993998e9d1128201324945 /src/llvm_backend_general.cpp | |
| parent | f9d85a731161c2285844be520e48f8cf8d41bc78 (diff) | |
Use more deterministic module names
Diffstat (limited to 'src/llvm_backend_general.cpp')
| -rw-r--r-- | src/llvm_backend_general.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/llvm_backend_general.cpp b/src/llvm_backend_general.cpp index 54c1f5c38..b994ec330 100644 --- a/src/llvm_backend_general.cpp +++ b/src/llvm_backend_general.cpp @@ -20,7 +20,13 @@ gb_internal void lb_init_module(lbModule *m, Checker *c) { gbString module_name = gb_string_make(heap_allocator(), "odin_package"); if (m->file) { - module_name = gb_string_append_fmt(module_name, "-%u", m->file->id+1); + if (m->pkg) { + module_name = gb_string_appendc(module_name, "-"); + module_name = gb_string_append_length(module_name, m->pkg->name.text, m->pkg->name.len); + } + module_name = gb_string_appendc(module_name, "-"); + String filename = filename_from_path(m->file->filename); + module_name = gb_string_append_length(module_name, filename.text, filename.len); } else if (m->pkg) { module_name = gb_string_appendc(module_name, "-"); module_name = gb_string_append_length(module_name, m->pkg->name.text, m->pkg->name.len); @@ -2814,10 +2820,11 @@ gb_internal lbAddr lb_add_global_generated_from_procedure(lbProcedure *p, Type * u32 index = ++p->global_generated_index; gbString s = gb_string_make(temporary_allocator(), "ggv$"); + s = gb_string_appendc(s, p->module->module_name); + s = gb_string_appendc(s, "$"); s = gb_string_append_length(s, p->name.text, p->name.len); s = gb_string_append_fmt(s, "$%u", index); - String name = make_string(cast(u8 const *)s, gb_string_length(s)); return lb_add_global_generated_with_name(p->module, type, value, name); } |