Fixes stdatomic.h test to match C11 spec

C11 defines the expected value to atomic_compare_exchange_* as being non-atomic
types. Using an atomic type is a syntax error in clang.

http://en.cppreference.com/w/c/atomic/atomic_compare_exchange

Change-Id: I74de1061fa1fc50d835451792d902000f368200e
This commit is contained in:
Dan Albert 2014-05-28 16:27:32 -07:00
parent dc3fb11949
commit 6b3beb23d6

View File

@ -100,31 +100,31 @@ TEST(stdatomic, atomic_exchange) {
TEST(stdatomic, atomic_compare_exchange) {
atomic_int i;
atomic_int expected;
int expected;
atomic_store(&i, 123);
atomic_store(&expected, 123);
expected = 123;
ASSERT_TRUE(atomic_compare_exchange_strong(&i, &expected, 456));
ASSERT_FALSE(atomic_compare_exchange_strong(&i, &expected, 456));
ASSERT_EQ(456, atomic_load(&expected));
ASSERT_EQ(456, expected);
atomic_store(&i, 123);
atomic_store(&expected, 123);
expected = 123;
ASSERT_TRUE(atomic_compare_exchange_strong_explicit(&i, &expected, 456, memory_order_relaxed, memory_order_relaxed));
ASSERT_FALSE(atomic_compare_exchange_strong_explicit(&i, &expected, 456, memory_order_relaxed, memory_order_relaxed));
ASSERT_EQ(456, atomic_load(&expected));
ASSERT_EQ(456, expected);
atomic_store(&i, 123);
atomic_store(&expected, 123);
expected = 123;
ASSERT_TRUE(atomic_compare_exchange_weak(&i, &expected, 456));
ASSERT_FALSE(atomic_compare_exchange_weak(&i, &expected, 456));
ASSERT_EQ(456, atomic_load(&expected));
ASSERT_EQ(456, expected);
atomic_store(&i, 123);
atomic_store(&expected, 123);
expected = 123;
ASSERT_TRUE(atomic_compare_exchange_weak_explicit(&i, &expected, 456, memory_order_relaxed, memory_order_relaxed));
ASSERT_FALSE(atomic_compare_exchange_weak_explicit(&i, &expected, 456, memory_order_relaxed, memory_order_relaxed));
ASSERT_EQ(456, atomic_load(&expected));
ASSERT_EQ(456, expected);
}
TEST(stdatomic, atomic_fetch_add) {