From cf38eb99dee016b7c533e10c502a99b4b009328d Mon Sep 17 00:00:00 2001 From: Shoaib Meenai Date: Mon, 3 Apr 2017 04:04:24 +0000 Subject: [PATCH] [libc++] Explicitly mark specializations as dllexport Method specializations don't get exported even if there's an exported extern template instantiation on Windows. Explicitly mark the methods for export. They're already exported on Linux and Darwin, so there's no ABI change on those platforms. llvm-svn: 299348 --- libcxx/include/locale | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libcxx/include/locale b/libcxx/include/locale index 138ebf0..da31a1e 100644 --- a/libcxx/include/locale +++ b/libcxx/include/locale @@ -2631,10 +2631,10 @@ private: void init(const char*); }; -template<> void moneypunct_byname::init(const char*); -template<> void moneypunct_byname::init(const char*); -template<> void moneypunct_byname::init(const char*); -template<> void moneypunct_byname::init(const char*); +template<> _LIBCPP_FUNC_VIS void moneypunct_byname::init(const char*); +template<> _LIBCPP_FUNC_VIS void moneypunct_byname::init(const char*); +template<> _LIBCPP_FUNC_VIS void moneypunct_byname::init(const char*); +template<> _LIBCPP_FUNC_VIS void moneypunct_byname::init(const char*); _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname) _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname) -- 2.7.4