aboutsummaryrefslogtreecommitdiff
path: root/test/std/thread/thread.threads/thread.thread.class/thread.thread.member
diff options
context:
space:
mode:
Diffstat (limited to 'test/std/thread/thread.threads/thread.thread.class/thread.thread.member')
-rw-r--r--test/std/thread/thread.threads/thread.thread.class/thread.thread.member/detach.pass.cpp90
-rw-r--r--test/std/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp58
-rw-r--r--test/std/thread/thread.threads/thread.thread.class/thread.thread.member/join.pass.cpp77
-rw-r--r--test/std/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp54
-rw-r--r--test/std/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp58
5 files changed, 0 insertions, 337 deletions
diff --git a/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/detach.pass.cpp b/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/detach.pass.cpp
deleted file mode 100644
index 3dd7c6a6014c..000000000000
--- a/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/detach.pass.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// UNSUPPORTED: libcpp-has-no-threads
-
-// <thread>
-
-// class thread
-
-// void detach();
-
-#include <thread>
-#include <atomic>
-#include <system_error>
-#include <cassert>
-
-#include "test_macros.h"
-
-std::atomic_bool done(false);
-
-class G
-{
- int alive_;
- bool done_;
-public:
- static int n_alive;
- static bool op_run;
-
- G() : alive_(1), done_(false)
- {
- ++n_alive;
- }
-
- G(const G& g) : alive_(g.alive_), done_(false)
- {
- ++n_alive;
- }
- ~G()
- {
- alive_ = 0;
- --n_alive;
- if (done_) done = true;
- }
-
- void operator()()
- {
- assert(alive_ == 1);
- assert(n_alive >= 1);
- op_run = true;
- done_ = true;
- }
-};
-
-int G::n_alive = 0;
-bool G::op_run = false;
-
-void foo() {}
-
-int main()
-{
- {
- G g;
- std::thread t0(g);
- assert(t0.joinable());
- t0.detach();
- assert(!t0.joinable());
- while (!done) {}
- assert(G::op_run);
- assert(G::n_alive == 1);
- }
- assert(G::n_alive == 0);
-#ifndef TEST_HAS_NO_EXCEPTIONS
- {
- std::thread t0(foo);
- assert(t0.joinable());
- t0.detach();
- assert(!t0.joinable());
- try {
- t0.detach();
- } catch (std::system_error const&) {
- }
- }
-#endif
-}
diff --git a/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp b/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp
deleted file mode 100644
index f9f38c85f0e9..000000000000
--- a/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// UNSUPPORTED: libcpp-has-no-threads
-
-// <thread>
-
-// class thread
-
-// id get_id() const;
-
-#include <thread>
-#include <new>
-#include <cstdlib>
-#include <cassert>
-
-class G
-{
- int alive_;
-public:
- static int n_alive;
- static bool op_run;
-
- G() : alive_(1) {++n_alive;}
- G(const G& g) : alive_(g.alive_) {++n_alive;}
- ~G() {alive_ = 0; --n_alive;}
-
- void operator()()
- {
- assert(alive_ == 1);
- assert(n_alive >= 1);
- op_run = true;
- }
-};
-
-int G::n_alive = 0;
-bool G::op_run = false;
-
-int main()
-{
- {
- G g;
- std::thread t0(g);
- std::thread::id id0 = t0.get_id();
- std::thread t1;
- std::thread::id id1 = t1.get_id();
- assert(t0.get_id() == id0);
- assert(id0 != id1);
- assert(t1.get_id() == std::thread::id());
- t0.join();
- }
-}
diff --git a/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/join.pass.cpp b/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/join.pass.cpp
deleted file mode 100644
index f0c3ef74c9ab..000000000000
--- a/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/join.pass.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// UNSUPPORTED: libcpp-has-no-threads
-
-// <thread>
-
-// class thread
-
-// void join();
-
-#include <thread>
-#include <new>
-#include <cstdlib>
-#include <cassert>
-#include <system_error>
-
-#include "test_macros.h"
-
-class G
-{
- int alive_;
-public:
- static int n_alive;
- static bool op_run;
-
- G() : alive_(1) {++n_alive;}
- G(const G& g) : alive_(g.alive_) {++n_alive;}
- ~G() {alive_ = 0; --n_alive;}
-
- void operator()()
- {
- assert(alive_ == 1);
- assert(n_alive >= 1);
- op_run = true;
- }
-};
-
-int G::n_alive = 0;
-bool G::op_run = false;
-
-void foo() {}
-
-int main()
-{
- {
- G g;
- std::thread t0(g);
- assert(t0.joinable());
- t0.join();
- assert(!t0.joinable());
-#ifndef TEST_HAS_NO_EXCEPTIONS
- try {
- t0.join();
- assert(false);
- } catch (std::system_error const&) {
- }
-#endif
- }
-#ifndef TEST_HAS_NO_EXCEPTIONS
- {
- std::thread t0(foo);
- t0.detach();
- try {
- t0.join();
- assert(false);
- } catch (std::system_error const&) {
- }
- }
-#endif
-}
diff --git a/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp b/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp
deleted file mode 100644
index b97839c32184..000000000000
--- a/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// UNSUPPORTED: libcpp-has-no-threads
-
-// <thread>
-
-// class thread
-
-// bool joinable() const;
-
-#include <thread>
-#include <new>
-#include <cstdlib>
-#include <cassert>
-
-class G
-{
- int alive_;
-public:
- static int n_alive;
- static bool op_run;
-
- G() : alive_(1) {++n_alive;}
- G(const G& g) : alive_(g.alive_) {++n_alive;}
- ~G() {alive_ = 0; --n_alive;}
-
- void operator()()
- {
- assert(alive_ == 1);
- assert(n_alive >= 1);
- op_run = true;
- }
-};
-
-int G::n_alive = 0;
-bool G::op_run = false;
-
-int main()
-{
- {
- G g;
- std::thread t0(g);
- assert(t0.joinable());
- t0.join();
- assert(!t0.joinable());
- }
-}
diff --git a/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp b/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp
deleted file mode 100644
index 49d4618e86ad..000000000000
--- a/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// UNSUPPORTED: libcpp-has-no-threads
-
-// <thread>
-
-// class thread
-
-// void swap(thread& t);
-
-#include <thread>
-#include <new>
-#include <cstdlib>
-#include <cassert>
-
-class G
-{
- int alive_;
-public:
- static int n_alive;
- static bool op_run;
-
- G() : alive_(1) {++n_alive;}
- G(const G& g) : alive_(g.alive_) {++n_alive;}
- ~G() {alive_ = 0; --n_alive;}
-
- void operator()()
- {
- assert(alive_ == 1);
- assert(n_alive >= 1);
- op_run = true;
- }
-};
-
-int G::n_alive = 0;
-bool G::op_run = false;
-
-int main()
-{
- {
- G g;
- std::thread t0(g);
- std::thread::id id0 = t0.get_id();
- std::thread t1;
- std::thread::id id1 = t1.get_id();
- t0.swap(t1);
- assert(t0.get_id() == id1);
- assert(t1.get_id() == id0);
- t1.join();
- }
-}