From: Benjamin Kosnik Date: Sat, 10 Mar 2001 01:36:23 +0000 (+0000) Subject: [multiple changes] X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0e061da69187b6f2eb49e8513ee380dc3295f94a;p=gcc.git [multiple changes] 2001-03-09 Gabriel Dos Reis * 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 * testsuite/27_io/streambuf.cc (test06): New test, disabled at the moment. From-SVN: r40358 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 0c73017367a..62af63c0ff5 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,14 @@ +2001-03-09 Gabriel Dos Reis + + * 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 + + * testsuite/27_io/streambuf.cc (test06): New test, disabled at the + moment. + 2001-03-08 Andreas Schwab * 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 faee226ce6c..0ea81cf5f23 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(__in.width()); - if (__num <= 0) - __num = basic_string<_CharT, _Traits>::npos; + streamsize __num = __in.width(); + if (__num == 0) + __num = numeric_limits::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 4aaa8958408..30a449979c8 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();