Mark basic_string::assign templates as inline to improve ABI stability.
Visible definitions for basic_string::assign are sometimes emitted in the dylib depending on the version of LLVM used to compile libc++. This can cause the check-cxx-abilist target to fail. This patch attempts marks the basic_string::assign templates as inline to prevent this. That way the export list is consistent across LLVM versions. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@294100 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -998,7 +998,7 @@ public:
|
|||||||
basic_string& assign(const value_type* __s);
|
basic_string& assign(const value_type* __s);
|
||||||
basic_string& assign(size_type __n, value_type __c);
|
basic_string& assign(size_type __n, value_type __c);
|
||||||
template<class _InputIterator>
|
template<class _InputIterator>
|
||||||
typename enable_if
|
inline typename enable_if
|
||||||
<
|
<
|
||||||
__is_exactly_input_iterator<_InputIterator>::value
|
__is_exactly_input_iterator<_InputIterator>::value
|
||||||
|| !__libcpp_string_gets_noexcept_iterator<_InputIterator>::value,
|
|| !__libcpp_string_gets_noexcept_iterator<_InputIterator>::value,
|
||||||
@@ -1006,7 +1006,7 @@ public:
|
|||||||
>::type
|
>::type
|
||||||
assign(_InputIterator __first, _InputIterator __last);
|
assign(_InputIterator __first, _InputIterator __last);
|
||||||
template<class _ForwardIterator>
|
template<class _ForwardIterator>
|
||||||
typename enable_if
|
inline typename enable_if
|
||||||
<
|
<
|
||||||
__is_forward_iterator<_ForwardIterator>::value
|
__is_forward_iterator<_ForwardIterator>::value
|
||||||
&& __libcpp_string_gets_noexcept_iterator<_ForwardIterator>::value,
|
&& __libcpp_string_gets_noexcept_iterator<_ForwardIterator>::value,
|
||||||
|
|||||||
Reference in New Issue
Block a user