From b7332b04df5d50c92640c74cfeb138ecb7e3f7ae Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Tue, 20 Aug 2019 18:01:01 +0000 Subject: Remove upstream files and directories from vendor/libc++/dist that we do not use. This saves on repository space, and reduces the number of tree conflicts when merging. --- .../thread.thread.member/detach.pass.cpp | 90 ---------------------- 1 file changed, 90 deletions(-) delete mode 100644 test/std/thread/thread.threads/thread.thread.class/thread.thread.member/detach.pass.cpp (limited to 'test/std/thread/thread.threads/thread.thread.class/thread.thread.member/detach.pass.cpp') 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 - -// - -// class thread - -// void detach(); - -#include -#include -#include -#include - -#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 -} -- cgit v1.3