diff options
author | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2001-03-10 01:36:23 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2001-03-10 01:36:23 +0000 |
commit | 0e061da69187b6f2eb49e8513ee380dc3295f94a (patch) | |
tree | 45fa7d50dd90da3ed8d23836b59c14a79fee0a1d | |
parent | 4698d2cf4b494cfa72c9f5bdb73caf1d69cd7941 (diff) | |
download | gcc-0e061da69187b6f2eb49e8513ee380dc3295f94a.zip gcc-0e061da69187b6f2eb49e8513ee380dc3295f94a.tar.gz gcc-0e061da69187b6f2eb49e8513ee380dc3295f94a.tar.bz2 |
[multiple changes]
2001-03-09 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
* include/bits/istream.tcc ( basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)):
Use streamsize, not int_type.
2001-03-08 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/27_io/streambuf.cc (test06): New test, disabled at the
moment.
From-SVN: r40358
-rw-r--r-- | libstdc++-v3/ChangeLog | 11 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/istream.tcc | 6 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/27_io/streambuf.cc | 11 |
3 files changed, 25 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 0c73017..62af63c 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,14 @@ +2001-03-09 Gabriel Dos Reis <gdr@merlin.codesourcery.com> + + * include/bits/istream.tcc ( basic_istream<_CharT, _Traits>& + operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)): + Use streamsize, not int_type. + +2001-03-08 Benjamin Kosnik <bkoz@redhat.com> + + * testsuite/27_io/streambuf.cc (test06): New test, disabled at the + moment. + 2001-03-08 Andreas Schwab <schwab@suse.de> * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Fix syntax in test diff --git a/libstdc++-v3/include/bits/istream.tcc b/libstdc++-v3/include/bits/istream.tcc index faee226..0ea81cf 100644 --- a/libstdc++-v3/include/bits/istream.tcc +++ b/libstdc++-v3/include/bits/istream.tcc @@ -984,9 +984,9 @@ namespace std { { try { // Figure out how many characters to extract. - int_type __num = static_cast<int_type>(__in.width()); - if (__num <= 0) - __num = basic_string<_CharT, _Traits>::npos; + streamsize __num = __in.width(); + if (__num == 0) + __num = numeric_limits<streamsize>::max(); __streambuf_type* __sb = __in.rdbuf(); const __ctype_type* __ctype = __in._M_get_fctype_ios(); diff --git a/libstdc++-v3/testsuite/27_io/streambuf.cc b/libstdc++-v3/testsuite/27_io/streambuf.cc index 4aaa895..30a4499 100644 --- a/libstdc++-v3/testsuite/27_io/streambuf.cc +++ b/libstdc++-v3/testsuite/27_io/streambuf.cc @@ -326,6 +326,17 @@ void test05() nsp.sputc('a'); } +// test06 +// XXX this should work, doesn't due to compiler limitations. +#if 0 +namespace gnu +{ + class something_derived; +} + +class gnu::something_derived : std::streambuf { }; +#endif + int main() { test01(); |