Use enum and typedef in stdatomic.h

This commit is contained in:
Justine Tunney 2023-03-28 22:15:58 -07:00
parent 792b1c84c0
commit 390aee960a
No known key found for this signature in database
GPG key ID: BE714B4575D6E328

View file

@ -13,13 +13,16 @@
* @see libc/atomic.h * @see libc/atomic.h
*/ */
#define memory_order int typedef int memory_order;
#define memory_order_relaxed 0
#define memory_order_consume 1 enum {
#define memory_order_acquire 2 memory_order_relaxed,
#define memory_order_release 3 memory_order_consume,
#define memory_order_acq_rel 4 memory_order_acquire,
#define memory_order_seq_cst 5 memory_order_release,
memory_order_acq_rel,
memory_order_seq_cst,
};
#define ATOMIC_VAR_INIT(...) __VA_ARGS__ #define ATOMIC_VAR_INIT(...) __VA_ARGS__
#define atomic_is_lock_free(obj) ((void)(obj), sizeof(obj) <= sizeof(void *)) #define atomic_is_lock_free(obj) ((void)(obj), sizeof(obj) <= sizeof(void *))