diff options
author | torvald <torvald@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-01-16 19:50:43 +0000 |
---|---|---|
committer | torvald <torvald@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-01-16 19:50:43 +0000 |
commit | 19a98dc427ef49300c6b39feddddf347d1985ff8 (patch) | |
tree | 7e0f7a52bc8fea8db2cc39c259441e1c7ab73feb /libstdc++-v3/config | |
parent | cd93a9ab5a03a6e9e7e7c46eb8e341f58efbbf7d (diff) | |
download | gcc-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.ver | 5 |
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; |