Change how "$anon" mangling works to use an atomic value instead

This commit is contained in:
gingerBill
2023-06-12 12:52:17 +01:00
parent 3a90b40425
commit a7f8c78358

View File

@@ -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);