Convert __thread_local_data to the singleton pattern

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@116500 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/future b/include/future
index d482577..5e53a96 100644
--- a/include/future
+++ b/include/future
@@ -677,7 +677,7 @@
         throw future_error(make_error_code(future_errc::promise_already_satisfied));
     ::new(&__value_) _R(_STD::forward<_Arg>(__arg));
     this->__state_ |= base::__constructed;
-    __thread_local_data->__make_ready_at_thread_exit(this);
+    __thread_local_data()->__make_ready_at_thread_exit(this);
     __lk.unlock();
 }
 
@@ -750,7 +750,7 @@
         throw future_error(make_error_code(future_errc::promise_already_satisfied));
     __value_ = &__arg;
     this->__state_ |= base::__constructed;
-    __thread_local_data->__make_ready_at_thread_exit(this);
+    __thread_local_data()->__make_ready_at_thread_exit(this);
     __lk.unlock();
 }