summaryrefslogtreecommitdiffstats
path: root/libcxx/include/__locale
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2012-11-06 21:08:48 +0000
committerHoward Hinnant <hhinnant@apple.com>2012-11-06 21:08:48 +0000
commitcd47cbc7a44604a65d3ef391822a32b79b2f61e4 (patch)
treea8a24b04b88d31cf33571aeadc5d3252ca45e831 /libcxx/include/__locale
parentdc4ecaff07b62f7ddf4be17d72b336182382b0e5 (diff)
downloadbcm5719-llvm-cd47cbc7a44604a65d3ef391822a32b79b2f61e4.tar.gz
bcm5719-llvm-cd47cbc7a44604a65d3ef391822a32b79b2f61e4.zip
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/__locale')
-rw-r--r--libcxx/include/__locale12
1 files changed, 6 insertions, 6 deletions
diff --git a/libcxx/include/__locale b/libcxx/include/__locale
index e6c357f9e53..4176720c661 100644
--- a/libcxx/include/__locale
+++ b/libcxx/include/__locale
@@ -254,8 +254,8 @@ collate<_CharT>::do_hash(const char_type* __lo, const char_type* __hi) const
return static_cast<long>(__h);
}
-extern template class _LIBCPP_VISIBLE collate<char>;
-extern template class _LIBCPP_VISIBLE collate<wchar_t>;
+_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_VISIBLE collate<char>)
+_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_VISIBLE collate<wchar_t>)
// template <class CharT> class collate_byname;
@@ -1135,10 +1135,10 @@ codecvt_byname<_InternT, _ExternT, _StateT>::~codecvt_byname()
{
}
-extern template class codecvt_byname<char, char, mbstate_t>;
-extern template class codecvt_byname<wchar_t, char, mbstate_t>;
-extern template class codecvt_byname<char16_t, char, mbstate_t>;
-extern template class codecvt_byname<char32_t, char, mbstate_t>;
+_LIBCPP_EXTERN_TEMPLATE(class codecvt_byname<char, char, mbstate_t>)
+_LIBCPP_EXTERN_TEMPLATE(class codecvt_byname<wchar_t, char, mbstate_t>)
+_LIBCPP_EXTERN_TEMPLATE(class codecvt_byname<char16_t, char, mbstate_t>)
+_LIBCPP_EXTERN_TEMPLATE(class codecvt_byname<char32_t, char, mbstate_t>)
_LIBCPP_VISIBLE void __throw_runtime_error(const char*);
OpenPOWER on IntegriCloud