diff --git a/libs/core/concurrency/include/hpx/concurrency/detail/uint128_atomic.hpp b/libs/core/concurrency/include/hpx/concurrency/detail/uint128_atomic.hpp index 0556b9e2d44..86fc6dbc14e 100644 --- a/libs/core/concurrency/include/hpx/concurrency/detail/uint128_atomic.hpp +++ b/libs/core/concurrency/include/hpx/concurrency/detail/uint128_atomic.hpp @@ -11,16 +11,19 @@ #include -/* Note: currently only supported on Clang */ -#if !defined(HPX_WITH_CXX11_ATOMIC_128BIT_LOCKFREE) && defined(__clang__) +/* Note: currently only supported on Linux */ +#if !defined(HPX_WITH_CXX11_ATOMIC_128BIT_LOCKFREE) && defined(__linux__) namespace hpx::lockfree { - struct uint128_atomic : std::atomic + struct uint128_atomic : std::atomic { - using std::atomic::atomic; - constexpr uint128_atomic(std::size_t l, std::size_t r) noexcept - : std::atomic(uint128_type{l, r}) + : std::atomic(uint128_type{l, r}) + { + } + + constexpr uint128_atomic(hpx::lockfree::uint128_type value) noexcept + : std::atomic(value) { }