diff options
author | Benjamin Kosnik <bkoz@redhat.com> | 2003-01-22 21:18:00 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2003-01-22 21:18:00 +0000 |
commit | b4ec7fc7f0de5ef2f80066f87b12a168a5625c5a (patch) | |
tree | 8b7b955a8a792b96ff1fe00d24840da89db47670 | |
parent | 906c7c32658621d4d530e61d8ecc1dd081ef732c (diff) | |
download | gcc-b4ec7fc7f0de5ef2f80066f87b12a168a5625c5a.zip gcc-b4ec7fc7f0de5ef2f80066f87b12a168a5625c5a.tar.gz gcc-b4ec7fc7f0de5ef2f80066f87b12a168a5625c5a.tar.bz2 |
re PR libstdc++/9269 (libstdc++ headers: explicit specialization of function must precede its first use)
2003-01-22 Benjamin Kosnik <bkoz@redhat.com>
Sysoltsev Slawa <Vyatcheslav.Sysoltsev@intel.com>
Mark Mitchell <mark@codesourcery.com>
PR libstdc++/9269
* include/std/std_fstream.h (basic_filebuf::uflow): Declare.
(basic_filebuf::underflow): Declare.
Move definitions.
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
Co-Authored-By: Sysoltsev Slawa <Vyatcheslav.Sysoltsev@intel.com>
From-SVN: r61616
-rw-r--r-- | libstdc++-v3/ChangeLog | 9 | ||||
-rw-r--r-- | libstdc++-v3/include/std/std_fstream.h | 18 |
2 files changed, 24 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index fb4d7e2..2b1e3a3 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,4 +1,13 @@ 2003-01-22 Benjamin Kosnik <bkoz@redhat.com> + Sysoltsev Slawa <Vyatcheslav.Sysoltsev@intel.com> + Mark Mitchell <mark@codesourcery.com> + + PR libstdc++/9269 + * include/std/std_fstream.h (basic_filebuf::uflow): Declare. + (basic_filebuf::underflow): Declare. + Move definitions. + +2003-01-22 Benjamin Kosnik <bkoz@redhat.com> * include/bits/locale_facets.h: Move non-facet classes requiring <string> to... diff --git a/libstdc++-v3/include/std/std_fstream.h b/libstdc++-v3/include/std/std_fstream.h index d2ddd04..7731e49c 100644 --- a/libstdc++-v3/include/std/std_fstream.h +++ b/libstdc++-v3/include/std/std_fstream.h @@ -235,11 +235,11 @@ namespace std // [documentation is inherited] virtual int_type - underflow() { return _M_underflow_common(false); } + underflow(); // [documentation is inherited] virtual int_type - uflow() { return _M_underflow_common(true); } + uflow(); // [documentation is inherited] virtual int_type @@ -435,7 +435,7 @@ namespace std } }; - // Explicit specializations, defined in src/fstream.cc. + // Explicit specialization declarations, defined in src/fstream.cc. template<> basic_filebuf<char>::int_type basic_filebuf<char>::_M_underflow_common(bool __bump); @@ -446,6 +446,18 @@ namespace std basic_filebuf<wchar_t>::_M_underflow_common(bool __bump); #endif + // Generic definitions. + template <typename _CharT, typename _Traits> + typename basic_filebuf<_CharT, _Traits>::int_type + basic_filebuf<_CharT, _Traits>::underflow() + { return _M_underflow_common(false); } + + template <typename _CharT, typename _Traits> + typename basic_filebuf<_CharT, _Traits>::int_type + basic_filebuf<_CharT, _Traits>::uflow() + { return _M_underflow_common(true); } + + // [27.8.1.5] Template class basic_ifstream /** * @brief Controlling input for files. |