diff --git a/src/llvm_backend.hpp b/src/llvm_backend.hpp index d1839512741..02b8094a122 100644 --- a/src/llvm_backend.hpp +++ b/src/llvm_backend.hpp @@ -182,8 +182,6 @@ struct lbModule { StringMap gen_procs; // key is the canonicalized name - std::atomic nested_type_name_guid; - Array procedures_to_generate; Array global_procedures_to_create; Array global_types_to_create; @@ -229,7 +227,6 @@ struct lbGenerator : LinkerData { PtrMap anonymous_proc_lits; std::atomic global_array_index; - std::atomic global_generated_index; isize used_module_count; diff --git a/src/llvm_backend_general.cpp b/src/llvm_backend_general.cpp index 54c1f5c388d..b994ec3301b 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); }