diff --git a/ostd/atomic.hh b/ostd/atomic.hh index c159a68..2169961 100644 --- a/ostd/atomic.hh +++ b/ostd/atomic.hh @@ -77,16 +77,16 @@ namespace detail { #ifdef __GNUC__ -#define ATOMIC_BOOL_LOCK_FREE __GCC_ATOMIC_BOOL_LOCK_FREE -#define ATOMIC_CHAR_LOCK_FREE __GCC_ATOMIC_CHAR_LOCK_FREE -#define ATOMIC_CHAR16_T_LOCK_FREE __GCC_ATOMIC_CHAR16_T_LOCK_FREE -#define ATOMIC_CHAR32_T_LOCK_FREE __GCC_ATOMIC_CHAR32_T_LOCK_FREE -#define ATOMIC_WCHART_LOCK_FREE __GCC_ATOMIC_WCHART_LOCK_FREE -#define ATOMIC_SHORT_LOCK_FREE __GCC_ATOMIC_SHORT_LOCK_FREE -#define ATOMIC_INT_LOCK_FREE __GCC_ATOMIC_INT_LOCK_FREE -#define ATOMIC_LONG_LOCK_FREE __GCC_ATOMIC_LONG_LOCK_FREE -#define ATOMIC_LLONG_LOCK_FREE __GCC_ATOMIC_LLONG_LOCK_FREE -#define ATOMIC_POINTER_LOCK_FREE __GCC_ATOMIC_POINTER_LOCK_FREE +static constexpr Size AtomicBoolLockFree = __GCC_ATOMIC_BOOL_LOCK_FREE; +static constexpr Size AtomicCharLockFree = __GCC_ATOMIC_CHAR_LOCK_FREE; +static constexpr Size AtomicChar16LockFree = __GCC_ATOMIC_CHAR16_T_LOCK_FREE; +static constexpr Size AtomicChar32LockFree = __GCC_ATOMIC_CHAR32_T_LOCK_FREE; +static constexpr Size AtomicWcharLockFree = __GCC_ATOMIC_WCHAR_T_LOCK_FREE; +static constexpr Size AtomicShortLockFree = __GCC_ATOMIC_SHORT_LOCK_FREE; +static constexpr Size AtomicIntLockFree = __GCC_ATOMIC_INT_LOCK_FREE; +static constexpr Size AtomicLongLockFree = __GCC_ATOMIC_LONG_LOCK_FREE; +static constexpr Size AtomicLlongLockFree = __GCC_ATOMIC_LLONG_LOCK_FREE; +static constexpr Size AtomicPointerLockFree = __GCC_ATOMIC_POINTER_LOCK_FREE; namespace detail { static inline constexpr int to_gcc_order(MemoryOrder ord) {