From a7f8c78358a0d7258a3175a82dbe8ebee008ea03 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Mon, 12 Jun 2023 12:52:17 +0100 Subject: Change how "$anon" mangling works to use an atomic value instead --- src/llvm_backend.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/llvm_backend.cpp') 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 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); -- cgit v1.2.3