summaryrefslogtreecommitdiff
path: root/libstdc++-v3/config
diff options
context:
space:
mode:
authortorvald <torvald@138bc75d-0d04-0410-961f-82ee72b054a4>2015-01-16 19:50:43 +0000
committertorvald <torvald@138bc75d-0d04-0410-961f-82ee72b054a4>2015-01-16 19:50:43 +0000
commit19a98dc427ef49300c6b39feddddf347d1985ff8 (patch)
tree7e0f7a52bc8fea8db2cc39c259441e1c7ab73feb /libstdc++-v3/config
parentcd93a9ab5a03a6e9e7e7c46eb8e341f58efbbf7d (diff)
downloadgcc-19a98dc427ef49300c6b39feddddf347d1985ff8.tar.gz
libstdc++: Optimize synchronization in std::future if futexes are available.
* src/c++11/futex.cc: New file. * include/bits/atomic_futex.h: New file. * include/std/future (__future_base::_State_baseV2): Use atomic_futex_unsigned instead of mutex+condvar. * src/c++11/futex.cc: Likewise. * include/Makefile.am: Add atomic_futex.h. * include/Makefile.in: Likewise. * src/c++11/Makefile.am: Add futex.cc. * src/c++11/Makefile.in: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219770 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/config')
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver5
1 files changed, 5 insertions, 0 deletions
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index 83f4e8c9c6f..dc83ad4f70c 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -1764,6 +1764,11 @@ GLIBCXX_3.4.21 {
_ZNSt7codecvtID[is]c11__mbstate_t*;
_ZT[ISV]St7codecvtID[is]c11__mbstate_tE;
+ extern "C++"
+ {
+ std::__atomic_futex_unsigned_base*;
+ };
+
} GLIBCXX_3.4.20;