eugenis created this revision. eugenis added a reviewer: EricWF. eugenis added a subscriber: cfe-commits. eugenis set the repository for this revision to rL LLVM.
The switch to internal_linkage attribute removes 3 symbols from the libc++ export table, all in basic_string: insert(..., InputIterator insert(..., ForwardIterator replace(..., InputIterator These are template methods of a template class. They are instantiated only in functions/methods that are marked with LIBCPP_INLINE_VISIBILITY; normally they are exported as linkonce_odr; after the internal_linkage switch they are not instantiated at all because their callers are never evaluated. This change explicitly exports these methods to avoid this problem. It does not change the export list of libc++.so in any way. Repository: rL LLVM http://reviews.llvm.org/D15434 Files: src/string.cpp Index: src/string.cpp =================================================================== --- src/string.cpp +++ src/string.cpp @@ -29,6 +29,13 @@ string operator+<char, char_traits<char>, allocator<char> >(char const*, string const&); +template string::iterator string::insert(string::const_iterator, char const *, + char const *); +template basic_string<wchar_t> & +basic_string<wchar_t>::replace(basic_string<wchar_t>::const_iterator, + basic_string<wchar_t>::const_iterator, + wchar_t const *, wchar_t const *); + namespace {
Index: src/string.cpp =================================================================== --- src/string.cpp +++ src/string.cpp @@ -29,6 +29,13 @@ string operator+<char, char_traits<char>, allocator<char> >(char const*, string const&); +template string::iterator string::insert(string::const_iterator, char const *, + char const *); +template basic_string<wchar_t> & +basic_string<wchar_t>::replace(basic_string<wchar_t>::const_iterator, + basic_string<wchar_t>::const_iterator, + wchar_t const *, wchar_t const *); + namespace {
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits