diff options
| author | gingerBill <bill@gingerbill.org> | 2025-03-01 15:19:46 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2025-03-01 15:19:46 +0000 |
| commit | 211680569f93db8896fafa9693158725925138fd (patch) | |
| tree | fb340929714c89769decd5dfc361edf5c724ac8a /src/llvm_backend.cpp | |
| parent | bb20b03f2ee52d11cabc305b354a864b04a31778 (diff) | |
Fix for `-use-single-module`
Diffstat (limited to 'src/llvm_backend.cpp')
| -rw-r--r-- | src/llvm_backend.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 9cf996e84..a9cca2695 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -2562,9 +2562,10 @@ gb_internal String lb_filepath_ll_for_module(lbModule *m) { GB_ASSERT(m->module_name != nullptr); String s = make_string_c(m->module_name); String prefix = str_lit("odin_package-"); - GB_ASSERT(string_starts_with(s, prefix)); - s.text += prefix.len; - s.len -= prefix.len; + if (string_starts_with(s, prefix)) { + s.text += prefix.len; + s.len -= prefix.len; + } path = concatenate_strings(permanent_allocator(), path, s); path = concatenate_strings(permanent_allocator(), s, STR_LIT(".ll")); @@ -2595,14 +2596,16 @@ gb_internal String lb_filepath_obj_for_module(lbModule *m) { GB_ASSERT(m->module_name != nullptr); String s = make_string_c(m->module_name); String prefix = str_lit("odin_package"); - GB_ASSERT(string_starts_with(s, prefix)); - s.text += prefix.len; - s.len -= prefix.len; + if (string_starts_with(s, prefix)) { + s.text += prefix.len; + s.len -= prefix.len; + } path = gb_string_append_length(path, s.text, s.len); } if (use_temporary_directory) { + // NOTE(bill): this must be suffixed to ensure it is not conflicting with anything else in the temporary directory path = gb_string_append_fmt(path, "-%p", m); } |