diff options
author | Eric Fiselier <eric@efcs.ca> | 2014-12-20 01:40:03 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2014-12-20 01:40:03 +0000 |
commit | 5a83710e371fe68a06e6e3876c6a2c8b820a8976 (patch) | |
tree | afde4c82ad6704681781c5cd49baa3fbd05c85db /libcxx/test/thread/thread.threads/thread.thread.class | |
parent | f11e8eab527fba316c64112f6e05de1a79693a3e (diff) | |
download | bcm5719-llvm-5a83710e371fe68a06e6e3876c6a2c8b820a8976.tar.gz bcm5719-llvm-5a83710e371fe68a06e6e3876c6a2c8b820a8976.zip |
Move test into test/std subdirectory.
llvm-svn: 224658
Diffstat (limited to 'libcxx/test/thread/thread.threads/thread.thread.class')
25 files changed, 0 insertions, 1242 deletions
diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.algorithm/swap.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.algorithm/swap.pass.cpp deleted file mode 100644 index 476ca0c4ed2..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.algorithm/swap.pass.cpp +++ /dev/null @@ -1,57 +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& x, thread& y); - -#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() -{ - { - std::thread t0((G())); - std::thread::id id0 = t0.get_id(); - std::thread t1; - std::thread::id id1 = t1.get_id(); - swap(t0, t1); - assert(t0.get_id() == id1); - assert(t1.get_id() == id0); - t1.join(); - } -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.assign/copy.fail.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.assign/copy.fail.cpp deleted file mode 100644 index 7373886f617..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.assign/copy.fail.cpp +++ /dev/null @@ -1,51 +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. -// -//===----------------------------------------------------------------------===// - -// <thread> - -// class thread - -// thread& operator=(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() -{ - { - std::thread t0(G()); - std::thread t1; - t1 = t0; - } -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.assign/move.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.assign/move.pass.cpp deleted file mode 100644 index 94a30e74218..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.assign/move.pass.cpp +++ /dev/null @@ -1,62 +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 - -// thread& operator=(thread&& t); - -#include <thread> -#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()(int i, double j) - { - assert(alive_ == 1); - assert(n_alive >= 1); - assert(i == 5); - assert(j == 5.5); - op_run = true; - } -}; - -int G::n_alive = 0; -bool G::op_run = false; - -int main() -{ -#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES - { - assert(G::n_alive == 0); - assert(!G::op_run); - std::thread t0(G(), 5, 5.5); - std::thread::id id = t0.get_id(); - std::thread t1; - t1 = std::move(t0); - assert(t1.get_id() == id); - assert(t0.get_id() == std::thread::id()); - t1.join(); - assert(G::n_alive == 0); - assert(G::op_run); - } -#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.assign/move2.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.assign/move2.pass.cpp deleted file mode 100644 index 8cb2cb17cd3..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.assign/move2.pass.cpp +++ /dev/null @@ -1,75 +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 - -// NOTE: std::terminate is called so the destructors are not invoked and the -// memory is not freed. This will cause ASAN to fail. -// XFAIL: asan - -// <thread> - -// class thread - -// thread& operator=(thread&& t); - -#include <thread> -#include <exception> -#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; - } - - void operator()(int i, double j) - { - assert(alive_ == 1); - assert(n_alive >= 1); - assert(i == 5); - assert(j == 5.5); - op_run = true; - } -}; - -int G::n_alive = 0; -bool G::op_run = false; - -void f1() -{ - std::exit(0); -} - -int main() -{ -#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES - std::set_terminate(f1); - { - std::thread t0(G(), 5, 5.5); - std::thread::id id = t0.get_id(); - std::thread t1; - t0 = std::move(t1); - assert(false); - } -#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp deleted file mode 100644 index 0f5d5aa4082..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp +++ /dev/null @@ -1,154 +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 - -// template <class F, class ...Args> thread(F&& f, Args&&... args); - -// UNSUPPORTED: asan, msan - -#include <thread> -#include <new> -#include <cstdlib> -#include <cassert> - -unsigned throw_one = 0xFFFF; - -void* operator new(std::size_t s) throw(std::bad_alloc) -{ - if (throw_one == 0) - throw std::bad_alloc(); - --throw_one; - return std::malloc(s); -} - -void operator delete(void* p) throw() -{ - std::free(p); -} - -bool f_run = false; - -void f() -{ - f_run = true; -} - -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; - } - - void operator()(int i, double j) - { - assert(alive_ == 1); - assert(n_alive >= 1); - assert(i == 5); - assert(j == 5.5); - op_run = true; - } -}; - -int G::n_alive = 0; -bool G::op_run = false; - -#ifndef _LIBCPP_HAS_NO_VARIADICS - -class MoveOnly -{ - MoveOnly(const MoveOnly&); -public: - MoveOnly() {} - MoveOnly(MoveOnly&&) {} - - void operator()(MoveOnly&&) - { - } -}; - -#endif - -int main() -{ - { - std::thread t(f); - t.join(); - assert(f_run == true); - } - f_run = false; - { - try - { - throw_one = 0; - std::thread t(f); - assert(false); - } - catch (...) - { - throw_one = 0xFFFF; - assert(!f_run); - } - } - { - assert(G::n_alive == 0); - assert(!G::op_run); - std::thread t((G())); - t.join(); - assert(G::n_alive == 0); - assert(G::op_run); - } - G::op_run = false; - { - try - { - throw_one = 0; - assert(G::n_alive == 0); - assert(!G::op_run); - std::thread t((G())); - assert(false); - } - catch (...) - { - throw_one = 0xFFFF; - assert(G::n_alive == 0); - assert(!G::op_run); - } - } -#ifndef _LIBCPP_HAS_NO_VARIADICS - { - assert(G::n_alive == 0); - assert(!G::op_run); - std::thread t(G(), 5, 5.5); - t.join(); - assert(G::n_alive == 0); - assert(G::op_run); - } - { - std::thread t = std::thread(MoveOnly(), MoveOnly()); - t.join(); - } -#endif // _LIBCPP_HAS_NO_VARIADICS -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.constr/constr.fail.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.constr/constr.fail.cpp deleted file mode 100644 index a331add9626..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.constr/constr.fail.cpp +++ /dev/null @@ -1,26 +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. -// -//===----------------------------------------------------------------------===// - -// <thread> - -// class thread -// template <class _Fp, class ..._Args, -// explicit thread(_Fp&& __f, _Args&&... __args); -// This constructor shall not participate in overload resolution -// if decay<F>::type is the same type as std::thread. - - -#include <thread> -#include <cassert> - -int main() -{ - volatile std::thread t1; - std::thread t2 ( t1, 1, 2.0 ); -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.constr/copy.fail.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.constr/copy.fail.cpp deleted file mode 100644 index f66474c93b4..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.constr/copy.fail.cpp +++ /dev/null @@ -1,66 +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. -// -//===----------------------------------------------------------------------===// - -// <thread> - -// class thread - -// thread(const thread&) = delete; - -#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; - } - - void operator()(int i, double j) - { - assert(alive_ == 1); - assert(n_alive >= 1); - assert(i == 5); - assert(j == 5.5); - op_run = true; - } -}; - -int G::n_alive = 0; -bool G::op_run = false; - -int main() -{ - { - assert(G::n_alive == 0); - assert(!G::op_run); - std::thread t0(G(), 5, 5.5); - std::thread::id id = t0.get_id(); - std::thread t1 = t0; - assert(t1.get_id() == id); - assert(t0.get_id() == std::thread::id()); - t1.join(); - assert(G::n_alive == 0); - assert(G::op_run); - } -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.constr/default.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.constr/default.pass.cpp deleted file mode 100644 index 64d5a935ba5..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.constr/default.pass.cpp +++ /dev/null @@ -1,25 +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 - -// thread(); - -#include <thread> -#include <cassert> - -int main() -{ - std::thread t; - assert(t.get_id() == std::thread::id()); -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.constr/move.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.constr/move.pass.cpp deleted file mode 100644 index 36e0fbd7b59..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.constr/move.pass.cpp +++ /dev/null @@ -1,70 +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 - -// thread(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; - } - - void operator()(int i, double j) - { - assert(alive_ == 1); - assert(n_alive >= 1); - assert(i == 5); - assert(j == 5.5); - op_run = true; - } -}; - -int G::n_alive = 0; -bool G::op_run = false; - -int main() -{ -#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES - { - assert(G::n_alive == 0); - assert(!G::op_run); - std::thread t0(G(), 5, 5.5); - std::thread::id id = t0.get_id(); - std::thread t1 = std::move(t0); - assert(t1.get_id() == id); - assert(t0.get_id() == std::thread::id()); - t1.join(); - assert(G::n_alive == 0); - assert(G::op_run); - } -#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.destr/dtor.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.destr/dtor.pass.cpp deleted file mode 100644 index 20c8da1de92..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.destr/dtor.pass.cpp +++ /dev/null @@ -1,60 +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 - -// ~thread(); - -#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; - -void f1() -{ - std::exit(0); -} - -int main() -{ - std::set_terminate(f1); - { - assert(G::n_alive == 0); - assert(!G::op_run); - std::thread t((G())); - std::this_thread::sleep_for(std::chrono::milliseconds(250)); - } - assert(false); -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/assign.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/assign.pass.cpp deleted file mode 100644 index 585f7ea98a0..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/assign.pass.cpp +++ /dev/null @@ -1,29 +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 - -// id& operator=(const id&) = default; - -#include <thread> -#include <cassert> - -int main() -{ - std::thread::id id0; - std::thread::id id1; - id1 = id0; - assert(id1 == id0); - id1 = std::this_thread::get_id(); - assert(id1 != id0); -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/copy.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/copy.pass.cpp deleted file mode 100644 index e8c38016b28..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/copy.pass.cpp +++ /dev/null @@ -1,26 +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 - -// id(const id&) = default; - -#include <thread> -#include <cassert> - -int main() -{ - std::thread::id id0; - std::thread::id id1 = id0; - assert(id1 == id0); -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/default.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/default.pass.cpp deleted file mode 100644 index 0037deb1dd6..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/default.pass.cpp +++ /dev/null @@ -1,25 +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 - -// id(); - -#include <thread> -#include <cassert> - -int main() -{ - std::thread::id id; - assert(id == std::thread::id()); -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/eq.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/eq.pass.cpp deleted file mode 100644 index 6dd4c3ec4f5..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/eq.pass.cpp +++ /dev/null @@ -1,32 +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 - -// bool operator==(thread::id x, thread::id y); -// bool operator!=(thread::id x, thread::id y); - -#include <thread> -#include <cassert> - -int main() -{ - std::thread::id id0; - std::thread::id id1; - id1 = id0; - assert( (id1 == id0)); - assert(!(id1 != id0)); - id1 = std::this_thread::get_id(); - assert(!(id1 == id0)); - assert( (id1 != id0)); -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/lt.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/lt.pass.cpp deleted file mode 100644 index de52b1d00cd..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/lt.pass.cpp +++ /dev/null @@ -1,43 +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 - -// bool operator< (thread::id x, thread::id y); -// bool operator<=(thread::id x, thread::id y); -// bool operator> (thread::id x, thread::id y); -// bool operator>=(thread::id x, thread::id y); - -#include <thread> -#include <cassert> - -int main() -{ - std::thread::id id0; - std::thread::id id1; - std::thread::id id2 = std::this_thread::get_id(); - assert(!(id0 < id1)); - assert( (id0 <= id1)); - assert(!(id0 > id1)); - assert( (id0 >= id1)); - assert(!(id0 == id2)); - if (id0 < id2) { - assert( (id0 <= id2)); - assert(!(id0 > id2)); - assert(!(id0 >= id2)); - } else { - assert(!(id0 <= id2)); - assert( (id0 > id2)); - assert( (id0 >= id2)); - } -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp deleted file mode 100644 index 126965fe3fc..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp +++ /dev/null @@ -1,29 +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 - -// template<class charT, class traits> -// basic_ostream<charT, traits>& -// operator<<(basic_ostream<charT, traits>& out, thread::id id); - -#include <thread> -#include <sstream> -#include <cassert> - -int main() -{ - std::thread::id id0 = std::this_thread::get_id(); - std::ostringstream os; - os << id0; -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/thread_id.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/thread_id.pass.cpp deleted file mode 100644 index bb7f2aa0dc2..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.id/thread_id.pass.cpp +++ /dev/null @@ -1,33 +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 - -// <functional> - -// template <class T> -// struct hash -// : public unary_function<T, size_t> -// { -// size_t operator()(T val) const; -// }; - -// Not very portable - -#include <thread> -#include <cassert> - -int main() -{ - std::thread::id id1; - std::thread::id id2 = std::this_thread::get_id(); - typedef std::hash<std::thread::id> H; - H h; - assert(h(id1) != h(id2)); -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/detach.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/detach.pass.cpp deleted file mode 100644 index 5a312324400..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/detach.pass.cpp +++ /dev/null @@ -1,56 +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 <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() -{ - { - std::thread t0((G())); - assert(t0.joinable()); - t0.detach(); - assert(!t0.joinable()); - std::this_thread::sleep_for(std::chrono::milliseconds(250)); - assert(G::op_run); - assert(G::n_alive == 0); - } -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp deleted file mode 100644 index a5ea55a5549..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp +++ /dev/null @@ -1,56 +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() -{ - { - 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() != id1); - assert(t1.get_id() == std::thread::id()); - t0.join(); - } -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/join.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/join.pass.cpp deleted file mode 100644 index 2559303e142..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/join.pass.cpp +++ /dev/null @@ -1,53 +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> - -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() -{ - { - std::thread t0((G())); - assert(t0.joinable()); - t0.join(); - assert(!t0.joinable()); - } -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp deleted file mode 100644 index 351c1cf45b2..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp +++ /dev/null @@ -1,53 +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() -{ - { - std::thread t0((G())); - assert(t0.joinable()); - t0.join(); - assert(!t0.joinable()); - } -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/native_handle.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/native_handle.pass.cpp deleted file mode 100644 index 37c2d9c9bac..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/native_handle.pass.cpp +++ /dev/null @@ -1,53 +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 - -// native_handle_type native_handle(); - -#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() -{ - { - std::thread t0((G())); - pthread_t pid = t0.native_handle(); - assert(pid != 0); - t0.join(); - } -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp deleted file mode 100644 index e8dede17b5d..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp +++ /dev/null @@ -1,57 +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() -{ - { - 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(); - } -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp deleted file mode 100644 index 4d1ffad4593..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp +++ /dev/null @@ -1,24 +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 - -// unsigned hardware_concurrency(); - -#include <thread> -#include <cassert> - -int main() -{ - assert(std::thread::hardware_concurrency() > 0); -} diff --git a/libcxx/test/thread/thread.threads/thread.thread.class/types.pass.cpp b/libcxx/test/thread/thread.threads/thread.thread.class/types.pass.cpp deleted file mode 100644 index a5bf77031cc..00000000000 --- a/libcxx/test/thread/thread.threads/thread.thread.class/types.pass.cpp +++ /dev/null @@ -1,27 +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 -// { -// public: -// typedef pthread_t native_handle_type; -// ... -// }; - -#include <thread> -#include <type_traits> - -int main() -{ - static_assert((std::is_same<std::thread::native_handle_type, pthread_t>::value), ""); -} |