@@ -72,6 +72,7 @@ terms of the MIT license. A copy of the license can be found in the file
72
72
#define mi_atomic_load_relaxed (p ) mi_atomic(load_explicit)(p,mi_memory_order(relaxed))
73
73
#define mi_atomic_store_release (p,x ) mi_atomic(store_explicit)(p,x,mi_memory_order(release))
74
74
#define mi_atomic_store_relaxed (p,x ) mi_atomic(store_explicit)(p,x,mi_memory_order(relaxed))
75
+ #define mi_atomic_exchange_relaxed (p,x ) mi_atomic(exchange_explicit)(p,x,mi_memory_order(relaxed))
75
76
#define mi_atomic_exchange_release (p,x ) mi_atomic(exchange_explicit)(p,x,mi_memory_order(release))
76
77
#define mi_atomic_exchange_acq_rel (p,x ) mi_atomic(exchange_explicit)(p,x,mi_memory_order(acq_rel))
77
78
#define mi_atomic_cas_weak_release (p,exp,des ) mi_atomic_cas_weak(p,exp,des,mi_memory_order(release),mi_memory_order(relaxed))
@@ -110,6 +111,7 @@ static inline intptr_t mi_atomic_subi(_Atomic(intptr_t)*p, intptr_t sub);
110
111
#define mi_atomic_cas_ptr_weak_release (tp,p,exp,des ) mi_atomic_cas_weak_release(p,exp,(tp*)des)
111
112
#define mi_atomic_cas_ptr_weak_acq_rel (tp,p,exp,des ) mi_atomic_cas_weak_acq_rel(p,exp,(tp*)des)
112
113
#define mi_atomic_cas_ptr_strong_release (tp,p,exp,des ) mi_atomic_cas_strong_release(p,exp,(tp*)des)
114
+ #define mi_atomic_exchange_ptr_relaxed (tp,p,x ) mi_atomic_exchange_relaxed(p,(tp*)x)
113
115
#define mi_atomic_exchange_ptr_release (tp,p,x ) mi_atomic_exchange_release(p,(tp*)x)
114
116
#define mi_atomic_exchange_ptr_acq_rel (tp,p,x ) mi_atomic_exchange_acq_rel(p,(tp*)x)
115
117
#else
@@ -118,6 +120,7 @@ static inline intptr_t mi_atomic_subi(_Atomic(intptr_t)*p, intptr_t sub);
118
120
#define mi_atomic_cas_ptr_weak_release (tp,p,exp,des ) mi_atomic_cas_weak_release(p,exp,des)
119
121
#define mi_atomic_cas_ptr_weak_acq_rel (tp,p,exp,des ) mi_atomic_cas_weak_acq_rel(p,exp,des)
120
122
#define mi_atomic_cas_ptr_strong_release (tp,p,exp,des ) mi_atomic_cas_strong_release(p,exp,des)
123
+ #define mi_atomic_exchange_ptr_relaxed (tp,p,x ) mi_atomic_exchange_relaxed(p,x)
121
124
#define mi_atomic_exchange_ptr_release (tp,p,x ) mi_atomic_exchange_release(p,x)
122
125
#define mi_atomic_exchange_ptr_acq_rel (tp,p,x ) mi_atomic_exchange_acq_rel(p,x)
123
126
#endif
0 commit comments