diff --git a/rpcs3/util/atomic.hpp b/rpcs3/util/atomic.hpp index 3faf88304b..b0fb7ebaa1 100644 --- a/rpcs3/util/atomic.hpp +++ b/rpcs3/util/atomic.hpp @@ -88,7 +88,7 @@ namespace atomic_wait template constexpr void set_value(T value = T{}) { - old = get_value(); + old = get_value(value); } template @@ -146,13 +146,13 @@ namespace atomic_wait constexpr list(atomic_t&... vars) : m_info{{&vars.raw(), sizeof(U), info::get_value(), info::get_mask()}...} { - static_assert(sizeof...(U) <= Max); + static_assert(sizeof...(U) == Max, "Inconsistent amount of atomics."); } template constexpr list& values(U... values) { - static_assert(sizeof...(U) <= Max); + static_assert(sizeof...(U) == Max, "Inconsistent amount of values."); auto* ptr = m_info; ((ptr++)->template set_value(values), ...); @@ -160,9 +160,9 @@ namespace atomic_wait } template - constexpr list& masks(T... masks) + constexpr list& masks(U... masks) { - static_assert(sizeof...(U) <= Max); + static_assert(sizeof...(U) <= Max, "Too many masks."); auto* ptr = m_info; ((ptr++)->template set_mask(masks), ...);