Convert __thread_local_data to the singleton pattern

llvm-svn: 116500
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 10e4a48a2666d48f9acf8ed6494a863463c90183
diff --git a/src/future.cpp b/src/future.cpp
index 29b5864..f291fe5 100644
--- a/src/future.cpp
+++ b/src/future.cpp
@@ -83,7 +83,7 @@
     if (__has_value())
         throw future_error(make_error_code(future_errc::promise_already_satisfied));
     __state_ |= __constructed;
-    __thread_local_data->__make_ready_at_thread_exit(this);
+    __thread_local_data()->__make_ready_at_thread_exit(this);
     __lk.unlock();
 }
 
@@ -106,7 +106,7 @@
     if (__has_value())
         throw future_error(make_error_code(future_errc::promise_already_satisfied));
     __exception_ = __p;
-    __thread_local_data->__make_ready_at_thread_exit(this);
+    __thread_local_data()->__make_ready_at_thread_exit(this);
     __lk.unlock();
 }