Commit Graph

9 Commits

Author SHA1 Message Date
Loren J. Rittle
ddf1e65262 porting.texi: Add documentation about libstdc++-v3-specific macros that are currently...
libstdc++/2071
	* porting.texi: Add documentation about libstdc++-v3-specific
	macros that are currently included in os_defines.h files.

	* config/basic_file_stdio.h (sys_getc): New method.
	(sys_ungetc): New method.
	* include/bits/basic_file.h: (sys_getc): New method signature.
	(sys_ungetc): New method signature.

	* include/bits/fstream.tcc (underflow): Add conditional code
	paths which avoid using short seeks on streams (especially
	useful when the stream might be interactive or a pipe).  At
	the moment, this alternate path only avoids seeking when the
	``buffer size'' of underflow() is 1 since the C standard only
	guarantees buffer space for one ungetc (this technique could
	be extended since *-*-solaris* supports buffering for 4 calls
	to ungetc and *-*-*bsd* supports buffering limited only by
	memory resources).  Also, _GLIBCPP_AVOID_FSEEK must be defined
	in a port's os_defines.h file for this alternate path to even
	be considered.  As a bonus, the idiom of using getc/ungetc
	requires no system calls whereas fseek maps to one or two
	system call(s) on many platforms.

	* config/os/bsd/freebsd/bits/os_defines.h (_GLIBCPP_AVOID_FSEEK):
	Define it.
	* config/os/solaris/solaris2.5/bits/os_defines.h
	(_GLIBCPP_AVOID_FSEEK): Likewise.
	* config/os/solaris/solaris2.6/bits/os_defines.h
	(_GLIBCPP_AVOID_FSEEK): Likewise.
	* config/os/solaris/solaris2.7/bits/os_defines.h
	(_GLIBCPP_AVOID_FSEEK): Likewise.

From-SVN: r43278
2001-06-12 23:09:09 +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
Theodore Papadopoulo
edb7d731b6 basic_file.h: Fix typos in comments.
2001-03-21  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>

    	* intclude/bits/basic_file.h: Fix typos in comments.

From-SVN: r40705
2001-03-21 19:26:49 +00:00
Benjamin Kosnik
e08838ac57 c++config (__GLIBCPP__): Bump number in anticipation of 2.92.
2001-02-28  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2103
	* include/bits/c++config (__GLIBCPP__): Bump number in
	anticipation of 2.92.

	* include/bits/codecvt.h: Fix typo.
	* include/bits/basic_file.h (__basic_file): Don't use _M_wfile for
	stdio model.
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Enable wchar_t
	instantiations for stdio model.

From-SVN: r40140
2001-03-01 00:37:18 +00:00
Benjamin Kosnik
c0a26060f6 basic_file.h: Include basic_file_model.h.
2001-02-27  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/1886
	* include/bits/basic_file.h: Include basic_file_model.h.
	* config/c_io_libio.cc: Move to...
	* config/basic_file_libio.cc: Here.
	* config/basic_file_libio.h: New file.
	* config/c_io_stdio.cc: Move to...
	* config/basic_file_stdio.cc: Here.
	* config/basic_file_stdio.h: New file.
	* config/c_io_libio.h: Tweak.
	* config/c_io_stdio.h: Tweak.
	* src/Makefile.am (build_headers): Add basic_file_model.h.
	(sources): Add basic_file.cc, remove c++io.cc.
	* src/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add support for
	basic_file_model.h and basic_file.cc.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/27_io/filebuf.cc (test05): Add regression.

From-SVN: r40108
2001-02-28 03:20:36 +00:00
Gabriel Dos Reis
b0a85b861e Add #pragma system_header to header files.
From-SVN: r39896
2001-02-19 18:52:25 +00:00
Mark Mitchell
8d8523fe52 basic_file.h (__basic_file): Don't use __c_wfile_type when _GLIBCPP_USE_WCHAR_T is not defined.
* include/bits/basic_file.h (__basic_file): Don't use __c_wfile_type
	when _GLIBCPP_USE_WCHAR_T is not defined.

From-SVN: r37400
2000-11-12 03:27:10 +00:00
Benjamin Kosnik
9717c75cf1 basic_file.h (_M_open_mode): Change signature, move specializations to..
2000-11-01  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* bits/basic_file.h (_M_open_mode): Change signature, move
	specializations to..
	* config/c_io_libio.cc: ...here.
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add sdtio option, remove wince.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config/c_io_stdio.h: New file.
	* config/c_io_stdio.cc: New file.
	* docs/configopts.html: Modify documentation.

From-SVN: r37195
2000-11-01 21:38:32 +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