summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libcxx/test/atomics/atomics.types.generic/address.pass.cpp4
-rw-r--r--libcxx/test/atomics/atomics.types.generic/bool.pass.cpp10
-rw-r--r--libcxx/test/atomics/atomics.types.generic/integral.pass.cpp4
-rw-r--r--libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp4
-rw-r--r--libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp4
-rw-r--r--libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp4
-rw-r--r--libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp4
7 files changed, 18 insertions, 16 deletions
diff --git a/libcxx/test/atomics/atomics.types.generic/address.pass.cpp b/libcxx/test/atomics/atomics.types.generic/address.pass.cpp
index bf82ac4b3b6..b43959b4d57 100644
--- a/libcxx/test/atomics/atomics.types.generic/address.pass.cpp
+++ b/libcxx/test/atomics/atomics.types.generic/address.pass.cpp
@@ -96,14 +96,14 @@ do_test()
assert(x == T(3));
assert(obj.compare_exchange_weak(x, T(1)) == false);
assert(obj == T(2));
- assert(x == T(1));
+ assert(x == T(2));
x = T(2);
assert(obj.compare_exchange_strong(x, T(1)) == true);
assert(obj == T(1));
assert(x == T(2));
assert(obj.compare_exchange_strong(x, T(0)) == false);
assert(obj == T(1));
- assert(x == T(0));
+ assert(x == T(1));
assert((obj = T(0)) == T(0));
assert(obj == T(0));
obj = T(2*sizeof(X));
diff --git a/libcxx/test/atomics/atomics.types.generic/bool.pass.cpp b/libcxx/test/atomics/atomics.types.generic/bool.pass.cpp
index c1465546f1d..a9002ea48de 100644
--- a/libcxx/test/atomics/atomics.types.generic/bool.pass.cpp
+++ b/libcxx/test/atomics/atomics.types.generic/bool.pass.cpp
@@ -78,8 +78,9 @@ int main()
assert(obj.compare_exchange_weak(x, true,
std::memory_order_seq_cst) == false);
assert(obj == false);
- assert(x == true);
+ assert(x == false);
obj.store(true);
+ x = true;
assert(obj.compare_exchange_weak(x, false,
std::memory_order_seq_cst,
std::memory_order_seq_cst) == true);
@@ -93,7 +94,7 @@ int main()
assert(obj.compare_exchange_strong(x, true,
std::memory_order_seq_cst) == false);
assert(obj == false);
- assert(x == true);
+ assert(x == false);
x = true;
obj.store(true);
assert(obj.compare_exchange_strong(x, false,
@@ -132,8 +133,9 @@ int main()
assert(obj.compare_exchange_weak(x, true,
std::memory_order_seq_cst) == false);
assert(obj == false);
- assert(x == true);
+ assert(x == false);
obj.store(true);
+ x = true;
assert(obj.compare_exchange_weak(x, false,
std::memory_order_seq_cst,
std::memory_order_seq_cst) == true);
@@ -147,7 +149,7 @@ int main()
assert(obj.compare_exchange_strong(x, true,
std::memory_order_seq_cst) == false);
assert(obj == false);
- assert(x == true);
+ assert(x == false);
x = true;
obj.store(true);
assert(obj.compare_exchange_strong(x, false,
diff --git a/libcxx/test/atomics/atomics.types.generic/integral.pass.cpp b/libcxx/test/atomics/atomics.types.generic/integral.pass.cpp
index ff204ee6179..fc678bcfae4 100644
--- a/libcxx/test/atomics/atomics.types.generic/integral.pass.cpp
+++ b/libcxx/test/atomics/atomics.types.generic/integral.pass.cpp
@@ -114,14 +114,14 @@ do_test()
assert(x == T(3));
assert(obj.compare_exchange_weak(x, T(1)) == false);
assert(obj == T(2));
- assert(x == T(1));
+ assert(x == T(2));
x = T(2);
assert(obj.compare_exchange_strong(x, T(1)) == true);
assert(obj == T(1));
assert(x == T(2));
assert(obj.compare_exchange_strong(x, T(0)) == false);
assert(obj == T(1));
- assert(x == T(0));
+ assert(x == T(1));
assert((obj = T(0)) == T(0));
assert(obj == T(0));
assert(obj++ == T(0));
diff --git a/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp b/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
index ee78eb22b96..2223de15511 100644
--- a/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
+++ b/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
@@ -34,7 +34,7 @@ test()
assert(t == T(1));
assert(std::atomic_compare_exchange_strong(&a, &t, T(3)) == false);
assert(a == T(2));
- assert(t == T(3));
+ assert(t == T(2));
}
{
typedef std::atomic<T> A;
@@ -46,7 +46,7 @@ test()
assert(t == T(1));
assert(std::atomic_compare_exchange_strong(&a, &t, T(3)) == false);
assert(a == T(2));
- assert(t == T(3));
+ assert(t == T(2));
}
}
diff --git a/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp b/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
index d7da071ece4..bc37ac45b9a 100644
--- a/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
+++ b/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
@@ -39,7 +39,7 @@ test()
assert(std::atomic_compare_exchange_strong_explicit(&a, &t, T(3),
std::memory_order_seq_cst, std::memory_order_seq_cst) == false);
assert(a == T(2));
- assert(t == T(3));
+ assert(t == T(2));
}
{
typedef std::atomic<T> A;
@@ -53,7 +53,7 @@ test()
assert(std::atomic_compare_exchange_strong_explicit(&a, &t, T(3),
std::memory_order_seq_cst, std::memory_order_seq_cst) == false);
assert(a == T(2));
- assert(t == T(3));
+ assert(t == T(2));
}
}
diff --git a/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp b/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
index b8757042333..56ba572b7aa 100644
--- a/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
+++ b/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
@@ -34,7 +34,7 @@ test()
assert(t == T(1));
assert(std::atomic_compare_exchange_weak(&a, &t, T(3)) == false);
assert(a == T(2));
- assert(t == T(3));
+ assert(t == T(2));
}
{
typedef std::atomic<T> A;
@@ -46,7 +46,7 @@ test()
assert(t == T(1));
assert(std::atomic_compare_exchange_weak(&a, &t, T(3)) == false);
assert(a == T(2));
- assert(t == T(3));
+ assert(t == T(2));
}
}
diff --git a/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp b/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
index 39582e789d8..b3a804b7d1d 100644
--- a/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
+++ b/libcxx/test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
@@ -39,7 +39,7 @@ test()
assert(std::atomic_compare_exchange_weak_explicit(&a, &t, T(3),
std::memory_order_seq_cst, std::memory_order_seq_cst) == false);
assert(a == T(2));
- assert(t == T(3));
+ assert(t == T(2));
}
{
typedef std::atomic<T> A;
@@ -53,7 +53,7 @@ test()
assert(std::atomic_compare_exchange_weak_explicit(&a, &t, T(3),
std::memory_order_seq_cst, std::memory_order_seq_cst) == false);
assert(a == T(2));
- assert(t == T(3));
+ assert(t == T(2));
}
}
OpenPOWER on IntegriCloud