diff --git a/include/__config b/include/__config index ddd14f361..5dfea99ca 100644 --- a/include/__config +++ b/include/__config @@ -609,7 +609,7 @@ template struct __static_assert_check {}; #endif #ifndef _LIBCPP_EXTERN_TEMPLATE -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; +#define _LIBCPP_EXTERN_TEMPLATE(...) #endif #ifndef _LIBCPP_EXTERN_TEMPLATE2 diff --git a/src/algorithm.cpp b/src/algorithm.cpp index e548856ff..c13d5f246 100644 --- a/src/algorithm.cpp +++ b/src/algorithm.cpp @@ -7,6 +7,7 @@ // //===----------------------------------------------------------------------===// +#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; #include "algorithm" #include "random" #include "mutex" diff --git a/src/ios.cpp b/src/ios.cpp index d879beb38..90ba1913a 100644 --- a/src/ios.cpp +++ b/src/ios.cpp @@ -8,6 +8,7 @@ //===----------------------------------------------------------------------===// #include "__config" + #include "ios" #include "streambuf" #include "istream" diff --git a/src/locale.cpp b/src/locale.cpp index f21e35dd5..e626528fc 100644 --- a/src/locale.cpp +++ b/src/locale.cpp @@ -7,6 +7,8 @@ // //===----------------------------------------------------------------------===// +#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; + // On Solaris, we need to define something to make the C99 parts of localeconv // visible. #ifdef __sun__ diff --git a/src/string.cpp b/src/string.cpp index febc53209..8aea0f793 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -7,6 +7,8 @@ // //===----------------------------------------------------------------------===// +#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; + #include "string" #include "cstdlib" #include "cwchar" diff --git a/src/valarray.cpp b/src/valarray.cpp index 2d8db52ac..e4c9ed024 100644 --- a/src/valarray.cpp +++ b/src/valarray.cpp @@ -7,6 +7,8 @@ // //===----------------------------------------------------------------------===// +#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; + #include "valarray" _LIBCPP_BEGIN_NAMESPACE_STD