From: Paolo Carlini Date: Fri, 13 Oct 2006 09:00:31 +0000 (+0000) Subject: PR libstdc++/28277 (partial: ostream bits 2) X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ec2061a9bfaf34fa44584beb2c440b2a15e6df10;p=platform%2Fupstream%2Fgcc.git PR libstdc++/28277 (partial: ostream bits 2) 2006-10-13 Paolo Carlini PR libstdc++/28277 (partial: ostream bits 2) * include/std/std_ostream.h (basic_ostream<>::_M_insert(const char_type*, streamsize)): New. (basic_ostream<>::_M_write(char_type, streamsize)): Likewise. (operator<<(basic_ostream<>&, _CharT), operator<<(basic_ostream<>&, char), operator<<(basic_ostream<>&, const _CharT*), operator<<(basic_ostream<>&, const char*)): Use the latter. * include/bits/ostream.tcc (basic_ostream<>::_M_insert(const char_type*, streamsize)): Define. (operator<<(basic_ostream<>&, const char*)): Use the latter. (operator<<(basic_ostream<>&, _CharT), operator<<(basic_ostream<>&, char), operator<<(basic_ostream<>&, const _CharT*), operator<<(basic_ostream<>&, const char*), operator<<(basic_ostream<>&, const basic_string<>&)): Remove. * include/bits/basic_string.h (operator<<(basic_ostream<>&, const basic_string<>&)): Use the latter, implement DR 586. * config/abi/pre/gnu.ver: Adjust, export the new _M_insert. * docs/html/ext/howto.html: Add an entry for DR 586. * testsuite/21_strings/basic_string/inserters_extractors/char/ 28277.cc: New. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/ 28277.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/char/ 28277-3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/char/ 28277-4.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ 28277-2.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ 28277-3.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ 28277-4.cc: Likewise. From-SVN: r117689 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 44bf103..c42aba1 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,38 @@ +2006-10-13 Paolo Carlini + + PR libstdc++/28277 (partial: ostream bits 2) + * include/std/std_ostream.h (basic_ostream<>::_M_insert(const + char_type*, streamsize)): New. + (basic_ostream<>::_M_write(char_type, streamsize)): Likewise. + (operator<<(basic_ostream<>&, _CharT), operator<<(basic_ostream<>&, + char), operator<<(basic_ostream<>&, const _CharT*), + operator<<(basic_ostream<>&, const char*)): Use the latter. + * include/bits/ostream.tcc (basic_ostream<>::_M_insert(const + char_type*, streamsize)): Define. + (operator<<(basic_ostream<>&, const char*)): Use the latter. + (operator<<(basic_ostream<>&, _CharT), operator<<(basic_ostream<>&, + char), operator<<(basic_ostream<>&, const _CharT*), + operator<<(basic_ostream<>&, const char*), + operator<<(basic_ostream<>&, const basic_string<>&)): Remove. + * include/bits/basic_string.h (operator<<(basic_ostream<>&, + const basic_string<>&)): Use the latter, implement DR 586. + * config/abi/pre/gnu.ver: Adjust, export the new _M_insert. + * docs/html/ext/howto.html: Add an entry for DR 586. + * testsuite/21_strings/basic_string/inserters_extractors/char/ + 28277.cc: New. + * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/ + 28277.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/ + 28277-3.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/ + 28277-4.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ + 28277-2.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ + 28277-3.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/ + 28277-4.cc: Likewise. + 2006-10-11 Paolo Carlini * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 44. diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index 384ad35..dd6854c 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -285,7 +285,7 @@ GLIBCXX_3.4 { _ZNSoC*; _ZNSoD*; _ZNKSo6sentrycvbEv; - _ZNSo8_M_write*; + _ZNSo8_M_writeEPKc[il]; _ZNSo[0-9][a-z]*; _ZNSolsE*[^g]; @@ -299,7 +299,7 @@ GLIBCXX_3.4 { _ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv; _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKw*; _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentry*; - _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_write*; + _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKw[il]; _ZNSt13basic_ostreamIwSt11char_traitsIwEElsE*[^g]; # std::ostream operators and inserters @@ -659,6 +659,9 @@ GLIBCXX_3.4.9 { _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractI[^g]*; _ZSt21__copy_streambufs_eofI[cw]St11char_traitsI[cw]EE[il]PSt15basic_streambuf*; + + _ZNSo9_M_insertEPKc[il]; + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertEPKw[il]; } GLIBCXX_3.4.8; diff --git a/libstdc++-v3/docs/html/ext/howto.html b/libstdc++-v3/docs/html/ext/howto.html index 7a9e4ef..a39e0fb 100644 --- a/libstdc++-v3/docs/html/ext/howto.html +++ b/libstdc++-v3/docs/html/ext/howto.html @@ -593,6 +593,12 @@
In case of input_iterator/output_iterator rely on Assignability of input_iterator' value_type.
+ +
586: + string inserter not a formatted function +
+
Change it to be a formatted output function (i.e. catch exceptions). +