99#if defined(_COMPILER_MSVC)
100#include <cx/platform/msvc/msvc_atomic.h>
101#elif defined(_COMPILER_CLANG) || defined(_COMPILER_GCC)
102#include <cx/platform/clang/clang_atomic.h>
106CX_GENERATE_ATOMICS(
void*, ptr, 3)
107CX_GENERATE_ATOMICS(
bool,
bool, 0)
108CX_GENERATE_INT_ATOMICS(
size_t, size, 3)
109CX_GENERATE_INT_ATOMICS(intptr, intptr, 3)
110CX_GENERATE_INT_ATOMICS(int8, int8, 0)
111CX_GENERATE_INT_ATOMICS(int16, int16, 1)
112CX_GENERATE_INT_ATOMICS(int32, int32, 2)
113CX_GENERATE_INT_ATOMICS(int64, int64, 3)
114CX_GENERATE_INT_ATOMICS(uintptr, uintptr, 3)
115CX_GENERATE_INT_ATOMICS(uint8, uint8, 0)
116CX_GENERATE_INT_ATOMICS(uint16, uint16, 1)
117CX_GENERATE_INT_ATOMICS(uint32, uint32, 2)
118CX_GENERATE_INT_ATOMICS(uint64, uint64, 3)
120CX_GENERATE_ATOMICS(
void*, ptr, 2)
121CX_GENERATE_ATOMICS(
bool,
bool, 0)
122CX_GENERATE_INT_ATOMICS(
size_t, size, 2)
123CX_GENERATE_INT_ATOMICS(intptr, intptr, 2)
124CX_GENERATE_INT_ATOMICS(int8, int8, 0)
125CX_GENERATE_INT_ATOMICS(int16, int16, 1)
126CX_GENERATE_INT_ATOMICS(int32, int32, 2)
127CX_GENERATE_INT_ATOMICS(uintptr, uintptr, 2)
128CX_GENERATE_INT_ATOMICS(uint8, uint8, 0)
129CX_GENERATE_INT_ATOMICS(uint16, uint16, 1)
130CX_GENERATE_INT_ATOMICS(uint32, uint32, 2)
131CX_GENERATE_INT_ATOMICS(int64, int64, 3)
132CX_GENERATE_INT_ATOMICS(uint64, uint64, 3)
Compiler and platform detection macros.