From 38841dd46e6bb5879200c0a8e2f879c8cfa005d6 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Thu, 19 Aug 2021 17:38:18 +0100 Subject: Fix race condition from `add_entity_use` due to Entity.identifier --- src/checker.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/checker.cpp') diff --git a/src/checker.cpp b/src/checker.cpp index 4ae5f5b1c..cd023998c 100644 --- a/src/checker.cpp +++ b/src/checker.cpp @@ -1297,9 +1297,9 @@ void add_entity_use(CheckerContext *c, Ast *identifier, Entity *entity) { if (identifier->kind != Ast_Ident) { return; } - if (entity->identifier == nullptr) { - entity->identifier = identifier; - } + Ast *empty_ident = nullptr; + entity->identifier.compare_exchange_strong(empty_ident, identifier); + identifier->Ident.entity = entity; if (c->info->allow_identifier_uses) { -- cgit v1.2.3