aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2014-12-11 17:58:22 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2014-12-11 17:58:22 +0000
commitb8c555ac7c30f83f0e81aa6207757059beef1890 (patch)
treeca2042ff8cca3622d9bccd5e0da2e4c17c756382 /libstdc++-v3
parent7b31ff5e79c3574e68be568fb9fe9c8f537bc132 (diff)
downloadgcc-b8c555ac7c30f83f0e81aa6207757059beef1890.zip
gcc-b8c555ac7c30f83f0e81aa6207757059beef1890.tar.gz
gcc-b8c555ac7c30f83f0e81aa6207757059beef1890.tar.bz2
3.cc: Only use a thread_local when __cxa_thread_atexit_impl is available.
* testsuite/30_threads/condition_variable/members/3.cc: Only use a thread_local when __cxa_thread_atexit_impl is available. From-SVN: r218638
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable/members/3.cc5
2 files changed, 10 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index ea6e332..7039613 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2014-12-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/30_threads/condition_variable/members/3.cc: Only use
+ a thread_local when __cxa_thread_atexit_impl is available.
+
2014-12-10 Jonathan Wakely <jwakely@redhat.com>
* include/bits/locale_facets.tcc (numpunct::_M_cache): Avoid calling
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable/members/3.cc b/libstdc++-v3/testsuite/30_threads/condition_variable/members/3.cc
index 0da545d..1788bcf 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable/members/3.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable/members/3.cc
@@ -41,7 +41,12 @@ void func()
{
std::unique_lock<std::mutex> lock{mx};
std::notify_all_at_thread_exit(cv, std::move(lock));
+#if _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL
+ // Correct order of thread_local destruction needs __cxa_thread_atexit_impl
static thread_local Inc inc;
+#else
+ Inc inc;
+#endif
}
int main()