void
store(void* __v, memory_order __m = memory_order_seq_cst) volatile
{
- __glibcxx_assert(__m == memory_order_acquire);
- __glibcxx_assert(__m == memory_order_acq_rel);
- __glibcxx_assert(__m == memory_order_consume);
+ __glibcxx_assert(__m != memory_order_acquire);
+ __glibcxx_assert(__m != memory_order_acq_rel);
+ __glibcxx_assert(__m != memory_order_consume);
_ATOMIC_STORE_(this, __v, __m);
}
void*
load(memory_order __m = memory_order_seq_cst) const volatile
{
- __glibcxx_assert(__m == memory_order_release);
- __glibcxx_assert(__m == memory_order_acq_rel);
+ __glibcxx_assert(__m != memory_order_release);
+ __glibcxx_assert(__m != memory_order_acq_rel);
return _ATOMIC_LOAD_(this, __m);
}
compare_exchange_weak(void*& __v1, void* __v2, memory_order __m1,
memory_order __m2) volatile
{
- __glibcxx_assert(__m2 == memory_order_release);
- __glibcxx_assert(__m2 == memory_order_acq_rel);
+ __glibcxx_assert(__m2 != memory_order_release);
+ __glibcxx_assert(__m2 != memory_order_acq_rel);
__glibcxx_assert(__m2 <= __m1);
return _ATOMIC_CMPEXCHNG_(this, &__v1, __v2, __m1);
}
compare_exchange_strong(void*& __v1, void* __v2, memory_order __m1,
memory_order __m2) volatile
{
- __glibcxx_assert(__m2 == memory_order_release);
- __glibcxx_assert(__m2 == memory_order_acq_rel);
+ __glibcxx_assert(__m2 != memory_order_release);
+ __glibcxx_assert(__m2 != memory_order_acq_rel);
__glibcxx_assert(__m2 <= __m1);
return _ATOMIC_CMPEXCHNG_(this, &__v1, __v2, __m1);
}
store(__integral_type __i,
memory_order __m = memory_order_seq_cst) volatile
{
- __glibcxx_assert(__m == memory_order_acquire);
- __glibcxx_assert(__m == memory_order_acq_rel);
- __glibcxx_assert(__m == memory_order_consume);
+ __glibcxx_assert(__m != memory_order_acquire);
+ __glibcxx_assert(__m != memory_order_acq_rel);
+ __glibcxx_assert(__m != memory_order_consume);
_ATOMIC_STORE_(this, __i, __m);
}
__integral_type
load(memory_order __m = memory_order_seq_cst) const volatile
{
- __glibcxx_assert(__m == memory_order_release);
- __glibcxx_assert(__m == memory_order_acq_rel);
+ __glibcxx_assert(__m != memory_order_release);
+ __glibcxx_assert(__m != memory_order_acq_rel);
return _ATOMIC_LOAD_(this, __m);
}
compare_exchange_weak(__integral_type& __i1, __integral_type __i2,
memory_order __m1, memory_order __m2) volatile
{
- __glibcxx_assert(__m2 == memory_order_release);
- __glibcxx_assert(__m2 == memory_order_acq_rel);
+ __glibcxx_assert(__m2 != memory_order_release);
+ __glibcxx_assert(__m2 != memory_order_acq_rel);
__glibcxx_assert(__m2 <= __m1);
return _ATOMIC_CMPEXCHNG_(this, &__i1, __i2, __m1);
}
compare_exchange_strong(__integral_type& __i1, __integral_type __i2,
memory_order __m1, memory_order __m2) volatile
{
- __glibcxx_assert(__m2 == memory_order_release);
- __glibcxx_assert(__m2 == memory_order_acq_rel);
+ __glibcxx_assert(__m2 != memory_order_release);
+ __glibcxx_assert(__m2 != memory_order_acq_rel);
__glibcxx_assert(__m2 <= __m1);
return _ATOMIC_CMPEXCHNG_(this, &__i1, __i2, __m1);
}
void
clear(memory_order __m = memory_order_seq_cst) volatile
{
+ __glibcxx_assert(__m != memory_order_consume);
+ __glibcxx_assert(__m != memory_order_acquire);
+ __glibcxx_assert(__m != memory_order_acq_rel);
+
__sync_lock_release(&_M_i);
if (__m != memory_order_acquire && __m != memory_order_acq_rel)
__sync_synchronize();
void
store(void* __v, memory_order __m = memory_order_seq_cst) volatile
{
- __glibcxx_assert(__m == memory_order_acquire);
- __glibcxx_assert(__m == memory_order_acq_rel);
- __glibcxx_assert(__m == memory_order_consume);
+ __glibcxx_assert(__m != memory_order_acquire);
+ __glibcxx_assert(__m != memory_order_acq_rel);
+ __glibcxx_assert(__m != memory_order_consume);
if (__m == memory_order_relaxed)
_M_i = __v;
void*
load(memory_order __m = memory_order_seq_cst) const volatile
{
- __glibcxx_assert(__m == memory_order_release);
- __glibcxx_assert(__m == memory_order_acq_rel);
+ __glibcxx_assert(__m != memory_order_release);
+ __glibcxx_assert(__m != memory_order_acq_rel);
__sync_synchronize();
void* __ret = _M_i;
compare_exchange_strong(void*& __v1, void* __v2, memory_order __m1,
memory_order __m2) volatile
{
- __glibcxx_assert(__m2 == memory_order_release);
- __glibcxx_assert(__m2 == memory_order_acq_rel);
+ __glibcxx_assert(__m2 != memory_order_release);
+ __glibcxx_assert(__m2 != memory_order_acq_rel);
__glibcxx_assert(__m2 <= __m1);
void* __v1o = __v1;
store(__integral_type __i,
memory_order __m = memory_order_seq_cst) volatile
{
- __glibcxx_assert(__m == memory_order_acquire);
- __glibcxx_assert(__m == memory_order_acq_rel);
- __glibcxx_assert(__m == memory_order_consume);
+ __glibcxx_assert(__m != memory_order_acquire);
+ __glibcxx_assert(__m != memory_order_acq_rel);
+ __glibcxx_assert(__m != memory_order_consume);
if (__m == memory_order_relaxed)
_M_i = __i;
__integral_type
load(memory_order __m = memory_order_seq_cst) const volatile
{
- __glibcxx_assert(__m == memory_order_release);
- __glibcxx_assert(__m == memory_order_acq_rel);
+ __glibcxx_assert(__m != memory_order_release);
+ __glibcxx_assert(__m != memory_order_acq_rel);
__sync_synchronize();
__integral_type __ret = _M_i;
compare_exchange_strong(__integral_type& __i1, __integral_type __i2,
memory_order __m1, memory_order __m2) volatile
{
- __glibcxx_assert(__m2 == memory_order_release);
- __glibcxx_assert(__m2 == memory_order_acq_rel);
+ __glibcxx_assert(__m2 != memory_order_release);
+ __glibcxx_assert(__m2 != memory_order_acq_rel);
__glibcxx_assert(__m2 <= __m1);
__integral_type __i1o = __i1;