EXPECT_TRUE( atomics::atomic_is_lock_free( &a ) );
atomics::atomic_store_explicit( &a, (integral_type) 0, oStore );
- EXPECT_EQ( a, 0 );
+ EXPECT_EQ( a, integral_type( 0 ));
EXPECT_EQ( atomics::atomic_load_explicit( &a, oLoad ), (integral_type) 0 );
for ( size_t nByte = 0; nByte < sizeof(Integral); ++nByte ) {
EXPECT_EQ( atomics::atomic_fetch_and_explicit( &a, (integral_type) ~mask, order ), prev );
prev = atomics::atomic_load_explicit( &a, oLoad );
- EXPECT_EQ( ( prev & mask), 0);
+ EXPECT_EQ( ( prev & mask), integral_type( 0 ));
EXPECT_EQ( atomics::atomic_fetch_xor_explicit( &a, mask, order ), prev );
prev = atomics::atomic_load_explicit( &a, oLoad );
test_atomic_integral_volatile<unsigned long long>();
}
+#if !( CDS_COMPILER == CDS_COMPILER_CLANG && defined(_LIBCPP_VERSION) && CDS_COMPILER_VERSION < 30900 )
+ //clang error (libc++) with atomic<void> fetch_add/fetch_sub
TEST_F( cxx11_atomic_func, atomic_pointer_void )
{
do_test_atomic_pointer_void<false>();
{
do_test_atomic_pointer_void<true>();
}
+#endif
TEST_F( cxx11_atomic_func, atomic_pointer_char )
{