diff options
| author | Shoaib Meenai <smeenai@fb.com> | 2017-07-13 21:35:52 +0000 |
|---|---|---|
| committer | Shoaib Meenai <smeenai@fb.com> | 2017-07-13 21:35:52 +0000 |
| commit | 5b67cd3567c9d4088abc89a504567fb87064ec65 (patch) | |
| tree | 1750e6c4d80c614c1943e1491930053ae03bdbc0 /libcxx/include/string | |
| parent | c44edbcc940a90a34a310bb16ac37191feae8eb8 (diff) | |
| download | bcm5719-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/string | 2 |
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] |

