------- Comment #16 from paolo at gcc dot gnu dot org  2007-04-10 11:39 -------
Subject: Bug 28277

Author: paolo
Date: Tue Apr 10 11:38:50 2007
New Revision: 123692

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123692
Log:
2007-04-10  Paolo Carlini  <[EMAIL PROTECTED]>

        PR libstdc++/28277 (partial: vstring bits)
        * include/bits/ostream_insert.h: New.
        * include/Makefile.am: Add.
        * include/ext/vstring.h (operator<<(basic_ostream<>&,
        const __versa_string<>&): Forward to __ostream_insert.
        * include/bits/basic_string.h (operator<<(basic_ostream<>&,
        const string<>&)): Likewise.
        * include/std/ostream (operator<<(basic_ostream<>&, _CharT),
        operator<<(basic_ostream<char,>&, char), operator<<(basic_ostream<>&,
        const _CharT*), operator<<(basic_ostream<char,>&, const char*)):
        Likewise.
        * include/ext/vstring.tcc (operator<<(basic_ostream<>&,
        const __versa_string<>&)): Remove.
        (class basic_ostream): Remove friend declarations.
        (basic_ostream<>::_M_write(char_type, streamsize),
        _M_insert(const char_type*, streamsize)): Remove.
        * include/bits/ostream.tcc (_M_insert(const char_type*, streamsize)):
        Remove definition.
        (operator<<(basic_ostream<>&, const char*)): Use __ostream_insert.
        * config/abi/pre/gnu.ver: Adjust.
        * src/ostream-inst.cc: Add __ostream_insert instantiations.
        * include/bits/locale_facets.h (__pad<>::_S_pad): Remove __num
        parameter.
        * include/bits/locale_facets.tcc (__pad<>::_S_pad): Adjust.
        (num_put<>::_M_pad(_CharT, streamsize, ios_base&, _CharT*,
        const _CharT*, int&)): Likewise.
        * include/Makefile.in: Rebuild.
        * testsuite/ext/vstring/inserters_extractors/char/28277.cc: New.
        * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: New.

        * include/ext/vstring_util.h: Do not include the whole <locale>.
        * include/ext/vstring.tcc (operator>>(basic_istream<>&,
        __versa_string<>&, getline(basic_istream<>&, __versa_string<>&,
        _CharT)): Tweak to refer to ios_base as a base of istream; do not
        refer to non-standard types of istream.
        * include/bits/istream.tcc (operator>>(basic_istream<>&, _CharT*),
        ws(basic_istream<>&)): Do not refer to non-standard types of istream.
        * include/std/bitset (operator>>(std::basic_istream<>&, bitset<>&)):
        Avoid using basic_streambuf<>*.

        * include/bits/istream.tcc (operator>>(basic_istream<>&,
        basic_string<>&), getline(basic_istream<>&, basic_string<>&, _CharT)):
        Move...
        * include/bits/basic_string.tcc: ... here; tweak to refer to ios_base
        as a base of istream; do not refer to non-standard types of istream.
        * include/std/string: Tweak includes.

        * include/ext/type_traits.h (__is_null_pointer): Add.
        * include/ext/rc_string_base.h: Use it.
        * include/ext/sso_string_base.h: Likewise.
        * include/bits/basic_string.tcc (__is_null_pointer): Remove, use
        the above.
        * include/ext/vstring_util.h (__vstring_utility<>::_S_is_null_pointer):
        Remove.

Added:
    trunk/libstdc++-v3/include/bits/ostream_insert.h
    trunk/libstdc++-v3/testsuite/ext/vstring/inserters_extractors/
    trunk/libstdc++-v3/testsuite/ext/vstring/inserters_extractors/char/
    trunk/libstdc++-v3/testsuite/ext/vstring/inserters_extractors/char/28277.cc
    trunk/libstdc++-v3/testsuite/ext/vstring/inserters_extractors/wchar_t/
   
trunk/libstdc++-v3/testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/config/abi/pre/gnu.ver
    trunk/libstdc++-v3/include/Makefile.am
    trunk/libstdc++-v3/include/Makefile.in
    trunk/libstdc++-v3/include/bits/basic_string.h
    trunk/libstdc++-v3/include/bits/basic_string.tcc
    trunk/libstdc++-v3/include/bits/istream.tcc
    trunk/libstdc++-v3/include/bits/locale_facets.h
    trunk/libstdc++-v3/include/bits/locale_facets.tcc
    trunk/libstdc++-v3/include/bits/ostream.tcc
    trunk/libstdc++-v3/include/ext/rc_string_base.h
    trunk/libstdc++-v3/include/ext/sso_string_base.h
    trunk/libstdc++-v3/include/ext/type_traits.h
    trunk/libstdc++-v3/include/ext/vstring.h
    trunk/libstdc++-v3/include/ext/vstring.tcc
    trunk/libstdc++-v3/include/ext/vstring_util.h
    trunk/libstdc++-v3/include/std/bitset
    trunk/libstdc++-v3/include/std/ostream
    trunk/libstdc++-v3/include/std/string
    trunk/libstdc++-v3/src/ostream-inst.cc


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28277

Reply via email to