Freestanding headers
This commit is contained in:
22
kernel/std/include/stdatomic.h
Normal file
22
kernel/std/include/stdatomic.h
Normal file
@ -0,0 +1,22 @@
|
||||
#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
|
Reference in New Issue
Block a user