Disable std::string and std::wstring extern templates for C++17
authorJonathan Wakely <jwakely@redhat.com>
Mon, 1 Aug 2016 16:06:03 +0000 (17:06 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Mon, 1 Aug 2016 16:06:03 +0000 (17:06 +0100)
* include/bits/basic_string.tcc: Disable explicit instantiation
declarations for C++17.

From-SVN: r238959

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/basic_string.tcc

index eca470bb028877aa5b5be3f0a3eda598abce4e1c..c172b01c339384fbe65a265a09a3d4fd83c66b99 100644 (file)
@@ -1,5 +1,8 @@
 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
 
+       * include/bits/basic_string.tcc: Disable explicit instantiation
+       declarations for C++17.
+
        * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
        ignored "xfail" from { dg-do compile { xfail selector } } directive.
        * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
index 2b6644d1c49dde34fac67f55743b7572d19c4537..0560b466d73cfd1b23a5c9d1518300f9af6cb2c4 100644 (file)
@@ -1569,7 +1569,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   // Inhibit implicit instantiations for required instantiations,
   // which are defined via explicit instantiations elsewhere.
-#if _GLIBCXX_EXTERN_TEMPLATE > 0
+#if _GLIBCXX_EXTERN_TEMPLATE > 0 && __cplusplus <= 201402L
   extern template class basic_string<char>;
   extern template
     basic_istream<char>&