diff options
author | Justin Bogner <mail@justinbogner.com> | 2014-08-15 17:58:56 +0000 |
---|---|---|
committer | Justin Bogner <mail@justinbogner.com> | 2014-08-15 17:58:56 +0000 |
commit | d2308ea5fd583e8d342d9e8baa00486b57c6a9a9 (patch) | |
tree | de1fd85c42d8be4c0742bdd4f7208d611a483468 | |
parent | b2baffaffd914c58375a682b567415f17b93f5bd (diff) | |
download | llvm-d2308ea5fd583e8d342d9e8baa00486b57c6a9a9.zip llvm-d2308ea5fd583e8d342d9e8baa00486b57c6a9a9.tar.gz llvm-d2308ea5fd583e8d342d9e8baa00486b57c6a9a9.tar.bz2 |
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.
llvm-svn: 215740
-rw-r--r-- | libcxx/include/__config | 2 | ||||
-rw-r--r-- | libcxx/src/algorithm.cpp | 1 | ||||
-rw-r--r-- | libcxx/src/ios.cpp | 2 | ||||
-rw-r--r-- | libcxx/src/locale.cpp | 2 | ||||
-rw-r--r-- | libcxx/src/string.cpp | 2 | ||||
-rw-r--r-- | libcxx/src/valarray.cpp | 2 |
6 files changed, 1 insertions, 10 deletions
diff --git a/libcxx/include/__config b/libcxx/include/__config index ce235af..c9718cf 100644 --- a/libcxx/include/__config +++ b/libcxx/include/__config @@ -608,7 +608,7 @@ template <unsigned> struct __static_assert_check {}; #endif #ifndef _LIBCPP_EXTERN_TEMPLATE -#define _LIBCPP_EXTERN_TEMPLATE(...) +#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; #endif #ifndef _LIBCPP_EXTERN_TEMPLATE2 diff --git a/libcxx/src/algorithm.cpp b/libcxx/src/algorithm.cpp index 10c4c331..6d5cf7c 100644 --- a/libcxx/src/algorithm.cpp +++ b/libcxx/src/algorithm.cpp @@ -7,7 +7,6 @@ // //===----------------------------------------------------------------------===// -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; #include "algorithm" #include "random" #include "mutex" diff --git a/libcxx/src/ios.cpp b/libcxx/src/ios.cpp index e241394..260ec76 100644 --- a/libcxx/src/ios.cpp +++ b/libcxx/src/ios.cpp @@ -7,8 +7,6 @@ // //===----------------------------------------------------------------------===// -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; - #include "ios" #include "streambuf" #include "istream" diff --git a/libcxx/src/locale.cpp b/libcxx/src/locale.cpp index e626528..f21e35d 100644 --- a/libcxx/src/locale.cpp +++ b/libcxx/src/locale.cpp @@ -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 // visible. #ifdef __sun__ diff --git a/libcxx/src/string.cpp b/libcxx/src/string.cpp index fde5212..fdaad29 100644 --- a/libcxx/src/string.cpp +++ b/libcxx/src/string.cpp @@ -7,8 +7,6 @@ // //===----------------------------------------------------------------------===// -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; - #include "string" #include "cstdlib" #include "cwchar" diff --git a/libcxx/src/valarray.cpp b/libcxx/src/valarray.cpp index e4c9ed0..2d8db52 100644 --- a/libcxx/src/valarray.cpp +++ b/libcxx/src/valarray.cpp @@ -7,8 +7,6 @@ // //===----------------------------------------------------------------------===// -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; - #include "valarray" _LIBCPP_BEGIN_NAMESPACE_STD |