Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/llvm/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2012-11-07 01:08:48 +0400
committerHoward Hinnant <hhinnant@apple.com>2012-11-07 01:08:48 +0400
commitcd47cbc7a44604a65d3ef391822a32b79b2f61e4 (patch)
treea8a24b04b88d31cf33571aeadc5d3252ca45e831 /libcxx/include/string
parentdc4ecaff07b62f7ddf4be17d72b336182382b0e5 (diff)
Provide a way to disable use of extern templates in libc++. This is intended for the clients of libc++, not the libc++ build. The dylib should always contain the extern templates. To disable the client needs to put -D'_LIBCPP_EXTERN_TEMPLATE(...)=' on the command line.
llvm-svn: 167486
Diffstat (limited to 'libcxx/include/string')
-rw-r--r--libcxx/include/string6
1 files changed, 3 insertions, 3 deletions
diff --git a/libcxx/include/string b/libcxx/include/string
index 00016ee9801f..5bf42f023a41 100644
--- a/libcxx/include/string
+++ b/libcxx/include/string
@@ -1031,7 +1031,7 @@ __basic_string_common<__b>::__throw_out_of_range() const
#pragma warning( push )
#pragma warning( disable: 4231 )
#endif // _MSC_VER
-extern template class __basic_string_common<true>;
+_LIBCPP_EXTERN_TEMPLATE(class __basic_string_common<true>)
#ifdef _MSC_VER
#pragma warning( pop )
#endif // _MSC_VER
@@ -3975,8 +3975,8 @@ getline(basic_istream<_CharT, _Traits>&& __is,
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-extern template class basic_string<char>;
-extern template class basic_string<wchar_t>;
+_LIBCPP_EXTERN_TEMPLATE(class basic_string<char>)
+_LIBCPP_EXTERN_TEMPLATE(class basic_string<wchar_t>)
extern template
string