summaryrefslogtreecommitdiffstats
path: root/libcxx/include/string
diff options
context:
space:
mode:
authorShoaib Meenai <smeenai@fb.com>2017-07-13 21:35:52 +0000
committerShoaib Meenai <smeenai@fb.com>2017-07-13 21:35:52 +0000
commit5b67cd3567c9d4088abc89a504567fb87064ec65 (patch)
tree1750e6c4d80c614c1943e1491930053ae03bdbc0 /libcxx/include/string
parentc44edbcc940a90a34a310bb16ac37191feae8eb8 (diff)
downloadbcm5719-llvm-5b67cd3567c9d4088abc89a504567fb87064ec65.tar.gz
bcm5719-llvm-5b67cd3567c9d4088abc89a504567fb87064ec65.zip
[libc++] Mark string operator+ _LIBCPP_FUNC_VIS
It has an extern template instantiation declaration in the headers and a corresponding instantiation definition in the library, so we must mark it with _LIBCPP_FUNC_VIS to make it available outside the library. This doesn't cause any ABI changes as-is since we don't build libc++ with hidden visibility (so the function is exported anyway). It's needed for building libc++ with hidden visibility, however. Clarify the Windows behavior for extern function templates while I'm here, since this exercises that behavior. llvm-svn: 307966
Diffstat (limited to 'libcxx/include/string')
-rw-r--r--libcxx/include/string2
1 files changed, 1 insertions, 1 deletions
diff --git a/libcxx/include/string b/libcxx/include/string
index 010a4c7816e..97fb4a1e225 100644
--- a/libcxx/include/string
+++ b/libcxx/include/string
@@ -4006,7 +4006,7 @@ basic_string<_CharT, _Traits, _Allocator>::__subscriptable(const const_iterator*
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<char>)
_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_string<wchar_t>)
-_LIBCPP_EXTERN_TEMPLATE(string operator+<char, char_traits<char>, allocator<char> >(char const*, string const&))
+_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS string operator+<char, char_traits<char>, allocator<char> >(char const*, string const&))
#if _LIBCPP_STD_VER > 11
// Literal suffixes for basic_string [basic.string.literals]
OpenPOWER on IntegriCloud