Author: eugenis Date: Fri Nov 6 19:22:13 2015 New Revision: 252385 URL: http://llvm.org/viewvc/llvm-project?rev=252385&view=rev Log: Cleanup: move visibility/linkage attributes to the first declaration.
This change moves visibility attributes from out-of-class method definitions to in-class declaration. This is needed for a switch to attribute((internal_linkage)) (see http://reviews.llvm.org/D13925) which can only appear on the first declaration. This change does not touch istream/ostream/streambuf. They are handled separately in http://reviews.llvm.org/D14409. Modified: libcxx/trunk/include/__hash_table libcxx/trunk/include/__mutex_base libcxx/trunk/include/__split_buffer libcxx/trunk/include/bitset libcxx/trunk/include/condition_variable libcxx/trunk/include/deque libcxx/trunk/include/future libcxx/trunk/include/locale libcxx/trunk/include/memory libcxx/trunk/include/random libcxx/trunk/include/regex libcxx/trunk/include/string libcxx/trunk/include/thread libcxx/trunk/include/valarray libcxx/trunk/include/vector Modified: libcxx/trunk/include/__hash_table URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__hash_table?rev=252385&r1=252384&r2=252385&view=diff ============================================================================== --- libcxx/trunk/include/__hash_table (original) +++ libcxx/trunk/include/__hash_table Fri Nov 6 19:22:13 2015 @@ -836,6 +836,7 @@ public: typedef __hash_local_iterator<__node_pointer> local_iterator; typedef __hash_const_local_iterator<__node_pointer> const_local_iterator; + _LIBCPP_INLINE_VISIBILITY __hash_table() _NOEXCEPT_( is_nothrow_default_constructible<__bucket_list>::value && @@ -843,6 +844,7 @@ public: is_nothrow_default_constructible<__node_allocator>::value && is_nothrow_default_constructible<hasher>::value && is_nothrow_default_constructible<key_equal>::value); + _LIBCPP_INLINE_VISIBILITY __hash_table(const hasher& __hf, const key_equal& __eql); __hash_table(const hasher& __hf, const key_equal& __eql, const allocator_type& __a); @@ -863,6 +865,7 @@ public: __hash_table& operator=(const __hash_table& __u); #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY __hash_table& operator=(__hash_table&& __u) _NOEXCEPT_( __node_traits::propagate_on_container_move_assignment::value && @@ -934,9 +937,13 @@ public: return __bucket_list_.get_deleter().size(); } + _LIBCPP_INLINE_VISIBILITY iterator begin() _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY iterator end() _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY const_iterator begin() const _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY const_iterator end() const _NOEXCEPT; template <class _Key> @@ -965,6 +972,7 @@ public: __node_holder remove(const_iterator __p) _NOEXCEPT; template <class _Key> + _LIBCPP_INLINE_VISIBILITY size_type __count_unique(const _Key& __k) const; template <class _Key> size_type __count_multi(const _Key& __k) const; @@ -1130,7 +1138,7 @@ private: }; template <class _Tp, class _Hash, class _Equal, class _Alloc> -inline _LIBCPP_INLINE_VISIBILITY +inline __hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table() _NOEXCEPT_( is_nothrow_default_constructible<__bucket_list>::value && @@ -1143,7 +1151,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc> } template <class _Tp, class _Hash, class _Equal, class _Alloc> -inline _LIBCPP_INLINE_VISIBILITY +inline __hash_table<_Tp, _Hash, _Equal, _Alloc>::__hash_table(const hasher& __hf, const key_equal& __eql) : __bucket_list_(nullptr, __bucket_list_deleter()), @@ -1410,7 +1418,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc> } template <class _Tp, class _Hash, class _Equal, class _Alloc> -inline _LIBCPP_INLINE_VISIBILITY +inline __hash_table<_Tp, _Hash, _Equal, _Alloc>& __hash_table<_Tp, _Hash, _Equal, _Alloc>::operator=(__hash_table&& __u) _NOEXCEPT_( @@ -1495,7 +1503,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc> } template <class _Tp, class _Hash, class _Equal, class _Alloc> -inline _LIBCPP_INLINE_VISIBILITY +inline typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator __hash_table<_Tp, _Hash, _Equal, _Alloc>::begin() _NOEXCEPT { @@ -1507,7 +1515,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc> } template <class _Tp, class _Hash, class _Equal, class _Alloc> -inline _LIBCPP_INLINE_VISIBILITY +inline typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::iterator __hash_table<_Tp, _Hash, _Equal, _Alloc>::end() _NOEXCEPT { @@ -1519,7 +1527,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc> } template <class _Tp, class _Hash, class _Equal, class _Alloc> -inline _LIBCPP_INLINE_VISIBILITY +inline typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::const_iterator __hash_table<_Tp, _Hash, _Equal, _Alloc>::begin() const _NOEXCEPT { @@ -1531,7 +1539,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc> } template <class _Tp, class _Hash, class _Equal, class _Alloc> -inline _LIBCPP_INLINE_VISIBILITY +inline typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::const_iterator __hash_table<_Tp, _Hash, _Equal, _Alloc>::end() const _NOEXCEPT { @@ -2256,7 +2264,7 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc> template <class _Tp, class _Hash, class _Equal, class _Alloc> template <class _Key> -inline _LIBCPP_INLINE_VISIBILITY +inline typename __hash_table<_Tp, _Hash, _Equal, _Alloc>::size_type __hash_table<_Tp, _Hash, _Equal, _Alloc>::__count_unique(const _Key& __k) const { Modified: libcxx/trunk/include/__mutex_base URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__mutex_base?rev=252385&r1=252384&r2=252385&view=diff ============================================================================== --- libcxx/trunk/include/__mutex_base (original) +++ libcxx/trunk/include/__mutex_base Fri Nov 6 19:22:13 2015 @@ -308,6 +308,7 @@ public: template <class _Rep, class _Period, class _Predicate> bool + _LIBCPP_INLINE_VISIBILITY wait_for(unique_lock<mutex>& __lk, const chrono::duration<_Rep, _Period>& __d, _Predicate __pred); @@ -392,7 +393,7 @@ condition_variable::wait_for(unique_lock } template <class _Rep, class _Period, class _Predicate> -inline _LIBCPP_INLINE_VISIBILITY +inline bool condition_variable::wait_for(unique_lock<mutex>& __lk, const chrono::duration<_Rep, _Period>& __d, Modified: libcxx/trunk/include/__split_buffer URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__split_buffer?rev=252385&r1=252384&r2=252385&view=diff ============================================================================== --- libcxx/trunk/include/__split_buffer (original) +++ libcxx/trunk/include/__split_buffer Fri Nov 6 19:22:13 2015 @@ -56,9 +56,12 @@ public: _LIBCPP_INLINE_VISIBILITY pointer& __end_cap() _NOEXCEPT {return __end_cap_.first();} _LIBCPP_INLINE_VISIBILITY const pointer& __end_cap() const _NOEXCEPT {return __end_cap_.first();} + _LIBCPP_INLINE_VISIBILITY __split_buffer() _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value); + _LIBCPP_INLINE_VISIBILITY explicit __split_buffer(__alloc_rr& __a); + _LIBCPP_INLINE_VISIBILITY explicit __split_buffer(const __alloc_rr& __a); __split_buffer(size_type __cap, size_type __start, __alloc_rr& __a); ~__split_buffer(); @@ -128,7 +131,9 @@ public: _LIBCPP_INLINE_VISIBILITY void __destruct_at_begin(pointer __new_begin) {__destruct_at_begin(__new_begin, is_trivially_destructible<value_type>());} + _LIBCPP_INLINE_VISIBILITY void __destruct_at_begin(pointer __new_begin, false_type); + _LIBCPP_INLINE_VISIBILITY void __destruct_at_begin(pointer __new_begin, true_type); _LIBCPP_INLINE_VISIBILITY @@ -266,7 +271,7 @@ __split_buffer<_Tp, _Allocator>::__const } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline void __split_buffer<_Tp, _Allocator>::__destruct_at_begin(pointer __new_begin, false_type) { @@ -275,7 +280,7 @@ __split_buffer<_Tp, _Allocator>::__destr } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline void __split_buffer<_Tp, _Allocator>::__destruct_at_begin(pointer __new_begin, true_type) { @@ -309,7 +314,7 @@ __split_buffer<_Tp, _Allocator>::__split } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline __split_buffer<_Tp, _Allocator>::__split_buffer() _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value) : __first_(nullptr), __begin_(nullptr), __end_(nullptr), __end_cap_(nullptr) @@ -317,14 +322,14 @@ __split_buffer<_Tp, _Allocator>::__split } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline __split_buffer<_Tp, _Allocator>::__split_buffer(__alloc_rr& __a) : __first_(nullptr), __begin_(nullptr), __end_(nullptr), __end_cap_(nullptr, __a) { } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline __split_buffer<_Tp, _Allocator>::__split_buffer(const __alloc_rr& __a) : __first_(nullptr), __begin_(nullptr), __end_(nullptr), __end_cap_(nullptr, __a) { Modified: libcxx/trunk/include/bitset URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/bitset?rev=252385&r1=252384&r2=252385&view=diff ============================================================================== --- libcxx/trunk/include/bitset (original) +++ libcxx/trunk/include/bitset Fri Nov 6 19:22:13 2015 @@ -168,7 +168,9 @@ protected: typedef __bit_iterator<__bitset, false> iterator; typedef __bit_iterator<__bitset, true> const_iterator; + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR __bitset() _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY explicit _LIBCPP_CONSTEXPR __bitset(unsigned long long __v) _NOEXCEPT; _LIBCPP_INLINE_VISIBILITY reference __make_ref(size_t __pos) _NOEXCEPT @@ -180,8 +182,11 @@ protected: _LIBCPP_INLINE_VISIBILITY const_iterator __make_iter(size_t __pos) const _NOEXCEPT {return const_iterator(__first_ + __pos / __bits_per_word, __pos % __bits_per_word);} + _LIBCPP_INLINE_VISIBILITY void operator&=(const __bitset& __v) _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY void operator|=(const __bitset& __v) _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY void operator^=(const __bitset& __v) _NOEXCEPT; void flip() _NOEXCEPT; @@ -192,6 +197,7 @@ protected: bool all() const _NOEXCEPT; bool any() const _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY size_t __hash_code() const _NOEXCEPT; private: #ifdef _LIBCPP_HAS_NO_CONSTEXPR @@ -199,15 +205,18 @@ private: void __init(unsigned long long __v, true_type) _NOEXCEPT; #endif // _LIBCPP_HAS_NO_CONSTEXPR unsigned long to_ulong(false_type) const; + _LIBCPP_INLINE_VISIBILITY unsigned long to_ulong(true_type) const; unsigned long long to_ullong(false_type) const; + _LIBCPP_INLINE_VISIBILITY unsigned long long to_ullong(true_type) const; + _LIBCPP_INLINE_VISIBILITY unsigned long long to_ullong(true_type, false_type) const; unsigned long long to_ullong(true_type, true_type) const; }; template <size_t _N_words, size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_CONSTEXPR __bitset<_N_words, _Size>::__bitset() _NOEXCEPT #ifndef _LIBCPP_HAS_NO_CONSTEXPR @@ -245,7 +254,7 @@ __bitset<_N_words, _Size>::__init(unsign #endif // _LIBCPP_HAS_NO_CONSTEXPR template <size_t _N_words, size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_CONSTEXPR __bitset<_N_words, _Size>::__bitset(unsigned long long __v) _NOEXCEPT #ifndef _LIBCPP_HAS_NO_CONSTEXPR @@ -264,7 +273,7 @@ __bitset<_N_words, _Size>::__bitset(unsi } template <size_t _N_words, size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline void __bitset<_N_words, _Size>::operator&=(const __bitset& __v) _NOEXCEPT { @@ -273,7 +282,7 @@ __bitset<_N_words, _Size>::operator&=(co } template <size_t _N_words, size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline void __bitset<_N_words, _Size>::operator|=(const __bitset& __v) _NOEXCEPT { @@ -282,7 +291,7 @@ __bitset<_N_words, _Size>::operator|=(co } template <size_t _N_words, size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline void __bitset<_N_words, _Size>::operator^=(const __bitset& __v) _NOEXCEPT { @@ -325,7 +334,7 @@ __bitset<_N_words, _Size>::to_ulong(fals } template <size_t _N_words, size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline unsigned long __bitset<_N_words, _Size>::to_ulong(true_type) const { @@ -348,7 +357,7 @@ __bitset<_N_words, _Size>::to_ullong(fal } template <size_t _N_words, size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline unsigned long long __bitset<_N_words, _Size>::to_ullong(true_type) const { @@ -356,7 +365,7 @@ __bitset<_N_words, _Size>::to_ullong(tru } template <size_t _N_words, size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline unsigned long long __bitset<_N_words, _Size>::to_ullong(true_type, false_type) const { @@ -414,7 +423,7 @@ __bitset<_N_words, _Size>::any() const _ } template <size_t _N_words, size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline size_t __bitset<_N_words, _Size>::__hash_code() const _NOEXCEPT { @@ -450,7 +459,9 @@ protected: typedef __bit_iterator<__bitset, false> iterator; typedef __bit_iterator<__bitset, true> const_iterator; + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR __bitset() _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY explicit _LIBCPP_CONSTEXPR __bitset(unsigned long long __v) _NOEXCEPT; _LIBCPP_INLINE_VISIBILITY reference __make_ref(size_t __pos) _NOEXCEPT @@ -462,23 +473,32 @@ protected: _LIBCPP_INLINE_VISIBILITY const_iterator __make_iter(size_t __pos) const _NOEXCEPT {return const_iterator(&__first_ + __pos / __bits_per_word, __pos % __bits_per_word);} + _LIBCPP_INLINE_VISIBILITY void operator&=(const __bitset& __v) _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY void operator|=(const __bitset& __v) _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY void operator^=(const __bitset& __v) _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY void flip() _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY unsigned long to_ulong() const; + _LIBCPP_INLINE_VISIBILITY unsigned long long to_ullong() const; + _LIBCPP_INLINE_VISIBILITY bool all() const _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY bool any() const _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY size_t __hash_code() const _NOEXCEPT; }; template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_CONSTEXPR __bitset<1, _Size>::__bitset() _NOEXCEPT : __first_(0) @@ -486,7 +506,7 @@ __bitset<1, _Size>::__bitset() _NOEXCEPT } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_CONSTEXPR __bitset<1, _Size>::__bitset(unsigned long long __v) _NOEXCEPT : __first_(static_cast<__storage_type>(__v)) @@ -494,7 +514,7 @@ __bitset<1, _Size>::__bitset(unsigned lo } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline void __bitset<1, _Size>::operator&=(const __bitset& __v) _NOEXCEPT { @@ -502,7 +522,7 @@ __bitset<1, _Size>::operator&=(const __b } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline void __bitset<1, _Size>::operator|=(const __bitset& __v) _NOEXCEPT { @@ -510,7 +530,7 @@ __bitset<1, _Size>::operator|=(const __b } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline void __bitset<1, _Size>::operator^=(const __bitset& __v) _NOEXCEPT { @@ -518,7 +538,7 @@ __bitset<1, _Size>::operator^=(const __b } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline void __bitset<1, _Size>::flip() _NOEXCEPT { @@ -528,7 +548,7 @@ __bitset<1, _Size>::flip() _NOEXCEPT } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline unsigned long __bitset<1, _Size>::to_ulong() const { @@ -536,7 +556,7 @@ __bitset<1, _Size>::to_ulong() const } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline unsigned long long __bitset<1, _Size>::to_ullong() const { @@ -544,7 +564,7 @@ __bitset<1, _Size>::to_ullong() const } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline bool __bitset<1, _Size>::all() const _NOEXCEPT { @@ -553,7 +573,7 @@ __bitset<1, _Size>::all() const _NOEXCEP } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline bool __bitset<1, _Size>::any() const _NOEXCEPT { @@ -562,7 +582,7 @@ __bitset<1, _Size>::any() const _NOEXCEP } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline size_t __bitset<1, _Size>::__hash_code() const _NOEXCEPT { @@ -593,7 +613,9 @@ protected: typedef __bit_iterator<__bitset, false> iterator; typedef __bit_iterator<__bitset, true> const_iterator; + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR __bitset() _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY explicit _LIBCPP_CONSTEXPR __bitset(unsigned long long) _NOEXCEPT; _LIBCPP_INLINE_VISIBILITY reference __make_ref(size_t) _NOEXCEPT @@ -620,13 +642,13 @@ protected: _LIBCPP_INLINE_VISIBILITY size_t __hash_code() const _NOEXCEPT {return 0;} }; -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_CONSTEXPR __bitset<0, 0>::__bitset() _NOEXCEPT { } -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_CONSTEXPR __bitset<0, 0>::__bitset(unsigned long long) _NOEXCEPT { @@ -663,16 +685,23 @@ public: _CharT __zero = _CharT('0'), _CharT __one = _CharT('1')); // 23.3.5.2 bitset operations: + _LIBCPP_INLINE_VISIBILITY bitset& operator&=(const bitset& __rhs) _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY bitset& operator|=(const bitset& __rhs) _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY bitset& operator^=(const bitset& __rhs) _NOEXCEPT; bitset& operator<<=(size_t __pos) _NOEXCEPT; bitset& operator>>=(size_t __pos) _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY bitset& set() _NOEXCEPT; bitset& set(size_t __pos, bool __val = true); + _LIBCPP_INLINE_VISIBILITY bitset& reset() _NOEXCEPT; bitset& reset(size_t __pos); + _LIBCPP_INLINE_VISIBILITY bitset operator~() const _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY bitset& flip() _NOEXCEPT; bitset& flip(size_t __pos); @@ -680,28 +709,40 @@ public: _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR const_reference operator[](size_t __p) const {return base::__make_ref(__p);} _LIBCPP_INLINE_VISIBILITY reference operator[](size_t __p) {return base::__make_ref(__p);} + _LIBCPP_INLINE_VISIBILITY unsigned long to_ulong() const; + _LIBCPP_INLINE_VISIBILITY unsigned long long to_ullong() const; template <class _CharT, class _Traits, class _Allocator> basic_string<_CharT, _Traits, _Allocator> to_string(_CharT __zero = _CharT('0'), _CharT __one = _CharT('1')) const; template <class _CharT, class _Traits> + _LIBCPP_INLINE_VISIBILITY basic_string<_CharT, _Traits, allocator<_CharT> > to_string(_CharT __zero = _CharT('0'), _CharT __one = _CharT('1')) const; template <class _CharT> + _LIBCPP_INLINE_VISIBILITY basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> > to_string(_CharT __zero = _CharT('0'), _CharT __one = _CharT('1')) const; + _LIBCPP_INLINE_VISIBILITY basic_string<char, char_traits<char>, allocator<char> > to_string(char __zero = '0', char __one = '1') const; + _LIBCPP_INLINE_VISIBILITY size_t count() const _NOEXCEPT; _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR size_t size() const _NOEXCEPT {return _Size;} + _LIBCPP_INLINE_VISIBILITY bool operator==(const bitset& __rhs) const _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY bool operator!=(const bitset& __rhs) const _NOEXCEPT; bool test(size_t __pos) const; + _LIBCPP_INLINE_VISIBILITY bool all() const _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY bool any() const _NOEXCEPT; _LIBCPP_INLINE_VISIBILITY bool none() const _NOEXCEPT {return !any();} + _LIBCPP_INLINE_VISIBILITY bitset operator<<(size_t __pos) const _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY bitset operator>>(size_t __pos) const _NOEXCEPT; private: @@ -774,7 +815,7 @@ bitset<_Size>::bitset(const basic_string } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline bitset<_Size>& bitset<_Size>::operator&=(const bitset& __rhs) _NOEXCEPT { @@ -783,7 +824,7 @@ bitset<_Size>::operator&=(const bitset& } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline bitset<_Size>& bitset<_Size>::operator|=(const bitset& __rhs) _NOEXCEPT { @@ -792,7 +833,7 @@ bitset<_Size>::operator|=(const bitset& } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline bitset<_Size>& bitset<_Size>::operator^=(const bitset& __rhs) _NOEXCEPT { @@ -821,7 +862,7 @@ bitset<_Size>::operator>>=(size_t __pos) } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline bitset<_Size>& bitset<_Size>::set() _NOEXCEPT { @@ -844,7 +885,7 @@ bitset<_Size>::set(size_t __pos, bool __ } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline bitset<_Size>& bitset<_Size>::reset() _NOEXCEPT { @@ -867,7 +908,7 @@ bitset<_Size>::reset(size_t __pos) } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline bitset<_Size> bitset<_Size>::operator~() const _NOEXCEPT { @@ -877,7 +918,7 @@ bitset<_Size>::operator~() const _NOEXCE } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline bitset<_Size>& bitset<_Size>::flip() _NOEXCEPT { @@ -901,7 +942,7 @@ bitset<_Size>::flip(size_t __pos) } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline unsigned long bitset<_Size>::to_ulong() const { @@ -909,7 +950,7 @@ bitset<_Size>::to_ulong() const } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline unsigned long long bitset<_Size>::to_ullong() const { @@ -932,7 +973,7 @@ bitset<_Size>::to_string(_CharT __zero, template <size_t _Size> template <class _CharT, class _Traits> -inline _LIBCPP_INLINE_VISIBILITY +inline basic_string<_CharT, _Traits, allocator<_CharT> > bitset<_Size>::to_string(_CharT __zero, _CharT __one) const { @@ -941,7 +982,7 @@ bitset<_Size>::to_string(_CharT __zero, template <size_t _Size> template <class _CharT> -inline _LIBCPP_INLINE_VISIBILITY +inline basic_string<_CharT, char_traits<_CharT>, allocator<_CharT> > bitset<_Size>::to_string(_CharT __zero, _CharT __one) const { @@ -949,7 +990,7 @@ bitset<_Size>::to_string(_CharT __zero, } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline basic_string<char, char_traits<char>, allocator<char> > bitset<_Size>::to_string(char __zero, char __one) const { @@ -957,7 +998,7 @@ bitset<_Size>::to_string(char __zero, ch } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline size_t bitset<_Size>::count() const _NOEXCEPT { @@ -965,7 +1006,7 @@ bitset<_Size>::count() const _NOEXCEPT } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline bool bitset<_Size>::operator==(const bitset& __rhs) const _NOEXCEPT { @@ -973,7 +1014,7 @@ bitset<_Size>::operator==(const bitset& } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline bool bitset<_Size>::operator!=(const bitset& __rhs) const _NOEXCEPT { @@ -994,7 +1035,7 @@ bitset<_Size>::test(size_t __pos) const } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline bool bitset<_Size>::all() const _NOEXCEPT { @@ -1002,7 +1043,7 @@ bitset<_Size>::all() const _NOEXCEPT } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline bool bitset<_Size>::any() const _NOEXCEPT { @@ -1010,7 +1051,7 @@ bitset<_Size>::any() const _NOEXCEPT } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline bitset<_Size> bitset<_Size>::operator<<(size_t __pos) const _NOEXCEPT { @@ -1020,7 +1061,7 @@ bitset<_Size>::operator<<(size_t __pos) } template <size_t _Size> -inline _LIBCPP_INLINE_VISIBILITY +inline bitset<_Size> bitset<_Size>::operator>>(size_t __pos) const _NOEXCEPT { Modified: libcxx/trunk/include/condition_variable URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/condition_variable?rev=252385&r1=252384&r2=252385&view=diff ============================================================================== --- libcxx/trunk/include/condition_variable (original) +++ libcxx/trunk/include/condition_variable Fri Nov 6 19:22:13 2015 @@ -124,14 +124,18 @@ class _LIBCPP_TYPE_VIS condition_variabl condition_variable __cv_; shared_ptr<mutex> __mut_; public: + _LIBCPP_INLINE_VISIBILITY condition_variable_any(); + _LIBCPP_INLINE_VISIBILITY void notify_one() _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY void notify_all() _NOEXCEPT; template <class _Lock> void wait(_Lock& __lock); template <class _Lock, class _Predicate> + _LIBCPP_INLINE_VISIBILITY void wait(_Lock& __lock, _Predicate __pred); template <class _Lock, class _Clock, class _Duration> @@ -141,27 +145,30 @@ public: template <class _Lock, class _Clock, class _Duration, class _Predicate> bool + _LIBCPP_INLINE_VISIBILITY wait_until(_Lock& __lock, const chrono::time_point<_Clock, _Duration>& __t, _Predicate __pred); template <class _Lock, class _Rep, class _Period> cv_status + _LIBCPP_INLINE_VISIBILITY wait_for(_Lock& __lock, const chrono::duration<_Rep, _Period>& __d); template <class _Lock, class _Rep, class _Period, class _Predicate> bool + _LIBCPP_INLINE_VISIBILITY wait_for(_Lock& __lock, const chrono::duration<_Rep, _Period>& __d, _Predicate __pred); }; -inline _LIBCPP_INLINE_VISIBILITY +inline condition_variable_any::condition_variable_any() : __mut_(make_shared<mutex>()) {} -inline _LIBCPP_INLINE_VISIBILITY +inline void condition_variable_any::notify_one() _NOEXCEPT { @@ -169,7 +176,7 @@ condition_variable_any::notify_one() _NO __cv_.notify_one(); } -inline _LIBCPP_INLINE_VISIBILITY +inline void condition_variable_any::notify_all() _NOEXCEPT { @@ -196,7 +203,7 @@ condition_variable_any::wait(_Lock& __lo } // __mut_.unlock(), __lock.lock() template <class _Lock, class _Predicate> -inline _LIBCPP_INLINE_VISIBILITY +inline void condition_variable_any::wait(_Lock& __lock, _Predicate __pred) { @@ -218,7 +225,7 @@ condition_variable_any::wait_until(_Lock } // __mut_.unlock(), __lock.lock() template <class _Lock, class _Clock, class _Duration, class _Predicate> -inline _LIBCPP_INLINE_VISIBILITY +inline bool condition_variable_any::wait_until(_Lock& __lock, const chrono::time_point<_Clock, _Duration>& __t, @@ -231,7 +238,7 @@ condition_variable_any::wait_until(_Lock } template <class _Lock, class _Rep, class _Period> -inline _LIBCPP_INLINE_VISIBILITY +inline cv_status condition_variable_any::wait_for(_Lock& __lock, const chrono::duration<_Rep, _Period>& __d) @@ -240,7 +247,7 @@ condition_variable_any::wait_for(_Lock& } template <class _Lock, class _Rep, class _Period, class _Predicate> -inline _LIBCPP_INLINE_VISIBILITY +inline bool condition_variable_any::wait_for(_Lock& __lock, const chrono::duration<_Rep, _Period>& __d, Modified: libcxx/trunk/include/deque URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/deque?rev=252385&r1=252384&r2=252385&view=diff ============================================================================== --- libcxx/trunk/include/deque (original) +++ libcxx/trunk/include/deque Fri Nov 6 19:22:13 2015 @@ -964,8 +964,10 @@ protected: _LIBCPP_INLINE_VISIBILITY const allocator_type& __alloc() const _NOEXCEPT {return __size_.second();} + _LIBCPP_INLINE_VISIBILITY __deque_base() _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value); + _LIBCPP_INLINE_VISIBILITY explicit __deque_base(const allocator_type& __a); public: ~__deque_base(); @@ -1090,13 +1092,13 @@ __deque_base<_Tp, _Allocator>::end() con } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline __deque_base<_Tp, _Allocator>::__deque_base() _NOEXCEPT_(is_nothrow_default_constructible<allocator_type>::value) : __start_(0), __size_(0) {} template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline __deque_base<_Tp, _Allocator>::__deque_base(const allocator_type& __a) : __map_(__pointer_allocator(__a)), __start_(0), __size_(0, __a) {} @@ -1241,8 +1243,11 @@ public: #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY deque(deque&& __c) _NOEXCEPT_(is_nothrow_move_constructible<__base>::value); + _LIBCPP_INLINE_VISIBILITY deque(deque&& __c, const allocator_type& __a); + _LIBCPP_INLINE_VISIBILITY deque& operator=(deque&& __c) _NOEXCEPT_(__alloc_traits::propagate_on_container_move_assignment::value && is_nothrow_move_assignable<allocator_type>::value); @@ -1261,6 +1266,7 @@ public: void assign(initializer_list<value_type> __il) {assign(__il.begin(), __il.end());} #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS + _LIBCPP_INLINE_VISIBILITY allocator_type get_allocator() const _NOEXCEPT; // iterators: @@ -1313,13 +1319,21 @@ public: bool empty() const _NOEXCEPT {return __base::size() == 0;} // element access: + _LIBCPP_INLINE_VISIBILITY reference operator[](size_type __i); + _LIBCPP_INLINE_VISIBILITY const_reference operator[](size_type __i) const; + _LIBCPP_INLINE_VISIBILITY reference at(size_type __i); + _LIBCPP_INLINE_VISIBILITY const_reference at(size_type __i) const; + _LIBCPP_INLINE_VISIBILITY reference front(); + _LIBCPP_INLINE_VISIBILITY const_reference front() const; + _LIBCPP_INLINE_VISIBILITY reference back(); + _LIBCPP_INLINE_VISIBILITY const_reference back() const; // 23.2.2.3 modifiers: @@ -1358,6 +1372,7 @@ public: iterator erase(const_iterator __p); iterator erase(const_iterator __f, const_iterator __l); + _LIBCPP_INLINE_VISIBILITY void swap(deque& __c) #if _LIBCPP_STD_VER >= 14 _NOEXCEPT; @@ -1365,6 +1380,7 @@ public: _NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value || __is_nothrow_swappable<allocator_type>::value); #endif + _LIBCPP_INLINE_VISIBILITY void clear() _NOEXCEPT; _LIBCPP_INLINE_VISIBILITY @@ -1537,7 +1553,7 @@ deque<_Tp, _Allocator>::operator=(const #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline deque<_Tp, _Allocator>::deque(deque&& __c) _NOEXCEPT_(is_nothrow_move_constructible<__base>::value) : __base(_VSTD::move(__c)) @@ -1545,7 +1561,7 @@ deque<_Tp, _Allocator>::deque(deque&& __ } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline deque<_Tp, _Allocator>::deque(deque&& __c, const allocator_type& __a) : __base(_VSTD::move(__c), __a) { @@ -1557,7 +1573,7 @@ deque<_Tp, _Allocator>::deque(deque&& __ } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline deque<_Tp, _Allocator>& deque<_Tp, _Allocator>::operator=(deque&& __c) _NOEXCEPT_(__alloc_traits::propagate_on_container_move_assignment::value && @@ -1641,7 +1657,7 @@ deque<_Tp, _Allocator>::assign(size_type } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline _Allocator deque<_Tp, _Allocator>::get_allocator() const _NOEXCEPT { @@ -1700,7 +1716,7 @@ deque<_Tp, _Allocator>::shrink_to_fit() } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline typename deque<_Tp, _Allocator>::reference deque<_Tp, _Allocator>::operator[](size_type __i) { @@ -1709,7 +1725,7 @@ deque<_Tp, _Allocator>::operator[](size_ } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline typename deque<_Tp, _Allocator>::const_reference deque<_Tp, _Allocator>::operator[](size_type __i) const { @@ -1718,7 +1734,7 @@ deque<_Tp, _Allocator>::operator[](size_ } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline typename deque<_Tp, _Allocator>::reference deque<_Tp, _Allocator>::at(size_type __i) { @@ -1729,7 +1745,7 @@ deque<_Tp, _Allocator>::at(size_type __i } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline typename deque<_Tp, _Allocator>::const_reference deque<_Tp, _Allocator>::at(size_type __i) const { @@ -1740,7 +1756,7 @@ deque<_Tp, _Allocator>::at(size_type __i } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline typename deque<_Tp, _Allocator>::reference deque<_Tp, _Allocator>::front() { @@ -1749,7 +1765,7 @@ deque<_Tp, _Allocator>::front() } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline typename deque<_Tp, _Allocator>::const_reference deque<_Tp, _Allocator>::front() const { @@ -1758,7 +1774,7 @@ deque<_Tp, _Allocator>::front() const } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline typename deque<_Tp, _Allocator>::reference deque<_Tp, _Allocator>::back() { @@ -1767,7 +1783,7 @@ deque<_Tp, _Allocator>::back() } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline typename deque<_Tp, _Allocator>::const_reference deque<_Tp, _Allocator>::back() const { @@ -2806,7 +2822,7 @@ deque<_Tp, _Allocator>::__erase_to_end(c } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline void deque<_Tp, _Allocator>::swap(deque& __c) #if _LIBCPP_STD_VER >= 14 @@ -2820,7 +2836,7 @@ deque<_Tp, _Allocator>::swap(deque& __c) } template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline void deque<_Tp, _Allocator>::clear() _NOEXCEPT { Modified: libcxx/trunk/include/future URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/future?rev=252385&r1=252384&r2=252385&view=diff ============================================================================== --- libcxx/trunk/include/future (original) +++ libcxx/trunk/include/future Fri Nov 6 19:22:13 2015 @@ -576,6 +576,7 @@ public: void wait(); template <class _Rep, class _Period> future_status + _LIBCPP_INLINE_VISIBILITY wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const; template <class _Clock, class _Duration> future_status @@ -599,7 +600,7 @@ __assoc_sub_state::wait_until(const chro } template <class _Rep, class _Period> -inline _LIBCPP_INLINE_VISIBILITY +inline future_status __assoc_sub_state::wait_for(const chrono::duration<_Rep, _Period>& __rel_time) const { @@ -851,6 +852,7 @@ class __deferred_assoc_state public: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY explicit __deferred_assoc_state(_Fp&& __f); #endif @@ -860,7 +862,7 @@ public: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Rp, class _Fp> -inline _LIBCPP_INLINE_VISIBILITY +inline __deferred_assoc_state<_Rp, _Fp>::__deferred_assoc_state(_Fp&& __f) : __func_(_VSTD::forward<_Fp>(__f)) { @@ -897,6 +899,7 @@ class __deferred_assoc_state<void, _Fp> public: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY explicit __deferred_assoc_state(_Fp&& __f); #endif @@ -906,7 +909,7 @@ public: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Fp> -inline _LIBCPP_INLINE_VISIBILITY +inline __deferred_assoc_state<void, _Fp>::__deferred_assoc_state(_Fp&& __f) : __func_(_VSTD::forward<_Fp>(__f)) { @@ -945,6 +948,7 @@ class __async_assoc_state virtual void __on_zero_shared() _NOEXCEPT; public: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY explicit __async_assoc_state(_Fp&& __f); #endif @@ -954,7 +958,7 @@ public: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Rp, class _Fp> -inline _LIBCPP_INLINE_VISIBILITY +inline __async_assoc_state<_Rp, _Fp>::__async_assoc_state(_Fp&& __f) : __func_(_VSTD::forward<_Fp>(__f)) { @@ -999,6 +1003,7 @@ class __async_assoc_state<void, _Fp> virtual void __on_zero_shared() _NOEXCEPT; public: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY explicit __async_assoc_state(_Fp&& __f); #endif @@ -1008,7 +1013,7 @@ public: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Fp> -inline _LIBCPP_INLINE_VISIBILITY +inline __async_assoc_state<void, _Fp>::__async_assoc_state(_Fp&& __f) : __func_(_VSTD::forward<_Fp>(__f)) { @@ -1110,6 +1115,7 @@ private: public: #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES ~future(); + _LIBCPP_INLINE_VISIBILITY shared_future<_Rp> share(); // retrieving the value @@ -1212,6 +1218,7 @@ private: public: #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES ~future(); + _LIBCPP_INLINE_VISIBILITY shared_future<_Rp&> share(); // retrieving the value @@ -1309,6 +1316,7 @@ private: public: #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES ~future(); + _LIBCPP_INLINE_VISIBILITY shared_future<void> share(); // retrieving the value @@ -1835,6 +1843,7 @@ public: void swap(__packaged_task_function&) _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY _Rp operator()(_ArgTypes...) const; }; @@ -1974,7 +1983,7 @@ __packaged_task_function<_Rp(_ArgTypes.. } template<class _Rp, class ..._ArgTypes> -inline _LIBCPP_INLINE_VISIBILITY +inline _Rp __packaged_task_function<_Rp(_ArgTypes...)>::operator()(_ArgTypes... __arg) const { @@ -2562,7 +2571,7 @@ swap(shared_future<_Rp>& __x, shared_fut } template <class _Rp> -inline _LIBCPP_INLINE_VISIBILITY +inline shared_future<_Rp> future<_Rp>::share() { @@ -2570,7 +2579,7 @@ future<_Rp>::share() } template <class _Rp> -inline _LIBCPP_INLINE_VISIBILITY +inline shared_future<_Rp&> future<_Rp&>::share() { @@ -2579,7 +2588,7 @@ future<_Rp&>::share() #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES -inline _LIBCPP_INLINE_VISIBILITY +inline shared_future<void> future<void>::share() { Modified: libcxx/trunk/include/locale URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/locale?rev=252385&r1=252384&r2=252385&view=diff ============================================================================== --- libcxx/trunk/include/locale (original) +++ libcxx/trunk/include/locale Fri Nov 6 19:22:13 2015 @@ -3776,11 +3776,14 @@ private: wstring_convert(const wstring_convert& __wc); wstring_convert& operator=(const wstring_convert& __wc); public: + _LIBCPP_ALWAYS_INLINE _LIBCPP_EXPLICIT_AFTER_CXX11 wstring_convert(_Codecvt* __pcvt = new _Codecvt); + _LIBCPP_ALWAYS_INLINE wstring_convert(_Codecvt* __pcvt, state_type __state); _LIBCPP_EXPLICIT_AFTER_CXX11 wstring_convert(const byte_string& __byte_err, const wide_string& __wide_err = wide_string()); #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_ALWAYS_INLINE wstring_convert(wstring_convert&& __wc); #endif ~wstring_convert(); @@ -3814,7 +3817,7 @@ public: }; template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc> -inline _LIBCPP_ALWAYS_INLINE +inline wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>:: wstring_convert(_Codecvt* __pcvt) : __cvtptr_(__pcvt), __cvtstate_(), __cvtcount_(0) @@ -3822,7 +3825,7 @@ wstring_convert<_Codecvt, _Elem, _Wide_a } template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc> -inline _LIBCPP_ALWAYS_INLINE +inline wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>:: wstring_convert(_Codecvt* __pcvt, state_type __state) : __cvtptr_(__pcvt), __cvtstate_(__state), __cvtcount_(0) @@ -3841,7 +3844,7 @@ wstring_convert<_Codecvt, _Elem, _Wide_a #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template<class _Codecvt, class _Elem, class _Wide_alloc, class _Byte_alloc> -inline _LIBCPP_ALWAYS_INLINE +inline wstring_convert<_Codecvt, _Elem, _Wide_alloc, _Byte_alloc>:: wstring_convert(wstring_convert&& __wc) : __byte_err_string_(_VSTD::move(__wc.__byte_err_string_)), Modified: libcxx/trunk/include/memory URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/memory?rev=252385&r1=252384&r2=252385&view=diff ============================================================================== --- libcxx/trunk/include/memory (original) +++ libcxx/trunk/include/memory Fri Nov 6 19:22:13 2015 @@ -3874,7 +3874,9 @@ private: struct __nat {int __for_bool_;}; public: + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR shared_ptr() _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR shared_ptr(nullptr_t) _NOEXCEPT; template<class _Yp> explicit shared_ptr(_Yp* __p, @@ -3887,15 +3889,18 @@ public: typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type = __nat()); template <class _Dp> shared_ptr(nullptr_t __p, _Dp __d); template <class _Dp, class _Alloc> shared_ptr(nullptr_t __p, _Dp __d, _Alloc __a); - template<class _Yp> shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) _NOEXCEPT; + template<class _Yp> _LIBCPP_INLINE_VISIBILITY shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY shared_ptr(const shared_ptr& __r) _NOEXCEPT; template<class _Yp> + _LIBCPP_INLINE_VISIBILITY shared_ptr(const shared_ptr<_Yp>& __r, typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type = __nat()) _NOEXCEPT; #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY shared_ptr(shared_ptr&& __r) _NOEXCEPT; - template<class _Yp> shared_ptr(shared_ptr<_Yp>&& __r, + template<class _Yp> _LIBCPP_INLINE_VISIBILITY shared_ptr(shared_ptr<_Yp>&& __r, typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type = __nat()) _NOEXCEPT; #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES @@ -3952,6 +3957,7 @@ public: ~shared_ptr(); + _LIBCPP_INLINE_VISIBILITY shared_ptr& operator=(const shared_ptr& __r) _NOEXCEPT; template<class _Yp> typename enable_if @@ -3959,8 +3965,10 @@ public: is_convertible<_Yp*, element_type*>::value, shared_ptr& >::type + _LIBCPP_INLINE_VISIBILITY operator=(const shared_ptr<_Yp>& __r) _NOEXCEPT; #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY shared_ptr& operator=(shared_ptr&& __r) _NOEXCEPT; template<class _Yp> typename enable_if @@ -3968,6 +3976,7 @@ public: is_convertible<_Yp*, element_type*>::value, shared_ptr<_Tp>& >::type + _LIBCPP_INLINE_VISIBILITY operator=(shared_ptr<_Yp>&& __r); template<class _Yp> typename enable_if @@ -3976,6 +3985,7 @@ public: is_convertible<_Yp*, element_type*>::value, shared_ptr >::type& + _LIBCPP_INLINE_VISIBILITY operator=(auto_ptr<_Yp>&& __r); #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES template<class _Yp> @@ -3995,12 +4005,15 @@ public: shared_ptr& >::type #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY operator=(unique_ptr<_Yp, _Dp>&& __r); #else // _LIBCPP_HAS_NO_RVALUE_REFERENCES operator=(unique_ptr<_Yp, _Dp> __r); #endif + _LIBCPP_INLINE_VISIBILITY void swap(shared_ptr& __r) _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY void reset() _NOEXCEPT; template<class _Yp> typename enable_if @@ -4008,6 +4021,7 @@ public: is_convertible<_Yp*, element_type*>::value, void >::type + _LIBCPP_INLINE_VISIBILITY reset(_Yp* __p); template<class _Yp, class _Dp> typename enable_if @@ -4015,6 +4029,7 @@ public: is_convertible<_Yp*, element_type*>::value, void >::type + _LIBCPP_INLINE_VISIBILITY reset(_Yp* __p, _Dp __d); template<class _Yp, class _Dp, class _Alloc> typename enable_if @@ -4022,6 +4037,7 @@ public: is_convertible<_Yp*, element_type*>::value, void >::type + _LIBCPP_INLINE_VISIBILITY reset(_Yp* __p, _Dp __d, _Alloc __a); _LIBCPP_INLINE_VISIBILITY @@ -4123,7 +4139,7 @@ private: }; template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_CONSTEXPR shared_ptr<_Tp>::shared_ptr() _NOEXCEPT : __ptr_(0), @@ -4132,7 +4148,7 @@ shared_ptr<_Tp>::shared_ptr() _NOEXCEPT } template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_CONSTEXPR shared_ptr<_Tp>::shared_ptr(nullptr_t) _NOEXCEPT : __ptr_(0), @@ -4255,7 +4271,7 @@ shared_ptr<_Tp>::shared_ptr(nullptr_t __ template<class _Tp> template<class _Yp> -inline _LIBCPP_INLINE_VISIBILITY +inline shared_ptr<_Tp>::shared_ptr(const shared_ptr<_Yp>& __r, element_type *__p) _NOEXCEPT : __ptr_(__p), __cntrl_(__r.__cntrl_) @@ -4265,7 +4281,7 @@ shared_ptr<_Tp>::shared_ptr(const shared } template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline shared_ptr<_Tp>::shared_ptr(const shared_ptr& __r) _NOEXCEPT : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_) @@ -4276,7 +4292,7 @@ shared_ptr<_Tp>::shared_ptr(const shared template<class _Tp> template<class _Yp> -inline _LIBCPP_INLINE_VISIBILITY +inline shared_ptr<_Tp>::shared_ptr(const shared_ptr<_Yp>& __r, typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type) _NOEXCEPT @@ -4290,7 +4306,7 @@ shared_ptr<_Tp>::shared_ptr(const shared #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline shared_ptr<_Tp>::shared_ptr(shared_ptr&& __r) _NOEXCEPT : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_) @@ -4301,7 +4317,7 @@ shared_ptr<_Tp>::shared_ptr(shared_ptr&& template<class _Tp> template<class _Yp> -inline _LIBCPP_INLINE_VISIBILITY +inline shared_ptr<_Tp>::shared_ptr(shared_ptr<_Yp>&& __r, typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat>::type) _NOEXCEPT @@ -4588,7 +4604,7 @@ shared_ptr<_Tp>::~shared_ptr() } template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline shared_ptr<_Tp>& shared_ptr<_Tp>::operator=(const shared_ptr& __r) _NOEXCEPT { @@ -4598,7 +4614,7 @@ shared_ptr<_Tp>::operator=(const shared_ template<class _Tp> template<class _Yp> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < is_convertible<_Yp*, _Tp*>::value, @@ -4613,7 +4629,7 @@ shared_ptr<_Tp>::operator=(const shared_ #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline shared_ptr<_Tp>& shared_ptr<_Tp>::operator=(shared_ptr&& __r) _NOEXCEPT { @@ -4623,7 +4639,7 @@ shared_ptr<_Tp>::operator=(shared_ptr&& template<class _Tp> template<class _Yp> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < is_convertible<_Yp*, _Tp*>::value, @@ -4637,7 +4653,7 @@ shared_ptr<_Tp>::operator=(shared_ptr<_Y template<class _Tp> template<class _Yp> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < !is_array<_Yp>::value && @@ -4652,7 +4668,7 @@ shared_ptr<_Tp>::operator=(auto_ptr<_Yp> template<class _Tp> template <class _Yp, class _Dp> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < !is_array<_Yp>::value && @@ -4700,7 +4716,7 @@ shared_ptr<_Tp>::operator=(unique_ptr<_Y #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline void shared_ptr<_Tp>::swap(shared_ptr& __r) _NOEXCEPT { @@ -4709,7 +4725,7 @@ shared_ptr<_Tp>::swap(shared_ptr& __r) _ } template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline void shared_ptr<_Tp>::reset() _NOEXCEPT { @@ -4718,7 +4734,7 @@ shared_ptr<_Tp>::reset() _NOEXCEPT template<class _Tp> template<class _Yp> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < is_convertible<_Yp*, _Tp*>::value, @@ -4731,7 +4747,7 @@ shared_ptr<_Tp>::reset(_Yp* __p) template<class _Tp> template<class _Yp, class _Dp> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < is_convertible<_Yp*, _Tp*>::value, @@ -4744,7 +4760,7 @@ shared_ptr<_Tp>::reset(_Yp* __p, _Dp __d template<class _Tp> template<class _Yp, class _Dp, class _Alloc> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < is_convertible<_Yp*, _Tp*>::value, @@ -5061,23 +5077,27 @@ private: __shared_weak_count* __cntrl_; public: + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR weak_ptr() _NOEXCEPT; - template<class _Yp> weak_ptr(shared_ptr<_Yp> const& __r, + template<class _Yp> _LIBCPP_INLINE_VISIBILITY weak_ptr(shared_ptr<_Yp> const& __r, typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type = 0) _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY weak_ptr(weak_ptr const& __r) _NOEXCEPT; - template<class _Yp> weak_ptr(weak_ptr<_Yp> const& __r, + template<class _Yp> _LIBCPP_INLINE_VISIBILITY weak_ptr(weak_ptr<_Yp> const& __r, typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type = 0) _NOEXCEPT; #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY weak_ptr(weak_ptr&& __r) _NOEXCEPT; - template<class _Yp> weak_ptr(weak_ptr<_Yp>&& __r, + template<class _Yp> _LIBCPP_INLINE_VISIBILITY weak_ptr(weak_ptr<_Yp>&& __r, typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type = 0) _NOEXCEPT; #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES ~weak_ptr(); + _LIBCPP_INLINE_VISIBILITY weak_ptr& operator=(weak_ptr const& __r) _NOEXCEPT; template<class _Yp> typename enable_if @@ -5085,10 +5105,12 @@ public: is_convertible<_Yp*, element_type*>::value, weak_ptr& >::type + _LIBCPP_INLINE_VISIBILITY operator=(weak_ptr<_Yp> const& __r) _NOEXCEPT; #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY weak_ptr& operator=(weak_ptr&& __r) _NOEXCEPT; template<class _Yp> typename enable_if @@ -5096,6 +5118,7 @@ public: is_convertible<_Yp*, element_type*>::value, weak_ptr& >::type + _LIBCPP_INLINE_VISIBILITY operator=(weak_ptr<_Yp>&& __r) _NOEXCEPT; #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES @@ -5106,9 +5129,12 @@ public: is_convertible<_Yp*, element_type*>::value, weak_ptr& >::type + _LIBCPP_INLINE_VISIBILITY operator=(shared_ptr<_Yp> const& __r) _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY void swap(weak_ptr& __r) _NOEXCEPT; + _LIBCPP_INLINE_VISIBILITY void reset() _NOEXCEPT; _LIBCPP_INLINE_VISIBILITY @@ -5132,7 +5158,7 @@ public: }; template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_CONSTEXPR weak_ptr<_Tp>::weak_ptr() _NOEXCEPT : __ptr_(0), @@ -5141,7 +5167,7 @@ weak_ptr<_Tp>::weak_ptr() _NOEXCEPT } template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline weak_ptr<_Tp>::weak_ptr(weak_ptr const& __r) _NOEXCEPT : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_) @@ -5152,7 +5178,7 @@ weak_ptr<_Tp>::weak_ptr(weak_ptr const& template<class _Tp> template<class _Yp> -inline _LIBCPP_INLINE_VISIBILITY +inline weak_ptr<_Tp>::weak_ptr(shared_ptr<_Yp> const& __r, typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type) _NOEXCEPT @@ -5165,7 +5191,7 @@ weak_ptr<_Tp>::weak_ptr(shared_ptr<_Yp> template<class _Tp> template<class _Yp> -inline _LIBCPP_INLINE_VISIBILITY +inline weak_ptr<_Tp>::weak_ptr(weak_ptr<_Yp> const& __r, typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type) _NOEXCEPT @@ -5179,7 +5205,7 @@ weak_ptr<_Tp>::weak_ptr(weak_ptr<_Yp> co #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline weak_ptr<_Tp>::weak_ptr(weak_ptr&& __r) _NOEXCEPT : __ptr_(__r.__ptr_), __cntrl_(__r.__cntrl_) @@ -5190,7 +5216,7 @@ weak_ptr<_Tp>::weak_ptr(weak_ptr&& __r) template<class _Tp> template<class _Yp> -inline _LIBCPP_INLINE_VISIBILITY +inline weak_ptr<_Tp>::weak_ptr(weak_ptr<_Yp>&& __r, typename enable_if<is_convertible<_Yp*, _Tp*>::value, __nat*>::type) _NOEXCEPT @@ -5211,7 +5237,7 @@ weak_ptr<_Tp>::~weak_ptr() } template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline weak_ptr<_Tp>& weak_ptr<_Tp>::operator=(weak_ptr const& __r) _NOEXCEPT { @@ -5221,7 +5247,7 @@ weak_ptr<_Tp>::operator=(weak_ptr const& template<class _Tp> template<class _Yp> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < is_convertible<_Yp*, _Tp*>::value, @@ -5236,7 +5262,7 @@ weak_ptr<_Tp>::operator=(weak_ptr<_Yp> c #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline weak_ptr<_Tp>& weak_ptr<_Tp>::operator=(weak_ptr&& __r) _NOEXCEPT { @@ -5246,7 +5272,7 @@ weak_ptr<_Tp>::operator=(weak_ptr&& __r) template<class _Tp> template<class _Yp> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < is_convertible<_Yp*, _Tp*>::value, @@ -5262,7 +5288,7 @@ weak_ptr<_Tp>::operator=(weak_ptr<_Yp>&& template<class _Tp> template<class _Yp> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < is_convertible<_Yp*, _Tp*>::value, @@ -5275,7 +5301,7 @@ weak_ptr<_Tp>::operator=(shared_ptr<_Yp> } template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline void weak_ptr<_Tp>::swap(weak_ptr& __r) _NOEXCEPT { @@ -5292,7 +5318,7 @@ swap(weak_ptr<_Tp>& __x, weak_ptr<_Tp>& } template<class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline void weak_ptr<_Tp>::reset() _NOEXCEPT { Modified: libcxx/trunk/include/random URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/random?rev=252385&r1=252384&r2=252385&view=diff ============================================================================== --- libcxx/trunk/include/random (original) +++ libcxx/trunk/include/random Fri Nov 6 19:22:13 2015 @@ -3119,6 +3119,7 @@ public: independent_bits_engine<_Eng, _Wp, _UI>& __x); private: + _LIBCPP_INLINE_VISIBILITY result_type __eval(false_type); result_type __eval(true_type); @@ -3144,7 +3145,7 @@ private: }; template<class _Engine, size_t __w, class _UIntType> -inline _LIBCPP_INLINE_VISIBILITY +inline _UIntType independent_bits_engine<_Engine, __w, _UIntType>::__eval(false_type) { @@ -3735,7 +3736,7 @@ public: _LIBCPP_INLINE_VISIBILITY result_type operator()(_URNG& __g) {return (*this)(__g, __p_);} - template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p); + template<class _URNG> _LIBCPP_INLINE_VISIBILITY result_type operator()(_URNG& __g, const param_type& __p); // property functions _LIBCPP_INLINE_VISIBILITY @@ -3765,7 +3766,7 @@ public: template<class _RealType> template<class _URNG> -inline _LIBCPP_INLINE_VISIBILITY +inline typename uniform_real_distribution<_RealType>::result_type uniform_real_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p) { @@ -3851,7 +3852,7 @@ public: _LIBCPP_INLINE_VISIBILITY result_type operator()(_URNG& __g) {return (*this)(__g, __p_);} - template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p); + template<class _URNG> _LIBCPP_INLINE_VISIBILITY result_type operator()(_URNG& __g, const param_type& __p); // property functions _LIBCPP_INLINE_VISIBILITY @@ -3878,7 +3879,7 @@ public: }; template<class _URNG> -inline _LIBCPP_INLINE_VISIBILITY +inline bernoulli_distribution::result_type bernoulli_distribution::operator()(_URNG& __g, const param_type& __p) { @@ -5522,7 +5523,7 @@ public: _LIBCPP_INLINE_VISIBILITY result_type operator()(_URNG& __g) {return (*this)(__g, __p_);} - template<class _URNG> result_type operator()(_URNG& __g, const param_type& __p); + template<class _URNG> _LIBCPP_INLINE_VISIBILITY result_type operator()(_URNG& __g, const param_type& __p); // property functions _LIBCPP_INLINE_VISIBILITY @@ -5552,7 +5553,7 @@ public: template <class _RealType> template<class _URNG> -inline _LIBCPP_INLINE_VISIBILITY +inline _RealType cauchy_distribution<_RealType>::operator()(_URNG& __g, const param_type& __p) { Modified: libcxx/trunk/include/regex URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/regex?rev=252385&r1=252384&r2=252385&view=diff ============================================================================== --- libcxx/trunk/include/regex (original) +++ libcxx/trunk/include/regex Fri Nov 6 19:22:13 2015 @@ -1048,6 +1048,7 @@ private: _LIBCPP_INLINE_VISIBILITY int __regex_traits_value(char __ch, int __radix) const {return __regex_traits_value(static_cast<unsigned char>(__ch), __radix);} + _LIBCPP_INLINE_VISIBILITY int __regex_traits_value(wchar_t __ch, int __radix) const; }; @@ -1270,7 +1271,7 @@ regex_traits<_CharT>::__regex_traits_val } template <class _CharT> -inline _LIBCPP_INLINE_VISIBILITY +inline int regex_traits<_CharT>::__regex_traits_value(wchar_t __ch, int __radix) const { Modified: libcxx/trunk/include/string URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/string?rev=252385&r1=252384&r2=252385&view=diff ============================================================================== --- libcxx/trunk/include/string (original) +++ libcxx/trunk/include/string Fri Nov 6 19:22:13 2015 @@ -517,10 +517,14 @@ struct _LIBCPP_TYPE_VIS_ONLY char_traits {return __c1 < __c2;} static int compare(const char_type* __s1, const char_type* __s2, size_t __n); + _LIBCPP_INLINE_VISIBILITY static size_t length(const char_type* __s); + _LIBCPP_INLINE_VISIBILITY static const char_type* find(const char_type* __s, size_t __n, const char_type& __a); static char_type* move(char_type* __s1, const char_type* __s2, size_t __n); + _LIBCPP_INLINE_VISIBILITY static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n); + _LIBCPP_INLINE_VISIBILITY static char_type* assign(char_type* __s, size_t __n, char_type __a); static inline _LIBCPP_CONSTEXPR int_type not_eof(int_type __c) _NOEXCEPT @@ -550,7 +554,7 @@ char_traits<_CharT>::compare(const char_ } template <class _CharT> -inline _LIBCPP_INLINE_VISIBILITY +inline size_t char_traits<_CharT>::length(const char_type* __s) { @@ -561,7 +565,7 @@ char_traits<_CharT>::length(const char_t } template <class _CharT> -inline _LIBCPP_INLINE_VISIBILITY +inline const _CharT* char_traits<_CharT>::find(const char_type* __s, size_t __n, const char_type& __a) { @@ -595,7 +599,7 @@ char_traits<_CharT>::move(char_type* __s } template <class _CharT> -inline _LIBCPP_INLINE_VISIBILITY +inline _CharT* char_traits<_CharT>::copy(char_type* __s1, const char_type* __s2, size_t __n) { @@ -607,7 +611,7 @@ char_traits<_CharT>::copy(char_type* __s } template <class _CharT> -inline _LIBCPP_INLINE_VISIBILITY +inline _CharT* char_traits<_CharT>::assign(char_type* __s, size_t __n, char_type __a) { @@ -726,11 +730,17 @@ struct _LIBCPP_TYPE_VIS_ONLY char_traits static inline _LIBCPP_CONSTEXPR bool lt(char_type __c1, char_type __c2) _NOEXCEPT {return __c1 < __c2;} + _LIBCPP_INLINE_VISIBILITY static int compare(const char_type* __s1, const char_type* __s2, size_t __n); + _LIBCPP_INLINE_VISIBILITY static size_t length(const char_type* __s); + _LIBCPP_INLINE_VISIBILITY static const char_type* find(const char_type* __s, size_t __n, const char_type& __a); + _LIBCPP_INLINE_VISIBILITY static char_type* move(char_type* __s1, const char_type* __s2, size_t __n); + _LIBCPP_INLINE_VISIBILITY static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n); + _LIBCPP_INLINE_VISIBILITY static char_type* assign(char_type* __s, size_t __n, char_type __a); static inline _LIBCPP_CONSTEXPR int_type not_eof(int_type __c) _NOEXCEPT @@ -745,7 +755,7 @@ struct _LIBCPP_TYPE_VIS_ONLY char_traits {return int_type(0xFFFF);} }; -inline _LIBCPP_INLINE_VISIBILITY +inline int char_traits<char16_t>::compare(const char_type* __s1, const char_type* __s2, size_t __n) { @@ -759,7 +769,7 @@ char_traits<char16_t>::compare(const cha return 0; } -inline _LIBCPP_INLINE_VISIBILITY +inline size_t char_traits<char16_t>::length(const char_type* __s) { @@ -769,7 +779,7 @@ char_traits<char16_t>::length(const char return __len; } -inline _LIBCPP_INLINE_VISIBILITY +inline const char16_t* char_traits<char16_t>::find(const char_type* __s, size_t __n, const char_type& __a) { @@ -782,7 +792,7 @@ char_traits<char16_t>::find(const char_t return 0; } -inline _LIBCPP_INLINE_VISIBILITY +inline char16_t* char_traits<char16_t>::move(char_type* __s1, const char_type* __s2, size_t __n) { @@ -802,7 +812,7 @@ char_traits<char16_t>::move(char_type* _ return __r; } -inline _LIBCPP_INLINE_VISIBILITY +inline char16_t* char_traits<char16_t>::copy(char_type* __s1, const char_type* __s2, size_t __n) { @@ -813,7 +823,7 @@ char_traits<char16_t>::copy(char_type* _ return __r; } -inline _LIBCPP_INLINE_VISIBILITY +inline char16_t* char_traits<char16_t>::assign(char_type* __s, size_t __n, char_type __a) { @@ -839,11 +849,17 @@ struct _LIBCPP_TYPE_VIS_ONLY char_traits static inline _LIBCPP_CONSTEXPR bool lt(char_type __c1, char_type __c2) _NOEXCEPT {return __c1 < __c2;} + _LIBCPP_INLINE_VISIBILITY static int compare(const char_type* __s1, const char_type* __s2, size_t __n); + _LIBCPP_INLINE_VISIBILITY static size_t length(const char_type* __s); + _LIBCPP_INLINE_VISIBILITY static const char_type* find(const char_type* __s, size_t __n, const char_type& __a); + _LIBCPP_INLINE_VISIBILITY static char_type* move(char_type* __s1, const char_type* __s2, size_t __n); + _LIBCPP_INLINE_VISIBILITY static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n); + _LIBCPP_INLINE_VISIBILITY static char_type* assign(char_type* __s, size_t __n, char_type __a); static inline _LIBCPP_CONSTEXPR int_type not_eof(int_type __c) _NOEXCEPT @@ -858,7 +874,7 @@ struct _LIBCPP_TYPE_VIS_ONLY char_traits {return int_type(0xFFFFFFFF);} }; -inline _LIBCPP_INLINE_VISIBILITY +inline int char_traits<char32_t>::compare(const char_type* __s1, const char_type* __s2, size_t __n) { @@ -872,7 +888,7 @@ char_traits<char32_t>::compare(const cha return 0; } -inline _LIBCPP_INLINE_VISIBILITY +inline size_t char_traits<char32_t>::length(const char_type* __s) { @@ -882,7 +898,7 @@ char_traits<char32_t>::length(const char return __len; } -inline _LIBCPP_INLINE_VISIBILITY +inline const char32_t* char_traits<char32_t>::find(const char_type* __s, size_t __n, const char_type& __a) { @@ -895,7 +911,7 @@ char_traits<char32_t>::find(const char_t return 0; } -inline _LIBCPP_INLINE_VISIBILITY +inline char32_t* char_traits<char32_t>::move(char_type* __s1, const char_type* __s2, size_t __n) { @@ -915,7 +931,7 @@ char_traits<char32_t>::move(char_type* _ return __r; } -inline _LIBCPP_INLINE_VISIBILITY +inline char32_t* char_traits<char32_t>::copy(char_type* __s1, const char_type* __s2, size_t __n) { @@ -926,7 +942,7 @@ char_traits<char32_t>::copy(char_type* _ return __r; } -inline _LIBCPP_INLINE_VISIBILITY +inline char32_t* char_traits<char32_t>::assign(char_type* __s, size_t __n, char_type __a) { Modified: libcxx/trunk/include/thread URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/thread?rev=252385&r1=252384&r2=252385&view=diff ============================================================================== --- libcxx/trunk/include/thread (original) +++ libcxx/trunk/include/thread Fri Nov 6 19:22:13 2015 @@ -318,6 +318,7 @@ public: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES _LIBCPP_INLINE_VISIBILITY thread(thread&& __t) _NOEXCEPT : __t_(__t.__t_) {__t.__t_ = 0;} + _LIBCPP_INLINE_VISIBILITY thread& operator=(thread&& __t) _NOEXCEPT; #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES @@ -399,7 +400,7 @@ thread::thread(_Fp __f) #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES -inline _LIBCPP_INLINE_VISIBILITY +inline thread& thread::operator=(thread&& __t) _NOEXCEPT { Modified: libcxx/trunk/include/valarray URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/valarray?rev=252385&r1=252384&r2=252385&view=diff ============================================================================== --- libcxx/trunk/include/valarray (original) +++ libcxx/trunk/include/valarray Fri Nov 6 19:22:13 2015 @@ -802,11 +802,14 @@ public: // construct/destroy: _LIBCPP_INLINE_VISIBILITY valarray() : __begin_(0), __end_(0) {} + _LIBCPP_INLINE_VISIBILITY explicit valarray(size_t __n); + _LIBCPP_INLINE_VISIBILITY valarray(const value_type& __x, size_t __n); valarray(const value_type* __p, size_t __n); valarray(const valarray& __v); #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY valarray(valarray&& __v) _NOEXCEPT; #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS @@ -816,22 +819,31 @@ public: valarray(const gslice_array<value_type>& __ga); valarray(const mask_array<value_type>& __ma); valarray(const indirect_array<value_type>& __ia); + _LIBCPP_INLINE_VISIBILITY ~valarray(); // assignment: valarray& operator=(const valarray& __v); #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY valarray& operator=(valarray&& __v) _NOEXCEPT; #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS + _LIBCPP_INLINE_VISIBILITY valarray& operator=(initializer_list<value_type>); #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS + _LIBCPP_INLINE_VISIBILITY valarray& operator=(const value_type& __x); + _LIBCPP_INLINE_VISIBILITY valarray& operator=(const slice_array<value_type>& __sa); + _LIBCPP_INLINE_VISIBILITY valarray& operator=(const gslice_array<value_type>& __ga); + _LIBCPP_INLINE_VISIBILITY valarray& operator=(const mask_array<value_type>& __ma); + _LIBCPP_INLINE_VISIBILITY valarray& operator=(const indirect_array<value_type>& __ia); template <class _ValExpr> + _LIBCPP_INLINE_VISIBILITY valarray& operator=(const __val_expr<_ValExpr>& __v); // element access: @@ -842,24 +854,38 @@ public: value_type& operator[](size_t __i) {return __begin_[__i];} // subset operations: + _LIBCPP_INLINE_VISIBILITY __val_expr<__slice_expr<const valarray&> > operator[](slice __s) const; + _LIBCPP_INLINE_VISIBILITY slice_array<value_type> operator[](slice __s); + _LIBCPP_INLINE_VISIBILITY __val_expr<__indirect_expr<const valarray&> > operator[](const gslice& __gs) const; + _LIBCPP_INLINE_VISIBILITY gslice_array<value_type> operator[](const gslice& __gs); #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY __val_expr<__indirect_expr<const valarray&> > operator[](gslice&& __gs) const; + _LIBCPP_INLINE_VISIBILITY gslice_array<value_type> operator[](gslice&& __gs); #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY __val_expr<__mask_expr<const valarray&> > operator[](const valarray<bool>& __vb) const; + _LIBCPP_INLINE_VISIBILITY mask_array<value_type> operator[](const valarray<bool>& __vb); #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY __val_expr<__mask_expr<const valarray&> > operator[](valarray<bool>&& __vb) const; + _LIBCPP_INLINE_VISIBILITY mask_array<value_type> operator[](valarray<bool>&& __vb); #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY __val_expr<__indirect_expr<const valarray&> > operator[](const valarray<size_t>& __vs) const; + _LIBCPP_INLINE_VISIBILITY indirect_array<value_type> operator[](const valarray<size_t>& __vs); #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY __val_expr<__indirect_expr<const valarray&> > operator[](valarray<size_t>&& __vs) const; + _LIBCPP_INLINE_VISIBILITY indirect_array<value_type> operator[](valarray<size_t>&& __vs); #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES @@ -870,15 +896,25 @@ public: valarray<bool> operator!() const; // computed assignment: + _LIBCPP_INLINE_VISIBILITY valarray& operator*= (const value_type& __x); + _LIBCPP_INLINE_VISIBILITY valarray& operator/= (const value_type& __x); + _LIBCPP_INLINE_VISIBILITY valarray& operator%= (const value_type& __x); + _LIBCPP_INLINE_VISIBILITY valarray& operator+= (const value_type& __x); + _LIBCPP_INLINE_VISIBILITY valarray& operator-= (const value_type& __x); + _LIBCPP_INLINE_VISIBILITY valarray& operator^= (const value_type& __x); + _LIBCPP_INLINE_VISIBILITY valarray& operator&= (const value_type& __x); + _LIBCPP_INLINE_VISIBILITY valarray& operator|= (const value_type& __x); + _LIBCPP_INLINE_VISIBILITY valarray& operator<<=(const value_type& __x); + _LIBCPP_INLINE_VISIBILITY valarray& operator>>=(const value_type& __x); template <class _Expr> @@ -887,6 +923,7 @@ public: __is_val_expr<_Expr>::value, valarray& >::type + _LIBCPP_INLINE_VISIBILITY operator*= (const _Expr& __v); template <class _Expr> @@ -895,6 +932,7 @@ public: __is_val_expr<_Expr>::value, valarray& >::type + _LIBCPP_INLINE_VISIBILITY operator/= (const _Expr& __v); template <class _Expr> @@ -903,6 +941,7 @@ public: __is_val_expr<_Expr>::value, valarray& >::type + _LIBCPP_INLINE_VISIBILITY operator%= (const _Expr& __v); template <class _Expr> @@ -911,6 +950,7 @@ public: __is_val_expr<_Expr>::value, valarray& >::type + _LIBCPP_INLINE_VISIBILITY operator+= (const _Expr& __v); template <class _Expr> @@ -919,6 +959,7 @@ public: __is_val_expr<_Expr>::value, valarray& >::type + _LIBCPP_INLINE_VISIBILITY operator-= (const _Expr& __v); template <class _Expr> @@ -927,6 +968,7 @@ public: __is_val_expr<_Expr>::value, valarray& >::type + _LIBCPP_INLINE_VISIBILITY operator^= (const _Expr& __v); template <class _Expr> @@ -935,6 +977,7 @@ public: __is_val_expr<_Expr>::value, valarray& >::type + _LIBCPP_INLINE_VISIBILITY operator|= (const _Expr& __v); template <class _Expr> @@ -943,6 +986,7 @@ public: __is_val_expr<_Expr>::value, valarray& >::type + _LIBCPP_INLINE_VISIBILITY operator&= (const _Expr& __v); template <class _Expr> @@ -951,6 +995,7 @@ public: __is_val_expr<_Expr>::value, valarray& >::type + _LIBCPP_INLINE_VISIBILITY operator<<= (const _Expr& __v); template <class _Expr> @@ -959,16 +1004,21 @@ public: __is_val_expr<_Expr>::value, valarray& >::type + _LIBCPP_INLINE_VISIBILITY operator>>= (const _Expr& __v); // member functions: + _LIBCPP_INLINE_VISIBILITY void swap(valarray& __v) _NOEXCEPT; _LIBCPP_INLINE_VISIBILITY size_t size() const {return static_cast<size_t>(__end_ - __begin_);} + _LIBCPP_INLINE_VISIBILITY value_type sum() const; + _LIBCPP_INLINE_VISIBILITY value_type min() const; + _LIBCPP_INLINE_VISIBILITY value_type max() const; valarray shift (int __i) const; @@ -1114,6 +1164,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator=(const _Expr& __v) const; template <class _Expr> @@ -1122,6 +1173,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator*=(const _Expr& __v) const; template <class _Expr> @@ -1130,6 +1182,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator/=(const _Expr& __v) const; template <class _Expr> @@ -1138,6 +1191,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator%=(const _Expr& __v) const; template <class _Expr> @@ -1146,6 +1200,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator+=(const _Expr& __v) const; template <class _Expr> @@ -1154,6 +1209,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator-=(const _Expr& __v) const; template <class _Expr> @@ -1162,6 +1218,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator^=(const _Expr& __v) const; template <class _Expr> @@ -1170,6 +1227,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator&=(const _Expr& __v) const; template <class _Expr> @@ -1178,6 +1236,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator|=(const _Expr& __v) const; template <class _Expr> @@ -1186,6 +1245,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator<<=(const _Expr& __v) const; template <class _Expr> @@ -1194,10 +1254,13 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator>>=(const _Expr& __v) const; + _LIBCPP_INLINE_VISIBILITY const slice_array& operator=(const slice_array& __sa) const; + _LIBCPP_INLINE_VISIBILITY void operator=(const value_type& __x) const; private: @@ -1213,7 +1276,7 @@ private: }; template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline const slice_array<_Tp>& slice_array<_Tp>::operator=(const slice_array& __sa) const { @@ -1226,7 +1289,7 @@ slice_array<_Tp>::operator=(const slice_ template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1241,7 +1304,7 @@ slice_array<_Tp>::operator=(const _Expr& template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1256,7 +1319,7 @@ slice_array<_Tp>::operator*=(const _Expr template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1271,7 +1334,7 @@ slice_array<_Tp>::operator/=(const _Expr template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1286,7 +1349,7 @@ slice_array<_Tp>::operator%=(const _Expr template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1301,7 +1364,7 @@ slice_array<_Tp>::operator+=(const _Expr template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1316,7 +1379,7 @@ slice_array<_Tp>::operator-=(const _Expr template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1331,7 +1394,7 @@ slice_array<_Tp>::operator^=(const _Expr template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1346,7 +1409,7 @@ slice_array<_Tp>::operator&=(const _Expr template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1361,7 +1424,7 @@ slice_array<_Tp>::operator|=(const _Expr template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1376,7 +1439,7 @@ slice_array<_Tp>::operator<<=(const _Exp template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1390,7 +1453,7 @@ slice_array<_Tp>::operator>>=(const _Exp } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline void slice_array<_Tp>::operator=(const value_type& __x) const { @@ -1484,6 +1547,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator=(const _Expr& __v) const; template <class _Expr> @@ -1492,6 +1556,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator*=(const _Expr& __v) const; template <class _Expr> @@ -1500,6 +1565,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator/=(const _Expr& __v) const; template <class _Expr> @@ -1508,6 +1574,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator%=(const _Expr& __v) const; template <class _Expr> @@ -1516,6 +1583,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator+=(const _Expr& __v) const; template <class _Expr> @@ -1524,6 +1592,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator-=(const _Expr& __v) const; template <class _Expr> @@ -1532,6 +1601,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator^=(const _Expr& __v) const; template <class _Expr> @@ -1540,6 +1610,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator&=(const _Expr& __v) const; template <class _Expr> @@ -1548,6 +1619,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator|=(const _Expr& __v) const; template <class _Expr> @@ -1556,6 +1628,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator<<=(const _Expr& __v) const; template <class _Expr> @@ -1564,10 +1637,13 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator>>=(const _Expr& __v) const; + _LIBCPP_INLINE_VISIBILITY const gslice_array& operator=(const gslice_array& __ga) const; + _LIBCPP_INLINE_VISIBILITY void operator=(const value_type& __x) const; // gslice_array(const gslice_array&) = default; @@ -1576,20 +1652,16 @@ public: // gslice_array& operator=(gslice_array&&) = default; private: - _LIBCPP_INLINE_VISIBILITY gslice_array(const gslice& __gs, const valarray<value_type>& __v) : __vp_(const_cast<value_type*>(__v.__begin_)), __1d_(__gs.__1d_) {} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES - - _LIBCPP_INLINE_VISIBILITY gslice_array(gslice&& __gs, const valarray<value_type>& __v) : __vp_(const_cast<value_type*>(__v.__begin_)), __1d_(move(__gs.__1d_)) {} - #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class> friend class valarray; @@ -1597,7 +1669,7 @@ private: template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1613,7 +1685,7 @@ gslice_array<_Tp>::operator=(const _Expr template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1629,7 +1701,7 @@ gslice_array<_Tp>::operator*=(const _Exp template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1645,7 +1717,7 @@ gslice_array<_Tp>::operator/=(const _Exp template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1661,7 +1733,7 @@ gslice_array<_Tp>::operator%=(const _Exp template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1677,7 +1749,7 @@ gslice_array<_Tp>::operator+=(const _Exp template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1693,7 +1765,7 @@ gslice_array<_Tp>::operator-=(const _Exp template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1709,7 +1781,7 @@ gslice_array<_Tp>::operator^=(const _Exp template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1725,7 +1797,7 @@ gslice_array<_Tp>::operator&=(const _Exp template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1741,7 +1813,7 @@ gslice_array<_Tp>::operator|=(const _Exp template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1757,7 +1829,7 @@ gslice_array<_Tp>::operator<<=(const _Ex template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1772,7 +1844,7 @@ gslice_array<_Tp>::operator>>=(const _Ex } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline const gslice_array<_Tp>& gslice_array<_Tp>::operator=(const gslice_array& __ga) const { @@ -1785,7 +1857,7 @@ gslice_array<_Tp>::operator=(const gslic } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline void gslice_array<_Tp>::operator=(const value_type& __x) const { @@ -1813,6 +1885,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator=(const _Expr& __v) const; template <class _Expr> @@ -1821,6 +1894,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator*=(const _Expr& __v) const; template <class _Expr> @@ -1829,6 +1903,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator/=(const _Expr& __v) const; template <class _Expr> @@ -1837,6 +1912,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator%=(const _Expr& __v) const; template <class _Expr> @@ -1845,6 +1921,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator+=(const _Expr& __v) const; template <class _Expr> @@ -1853,6 +1930,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator-=(const _Expr& __v) const; template <class _Expr> @@ -1861,6 +1939,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator^=(const _Expr& __v) const; template <class _Expr> @@ -1869,6 +1948,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator&=(const _Expr& __v) const; template <class _Expr> @@ -1877,6 +1957,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator|=(const _Expr& __v) const; template <class _Expr> @@ -1885,6 +1966,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator<<=(const _Expr& __v) const; template <class _Expr> @@ -1893,10 +1975,13 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator>>=(const _Expr& __v) const; + _LIBCPP_INLINE_VISIBILITY const mask_array& operator=(const mask_array& __ma) const; + _LIBCPP_INLINE_VISIBILITY void operator=(const value_type& __x) const; // mask_array(const mask_array&) = default; @@ -1921,7 +2006,7 @@ private: template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1936,7 +2021,7 @@ mask_array<_Tp>::operator=(const _Expr& template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1951,7 +2036,7 @@ mask_array<_Tp>::operator*=(const _Expr& template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1966,7 +2051,7 @@ mask_array<_Tp>::operator/=(const _Expr& template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1981,7 +2066,7 @@ mask_array<_Tp>::operator%=(const _Expr& template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -1996,7 +2081,7 @@ mask_array<_Tp>::operator+=(const _Expr& template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2011,7 +2096,7 @@ mask_array<_Tp>::operator-=(const _Expr& template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2026,7 +2111,7 @@ mask_array<_Tp>::operator^=(const _Expr& template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2041,7 +2126,7 @@ mask_array<_Tp>::operator&=(const _Expr& template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2056,7 +2141,7 @@ mask_array<_Tp>::operator|=(const _Expr& template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2071,7 +2156,7 @@ mask_array<_Tp>::operator<<=(const _Expr template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2085,7 +2170,7 @@ mask_array<_Tp>::operator>>=(const _Expr } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline const mask_array<_Tp>& mask_array<_Tp>::operator=(const mask_array& __ma) const { @@ -2096,7 +2181,7 @@ mask_array<_Tp>::operator=(const mask_ar } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline void mask_array<_Tp>::operator=(const value_type& __x) const { @@ -2158,6 +2243,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator=(const _Expr& __v) const; template <class _Expr> @@ -2166,6 +2252,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator*=(const _Expr& __v) const; template <class _Expr> @@ -2174,6 +2261,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator/=(const _Expr& __v) const; template <class _Expr> @@ -2182,6 +2270,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator%=(const _Expr& __v) const; template <class _Expr> @@ -2190,6 +2279,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator+=(const _Expr& __v) const; template <class _Expr> @@ -2198,6 +2288,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator-=(const _Expr& __v) const; template <class _Expr> @@ -2206,6 +2297,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator^=(const _Expr& __v) const; template <class _Expr> @@ -2214,6 +2306,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator&=(const _Expr& __v) const; template <class _Expr> @@ -2222,6 +2315,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator|=(const _Expr& __v) const; template <class _Expr> @@ -2230,6 +2324,7 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator<<=(const _Expr& __v) const; template <class _Expr> @@ -2238,10 +2333,13 @@ public: __is_val_expr<_Expr>::value, void >::type + _LIBCPP_INLINE_VISIBILITY operator>>=(const _Expr& __v) const; + _LIBCPP_INLINE_VISIBILITY const indirect_array& operator=(const indirect_array& __ia) const; + _LIBCPP_INLINE_VISIBILITY void operator=(const value_type& __x) const; // indirect_array(const indirect_array&) = default; @@ -2271,7 +2369,7 @@ private: template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2286,7 +2384,7 @@ indirect_array<_Tp>::operator=(const _Ex template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2301,7 +2399,7 @@ indirect_array<_Tp>::operator*=(const _E template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2316,7 +2414,7 @@ indirect_array<_Tp>::operator/=(const _E template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2331,7 +2429,7 @@ indirect_array<_Tp>::operator%=(const _E template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2346,7 +2444,7 @@ indirect_array<_Tp>::operator+=(const _E template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2361,7 +2459,7 @@ indirect_array<_Tp>::operator-=(const _E template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2376,7 +2474,7 @@ indirect_array<_Tp>::operator^=(const _E template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2391,7 +2489,7 @@ indirect_array<_Tp>::operator&=(const _E template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2406,7 +2504,7 @@ indirect_array<_Tp>::operator|=(const _E template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2421,7 +2519,7 @@ indirect_array<_Tp>::operator<<=(const _ template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -2435,7 +2533,7 @@ indirect_array<_Tp>::operator>>=(const _ } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline const indirect_array<_Tp>& indirect_array<_Tp>::operator=(const indirect_array& __ia) const { @@ -2448,7 +2546,7 @@ indirect_array<_Tp>::operator=(const ind } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline void indirect_array<_Tp>::operator=(const value_type& __x) const { @@ -2650,7 +2748,7 @@ __val_expr<_ValExpr>::operator valarray< // valarray template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>::valarray(size_t __n) : __begin_(0), __end_(0) @@ -2659,7 +2757,7 @@ valarray<_Tp>::valarray(size_t __n) } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>::valarray(const value_type& __x, size_t __n) : __begin_(0), __end_(0) @@ -2720,7 +2818,7 @@ valarray<_Tp>::valarray(const valarray& #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>::valarray(valarray&& __v) _NOEXCEPT : __begin_(__v.__begin_), __end_(__v.__end_) @@ -2874,7 +2972,7 @@ valarray<_Tp>::valarray(const indirect_a } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>::~valarray() { resize(0); @@ -2896,7 +2994,7 @@ valarray<_Tp>::operator=(const valarray& #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator=(valarray&& __v) _NOEXCEPT { @@ -2913,7 +3011,7 @@ valarray<_Tp>::operator=(valarray&& __v) #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator=(initializer_list<value_type> __il) { @@ -2926,7 +3024,7 @@ valarray<_Tp>::operator=(initializer_lis #endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator=(const value_type& __x) { @@ -2935,7 +3033,7 @@ valarray<_Tp>::operator=(const value_typ } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator=(const slice_array<value_type>& __sa) { @@ -2947,7 +3045,7 @@ valarray<_Tp>::operator=(const slice_arr } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator=(const gslice_array<value_type>& __ga) { @@ -2961,7 +3059,7 @@ valarray<_Tp>::operator=(const gslice_ar } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator=(const mask_array<value_type>& __ma) { @@ -2975,7 +3073,7 @@ valarray<_Tp>::operator=(const mask_arra } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator=(const indirect_array<value_type>& __ia) { @@ -2990,7 +3088,7 @@ valarray<_Tp>::operator=(const indirect_ template <class _Tp> template <class _ValExpr> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator=(const __val_expr<_ValExpr>& __v) { @@ -3004,7 +3102,7 @@ valarray<_Tp>::operator=(const __val_exp } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline __val_expr<__slice_expr<const valarray<_Tp>&> > valarray<_Tp>::operator[](slice __s) const { @@ -3012,7 +3110,7 @@ valarray<_Tp>::operator[](slice __s) con } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline slice_array<_Tp> valarray<_Tp>::operator[](slice __s) { @@ -3020,7 +3118,7 @@ valarray<_Tp>::operator[](slice __s) } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline __val_expr<__indirect_expr<const valarray<_Tp>&> > valarray<_Tp>::operator[](const gslice& __gs) const { @@ -3028,7 +3126,7 @@ valarray<_Tp>::operator[](const gslice& } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline gslice_array<_Tp> valarray<_Tp>::operator[](const gslice& __gs) { @@ -3038,7 +3136,7 @@ valarray<_Tp>::operator[](const gslice& #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline __val_expr<__indirect_expr<const valarray<_Tp>&> > valarray<_Tp>::operator[](gslice&& __gs) const { @@ -3046,7 +3144,7 @@ valarray<_Tp>::operator[](gslice&& __gs) } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline gslice_array<_Tp> valarray<_Tp>::operator[](gslice&& __gs) { @@ -3056,7 +3154,7 @@ valarray<_Tp>::operator[](gslice&& __gs) #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline __val_expr<__mask_expr<const valarray<_Tp>&> > valarray<_Tp>::operator[](const valarray<bool>& __vb) const { @@ -3064,7 +3162,7 @@ valarray<_Tp>::operator[](const valarray } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline mask_array<_Tp> valarray<_Tp>::operator[](const valarray<bool>& __vb) { @@ -3074,7 +3172,7 @@ valarray<_Tp>::operator[](const valarray #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline __val_expr<__mask_expr<const valarray<_Tp>&> > valarray<_Tp>::operator[](valarray<bool>&& __vb) const { @@ -3082,7 +3180,7 @@ valarray<_Tp>::operator[](valarray<bool> } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline mask_array<_Tp> valarray<_Tp>::operator[](valarray<bool>&& __vb) { @@ -3092,7 +3190,7 @@ valarray<_Tp>::operator[](valarray<bool> #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline __val_expr<__indirect_expr<const valarray<_Tp>&> > valarray<_Tp>::operator[](const valarray<size_t>& __vs) const { @@ -3100,7 +3198,7 @@ valarray<_Tp>::operator[](const valarray } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline indirect_array<_Tp> valarray<_Tp>::operator[](const valarray<size_t>& __vs) { @@ -3110,7 +3208,7 @@ valarray<_Tp>::operator[](const valarray #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline __val_expr<__indirect_expr<const valarray<_Tp>&> > valarray<_Tp>::operator[](valarray<size_t>&& __vs) const { @@ -3118,7 +3216,7 @@ valarray<_Tp>::operator[](valarray<size_ } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline indirect_array<_Tp> valarray<_Tp>::operator[](valarray<size_t>&& __vs) { @@ -3196,7 +3294,7 @@ valarray<_Tp>::operator!() const } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator*=(const value_type& __x) { @@ -3206,7 +3304,7 @@ valarray<_Tp>::operator*=(const value_ty } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator/=(const value_type& __x) { @@ -3216,7 +3314,7 @@ valarray<_Tp>::operator/=(const value_ty } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator%=(const value_type& __x) { @@ -3226,7 +3324,7 @@ valarray<_Tp>::operator%=(const value_ty } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator+=(const value_type& __x) { @@ -3236,7 +3334,7 @@ valarray<_Tp>::operator+=(const value_ty } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator-=(const value_type& __x) { @@ -3246,7 +3344,7 @@ valarray<_Tp>::operator-=(const value_ty } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator^=(const value_type& __x) { @@ -3256,7 +3354,7 @@ valarray<_Tp>::operator^=(const value_ty } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator&=(const value_type& __x) { @@ -3266,7 +3364,7 @@ valarray<_Tp>::operator&=(const value_ty } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator|=(const value_type& __x) { @@ -3276,7 +3374,7 @@ valarray<_Tp>::operator|=(const value_ty } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator<<=(const value_type& __x) { @@ -3286,7 +3384,7 @@ valarray<_Tp>::operator<<=(const value_t } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline valarray<_Tp>& valarray<_Tp>::operator>>=(const value_type& __x) { @@ -3297,7 +3395,7 @@ valarray<_Tp>::operator>>=(const value_t template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -3313,7 +3411,7 @@ valarray<_Tp>::operator*=(const _Expr& _ template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -3329,7 +3427,7 @@ valarray<_Tp>::operator/=(const _Expr& _ template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -3345,7 +3443,7 @@ valarray<_Tp>::operator%=(const _Expr& _ template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -3361,7 +3459,7 @@ valarray<_Tp>::operator+=(const _Expr& _ template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -3377,7 +3475,7 @@ valarray<_Tp>::operator-=(const _Expr& _ template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -3393,7 +3491,7 @@ valarray<_Tp>::operator^=(const _Expr& _ template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -3409,7 +3507,7 @@ valarray<_Tp>::operator|=(const _Expr& _ template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -3425,7 +3523,7 @@ valarray<_Tp>::operator&=(const _Expr& _ template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -3441,7 +3539,7 @@ valarray<_Tp>::operator<<=(const _Expr& template <class _Tp> template <class _Expr> -inline _LIBCPP_INLINE_VISIBILITY +inline typename enable_if < __is_val_expr<_Expr>::value, @@ -3456,7 +3554,7 @@ valarray<_Tp>::operator>>=(const _Expr& } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline void valarray<_Tp>::swap(valarray& __v) _NOEXCEPT { @@ -3465,7 +3563,7 @@ valarray<_Tp>::swap(valarray& __v) _NOEX } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline _Tp valarray<_Tp>::sum() const { @@ -3479,7 +3577,7 @@ valarray<_Tp>::sum() const } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline _Tp valarray<_Tp>::min() const { @@ -3489,7 +3587,7 @@ valarray<_Tp>::min() const } template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline _Tp valarray<_Tp>::max() const { Modified: libcxx/trunk/include/vector URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/vector?rev=252385&r1=252384&r2=252385&view=diff ============================================================================== --- libcxx/trunk/include/vector (original) +++ libcxx/trunk/include/vector Fri Nov 6 19:22:13 2015 @@ -685,9 +685,11 @@ public: _LIBCPP_INLINE_VISIBILITY void push_back(value_type&& __x); #ifndef _LIBCPP_HAS_NO_VARIADICS template <class... _Args> + _LIBCPP_INLINE_VISIBILITY void emplace_back(_Args&&... __args); #endif // _LIBCPP_HAS_NO_VARIADICS #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY void pop_back(); iterator insert(const_iterator __position, const_reference __x); @@ -766,6 +768,7 @@ private: void deallocate() _NOEXCEPT; _LIBCPP_INLINE_VISIBILITY size_type __recommend(size_type __new_size) const; void __construct_at_end(size_type __n); + _LIBCPP_INLINE_VISIBILITY void __construct_at_end(size_type __n, const_reference __x); template <class _ForwardIterator> typename enable_if @@ -990,7 +993,7 @@ vector<_Tp, _Allocator>::__construct_at_ // Postcondition: size() == old size() + __n // Postcondition: [i] == __x for all i in [size() - __n, __n) template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline void vector<_Tp, _Allocator>::__construct_at_end(size_type __n, const_reference __x) { @@ -1627,7 +1630,7 @@ vector<_Tp, _Allocator>::__emplace_back_ template <class _Tp, class _Allocator> template <class... _Args> -inline _LIBCPP_INLINE_VISIBILITY +inline void vector<_Tp, _Allocator>::emplace_back(_Args&&... __args) { @@ -1648,7 +1651,7 @@ vector<_Tp, _Allocator>::emplace_back(_A #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES template <class _Tp, class _Allocator> -inline _LIBCPP_INLINE_VISIBILITY +inline void vector<_Tp, _Allocator>::pop_back() { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits