gcc/libstdc++-v3 ChangeLog porting.texi config ...
ljrittle@gcc.gnu.org
ljrittle@gcc.gnu.org
Tue Jun 12 16:10:00 GMT 2001
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-3_0-branch
Changes by: ljrittle@gcc.gnu.org 2001-06-12 16:10:09
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/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_0-branch&r1=1.452.2.110&r2=1.452.2.111
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/porting.texi.diff?cvsroot=gcc&only_with_tag=gcc-3_0-branch&r1=1.4.4.2&r2=1.4.4.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/basic_file_stdio.h.diff?cvsroot=gcc&only_with_tag=gcc-3_0-branch&r1=1.1.2.3&r2=1.1.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/os/bsd/freebsd/bits/os_defines.h.diff?cvsroot=gcc&only_with_tag=gcc-3_0-branch&r1=1.1&r2=1.1.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/os/solaris/solaris2.5/bits/os_defines.h.diff?cvsroot=gcc&only_with_tag=gcc-3_0-branch&r1=1.4.6.1&r2=1.4.6.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/os/solaris/solaris2.6/bits/os_defines.h.diff?cvsroot=gcc&only_with_tag=gcc-3_0-branch&r1=1.4.6.1&r2=1.4.6.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/os/solaris/solaris2.7/bits/os_defines.h.diff?cvsroot=gcc&only_with_tag=gcc-3_0-branch&r1=1.5.6.2&r2=1.5.6.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/basic_file.h.diff?cvsroot=gcc&only_with_tag=gcc-3_0-branch&r1=1.3.6.3&r2=1.3.6.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/fstream.tcc.diff?cvsroot=gcc&only_with_tag=gcc-3_0-branch&r1=1.4.4.3&r2=1.4.4.4
More information about the Libstdc++-cvs
mailing list