egcs/libstdc++-v3 ChangeLog porting.texi confi ...

ljrittle@gcc.gnu.org ljrittle@gcc.gnu.org
Tue Jun 12 16:09:00 GMT 2001


CVSROOT:	/cvs/gcc
Module name:	egcs
Changes by:	ljrittle@gcc.gnu.org	2001-06-12 16:09:11

Modified files:
	libstdc++-v3   : ChangeLog porting.texi 
	libstdc++-v3/config: basic_file_stdio.h 
	libstdc++-v3/config/os/bsd/freebsd/bits: os_defines.h 
	libstdc++-v3/config/os/solaris/solaris2.5/bits: os_defines.h 
	libstdc++-v3/config/os/solaris/solaris2.6/bits: os_defines.h 
	libstdc++-v3/config/os/solaris/solaris2.7/bits: os_defines.h 
	libstdc++-v3/include/bits: basic_file.h fstream.tcc 

Log message:
	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.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.661&r2=1.662
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/libstdc++-v3/porting.texi.diff?cvsroot=gcc&r1=1.6&r2=1.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/libstdc++-v3/config/basic_file_stdio.h.diff?cvsroot=gcc&r1=1.3&r2=1.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/libstdc++-v3/config/os/bsd/freebsd/bits/os_defines.h.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/libstdc++-v3/config/os/solaris/solaris2.5/bits/os_defines.h.diff?cvsroot=gcc&r1=1.5&r2=1.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/libstdc++-v3/config/os/solaris/solaris2.6/bits/os_defines.h.diff?cvsroot=gcc&r1=1.5&r2=1.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/libstdc++-v3/config/os/solaris/solaris2.7/bits/os_defines.h.diff?cvsroot=gcc&r1=1.7&r2=1.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/libstdc++-v3/include/bits/basic_file.h.diff?cvsroot=gcc&r1=1.8&r2=1.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/libstdc++-v3/include/bits/fstream.tcc.diff?cvsroot=gcc&r1=1.14&r2=1.15



More information about the Libstdc++-cvs mailing list