aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_proc.cpp
diff options
context:
space:
mode:
authorgingerBill <gingerBill@users.noreply.github.com>2026-02-02 11:37:19 +0000
committerGitHub <noreply@github.com>2026-02-02 11:37:19 +0000
commitadf56ced22de0ef84100c70b394641c272231c3f (patch)
treeee049d3ffa61d7ce1de1b774b4844a0ea7bfcc00 /src/llvm_backend_proc.cpp
parentb9e4007cb190c1a5d96e7786e726dcbcac1d08c9 (diff)
parentb183b1219c3b336988e53235a0671958b5079c09 (diff)
Merge pull request #6215 from odin-lang/bill/fix-data-races-2026-02
Fix numerous data races
Diffstat (limited to 'src/llvm_backend_proc.cpp')
-rw-r--r--src/llvm_backend_proc.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/llvm_backend_proc.cpp b/src/llvm_backend_proc.cpp
index 07b1870f0..b596f15ef 100644
--- a/src/llvm_backend_proc.cpp
+++ b/src/llvm_backend_proc.cpp
@@ -676,7 +676,7 @@ gb_internal void lb_begin_procedure_body(lbProcedure *p) {
lbAddr res = {};
if (p->entity && p->entity->decl_info &&
- p->entity->decl_info->defer_use_checked &&
+ p->entity->decl_info->defer_use_checked.load(std::memory_order_relaxed) &&
p->entity->decl_info->defer_used == 0) {
// NOTE(bill): this is a bodge to get around the issue of the problem BELOW
@@ -2217,8 +2217,10 @@ gb_internal lbValue lb_build_builtin_proc(lbProcedure *p, Ast *expr, TypeAndValu
Entity *e = entity_of_node(ident);
GB_ASSERT(e != nullptr);
- if (e->parent_proc_decl != nullptr && e->parent_proc_decl->entity != nullptr) {
- procedure = e->parent_proc_decl->entity.load()->token.string;
+ DeclInfo *parent_proc_decl = e->parent_proc_decl.load(std::memory_order_relaxed);
+ if (parent_proc_decl != nullptr &&
+ parent_proc_decl->entity != nullptr) {
+ procedure = parent_proc_decl->entity.load()->token.string;
} else {
procedure = str_lit("");
}