Added two tests to ensure that <atomic> doesn't compile when one of the
following is true:
1. __cplusplus < 201103L
2. _LIBCPP_HAS_NO_THREADS is defined.
The added tests are:
- /test/atomics/c++11-only.fail.cpp
- /test/atomics/libcpp-no-threads.fail.cpp
http://reviews.llvm.org/D5955
Files:
test/atomics/atomics.fences/atomic_signal_fence.pass.cpp
test/atomics/atomics.fences/atomic_thread_fence.pass.cpp
test/atomics/atomics.flag/atomic_flag_clear.pass.cpp
test/atomics/atomics.flag/atomic_flag_clear_explicit.pass.cpp
test/atomics/atomics.flag/atomic_flag_test_and_set.pass.cpp
test/atomics/atomics.flag/atomic_flag_test_and_set_explicit.pass.cpp
test/atomics/atomics.flag/clear.pass.cpp
test/atomics/atomics.flag/copy_assign.fail.cpp
test/atomics/atomics.flag/copy_ctor.fail.cpp
test/atomics/atomics.flag/copy_volatile_assign.fail.cpp
test/atomics/atomics.flag/default.pass.cpp
test/atomics/atomics.flag/init.pass.cpp
test/atomics/atomics.flag/test_and_set.pass.cpp
test/atomics/atomics.lockfree/lockfree.pass.cpp
test/atomics/atomics.order/kill_dependency.pass.cpp
test/atomics/atomics.order/memory_order.pass.cpp
test/atomics/atomics.types.generic/address.pass.cpp
test/atomics/atomics.types.generic/bool.pass.cpp
test/atomics/atomics.types.generic/cstdint_typedefs.pass.cpp
test/atomics/atomics.types.generic/integral.pass.cpp
test/atomics/atomics.types.generic/integral_typedefs.pass.cpp
test/atomics/atomics.types.generic/trivially_copyable.fail.cpp
test/atomics/atomics.types.generic/trivially_copyable.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp
test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_var_init.pass.cpp
test/atomics/c++11-only.fail.cpp
test/atomics/libcpp-no-threads.fail.cpp
test/atomics/version.pass.cpp
Index: test/atomics/atomics.fences/atomic_signal_fence.pass.cpp
===================================================================
--- test/atomics/atomics.fences/atomic_signal_fence.pass.cpp
+++ test/atomics/atomics.fences/atomic_signal_fence.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.fences/atomic_thread_fence.pass.cpp
===================================================================
--- test/atomics/atomics.fences/atomic_thread_fence.pass.cpp
+++ test/atomics/atomics.fences/atomic_thread_fence.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.flag/atomic_flag_clear.pass.cpp
===================================================================
--- test/atomics/atomics.flag/atomic_flag_clear.pass.cpp
+++ test/atomics/atomics.flag/atomic_flag_clear.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.flag/atomic_flag_clear_explicit.pass.cpp
===================================================================
--- test/atomics/atomics.flag/atomic_flag_clear_explicit.pass.cpp
+++ test/atomics/atomics.flag/atomic_flag_clear_explicit.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.flag/atomic_flag_test_and_set.pass.cpp
===================================================================
--- test/atomics/atomics.flag/atomic_flag_test_and_set.pass.cpp
+++ test/atomics/atomics.flag/atomic_flag_test_and_set.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.flag/atomic_flag_test_and_set_explicit.pass.cpp
===================================================================
--- test/atomics/atomics.flag/atomic_flag_test_and_set_explicit.pass.cpp
+++ test/atomics/atomics.flag/atomic_flag_test_and_set_explicit.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.flag/clear.pass.cpp
===================================================================
--- test/atomics/atomics.flag/clear.pass.cpp
+++ test/atomics/atomics.flag/clear.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.flag/copy_assign.fail.cpp
===================================================================
--- test/atomics/atomics.flag/copy_assign.fail.cpp
+++ test/atomics/atomics.flag/copy_assign.fail.cpp
@@ -7,6 +7,8 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// struct atomic_flag
Index: test/atomics/atomics.flag/copy_ctor.fail.cpp
===================================================================
--- test/atomics/atomics.flag/copy_ctor.fail.cpp
+++ test/atomics/atomics.flag/copy_ctor.fail.cpp
@@ -7,6 +7,8 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// struct atomic_flag
Index: test/atomics/atomics.flag/copy_volatile_assign.fail.cpp
===================================================================
--- test/atomics/atomics.flag/copy_volatile_assign.fail.cpp
+++ test/atomics/atomics.flag/copy_volatile_assign.fail.cpp
@@ -7,6 +7,8 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// struct atomic_flag
Index: test/atomics/atomics.flag/default.pass.cpp
===================================================================
--- test/atomics/atomics.flag/default.pass.cpp
+++ test/atomics/atomics.flag/default.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.flag/init.pass.cpp
===================================================================
--- test/atomics/atomics.flag/init.pass.cpp
+++ test/atomics/atomics.flag/init.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.flag/test_and_set.pass.cpp
===================================================================
--- test/atomics/atomics.flag/test_and_set.pass.cpp
+++ test/atomics/atomics.flag/test_and_set.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.lockfree/lockfree.pass.cpp
===================================================================
--- test/atomics/atomics.lockfree/lockfree.pass.cpp
+++ test/atomics/atomics.lockfree/lockfree.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.order/kill_dependency.pass.cpp
===================================================================
--- test/atomics/atomics.order/kill_dependency.pass.cpp
+++ test/atomics/atomics.order/kill_dependency.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.order/memory_order.pass.cpp
===================================================================
--- test/atomics/atomics.order/memory_order.pass.cpp
+++ test/atomics/atomics.order/memory_order.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.types.generic/address.pass.cpp
===================================================================
--- test/atomics/atomics.types.generic/address.pass.cpp
+++ test/atomics/atomics.types.generic/address.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... test case crashes clang.
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class T>
Index: test/atomics/atomics.types.generic/bool.pass.cpp
===================================================================
--- test/atomics/atomics.types.generic/bool.pass.cpp
+++ test/atomics/atomics.types.generic/bool.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.types.generic/cstdint_typedefs.pass.cpp
===================================================================
--- test/atomics/atomics.types.generic/cstdint_typedefs.pass.cpp
+++ test/atomics/atomics.types.generic/cstdint_typedefs.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.types.generic/integral.pass.cpp
===================================================================
--- test/atomics/atomics.types.generic/integral.pass.cpp
+++ test/atomics/atomics.types.generic/integral.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.types.generic/integral_typedefs.pass.cpp
===================================================================
--- test/atomics/atomics.types.generic/integral_typedefs.pass.cpp
+++ test/atomics/atomics.types.generic/integral_typedefs.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.types.generic/trivially_copyable.fail.cpp
===================================================================
--- test/atomics/atomics.types.generic/trivially_copyable.fail.cpp
+++ test/atomics/atomics.types.generic/trivially_copyable.fail.cpp
@@ -7,6 +7,8 @@
//
//===----------------------------------------------------------------------===//
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class T>
Index: test/atomics/atomics.types.generic/trivially_copyable.pass.cpp
===================================================================
--- test/atomics/atomics.types.generic/trivially_copyable.pass.cpp
+++ test/atomics/atomics.types.generic/trivially_copyable.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... assertion fails line 34
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class T>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... assertion fails line 38
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class T>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... assertion fails line 34
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class T>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... assertion fails line 38
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class T>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... fails assertion line 31
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class T>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... assertion fails line 32
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class T>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... test crashes clang
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class Integral>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... test crashes clang
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class Integral>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... test crashes clang
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class Integral>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... test crashes clang
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class Integral>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... assertion fails line 34
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class T>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... assertion fails line 34
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class T>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... assertion fails line 31
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class T>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... assertion fails line 31
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class T>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp
@@ -10,6 +10,8 @@
// UNSUPPORTED: libcpp-has-no-threads
// ... assertion fails line 31
+// UNSUPPORTED: c++98, c++03
+
// <atomic>
// template <class T>
Index: test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_var_init.pass.cpp
===================================================================
--- test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_var_init.pass.cpp
+++ test/atomics/atomics.types.operations/atomics.types.operations.req/atomic_var_init.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
Index: test/atomics/c++11-only.fail.cpp
===================================================================
--- /dev/null
+++ test/atomics/c++11-only.fail.cpp
@@ -0,0 +1,20 @@
+//===----------------------------------------------------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// <atomic>
+
+#if __cplusplus < 201103L
+#include <atomic>
+#else
+#error This test should not compile.
+#endif
+
+int main()
+{
+}
Index: test/atomics/libcpp-no-threads.fail.cpp
===================================================================
--- /dev/null
+++ test/atomics/libcpp-no-threads.fail.cpp
@@ -0,0 +1,20 @@
+//===----------------------------------------------------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// <atomic>
+
+#ifndef _LIBCPP_HAS_NO_THREADS
+#define _LIBCPP_HAS_NO_THREADS
+#endif
+
+#include <atomic>
+
+int main()
+{
+}
Index: test/atomics/version.pass.cpp
===================================================================
--- test/atomics/version.pass.cpp
+++ test/atomics/version.pass.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
//
// UNSUPPORTED: libcpp-has-no-threads
+// UNSUPPORTED: c++98, c++03
// <atomic>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits