patch by Jesse Towner, and bug fix by Sebastian Redl

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@110724 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/thread b/include/thread
index 5fcd2c9..6bf3189 100644
--- a/include/thread
+++ b/include/thread
@@ -178,9 +178,12 @@
 {
     pthread_t __t_;
 
-#ifndef _LIBCPP_MOVE
-    thread(const thread&); // = delete;
-    thread& operator=(const thread&); // = delete;
+#ifndef _LIBCPP_HAS_NO_DELETED_FUNCTIONS
+    thread(const thread&) = delete;
+    thread& operator=(const thread&) = delete;
+#else
+    thread(const thread&);
+    thread& operator=(const thread&);
 #endif
 public:
     typedef __thread_id id;
@@ -201,9 +204,7 @@
     ~thread();
 
 #ifdef _LIBCPP_MOVE
-    thread(const thread&) = delete;
     thread(thread&& __t) : __t_(__t.__t_) {__t.__t_ = 0;}
-    thread& operator=(const thread&) = delete;
     thread& operator=(thread&& __t);
 #endif