From e0eb883da1d8a2b632c01f704698a4cf825ef7df Mon Sep 17 00:00:00 2001 From: obrien Date: Mon, 19 Mar 2001 20:49:58 +0000 Subject: Virgin import of GCC 2.95.3's libio -- the C++ iostream facility. --- contrib/libio/ChangeLog | 32 ++++++++++++++++++++++++ contrib/libio/iolibio.h | 8 ++++-- contrib/libio/iostream.cc | 10 +++++++- contrib/libio/libio.h | 11 +++++---- contrib/libio/libioP.h | 52 +++++++++++++++++++-------------------- contrib/libio/parsestream.h | 2 +- contrib/libio/stdio/ChangeLog | 4 +++ contrib/libio/stdstreams.cc | 2 +- contrib/libio/streambuf.h | 4 +-- contrib/libio/tests/ChangeLog | 4 +++ contrib/libio/testsuite/ChangeLog | 4 +++ 11 files changed, 95 insertions(+), 38 deletions(-) diff --git a/contrib/libio/ChangeLog b/contrib/libio/ChangeLog index d78e505..b4564de 100644 --- a/contrib/libio/ChangeLog +++ b/contrib/libio/ChangeLog @@ -1,3 +1,35 @@ +Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com) + + * gcc-2.95.3 Released. + +2000-12-10 Bernd Schmidt + + 2000-10-16 Jakub Jelinek + * iostream.cc (ostream::operator<<(double n)) [__GLIBC_MINOR__ >= 2]: + Initialize new fields wide and i18n of struct printf_info. + (ostream::operator<<(long double n)) [__GLIBC_MINOR__ >= 2]: + Likewise. + + 2000-09-23 Franz Sirl + * stdstreams.cc: Include , not "libio.h". + * iolibio.h: Likewise. + (_IO_pos_BAD): Use _IO_off_t instead of _IO_fpos_t. + * libio.h (_IO_USER_LOCK): Define. + + 1999-12-22 Jakub Jelinek + * libio.h (_IO_cookie_io_functions_t): Use _IO_off_t instead of + _IO_fpos_t. + (_IO_seekoff, _IO_seekpos): Likewise. Use _IO_off64_t instead of + _IO_fpos64_t. + * libioP.h (_IO_seekoff_t, _IO_seekpos_t, _IO_seek_t): Likewise. + (_IO_seekoff, _IO_seekpos): Likewise. + (_IO_default_seekoff, _IO_default_seekpos): Likewise. + (_IO_default_seek): Likewise. + (_IO_file_seekoff, _IO_file_seek, _IO_str_seekoff): Likewise. + * streambuf.h (streampos): Typedef to _IO_off_t resp. _IO_off64_t. + * parsestream.h (class parsebuf::pos_at_line_start): Change type + to _IO_off_t. + 2000-01-28 Martin v. Löwis * fstream.h (ifstream::ifstream): Add ios::in to mode. diff --git a/contrib/libio/iolibio.h b/contrib/libio/iolibio.h index 083b198..0ebc14f 100644 --- a/contrib/libio/iolibio.h +++ b/contrib/libio/iolibio.h @@ -1,4 +1,4 @@ -#include "libio.h" +#include /* These emulate stdio functionality, but with a different name (_IO_ungetc instead of ungetc), and using _IO_FILE instead of FILE. */ @@ -38,7 +38,11 @@ extern int _IO_obstack_vprintf __P ((struct obstack *, const char *, _IO_va_list)); extern int _IO_obstack_printf __P ((struct obstack *, const char *, ...)); #ifndef _IO_pos_BAD -#define _IO_pos_BAD ((_IO_fpos_t)(-1)) +# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 +# define _IO_pos_BAD ((_IO_off64_t) -1) +# else +# define _IO_pos_BAD ((_IO_off_t) -1) +# endif #endif #define _IO_clearerr(FP) ((FP)->_flags &= ~(_IO_ERR_SEEN|_IO_EOF_SEEN)) #define _IO_fseek(__fp, __offset, __whence) \ diff --git a/contrib/libio/iostream.cc b/contrib/libio/iostream.cc index 4b75fca..792eaae 100644 --- a/contrib/libio/iostream.cc +++ b/contrib/libio/iostream.cc @@ -1,5 +1,5 @@ /* This is part of libio/iostream, providing -*- C++ -*- input/output. - Copyright (C) 1993, 1997 Free Software Foundation, Inc. + Copyright (C) 1993, 1997, 2000 Free Software Foundation, Inc. This file is part of the GNU IO Library. This library is free software; you can redistribute it and/or modify it under the @@ -687,6 +687,10 @@ ostream& ostream::operator<<(double n) /* extra: */ 0, #if __GLIBC_MINOR__ >= 1 /* is_char: */ 0, +#if __GLIBC_MINOR__ >= 2 + /* wide: */ 0, + /* i18n: */ 0, +#endif #endif #endif /* pad: */ fill() @@ -793,6 +797,10 @@ ostream& ostream::operator<<(long double n) /* extra: */ 0, #if __GLIBC_MINOR__ >= 1 /* is_char: */ 0, +#if __GLIBC_MINOR__ >= 2 + /* wide: */ 0, + /* i18n: */ 0, +#endif #endif #endif /* pad: */ fill() diff --git a/contrib/libio/libio.h b/contrib/libio/libio.h index b152874..c453b77 100644 --- a/contrib/libio/libio.h +++ b/contrib/libio/libio.h @@ -136,6 +136,7 @@ #define _IO_IS_APPENDING 0x1000 #define _IO_IS_FILEBUF 0x2000 #define _IO_BAD_SEEN 0x4000 +#define _IO_USER_LOCK 0x8000 /* These are "formatting flags" matching the iostream fmtflags enum values. */ #define _IO_SKIPWS 01 @@ -277,7 +278,7 @@ typedef struct { _IO_ssize_t (*read) __PMT ((struct _IO_FILE *, void *, _IO_ssize_t)); _IO_ssize_t (*write) __PMT ((struct _IO_FILE *, const void *, _IO_ssize_t)); - _IO_fpos_t (*seek) __PMT ((struct _IO_FILE *, _IO_off_t, int)); + _IO_off_t (*seek) __PMT ((struct _IO_FILE *, _IO_off_t, int)); int (*close) __PMT ((struct _IO_FILE *)); } _IO_cookie_io_functions_t; @@ -348,11 +349,11 @@ extern _IO_ssize_t _IO_padn __P ((_IO_FILE *, int, _IO_ssize_t)); extern _IO_size_t _IO_sgetn __P ((_IO_FILE *, void *, _IO_size_t)); #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 -extern _IO_fpos64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int)); -extern _IO_fpos64_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos64_t, int)); +extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int)); +extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int)); #else -extern _IO_fpos_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int)); -extern _IO_fpos_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos_t, int)); +extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int)); +extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int)); #endif extern void _IO_free_backup_area __P ((_IO_FILE *)); diff --git a/contrib/libio/libioP.h b/contrib/libio/libioP.h index 629e4fd..be70f52 100644 --- a/contrib/libio/libioP.h +++ b/contrib/libio/libioP.h @@ -146,10 +146,10 @@ typedef _IO_size_t (*_IO_xsgetn_t) __PMT ((_IO_FILE *FP, void *DATA, It matches the streambuf::seekoff virtual function. It is also used for the ANSI fseek function. */ #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 -typedef _IO_fpos64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF, +typedef _IO_off64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF, int DIR, int MODE)); #else -typedef _IO_fpos_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF, +typedef _IO_off_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF, int DIR, int MODE)); #endif #define _IO_SEEKOFF(FP, OFF, DIR, MODE) JUMP3 (__seekoff, FP, OFF, DIR, MODE) @@ -160,9 +160,9 @@ typedef _IO_fpos_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF, It is also used for the ANSI fgetpos and fsetpos functions. */ /* The _IO_seek_cur and _IO_seek_end options are not allowed. */ #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 -typedef _IO_fpos64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_fpos64_t, int)); +typedef _IO_off64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off64_t, int)); #else -typedef _IO_fpos_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_fpos_t, int)); +typedef _IO_off_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off_t, int)); #endif #define _IO_SEEKPOS(FP, POS, FLAGS) JUMP2 (__seekpos, FP, POS, FLAGS) @@ -213,9 +213,9 @@ typedef _IO_ssize_t (*_IO_write_t) __PMT ((_IO_FILE *,const void *,_IO_ssize_t)) It matches the streambuf::sys_seek virtual function, which is specific to this implementation. */ #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 -typedef _IO_fpos64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int)); +typedef _IO_off64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int)); #else -typedef _IO_fpos_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off_t, int)); +typedef _IO_off_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off_t, int)); #endif #define _IO_SYSSEEK(FP, OFFSET, MODE) JUMP2 (__seek, FP, OFFSET, MODE) @@ -298,11 +298,11 @@ struct _IO_FILE_plus /* Generic functions */ #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 -extern _IO_fpos64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int)); -extern _IO_fpos64_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos64_t, int)); +extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int)); +extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int)); #else -extern _IO_fpos_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int)); -extern _IO_fpos_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos_t, int)); +extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int)); +extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int)); #endif extern void _IO_switch_to_main_get_area __P ((_IO_FILE *)); @@ -340,22 +340,22 @@ extern _IO_size_t _IO_default_xsputn __P ((_IO_FILE *, const void *, _IO_size_t)); extern _IO_size_t _IO_default_xsgetn __P ((_IO_FILE *, void *, _IO_size_t)); #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 -extern _IO_fpos64_t _IO_default_seekoff __P ((_IO_FILE *, +extern _IO_off64_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int)); -extern _IO_fpos64_t _IO_default_seekpos __P ((_IO_FILE *, - _IO_fpos64_t, int)); +extern _IO_off64_t _IO_default_seekpos __P ((_IO_FILE *, + _IO_off64_t, int)); #else -extern _IO_fpos_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int)); -extern _IO_fpos_t _IO_default_seekpos __P ((_IO_FILE *, _IO_fpos_t, int)); +extern _IO_off_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int)); +extern _IO_off_t _IO_default_seekpos __P ((_IO_FILE *, _IO_off_t, int)); #endif extern _IO_ssize_t _IO_default_write __P ((_IO_FILE *, const void *, _IO_ssize_t)); extern _IO_ssize_t _IO_default_read __P ((_IO_FILE *, void *, _IO_ssize_t)); extern int _IO_default_stat __P ((_IO_FILE *, void *)); #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 -extern _IO_fpos64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int)); +extern _IO_off64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int)); #else -extern _IO_fpos_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int)); +extern _IO_off_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int)); #endif extern int _IO_default_sync __P ((_IO_FILE *)); #define _IO_default_close ((_IO_close_t) _IO_default_sync) @@ -389,11 +389,11 @@ extern void _IO_flush_all_linebuffered __P ((void)); extern int _IO_file_doallocate __P ((_IO_FILE *)); extern _IO_FILE* _IO_file_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t)); #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 -extern _IO_fpos64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int)); -extern _IO_fpos64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int)); +extern _IO_off64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int)); +extern _IO_off64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int)); #else -extern _IO_fpos_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int)); -extern _IO_fpos_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int)); +extern _IO_off_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int)); +extern _IO_off_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int)); #endif extern _IO_size_t _IO_file_xsputn __P ((_IO_FILE *, const void *, _IO_size_t)); extern int _IO_file_stat __P ((_IO_FILE *, void *)); @@ -427,9 +427,9 @@ extern int _IO_str_underflow __P ((_IO_FILE *)); extern int _IO_str_overflow __P ((_IO_FILE *, int)); extern int _IO_str_pbackfail __P ((_IO_FILE *, int)); #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 -extern _IO_fpos64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int)); +extern _IO_off64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int)); #else -extern _IO_fpos_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int)); +extern _IO_off_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int)); #endif extern void _IO_str_finish __P ((_IO_FILE *, int)); @@ -544,12 +544,12 @@ extern int _IO_vscanf __P ((const char *, _IO_va_list)); where an _IO_fpos_t is a struct. Note that _IO_off_t must be an integral type. */ -/* _IO_pos_BAD is an _IO_fpos_t value indicating error, unknown, or EOF. */ +/* _IO_pos_BAD is an _IO_off_t value indicating error, unknown, or EOF. */ #ifndef _IO_pos_BAD # if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 -# define _IO_pos_BAD ((_IO_fpos64_t) -1) +# define _IO_pos_BAD ((_IO_off64_t) -1) # else -# define _IO_pos_BAD ((_IO_fpos_t) -1) +# define _IO_pos_BAD ((_IO_off_t) -1) # endif #endif /* _IO_pos_as_off converts an _IO_fpos_t value to an _IO_off_t value. */ diff --git a/contrib/libio/parsestream.h b/contrib/libio/parsestream.h index 326ab87..97655bc 100644 --- a/contrib/libio/parsestream.h +++ b/contrib/libio/parsestream.h @@ -42,7 +42,7 @@ extern "C++" { class parsebuf : public streambuf { protected: - _IO_fpos_t pos_at_line_start; + _IO_off_t pos_at_line_start; long _line_length; unsigned long __line_number; char *buf_start; diff --git a/contrib/libio/stdio/ChangeLog b/contrib/libio/stdio/ChangeLog index 86b1b7e..8ef9dcc 100644 --- a/contrib/libio/stdio/ChangeLog +++ b/contrib/libio/stdio/ChangeLog @@ -1,3 +1,7 @@ +Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com) + + * gcc-2.95.3 Released. + Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com) * gcc-2.95.2 Released. diff --git a/contrib/libio/stdstreams.cc b/contrib/libio/stdstreams.cc index a5889d7..7a74eaa 100644 --- a/contrib/libio/stdstreams.cc +++ b/contrib/libio/stdstreams.cc @@ -36,7 +36,7 @@ the executable file might be covered by the GNU General Public License. */ // then we don't need to, since in that case stdin/stdout/stderr // are identical to _IO_stdin/_IO_stdout/_IO_stderr. -#include "libio.h" +#include #ifdef _STDIO_USES_IOSTREAM #define CIN_SBUF _IO_stdin_ diff --git a/contrib/libio/streambuf.h b/contrib/libio/streambuf.h index 8785d96..193c499 100644 --- a/contrib/libio/streambuf.h +++ b/contrib/libio/streambuf.h @@ -72,10 +72,10 @@ class ostream; class streambuf; #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001 typedef _IO_off64_t streamoff; -typedef _IO_fpos64_t streampos; +typedef _IO_off64_t streampos; #else typedef _IO_off_t streamoff; -typedef _IO_fpos_t streampos; +typedef _IO_off_t streampos; #endif typedef _IO_ssize_t streamsize; diff --git a/contrib/libio/tests/ChangeLog b/contrib/libio/tests/ChangeLog index 8493c19..548e9e0 100644 --- a/contrib/libio/tests/ChangeLog +++ b/contrib/libio/tests/ChangeLog @@ -1,3 +1,7 @@ +Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com) + + * gcc-2.95.3 Released. + Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com) * gcc-2.95.2 Released. diff --git a/contrib/libio/testsuite/ChangeLog b/contrib/libio/testsuite/ChangeLog index c670905..ead33b2 100644 --- a/contrib/libio/testsuite/ChangeLog +++ b/contrib/libio/testsuite/ChangeLog @@ -1,3 +1,7 @@ +Fri Mar 16 12:46:19 GMT 2001 Bernd Schmidt (bernds@redhat.com) + + * gcc-2.95.3 Released. + Sun Oct 24 23:54:10 PDT 1999 Jeff Law (law@cygnus.com) * gcc-2.95.2 Released. -- cgit v1.1