summaryrefslogtreecommitdiffstats
path: root/libcxx
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2017-02-04 20:38:35 +0000
committerEric Fiselier <eric@efcs.ca>2017-02-04 20:38:35 +0000
commitdfc9947636ceab64b15bbc4c60aa9b7308a98a0c (patch)
tree49feb7e8ea2de9982e021597acff41678da276f3 /libcxx
parentfb5c750222c63e882bbb5ea9ed15127038152bba (diff)
downloadbcm5719-llvm-dfc9947636ceab64b15bbc4c60aa9b7308a98a0c.tar.gz
bcm5719-llvm-dfc9947636ceab64b15bbc4c60aa9b7308a98a0c.zip
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. llvm-svn: 294100
Diffstat (limited to 'libcxx')
-rw-r--r--libcxx/include/string4
1 files changed, 2 insertions, 2 deletions
diff --git a/libcxx/include/string b/libcxx/include/string
index 9a85797acaa..cdc3374ab6b 100644
--- a/libcxx/include/string
+++ b/libcxx/include/string
@@ -998,7 +998,7 @@ public:
basic_string& assign(const value_type* __s);
basic_string& assign(size_type __n, value_type __c);
template<class _InputIterator>
- typename enable_if
+ inline typename enable_if
<
__is_exactly_input_iterator<_InputIterator>::value
|| !__libcpp_string_gets_noexcept_iterator<_InputIterator>::value,
@@ -1006,7 +1006,7 @@ public:
>::type
assign(_InputIterator __first, _InputIterator __last);
template<class _ForwardIterator>
- typename enable_if
+ inline typename enable_if
<
__is_forward_iterator<_ForwardIterator>::value
&& __libcpp_string_gets_noexcept_iterator<_ForwardIterator>::value,
OpenPOWER on IntegriCloud