23 lines
788 B
C
23 lines
788 B
C
#ifndef __FREESTND_C_HDRS_STDATOMIC_H
|
|
#define __FREESTND_C_HDRS_STDATOMIC_H
|
|
|
|
#define memory_order_relaxed __ATOMIC_RELAXED
|
|
#define memory_order_consume __ATOMIC_CONSUME
|
|
#define memory_order_acquire __ATOMIC_ACQUIRE
|
|
#define memory_order_release __ATOMIC_RELEASE
|
|
#define memory_order_acq_rel __ATOMIC_ACQ_REL
|
|
#define memory_order_seq_cst __ATOMIC_SEQ_CST
|
|
|
|
#define atomic_load_explicit __atomic_load_n
|
|
#define atomic_store_explicit __atomic_store_n
|
|
|
|
#define atomic_store(p, v) atomic_store_explicit(p, v, memory_order_relaxed)
|
|
#define atomic_load(p, v) atomic_load_explicit(p, v, memory_order_relaxed)
|
|
|
|
#define atomic_compare_exchange_weak(p, old, new) \
|
|
__atomic_compare_exchange_n(p, old, new, true, memory_order_relaxed, memory_order_relaxed)
|
|
|
|
#define atomic_bool volatile bool
|
|
|
|
#endif
|