aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2016-08-01 16:06:03 +0000
committerJonathan Wakely <jwakely@redhat.com>2016-08-01 16:06:03 +0000
commit932b320f0e1043250bc2a6b4b942a5ee10ac3b22 (patch)
treef13c44e877cd3bd6ec30b8eb4e5f2f21e3a82d01
parent90c9122116eda7ee906626a0469e53d5c7e10ae4 (diff)
Disable std::string and std::wstring extern templates for C++17
* include/bits/basic_string.tcc: Disable explicit instantiation declarations for C++17. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@238959 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog3
-rw-r--r--libstdc++-v3/include/bits/basic_string.tcc2
2 files changed, 4 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index eca470bb028..c172b01c339 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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:
diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc
index 2b6644d1c49..0560b466d73 100644
--- a/libstdc++-v3/include/bits/basic_string.tcc
+++ b/libstdc++-v3/include/bits/basic_string.tcc
@@ -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>&