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:
@@ -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
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
|
|
||||||
#include "algorithm"
|
#include "algorithm"
|
||||||
#include "random"
|
#include "random"
|
||||||
#include "mutex"
|
#include "mutex"
|
||||||
|
|||||||
@@ -7,8 +7,6 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
|
|
||||||
|
|
||||||
#include "ios"
|
#include "ios"
|
||||||
#include "streambuf"
|
#include "streambuf"
|
||||||
#include "istream"
|
#include "istream"
|
||||||
|
|||||||
@@ -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__
|
||||||
|
|||||||
@@ -7,8 +7,6 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
|
|
||||||
|
|
||||||
#include "string"
|
#include "string"
|
||||||
#include "cstdlib"
|
#include "cstdlib"
|
||||||
#include "cwchar"
|
#include "cwchar"
|
||||||
|
|||||||
@@ -7,8 +7,6 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
|
|
||||||
|
|
||||||
#include "valarray"
|
#include "valarray"
|
||||||
|
|
||||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||||
|
|||||||
Reference in New Issue
Block a user