aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2021-06-28 15:16:08 +0100
committerJonathan Wakely <jwakely@redhat.com>2021-06-28 15:16:08 +0100
commit084635aa80daa45403aebd86712b2c61779c4173 (patch)
tree88f44a7b11a34cb252ece8d3b684ada356e957c1
parent75f948f089ceb8888fd00913635264e20610d0f2 (diff)
downloadgcc-084635aa80daa45403aebd86712b2c61779c4173.zip
gcc-084635aa80daa45403aebd86712b2c61779c4173.tar.gz
gcc-084635aa80daa45403aebd86712b2c61779c4173.tar.bz2
libstdc++: Remove redundant explicit instantiations
These function templates are explicitly specialized for char and wchar_t streambufs, so the explicit instantiations do nothing. Remove them, to avoid confusion. libstdc++-v3/ChangeLog: * include/bits/streambuf.tcc (__copy_streambufs_eof): Remove explicit instantiation declarations. * src/c++11/streambuf-inst.cc (__copy_streambufs_eof): Remove explicit instantiation definitions.
-rw-r--r--libstdc++-v3/include/bits/streambuf.tcc10
-rw-r--r--libstdc++-v3/src/c++11/streambuf-inst.cc10
2 files changed, 2 insertions, 18 deletions
diff --git a/libstdc++-v3/include/bits/streambuf.tcc b/libstdc++-v3/include/bits/streambuf.tcc
index cbcfb0c..22464c4 100644
--- a/libstdc++-v3/include/bits/streambuf.tcc
+++ b/libstdc++-v3/include/bits/streambuf.tcc
@@ -147,25 +147,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// which are defined via explicit instantiations elsewhere.
#if _GLIBCXX_EXTERN_TEMPLATE
extern template class basic_streambuf<char>;
+
extern template
streamsize
__copy_streambufs(basic_streambuf<char>*,
basic_streambuf<char>*);
- extern template
- streamsize
- __copy_streambufs_eof(basic_streambuf<char>*,
- basic_streambuf<char>*, bool&);
#ifdef _GLIBCXX_USE_WCHAR_T
extern template class basic_streambuf<wchar_t>;
+
extern template
streamsize
__copy_streambufs(basic_streambuf<wchar_t>*,
basic_streambuf<wchar_t>*);
- extern template
- streamsize
- __copy_streambufs_eof(basic_streambuf<wchar_t>*,
- basic_streambuf<wchar_t>*, bool&);
#endif
#endif
diff --git a/libstdc++-v3/src/c++11/streambuf-inst.cc b/libstdc++-v3/src/c++11/streambuf-inst.cc
index 497f54e..c2c2ee9 100644
--- a/libstdc++-v3/src/c++11/streambuf-inst.cc
+++ b/libstdc++-v3/src/c++11/streambuf-inst.cc
@@ -40,11 +40,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
streamsize
__copy_streambufs(basic_streambuf<char>*, basic_streambuf<char>*);
- template
- streamsize
- __copy_streambufs_eof(basic_streambuf<char>*,
- basic_streambuf<char>*, bool&);
-
#ifdef _GLIBCXX_USE_WCHAR_T
// wstreambuf
template class basic_streambuf<wchar_t>;
@@ -52,11 +47,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template
streamsize
__copy_streambufs(basic_streambuf<wchar_t>*, basic_streambuf<wchar_t>*);
-
- template
- streamsize
- __copy_streambufs_eof(basic_streambuf<wchar_t>*,
- basic_streambuf<wchar_t>*, bool&);
#endif
_GLIBCXX_END_NAMESPACE_VERSION