diff options
author | dim <dim@FreeBSD.org> | 2014-03-05 19:30:36 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2014-03-05 19:30:36 +0000 |
commit | 22ca1336dcfb663d86a6892dbe1e48eee20bb6db (patch) | |
tree | 72f4bceef54682e8e577b4ddd08c0ad24ea08ff6 /contrib/libc++/include/__mutex_base | |
parent | a5552de0b34d11a40bdc1d8e53fa44a923b6b1a8 (diff) | |
download | FreeBSD-src-22ca1336dcfb663d86a6892dbe1e48eee20bb6db.zip FreeBSD-src-22ca1336dcfb663d86a6892dbe1e48eee20bb6db.tar.gz |
MFC r261283:
Import libc++ 3.4 release. This contains a lot of bugfixes, and some
preliminary support for C++1y.
MFC r261604:
HEAD is not buildable for the past day. Commit a 'quick fix' in order to permit
buildworld to complete.
Reviewed by: theraven
MFC r261608:
Apply a cleaner solution for the sign warnings that can occur when
compiling libc++'s <locale> header with -Wsystem-headers on.
This has also been submitted upstream.
Reported by: asomers
MFC r261801:
An ABI incompatibility crept into the libc++ 3.4 import in r261283. It
was caused by upstream libc++ commit r194536, which aimed to make the
headers more standards-compliant, by making std::pair's copy constructor
trivial. Unfortunately, this could cause certain C++ applications using
shared libraries built against the previous version of libc++ to crash.
Fix the ABI incompatibility by making std::pair's copy constructor
non-trivial again.
Please note: Any C++ applications or shared libraries built with libc++
between r261283 and this revision should be recompiled.
Reported by: stefanf
Diffstat (limited to 'contrib/libc++/include/__mutex_base')
-rw-r--r-- | contrib/libc++/include/__mutex_base | 35 |
1 files changed, 2 insertions, 33 deletions
diff --git a/contrib/libc++/include/__mutex_base b/contrib/libc++/include/__mutex_base index 0583df9..d4023a6 100644 --- a/contrib/libc++/include/__mutex_base +++ b/contrib/libc++/include/__mutex_base @@ -20,16 +20,6 @@ #pragma GCC system_header #endif -#ifdef _LIBCPP_SHARED_LOCK - -namespace ting { -template <class _Mutex> class shared_lock; -template <class _Mutex> class upgrade_lock; -} - -#endif // _LIBCPP_SHARED_LOCK - - _LIBCPP_BEGIN_NAMESPACE_STD class _LIBCPP_TYPE_VIS mutex @@ -77,7 +67,7 @@ constexpr adopt_lock_t adopt_lock = adopt_lock_t(); #endif template <class _Mutex> -class _LIBCPP_TYPE_VIS lock_guard +class _LIBCPP_TYPE_VIS_ONLY lock_guard { public: typedef _Mutex mutex_type; @@ -101,7 +91,7 @@ private: }; template <class _Mutex> -class _LIBCPP_TYPE_VIS unique_lock +class _LIBCPP_TYPE_VIS_ONLY unique_lock { public: typedef _Mutex mutex_type; @@ -162,27 +152,6 @@ public: return *this; } -#ifdef _LIBCPP_SHARED_LOCK - - unique_lock(ting::shared_lock<mutex_type>&&, try_to_lock_t); - template <class _Clock, class _Duration> - unique_lock(ting::shared_lock<mutex_type>&&, - const chrono::time_point<_Clock, _Duration>&); - template <class _Rep, class _Period> - unique_lock(ting::shared_lock<mutex_type>&&, - const chrono::duration<_Rep, _Period>&); - - explicit unique_lock(ting::upgrade_lock<mutex_type>&&); - unique_lock(ting::upgrade_lock<mutex_type>&&, try_to_lock_t); - template <class _Clock, class _Duration> - unique_lock(ting::upgrade_lock<mutex_type>&&, - const chrono::time_point<_Clock, _Duration>&); - template <class _Rep, class _Period> - unique_lock(ting::upgrade_lock<mutex_type>&&, - const chrono::duration<_Rep, _Period>&); - -#endif // _LIBCPP_SHARED_LOCK - #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES void lock(); |