2000-10-11 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-13 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. --- gcc-2.95.2/libio/libio.h.jj Mon Jun 29 20:06:26 1998 +++ gcc-2.95.2/libio/libio.h Thu Nov 2 17:33:00 2000 @@ -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_FI 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 *)); --- gcc-2.95.2/libio/libioP.h.jj Tue May 18 00:58:56 1999 +++ gcc-2.95.2/libio/libioP.h Tue Oct 10 11:40:57 2000 @@ -146,10 +146,10 @@ typedef _IO_size_t (*_IO_xsgetn_t) __PMT 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) __PM 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 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_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 _ 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_F 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 * 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. */ --- gcc-2.95.2/libio/streambuf.h.jj Mon Aug 9 02:07:01 1999 +++ gcc-2.95.2/libio/streambuf.h Tue Oct 10 11:40:57 2000 @@ -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; --- gcc-2.95.2/libio/parsestream.h.jj Fri Aug 22 00:58:20 1997 +++ gcc-2.95.2/libio/parsestream.h Tue Oct 10 11:40:57 2000 @@ -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; --- gcc-2.95.2/libio/iostream.cc.jj Sat Aug 7 08:01:46 1999 +++ gcc-2.95.2/libio/iostream.cc Thu Nov 2 17:33:00 2000 @@ -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 /* extra: */ 0, #if __GLIBC_MINOR__ >= 1 /* is_char: */ 0, +#if __GLIBC_MINOR__ >= 2 + /* wide: */ 0, + /* i18n: */ 0, +#endif #endif #endif /* pad: */ fill() --- gcc-2.95.2/libio/iolibio.h.jj Tue Feb 24 21:09:50 1998 +++ gcc-2.95.2/libio/iolibio.h Thu Nov 2 17:33:00 2000 @@ -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 ((str _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) \ --- gcc-2.95.2/libio/stdstreams.cc.jj Fri Aug 22 00:58:21 1997 +++ gcc-2.95.2/libio/stdstreams.cc Thu Nov 2 17:33:00 2000 @@ -36,7 +36,7 @@ the executable file might be covered by // 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_