Revert "Turn off extern templates for most uses."

Turning off explicit template instantiation leads to a pretty
significant build time and code size cost. We're better off dealing
with ABI incompatibility issues that come up in a less heavy handed
way.

This reverts commit r189610.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@215740 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Justin Bogner
2014-08-15 17:58:56 +00:00
parent c808961618
commit 98c4e404ca
6 changed files with 1 additions and 10 deletions

View File

@@ -608,7 +608,7 @@ template <unsigned> struct __static_assert_check {};
#endif #endif
#ifndef _LIBCPP_EXTERN_TEMPLATE #ifndef _LIBCPP_EXTERN_TEMPLATE
#define _LIBCPP_EXTERN_TEMPLATE(...) #define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
#endif #endif
#ifndef _LIBCPP_EXTERN_TEMPLATE2 #ifndef _LIBCPP_EXTERN_TEMPLATE2

View File

@@ -7,7 +7,6 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
#include "algorithm" #include "algorithm"
#include "random" #include "random"
#include "mutex" #include "mutex"

View File

@@ -7,8 +7,6 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
#include "ios" #include "ios"
#include "streambuf" #include "streambuf"
#include "istream" #include "istream"

View File

@@ -7,8 +7,6 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
// On Solaris, we need to define something to make the C99 parts of localeconv // On Solaris, we need to define something to make the C99 parts of localeconv
// visible. // visible.
#ifdef __sun__ #ifdef __sun__

View File

@@ -7,8 +7,6 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
#include "string" #include "string"
#include "cstdlib" #include "cstdlib"
#include "cwchar" #include "cwchar"

View File

@@ -7,8 +7,6 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
#include "valarray" #include "valarray"
_LIBCPP_BEGIN_NAMESPACE_STD _LIBCPP_BEGIN_NAMESPACE_STD