Author: arphaman Date: Thu Nov 9 09:54:49 2017 New Revision: 317816 URL: http://llvm.org/viewvc/llvm-project?rev=317816&view=rev Log: Add _LIBCPP_INLINE_VISIBILITY to __compressed_pair_elem members
The commit r300140 changed the implementation of compressed_pair, but didn't add _LIBCPP_INLINE_VISIBILITY to the constructors and get members of the compressed_pair_elem class. This patch adds the visibility annotation. I didn't find a way to test this change with libc++ regression tests. rdar://35352579 Differential Revision: https://reviews.llvm.org/D39751 Modified: libcxx/trunk/include/memory Modified: libcxx/trunk/include/memory URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/memory?rev=317816&r1=317815&r2=317816&view=diff ============================================================================== --- libcxx/trunk/include/memory (original) +++ libcxx/trunk/include/memory Thu Nov 9 09:54:49 2017 @@ -2040,11 +2040,12 @@ struct __compressed_pair_elem { typedef const _Tp& const_reference; #ifndef _LIBCPP_CXX03_LANG - constexpr __compressed_pair_elem() : __value_() {} + _LIBCPP_INLINE_VISIBILITY constexpr __compressed_pair_elem() : __value_() {} template <class _Up, class = typename enable_if< !is_same<__compressed_pair_elem, typename decay<_Up>::type>::value >::type> + _LIBCPP_INLINE_VISIBILITY constexpr explicit __compressed_pair_elem(_Up&& __u) : __value_(_VSTD::forward<_Up>(__u)){}; @@ -2055,11 +2056,13 @@ struct __compressed_pair_elem { __tuple_indices<_Indexes...>) : __value_(_VSTD::forward<_Args>(_VSTD::get<_Indexes>(__args))...) {} #else - __compressed_pair_elem() : __value_() {} + _LIBCPP_INLINE_VISIBILITY __compressed_pair_elem() : __value_() {} + _LIBCPP_INLINE_VISIBILITY __compressed_pair_elem(_ParamT __p) : __value_(std::forward<_ParamT>(__p)) {} #endif - reference __get() _NOEXCEPT { return __value_; } + _LIBCPP_INLINE_VISIBILITY reference __get() _NOEXCEPT { return __value_; } + _LIBCPP_INLINE_VISIBILITY const_reference __get() const _NOEXCEPT { return __value_; } private: @@ -2074,11 +2077,12 @@ struct __compressed_pair_elem<_Tp, _Idx, typedef _Tp __value_type; #ifndef _LIBCPP_CXX03_LANG - constexpr __compressed_pair_elem() = default; + _LIBCPP_INLINE_VISIBILITY constexpr __compressed_pair_elem() = default; template <class _Up, class = typename enable_if< !is_same<__compressed_pair_elem, typename decay<_Up>::type>::value >::type> + _LIBCPP_INLINE_VISIBILITY constexpr explicit __compressed_pair_elem(_Up&& __u) : __value_type(_VSTD::forward<_Up>(__u)){}; @@ -2089,12 +2093,14 @@ struct __compressed_pair_elem<_Tp, _Idx, __tuple_indices<_Indexes...>) : __value_type(_VSTD::forward<_Args>(_VSTD::get<_Indexes>(__args))...) {} #else - __compressed_pair_elem() : __value_type() {} + _LIBCPP_INLINE_VISIBILITY __compressed_pair_elem() : __value_type() {} + _LIBCPP_INLINE_VISIBILITY __compressed_pair_elem(_ParamT __p) : __value_type(std::forward<_ParamT>(__p)) {} #endif - reference __get() _NOEXCEPT { return *this; } + _LIBCPP_INLINE_VISIBILITY reference __get() _NOEXCEPT { return *this; } + _LIBCPP_INLINE_VISIBILITY const_reference __get() const _NOEXCEPT { return *this; } }; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits