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.
This commit is contained in:
Jonathan Wakely 2021-06-28 15:16:08 +01:00
parent 75f948f089
commit 084635aa80
2 changed files with 2 additions and 18 deletions

View File

@ -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

View File

@ -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