6 #ifndef EASTL_ATOMIC_INTERNAL_COMPILER_STORE_H
7 #define EASTL_ATOMIC_INTERNAL_COMPILER_STORE_H
9 #if defined(EA_PRAGMA_ONCE_SUPPORTED)
18 #if defined(EASTL_COMPILER_ATOMIC_STORE_RELAXED_8)
19 #define EASTL_COMPILER_ATOMIC_STORE_RELAXED_8_AVAILABLE 1
21 #define EASTL_COMPILER_ATOMIC_STORE_RELAXED_8_AVAILABLE 0
24 #if defined(EASTL_COMPILER_ATOMIC_STORE_RELEASE_8)
25 #define EASTL_COMPILER_ATOMIC_STORE_RELEASE_8_AVAILABLE 1
27 #define EASTL_COMPILER_ATOMIC_STORE_RELEASE_8_AVAILABLE 0
30 #if defined(EASTL_COMPILER_ATOMIC_STORE_SEQ_CST_8)
31 #define EASTL_COMPILER_ATOMIC_STORE_SEQ_CST_8_AVAILABLE 1
33 #define EASTL_COMPILER_ATOMIC_STORE_SEQ_CST_8_AVAILABLE 0
37 #if defined(EASTL_COMPILER_ATOMIC_STORE_RELAXED_16)
38 #define EASTL_COMPILER_ATOMIC_STORE_RELAXED_16_AVAILABLE 1
40 #define EASTL_COMPILER_ATOMIC_STORE_RELAXED_16_AVAILABLE 0
43 #if defined(EASTL_COMPILER_ATOMIC_STORE_RELEASE_16)
44 #define EASTL_COMPILER_ATOMIC_STORE_RELEASE_16_AVAILABLE 1
46 #define EASTL_COMPILER_ATOMIC_STORE_RELEASE_16_AVAILABLE 0
49 #if defined(EASTL_COMPILER_ATOMIC_STORE_SEQ_CST_16)
50 #define EASTL_COMPILER_ATOMIC_STORE_SEQ_CST_16_AVAILABLE 1
52 #define EASTL_COMPILER_ATOMIC_STORE_SEQ_CST_16_AVAILABLE 0
56 #if defined(EASTL_COMPILER_ATOMIC_STORE_RELAXED_32)
57 #define EASTL_COMPILER_ATOMIC_STORE_RELAXED_32_AVAILABLE 1
59 #define EASTL_COMPILER_ATOMIC_STORE_RELAXED_32_AVAILABLE 0
62 #if defined(EASTL_COMPILER_ATOMIC_STORE_RELEASE_32)
63 #define EASTL_COMPILER_ATOMIC_STORE_RELEASE_32_AVAILABLE 1
65 #define EASTL_COMPILER_ATOMIC_STORE_RELEASE_32_AVAILABLE 0
68 #if defined(EASTL_COMPILER_ATOMIC_STORE_SEQ_CST_32)
69 #define EASTL_COMPILER_ATOMIC_STORE_SEQ_CST_32_AVAILABLE 1
71 #define EASTL_COMPILER_ATOMIC_STORE_SEQ_CST_32_AVAILABLE 0
75 #if defined(EASTL_COMPILER_ATOMIC_STORE_RELAXED_64)
76 #define EASTL_COMPILER_ATOMIC_STORE_RELAXED_64_AVAILABLE 1
78 #define EASTL_COMPILER_ATOMIC_STORE_RELAXED_64_AVAILABLE 0
81 #if defined(EASTL_COMPILER_ATOMIC_STORE_RELEASE_64)
82 #define EASTL_COMPILER_ATOMIC_STORE_RELEASE_64_AVAILABLE 1
84 #define EASTL_COMPILER_ATOMIC_STORE_RELEASE_64_AVAILABLE 0
87 #if defined(EASTL_COMPILER_ATOMIC_STORE_SEQ_CST_64)
88 #define EASTL_COMPILER_ATOMIC_STORE_SEQ_CST_64_AVAILABLE 1
90 #define EASTL_COMPILER_ATOMIC_STORE_SEQ_CST_64_AVAILABLE 0
94 #if defined(EASTL_COMPILER_ATOMIC_STORE_RELAXED_128)
95 #define EASTL_COMPILER_ATOMIC_STORE_RELAXED_128_AVAILABLE 1
97 #define EASTL_COMPILER_ATOMIC_STORE_RELAXED_128_AVAILABLE 0
100 #if defined(EASTL_COMPILER_ATOMIC_STORE_RELEASE_128)
101 #define EASTL_COMPILER_ATOMIC_STORE_RELEASE_128_AVAILABLE 1
103 #define EASTL_COMPILER_ATOMIC_STORE_RELEASE_128_AVAILABLE 0
106 #if defined(EASTL_COMPILER_ATOMIC_STORE_SEQ_CST_128)
107 #define EASTL_COMPILER_ATOMIC_STORE_SEQ_CST_128_AVAILABLE 1
109 #define EASTL_COMPILER_ATOMIC_STORE_SEQ_CST_128_AVAILABLE 0