6 #ifndef EASTL_ATOMIC_INTERNAL_MACROS_FETCH_OR_H
7 #define EASTL_ATOMIC_INTERNAL_MACROS_FETCH_OR_H
9 #if defined(EA_PRAGMA_ONCE_SUPPORTED)
18 #define EASTL_ATOMIC_FETCH_OR_RELAXED_8(type, ret, ptr, val) \
19 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_RELAXED_8)(type, ret, ptr, val)
21 #define EASTL_ATOMIC_FETCH_OR_ACQUIRE_8(type, ret, ptr, val) \
22 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_ACQUIRE_8)(type, ret, ptr, val)
24 #define EASTL_ATOMIC_FETCH_OR_RELEASE_8(type, ret, ptr, val) \
25 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_RELEASE_8)(type, ret, ptr, val)
27 #define EASTL_ATOMIC_FETCH_OR_ACQ_REL_8(type, ret, ptr, val) \
28 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_ACQ_REL_8)(type, ret, ptr, val)
30 #define EASTL_ATOMIC_FETCH_OR_SEQ_CST_8(type, ret, ptr, val) \
31 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_SEQ_CST_8)(type, ret, ptr, val)
34 #define EASTL_ATOMIC_FETCH_OR_RELAXED_16(type, ret, ptr, val) \
35 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_RELAXED_16)(type, ret, ptr, val)
37 #define EASTL_ATOMIC_FETCH_OR_ACQUIRE_16(type, ret, ptr, val) \
38 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_ACQUIRE_16)(type, ret, ptr, val)
40 #define EASTL_ATOMIC_FETCH_OR_RELEASE_16(type, ret, ptr, val) \
41 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_RELEASE_16)(type, ret, ptr, val)
43 #define EASTL_ATOMIC_FETCH_OR_ACQ_REL_16(type, ret, ptr, val) \
44 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_ACQ_REL_16)(type, ret, ptr, val)
46 #define EASTL_ATOMIC_FETCH_OR_SEQ_CST_16(type, ret, ptr, val) \
47 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_SEQ_CST_16)(type, ret, ptr, val)
50 #define EASTL_ATOMIC_FETCH_OR_RELAXED_32(type, ret, ptr, val) \
51 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_RELAXED_32)(type, ret, ptr, val)
53 #define EASTL_ATOMIC_FETCH_OR_ACQUIRE_32(type, ret, ptr, val) \
54 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_ACQUIRE_32)(type, ret, ptr, val)
56 #define EASTL_ATOMIC_FETCH_OR_RELEASE_32(type, ret, ptr, val) \
57 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_RELEASE_32)(type, ret, ptr, val)
59 #define EASTL_ATOMIC_FETCH_OR_ACQ_REL_32(type, ret, ptr, val) \
60 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_ACQ_REL_32)(type, ret, ptr, val)
62 #define EASTL_ATOMIC_FETCH_OR_SEQ_CST_32(type, ret, ptr, val) \
63 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_SEQ_CST_32)(type, ret, ptr, val)
66 #define EASTL_ATOMIC_FETCH_OR_RELAXED_64(type, ret, ptr, val) \
67 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_RELAXED_64)(type, ret, ptr, val)
69 #define EASTL_ATOMIC_FETCH_OR_ACQUIRE_64(type, ret, ptr, val) \
70 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_ACQUIRE_64)(type, ret, ptr, val)
72 #define EASTL_ATOMIC_FETCH_OR_RELEASE_64(type, ret, ptr, val) \
73 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_RELEASE_64)(type, ret, ptr, val)
75 #define EASTL_ATOMIC_FETCH_OR_ACQ_REL_64(type, ret, ptr, val) \
76 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_ACQ_REL_64)(type, ret, ptr, val)
78 #define EASTL_ATOMIC_FETCH_OR_SEQ_CST_64(type, ret, ptr, val) \
79 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_SEQ_CST_64)(type, ret, ptr, val)
82 #define EASTL_ATOMIC_FETCH_OR_RELAXED_128(type, ret, ptr, val) \
83 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_RELAXED_128)(type, ret, ptr, val)
85 #define EASTL_ATOMIC_FETCH_OR_ACQUIRE_128(type, ret, ptr, val) \
86 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_ACQUIRE_128)(type, ret, ptr, val)
88 #define EASTL_ATOMIC_FETCH_OR_RELEASE_128(type, ret, ptr, val) \
89 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_RELEASE_128)(type, ret, ptr, val)
91 #define EASTL_ATOMIC_FETCH_OR_ACQ_REL_128(type, ret, ptr, val) \
92 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_ACQ_REL_128)(type, ret, ptr, val)
94 #define EASTL_ATOMIC_FETCH_OR_SEQ_CST_128(type, ret, ptr, val) \
95 EASTL_ATOMIC_CHOOSE_OP_IMPL(ATOMIC_FETCH_OR_SEQ_CST_128)(type, ret, ptr, val)