- size_t b = load_explicit(&q->bottom, relaxed) - 1;
- Array *a = load_explicit(&q->array, relaxed);
- store_explicit(&q->bottom, b, relaxed);
- thread_fence(seq_cst);
- size_t t = load_explicit(&q->top, relaxed);
+ size_t b = atomic_load_explicit(&q->bottom, memory_order_relaxed) - 1;
+ Array *a = atomic_load_explicit(&q->array, memory_order_relaxed);
+ atomic_store_explicit(&q->bottom, b, memory_order_relaxed);
+ atomic_thread_fence(memory_order_seq_cst);
+ size_t t = atomic_load_explicit(&q->top, memory_order_relaxed);