LWG issue 2143: ios_base::xalloc should be thread-safe
llvm-svn: 192539
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: f28fd284f86b621fd721ac455d98feb9b349ec16
diff --git a/include/ios b/include/ios
index 5c96a95..227e392 100644
--- a/include/ios
+++ b/include/ios
@@ -216,6 +216,10 @@
#include <__locale>
#include <system_error>
+#if __has_feature(cxx_atomic)
+#include <atomic> // for __xindex_
+#endif
+
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#pragma GCC system_header
#endif
@@ -363,7 +367,11 @@
int* __index_;
size_t __event_size_;
size_t __event_cap_;
+#if __has_feature(cxx_atomic)
+ static atomic<int> __xindex_;
+#else
static int __xindex_;
+#endif
long* __iarray_;
size_t __iarray_size_;
size_t __iarray_cap_;