diff options
| author | gingerBill <bill@gingerbill.org> | 2023-06-12 12:52:17 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2023-06-12 12:52:17 +0100 |
| commit | a7f8c78358a0d7258a3175a82dbe8ebee008ea03 (patch) | |
| tree | b23386a2b806b1e1250d61244aef928389f38473 /src/llvm_backend.cpp | |
| parent | 3a90b404252d5acb64f883eb987ae1d1c12d9b03 (diff) | |
Change how "$anon" mangling works to use an atomic value instead
Diffstat (limited to 'src/llvm_backend.cpp')
| -rw-r--r-- | src/llvm_backend.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp index 34a401c33..01d18d868 100644 --- a/src/llvm_backend.cpp +++ b/src/llvm_backend.cpp @@ -787,7 +787,8 @@ gb_internal lbValue lb_generate_anonymous_proc_lit(lbModule *m, String const &pr // parent$count isize name_len = prefix_name.len + 1 + 8 + 1; char *name_text = gb_alloc_array(permanent_allocator(), char, name_len); - i32 name_id = cast(i32)m->gen->anonymous_proc_lits.count; + static std::atomic<i32> name_id; + name_id.fetch_add(1); name_len = gb_snprintf(name_text, name_len, "%.*s$anon-%d", LIT(prefix_name), name_id); String name = make_string((u8 *)name_text, name_len-1); |