mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-08 12:04:04 +08:00
3531cf5ef3
2010-09-22 David Krauss <potswa@mac.com> PR libstdc++/45628 * include/bits/fstream.tcc (basic_filebuf::underflow): Add state transition to avoid modality requiring seekoff(0,ios::cur). (basic_filebuf::pbackfail): Likewise. (basic_filebuf::overflow): Likewise. (basic_filebuf::_M_seek): Avoid minor unnecessary conversion. (basic_filebuf::seekoff): Remove code to _M_get_ext_pos; make (0, ios::cur) a special case preserving buffer contents. (basic_filebuf::_M_get_ext_pos): New function to obtain status about codecvt extern_t buffer for overflow and seekoff. * include/std/fstream (basic_filebuf::_M_get_ext_pos): Likewise. * config/abi/pre/gnu.ver: Export new symbols. * testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: New, verifies that seekoff(0, ios::cur) preserves buffers. * testsuite/27_io/basic_filebuf/seekoff/char/45628-2.cc: Likewise. for codecvt case. More lenient as it may still flush put area. * testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Modify to check that seekoff is not required between read and write. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise. * testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc: Remove. * testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc: Likewise. * testsuite/util/testsuite_character.h (codecvt::do_length): Comply with 22.2.1.5.2/10 "Returns ... the LARGEST value in the range..." From-SVN: r164529 |
||
---|---|---|
.. | ||
common_type | ||
debug | ||
exception | ||
hash_fn | ||
io | ||
native_type | ||
performance | ||
regression | ||
statistic | ||
thread | ||
replacement_memory_operators.h | ||
testsuite_abi_check.cc | ||
testsuite_abi.cc | ||
testsuite_abi.h | ||
testsuite_allocator.cc | ||
testsuite_allocator.h | ||
testsuite_api.h | ||
testsuite_character.cc | ||
testsuite_character.h | ||
testsuite_common_types.h | ||
testsuite_container_traits.h | ||
testsuite_containers.h | ||
testsuite_error.h | ||
testsuite_hooks.cc | ||
testsuite_hooks.h | ||
testsuite_io.h | ||
testsuite_iterators.h | ||
testsuite_performance.h | ||
testsuite_rng.h | ||
testsuite_rvalref.h | ||
testsuite_shared.cc | ||
testsuite_tr1.h |