Bernardo Innocenti
ed6814f7b3
Remove trailing whitespace (see ChangeLog for longwinded description).
...
From-SVN: r77479
2004-02-08 05:46:42 +01:00
Benjamin Kosnik
4213442917
re PR libstdc++/13189 (<ext/enc_filebuf.h> fails to compile)
...
2003-12-05 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/13189
* include/ext/enc_filebuf.h: Fix.
* include/bits/fstream.tcc: Tweak formatting.
* include/bits/postypes.h: Same.
* include/bits/sstream.tcc: Same.
* include/bits/streambuf.tcc: Same.
* testsuite/ext/stdio_filebuf.cc: Split.
* testsuite/ext/stdio_filebuf_2.cc: Split.
* testsuite/ext/stdio_sync_filebuf_char.cc: Split.
* testsuite/ext/stdio_sync_filebuf_wchar_t.cc: Split.
* testsuite/ext/enc_filebuf/char/13189.cc: New.
* testsuite/ext/enc_filebuf/wchar_t/13189.cc: New.
* testsuite/ext/stdio_filebuf/char/1.cc: New.
* testsuite/ext/stdio_filebuf/char/2.cc: New.
* testsuite/ext/stdio_sync_filebuf/char/1.cc: New.
* testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: New.
* testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: New.
* testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: New.
* testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: New.
* testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: New.
* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: New.
* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: New.
* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: New.
* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: New.
From-SVN: r74313
2003-12-05 06:54:24 +00:00
Paolo Carlini
fb8d463851
std_streambuf.h (__copy_streambufs): Remove the first, unused, basic_ios<> parameter.
...
2003-11-27 Paolo Carlini <pcarlini@suse.de>
* include/std/std_streambuf.h (__copy_streambufs): Remove
the first, unused, basic_ios<> parameter.
* src/streambuf-inst.cc: Likewise.
* include/bits/streambuf.tcc: Likewise.
* include/bits/istream.tcc (operator>>(__streambuf_type*)):
Tweak accordingly the call.
* include/bits/ostream.tcc (operator<<(__streambuf_type*)):
Likewise.
* include/bits/streambuf.tcc (__copy_streambufs): Remove
redundant try/catch.
From-SVN: r73992
2003-11-27 13:13:19 +00:00
Benjamin Kosnik
12841eb3d0
re PR libstdc++/9371 (Bad exception handling in i/ostream::operator>>/<<(streambuf*))
...
2003-11-26 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/9371
PR libstdc++/9546
PR libstdc++/10093
PR libstdc++/10095
* include/bits/basic_ios.h (basic_ios::setstate): Elide if goodbit.
(basic_ios::_M_setstate): Consolidate common error handling code.
* include/bits/basic_ios.tcc: Tweak.
* include/bits/fstream.tcc: Tweak.
* include/bits/istream.tcc: Use _M_setstate for common exception
handling. Move setstate calls after catch.
(basic_istream::tellg): Check for exceptions thrown by streambuf
virtual functions.
(basic_istream::seekg): Same.
* include/bits/ostream.tcc: Same, but for ostream.
(basic_ostream::flush): Check for exceptions thrown by streambuf
virtual functions.
(basic_istream::tellp): Same.
(basic_istream::seekp): Same.
* include/bits/locale_facets.tcc: Tweak.
* include/bits/streambuf.tcc: Tweak.
(__copy_streambufs): Propagate exceptions.
* testsuite/testsuite_io.h (fail_streambuf): New.
(fail_num_get): New.
(fail_num_put): New.
(facet_error): New.
(underflow_error): New.
(overflow_error): New.
(positioning_error): New.
* testsuite/27_io/basic_istream/exceptions/char/9561.cc: Tweak.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
exceptions_badbit_throw.cc, exceptions_failbit.cc,
exceptions_failbit_throw.cc: New.
* testsuite/27_io/basic_istream/extractors_other/char/
error_failbit.cc, exceptions_badbit_throw.cc,
exceptions_failbit_throw.cc, exceptions_null.cc: New.
* testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
New.
* testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc:
New.
* testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
New.
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/
exceptions_badbit_throw.cc, exceptions_failbit_throw.cc: New.
* testsuite/27_io/basic_ostream/inserters_other/char/
error_failbit.cc, exceptions_badbit_throw.cc,
exceptions_failbit_throw.cc, exceptions_null.cc: New.
* testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
New.
* testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc:
New.
From-SVN: r73979
2003-11-27 08:14:25 +00:00
Benjamin Kosnik
3d7c150e3f
Move from CPP to CXX.
...
2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
Move from CPP to CXX.
* include/bits/c++config: Move to GLIBCXX from GLIBCPP.
* testsuite/Makefile.am: Same.
* testsuite/Makefile.in: Regenerate.
* po/Makefile.am: Same.
* po/Makefile.in: Regenerate.
* libsupc++/Makefile.am: Same.
* libsupc++/Makefile.in: Regenerate.
* libmath/Makefile.am: Same.
* libmath/Makefile.in: Regenerate.
* include/Makefile.am: Same.
* include/Makefile.in: Regenerate.
* src/Makefile.am: Same.
* src/Makefile.in: Regenerate.
* acconfig.h: Same.
* configure.host: Same.
* configure.in: Same.
* configure: Regenerate.
* acinclude.m4: Same.
* aclocal.m4: Same.
* src: Change all files in this directory.
* testsuite: Same.
* include: Same, standardize include guards.
* config: Same.
* libsupc++: Same.
From-SVN: r68958
2003-07-05 04:05:45 +00:00
Nathan C. Myers
29d9ed9799
streambuf.tcc (sbumpc, [...]): Move inline, from here...
...
2003-06-25 Nathan C. Myers <ncm-nospam@cantrip.org>
* include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
sputc): Move inline, from here...
* include/std/std_streambuf.h: ... to here.
* include/std/std_streambuf.h (snextc, sbumpc, sgetc,
sputbackc, sungetc, sputc): Use __builtin_expect.
From-SVN: r68486
2003-06-25 18:27:53 +00:00
Paolo Carlini
71b460210a
Nathan C.
...
2003-06-24 Paolo Carlini <pcarlini@unitus.it>
Nathan C. Myers <ncm-nospam@cantrip.org>
* include/std/std_fstream.h (_M_filepos): Remove.
(_M_reading, _M_writing): New, encode the various I/O modes:
'read', 'write' and 'uncommitted'.
(sync): If there is something to flush, do it, then go to
'uncommitted' mode.
* include/bits/fstream.tcc (_M_set_buffer): Overhaul to deal
with three different cases: __off > 0 (upon underflow),
__off == 0 (upon overflow), __off == -1 (upon open, setbuf,
seekoff/pos).
(_M_underflow): Don't call overflow, set _M_reading to true
on success, tweak.
(pbackfail): Set _M_reading to true on pback creation, tweak.
(overflow): Don't seek, deal with overflow in 'uncommitted' mode,
set _M_writing to true on success, tweak.
(seekoff): Simplify, set _M_reading, _M_writing to false, call
_M_set_buffer(-1) ('uncommitted').
(open, close, setbuf): Set _M_reading, _M_writing to false and
call _M_set_buffer(-1), tweak.
(basic_filebuf): Don't set _M_buf_unified.
(_M_destroy_internal_buffer): Don't call setg and setp.
* include/ext/stdio_filebuf.h (stdio_filebuf): Use _M_reading,
_M_writing and _M_set_buffer(-1).
* include/std/std_streambuf.h (_M_move_out_cur, _M_move_in_cur,
_M_out_lim, _M_buf_unified): Remove.
(basic_streambuf): Don't set _M_out_lim and _M_buf_unified.
(setp): Don't set _M_out_lim.
* testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Fix for
the new logic ('read', 'write' and 'uncommitted' modes): e.g.,
upon open the mode is 'uncommitted' and therefore the put area
pointers are null.
* testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Ditto.
* testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Ditto.
* testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Ditto.
* testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Ditto.
* testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Ditto.
* testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Ditto.
* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
* testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Ditto.
* testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Ditto.
* testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Ditto.
* testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Ditto.
* testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Ditto.
* testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Ditto.
* testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Ditto.
* testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Ditto.
* testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Ditto.
* testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Ditto.
* testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Ditto.
* testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Ditto.
* testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Ditto.
* include/bits/fstream.tcc (showmanyc): Use only the
documented derivation interface to basic_streambuf (gptr(),
setg(), etc.) to work right with user specializations.
* include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
sputc, xsgetn, xsputn, __copy_streambufs): Likewise.
* include/std/std_streambuf.h (in_avail, sgetc, uflow, stossc):
Likewise.
* include/std/std_fstream.h (_M_create_pback, _M_destroy_pback,
xsgetn): Likewise.
Co-Authored-By: Nathan C. Myers <ncm-nospam@cantrip.org>
From-SVN: r68420
2003-06-24 13:48:11 +00:00
Paolo Carlini
1f0ef65117
fstream.tcc (close): Clean up a bit.
...
2003-06-10 Paolo Carlini <pcarlini@unitus.it>
* include/bits/fstream.tcc (close): Clean up a bit.
* include/bits/streambuf.tcc (sbumpc): Clean up a bit.
* include/std/std_fstream.h (_M_destroy_pback): _M_pback_cur_save
- the saved _M_in_cur, that is - cannot be null.
(sync): Constify a variable.
* include/std/std_streambuf.h: Tweak a comment.
(in_avail): Constify a variable.
From-SVN: r67738
2003-06-10 22:00:43 +00:00
Paolo Carlini
f10eea7bae
fstream.tcc (_M_underflow): Do not special case the unbuffered case...
...
2003-06-09 Paolo Carlini <pcarlini@unitus.it>
* include/bits/fstream.tcc (_M_underflow): Do not special
case the unbuffered case, which really means simply a one char
get area.
(basic_filebuf): Initialize _M_buf_size.
(setbuf): Unbuffered means _M_buf_size == 1, since only
_M_buf_size - 1 == 0 chars are going to be used for the
put area and 1 for the get area.
* include/std/std_streambuf.h (_M_buf_size): Move to basic_filebuf.
(~basic_streambuf): Tweak.
(basic_streambuf): Do not initialize _M_buf_size.
* include/std/std_fstream.h (_M_buf_size): Add from basic_streambuf.
(~basic_filebuf): Tweak.
(_M_set_buffer): Tweak, considering that _M_buf_size == 1 is the
unbuffered situation (i.e., put area pointers NULL).
* include/bits/streambuf.tcc (sbumpc): Clean up.
* testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Split into...
* testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: New.
* testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: New.
* testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: New.
* testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: New.
* testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: New.
* testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: New.
From-SVN: r67686
2003-06-10 00:05:49 +00:00
Benjamin Kosnik
46c4e5d6e9
re PR libstdc++/9024 (Input fails after call to basic_filebuf<>::pubsetbuf(0, 0))
...
2003-06-05 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/9024
* include/bits/fstream.tcc (_M_underflow): Fix for unbuffered.
* include/bits/stl_algobase.h: Tweak.
* include/std/std_fstream.h: Move _M_buf_size to...
* include/std/std_streambuf.h: ...here. Modify.
* include/bits/streambuf.tcc: Same.
* testsuite/testsuite_hooks.h: Tweak.
* testsuite/testsuite_io.h (constraint_filebuf): New.
* testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Split into...
* testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: New.
* testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: New.
* testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: New.
* testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: New.
* testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: New.
* testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: New.
* testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Split into...
* testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: New.
* testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: New.
* testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: New.
* testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: New.
* testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: New.
* testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: New.
* testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Split into...
* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: New.
* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: New.
* testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: New.
* testsuite/27_io/basic_filebuf/sgetn/char/2.cc: Split into...
* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: New.
* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: New.
* testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: New.
* testsuite/27_io/basic_filebuf/sgetn/char/3.cc: New.
* testsuite/27_io/basic_filebuf/snextc/char/1.cc: Split into...
* testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: New.
* testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: New.
* testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: New.
* testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: New.
* testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: New.
* testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: New.
* testsuite/27_io/basic_filebuf/sputc/char/1.cc: Split into...
* testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: New.
* testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: New.
* testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: New.
* testsuite/27_io/basic_filebuf/sputc/char/2.cc: Split into...
* testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: New.
* testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: New.
* testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: New.
* testsuite/27_io/basic_filebuf/sputn/char/1.cc: Split into...
* testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: New.
* testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: New.
* testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: New.
* testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: New.
* testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: New.
* testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: New.
* testsuite/data/sgetc.txt: New.
* testsuite/data/sgetn.txt: New.
From-SVN: r67524
2003-06-06 00:19:17 +00:00
Benjamin Kosnik
002bd6069c
re PR libstdc++/9339 (filebuf::pubsetbuf(0, 0) doesn't turn off buffering)
...
2003-05-26 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/9339
* include/std/std_fstream.h (basic_filebuf::_M_overflow): Remove.
(_M_pback): No array necessary.
* include/bits/fstream.tcc (basic_filebuf::_M_overflow): Add
unbuffered case, coalesec into ...
(basic_filebuf::overflow): ...this.
* testsuite/27_io/basic_filebuf/sputn/char/9339.cc: New.
* testsuite/27_io/basic_filebuf/sputc/char/2.cc: Unbuffered.
From-SVN: r67175
2003-05-26 14:54:42 +00:00
Nathan Myers
0992fb51ae
streambuf.tcc (__copy_streambufs): Rewrote.
...
2003-05-02 Nathan Myers <ncm@cantrip.org>
Paolo Carlini <pcarlini@unitus.it>
* include/bits/streambuf.tcc (__copy_streambufs): Rewrote.
Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>
From-SVN: r66395
2003-05-02 18:35:24 +00:00
Paolo Carlini
f4731b64d2
streambuf.tcc (__copy_streambufs): Adjust the type of __avail to ptrdiff_t to avoid signed-unsigned warning.
...
2003-05-01 Paolo Carlini <pcarlini@unitus.it>
* include/bits/streambuf.tcc (__copy_streambufs): Adjust the
type of __avail to ptrdiff_t to avoid signed-unsigned warning.
From-SVN: r66356
2003-05-01 22:53:13 +00:00
Paolo Carlini
397751aef0
streambuf.tcc (basic_streambuf::xsgetn): Const-ify some variables.
...
2003-05-01 Paolo Carlini <pcarlini@unitus.it>
* include/bits/streambuf.tcc (basic_streambuf::xsgetn):
Const-ify some variables.
(basic_streambuf::xsputn): Likewise; change the type of some
variables to size_t.
(__copy_streambufs): Change some variables to size_t.
2003-05-01 Paolo Carlini <pcarlini@unitus.it>
* include/std/std_sstream.h (str()): Avoid constructing
a basic_string temporary not only when it would turn out
to be zero-sized but also when identical to the current
_M_string buffer.
From-SVN: r66334
2003-05-01 16:45:50 +00:00
Paolo Carlini
44b84cc918
streambuf.tcc (__copy_streambufs): Don't use _M_buf_size (synced input is now correctly dealt with elsewhere)...
...
2003-04-28 Paolo Carlini <pcarlini@unitus.it>
* include/bits/streambuf.tcc (__copy_streambufs): Don't use
_M_buf_size (synced input is now correctly dealt with
elsewhere); when the output buffer is full don't fall back
to a snextc-sputc loop, call overflow instead.
From-SVN: r66190
2003-04-28 22:15:58 +00:00
Benjamin Kosnik
aa438e8f2b
std_fstream.h (basic_filebuf): _M_pback_destroy to _M_destroy_pback.
...
2003-04-27 Benjamin Kosnik <bkoz@redhat.com>
* include/std/std_fstream.h (basic_filebuf): _M_pback_destroy to
_M_destroy_pback. _M_pback_create to
_M_create_pback. _M_underflow_common to
_M_underflow. _M_really_overflow to _M_overflow.
* include/bits/fstream.tcc: Same.
* src/fstream.cc: Same.
* include/std/std_streambuf.h (basic_streambuf): _M_in_cur_move to
_M_move_in_cur. _M_out_cur_move to _M_move_out_cur.
* include/bits/streambuf.tcc: Same.
* include/bits/fstream.tcc: Same.
* include/bits/sstream.tcc: Same.
From-SVN: r66149
2003-04-28 04:54:54 +00:00
Paolo Carlini
ac5b7972ab
streambuf.tcc (__copy_streambufs): Don't use in_avail(), simplify.
...
2003-04-26 Paolo Carlini <pcarlini@unitus.it>
* include/bits/streambuf.tcc (__copy_streambufs): Don't
use in_avail(), simplify.
2003-04-26 Paolo Carlini <pcarlini@unitus.it>
* include/std/std_sstream.h (setbuf): don't set _M_buf_size,
in basic_stringbuf it's unused.
* include/std/std_sstream.h (underflow): consistently use
_M_in_cur, not gptr().
From-SVN: r66100
2003-04-26 08:13:35 +00:00
Paolo Carlini
45aca21f40
std_streambuf.h (_S_pback_size, [...]): Move to basic_filebuf.
...
2003-04-22 Paolo Carlini <pcarlini@unitus.it>
* include/std/std_streambuf.h (_S_pback_size, _M_pback,
_M_pback_cur_save, _M_pback_end_save, _M_pback_init,
_M_pback_create(), _M_pback_destroy()): Move to basic_filebuf.
(basic_streambuf::basic_streambuf()): Adjust.
* include/std/std_fstream.h (_S_pback_size, _M_pback,
_M_pback_cur_save, _M_pback_end_save, _M_pback_init,
_M_pback_create(), _M_pback_destroy()): Moved here
from basic_streambuf.
* include/bits/fstream.tcc (basic_filebuf::basic_filebuf()):
Adjust.
(basic_filebuf::_S_pback_size): Add declaration.
* include/bits/streambuf.tcc (basic_streambuf::_S_pback_size):
Remove declaration.
From-SVN: r65950
2003-04-22 17:32:25 +00:00
Paolo Carlini
07c2b60df9
Consistently use _M_in_beg instead of eback(), _M_in_cur instead of gptr(), and so on.
...
2003-04-21 Paolo Carlini <pcarlini@unitus.it>
Consistently use _M_in_beg instead of eback(), _M_in_cur
instead of gptr(), and so on.
* include/bits/fstream.tcc (pbackfail, imbue): Here.
* include/bits/sstream.tcc (pbackfail, seekoff, seekpos): Ditto.
* include/bits/streambuf.tcc (sbumpc, sputbackc,
__copy_streambufs): Ditto.
* include/std/std_streambuf.h (sgetc): Ditto.
From-SVN: r65909
2003-04-21 21:44:44 +00:00
Paolo Carlini
0b176c1af2
According to 5.9 para 2 (second bullet) for pointers p...
...
2003-04-18 Paolo Carlini <pcarlini@unitus.it>
According to 5.9 para 2 (second bullet) for pointers p, q
pointing to the same type, with p == 0 and q == 0, (p < q)
is false.
* include/bits/fstream.tcc (close, overflow, _M_really_overflow,
seekoff): Remove redundant NULL pointer checks from tests
involving _M_out_* and _M_in_*, const qualify bool variables.
(showmanyc, pbackfail, _M_convert_to_external, imbue): Const
qualify bool variables.
* include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc, sputc):
Remove redundant NULL pointer checks from tests involving
_M_out_* and _M_in_*, const qualify bool variables.
* include/std/std_fstream.h (sync): Likewise.
(_M_is_indeterminate): Const qualify bool variables.
* include/std/std_streambuf.h (sgetc, uflow): Remove redundant
NULL pointer checks from tests involving _M_out_* and _M_in_*,
const qualify bool variables.
(_M_in_cur_move, _M_out_cur_move, uflow): Const qualify bool
variables.
From-SVN: r65783
2003-04-18 13:55:22 +00:00
Paolo Carlini
7ef9fd85ef
Remove _M_buf_size_opt, use directly _M_buf_size instead.
...
2003-04-12 Paolo Carlini <pcarlini@unitus.it>
Remove _M_buf_size_opt, use directly _M_buf_size instead.
* include/bits/fstream.tcc
(basic_filebuf::_M_allocate_internal_buffer, setbuf): Remove
references to _M_buf_size_opt.
* include/bits/sstream.tcc (basic_stringbuf::overflow): Likewise.
* include/bits/streambuf.tcc (__copy_streambufs): Likewise, rename
__bufsize to __in_avail and __size_opt to __buf_size.
* include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): Likewise.
* include/std/std_sstream.h (_M_stringbuf_init, setbuf): Likewise.
* include/std/std_streambuf.h (~basic_streambuf(),
basic_streambuf()): Likewise, remove _M_buf_size_opt member.
* testsuite/27_io/basic_filebuf/close/char/3.cc: Set _M_buf_size.
* testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/snextc/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
* testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
From-SVN: r65518
2003-04-12 19:21:35 +00:00
Paolo Carlini
eb98bd16ce
std_streambuf.h (_M_out_buf_size()): Remove.
...
2003-03-31 Paolo Carlini <pcarlini@unitus.it>
* include/std/std_streambuf.h (_M_out_buf_size()): Remove.
* include/bits/fstream.tcc (_M_allocate_internal_buffer):
Don't set _M_out_end.
(basic_filebuf::overflow): Replace _M_out_buf_size() with
this->_M_out_cur && this->_M_out_cur < this->_M_out_end.
* include/bits/sstream.tcc (basic_stringbuf::overflow):
Replace _M_out_buf_size() with this->_M_out_cur < this->_M_out_end;
* include/bits/streambuf.tcc (basic_streambuf::sputc):
Replace _M_out_buf_size() with _M_out_cur && _M_out_cur < _M_out_end.
(basic_streambuf::xsputn): Replace _M_out_buf_size() with
_M_out_end - _M_out_cur.
(__copy_streambufs): Likewise.
* include/std/std_fstream.h (_M_set_determinate): Set
_M_out_end here.
From-SVN: r65093
2003-03-31 18:24:13 +00:00
Paolo Carlini
feecf61403
re PR libstdc++/9424 (i/ostream::operator>>/<<(streambuf*) drops characters)
...
2003-03-08 Paolo Carlini <pcarlini@unitus.it>
Petur Runolfsson <peturr02@ru.is>
PR libstdc++/9424
* include/bits/streambuf.tcc (__copy_streambufs): Use
sgetn-sputn only when sputn cannot fail, otherwise fall back
to safe snextc-sputc.
* testsuite/27_io/streambuf_members.cc (test11, test12): Add.
Co-Authored-By: Petur Runolfsson <peturr02@ru.is>
From-SVN: r63974
2003-03-08 08:16:06 +00:00
Paolo Carlini
391cd0955e
PR libstdc++/9404, PR libstdc++/9701 (partial)
...
2003-02-24 Paolo Carlini <pcarlini@unitus.it>
Nathan Myers <ncm@cantrip.org>
PR libstdc++/9404, PR libstdc++/9701 (partial)
(aka pptr == epptr implies overflow)
* include/bits/fstream.tcc (_M_allocate_internal_buffer):
Consistently, _M_out_end points to the end of the buffer just
created.
(overflow): Tweak to use _M_out_buf_size().
(_M_convert_to_external): The role of the old _M_out_end is
now played by _M_out_lim.
(_M_really_overflow): Likewise.
(seekoff): Likewise.
(setbuf): _M_out_end points to the end of the external buffer.
* include/bits/sstream.tcc (overflow): Rewrote, taking into
account the resolution of DR 169 (TC).
(seekoff): Use _M_string.capacity(); ios_base::end is now _M_out_lim.
(seekpos): Use _M_string.capacity(); tweak.
* include/bits/streambuf.tcc (sputc, xsputn): Remove comments.
* include/std/std_fstream.h (sync): The role of the old
_M_out_end is now played by _M_out_lim.
(_M_set_indeterminate): Use _M_set_determinate.
(_M_set_determinate): _M_out_end is now _M_out_lim.
(_M_is_indeterminate): Likewise.
* include/std/std_sstream.h (str()): _M_out_end is now _M_out_lim.
(_M_stringbuf_init): Don't set _M_buf_size, unused for sstreams,
which have the information readily available as _M_string.capacity();
for ate and app modes, pass the string size to _M_really_sync.
(_M_really_sync): Consistently set _M_out_end and _M_out_lim, to
point to the end of the buffer (i.e., epptr) and to the string end,
respectively.
* include/std/std_streambuf.h: tweak comments, add _M_out_lim,
which points to the right limit of the used put area.
(_M_out_cur_move): The role of the old _M_out_end is now played
by _M_out_lim.
(_M_out_buf_size): Simplify: now (when _M_out_cur) return simply
_M_out_end - _M_out_cur (i.e., pptr), _very_ close to the letter
of the standard.
(basic_streambuf()): Initialize _M_out_lim too.
* testsuite/27_io/filebuf_virtuals.cc (test10): Trivial tweak.
* testsuite/27_io/filebuf_virtuals.cc (test11): Add.
* testsuite/27_io/stringbuf_virtuals.cc (test09): Add.
Co-Authored-By: Nathan Myers <ncm@cantrip.org>
From-SVN: r63367
2003-02-24 18:22:58 +00:00
Benjamin Kosnik
1bc8b0ad4e
c++config (_GLIBCPP_EXTERN_TEMPLATE): Define.
...
2003-02-13 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config (_GLIBCPP_EXTERN_TEMPLATE): Define.
* include/bits/basic_ios.tcc: Guard use of extern template.
* include/std/std_iomanip.h: Same.
* include/bits/streambuf.tcc: Same.
* include/bits/stl_alloc.h: Same.
* include/bits/locale_facets.tcc: Same.
* include/bits/ostream.tcc: Same.
* include/bits/istream.tcc: Same.
* include/bits/fstream.tcc: Same.
* include/bits/basic_string.tcc: Same.
From-SVN: r62865
2003-02-13 21:39:03 +00:00
Paolo Carlini
da61d02231
re PR libstdc++/9318 (i/ostream::operator>>/<<(streambuf*) broken)
...
2003-02-11 Paolo Carlini <pcarlini@unitus.it>
Petur Runolfsson <peturr02@ru.is>
PR libstdc++/9318
* include/bits/streambuf.tcc (__copy_streambufs):
Don't conditionalize the copy to __testput.
* testsuite/27_io/streambuf_members.cc (test09, test10): Add.
Co-Authored-By: Petur Runolfsson <peturr02@ru.is>
From-SVN: r62689
2003-02-11 09:59:19 +00:00
Paolo Carlini
7cd3907b57
[multiple changes]
...
2003-02-04 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/9538
* include/bits/streambuf.tcc (sputbackc): Access
this->gptr()[-1] only if _M_in_beg < _M_in_cur.
* testsuite/27_io/filebuf_virtuals.cc (test08): Add.
2003-02-04 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/9507
* include/bits/fstream.tcc (open): If the 'ate' repositioning
operation fails, calls close _and_ returns a null pointer
to indicate failure (27.8.1.3,4).
* testsuite/27_io/filebuf_members.cc (test_06): Add.
2003-02-04 Petur Runolfsson <peturr02@ru.is>
* testsuite/27_io/filebuf_members.cc (test_04): Remove exit(0).
From-SVN: r62388
2003-02-04 18:08:45 +00:00
Zack Weinberg
4977bab6ed
Merge basic-improvements-branch to trunk
...
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Phil Edwards
a8a4259d5c
streambuf.tcc (basic_streambuf::sputbackc): Prefix "this->" to call to pbackfail.
...
2002-11-21 Phil Edwards <pme@gcc.gnu.org>
* include/bits/streambuf.tcc (basic_streambuf::sputbackc): Prefix
"this->" to call to pbackfail.
From-SVN: r59327
2002-11-21 07:27:51 +00:00
Benjamin Kosnik
5e85fa9997
streambuf.tcc (__copy_streambufs): Revert previous fix for the interactive half of libstdc++/6745...
...
2002-11-20 Benjamin Kosnik <bkoz@redhat.com>
Jonathan Lennox <lennox@cs.columbia.edu>
* include/bits/streambuf.tcc (__copy_streambufs):
Revert previous fix for the interactive half of
libstdc++/6745, use _M_buf_size_opt to set dynamically
the correct buffer size.
Co-Authored-By: Jonathan Lennox <lennox@cs.columbia.edu>
From-SVN: r59314
2002-11-20 21:22:48 +00:00
Jonathan Lennox
5bdb1440a1
streambuf.tcc (__copy_streambufs): verify __sbin->gptr() + __bufsize < __sbin->egptr() before using.
...
2002-11-18 Jonathan Lennox <lennox@cs.columbia.edu>
* include/bits/streambuf.tcc (__copy_streambufs): verify
__sbin->gptr() + __bufsize < __sbin->egptr() before using.
* testsuite/27_io/ostream_inserter_other.cc (test_buffer_4): Add.
(test05): Use test_buffer_4. Delete unused ostringstream
variables.
From-SVN: r59234
2002-11-18 22:42:35 +00:00
Paolo Carlini
d9d71657bd
PR libstdc++/6745 (continued)
...
2002-11-18 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/6745 (continued)
* include/bits/streambuf.tcc (__copy_streambufs):
Deal with interactive input by using isatty as in the
fix for libstdc++/8399.
From-SVN: r59229
2002-11-18 20:03:52 +00:00
Benjamin Kosnik
5112ae3a8f
re PR libstdc++/8318 (Not all wide character based prototypes are included within #ifdef _GLIBCPP_USE_WCHAR_T)
...
2002-11-01 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/8318
* include/std/std_iostream.h: Tweak.
* include/std/std_iosfwd.h: Add _GLIBCPP_USE_WCHAR_T.
* include/std/std_iomanip.h: Same.
* include/bits/stringfwd.h: Same.
* include/bits/basic_string.tcc: Same.
* include/bits/sstream.tcc: Same.
* include/bits/fstream.tcc: Same.
* include/bits/basic_ios.tcc: Same.
* include/bits/streambuf.tcc: Same.
* include/bits/locale_facets.tcc: Same.
From-SVN: r58720
2002-11-01 17:30:36 +00:00
Jonathan Lennox
3279e88a45
PR libstdc++/8071, libstdc++/8127, c++/6745
...
2002-10-08 Jonathan Lennox <lennox@cs.columbia.edu>
PR libstdc++/8071, libstdc++/8127, c++/6745
* streambuf.tcc (__copy_streambufs): Handle cases where
__sbin->in_avail() returns 0, or where __sbin doesn't set gptr().
* testsuite/27_io/ostream_inserter_other.cc (test05): Add.
From-SVN: r57970
2002-10-09 06:32:11 +00:00
Benjamin Kosnik
49433044e4
std_streambuf.h (basic_streambuf::_M_buf): Change to size_t, from int_type.
...
2002-07-04 Benjamin Kosnik <bkoz@redhat.com>
Jack Reeves <jackw_reeves@hotmail.com>
* include/std/std_streambuf.h (basic_streambuf::_M_buf): Change to
size_t, from int_type.
(basic_streambuf::_M_buf_size_opt): Same.
(basic_streambuf::_S_pback_sizex): Same.
* include/bits/streambuf.tcc: Same.
* include/std/std_streambuf.h (basic_streambuf::snextc): Use
eq_int_type.
(basic_streambuf::uflow): Same.
* include/bits/sstream.tcc (basic_stringbuf::overflow): Use
to_char_type.
* include/bits/basic_ios.tcc (basic_ios::init): Use _CharT().
* include/bits/streambuf.tcc (basic_streambuf::xsgetn): Use
eq_int_type.
(basic_streambuf::xsputn): Same.
(__copy_streambufs): Same.
Co-Authored-By: Jack Reeves <jackw_reeves@hotmail.com>
From-SVN: r55242
2002-07-04 09:20:01 +00:00
Benjamin Kosnik
9a4b4cfc1a
re PR libstdc++/6360 (Wrong workaround in char_traits.h - ignore stops on \0xff)
...
2002-04-20 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/6360
* include/bits/istream.tcc (istream::ignore): Streamline, use
delimiter as is.
* include/bits/streambuf.tcc: Use this->gptr.
* testsuite/27_io/istream_unformatted.cc (test08): Add test.
From-SVN: r52563
2002-04-21 04:15:29 +00:00
Benjamin Kosnik
d3a193e36c
re PR libstdc++/4164 (33 Memory Leak when using iostream)
...
2002-04-15 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/4164
Valgrind fixes.
* config/io/basic_file_stdio.cc (__basic_file::~__basic_file):
Call close.
(__basic_file::close): Call fflush. Correct return if fclose ok.
(__basic_file::is_open): Make const.
Change __c_file_type to __c_file.
* config/io/basic_file_stdio.h: Change __c_file_type to __c_file.
(__basic_file::is_open): Make const.
* config/io/c_io_stdio.h: Change __c_file_type to __c_file.
* include/std/std_fstream.h (filebuf::_M_allocate_file): Remove.
(filebuf::_M_unbuf): Add.
(filebuf::_M_file): Change to non-pointer.
(filebuf::_M_allocate_pback_buffer): Remove.
* include/bits/fstream.tcc (filebuf::_M_allocate_file): Remove.
(filebuf::_M_allocate_internal_buffer): Use _M_unbuf.
Change initialization list for _M_file change.
(filebuf::_M_allocate_pback_buffer): Remove.
Change _M_file usage to reflect non-pointer data member.
* config/locale/generic/c_locale.cc
(locale::facet::_S_create_c_locale): Add parameter.
* config/locale/generic/collate_members.cc: Change
_M_compare_helper to _M_compare.
Change _M_transform_helper to _M_transform.
* config/locale/generic/monetary_members.cc: Changeup data types.
Add dtors.
* config/locale/generic/numeric_members.cc: Add dtors.
* config/locale/generic/time_members.cc: Add dtors.
* config/locale/gnu/c_locale.cc: Add parameter.
* config/locale/gnu/collate_members.cc:Change
_M_compare_helper to _M_compare.
Change _M_transform_helper to _M_transform.
* config/locale/gnu/ctype_members.cc: Better error checking.
* config/os/gnu-linux/bits/ctype_noninline.h: Better error checking.
* config/locale/gnu/messages_members.cc: Tweak comment.
* config/locale/gnu/monetary_members.cc: Change data types.
Add dtors.
* config/locale/gnu/numeric_members.cc: Add dtors, better error
checking.
* config/locale/gnu/time_members.cc: Same.
* config/locale/ieee_1003.1-2001/c_locale.cc
(locale::facet::_S_create_c_locale): Add parameter.
* config/locale/ieee_1003.1-2001/c_locale.h: Correct typedef.
* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Remove
bogus ctor.
* include/bits/locale_facets.h (moneypunct): Use string literals.
Don't define dtor.
(numpunct): Same.
(__timepunct): Same.
(locale::_Impl::_M_facets): Change from vector to array.
(locale::_Impl::_M_names): Change from array of strings to array
of string literals.
(locale::facet::_S_create_c_locale): Add parameter.
(locale::locale::_S_num_facets): Move to...
(locale::_Impl::_M_facets_size): Here.
* include/bits/locale_facets.tcc: Fixups for _M_facets, _M_name
changes.
* include/bits/localefwd.h: (locale:🆔 :_M_id): Add member function.
(locale::_Impl::_Impl(facet**, size_t, bool)): Add.
(locale::_Impl::_Impl(string, size_t)): Change to
(locale::_Impl::_Impl(const char*, size_t)): This.
* include/bits/streambuf.tcc (streambuf::_S_pback_size): Define.
* include/std/std_streambuf.h (streambuf::_M_pback_size): Change to
(streambuf::_S_pback_size): This.
* src/globals.cc: Add pre-allocations for "C" facets.
* src/locale-inst.cc: Remove vector instantiations.
* src/locale.cc: Remove vector include. Fixups for _M_names,
_M_facets changes.
* src/localename.cc: Same.
* include/bits/stl_vector.h: Fix odd formatting.
* include/bits/basic_string.tcc: Tweak comment.
* libsupc++/new: Make sure parameters are uglified.
* libsupc++/typeinfo: Same.
* testsuite/22_locale/num_get_members_char.cc: Fixup.
* testsuite/22_locale/num_get_members_wchar_t.cc: Same.
* testsuite/27_io/filebuf_members.cc: Same.
From-SVN: r52345
2002-04-16 00:45:36 +00:00
Benjamin Kosnik
3b79452813
locale_facets.tcc: Add pragma GCC system_header.
...
2002-02-16 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.tcc: Add pragma GCC system_header.
* include/bits/fstream.tcc: Same.
* include/bits/sstream.tcc: Same.
* include/bits/ostream.tcc: Same.
* include/bits/istream.tcc: Same.
* include/bits/streambuf.tcc: Same.
* include/bits/basic_ios.tcc: Same.
* include/bits/basic_string.tcc: Same.
From-SVN: r49809
2002-02-16 19:33:43 +00:00
Benjamin Kosnik
a32e3c097e
Tune for size.
...
2002-02-15 Benjamin Kosnik <bkoz@redhat.com>
Tune for size.
* src/string-inst.cc (string::_Rep::_S_terminal): Remove redundant
explicit instantiation.
(string::_Rep::_S_max_size): Same.
* include/bits/basic_string.tcc: Add extern explicit
instantiations for string, wstring.
* include/bits/basic_ios.tcc: Add extern explicit instantiations
for ios, wios.
* include/bits/streambuf.tcc: Same, for streambuf, wstreambuf.
* include/bits/istream.tcc: Same, for istream, wistream.
* include/bits/ostream.tcc: Same for ostream, wostream, iostream,
wiostream.
* include/bits/sstream.tcc: Same, for stringbuf, wstringbuf,
istringstream, wistringstream, ostringstream, wostringstream,
stringstream, wstringstream.
* include/bits/fstream.tcc: Same, for filebuf, wfilebuf, ifstream,
wifstream, ofstream, wofstream, fstream, wfstream.
* src/misc-inst.cc: Correct comments.
Add iomanip instantiations for wide streams.
* include/std/std_iomanip.h: Same.
* include/bits/locale_facets.tcc: Same.
* include/std/std_streambuf.h: Correct
_GLIBCPP_FULLY_COMPLIANT_HEADERS guard.
* include/std/std_sstream.h: Same.
* include/std/std_ostream.h: Same.
* include/std/std_istream.h: Same.
* include/std/std_fstream.h: Same.
* include/std/std_streambuf.h: Add definitions for private copy
ctor and assignment operator.
* include/std/std_istream.h: Remove declared but undefined copy
ctor and assignment operator. This is taken care of in ios_base,
so adding it in the derived class as well is superfluous.
* include/std/std_ostream.h: Same.
* include/bits/basic_ios.h (basic_ios::clear): Don't inline.
* include/bits/basic_ios.tcc (basic_ios::clear): Move definition here.
From-SVN: r49798
2002-02-16 00:19:13 +00:00
Benjamin Kosnik
6f48900c2b
codecvt_specializations_ieee_1003.1-200x.h: Initialize all data members in copy ctor.
...
2002-01-31 Benjamin Kosnik <bkoz@redhat.com>
* config/locale/codecvt_specializations_ieee_1003.1-200x.h:
Initialize all data members in copy ctor. Make ctors explicit.
(__enc_traits::__enc_traits()): Default ctor does nothing.
(__enc_traits::_M_init): Guard against multiple iconv_opens.
* include/std/std_sstream.h (basic_stringbuf): Make data members
protected.
* include/std/std_fstream.h (basic_filebuf): Same.
* include/std/std_streambuf.h: Tweak.
* include/bits/streambuf.tcc: Same.
* include/bits/sstream.tcc: Same.
* include/bits/fstream.tcc: Same.
From-SVN: r49387
2002-02-01 03:20:39 +00:00
Benjamin Kosnik
6cf5465d43
[multiple changes]
...
2001-10-25 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/4545
* include/bits/ostream.tcc (ostream::operator<<(streambuf*)): Fix
exceptions.
* include/bits/istream.tcc (istream::operator>>(streambuf*): Make
consistent, where possible.
* include/bits/streambuf.tcc: Tweak.
2001-10-25 Brendan Kehoe <brendan@zen.org>
libstdc++/4536
* bits/ostream.tcc (seekp): Scope use as ios_base::failbit.
* bits/istream.tcc (seekg): Likewise.
From-SVN: r46528
2001-10-26 05:32:06 +00:00
Phil Edwards
31bfa17776
backport: basic_string.h: Qualify symbols with 'template'.
...
2001-07-19 Phil Edwards <pme@sources.redhat.com>
Mark Mitchell <mark@codesourcery.com>
Merge from cp-parser-branch.
* include/bits/basic_string.h: Qualify symbols with 'template'.
* include/bits/basic_string.tcc: Likewise.
* include/bits/fstream.tcc: Likewise.
* include/bits/istream.tcc: Likewise.
* include/bits/sstream.tcc: Likewise.
* include/bits/std_istream.h: Likewise.
* include/bits/stl_iterator.h: Likewise.
* include/bits/streambuf.tcc: Likewise.
* src/gen-num-limits.cc: Add 'template<>' to specializations.
* src/locale.cc: Likewise.
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
From-SVN: r44167
2001-07-20 00:09:31 +00:00
Benjamin Kosnik
f2f5472f06
streambuf.tcc (__copy_streambufs): Don't set eofbit.
...
2001-06-26 Benjamin Kosnik <bkoz@fillmore.constant.com>
<vakatov@ncbi.nlm.nih.gov>
libstdc++/3272
* include/bits/streambuf.tcc (__copy_streambufs): Don't set eofbit.
* testsuite/27_io/ostream_inserter_other.cc (test04): Add test.
* testsuite/27_io/istream_extractor_other.cc: Fix.
From-SVN: r43602
2001-06-27 01:07:29 +00:00
Benjamin Kosnik
5fa9abc3e9
basic_file.h (get_fileno): Remove.
...
2001-03-26 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/basic_file.h (get_fileno): Remove.
(_M_fileno): Remove.
(_M_cfile_created): Add.
(basic_file::basic_file(__c_file_type*, openmode): Add.
(basic_file::basic_file(int, const char*, openmode): Remove.
* include/bits/fstream.tcc (basic_fstream::basic_filebuf(int __fd,
const char*, ios_base::openmode): Don't allocate
internal buffers. Turn off internal buffers.
(basic_filebuf::overflow): Remove test for null buffer.
(basic_filebuf::_M_really_overflow): Same. Allow unbuffered use.
* include/bits/streambuf.cc: Tweak.
* include/bits/std_ostream.h: Tweak.
* config/basic_file_libio.h: Same.
* config/basic_file_stdio.h: Same.
* src/ios.cc (ios_base::Init::Init()): Unbuffer stdout by default.
* testsuite/27_io/filebuf_members.cc: Tweaks.
* testsuite/27_io/ios_base_members_static.cc: Tweaks.
From-SVN: r40863
2001-03-27 03:48:17 +00:00
Phil Edwards
d53d7f6e61
algo.h: Use std not __STD.
...
2001-03-04 Phil Edwards <pme@sources.redhat.com>
http://gcc.gnu.org/ml/libstdc++/2001-03/msg00015.html
* include/backward/algo.h: Use std not __STD. Remove unneeded
macros and "never happens" code. Adjust to C++STYLE guidelines.
* include/backward/algobase.h: Likewise.
* include/backward/alloc.h: Likewise.
* include/backward/bvector.h: Likewise.
* include/backward/deque.h: Likewise.
* include/backward/function.h: Likewise.
* include/backward/hash_map.h: Likewise.
* include/backward/hash_set.h: Likewise.
* include/backward/hashtable.h: Likewise.
* include/backward/heap.h: Likewise.
* include/backward/iterator.h: Likewise.
* include/backward/list.h: Likewise.
* include/backward/map.h: Likewise.
* include/backward/multimap.h: Likewise.
* include/backward/multiset.h: Likewise.
* include/backward/pair.h: Likewise.
* include/backward/rope.h: Likewise.
* include/backward/set.h: Likewise.
* include/backward/slist.h: Likewise.
* include/backward/stack.h: Likewise.
* include/backward/strstream: Likewise.
* include/backward/tempbuf.h: Likewise.
* include/backward/tree.h: Likewise.
* include/backward/vector.h: Likewise.
* include/bits/basic_ios.h: Likewise.
* include/bits/basic_ios.tcc: Likewise.
* include/bits/basic_string.h: Likewise.
* include/bits/c++config: Likewise.
* include/bits/concept_checks.h: Likewise.
* include/bits/fpos.h: Likewise.
* include/bits/fstream.tcc: Likewise.
* include/bits/functexcept.h: Likewise.
* include/bits/ios_base.h: Likewise.
* include/bits/istream.tcc: Likewise.
* include/bits/mask_array.h: Likewise.
* include/bits/ostream.tcc: Likewise.
* include/bits/pthread_allocimpl.h: Likewise.
* include/bits/sbuf_iter.h: Likewise.
* include/bits/slice.h: Likewise.
* include/bits/slice_array.h: Likewise.
* include/bits/sstream.tcc: Likewise.
* include/bits/std_bitset.h: Likewise.
* include/bits/std_fstream.h: Likewise.
* include/bits/std_iomanip.h: Likewise.
* include/bits/std_ios.h: Likewise.
* include/bits/std_istream.h: Likewise.
* include/bits/std_iterator.h: Likewise.
* include/bits/std_memory.h: Likewise.
* include/bits/std_ostream.h: Likewise.
* include/bits/std_sstream.h: Likewise.
* include/bits/std_streambuf.h: Likewise.
* include/bits/std_string.h: Likewise.
* include/bits/std_valarray.h: Likewise.
* include/bits/stl_algo.h: Likewise.
* include/bits/stl_algobase.h: Likewise.
* include/bits/stl_alloc.h: Likewise.
* include/bits/stl_construct.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_function.h: Likewise.
* include/bits/stl_heap.h: Likewise.
* include/bits/stl_iterator.h: Likewise.
* include/bits/stl_iterator_base.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_numeric.h: Likewise.
* include/bits/stl_pair.h: Likewise.
* include/bits/stl_pthread_alloc.h: Likewise.
* include/bits/stl_queue.h: Likewise.
* include/bits/stl_raw_storage_iter.h: Likewise.
* include/bits/stl_relops.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/stl_stack.h: Likewise.
* include/bits/stl_tempbuf.h: Likewise.
* include/bits/stl_threads.h: Likewise.
* include/bits/stl_tree.h: Likewise.
* include/bits/stl_uninitialized.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/streambuf.tcc: Likewise.
* include/bits/type_traits.h: Likewise.
* include/bits/valarray_meta.h: Likewise.
* include/ext/bvector: Likewise.
* include/ext/hash_map: Likewise.
* include/ext/hash_set: Likewise.
* include/ext/ropeimpl.h: Likewise.
* include/ext/slist: Likewise.
* include/ext/stl_bvector.h: Likewise.
* include/ext/stl_hash_fun.h: Likewise.
* include/ext/stl_hashtable.h: Likewise.
* include/ext/stl_rope.h: Likewise.
* src/complex_io.cc: Likewise.
* src/ios.cc: Likewise.
* src/locale-inst.cc: Likewise.
* src/locale.cc: Likewise.
* src/localename.cc: Likewise.
* src/misc-inst.cc: Likewise.
* src/stdexcept.cc: Likewise.
* src/stl-inst.cc: Likewise.
* src/strstream.cc: Likewise.
* src/valarray-inst.cc: Likewise.
From-SVN: r40239
2001-03-04 21:34:02 +00:00
Benjamin Kosnik
e2c094827c
Add support for -fno-exceptions.
...
2001-02-15 Benjamin Kosnik <bkoz@redhat.com>
Add support for -fno-exceptions.
* include/bits/exception_support.h: Remove.
* include/bits/basic_string.h: Remove exception_support.
(string::_M_check): Replace __OUTOFRANGE with __throw_out_of_range.
(string::at): Same.
(string::substr): Same.
* include/bits/basic_string.tcc (string::reserve): Replace
__LENGTHERROR with __throw_length_error.
(string::_S_create): Same.
(string::resize): Same.
(string::_M_replace): Same.
(string::replace): Same.
(string::copy): Replace __OUTOFRANGE with __throw_out_of_range.
(string::compare): Same.
* include/bits/stl_vector.h: Remove exception_support.
* src/Makefile.am (base_headers): Remove here.
* src/Makefile.in: Regenerate.
* include/bits/stl_range_errors.h: Remove.
* include/bits/stl_deque.h: Use __throw_range_error.
* include/bits/std_deque.h: Include functexcept.h.
* include/bits/std_vector.h: Same.
* src/Makefile.am (base_headers): Remove here.
* src/Makefile.in: Regenerate.
* include/ext/stl_bvector.h (class __BVECTOR): Use __throw_range_error.
* include/ext/bvector: Remove stl_range_errors.h
* include/bits/c++config (_GLIBCPP_USE_EXCEPTIONS): Remove.
* include/bits/functexcept.h: New file.
* src/functexcept.cc: New file. Definitions for function-based
exception routines.
* src/Makefile.am (sources): Add functexcept.cc.
* src/Makefile.in: Regenerate.
* include/bits/stl_config.h (__STL_USE_EXCEPTIONS): Wrap with
__EXCEPTIONS.
* include/bits/localefwd.h: Include functexcept.h.
* include/bits/std_iosfwd.h: Same.
* include/bits/basic_ios.h: Use __throw_ios_failure instead of
throw basic_ios::failure.
* include/bits/fstream.tcc (filebuf::_M_allocate_buffers):
Use __throw_exception_again.
(filebuf::_M_filebuf_init): Same.
* include/bits/streambuf.tcc (__copy_streambufs): Same.
* include/bits/ostream.tcc (ostream::operator<<): Same.
* include/bits/istream.tcc (istream::operator>>): Same.
* include/bits/basic_string.tcc (string::_M_mutate): Same.
(string::_S_construct): Same.
(string::_M_clone): Same.
* include/bits/locale_facets.tcc (use_facet(const locale&)): Use
__throw_bad_cast.
(num_put<_CharT, _OutIter>::do_put): Use __throw_exception_again.
* src/localename.cc (locale::_Imp::_Imp(const _Impl&, size_t): Use
__throw_exception_again.
(locale::_Imp::_Imp(string, size_t): Same.
(locale::_Imp::_M_replace_facet): Use __throw_runtime_error.
* src/locale.cc (locale::_M_coalesce): Use __throw_exception_again.
(locale::locale(const char*)): Use __throw_runtime_error.
(locale::classic): Use __throw_exception_again.
(locale::_S_normalize_category): Use __throw_runtime_error.
* src/stdexcept.cc: Remove cruft.
* libsupc++/exception_defines.h: New file.
* libsupc++/new_opnt.cc: Include exception_defines.h.
* libsupc++/vec.cc: Same.
(__cxa_vec_new2): Use __throw_exception_again.
(__cxa_vec_new3): Same.
(__cxa_vec_ctor): Same.
(__cxa_vec_delete3): Same.
(__cxa_vec_cctor): Same.
(__cxa_vec_delete2): Same.
(__cxa_vec_dtor): Same.
* libsupc++/exception_support.cc: Include exception_defines.h. Only
compile exception-handling bits if __EXCEPTIONS is defined.
Remove old ABI support.
* libsupc++/new_op.cc (new): Include exception_defines.h. Use
std::__throw_bad_alloc() instead of throw bad_alloc.
* libsupc++/Makefile.am: Add exception_defines.h.
* libsupc++/Makefile.in: Reformat.
* libsupc++/*: Format.
From-SVN: r39730
2001-02-16 00:44:44 +00:00
Benjamin Kosnik
72ed283692
acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Deal with library install locations too.
...
2001-02-06 Benjamin Kosnik <bkoz@fillmore.constant.com>
* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Deal with library
install locations too.
* aclocal.m4: Regeneate.
* configure.in: Remove USE_LIBDIR.
* configure: Regenerate.
* src/Makefile.am (toolexecdir): Simplify, use
glibcpp_toolexecdir, glibcpp_toolexeclibdir.
* src/Makefile.in: Regenerate.
* libsupc++/Makefile.am: Same.
* libsupc++/Makefile.in: Regenerate.
* src/Makefile.am: Just remove special rules for locale-inst.cc and
misc-inst.cc as no longer necessary.
Follow C++STYLE for naming non-static functions.
* include/bits/ostream.tcc (_S_pad_char): Not static, rename to
__pad_char.
* include/bits/streambuf.tcc: Same.
* include/bits/ostream.tcc: Same.
* include/bits/istream.tcc: Same.
* include/bits/locale_facets.tcc (_S_pad_numeric): To __pad_numeric.
(_S_output_float): To __output_float.
* include/bits/std_streambuf.h (_S_copy_streambufs): To
__copy_streambufs.
* include/bits/locale_facets.tcc (_S_build_float_format): To
__build_float_format.
(_S_format): To __output_integer.
(_S_fill): To __pad.
* src/locale.cc: Same.
* src/misc-inst.cc: Fix formatting. Fix signature for wchar_t. Correct
names.
* include/bits/locale_facets.tcc (_S_group_digits): To
__group_digits.
* src/locale-inst.cc: Fixup names. Add use_facet instantiations
for collate, numpunct.
From-SVN: r39508
2001-02-07 01:54:21 +00:00
Benjamin Kosnik
13187a454d
C++STYLE (classname): Add more existing and stylish patterns.
...
2001-01-16 Benjamin Kosnik <bkoz@redhat.com>
* docs/html/17_intro/C++STYLE (classname): Add more existing
and stylish patterns.
libstdc++/944
* include/bits/istream.tcc (istream::sentry::sentry()): Set
failbit if the state of the stream is not good.
* testsuite/27_io/istream_sentry.cc (test02): Add test.
* testsuite/27_io/istream_manip.cc (test01): Modify.
libstdc++/1019
reported by Paolo Carlini <pcarlini@unitus.it>
* include/bits/istream.tcc (operator>>(istream&, string&)): Fix.
* testsuite/21_strings/inserters_extractors.cc (test08): Add test.
libstdc++/1057
* include/bits/std_streambuf.h (setp): Set _M_buf_size correctly.
* include/bits/streambuf.tcc (xsputn): Remove outside if clause.
(xsgetn): Same. Simplify.
* testsuite/27_io/streambuf.cc (test04): Add testcases.
reported by Larry Evans <jcampbell3@prodigy.net>
* include/bits/streambuf.tcc (streambuf::xsputn): Just check for
equality with eof on returned value from overflow.
From-SVN: r39059
2001-01-16 07:55:26 +00:00
Benjamin Kosnik
725dc051ca
include: New directory.
...
2000-10-05 Benjamin Kosnik <bkoz@cygnus.com>
* include: New directory.
* include/backward: New directory.
* include/bits: New directory.
* include/ext: New directory.
* include/std: New directory.
* include/*/*: Populate.
* src/complex.cc: Adjust include of mathconf.
* mkc++config (BASE_H): Add include.
* src/Makefile.am: Support for topleve sources include directory.
(INCLUDES): Add LIBMATH_INCLUDE.
* src/Makefile.in: Regenerate.
* math/Makefile.am (INCLUDES): Append /include.
* math/Makefile.in: Regenerate.
* libio/Makefile.am (INCLUDES): Add glibcpp_includedir.
* libio/Makefile.in: Regenerate.
From-SVN: r36723
2000-10-05 11:27:02 +00:00