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/valarray | |
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/valarray')
-rw-r--r-- | contrib/libc++/include/valarray | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/contrib/libc++/include/valarray b/contrib/libc++/include/valarray index 71c8a74..5113516 100644 --- a/contrib/libc++/include/valarray +++ b/contrib/libc++/include/valarray @@ -354,9 +354,9 @@ template <class T> unspecified2 end(const valarray<T>& v); _LIBCPP_BEGIN_NAMESPACE_STD -template<class _Tp> class _LIBCPP_TYPE_VIS valarray; +template<class _Tp> class _LIBCPP_TYPE_VIS_ONLY valarray; -class _LIBCPP_TYPE_VIS slice +class _LIBCPP_TYPE_VIS_ONLY slice { size_t __start_; size_t __size_; @@ -381,11 +381,11 @@ public: _LIBCPP_INLINE_VISIBILITY size_t stride() const {return __stride_;} }; -template <class _Tp> class _LIBCPP_TYPE_VIS slice_array; +template <class _Tp> class _LIBCPP_TYPE_VIS_ONLY slice_array; class _LIBCPP_TYPE_VIS gslice; -template <class _Tp> class _LIBCPP_TYPE_VIS gslice_array; -template <class _Tp> class _LIBCPP_TYPE_VIS mask_array; -template <class _Tp> class _LIBCPP_TYPE_VIS indirect_array; +template <class _Tp> class _LIBCPP_TYPE_VIS_ONLY gslice_array; +template <class _Tp> class _LIBCPP_TYPE_VIS_ONLY mask_array; +template <class _Tp> class _LIBCPP_TYPE_VIS_ONLY indirect_array; template <class _Tp> _LIBCPP_INLINE_VISIBILITY @@ -671,7 +671,7 @@ public: _LIBCPP_INLINE_VISIBILITY size_t size() const {return __size_;} - template <class> friend class _LIBCPP_TYPE_VIS valarray; + template <class> friend class _LIBCPP_TYPE_VIS_ONLY valarray; }; template <class _ValExpr> @@ -786,7 +786,7 @@ template<class _Tp> struct __is_val_expr<valarray<_Tp> > : true_type {}; template<class _Tp> -class _LIBCPP_TYPE_VIS valarray +class _LIBCPP_TYPE_VIS_ONLY valarray { public: typedef _Tp value_type; @@ -976,12 +976,12 @@ public: void resize(size_t __n, value_type __x = value_type()); private: - template <class> friend class _LIBCPP_TYPE_VIS valarray; - template <class> friend class _LIBCPP_TYPE_VIS slice_array; - template <class> friend class _LIBCPP_TYPE_VIS gslice_array; - template <class> friend class _LIBCPP_TYPE_VIS mask_array; + template <class> friend class _LIBCPP_TYPE_VIS_ONLY valarray; + template <class> friend class _LIBCPP_TYPE_VIS_ONLY slice_array; + template <class> friend class _LIBCPP_TYPE_VIS_ONLY gslice_array; + template <class> friend class _LIBCPP_TYPE_VIS_ONLY mask_array; template <class> friend class __mask_expr; - template <class> friend class _LIBCPP_TYPE_VIS indirect_array; + template <class> friend class _LIBCPP_TYPE_VIS_ONLY indirect_array; template <class> friend class __indirect_expr; template <class> friend class __val_expr; @@ -1006,6 +1006,10 @@ private: end(const valarray<_Up>& __v); }; +_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS valarray<size_t>::valarray(size_t)) +_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS valarray<size_t>::~valarray()) +_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void valarray<size_t>::resize(size_t, size_t)) + template <class _Op, class _Tp> struct _UnaryOp<_Op, valarray<_Tp> > { @@ -1091,7 +1095,7 @@ struct _BinaryOp<_Op, valarray<_Tp>, valarray<_Tp> > // slice_array template <class _Tp> -class _LIBCPP_TYPE_VIS slice_array +class _LIBCPP_TYPE_VIS_ONLY slice_array { public: typedef _Tp value_type; @@ -1461,7 +1465,7 @@ private: // gslice_array template <class _Tp> -class _LIBCPP_TYPE_VIS gslice_array +class _LIBCPP_TYPE_VIS_ONLY gslice_array { public: typedef _Tp value_type; @@ -1790,7 +1794,7 @@ gslice_array<_Tp>::operator=(const value_type& __x) const // mask_array template <class _Tp> -class _LIBCPP_TYPE_VIS mask_array +class _LIBCPP_TYPE_VIS_ONLY mask_array { public: typedef _Tp value_type; @@ -2134,7 +2138,7 @@ public: // indirect_array template <class _Tp> -class _LIBCPP_TYPE_VIS indirect_array +class _LIBCPP_TYPE_VIS_ONLY indirect_array { public: typedef _Tp value_type; @@ -2485,7 +2489,7 @@ public: _LIBCPP_INLINE_VISIBILITY size_t size() const {return __1d_.size();} - template <class> friend class _LIBCPP_TYPE_VIS valarray; + template <class> friend class _LIBCPP_TYPE_VIS_ONLY valarray; }; template<class _ValExpr> @@ -2624,7 +2628,7 @@ public: }; template<class _ValExpr> -__val_expr<_ValExpr>::operator valarray<result_type>() const +__val_expr<_ValExpr>::operator valarray<__val_expr::result_type>() const { valarray<result_type> __r; size_t __n = __expr_.size(); @@ -4770,10 +4774,6 @@ end(const valarray<_Tp>& __v) return __v.__end_; } -_LIBCPP_EXTERN_TEMPLATE(valarray<size_t>::valarray(size_t)) -_LIBCPP_EXTERN_TEMPLATE(valarray<size_t>::~valarray()) -_LIBCPP_EXTERN_TEMPLATE(void valarray<size_t>::resize(size_t, size_t)) - _LIBCPP_END_NAMESPACE_STD #endif // _LIBCPP_VALARRAY |