summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/thread
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/test/std/thread')
-rw-r--r--libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.async/async_race.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.errors/default_error_condition.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.errors/equivalent_error_code_int.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.errors/equivalent_int_error_condition.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.errors/future_category.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.errors/make_error_code.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.errors/make_error_condition.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.future_error/types.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.overview/future_errc.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.overview/future_status.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.promise/alloc_ctor.pass.cpp1
-rw-r--r--libcxx/test/std/thread/futures/futures.promise/default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.promise/set_exception.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.promise/set_lvalue_at_thread_exit.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.promise/set_rvalue.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.promise/set_rvalue_at_thread_exit.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_const.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_void.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.promise/set_value_void.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.promise/swap.pass.cpp1
-rw-r--r--libcxx/test/std/thread/futures/futures.promise/uses_allocator.pass.cpp1
-rw-r--r--libcxx/test/std/thread/futures/futures.shared_future/ctor_future.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.shared_future/default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.shared_future/dtor.pass.cpp1
-rw-r--r--libcxx/test/std/thread/futures/futures.shared_future/move_assign.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.shared_future/move_ctor.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.shared_future/wait.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.shared_future/wait_for.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.shared_future/wait_until.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.task/futures.task.members/assign_move.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func_alloc.pass.cpp1
-rw-r--r--libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_move.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.task/futures.task.members/swap.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/swap.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/uses_allocator.pass.cpp1
-rw-r--r--libcxx/test/std/thread/futures/futures.unique_future/default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.unique_future/dtor.pass.cpp1
-rw-r--r--libcxx/test/std/thread/futures/futures.unique_future/move_assign.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.unique_future/move_ctor.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.unique_future/share.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.unique_future/wait.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.unique_future/wait_for.pass.cpp2
-rw-r--r--libcxx/test/std/thread/futures/futures.unique_future/wait_until.pass.cpp2
-rw-r--r--libcxx/test/std/thread/macro.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/cv_status.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/notify_all_at_thread_exit.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvar/default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvar/destructor.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_all.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_one.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_pred.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvarany/default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvarany/destructor.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_all.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_one.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_pred.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/member_swap.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/nonmember_swap.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/release.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/mutex.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/op_bool.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/owns_lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/types.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_duration.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_time_point.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/member_swap.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/nonmember_swap.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/release.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/mutex.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/op_bool.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/owns_lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.lock/types.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until_deadlock_bug.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/race.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.algorithm/swap.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move2.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/move.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.destr/dtor.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/assign.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/copy.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/default.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/eq.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/lt.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.this/get_id.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_until.pass.cpp2
-rw-r--r--libcxx/test/std/thread/thread.threads/thread.thread.this/yield.pass.cpp2
144 files changed, 281 insertions, 0 deletions
diff --git a/libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp b/libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp
index 826704a75d3..25708b819ac 100644
--- a/libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.async/async_race.38682.pass.cpp
@@ -29,6 +29,8 @@
#include <numeric>
#include <vector>
+#include "test_macros.h"
+
static int worker(std::vector<int> const& data) {
return std::accumulate(data.begin(), data.end(), 0);
diff --git a/libcxx/test/std/thread/futures/futures.async/async_race.pass.cpp b/libcxx/test/std/thread/futures/futures.async/async_race.pass.cpp
index 9da57e38ae9..4562169f68d 100644
--- a/libcxx/test/std/thread/futures/futures.async/async_race.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.async/async_race.pass.cpp
@@ -28,6 +28,8 @@
#include <memory>
#include <cassert>
+#include "test_macros.h"
+
int f_async() {
typedef std::chrono::milliseconds ms;
std::this_thread::sleep_for(ms(200));
diff --git a/libcxx/test/std/thread/futures/futures.errors/default_error_condition.pass.cpp b/libcxx/test/std/thread/futures/futures.errors/default_error_condition.pass.cpp
index fbb7eb13d92..b712254fed1 100644
--- a/libcxx/test/std/thread/futures/futures.errors/default_error_condition.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.errors/default_error_condition.pass.cpp
@@ -17,6 +17,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
const std::error_category& e_cat = std::future_category();
diff --git a/libcxx/test/std/thread/futures/futures.errors/equivalent_error_code_int.pass.cpp b/libcxx/test/std/thread/futures/futures.errors/equivalent_error_code_int.pass.cpp
index 3ba3410942d..379191dac06 100644
--- a/libcxx/test/std/thread/futures/futures.errors/equivalent_error_code_int.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.errors/equivalent_error_code_int.pass.cpp
@@ -17,6 +17,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
const std::error_category& e_cat = std::future_category();
diff --git a/libcxx/test/std/thread/futures/futures.errors/equivalent_int_error_condition.pass.cpp b/libcxx/test/std/thread/futures/futures.errors/equivalent_int_error_condition.pass.cpp
index 9d0e1cf31ba..9c0dade18e8 100644
--- a/libcxx/test/std/thread/futures/futures.errors/equivalent_int_error_condition.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.errors/equivalent_int_error_condition.pass.cpp
@@ -17,6 +17,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
const std::error_category& e_cat = std::future_category();
diff --git a/libcxx/test/std/thread/futures/futures.errors/future_category.pass.cpp b/libcxx/test/std/thread/futures/futures.errors/future_category.pass.cpp
index 7b9d7234425..3e5aed2e670 100644
--- a/libcxx/test/std/thread/futures/futures.errors/future_category.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.errors/future_category.pass.cpp
@@ -16,6 +16,8 @@
#include <cstring>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
const std::error_category& ec = std::future_category();
diff --git a/libcxx/test/std/thread/futures/futures.errors/make_error_code.pass.cpp b/libcxx/test/std/thread/futures/futures.errors/make_error_code.pass.cpp
index d9e50bf42d3..c28e1577047 100644
--- a/libcxx/test/std/thread/futures/futures.errors/make_error_code.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.errors/make_error_code.pass.cpp
@@ -17,6 +17,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/futures/futures.errors/make_error_condition.pass.cpp b/libcxx/test/std/thread/futures/futures.errors/make_error_condition.pass.cpp
index d0555910246..31997dcd564 100644
--- a/libcxx/test/std/thread/futures/futures.errors/make_error_condition.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.errors/make_error_condition.pass.cpp
@@ -17,6 +17,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/futures/futures.future_error/types.pass.cpp b/libcxx/test/std/thread/futures/futures.future_error/types.pass.cpp
index edf18ba5a9a..d8ea4ce2de9 100644
--- a/libcxx/test/std/thread/futures/futures.future_error/types.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.future_error/types.pass.cpp
@@ -15,6 +15,8 @@
#include <future>
#include <type_traits>
+#include "test_macros.h"
+
int main(int, char**)
{
static_assert((std::is_convertible<std::future_error*,
diff --git a/libcxx/test/std/thread/futures/futures.overview/future_errc.pass.cpp b/libcxx/test/std/thread/futures/futures.overview/future_errc.pass.cpp
index d7840f45ce6..35e1de9dbe2 100644
--- a/libcxx/test/std/thread/futures/futures.overview/future_errc.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.overview/future_errc.pass.cpp
@@ -23,6 +23,8 @@
#include <future>
+#include "test_macros.h"
+
int main(int, char**)
{
static_assert(std::future_errc::broken_promise != std::future_errc::future_already_retrieved, "");
diff --git a/libcxx/test/std/thread/futures/futures.overview/future_status.pass.cpp b/libcxx/test/std/thread/futures/futures.overview/future_status.pass.cpp
index ceff64f7ebb..3b6304d4745 100644
--- a/libcxx/test/std/thread/futures/futures.overview/future_status.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.overview/future_status.pass.cpp
@@ -19,6 +19,8 @@
#include <future>
+#include "test_macros.h"
+
int main(int, char**)
{
static_assert(static_cast<int>(std::future_status::ready) == 0, "");
diff --git a/libcxx/test/std/thread/futures/futures.promise/alloc_ctor.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/alloc_ctor.pass.cpp
index ece8b94a563..2386510d31f 100644
--- a/libcxx/test/std/thread/futures/futures.promise/alloc_ctor.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/alloc_ctor.pass.cpp
@@ -19,6 +19,7 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
#include "test_allocator.h"
#include "min_allocator.h"
diff --git a/libcxx/test/std/thread/futures/futures.promise/default.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/default.pass.cpp
index 600f99dd992..e9b9251906f 100644
--- a/libcxx/test/std/thread/futures/futures.promise/default.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/default.pass.cpp
@@ -18,6 +18,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_exception.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_exception.pass.cpp
index 030620ad43f..b634858d22d 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_exception.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_exception.pass.cpp
@@ -19,6 +19,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp
index a1a32882bee..dede7967403 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp
@@ -19,6 +19,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
void func(std::promise<int> p)
{
p.set_exception_at_thread_exit(std::make_exception_ptr(3));
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_lvalue_at_thread_exit.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_lvalue_at_thread_exit.pass.cpp
index 9c3b09086b3..a9bde3e0bf6 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_lvalue_at_thread_exit.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_lvalue_at_thread_exit.pass.cpp
@@ -19,6 +19,8 @@
#include <memory>
#include <cassert>
+#include "test_macros.h"
+
int i = 0;
void func(std::promise<int&> p)
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_rvalue.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_rvalue.pass.cpp
index 7f54baa8cec..e5f7d53c8b2 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_rvalue.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_rvalue.pass.cpp
@@ -19,6 +19,8 @@
#include <memory>
#include <cassert>
+#include "test_macros.h"
+
struct A
{
A() {}
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_rvalue_at_thread_exit.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_rvalue_at_thread_exit.pass.cpp
index bddd6613556..d6ea501c7e3 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_rvalue_at_thread_exit.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_rvalue_at_thread_exit.pass.cpp
@@ -18,6 +18,8 @@
#include <memory>
#include <cassert>
+#include "test_macros.h"
+
void func(std::promise<std::unique_ptr<int>> p)
{
p.set_value_at_thread_exit(std::unique_ptr<int>(new int(5)));
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_const.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_const.pass.cpp
index 9258a001149..61db7cd97c2 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_const.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_const.pass.cpp
@@ -18,6 +18,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
void func(std::promise<int> p)
{
const int i = 5;
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_void.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_void.pass.cpp
index 1a204421ee9..6314c95a82b 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_void.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_value_at_thread_exit_void.pass.cpp
@@ -19,6 +19,8 @@
#include <memory>
#include <cassert>
+#include "test_macros.h"
+
int i = 0;
void func(std::promise<void> p)
diff --git a/libcxx/test/std/thread/futures/futures.promise/set_value_void.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/set_value_void.pass.cpp
index d505b3aabf4..16f1022b10c 100644
--- a/libcxx/test/std/thread/futures/futures.promise/set_value_void.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/set_value_void.pass.cpp
@@ -19,6 +19,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/futures/futures.promise/swap.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/swap.pass.cpp
index 2b78b1d384b..94aadfb328f 100644
--- a/libcxx/test/std/thread/futures/futures.promise/swap.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/swap.pass.cpp
@@ -20,6 +20,7 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
#include "test_allocator.h"
int main(int, char**)
diff --git a/libcxx/test/std/thread/futures/futures.promise/uses_allocator.pass.cpp b/libcxx/test/std/thread/futures/futures.promise/uses_allocator.pass.cpp
index 1a5028bce3a..ad75ff033b6 100644
--- a/libcxx/test/std/thread/futures/futures.promise/uses_allocator.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.promise/uses_allocator.pass.cpp
@@ -17,6 +17,7 @@
// : true_type { };
#include <future>
+#include "test_macros.h"
#include "test_allocator.h"
int main(int, char**)
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/ctor_future.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/ctor_future.pass.cpp
index b75450cb9e9..cd22560d84d 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/ctor_future.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/ctor_future.pass.cpp
@@ -18,6 +18,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/default.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/default.pass.cpp
index 0387b97a70c..90f16420372 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/default.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/default.pass.cpp
@@ -17,6 +17,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/dtor.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/dtor.pass.cpp
index fe49c2208ee..6eef6150403 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/dtor.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/dtor.pass.cpp
@@ -19,6 +19,7 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
#include "test_allocator.h"
int main(int, char**)
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/move_assign.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/move_assign.pass.cpp
index 3940530528d..e220497094c 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/move_assign.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/move_assign.pass.cpp
@@ -18,6 +18,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/move_ctor.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/move_ctor.pass.cpp
index e1d982d0ee1..21579b299fd 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/move_ctor.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/move_ctor.pass.cpp
@@ -18,6 +18,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/wait.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/wait.pass.cpp
index f78ca6bfc42..34a71660440 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/wait.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/wait.pass.cpp
@@ -18,6 +18,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
void func1(std::promise<int> p)
{
std::this_thread::sleep_for(std::chrono::milliseconds(500));
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/wait_for.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/wait_for.pass.cpp
index 913127af327..74d91bf9a1b 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/wait_for.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/wait_for.pass.cpp
@@ -20,6 +20,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
typedef std::chrono::milliseconds ms;
void func1(std::promise<int> p)
diff --git a/libcxx/test/std/thread/futures/futures.shared_future/wait_until.pass.cpp b/libcxx/test/std/thread/futures/futures.shared_future/wait_until.pass.cpp
index 09787fedc3a..e45125901d9 100644
--- a/libcxx/test/std/thread/futures/futures.shared_future/wait_until.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.shared_future/wait_until.pass.cpp
@@ -23,6 +23,8 @@
#include <atomic>
#include <cassert>
+#include "test_macros.h"
+
enum class WorkerThreadState { Uninitialized, AllowedToRun, Exiting };
typedef std::chrono::milliseconds ms;
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/assign_move.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/assign_move.pass.cpp
index 9da7a96e241..d1566489a76 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/assign_move.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/assign_move.pass.cpp
@@ -18,6 +18,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
class A
{
long data_;
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_default.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_default.pass.cpp
index 5472c717adc..ef820cb9ae8 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_default.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_default.pass.cpp
@@ -18,6 +18,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
struct A {};
int main(int, char**)
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func.pass.cpp
index 20ee8b4b4d2..9ac24baf355 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func.pass.cpp
@@ -19,6 +19,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
class A
{
long data_;
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func_alloc.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func_alloc.pass.cpp
index 766987ce0df..38b8e4dabea 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func_alloc.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_func_alloc.pass.cpp
@@ -21,6 +21,7 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
#include "test_allocator.h"
#include "min_allocator.h"
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_move.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_move.pass.cpp
index c517182d3ad..f7121269a83 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_move.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/ctor_move.pass.cpp
@@ -18,6 +18,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
class A
{
long data_;
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.members/swap.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.members/swap.pass.cpp
index 2cd97900df7..8e9ee59992a 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.members/swap.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.members/swap.pass.cpp
@@ -18,6 +18,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
class A
{
long data_;
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/swap.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/swap.pass.cpp
index 8c1c19eca62..23a0c4d6f37 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/swap.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/swap.pass.cpp
@@ -20,6 +20,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
class A
{
long data_;
diff --git a/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/uses_allocator.pass.cpp b/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/uses_allocator.pass.cpp
index 5257a7008cd..4eb16f52958 100644
--- a/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/uses_allocator.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.task/futures.task.nonmembers/uses_allocator.pass.cpp
@@ -25,6 +25,7 @@
// : true_type { };
#include <future>
+#include "test_macros.h"
#include "test_allocator.h"
int main(int, char**)
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/default.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/default.pass.cpp
index 60ef645e3c9..d3dc86e3c40 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/default.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/default.pass.cpp
@@ -17,6 +17,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/dtor.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/dtor.pass.cpp
index ec27219daff..2f09ffa02da 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/dtor.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/dtor.pass.cpp
@@ -19,6 +19,7 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
#include "test_allocator.h"
int main(int, char**)
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/move_assign.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/move_assign.pass.cpp
index b0f0e2b5c54..a626ed870ad 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/move_assign.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/move_assign.pass.cpp
@@ -17,6 +17,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/move_ctor.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/move_ctor.pass.cpp
index aca5dda64f5..8ceb9e5a030 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/move_ctor.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/move_ctor.pass.cpp
@@ -17,6 +17,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/share.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/share.pass.cpp
index 979f93cccf7..bcf22cfb832 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/share.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/share.pass.cpp
@@ -18,6 +18,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/wait.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/wait.pass.cpp
index 11fc80868f6..956e62eb41a 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/wait.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/wait.pass.cpp
@@ -18,6 +18,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
void func1(std::promise<int> p)
{
std::this_thread::sleep_for(std::chrono::milliseconds(500));
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/wait_for.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/wait_for.pass.cpp
index 91f962fd18f..2bc05664681 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/wait_for.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/wait_for.pass.cpp
@@ -20,6 +20,8 @@
#include <future>
#include <cassert>
+#include "test_macros.h"
+
typedef std::chrono::milliseconds ms;
void func1(std::promise<int> p)
diff --git a/libcxx/test/std/thread/futures/futures.unique_future/wait_until.pass.cpp b/libcxx/test/std/thread/futures/futures.unique_future/wait_until.pass.cpp
index 28d9b638aed..5ff7da5779f 100644
--- a/libcxx/test/std/thread/futures/futures.unique_future/wait_until.pass.cpp
+++ b/libcxx/test/std/thread/futures/futures.unique_future/wait_until.pass.cpp
@@ -21,6 +21,8 @@
#include <atomic>
#include <cassert>
+#include "test_macros.h"
+
enum class WorkerThreadState { Uninitialized, AllowedToRun, Exiting };
typedef std::chrono::milliseconds ms;
diff --git a/libcxx/test/std/thread/macro.pass.cpp b/libcxx/test/std/thread/macro.pass.cpp
index 640db4aaa3e..0c16a0d0516 100644
--- a/libcxx/test/std/thread/macro.pass.cpp
+++ b/libcxx/test/std/thread/macro.pass.cpp
@@ -14,6 +14,8 @@
#include <thread>
+#include "test_macros.h"
+
int main(int, char**)
{
#ifndef __STDCPP_THREADS__
diff --git a/libcxx/test/std/thread/thread.condition/cv_status.pass.cpp b/libcxx/test/std/thread/thread.condition/cv_status.pass.cpp
index af980c3eed3..1de9bc7e221 100644
--- a/libcxx/test/std/thread/thread.condition/cv_status.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/cv_status.pass.cpp
@@ -15,6 +15,8 @@
#include <condition_variable>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
assert(static_cast<int>(std::cv_status::no_timeout) == 0);
diff --git a/libcxx/test/std/thread/thread.condition/notify_all_at_thread_exit.pass.cpp b/libcxx/test/std/thread/thread.condition/notify_all_at_thread_exit.pass.cpp
index 9a0e51e3bfc..8dd6d630a79 100644
--- a/libcxx/test/std/thread/thread.condition/notify_all_at_thread_exit.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/notify_all_at_thread_exit.pass.cpp
@@ -23,6 +23,8 @@
#include <chrono>
#include <cassert>
+#include "test_macros.h"
+
std::condition_variable cv;
std::mutex mut;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/default.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/default.pass.cpp
index aab97f9e14a..a734ce9d6b4 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/default.pass.cpp
@@ -17,6 +17,8 @@
#include <condition_variable>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
std::condition_variable cv;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/destructor.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/destructor.pass.cpp
index 6550109fd79..1c4eeb94d01 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/destructor.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/destructor.pass.cpp
@@ -19,6 +19,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
std::condition_variable* cv;
std::mutex m;
typedef std::unique_lock<std::mutex> Lock;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_all.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_all.pass.cpp
index 46c53a863f5..f0f614d1c24 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_all.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_all.pass.cpp
@@ -19,6 +19,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
std::condition_variable cv;
std::mutex mut;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_one.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_one.pass.cpp
index eb1de67db9f..07f9868177a 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_one.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_one.pass.cpp
@@ -20,6 +20,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
std::condition_variable cv;
std::mutex mut;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait.pass.cpp
index 03bcfeea94d..e89bb313b47 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait.pass.cpp
@@ -19,6 +19,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
std::condition_variable cv;
std::mutex mut;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
index 505997fff46..1bb74a30d45 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
@@ -25,6 +25,8 @@
#include <chrono>
#include <cassert>
+#include "test_macros.h"
+
std::condition_variable cv;
std::mutex mut;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
index e92ce4583c5..f3322b9b7c0 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
@@ -24,6 +24,8 @@
#include <chrono>
#include <cassert>
+#include "test_macros.h"
+
class Pred
{
int& i_;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_pred.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_pred.pass.cpp
index 0de8524ed1e..c4034fc2b21 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_pred.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_pred.pass.cpp
@@ -21,6 +21,8 @@
#include <functional>
#include <cassert>
+#include "test_macros.h"
+
std::condition_variable cv;
std::mutex mut;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp
index 7f1bdf827cb..12ccf3f1c06 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp
@@ -23,6 +23,8 @@
#include <chrono>
#include <cassert>
+#include "test_macros.h"
+
struct Clock
{
typedef std::chrono::milliseconds duration;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp
index f21b1b54bc6..fde6f98ab98 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp
@@ -26,6 +26,8 @@
#include <chrono>
#include <cassert>
+#include "test_macros.h"
+
struct Clock
{
typedef std::chrono::milliseconds duration;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/default.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/default.pass.cpp
index 0c35da0321b..29e8a8ed653 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/default.pass.cpp
@@ -17,6 +17,8 @@
#include <condition_variable>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
std::condition_variable_any cv;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/destructor.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/destructor.pass.cpp
index 35580d4293b..4b9d719ec5d 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/destructor.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/destructor.pass.cpp
@@ -19,6 +19,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
std::condition_variable_any* cv;
std::mutex m;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_all.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_all.pass.cpp
index d12c9360288..0a3328bca92 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_all.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_all.pass.cpp
@@ -19,6 +19,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
std::condition_variable_any cv;
typedef std::timed_mutex L0;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_one.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_one.pass.cpp
index 27a0f87e59f..38b0cba8fc1 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_one.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_one.pass.cpp
@@ -21,6 +21,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
std::condition_variable_any cv;
typedef std::timed_mutex L0;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait.pass.cpp
index a3b2e87c9e9..291fcad827d 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait.pass.cpp
@@ -20,6 +20,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
std::condition_variable_any cv;
typedef std::timed_mutex L0;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
index d472a698fec..a8e036d94da 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
@@ -24,6 +24,8 @@
#include <chrono>
#include <cassert>
+#include "test_macros.h"
+
std::condition_variable_any cv;
typedef std::timed_mutex L0;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
index cbf0193ade3..7b91efaa950 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
@@ -23,6 +23,8 @@
#include <chrono>
#include <cassert>
+#include "test_macros.h"
+
class Pred
{
int& i_;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_pred.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_pred.pass.cpp
index eafc434d0c2..41bcd80794e 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_pred.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_pred.pass.cpp
@@ -21,6 +21,8 @@
#include <functional>
#include <cassert>
+#include "test_macros.h"
+
std::condition_variable_any cv;
typedef std::timed_mutex L0;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp
index e14944906b7..de48880c768 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp
@@ -22,6 +22,8 @@
#include <chrono>
#include <cassert>
+#include "test_macros.h"
+
struct Clock
{
typedef std::chrono::milliseconds duration;
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp
index 5eb253a75fc..7cb48a6f68e 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp
@@ -26,6 +26,8 @@
#include <chrono>
#include <cassert>
+#include "test_macros.h"
+
struct Clock
{
typedef std::chrono::milliseconds duration;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp
index fc76eb34eb4..dc0719596c6 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp
@@ -21,6 +21,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::mutex m;
typedef std::chrono::system_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.pass.cpp
index b9cdb4dec5d..03d7351b4a5 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.pass.cpp
@@ -21,6 +21,8 @@
#include <mutex>
#include <type_traits>
+#include "test_macros.h"
+
int main(int, char**)
{
static_assert((std::is_same<std::lock_guard<std::mutex>::mutex_type,
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/default.pass.cpp
index dfa6ccb14b9..ace3e9d9acf 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/default.pass.cpp
@@ -19,6 +19,8 @@
#include <shared_mutex>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
std::shared_lock<std::shared_timed_mutex> ul;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp
index 616375ae146..8145a405b5e 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp
@@ -20,6 +20,8 @@
#include <cassert>
#include "nasty_containers.hpp"
+#include "test_macros.h"
+
int main(int, char**)
{
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp
index ebaa3b69bbc..ee5b55d63d9 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp
@@ -20,6 +20,8 @@
#include <cassert>
#include "nasty_containers.hpp"
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp
index 924ffed7d61..573fbfde721 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp
@@ -20,6 +20,8 @@
#include <cassert>
#include "nasty_containers.hpp"
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp
index afe2821e6c8..053b4dd423c 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp
@@ -20,6 +20,8 @@
#include <cassert>
#include "nasty_containers.hpp"
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.pass.cpp
index 0894648014b..630544b440f 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.pass.cpp
@@ -24,6 +24,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::shared_timed_mutex m;
typedef std::chrono::system_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/member_swap.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/member_swap.pass.cpp
index ce385ddbd66..010f02b40b9 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/member_swap.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/member_swap.pass.cpp
@@ -18,6 +18,8 @@
#include <shared_mutex>
#include <cassert>
+#include "test_macros.h"
+
struct mutex
{
void lock_shared() {}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/nonmember_swap.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/nonmember_swap.pass.cpp
index cec13f0f2f7..6e29856c477 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/nonmember_swap.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/nonmember_swap.pass.cpp
@@ -19,6 +19,8 @@
#include <shared_mutex>
#include <cassert>
+#include "test_macros.h"
+
struct mutex
{
void lock_shared() {}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/release.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/release.pass.cpp
index f2e5820cf0c..744ae278dae 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/release.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/release.pass.cpp
@@ -18,6 +18,8 @@
#include <shared_mutex>
#include <cassert>
+#include "test_macros.h"
+
struct mutex
{
static int lock_count;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/mutex.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/mutex.pass.cpp
index 6bbff79b7bc..3f792b5d26a 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/mutex.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/mutex.pass.cpp
@@ -19,6 +19,8 @@
#include <shared_mutex>
#include <cassert>
+#include "test_macros.h"
+
std::shared_timed_mutex m;
int main(int, char**)
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/op_bool.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/op_bool.pass.cpp
index b3b0165ac39..ec3d296beef 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/op_bool.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/op_bool.pass.cpp
@@ -19,6 +19,8 @@
#include <shared_mutex>
#include <cassert>
+#include "test_macros.h"
+
std::shared_timed_mutex m;
int main(int, char**)
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/owns_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/owns_lock.pass.cpp
index f401afad545..361f256b5c6 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/owns_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/owns_lock.pass.cpp
@@ -19,6 +19,8 @@
#include <shared_mutex>
#include <cassert>
+#include "test_macros.h"
+
std::shared_timed_mutex m;
int main(int, char**)
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/types.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/types.pass.cpp
index 44d19e8dbb4..7f98579f57f 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/types.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/types.pass.cpp
@@ -23,6 +23,8 @@
#include <shared_mutex>
#include <type_traits>
+#include "test_macros.h"
+
int main(int, char**)
{
static_assert((std::is_same<std::shared_lock<std::mutex>::mutex_type,
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/default.pass.cpp
index 74b26514102..7dc374c2323 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/default.pass.cpp
@@ -17,6 +17,8 @@
#include <mutex>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
std::unique_lock<std::mutex> ul;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp
index 1e663766b10..3fc00b5906a 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp
@@ -18,6 +18,8 @@
#include <cassert>
#include "nasty_containers.hpp"
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp
index 8ea0a1f2d46..f3440a98e30 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp
@@ -18,6 +18,8 @@
#include <cassert>
#include "nasty_containers.hpp"
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp
index d957c6d24b0..e599ca59f57 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp
@@ -18,6 +18,8 @@
#include <cassert>
#include "nasty_containers.hpp"
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp
index af6853160f6..1224a8c77ec 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp
@@ -18,6 +18,8 @@
#include <cassert>
#include "nasty_containers.hpp"
+#include "test_macros.h"
+
int main(int, char**)
{
{
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_duration.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_duration.pass.cpp
index 8699dd554af..110d2b91fcb 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_duration.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_duration.pass.cpp
@@ -22,6 +22,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::timed_mutex m;
typedef std::chrono::steady_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_time_point.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_time_point.pass.cpp
index ab46dacad3c..50d55427a95 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_time_point.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_time_point.pass.cpp
@@ -22,6 +22,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::timed_mutex m;
typedef std::chrono::steady_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp
index 448be8e7e14..3c068d01525 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp
@@ -19,6 +19,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::mutex m;
typedef std::chrono::system_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/member_swap.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/member_swap.pass.cpp
index 707755f59a8..8641bcbeab7 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/member_swap.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/member_swap.pass.cpp
@@ -17,6 +17,8 @@
#include <mutex>
#include <cassert>
+#include "test_macros.h"
+
struct mutex
{
void lock() {}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/nonmember_swap.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/nonmember_swap.pass.cpp
index 1c05657d6ba..ecb262009b5 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/nonmember_swap.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/nonmember_swap.pass.cpp
@@ -18,6 +18,8 @@
#include <mutex>
#include <cassert>
+#include "test_macros.h"
+
struct mutex
{
void lock() {}
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/release.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/release.pass.cpp
index 9751149b9bd..eb26114bb10 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/release.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/release.pass.cpp
@@ -17,6 +17,8 @@
#include <mutex>
#include <cassert>
+#include "test_macros.h"
+
struct mutex
{
static int lock_count;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/mutex.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/mutex.pass.cpp
index 899f965dfe1..f9f3050b096 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/mutex.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/mutex.pass.cpp
@@ -17,6 +17,8 @@
#include <mutex>
#include <cassert>
+#include "test_macros.h"
+
std::mutex m;
int main(int, char**)
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/op_bool.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/op_bool.pass.cpp
index 1affe8deb19..681fc4ba5d7 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/op_bool.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/op_bool.pass.cpp
@@ -17,6 +17,8 @@
#include <mutex>
#include <cassert>
+#include "test_macros.h"
+
std::mutex m;
int main(int, char**)
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/owns_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/owns_lock.pass.cpp
index 2c5496b294b..c25e9a21768 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/owns_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/owns_lock.pass.cpp
@@ -17,6 +17,8 @@
#include <mutex>
#include <cassert>
+#include "test_macros.h"
+
std::mutex m;
int main(int, char**)
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.pass.cpp
index 7dc093ac639..85aa6f5d75e 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.pass.cpp
@@ -21,6 +21,8 @@
#include <mutex>
#include <type_traits>
+#include "test_macros.h"
+
int main(int, char**)
{
static_assert((std::is_same<std::unique_lock<std::mutex>::mutex_type,
diff --git a/libcxx/test/std/thread/thread.mutex/thread.lock/types.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.lock/types.pass.cpp
index 150d9b4aafc..84c39baafa6 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.lock/types.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.lock/types.pass.cpp
@@ -21,6 +21,8 @@
#include <mutex>
#include <type_traits>
+#include "test_macros.h"
+
int main(int, char**)
{
typedef std::defer_lock_t T1;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp
index b5a608eeb0c..e2fd416b6e4 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp
@@ -17,6 +17,8 @@
#include <mutex>
#include <type_traits>
+#include "test_macros.h"
+
int main(int, char**)
{
static_assert(std::is_nothrow_default_constructible<std::mutex>::value, "");
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp
index 6999792d796..d955ccbe088 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp
@@ -21,6 +21,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::mutex m;
typedef std::chrono::system_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp
index 71221558331..c5abe771724 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp
@@ -19,6 +19,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::mutex m;
typedef std::chrono::system_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/default.pass.cpp
index e32c92f0c97..2e27d157f26 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/default.pass.cpp
@@ -16,6 +16,8 @@
#include <mutex>
+#include "test_macros.h"
+
int main(int, char**)
{
std::recursive_mutex m;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp
index 12ce0e2ce6f..70061936bfd 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp
@@ -19,6 +19,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::recursive_mutex m;
typedef std::chrono::system_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp
index 092343fe752..8a133c11146 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp
@@ -19,6 +19,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::recursive_mutex m;
typedef std::chrono::system_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp
index ecd29b7485a..e6d35f40eec 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/default.pass.cpp
@@ -17,6 +17,8 @@
#include <shared_mutex>
+#include "test_macros.h"
+
int main(int, char**)
{
std::shared_mutex m;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp
index 9d6b558ffe1..ad2094b1f65 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp
@@ -22,6 +22,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::shared_mutex m;
typedef std::chrono::system_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp
index b9538b56497..fb605f6db57 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp
@@ -23,6 +23,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::shared_mutex m;
typedef std::chrono::system_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp
index 83b30b98dd9..7b128e51963 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp
@@ -17,6 +17,8 @@
#include <shared_mutex>
+#include "test_macros.h"
+
int main(int, char**)
{
std::shared_timed_mutex m;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp
index 6b2d9a543e5..9932bd45b68 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp
@@ -20,6 +20,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::shared_timed_mutex m;
typedef std::chrono::system_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until_deadlock_bug.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until_deadlock_bug.pass.cpp
index 865ab92545a..d17d91b9e72 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until_deadlock_bug.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until_deadlock_bug.pass.cpp
@@ -21,6 +21,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::shared_timed_mutex m;
const int total_readers = 2;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp
index c879f192ee1..8485d73c037 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp
@@ -16,6 +16,8 @@
#include <mutex>
+#include "test_macros.h"
+
int main(int, char**)
{
std::timed_mutex m;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp
index c775b3f5386..baa1939420e 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp
@@ -19,6 +19,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::timed_mutex m;
typedef std::chrono::system_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp
index 7398b7f6d0b..769b22e4685 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp
@@ -19,6 +19,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::timed_mutex m;
typedef std::chrono::system_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp
index 0103cdf6419..e6f5455940e 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp
@@ -20,6 +20,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::timed_mutex m;
typedef std::chrono::steady_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp
index 350bb767d48..1074904a452 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp
@@ -20,6 +20,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::timed_mutex m;
typedef std::chrono::steady_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp
index ee6124c027b..028a98a8497 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp
@@ -16,6 +16,8 @@
#include <mutex>
+#include "test_macros.h"
+
int main(int, char**)
{
std::recursive_timed_mutex m;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp
index ac478598596..3dabae3b5a9 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp
@@ -21,6 +21,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::recursive_timed_mutex m;
typedef std::chrono::system_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp
index 05b22c0deb1..d5517b18a12 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp
@@ -19,6 +19,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::recursive_timed_mutex m;
typedef std::chrono::system_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp
index 9e5ad5ee9a5..8d58a6623e9 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp
@@ -20,6 +20,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::recursive_timed_mutex m;
typedef std::chrono::steady_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp
index f6b9d106a1b..fa8c9ae704f 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp
@@ -20,6 +20,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
std::recursive_timed_mutex m;
typedef std::chrono::steady_clock Clock;
diff --git a/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/race.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/race.pass.cpp
index 511aa3e804b..4ff0274c17a 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/race.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/race.pass.cpp
@@ -23,6 +23,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
std::once_flag flg0;
long global = 0;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.algorithm/swap.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.algorithm/swap.pass.cpp
index 68f20d7532b..f2cbba6bda5 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.algorithm/swap.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.algorithm/swap.pass.cpp
@@ -19,6 +19,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
class G
{
int alive_;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move.pass.cpp
index cbc32c8c2ce..c42c1d07b78 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move.pass.cpp
@@ -17,6 +17,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
class G
{
int alive_;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move2.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move2.pass.cpp
index 81c6d77e8a7..1d76eefc393 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move2.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move2.pass.cpp
@@ -20,6 +20,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
class G
{
int alive_;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/default.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/default.pass.cpp
index 135d3ceba99..2e3af5d14fb 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/default.pass.cpp
@@ -17,6 +17,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
std::thread t;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/move.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/move.pass.cpp
index 25703b2c3ca..ac606085d60 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/move.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/move.pass.cpp
@@ -19,6 +19,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
class G
{
int alive_;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.destr/dtor.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.destr/dtor.pass.cpp
index 320b4459b94..34e0e51b120 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.destr/dtor.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.destr/dtor.pass.cpp
@@ -20,6 +20,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
class G
{
int alive_;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/assign.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/assign.pass.cpp
index fb4b7eb5ae0..fddc9538b2f 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/assign.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/assign.pass.cpp
@@ -17,6 +17,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
std::thread::id id0;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/copy.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/copy.pass.cpp
index f95617b4f53..7da109752b9 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/copy.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/copy.pass.cpp
@@ -17,6 +17,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
std::thread::id id0;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/default.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/default.pass.cpp
index 32a083ca8aa..4d2bcfaee6e 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/default.pass.cpp
@@ -17,6 +17,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
std::thread::id id;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp
index 3858508e1c9..48cb83b546d 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp
@@ -18,6 +18,8 @@
#include "poisoned_hash_helper.hpp"
+#include "test_macros.h"
+
int main(int, char**) {
test_library_hash_specializations_available();
{
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/eq.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/eq.pass.cpp
index 5c557fddc7f..e58f1d7d0d4 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/eq.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/eq.pass.cpp
@@ -18,6 +18,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
std::thread::id id0;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/lt.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/lt.pass.cpp
index 8af73045a79..3ef7f362532 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/lt.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/lt.pass.cpp
@@ -20,6 +20,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
std::thread::id id0;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp
index a1541c12e22..9f1f18dd664 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp
@@ -20,6 +20,8 @@
#include <sstream>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
std::thread::id id0 = std::this_thread::get_id();
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp
index 006bc1e65c4..676666c3426 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp
@@ -19,6 +19,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
class G
{
int alive_;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp
index 6f1308cbad0..a2ffe8bb19a 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp
@@ -19,6 +19,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
class G
{
int alive_;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp
index f43805d7fe6..a1ab4781d95 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp
@@ -19,6 +19,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
class G
{
int alive_;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp
index 5493f27a494..65e99e015af 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp
@@ -17,6 +17,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
assert(std::thread::hardware_concurrency() > 0);
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.this/get_id.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.this/get_id.pass.cpp
index 1bf46cdb54f..4149f5a43a6 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.this/get_id.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.this/get_id.pass.cpp
@@ -15,6 +15,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
std::thread::id id = std::this_thread::get_id();
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_until.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_until.pass.cpp
index c73144db0c1..16fb12e79e1 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_until.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.this/sleep_until.pass.cpp
@@ -18,6 +18,8 @@
#include <cstdlib>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
typedef std::chrono::system_clock Clock;
diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.this/yield.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.this/yield.pass.cpp
index 6f772b5c286..bcb1a2f0f87 100644
--- a/libcxx/test/std/thread/thread.threads/thread.thread.this/yield.pass.cpp
+++ b/libcxx/test/std/thread/thread.threads/thread.thread.this/yield.pass.cpp
@@ -15,6 +15,8 @@
#include <thread>
#include <cassert>
+#include "test_macros.h"
+
int main(int, char**)
{
std::this_thread::yield();
OpenPOWER on IntegriCloud