OSDN Git Service

2003-07-14 Paolo Carlini <pcarlini@unitus.it>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 14 Jul 2003 18:23:12 +0000 (18:23 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 14 Jul 2003 18:23:12 +0000 (18:23 +0000)
commit4709cd2d9b4fdd07051ecfd628fd0f280103adb7
tree11c82ea18a45d7f42a2a512635da67b8184d3c7a
parent8ae6c1364c641327447437b763314c25968b7136
2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
    Nathan C. Myers  <ncm-nospam@cantrip.org>

PR libstdc++/11378
* include/std/std_fstream.h (xsputn): Declare only.
* include/bits/fstream.tcc (xsputn): Define, optimize for the
always_noconv() case: when __n is sufficiently large flush
the buffer and issue a direct write, if possible combining the
two with writev in __basic_file<>::xsputn_2.
* config/io/basic_file_stdio.h (__basic_file<>::xsputn_2):
New, declare.
* config/io/basic_file_stdio.cc (__basic_file<>::xsputn_2):
Define.
* acinclude.m4 (GLIBCXX_CHECK_WRITE): New macro, checking for
the availability of writev in <sys/uio.h>.
* configure.in: Call here.
* acconfig.h: Add undef for the corresponding symbol.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* config.h.in: Regenerate.
* testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Tweak.

* include/std/std_fstream.h (sync): Constify a variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69341 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/acconfig.h
libstdc++-v3/acinclude.m4
libstdc++-v3/aclocal.m4
libstdc++-v3/config.h.in
libstdc++-v3/config/io/basic_file_stdio.cc
libstdc++-v3/config/io/basic_file_stdio.h
libstdc++-v3/configure
libstdc++-v3/configure.in
libstdc++-v3/include/bits/fstream.tcc
libstdc++-v3/include/std/std_fstream.h
libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/3.cc