* configure.in (target frags): Add *-linux-gnu.
[platform/upstream/gcc.git] / libio / ChangeLog
1 Thu Dec 11 11:20:59 1997  H.J. Lu  (hjl@gnu.org)
2
3         * configure.in (target frags): Add *-linux-gnu.
4
5 Fri Dec  5 16:22:15 1997  H.J. Lu  (hjl@gnu.org)
6
7         * streambuf.cc (streambuf::~streambuf): Don't delete _lock
8         for _IO_stdin/_IO_stdout/_IO_stderr.
9
10 Thu Nov 27 01:32:43 1997  Jeffrey A Law  (law@cygnus.com)
11
12         * Makefile.in (install): Change gxx_includedir to gcc_include_dir.
13         * config.shared (gxx_includedir): Remove default definition.
14         * config/linux.mt: Change gxx_includedir to gxx_include_dir.
15         * config/linuxaxp1.mt: Likewise.
16
17 Wed Nov 26 16:08:50 1997  Richard Henderson  (rth@cygnus.com)
18
19         * configure.in (target frags): Add powerpc*-linux-gnulibc1.
20         (stdio-lock): Similarly.
21
22         * configure.in (target frags): Add alpha*-linux-gnulibc1.
23         (pic frags): Its alpha*- not alpha-.
24         (stdio-lock): Kill everything.  Add alpha*-linux-gnulibc1.
25         * libio.h: Check __GLIBC_MINOR__ to find stdio-lock.h.  If not
26         _IO_MTSAFE_IO & GLIBC, make sure the lock pointer is still there.
27         * libioP.h: Check __GLIBC_MINOR__ to find libc-lock.h.
28
29         * config/linuxaxp1-libc-lock.h: New file.
30         * config/linuxaxp1-stdio-lock.h: New file.
31         * config/linuxaxp1.mt: New file.
32
33         * gen-params (va_list): Check for and use __gnuc_va_list.
34         (NULL): Work around some linux kernel headers and redefine NULL.
35
36 Tue Nov 18 09:53:58 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
37
38         * stdstrbufs.cc (DEF_STDFILE): Use STD_VTABLE.
39
40 Tue Nov 11 01:40:17 1997  Oleg Krivosheev <kriol@fnal.gov>
41
42         * iomanip.h: Fix guiding decls.
43
44 Wed Oct 29 23:01:47 1997  Jason Merrill  <jason@yorick.cygnus.com>
45
46         * gen-params: Override NULL.
47
48 Wed Oct 22 19:19:32 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
49
50         * libio.h (_IO_LOCK_T): Handle glibc 2 when _IO_MTSAFE_IO is
51         not defined.
52
53         * iovsscanf.c (vsscanf): Make it weak alias of _IO_vsscanf if
54         __linux__ is defined instead of __ELF__
55
56         * config/linuxlibc1.mt (USER_INCLUDES): Add libio.h.
57
58 1997-10-15  Ulrich Drepper  <drepper@cygnus.com>
59
60         * configure.in: Create compatibility code in bits/libc-lock.h file.
61
62 Thu Oct  9 07:08:41 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
63
64         * libio.h (_IO_LOCK_T): Handle glibc 2 when _IO_MTSAFE_IO is
65         not defined.
66
67         * filedoalloc.c (_IO_file_doallocate): Don't call
68         _IO_cleanup_registration_needed if __linux__ is defined.
69
70         * iofclose.c (fclose): Make it weak alias of _IO_fclose if
71         __ELF__ is defined.
72
73         * iovsprintf.c (vsprintf): Make it weak alias of _IO_vsprintf
74         if __ELF__ is defined.
75
76         * iovsscanf.c (vsscanf): Make it weak alias of _IO_vsscanf if
77         __ELF__ is defined.
78
79         * config/linuxlibc1.mt (MT_CFLAGS): Defined as -D_G_HAVE_MMAP.
80         (IO_OBJECTS): Add filedoalloc.o fileops.o genops.o iofclose.o
81         iovsprintf.o iovsscanf.o strops.o.
82
83 Fri Oct  3 10:13:13 1997  Jason Merrill  <jason@yorick.cygnus.com>
84
85         * iostream.cc, libio.h: Convert other uses of #ifdef
86         _G_HAVE_PRINTF_FP to #if.
87
88 1997-10-02  Brendan Kehoe  <brendan@lisa.cygnus.com>
89
90         * iostream.cc (operator<<): Use `#if _G_HAVE_PRINTF_FP', not ifdef.
91
92 Thu Oct  2 10:36:49 1997  Jason Merrill  <jason@yorick.cygnus.com>
93
94         * gen-params: Fix __printf_fp test.
95         * config/linuxlibc1.mt (gxx_includedir): Don't define.
96
97 Thu Oct  2 10:36:26 1997  Ulrich Drepper  <drepper@rtl.cygnus.com>
98
99         * config/linuxlibc1.mt (_G_CONFIG_H): Don't define.
100         * gen-params: Add test for __printf_fp.
101
102 Sun Sep 28 12:09:04 1997  Mark Mitchell  <mmitchell@usa.net>
103
104         * iomanip.h: Use new friend <> syntax.
105
106 Sun Sep 28 12:04:21 1997  Jason Merrill  <jason@yorick.cygnus.com>
107
108         * libio.h: Don't use _IO_LOCK_T if it's not defined.
109
110 Fri Sep 26 20:56:41 1997  Ulrich Drepper  <drepper@rtl.cygnus.com>
111
112         Based on a patch by H.J. Lu  (hjl@gnu.ai.mit.edu).
113
114         * Makefile.in (STDIO_OBJECTS): New. Defined as stdfiles.o.
115         (LIBIO_OBJECTS): Add $(STDIO_OBJECTS).
116         (PICFLAG): New, empty.  moved to here from config.shared.
117
118         * config.shared (DISTCLEAN): Add target-mkfrag.
119         (PICFLAG): Removed.
120
121         * configure.in (*-linux-gnulibc1): Remove warning.
122         (*-linux-gnu): Use linux.mt mtsafe.mt.
123         (alpha-*-linux*): Use mh-elfalphapic.
124
125         * gen-params (_G_ullong): Also check unsigned long long int.
126         (_G_llong): Also check long long int.
127
128         * libio.h (_IO_lock_t): Add support for the Linux libc 5.
129         (_IO_peekc): Defined as _IO_peekc_unlocked if _IO_MTSAFE_IO
130         is not defined.
131
132         * iostream.cc (__cvt_double): Fix a typo in declaration.
133         (info): Use expr != 0 to initialize the bit fields. Don't
134         initialize "extra" for the Linux libc 5.
135
136         * streambuf.h (_G_NEED_STDARG_H): Changed from _IO_NEED_STDARG_H.
137
138         * config/linux.mt (STDIO_OBJECTS): New, empty.
139         (MT_CFLAGS): Removed.
140
141         * config/linuxlibc1.mt: Rewrite.  it's identical to linux.mt but
142         IO_OBJECTS mentions files not in early libc5 versions.
143
144         * config/mtsafe.mt: New.
145
146         * dbz/Makefile.in (check): Support make -j.
147
148         * tests/tFile.cc (tempfile): Fix a typo.
149
150 Fri Sep 19 11:52:25 1997  Jim Wilson  <wilson@cygnus.com>
151
152         * Makefile.in (LIBIO_OBJECTS): Depend on _G_CONFIG_H.
153
154 1997-09-17 04:08  Ulrich Drepper  <drepper@cygnus.com>
155
156         * iostream.cc: Add forward declaration for __cvt_double.
157         * libio.h: Define _IO_USE_DTOA is _G_HAVE_PRINTF_FP is not defined.
158         * strops.c (_IO_str_count): Correct last change.
159
160 1997-09-17 02:50  Ulrich Drepper  <drepper@cygnus.com>
161
162         * libioP.h: Define __set_errno if not already defined.
163         * fileops.c: Don't try to define __set_errno, it's already defined.
164
165 1997-09-15 02:37  Ulrich Drepper  <drepper@cygnus.com>
166
167         * config/linux.mt: Rewrite for use with glibc 2.
168         * config/linuxlibc1.mt: Old content of linux.mt, fir libc4 and
169         libc5.
170
171         * config.shared (COMPILE.c): Allow new flags in MT_CFLAGS be
172         passed.
173         (COMPILE.cc): Likewise.
174
175         * configure.in (*-linux*): Remove goal.  We now have...
176         (*-linux-gnulibc1): For libc4 and libc5.  Emit warning.
177         (*-linux-gnu)): For glibc 2.
178         Create links to find headers for multi-threading if necessary.
179
180         * fileops.c: Make thread-safe by using _IO_cleanup_region_start
181         etc to handle cancelation.  Acquire locks in functions which are
182         called directly.
183         (_IO_file_read, _IO_file_write): Remove dead code.
184
185         * include/empty.h: Define stub macros for locking.
186
187         * iolibio.h: Add prototypes for obstack printing functions.
188
189         * ioseekoff.c (_IO_seekoff): Lock stream before working.
190         * ioseekpos.c (_IO_seekpos): Likewise.
191
192         * iostream.cc: Add support for long double I/O.
193         Use __printf_fp from glibc is available.
194         Use _IO_cleanup_region_start to handle cancelation correctly.
195         * iostream.h (class ostream): Change opfx and osfx to lock/unlock
196         stream
197         (class istream): Likewise for ipfx, ipfx0, ipfx1, and isfx.
198         Declare new function lock and unlock for ostream and istream.
199         * osform.cc: Use _IO_cleanup_region_start to handle cancelation
200         correctly.
201
202         * libio.h: Update from glibc version.  Pretty printing.
203         * libioP.h: Likewise.
204
205         * outfloat.c: Only compile if _IO_USE_DTOA is defined.
206
207         * stdio/feof.c: Make thread safe.
208         * stdio/ferror.c: Likewise.
209         * stdio/getc.c : Likewise.
210         * stdio/putc.c : Likewise.
211         * stdio/stdio.h: Declare function of thread-safe API.
212
213         * stdio/obprintf.c: New file.
214         * stdio/vasprintf.c: New file.
215
216         * stdio-lock.h: Removed.
217
218         * stdstrbufs.c: Add definitions for thread-safe streams.
219
220         * streambuf.cc: Initialize lock.
221
222         * strops.c (_IO_str_count): Undo last change.
223
224         * tests/tFile.cc: Support parallel builds by avoiding fixed
225         name for test file.
226
227 Thu Sep 11 18:43:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
228
229         * Makefile.in (iostream.list): Remove STDIO_WRAP_OBJECTS.
230
231 Mon Sep  8 01:30:27 1997  Weiwen Liu    <liu@hepunix.physics.yale.edu>
232
233         * libio.h: Fix typo.
234
235 Sun Sep  7 23:00:18 1997  Jim Wilson  (wilson@cygnus.com)
236
237         * linux.mt (LIBIOSTREAM_DEP): Change stdio.list to stmp-stdio.
238
239 Fri Sep  5 09:58:43 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
240
241         * Makefile.in (iostream.list): Instead of adding stdio.list, add
242         STDIO_WRAP_OBJECTS.
243         (iostream.list): Lose dependency on stmp-stdio, not necessary for
244         our stuff.  The stdio stuff is present here just for uniformity
245         with glibc.
246
247 Thu Sep  4 17:26:22 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
248
249         * parsestream.cc (general_parsebuf): Cast return of malloc to char*.
250
251 1997-09-04 16:11  Ulrich Drepper  <drepper@cygnus.com>
252
253         Change compared to version initially intended to in:
254         * strops.c (_IO_str_count): Still use _IO_write_ptr, not
255         _IO_write_end, for now.
256
257         * iofeof.c, ioferror.c, iofflush_u.c, iogetc.c, ioputc.c, peekc.c,
258         stdio-lock.h: New files.
259
260         * include: New dir.
261         * include/empty.h: New header.
262
263         * filedoalloc.c: Update and reformat copyright.
264         Don't use DEFUN.
265         Use __set_errno throughout the code to support multi-threaded
266         programs.
267         Correct layout to follow the Coding Standard.
268         Add casts to prevent warnings.
269         * fileops.c: Likewise.
270         * genops.c: Likewise.
271         * iofclose.c: Likewise.
272         * iofdopen.c: Likewise.
273         * iofflush.c: Likewise.
274         * iofgetpos.c: Likewise.
275         * iofgets.c: Likewise.
276         * iofopen.c: Likewise.
277         * iofprintf.c: Likewise.
278         * iofputs.c: Likewise.
279         * iofread.c: Likewise.
280         * iofsetpos.c: Likewise.
281         * ioftell.c: Likewise.
282         * iofwrite.c: Likewise.
283         * iogetdelim.c: Likewise.
284         * iogetline.c: Likewise.
285         * iogets.c: Likewise.
286         * iopadn.c: Likewise.
287         * iopopen.c: Likewise.
288         * ioputs.c: Likewise.
289         * ioseekoff.c: Likewise.
290         * iosetbuffer.c: Likewise.
291         * iosetvbuf.c: Likewise.
292         * iosprintf.c: Likewise.
293         * ioungetc.c: Likewise.
294         * iovsprintf.c: Likewise.
295         * iovsscanf.c: Likewise.
296         * libio.h: Likewise.
297         * libioP.h: Likewise.
298         * stdfiles.c: Likewise.
299         * strfile.h: Likewise.
300         * strops.c: Likewise.
301
302         * Makefile.in (IO_OBJECTS): Add peekc.o, iogetc.o, ioputc.o,
303         iofeof.o, and ioferror.o.
304         (iostream.list): Depend upon stmp-stdio.  Add the entries
305         from stdio.list to iostream.list.
306         (stmp-stdio): New name for what was the stdio/stdio.list rule.
307         All it now does is cd down into stdio and build stdio.list.
308
309         * configure.in (ALL): Add libiostream.a.
310
311         * libio.h [_IO_MTSFE_IO]: Include header declaring locking code.
312         Otherwise define opaque _IO_lock_t.
313         Define _IO_cookie_file.
314         Rename _IO_getc to _IO_getc_unlocked, _IO_peekc to _IO_peekc_unlocked,
315         _IO_putc to _IO_putc_unlocked, _IO_feof to _IO_feof_unclocked, and
316         _IO_ferror to _IO_ferror_unlocked.
317         Add prototypes for _IO_getc, _IO_putc, _IO_feof, _IO_ferror,
318         and _IO_peekc_locked.
319         Add declarations for _IO_flockfile, _IO_funlockfile, and
320         _IO_ftrylockfile.  If !_IO_MTSAFE_IO define _IO_flockfile,
321         _IO_funlockfile, _IO_ftrylockfile, _IO_cleanup_region_start, and
322         _IO_cleanup_region_end as empty macros.
323
324         * libioP.h: Change type of finish function to take an additional int
325         argument and change declaration of finish functions.
326         Add prototypes for _IO_seekoff and _IO_seekpos.
327         If _G_HAVE_MMAP is defined use stream buffers allocated with mmap.
328         Redefine FREE_BUF and ALLOC_BUF macros to help in both situations.
329         (FILEBUF_LITERAL): If we compile for a thread-safe library also
330         initialize lock member.
331
332         * filedoalloc.c: Take care for systems already defining _POSIX_SOURCE.
333         Keep name space clean on systems which require this.
334         (_IO_file_doallocate): Adopt ALLOC_BUF call for changed semantic.
335
336         * fileops.c: Keep name space clean on systems which require this.
337         (_IO_file_attach): Don't fail if seek failed because it's used on a
338         pipe.
339         (_IO_file_underflow): Update buffer pointers before calling `read'
340         since the `read' might not return anymore.
341         (_IO_file_overflow): If stream allows no writes set error flag.
342         (_IO_seekoff): Make sure that after flushing the file pointer in
343         the underlying file is exact.
344         (_IO_file_read): Don't restart `read' syscall if it return EINTR.
345         This violates POSIX.
346         (_IO_file_write): Likewise for `write'.
347         (_IO_cleanup): Install as exit handler in glibc.
348
349         * genops.c (_IO_setb): Correctly use FREE_BUF.
350         (_IO_default_doallocate): Correctly use ALLOC_BUF.
351         (_IO_init): Initialize lock in stream structure.
352         (_IO_default_finish): Destroy lock.
353         (_IO_get_column): Don't compile since it's not needed.
354         (_IO_nobackup_default): Likewise.
355
356         * iopopen.c: Take care for systems already defining _POSIX_SOURCE.
357         Correct _IO_fork and _IO_dup2 prototypes.
358
359         * iofclose.c: Acquire lock before starting the work.
360         * iofflush.c: Likewise.
361         * iofgetpos.c: Likewise.
362         * iofgets.c: Likewise.
363         * iofputs.c: Likewise.
364         * iofread.c: Likewise.
365         * iofsetpos.c: Likewise.
366         * ioftell.c: Likewise.
367         * iofwrite.c: Likewise.
368         * iogetdelim.c: Likewise.
369         * iogets.c: Likewise.
370         * ioputs.c: Likewise.
371         * iosetbuffer.c: Likewise.
372         * iosetvbuf.c: Likewise.
373         * ioungetc.c: Likewise.
374
375         * iofdopen.c: Create and initialize lock for new stream.
376         * iofopen.c: Likewise.
377         * iopopen.c (_IO_popen): Likewise.
378         * iovsprintf.c: Likewise.
379         * iovsscanf.c: Likewise.
380
381         * genops.c: Make weak aliases for various functions.
382         * iofclose.c: Likewise.
383         * iofdopen.c: Likewise.
384         * iofflush.c: Likewise.
385         * iofgetpos.c: Likewise.
386         * iofgets.c: Likewise.
387         * iofopen.c: Likewise.
388         * iofputs.c: Likewise.
389         * iofread.c: Likewise.
390         * iofsetpos.c: Likewise.
391         * ioftell.c: Likewise.
392         * iofwrite.c: Likewise.
393         * iogetdelim.c: Likewise.
394         * iogets.c: Likewise.
395         * ioputs.c: Likewise.
396         * iosetbuffer.c: Likewise.
397         * iosetvbuf.c: Likewise.
398         * ioungetc.c: Likewise.
399         * iovsprintf.c: Likewise.
400         * iovsscanf.c: Likewise.
401
402         * iofflush_u.c: New file.  fflush_unlocked implementation.
403
404         * iostream.h [_G_HAVE_LONG_DOUBLE_IO]: Declare real long double
405         output operator.
406
407         * peekc.c: New file.  Implement _IO_peekc_locked function.
408
409         * stdfiles.c: If we compile for a thread-safe library also define
410         lock variable.
411
412 Tue Aug 26 12:24:01 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
413
414         * testsuite/Makefile.in (check): Don't depend on site.exp.
415         (just-check): Depend on site.exp.
416
417 Wed Aug 20 02:01:34 1997  Jason Merrill  <jason@yorick.cygnus.com>
418
419         * iostream.h: Add copy assignment ops for _IO_?stream_withassign.
420
421 Tue Jul 22 10:31:41 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
422
423         * config.shared (CHECK_SUBDIRS): Use install-sh, not install.sh.
424
425 Wed Jun 25 12:20:55 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
426
427         * config.shared (DOING_GPERF): Look for this, defining TOLIBGXX
428         and LIBS for it.
429
430 Wed Jun 18 11:03:34 1997  Bob Manson  <manson@charmed.cygnus.com>
431
432         * config.shared (FLAGS_TO_PASS): Don't include RUNTEST.
433
434 Tue Jun 17 22:23:48 1997  Bob Manson  <manson@charmed.cygnus.com>
435
436         * config.shared (FLAGS_TO_PASS): Pass RUNTEST and RUNTESTFLAGS.
437
438 Fri May 16 21:08:53 1997  Bob Manson  <manson@charmed.cygnus.com>
439
440         * iovfprintf.c: Declare __cvt_double before use.
441
442         * floatconv.c (d2b): Use _G_int32_t instead of int for the
443         e and bits parameters.
444         (_IO_strtod): Use _G_int32_t.
445
446         * gen-params: Look for NO_USE_DTOA and USE_INT32_FLAGS.
447
448         * strops.c (_IO_str_init_static): use _G_int32_t appropriately.
449
450         * libio.h: If _G_NO_USE_DTOA is set, then don't define
451         _IO_USE_DTOA.
452
453         * config/mn10200.mt: Don't use dtoa, it only works
454         for "real" doubles.
455
456 Thu May 15 17:44:12 1997  Bob Manson  <manson@charmed.cygnus.com>
457
458         * configure.in: Set CHECK_SUBDIRS to testsuite if we're doing
459         a cross compile.
460
461         * config.shared(check): Only run make check in the directories
462         specified by CHECK_SUBDIRS. Set CHECK_SUBDIRS to SUBDIRS
463         if it has no previous value.
464
465 Thu May  1 17:35:19 1997  Jason Merrill  <jason@yorick.cygnus.com>
466
467         * Makefile.in (test, tpipe): Add $(CFLAGS).
468
469 Wed Apr 30 12:16:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
470
471         * configure.in: Don't turn on multilib here.
472
473 Sat Apr 26 13:38:21 1997  Bob Manson  <manson@charmed.cygnus.com>
474
475         * configure.in (configdirs): Add testsuite directory.
476
477         * testsuite/ChangeLog:
478         * testsuite/Makefile.in: 
479         * testsuite/libio.tests/tiomanip.exp:
480         * testsuite/libio.tests/tstdiomisc.exp:
481         * testsuite/libio.tests/tiomisc.exp:
482         * testsuite/libio.tests/tFile.exp:
483         * testsuite/libio.tests/tfformat.exp:
484         * testsuite/libio.tests/tiformat.exp:
485         * testsuite/libio.tests/hounddog.exp:
486         * testsuite/libio.tests/putbackdog.exp:
487         * testsuite/configure.in:
488         * testsuite/lib/libio.exp:
489         * testsuite/config/default.exp: 
490         New files for DejaGnu-style testsuite.
491         
492 Fri Apr  4 03:16:44 1997  Ulrich Drepper  <drepepr@cygnus.com>
493
494         * configure.in: Enable multilibing by default. 
495         Update multilib template to read config-ml.in.
496
497         * floatconv.c: Enable use in cross targets which use the
498         newlib ieeefp.h header.
499
500 Thu Jan 23 09:16:16 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
501
502         * libioP.h (_IO_file_attach): Delete redundant decl.
503
504 Tue Jan 21 22:13:45 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
505
506         * streambuf.h (class ios): Take out STREAMSIZE member, since we
507         only need (and should only have) the global one.
508
509 Tue Jan  7 14:02:40 1997  Jason Merrill  <jason@yorick.cygnus.com>
510
511         * iostream.h (long long fns): Use __extension__.
512
513         * gen-params: Use _G_llong and _G_ullong instead of long long for
514         deduced types.
515
516 Fri Dec  6 13:13:30 1996  Jason Merrill  <jason@yorick.cygnus.com>
517
518         * dbz/dbz.c: Use off_t.
519
520 Sat Nov 23 15:44:37 1996  Jason Merrill  <jason@yorick.cygnus.com>
521
522         * Makefile.in (install): Don't install _G_config.h with other headers.
523
524 Mon Nov 18 17:12:41 1996  Jason Merrill  <jason@yorick.cygnus.com>
525
526         * config.shared (SUBDIRS): Use -O instead of -O3 for debugging.
527
528 Sun Nov  3 12:43:34 1996  Jason Merrill  <jason@yorick.cygnus.com>
529
530         * iostream.cc (write_int): Treat string literals as const.
531
532 Thu Sep 26 10:09:18 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
533
534         * depend: Regenerate.
535
536 Wed Sep 25 22:54:45 1996  Jason Merrill  <jason@yorick.cygnus.com>
537
538         * config.shared (depend.new): Deal with headers that don't end in .h.
539
540 Thu Aug 29 17:05:53 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
541
542         * configure.in (i[345]86-*-*): Recognize i686 for pentium pro.
543
544 Mon Aug  5 01:26:32 1996  Jason Merrill  <jason@yorick.cygnus.com>
545
546         * config{ure.in,.shared} (DISTCLEAN): Add multilib.out.
547
548 Fri Aug  2 17:39:35 1996  Jason Merrill  <jason@yorick.cygnus.com>
549
550         * libio.h (NULL): Use __null.
551         * libioP.h (NULL): Ditto.
552         * streambuf.h (NULL): Ditto.
553         * ioextend.cc (get_array_element): Use NULL instead of (void*)0.
554
555 Fri Jul  5 18:26:41 1996  Jim Wilson  <wilson@cygnus.com>
556
557         * strfile.h (struct _IO_streambuf): New struct type.
558         (struct _IO_strfile): Use it.
559
560 Tue Jun 18 18:24:21 1996  Jason Merrill  <jason@yorick.cygnus.com>
561
562         * fstream.h (fstreambase): Make __my_fb mutable.
563         From Joe Buck.
564
565 Tue Jun 18 11:03:53 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
566
567         * dbz/fake.c (main): Set return type to int.
568         * dbz/dbzmain.c (main): Likewise.
569         * dbz/byteflip.c (main): Likewise.
570
571 Mon Jun 17 14:05:36 1996  Jason Merrill  <jason@yorick.cygnus.com>
572
573         * gen-params: Check if clog conflicts with system libraries.
574         * stdstreams.cc: If it does, use __IO_clog.
575         * iostream.h: Likewise.
576
577 Tue Jun 11 13:39:31 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
578
579         * stdiostream.h (istdiostream (FILE*)): Put istream base
580         initializer before init for __f.
581         (ostdiostream (FILE*)): Likewise for ostream base init.
582
583 Tue May 14 11:47:21 1996  Per Bothner  <bothner@andros.cygnus.com>
584
585         * strfile.h (_IO_str_fields):  Removed _len field.
586         (_IO_STR_DYNAMIC, _IO_STR_FROZEN):  new macros.
587         * strstream.h (strstreambuf::is_static):  Removed.
588         (strstreambuf::frozen):  Use _IO_STR_DYNAMIC instead of is_static.
589         * strstream.h, strstream.cc:  Remove support for !_IO_NEW_STREAMS.
590         * strstream.cc (strstreambuf::init_dynamic):  Don't set _s._len.
591         * strops.c (_IO_str_init_static):  Better handling of the
592         negative (== unbounded) size case.
593         (_IO_str_overflow, _IO_str_underflow, _IO_str_count):  Re-write
594         to not use _s._len, and otherwise cleanup/fix.
595         * strstream.h, strstream.cc (strstreambase::strstreambase()):  Call
596         ios::init here.
597         (other constructors):  Simplify - init already called.
598         
599 Tue May 14 10:55:21 1996  Per Bothner  <bothner@deneb.cygnus.com>
600
601         Change so that strstreambuf default constructor does no allocation.
602         * strstream.h (strstreambuf::init_dynamic):  Default initial size = 0.
603         * strstream.cc (strstreambuf::init_dynamic):  Don't allocate a
604         buffer (yet) if initial_size is 0.
605         * strops.c (_IO_str_overflow):  Add 100 to size of re-allocated
606         buffer, to handle case when initial size is 0.
607
608         * iostdio.h (remove, rename, tmpfile, tempnam):  Comment out.
609         
610 Mon May 13 23:19:39 1996  Per Bothner  <bothner@deneb.cygnus.com>
611
612         * fileops.c (_IO_file_close_it):  Just call _IO_do_flush rather
613         than _IO_file_sync, to avoid useless lseek.
614         
615 Tue May 14 10:48:48 1996  Jason Merrill  <jason@yorick.cygnus.com>
616
617         * floatconv.c (_IO_strtod): Force rv into the stack.
618
619         * config.shared (gxx_includedir): Now $(includedir)/g++.
620
621 Sat Apr 27 02:37:49 1996  Jason Merrill  <jason@yorick.cygnus.com>
622
623         * libioP.h (JUMP*): Implement for thunks.
624         (_IO_jump_t): Add second dummy field for thunks.
625
626 Thu Apr 25 13:20:00 1996  Jason Merrill  <jason@yorick.cygnus.com>
627
628         * config.shared (CXX): Use gcc, not g++.
629
630 Wed Apr 24 10:29:50 1996  Doug Evans  <dje@blues.cygnus.com>
631
632         * config.shared (depend.new): Delete $(srcdir)/ from foo.{c,cc}
633         for SunOS VPATH.
634         * depend: Regenerated.
635
636 Fri Apr 19 17:24:51 1996  Jason Merrill  <jason@yorick.cygnus.com>
637
638         * Version 2.8.0b3.
639
640 Wed Apr 10 17:16:01 1996  Jason Merrill  <jason@yorick.cygnus.com>
641
642         * configure.in (ALL): Don't build iostream.a.
643
644 Mon Apr  8 14:44:11 1996  Per Bothner  <bothner@kalessin.cygnus.com>
645
646         * iosetvbuf.c (_IO_setvbuf):  Clear _IO_UNBUFFERED unless _IONBF.
647
648 Mon Apr  8 15:08:23 1996  Ian Lance Taylor  <ian@cygnus.com>
649
650         * configure.in: Permit --enable-shared to specify a list of
651         directories.
652
653 Fri Apr  5 17:48:56 1996  Per Bothner  <bothner@kalessin.cygnus.com>
654
655         * config.shared (MOSTLYCLEAN):  Also remove ${EXTRA_MOSTLYCLEAN}.
656
657 Fri Mar 22 23:25:00 1996 Ulrich Drepper  <drepepr@gnu.ai.mit.edu>
658
659         * genops.c (_IO_sputbackc, _IO_sungetc): Clear EOF flag if putsh
660         back was successful.
661
662 Wed Mar 27 11:54:08 1996  Jason Merrill  <jason@yorick.cygnus.com>
663
664         * Version 2.8.0b2.
665
666 Fri Mar 22 15:39:36 1996  Per Bothner  <bothner@kalessin.cygnus.com>
667
668         * fileops.c (_IO_do_write):  Revert previous fix.  (It fails to
669         handle the case that fp->_IO_read_end != fp->_IO_write_base.)
670         (_IO_file_overflow):  Instead, if _IO_read_ptr is at the end of
671         the buffer, reset all the read pointers to _IO_buf_base.
672
673 Tue Mar 12 12:03:17 1996  Per Bothner  <bothner@kalessin.cygnus.com>
674
675         * fileops.c (_IO_do_write):  Even if to_do==0, must re-set buffer
676         pointers.  Bug and solution from Luke Blanshard <luke@cs.wisc.edu>.
677
678 Wed Feb 28 10:00:24 1996  Jason Merrill  <jason@yorick.cygnus.com>
679
680         * Version 2.8.0b1.
681
682 Tue Feb 27 18:08:16 1996  Per Bothner  <bothner@kalessin.cygnus.com>
683
684         * iopopen.c (_IO_proc_open):  Use (char*)0 rather than imprecise NULL.
685
686         * streambuf.h (ios):  Add ios::binary;  deprecate ios::bin.
687         * filebuf.cc (filebuf::open):  Handle ios::binary.
688         
689 Fri Feb  9 12:40:19 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
690
691         * cleanup.c (_IO_cleanup_registration_needed) [!_G_HAVE_ATEXIT]: Init
692         to NULL.
693         * filedoalloc.c (_IO_cleanup_registration_needed): Remove decl.
694
695 Thu Feb  8 08:12:50 1996  Brendan Kehoe  <brendan@cygnus.com>
696
697         * filedoalloc.c (_IO_cleanup_registration_needed): Revert previous
698         change, since cleanup.c only defines it if _G_HAVE_ATEXIT.
699
700 Wed Feb  7 15:10:17 1996  Brendan Kehoe  <brendan@lisa.cygnus.com>
701
702         * filedoalloc.c (_IO_cleanup_registration_needed): Declare as extern.
703
704 Tue Dec 12 17:21:13 1995  Per Bothner  <bothner@kalessin.cygnus.com>
705
706         * indstream.h, instream.cc (indirectbuf::uflow):  New method.
707         * indstream.cc (indirectbuf::underflow):  Fix to use sgetc, not sbumpc.
708         Fixes bug reported by Kevin Beyer <beyer@cs.wisc.edu>.
709
710         * indstream.cc (indirectbuf::seekpos):  Add paranoia test.
711
712 Fri Dec  8 14:55:34 1995  Per Bothner  <bothner@kalessin.cygnus.com>
713
714         * stream.h:  Add warning to not use these functions.
715         * stream.cc (str, chr):  Re-implement here (from libg++).
716
717 Tue Nov 28 15:07:01 1995  Per Bothner  <bothner@kalessin.cygnus.com>
718
719         * config.shared:  Use test instead of [ to avoid DEC Unix lossage.
720
721 Thu Nov 23 14:51:43 1995  Per Bothner  <bothner@kalessin.cygnus.com>
722
723         * iopopen.c: Move #include <sys/types.h> ahead of #include <signal.h>
724         to deal with BSDI's literal implementation of Posix.
725
726 Sat Nov 25 11:21:55 1995  Doug Evans  <dje@canuck.cygnus.com>
727
728         * Makefile.in (install): Set rootme.
729         * config.shared (TOPDIR): Set with ${foo-...} rather than ${foo=...}.
730         (INSTALL): Handle absolute, dot, relative-not-dot values of srcdir.
731         (TEXIDIR): Likewise.
732
733 Tue Nov 21 14:12:05 1995  Ian Lance Taylor  <ian@cygnus.com>
734
735         * configure.in: Check ${with_cross_host} rather than comparing
736         ${host} and ${target}.
737
738 Mon Nov 20 13:55:29 1995  Brendan Kehoe  <brendan@lisa.cygnus.com>
739
740         * configure.in: Match *-sco3.2v[45]*.
741
742 Wed Nov 15 20:19:31 1995  Brendan Kehoe  <brendan@lisa.cygnus.com>
743
744         * config.shared (FLAGS_TO_PASS): Also pass SHLIB and SHCURSES.
745
746 Tue Nov 14 01:41:08 1995  Doug Evans  <dje@canuck.cygnus.com>
747
748         * config.shared (TO_REAL_TOPDIR): Define.
749         (MULTITOP): Deleted.
750         (MULTISRCTOP, MULTIBUILDTOP): New.
751         (TOPDIR): Change MULTITOP to MULTIBUILDTOP, and use TO_REAL_TOPDIR.
752         (INSTALL): Add with_multisrctop, TO_REAL_TOPDIR.
753         (TEXIDIR): Use TO_REAL_TOPDIR.
754         (LIBS): Delete MULTITOP.
755         (FLAGS_TO_PASS): Add NM.
756         (CXXINCLUDES): Delete MULTITOP.
757         (depend.new): Delete adding MULTITOP to ../ build tree references.
758         Add MULTISRCTOP to ../ source tree references.
759         * configure.in: Delete call to cfg-ml-com.in.  Call config-ml.in
760         instead of cfg-ml-pos.in.
761
762 Sun Nov 12 16:30:48 1995  Per Bothner  <bothner@kalessin.cygnus.com>
763
764         * Makefile.in (VERSION):  Set to 2.7.1.
765         * configure.in:  Add warning for Linux.
766         * config.shared (DISTCLEAN):  Add EXTRA_DISTCLEAN.
767
768         * editbuf.h (edit_mark::index_in_buffer):  Avoid unused param warning.
769
770         * iostream.cc (istream::operator>> (char*)):  Improve ANSI compliance.
771
772 Fri Nov 10 08:41:37 1995  Brendan Kehoe  <brendan@lisa.cygnus.com>
773
774         * config.shared (check): Add missing semicolon.
775
776 Thu Nov  9 17:27:22 1995  Jason Merrill  <jason@yorick.cygnus.com>
777
778         * configure.in (ALL): Remove $(OSPRIM_OBJECTS).
779         * config.shared (check): Set LD_LIBRARY_PATH.
780         * NEWS: Fix typo.
781         * iogetdelim.c (_IO_getdelim): Index *lineptr, rather than lineptr.
782         From alan@spri.levels.unisa.edu.au (Alan Modra).
783
784 Mon Nov  6 15:03:33 1995  Per Bothner  <bothner@kalessin.cygnus.com>
785
786         * streambuf.cc, editbuf.cc, isgetline.cc, parsestream.cc:
787         Fixes to avoid -Wall warnings.
788
789 Fri Nov  3 16:41:41 1995  Brendan Kehoe  <brendan@lisa.cygnus.com>
790
791         * gen-params [!__STDC__]: Include varargs.h instead of stdarg.h.
792
793 Thu Nov  2 15:04:03 1995  Per Bothner  <bothner@kalessin.cygnus.com>
794
795         * config.shared:  Re-write if X then Y else true fi to (not X) || Y.
796
797 Wed Nov  1 13:26:44 1995  Per Bothner  <bothner@kalessin.cygnus.com>
798
799         * iostream.h (istream::ipfx):  Add default argument value.
800         Reported by Yotam Medini <yotam_medini@tmai.com>.
801
802         * libioP.h (_IO_blen):  Fix typo.
803         Reported by Bryan T. Vold <btv@ldl.healthpartners.com>.
804
805 Fri Oct 27 19:26:20 1995  Per Bothner  <bothner@kalessin.cygnus.com>
806
807         * Makefile.in (_G_config.h):  Set CC to $(CC) rather than to $(CXX),
808         now that CXX defaults to g++ and CC default to gcc (when found).
809         * config.shared:  Simplify CXX and CC, since they get overridden
810         by ../configure anyway.
811
812 Wed Oct 25 19:45:50 1995  Brendan Kehoe  <brendan@lisa.cygnus.com>
813
814         * iostdio.h: Wrap including the file with #ifndef _IOSTDIO_H.
815
816 Wed Oct 25 11:14:25 1995  Per Bothner  <bothner@kalessin.cygnus.com>
817
818         * libio.h (_IO_seekoff, _IO_seekpos):  New declarations.
819         * libioP.h (_IO_seekoff, _IO_seekpos):  Remove declarations.
820         * libioP.h:  Cleanup;  remove old !_IO_UNIFIED_JUMPTABLES stuff.
821         
822         * filebuf.cc (filebuf::~filebuf):  Only call SYSYCLOSE if currently
823         open.  Bug found by Martin Gerbershagen <ger@ezis-ulm.de>.
824
825         * streambuf.h (streambuf::pubseekoff, streambuf::pubseekpos):
826         Added, from ANSI draft.
827         * filebuf.cc (filebuf::open), iostream.cc (variables places), SFile.cc:
828         Use pubseekoff/pubseekpos rather than sseekoff/sseekpos.
829
830         * Makefile.in (install):  Don't install libiostream.a.
831
832         * filedoalloc.c:  Also #include <unistd.h>.
833
834 Mon Oct  9 18:09:54 1995  Jason Molenda  <crash@phydeaux.cygnus.com>
835
836         * config.shared (SUFFIXES): add .c.
837
838 Tue Sep 26 16:08:01 1995  Per Bothner  <bothner@kalessin.cygnus.com>
839
840         * procbuf.cc:  Move #pragma implementation to beginning.
841
842 Wed Sep 20 17:53:33 1995  Per Bothner  <bothner@kalessin.cygnus.com>
843
844         * procbuf.h, procbuf.cc:  Add #pragma interface/implementation stuff.
845
846 Wed Sep 20 18:59:00 1995  John Eaton  <jwe@bevo.che.wisc.edu>
847
848         * procbuf.h: Protect from being included multiple times.
849
850 Wed Sep 20 15:47:14 1995  John Eaton <jwe@bevo.che.wisc.edu>
851
852         * procbuf.h (procbuf):  Add '_next' pointer field for compatibility
853         with _IO_proc_file.
854
855 Wed Sep 20 13:54:02 1995  Ian Lance Taylor  <ian@cygnus.com>
856
857         * config.shared: Add support for maintainer-clean target as a
858         synonym for realclean.
859         * dbz/Makefile.in: Likewise.
860
861 Mon Sep 11 12:11:19 1995  Per Bothner  <bothner@kalessin.cygnus.com>
862
863         * iopopen.c:  #include <sys/types.h> before <sys/wait.h>.
864         This is in accordance with Posix, and needed for ISC.
865
866 Fri Sep  8 00:11:55 1995  Brendan Kehoe  <brendan@lisa.cygnus.com>
867
868         * gen-params: Use double quotes in the eval setting $TYPE to
869         $VALUE, to preserve any single quotes in $VALUE.
870
871 Mon Aug 21 11:39:09 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
872
873         * gen-params: Test for an appropriate version of gcc before using
874         mode attributes.
875
876         * config.shared: Add $(PICDIR) to $ALL.
877
878 Mon Aug  7 17:51:40 1995  Per Bothner  <bothner@kalessin.cygnus.com>
879
880         * gen-params:  Generate new macro _G_HAVE_SYS_CDEFS.
881         * libio.h:  If _G_HAVE_SYS_CDEFS, get __P from <sys/cdefs.h>.
882
883 Fri Aug  4 23:21:17 1995  Paul Eggert  <eggert@twinsun.com>
884
885         * gen-params: When following typedef changes, allow typedefs
886         that do not have a space before the defined type name,
887         e.g. `typedef void *__gnuc_va_list;' as in Linux.  Also,
888         not require a space in the definiens, e.g. `typedef void*foo;'.
889         
890 Thu Aug  3 17:54:15 1995  Per Bothner  <bothner@kalessin.cygnus.com>
891
892         * iostream.h, iostream.cc (istream::sync):  Added missing method.
893
894 Thu Aug  3 17:49:34 1995  Per Bothner  <bothner@kalessin.cygnus.com>
895
896         * configure.in:  Remove netbsd special case.
897         * config/netbsd.mt:  Removed;  no longer used.
898
899 Tue Jun 20 16:07:12 1995  Paul Eggert  <eggert@twinsun.com>
900
901         * gen-params: Take transitive closure of `typedef' relation.
902         This is needed for BSD/OS 2.0, which has
903         fpos_t -> off_t -> quad_t -> long long.
904
905 Mon Jul 24 18:28:10 1995  Doug Evans  <dje@canuck.cygnus.com>
906
907         * config.shared (TOPDIR): Delete extra '/', $rootme may be empty.
908
909 Sat Jul 22 13:27:45 1995  Doug Evans  <dje@canuck.cygnus.com>
910
911         * config.shared (depend.new): Fix quoting in DO NOT EDIT line.
912
913         * Makefile.in (_G_config.h): Add multilib support.
914         (install): Likewise.
915         * config.shared: Likewise.
916         * configure.in: Likewise.
917
918 Wed Jun 28 17:40:25 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
919
920         * PlotFile.h, SFile.h, builtinbuf.h, editbuf.h, fstream.h,
921         indstream.h, iomanip.h, iostream.h, parsestream.h, pfstream.h,
922         procbuf.h, stdiostream.h, stream.h, streambuf.h, strstream.h: Wrap
923         with extern "C++".
924
925 Thu Jun 22 04:34:01 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
926
927         * gen-params: Surround attributes with __.
928
929 Mon Jun 19 00:33:22 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
930
931         * config.shared (SUBDIRS): Massage broken shells that require
932         'else true'.
933
934 Sat Jun 17 11:25:38 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
935
936         * streambuf.h: Declare inline members inline in class.
937
938 Thu Jun 15 20:45:13 1995  Per Bothner  <bothner@kalessin.cygnus.com>
939
940         * Makefile.in (VERSION):  Update to version 2.7.0.
941
942 Wed Jun 14 21:41:11 1995  Jason Merrill  <jason@python.cygnus.com>
943
944         * Makefile.in (STDIO_WRAP_OBJECTS): Remove stdfiles.o.
945         (LIBIO_OBJECTS): Add stdfiles.o.
946
947 Wed Jun  7 16:11:36 1995  Jason Merrill  <jason@python.cygnus.com>
948
949         * config.shared (all): Appease bash.
950
951 Wed Jun  7 11:16:38 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
952
953         * configure.in (MOSTLYCLEAN): Remove stamp-picdir.
954
955         * config.shared (MOSTLYCLEAN): Ditto.
956         (CLEAN): Don't.
957
958 Mon Jun  5 18:29:39 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
959
960         * config/mh-*pic: Removed.
961
962         * configure.in (MOSTLYCLEAN): Remove pic objects.
963         (frags): Use toplevel pic fragments.
964
965         * config.shared (CXXFLAGS): Use -O3.
966         (PICFLAG, PICDIR): New macros.
967         (all): Depend on $(PICDIR).
968         (FLAGS_TO_PASS): Pass PICFLAG.
969         (.x.o): Also build pic object.
970         (stamp-picdir): Create directory for pic objects.
971         (MOSTLYCLEAN): Remove pic objects.
972         (CLEAN): Remove stamp-picdir.
973
974         * Makefile.in (iostream.list): Depend on stamp-picdir.
975         (c++clean): Don't remove _G_config.h.
976
977 Mon Jun  5 15:03:47 1995  Per Bothner  <bothner@kalessin.cygnus.com>
978
979         * strstream.h, strstream.cc (strstream::strstream()):  Re-implement to
980         be like ostrstream::ostrestream(), and not leak memory.
981
982         * streambuf.h:  Use #if !_IO_UNIFIED_JUMPTABLES instead of #ifndef.
983
984         * iolibio.h (_IO_rewind):  Add missing flags when calling _IO_seekoff.
985
986 Thu May 25 22:30:21 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
987
988         * config/netbsd.mt (G_CONFIG_ARGS): Add defn for off_t.  Another
989           layer of typedefs has been added and the gen-params script can
990           not handle it.
991
992 Wed May 10 03:02:58 1995  Jason Merrill  <jason@python.cygnus.com>
993
994         * iolibio.h (_IO_rewind): Add new argument to _IO_seekoff.
995
996         * config/linux.mt (LIBIOSTREAM_OBJECTS): Include $(STDIO_WRAP_OBJECTS).
997         (LIBIOSTREAM_DEP): Include stdio.list.
998         (LIBIOSTREAM_USE): Include `cat stdio.list`.
999
1000         * Makefile.in (LIBIOSTREAM_DEP): New variable.
1001         (LIBIOSTREAM_USE): Ditto.
1002         (libiostream.a): Use them.
1003         (iostream.list): Ditto.
1004         (stdio.list): New rule.
1005         (stdio/stdio.list): Ditto.
1006
1007 Tue May  9 18:29:38 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
1008
1009         * libioP.h (_IO_jump_t): Change TYPE for __dummy from int to
1010         _G_size_t.
1011
1012 Sat May  6 13:50:37 1995  Per Bothner  <bothner@kalessin.cygnus.com>
1013
1014         * libio.h (_IO_UNIFIED_JUMPTABLES):  #define as true.
1015         (_IO_FILE):  Remove _jumps field (#if _IO_UNIFIED_JUMPTABLES).
1016
1017         * libioP.h (enum _IO_seekflags_):  Removed.
1018
1019         * libioP.h (_IO_setbuf_t):  Change return value of setpos jumptable
1020         function to match C++ streambuf::setpos.  (Return NULL on failure.)
1021         * fileops.c (_IO_file_setbuf), genops.c (_IO_default_setbuf),
1022         filebuf.cc, iosetvbuf.c:  Update to use new setbuf conventions.
1023
1024         * streambuf.h (streambuf):  Re-order virtual functions more logically.
1025         * streambuf.cc (streambuf::uflow), streambuf.h:  New virtual.
1026         * libioP.h (struct _IO_jump_t):  Define using new JUMP_FIELD macro.
1027         And re-order in more logical order consistent with streambuf vtable.
1028         * fileops.c (_IO_file_jumps), iopopen.c (_IO_proc_jumps), iovfprintf.c
1029         (_IO_helper_jumps), streambuf.cc (_IO_streambuf_jumps), strops.c
1030         (_IO_str_jumps):  Update accordingly, using JUMP_INIT macro.
1031         * stdfiles.c:  Set vtable to point to _IO_file_jumps.
1032         * filebuf.cc, iopopen.c, iovfprintf.c (helper_vfprintf), iovsprintf.c,
1033         iovsscanf.c:  Use macros and #if to set jumptables.
1034
1035         * streambuf.c:  _IO_streambuf_jumps and the _IO_sb_* methods are not
1036         needed #if _IO_UNIFIED_JUMPTABLES.
1037         * filebuf.cc (filebuf::__new):  Also no longer needed.
1038         * fstream.cc (fstreambase::__fb_init, fstreambase::fstreambase):  Fix.
1039         * stdstrbufs.c:  Use filebuf vtable instead of builtinbuf's.
1040         * builtinbuf.h, builtinbuf.cc (builtinbuf):  Commented out #if
1041         _IO_UNIFIED_JUMPTABLES - no longer needed.
1042         * strstream.cc (SET_STR_JUMPS):  Does nothing now.
1043
1044         * builtinbuf.cc, fileops.c, genops.c, iofgetpos.c, iofsetpos.c,
1045         ioftell.c, iopopen.c, ioseekoff.c, ioseekpos.c, iosetvbuf.c,
1046         iovfprintf.c, iovfscanf.c, strops.c:  Use DEFUN and DEFUN_VOID.
1047         * filebuf.cc, fileops.c, genops.c, iopopen.c, ioseekoff.c, ioseekpos.c,
1048         iosetvbuf.c, iovfscanf.c:  Use new JUMP_* and IO_OVERFLOW/... macros.
1049
1050         * libioP.h (_IO_seekpos_t):  Third arg is now an int (using _IOS_INPUT
1051         and _IOS_OUTPUT), not an enum _IO_seekflags_.  Flags values are
1052         changed, and their sense inverted (to match streambuf::seekpos).
1053         * libioP.h (_IO_seekoff_t):  Similarly match streambuf::seekoff.
1054         * filebuf.cc, fileops.c (_IO_file_fopen, _IO_file_seekoff), genops.c
1055         (_IO_default_seekpos, _IO_default_seekpos), iofgetpos.c, iofsetpos.c,
1056         iolibio.h (_IO_fseek), ioftell.c, ioseekoff.c, ioseekpos.c,
1057         iostream.cc, streambuf.cc, strops.c (_IO_str_seekoff), strstream.cc:
1058         New seekpos/seekoff conventions.
1059         * iostreamP.h (convert_to_seekflags):  Removed - no longer needed.
1060
1061         * iolibio.h (_IO_fread):  New declaration.
1062
1063         * dbz/Makefile.in:  Re-arrange for cleaner dependencies.
1064
1065 Fri May  5 15:55:22 1995  Per Bothner  <bothner@kalessin.cygnus.com>
1066
1067         * libioP.h (_IO_JUMPS. JUMP_FIELD, JUMP0, JUMP1, JUMP2, JUMP3,
1068         JUMP_INIT, _IO_FINISH, _IO_OVERFLOW, ... _IO_SYSSTAT):  New macros
1069         in preparation for new unified jumptable/vtable implementation.
1070         * cleanup.c, filedoalloc.c, iofclose.c, iofflush.c, iofiledoalloc.c,
1071         ioprims.c, iosetbuffer.c, iostrerror.c, ioungetc.c:  Use DEFUN.
1072         * filedoalloc.c, iofclose, iofflush, iosetbuffer.c:  Use new macros.
1073
1074         * iofopen.c, iofdopen.c:  Use macros and #if for new jumptables.
1075
1076         * gen-params:  Do not #include <sys/types.h>.
1077         Add missing quote in 'eval'.
1078         Do add #include <sys/types.h> in test for <sys/resource.h>.
1079         * config/netbsd.mt:  New file, defining _G_CONFIG_ARGS (for fpos_t).
1080         * configure.in:  Use netbsd.mt for NetBSD.
1081
1082 Wed May  3 15:03:47 1995  Per Bothner  <bothner@kalessin.cygnus.com>
1083
1084         * libioP.h (DEFUN, DEFUN_VOID, AND):  New macros, from ansidecl.h.
1085         * iofdopen.c, iofgets.c, iofopen.c, iofputs.c, iofread.c, iofwrite.c,
1086         iogetdelim.c, iogetline.c, iogets.c, ioignore.c, iopadn.c, ioperror.c,
1087         ioputs.c, iovsprintf.c, iovsscanf.c, outfloat.c:  Use DEFUN.
1088
1089 Mon May  1 16:22:30 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
1090
1091         * gen-params: #include <sys/types.h>.  Don't use __WCHAR_TYPE__ in
1092         definition of _G_wchar_t.  Use __attribute__ ((mode)) to get
1093         specific-sized ints under gcc, don't worry about int8 or int64
1094         otherwise.  Provide defaults if deduction fails.
1095
1096 Thu Apr 27 18:27:53 1995  Per Bothner  <bothner@kalessin.cygnus.com>
1097
1098         * streambuf.h (ios::~ios):  Delete _arrays.
1099         (_IO_NEW_STREAMS):  Turn on.
1100         * libio.h (__adjust_column):  Remove bogus declaration.
1101         * genops.c (_IO_set_column):  Fix typo (in commented-out code).
1102
1103 Tue Apr 25 17:14:29 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
1104
1105         * config.shared (CXXINCLUDES): Use a shell variable with a
1106         different name from the make variable.
1107         * configure.in: Update accordingly.
1108
1109 Mon Apr 17 17:19:40 1995  Per Bothner  <bothner@kalessin.cygnus.com>
1110
1111         * streambuf.h (__adjust_column):  Remove redundant declaration.
1112
1113 Sat Apr 15 11:39:25 1995  Per Bothner  <bothner@kalessin.cygnus.com>
1114
1115         * config.shared (do-clean-dvi):  Also remove *.cps.
1116
1117         * gen-params:  Use ${SED} instead of sed.
1118
1119         * libio.h:  Remove #if'd out stuff (confuses makedepend).
1120
1121         * stdstreams.cc (STD_STR):  Standard streams start with ios::dec set.
1122
1123 Fri Apr 14 23:46:31 1995  Per Bothner  <bothner@kalessin.cygnus.com>
1124
1125         * iostream.h, iostream.cc (istream::read, ostream::write):
1126         Use streamsize for the length parameter.
1127
1128         * streambuf.h:  Removed redundant __overflow and __underflow.
1129
1130         * fstream.h, fstream.cc: Add void fstreambase::attach(int).
1131
1132         * iosscanf.c (_IO_sscanf):  Fix non-__STDC__ missing declaration.
1133
1134 Mon Apr  3 15:40:55 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
1135
1136         * indstream.*: Fix prototypes of xsputn and xsgetn.
1137
1138         * fileops.c: Avoid ??? trigraph.
1139
1140 Mon Mar 27 16:16:38 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
1141
1142         * iomanip.h (operator<< (ostream&, const omanip<TP>&): Define
1143         separately.
1144         (operator>> (istream&, const imanip<TP>&): Ditto.
1145
1146 Mon Mar 27 08:56:00 1995  Brendan Kehoe  (brendan@lisa.cygnus.com)
1147
1148         * builtinbuf.cc (builtinbuf::setbuf): Cast NULL to streambuf*, to
1149         avoid warning/error about conversion from void*.
1150         * indstream.cc (indirectbuf::seekoff): Likewise.
1151         (indirectbuf::seekpos): Likewise.
1152         * filebuf.cc (filebuf::setbuf): Likewise.
1153         (filebuf::close): Cast NULL to filebuf*.
1154
1155 Wed Mar  1 14:23:18 1995  Per Bothner  <bothner@kalessin.cygnus.com>
1156
1157         * configure.in (DISTCLEAN):  Add, with target-mkfrag.
1158
1159 Fri Feb 24 01:01:08 1995  Jason Merrill  <jason@python.cygnus.com>
1160
1161         * configure.in (frags): Don't require so many dashes in the
1162         canonical target name.
1163
1164 Sat Feb 18 13:18:30 1995  Per Bothner  <bothner@kalessin.cygnus.com>
1165
1166         * streambuf.cc (streambuf::sync):  Always return 0, even for
1167         non-flushed output.  This is required by the ANSI/ISO draft.
1168         * genops.c (_IO_sync):  Likewise always return 0.
1169
1170 Fri Feb 17 16:33:28 1995  Per Bothner  <bothner@kalessin.cygnus.com>
1171
1172         * fileops.c (_IO_file_close_it):  Call _IO_file_sync, rather
1173         than _IO_do_flush, because we want to adjust the file pointer
1174         if reading and not at end (as in SVR4, and as in fflush).
1175         Also, make sure to return error indication if sync fails.
1176         (_IO_file_sync):  Ignore seek error if it is ESPIPE.
1177         (_IO_file_seekoff):  If not readable, do dumb lseek.
1178         * iofclose.c (_IO_fclose):  If closing a non-filebuf, return -1
1179         if _IO_ERR_SEEN.
1180
1181 Fri Feb 17 19:31:00 1995  Ian Lance Taylor  <ian@cygnus.com>
1182
1183         * gen-params: Check for struct tms in <sys/times.h>, defining
1184         HAVE_SYS_TIMES accordingly.
1185
1186 Wed Feb 15 21:05:11 1995  Per Bothner  <bothner@kalessin.cygnus.com>
1187
1188         * strops.c (_IO_str_count):  Use LEN macro.
1189         (_IO_str_seekoff):  Update _len field.
1190
1191 Mon Feb  6 19:29:00 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
1192
1193         * gen-params: Default to short, long and long long for 16, 32 and
1194         64 bit types, in case detection fails.
1195
1196 Wed Jan 25 18:07:30 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
1197
1198         * gen-params (_G_wint_t): Allow for broken promotions.
1199
1200 Tue Jan 24 16:15:40 1995  Per Bothner  <bothner@kalessin.cygnus.com>
1201
1202         * stdstrbufs.cc (_IO_fake_stdiobufs):  Add an extra layer of struct,
1203         to force correct alignment on i960s.
1204         (DEF_STDIOBUF, _IO_{stdin,stdout,stderr}_buf):  Update accordingly.
1205
1206 Thu Jan 19 18:30:53 1995  Jason Merrill  <jason@phydeaux.cygnus.com>
1207
1208         * config.shared (CXXINCLUDES): Add libstdc++ to includes for
1209         building libg++.
1210         (LIBS): Also link with libstdc++ when building libg++ toys.
1211         Don't set EXPORT_ALL_VARIABLES; users will have to set
1212         LD_LIBRARY_PATH themselves.
1213
1214 Fri Dec 30 16:38:13 1994  Mike Stump  <mrs@cygnus.com>
1215
1216         * config/linux.mt: Fix build problem on linux 1.0.8.
1217
1218 Thu Dec 22 11:49:45 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
1219
1220         * config/netware.mt: Use gcc to pre-link iostream.nlm's objects
1221           instead of using nlmconv, so that references to functions in
1222           libgcc.a are resolved.
1223
1224         * configure.in: Append .mt to target makefile fragment file names.
1225
1226         * floatconv.c (tens, tinytens, bigtens): Added const qualifier.
1227
1228 Tue Dec 20 09:59:50 1994  Mike Stump  <mrs@cygnus.com>
1229
1230         * gen-params (VTABLE_LABEL_PREFIX): Since some systems have GNU nm
1231         as nm, and they demangle by default, we have to notice this, and
1232         try --no-cplus (linux) or --no-demangle when running nm.
1233
1234 Wed Dec 14 18:13:58 1994  Per Bothner  <bothner@kalessin.cygnus.com>
1235
1236         * gen-params:  To determine vt-name-mangling using dummy.C add
1237         #include and #prama interface/implementation to avoid problem with
1238         assemblers that don't emit local symbols.  Reported under HPUX 8
1239         by Thomas Arend <arend@blasius.Chemietechnik.Uni-Dortmund.DE>.
1240
1241         * streambuf.h (ios::ios):  Move inline definition after
1242         that of ios::init (which ios::ios calls).
1243
1244 Sun Dec  4 19:50:32 1994  Per Bothner  <bothner@kalessin.cygnus.com>
1245
1246         * fileops.c (_IO_file_init, _IO_file_close_it, _IO_file_sync):
1247         Set _offset to _IO_pos_BAD, to support applications that follow
1248         POSIX.1 rules on mixing file handles.
1249
1250         * fileops.c (_IO_file_overflow):  Handle case that buffer was
1251         allocated (perhaps by setvbuf) but _IO_write_base is still 0.
1252
1253         * iostdio.h (setbuffer):  #define as _IO_setbuffer.
1254         * streambuf.h, filebuf.cc:  Removed filebuf::do_write.
1255
1256 Tue Nov 29 23:38:57 1994  Per Bothner  (bothner@rtl.cygnus.com)
1257
1258         * floatconv.c (setword0, setword1):  Fix typo.
1259
1260 Tue Nov 29 15:37:29 1994  Per Bothner  <bothner@kalessin.cygnus.com>
1261
1262         * config.shared:  Move -fno-implicit-template from CXXFLAGS
1263         to LIBCXXFLAGS.  Tests are better run without it.
1264
1265         * floatconv.c (word0, word1):  Re-place/re-implement using unions
1266         instead of casts to avoid optimizer problems.
1267
1268         * dbz/dbzmain.c:  Renamed dirname -> dir_name to avoid OSF
1269         header file braindamage.
1270
1271 Sat Nov  5 19:44:00 1994  Jason Merrill  (jason@phydeaux.cygnus.com)
1272
1273         * config.shared (LIBCFLAGS): Define.
1274         (LIBCXXFLAGS): Define.
1275         (DOING_LIBGXX): Define TOLIBGXX.  Change LIBS to use -lg++.  Add
1276         LD_LIBRARY_PATH and .EXPORT_ALL_VARIABLES:.
1277         (FLAGS_TO_PASS): Add LIBC{,XX}FLAGS.
1278         (XC{,XX}FLAGS): Set to LIBCFLAGS or CFLAGS depending on $LIBDIR.
1279         (COMPILE.c): Define, use in .c.o rule.
1280         (COMPILE.cc): Define, use in .cc.o rule.
1281
1282 Sat Nov  5 15:12:12 1994  Per Bothner  <bothner@kalessin.cygnus.com>
1283
1284         * Makefile.in (VERSION):  Update to 0.67.
1285
1286         * streambuf.h (ios::dont_close):  Is now set by default.
1287         * fstream.h, fstream.cc (__fb_init):  New function.  Clears
1288         ios::dont_close.  Change fstreambase constructors to call it.
1289         * strstream.cc:  *strstream constructors must clear ios::dont_close.
1290         * iostream.cc:  Simplify - don't need to set ios::dont_close.
1291         * ioassign.cc:  Simplify - assume ios::dont_close is always set.
1292
1293         * fstream.h, fstream.cc:  If _IO_NEW_STREAMS, put the
1294         filebuf as a member __my_fb.
1295         * strstream.{h,cc}:  Likewile use a strstreambuf member __my_sb.
1296         * streambuf.h, stdstreams.cc, ioextend.cc:
1297         Fix if _IO_NEW_STREAMS to not use ios::dont_close.
1298
1299         * streambuf.h (class ios):  Move rdbuf later, to avoid
1300         inability of g++ to inline.
1301         * filebuf.cc (filebuf::~filebuf):  Call _IO_do_flush.
1302
1303         * config.shared:  Emit rules to make depend.
1304         * depend:  New file.
1305
1306 Fri Nov  4 17:19:11 1994  Per Bothner  <bothner@kalessin.cygnus.com>
1307
1308         * README:  Fix typos.
1309         * libio.h:  Add comment.  Update Copyright notice.
1310
1311 Fri Nov  4 21:46:30 1994  Paul Eggert  <eggert@twinsun.com>
1312
1313         * libio.h (__P): Change argument name spelling from
1314         `paramlist' to `protos' for compatibility with BSDI 1.1.
1315
1316 Thu Nov  3 00:45:16 1994  Jason Merrill  (jason@phydeaux.cygnus.com)
1317
1318         * config.shared (CXXFLAGS): Add -fno-implicit-templates.
1319
1320 Mon Oct 24 15:57:35 1994  Per Bothner  <bothner@kalessin.cygnus.com>
1321
1322         * config.shared:  Define NOSTDIC and use it for libio too.
1323
1324 Thu Oct 20 19:45:35 1994  Jason Merrill  (jason@phydeaux.cygnus.com)
1325
1326         * iogetdelim.c: #include <stdlib.h>.
1327
1328 Thu Oct 20 17:09:52 1994  Per Bothner  <bothner@kalessin.cygnus.com>
1329
1330         * iostream.h:  Add classes _IO_istream_withassign and
1331         _IO_ostream_withassign.  Re-type cin, cout, cerr, clog.
1332         (class iostream):  Don't add extra _gcount field.
1333         * ioassign.cc:  New file.  Implement operator= for cin etc.
1334         * streambuf.h (class ios):  Change return type of operator=.
1335         * Makefile.in (IOSTREAM_OBJECTS):  Add ioassign.o.
1336
1337         * Makefile.in:  Re-arrange, so linux.mt overrides can work.
1338
1339         * fileops.c (_IO_file_seekoff):  Optimize seeks within buffer.
1340
1341 Wed Oct 19 14:25:47 1994  Jason Merrill  (jason@phydeaux.cygnus.com)
1342
1343         * gen-params (wint_t): Return to using __WCHAR_TYPE__ for
1344         compatibility with gcc versions prior to 2.6.1.
1345
1346 Tue Oct 18 17:08:18 1994  Per Bothner  <bothner@kalessin.cygnus.com>
1347
1348         * Makefile.in:  Define _G_CONFOG_H as _G_config.h for Linux.  Use it.
1349         (IO_OBJECTS):  Add iogetdelim.o.
1350         * config/linux.mt:  New file.
1351         * configure.in:  Select config/linux.mt if Linux.
1352         * iogetdelim.c:  Verious cleanups, many from
1353         Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>.
1354         * libioP.h: Add _IO_getdelim.  Use (void) for no-parameter functions.
1355
1356 Thu Oct 13 16:30:56 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1357
1358         * libio.h:  Rename USE_DTOA to _IO_USE_DTOA for namespace reasons.
1359         * iostream.cc, iovfscanf.c, iovfprintf, floatconv.c:
1360         Update USE_DTOA -> _IO_USE_DTOA.
1361
1362         * libio.h (_IO_feof, _IO_ferror):  Move to here ...
1363         * iolibio:  ... from here
1364
1365         * iostream.cc (istream::get, istream::ignore, istream::read):
1366         Set _gcount to 0 if ipfx0 failed.
1367
1368         * iostream.cc (flush):  Do virtual function call, rather than
1369         going through jumptable.  (To get correct method in derived class.)
1370         Bug and fix from John Wiegley <jw@cis.ohio-state.edu>.
1371
1372         * iofdopen.c (O_ACCMODE):  Define using O_RDWR, not O_RDWRITE.
1373
1374         * streambuf.h (ios::rdbuf(streambuf*)):  New.
1375         * streambuf.h (ios::operator=):  Make private (i.e. dis-allow).
1376
1377 Wed Oct 12 19:09:20 1994  Jason Merrill  (jason@phydeaux.cygnus.com)
1378
1379         * gen-params: Define _G_NO_NRV and _G_NO_EXTERN_TEMPLATES if not
1380         compiling with g++.
1381
1382 Thu Oct  6 16:03:43 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1383
1384         * iostream.texi (ostrstream::str):  Note that NUL is not written
1385         automatically.
1386
1387 Wed Oct  5 17:28:29 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1388
1389         * iogetdelim.c (_IO_getdelim):  New function.
1390
1391 Wed Oct  5 15:40:22 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
1392
1393         * config/netware.mt: New file, first cut at Netware NLM support.
1394         * configure.in (*-*-netware*): Use config/netware.mt.
1395
1396         * config.shared (NLMCONV, LD): New definition.
1397
1398         * gen-params: check for nm in ${binutils}/nm.new.
1399         * config.shared: Likewise.
1400
1401 Tue Oct  4 12:20:01 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1402
1403         * iomanip.h (omanip::operator<<):  Make 2nd arg be const.
1404         Bug and fix reported by Greg McGary <gkm@magilla.cichlid.com>.
1405
1406         * strstream.cc (strstreambuf::pcount):  Simplify, to match
1407         ANSI/ISO specification.
1408
1409 Mon Sep 26 15:19:52 1994  Jason Merrill  (jason@deneb.cygnus.com)
1410
1411         * gen-params: Include <wchar.h> and <wctype.h> if they exist.
1412
1413 Thu Sep  8 14:41:41 1994  Jason Merrill  (jason@deneb.cygnus.com)
1414
1415         * iostream.h (class istream): Declare operator>>(long double&).
1416         (class ostream): Define operator<<(long double).
1417
1418         * iostream.cc (istream::operator>>(long double&)): Define.
1419
1420 Wed Sep  7 14:42:29 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1421
1422         * iostream.texi (Overflow):  Fix bugs in example.
1423
1424 Fri Sep  2 17:45:57 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1425
1426         * iostream.tex:  Document a little on how to write your
1427         own streambuf-derived class, with an example.
1428
1429 Tue Aug 30 13:03:57 1994  Brendan Kehoe  (brendan@lisa.cygnus.com)
1430
1431         * floatconv.c (s2b): Declare X and Y to be _G_int32_t.
1432         (diff, quorem): Declare BORROW, Y, and Z likewise.
1433         (ulp): Declare L likewise.
1434         (_IO_strtod): Declare L and AADJ likewise.
1435         (_IO_dtoa): Declare L and D likewise.  Cast division of D by DS to
1436         _G_int32_t.
1437
1438 Mon Aug 29 16:01:54 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1439
1440         * iosetvbuf.c (_IO_setvbuf):  If setting _IOFBF and no
1441         buffer was specified, call __doallocate.
1442
1443         * fileops.c, floatconv.c:  Add a bunch of parentheses to
1444         shut up gcc warnings.  Patch from H.J.Lu.
1445
1446         * stdiostream.cc (stdiobuf::sys_read):  Inline call to getc
1447         for the normal case (size==1).
1448
1449 Sat Aug 20 12:14:52 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1450
1451         * Makefile.in (VERSION):  Increase to 0.66.
1452
1453 Fri Aug 19 17:28:41 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1454
1455         * iolibio.h:  Added _IO_printf prototype.
1456         Added extern "C" { ... } wrappers #ifdef __cplusplus.
1457         Bugs reported by Neal Becker <neal@ctd.comsat.com>.
1458
1459 Wed Aug 17 18:17:15 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1460
1461         * fileops.c (_IO_file_seekoff):  For _IO_seek_cur, adjust for
1462         read-ahead before jumping to label dumb.
1463
1464 Wed Aug  3 13:15:01 1994  H.J. Lu  (hjl@nynexst.com)
1465
1466         * libioP.h (CHECK_FILE(FILE,RET)): new, which checks for
1467           FILE == NULL and _IO_MAGIC_MASK.
1468           (COERCE_FILE(FILE)): merged into CHECK_FILE(FILE,RET)
1469           with typo fixes.
1470
1471         * iofread.c, iofwrite.c: add CHECK_FILE(fp, 0);
1472         * iofclose.c: add CHECK_FILE(fp, EOF); remove _IO_MAGIC_MASK check.
1473
1474         * iofflush.c, iofgetpos.c, iofputs.c, iofscanf.c,
1475         iofsetpos.c, iofvbuf.c, ioungetc.c:
1476         Add CHECK_FILE(fp, EOF) and remove COERCE_FILE(fp).
1477
1478         * iofgets.c: add CHECK_FILE(fp, NULL) and remove COERCE_FILE(fp).
1479         * iofprintf.c: add CHECK_FILE(fp, -1) and remove COERCE_FILE(fp).
1480         * ioftell.c: add CHECK_FILE(fp, -1L) and remove COERCE_FILE(fp).
1481         * iosetbuffer.c: add CHECK_FILE(fp, ) and remove COERCE_FILE(fp).
1482
1483 Fri Aug 12 15:35:39 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1484
1485         * iofdopen.c (_IO_fdopen):  #define O_ACCMODE if it isn't.
1486         Still set O_APPEND if "a" is given, but don't unset it
1487         if it isn't.  Added comment.
1488
1489 Mon Aug  8 13:11:00 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1490
1491         * gen-params (VTABLE_LABEL_PREFIX):  Changes in the implementation.
1492         For look for _*vt[$_.]7*filebuf in the nm output, because that
1493         matches what g++ produces and has produced.  Thus it should be
1494         somewhat more robust.
1495
1496 Sun Aug  7 22:52:49 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1497
1498         * gen-params (CC):  Remove no-longer-needed -I options
1499         passed to xgcc (now they are implied by the -B options).
1500
1501 Wed Jul 20 16:41:13 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1502
1503         * Makefile.in (tooldir):  Added definition, so we can do
1504         'make install' in this directory.
1505         Bug reported by Klamer Schutte <schutte@tpd.tno.nl>.
1506
1507 Mon Jul 18 18:02:34 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1508
1509         * gen-params (VTABLE_LABEL_PREFIX):  Remove filename sppearing
1510         by itself.  Add comment explaining what is going on.
1511
1512 Tue Dec 21 13:02:48 1993  H.J. Lu  (hjl@jalod)
1513
1514         * libio.h: define _IO_uid_t and _IO_HAVE_ST_BLKSIZE
1515           as _G_xxxxxxxx.
1516
1517 Tue Dec 21 13:02:48 1993  H.J. Lu  (hjl@jalod)
1518
1519         * iopopen.c:  Don't include <errno.h>. It is included in "libioP.h".
1520
1521         * iopopen.c (_IO_proc_close) : check if fp is on the list
1522           before close it.
1523
1524 Thu Jul 14 16:38:47 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1525
1526         * gen-params (CONFIG_NM):  Make sed scripts to find vtable name
1527         mangling more robost for different forms of nm output.
1528
1529 Tue Dec 21 13:02:48 1993  H.J. Lu  (hjl@jalod)
1530
1531         * iofopen.c (_IO_fopen): don't check [redundantly] fp == NULL after
1532           IO_file_init(&fp->_file).
1533
1534         * iomanip.h (template<class TP> class iapp):
1535           change ostream to istream.
1536
1537 Tue Jul 12 14:09:02 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1538
1539         * Makefile.in (VERSION):  Increase to 0.65.
1540         * libioP.h (builtinbuf_vtable):  Only define #ifdef __cplusplus.
1541
1542         * gen-params (_G_int8_t):  Only define if defined(__STDC__),
1543         because K&R C compilers don't have signed char.
1544         (_G_int64_t, _G_uint64_t):  Only define if defined(__GNUC__)
1545         because other compilers may not have long long.
1546
1547 Sun Mar 06 13:10:21 1994  H.J. Lu  (hjl@nynexst.com)
1548
1549         * floatconv.c (_IO_dtoa ()): fix a small memory leak, set the
1550           "on_stack" field to be 0 if "result" is not NULL.
1551
1552 Sat Mar 05 13:18:20 1994  H.J. Lu  (hjl@nynexst.com)
1553
1554         * floatconv.c (_IO_dtoa ()): if the number of digits of the
1555           floating point number is more than the previous one, free the
1556           old string and allocate a new one.
1557           [Minor optimization to avoid Bcopy. -PB]
1558
1559 Mon Jul 11 10:53:41 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1560
1561         * fileops.c (_IO_file_underflow):  'count' should be unsigned,
1562         since it contains the return value of read.  Reported by
1563         Teemu Torma <tot@trema.fi>.
1564
1565 Tue Dec 21 13:02:48 1993  H.J. Lu  (hjl@nynexst.com)
1566
1567         * floatconv.c (_IO_strtod ()): make "+" and "-" as error.
1568
1569 Sat Jul  9 15:09:21 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1570
1571         Make sure _IO_FILE::_flags is always initialized correctly, for the
1572         C functions (fopen, fdopen, popen), and not just the C++ functions.
1573         * fileops.c (_IO_file_init):  Set _flags to CLOSED_FILEBUF_FLAGS.
1574         * fileops.c (_IO_file_fopen):  Remove bogus assignment.
1575         * filebuf.cc (filebuf constructors):  Don't pass CLOSED_FILEBUF_FLAGS
1576         to streambuf constructor - _IO_file_init does it instead.
1577         * filebuf.cc (CLOSED_FILEBUF_FLAGS):  Removed.
1578         * iopopen.c (_IO_proc_open):  Use _IO_mask_flags.
1579
1580 Thu Jun 30 08:49:53 1994  Jason Merrill  (jason@deneb.cygnus.com)
1581
1582         * dbz/Makefile.in (mostlyclean): Add target.
1583
1584 Wed Jun 29 09:30:12 1994  Jason Merrill  (jason@deneb.cygnus.com)
1585
1586         * gen-params: Woops, can't run a C program to determine target
1587         characteristics.  Sigh.
1588
1589 Tue Jun 28 03:11:33 1994  Jason Merrill  (jason@deneb.cygnus.com)
1590
1591         * gen-params: Add _G_{,u}int{8,16,64}_t, use a short C program to
1592         determine what all these should be rather than trying to compare
1593         the MAX numbers in the shell.
1594
1595 Sun Jun 26 21:04:24 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1596
1597         * stdiostream.h, stdiostream.cc (stdiobuf::xsgetn):  Removed.
1598         Too hairy.  If we want to optimize it, we should do so in
1599         filebuf::xsgetn (or rather _IO_file_xsgetn).
1600
1601         * stdiostream.h (class stdiobuf), stdiostream.cc:  Fix parameter
1602         and return types of virtual function to matcher base types (Oops!).
1603         * streamstream.cc (stdiobuf::xsgetn, stdiobuf::xsputn):
1604         Optimize to call fread.fwrite directly if !buffered.
1605         * fileops.c:  Fix comment.
1606
1607 Fri Jun 24 11:28:18 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1608
1609         * stdiostream.h (istdiostream, ostdiostream):  New classes.
1610
1611         More robust final cleanup.
1612         * cleanup.c (_IO_register_cleanup):  Register _IO_cleanup,
1613         rather than _IO_flush_all.
1614         * filedoalloc.c: Update comment.
1615         * genops.c (_IO_unbuffer_all):  New.  Makes all files unbuffered.
1616         * genops.c (_IO_cleanup), libioP.h:  New function.  Call
1617         _IO_flush_all, and then _IO_unbuffer_all.  This is in case C++
1618         destructors try to do output *after* _IO_cleanup is called.
1619
1620         Construct standard stdiobufs statically (using type punning).
1621         * stdstrbufs.c;  Unless _STDIO_USES_IOSTREAM declare standard
1622         stdiobufs (for stdin, stdout, and stderr), using type punning
1623         (struct _IO_fake_stdiobuf).  This avoids constructor-time problems.
1624         * stdstreams.cc:  Remove the declarations of the stdiobufs.
1625         Instead use the new (fake) ones in stdstrbufs.cc.  We no longer
1626         have to call ios::sync_with_stdio at constructor time.
1627
1628         Preliminary support for new ANSI streambuf::uflow virtual.
1629         * libioP.h (struct _IO_jump_t):  Add __uflow field.
1630         * genops.c (_IO_default_uflow), libioP.h:  New function.
1631         * fileops.c (_IO_file_jumps), iopopen.c (IO_proc_jumps),
1632         iovfprintf.c (_IO_helper_jumps), strops.c (_IO_str_jumps),
1633         streambuf.cc (_IO_streambuf_jumps):  Add _IO_default_uflow.
1634         * genops.c (__uflow):  New function.
1635         (save_for_backup):  New function.  Some code shared by
1636         __underflow and __uflow, moved out from the former.
1637         (_IO_default_uflow):  New function.
1638         * libio.h (_IO_getc):  Call __uflow, not __underflow.
1639
1640 Wed Jun 22 20:22:49 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1641
1642         Make sure that the vtable of a streambuf is always valid,
1643         which makes ios::rdbuf simpler and faster.
1644         * gen-params:  Add code to determine _G_VTABLE_LABEL_HAS_LENGTH,
1645         _G_VTABLE_LABEL_PREFIX, _G_VTABLE_LABEL_PREFIX_ID, and
1646         _G_USING_THUNKS, which describe how virtual function tables are named.
1647         * stdfiles.c (FILEBUF_LITERAL):  Moved to libioP.h.
1648         * libioP.h (builtinbuf_vtable):  New (complicated) declaration.
1649         * filebuf.cc (filebuf::__new), strstream.cc (SET_STR_JUMPS):
1650         Initialize vtable to builtinbuf_vtable, not NULL.
1651         * stdstrbufs.cc:  New file.  Same as stdfiles.c, except that
1652         vtable is initialized to builtinbuf_vtable, not NULL.
1653         * streambuf.h (ios::rdbuf):  Can now simplify/optimize, due to
1654         above changes.  Always, just return _strbuf.
1655         * builtinbuf.h, builtinbuf.cc (builtinbuf::vtable,
1656         builtinbuf::get_builtin_vtable):  Removed.  No longer needed.
1657         * streambuf.h, builtinbuf.cc (ios::_IO_fix_vtable):  No longer needed.
1658         Only defined #ifdef _STREAM_COMPAT, for binary compatibility.
1659         * Makefile.in:  Move stdfiles.o from IO_OBJECTS to STDIO_WRAP_OBJECTS.
1660         (IOSTREAM_OBJECT):  Add stdstrbufs.o.
1661         * Makefile.in (_G_config.h):  Pass $(CXXFLAGS) as part of $(CXX).
1662
1663 Fri Feb 11 11:08:01 1994  SBPM Marc GINGOLD (marc@david.saclay.cea.fr)
1664
1665         * iovfprintf.c (helper_vfprintf): add
1666           hp->_IO_file_flags = _IO_MAGIC|(_IO_IS_FILEBUF+_IO_NO_READS);
1667         [This is needed because _IO_vfprintf checks for _IO_UNBUFFERED. -PB]
1668         [Actually:  don't set _IO_IS_FILEBUF. -PB]  
1669
1670 Wed Jun 22 13:49:22 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1671
1672         * stdiostream.cc, stdiostream.h (stdiobuf::buffered):  New methods.
1673
1674         * iofdopen.c (_IO_fdopen):  Various minor improvements.
1675
1676         * iovfscanf.c:  Don't return EOF on control_failure.
1677
1678 Tue Dec 21 13:02:48 1993  H.J. Lu  (hjl@nynexst.com)
1679
1680         * iovfscanf.c:  Enforce the sequence of the conversion specifications.
1681
1682 Fri Jun 17 20:57:22 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1683
1684         * iofdopen.c:  Use fcntl to check that requested access mode is
1685         compatible with existing access mode, and to change the
1686         O_APPEND file status flag if need be.
1687
1688 Thu Jun 16 17:33:50 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1689
1690         * streambuf.h (ios::init):  Initialize all the fields.
1691         This may be overkill, but the current ANSI working paper requires it.
1692         * streambuf.h (ios::ios):  Reimplement in terms of ios::init.
1693         * iostream.cc (Non-default constructors istream::istream,
1694         ostream::ostream, iostream::iostream):  Cannot use a mem-initializer,
1695         because it is ignored if initializing a derived class.  Instead,
1696         call ios::init.
1697
1698 Wed Jun 15 13:35:37 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1699
1700         * stdstreams.cc (ISTREAM_DEF):  Fix typo (it's a _fake_istream, not
1701         a _fake_ostream).  Reported by Jason Shirk <jshirk@gomez.intel.com>.
1702
1703         * stdiostream.h, stdiostream.cc (stdiobuf::~stdiobuf):  New.
1704         Call _IO_do_flush.
1705         * stdiostream.cc (stdiobuf::sync):  Call _IO_do_flush rather
1706         than filebuf::sync (to avoid bad seeks).
1707
1708         * libioP.h (_IO_do_flush):  Add missing parentheses.
1709
1710 Fri Jun  3 19:16:57 1994  Jason Merrill  (jason@deneb.cygnus.com)
1711
1712         * config.shared (CXXFLAGS): Remove -fno-implicit-templates.
1713
1714         * iomanip.h: Add explicit external instantiations.
1715
1716 Wed Jun  1 14:14:44 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1717
1718         * libio.h (struct _IO_FILE_plus):  Move definition from here ...
1719         * libioP.h (struct _IO_FILE_plus):  ... to here.  Since this
1720         file is private to the implementation, we can rename the fields
1721         from the implementor's to the user's name anme space.
1722         (This avoids a lossage on SCO, whose stdio.h has a #define _file.)
1723         * iofdopen.c, iofopen.c, stdfiles.c:  Fix field references accordingly.
1724         * iopopen.c (struct_IO_proc_file):  Rename fields from
1725         implementor's name space to user's, and update usages.
1726         * streambuf.h (streambuf::_vtable):  Re-implement to not need
1727         struct _IO_FILE_plus.
1728         * strfile.h (struct _IO_strfile_): Likewise.
1729
1730 Wed Jun  1 13:57:48 1994  Jason Merrill  (jason@deneb.cygnus.com)
1731
1732         * config.shared (CXXFLAGS): Use -fno-implicit-templates instead of
1733         -fexternal-templates.
1734
1735 Tue May 31 08:49:28 1994  Mike Stump  (mrs@cygnus.com)
1736
1737         * genops.c, iofclose.c, iofdopen.c, iofopen.c, iopopen.c: Be
1738         consistent about protecting #include <stdlib.h>.
1739
1740         * ioputs.c: Add #include <string.h>, to avoid warning on alpha.
1741
1742         * iofdopen.c: Add #include <stdlib.h>, so that malloc works on
1743         machines where sizeof(int) != sizeof(void *).
1744
1745 Mon May 30 17:26:49 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1746
1747         * pfstream.cc (ipfstream::ipfstream, opfstream::opfstream):
1748         Reverse sense of test of return value of procbuf::open.
1749         (It returns NULL on failure.)
1750
1751         * filedoalloc.c (_IO_file_doallocate):  Remove dead code for
1752         USE_MALLOC_BUF.  Add code to return EOF if ALLOC_BUF fails.
1753
1754 Sat May 28 13:47:47 1994  Jason Merrill  (jason@deneb.cygnus.com)
1755
1756         * iomanip.cc: Explicitly instantiate smanip<int> and
1757         smanip<ios::fmtflags>.
1758
1759 Wed May 25 16:04:12 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1760
1761         * strfile.h:  Use __P instead of _PARAMS.
1762
1763 Fri May 20 11:42:17 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1764
1765         * libio.h: Rename _PARAMS macro to __P for better glibc and BSD
1766         compatibility.  (Also define _PARAMS for backwards compatibility.)
1767         * cleanup.c, iolibio.h, ioperror.c, iovfprintf.c, iovfscanf.c,
1768         libioP.h: Use __P instead of _PARAMS.
1769         * iostdio.h: Use __P instead of _ARGS.
1770
1771         * fileops.c (_IO_file_read):  Minor stylistic tweak.  (It is
1772         preferable to test errno *after* the error return.)
1773
1774 Fri May 13 15:25:36 1994  Jason Merrill  (jason@deneb.cygnus.com)
1775
1776         * iostream.*: Add insertor and extractor for bool (just pretend
1777         it's an int).
1778
1779 Fri May 13 14:12:03 1994  Mike Stump  (mrs@cygnus.com)
1780
1781         * gen-params: Check for builtin bool support.
1782
1783 Wed May 11 00:48:35 1994  Jason Merrill  (jason@deneb.cygnus.com)
1784
1785         Make libg++ build with gcc -ansi -pedantic-errors
1786         * gen-params: #ifdef __STRICT_ANSI__, #define _G_NO_NRV.
1787         * pfstream.cc (ipfstream::ipfstream): Wrap use of variable-size
1788         array in #ifndef __STRICT_ANSI__.
1789
1790 Fri May  6 12:42:21 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1791
1792         * Makefile.in (VERSION):  Increase to 0.64.
1793
1794         * isgetline.cc (istream::getline):  The delimiter should *not*
1795         be included in the gcount().
1796
1797         * filedoalloc.c:  #include <stdlib.h> (If __STDC__) to get malloc.
1798         * iostream.h (ostream::put):  Remove overloaded versions, to match
1799         new working paper.  (Actually just put inside _STREAM_COMPAT, for now.)
1800
1801 Tue May  3 14:14:57 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1802
1803         * genops.c (_IO_default_finish):  Make robust when called
1804         multiple times on the same _IO_FILE*.  (One way this can
1805         happen is by the builtinbuf destructor being followed by the
1806         streambuf destructor.)
1807
1808 Mon May  2 13:55:26 1994  Jason Merrill  (jason@deneb.cygnus.com)
1809
1810         * gen-params: Actually determine wint_t rather than depending on
1811         cpp to provide it or defaulting to the underlying type for
1812         wchar_t.
1813
1814 Sat Apr 30 14:47:30 1994  Jason Merrill  (jason@deneb.cygnus.com)
1815
1816         * gen-params: Add _G_wint_t, allow __*_TYPE__ to override values
1817         at compile time, fix definition of _G_ARGS.
1818
1819 Fri Apr 29 16:55:37 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1820
1821         * libio.h: Remove #pragma interface.  (There is no implementation.)
1822
1823 Mon Mar 28 14:22:26 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1824
1825         * iostream.cc (ostream::operator<<(double)):  Add/fix support
1826         for printing '+' when ios::showpos is set.
1827         (Fixes bug reported by Doug Moore <dougm@cs.rice.edu>.)
1828         * iostream.cc (istream::read):  Set eofbit as well as failbit on eof.
1829         * iostream.cc (ostream::operator<<(int)):  Fix conversion
1830         to unsigned (used to lose on INT_MIN).
1831         * iostream.cc (ostream::operator<<(long)):  Use (unsigned long),
1832         rather than (unsigned) for temporary.
1833
1834         * config.shared, Makefile.in:  Remove definitions and uses
1835         of XTRAFLAGS.  It is no longer needed, since it is
1836         now implied by the -B flag.
1837
1838 Fri Mar 25 00:31:22 1994  Jason Merrill  (jason@deneb.cygnus.com)
1839
1840         * builtinbuf.h: Add put /**/ around comment on trailing #endif.
1841
1842         * Makefile.in (c++clean): Make clean in tests subdir, too.
1843
1844 Wed Mar 23 16:42:09 1994  Doug Evans  (dje@canuck.cygnus.com)
1845
1846         * configure.in: Remove Makefile.tem before creating it.
1847         Needed when configuring from read-only source trees.
1848
1849 Wed Mar 16 14:06:42 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1850
1851         * stdstreams.cc:  Fix so that stdiobuf are used for cin/cout/cerr,
1852         unless _STDIO_USES_IOSTREAM is defined.
1853         * filebuf.cc (filebuf::setbuf):  Fix confusion about return
1854         value from _IO_file_setbuf.
1855
1856 Sun Mar 13 00:54:12 1994  Paul Eggert  (eggert@twinsun.com)
1857
1858         * config.shared: Ensure that `all' precedes `.PHONY';
1859         BSDI 1.1 needs this.
1860
1861 Sat Mar 12 03:58:00 1994  Paul Eggert  (eggert@twinsun.com)
1862
1863         * config.shared: Output a definition of INSTALL that uses
1864         $${rootme}, not ${rootme}.  Most `make's don't care, but BSDI
1865         1.1 `make' does.
1866
1867 Fri Mar  4 17:33:01 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1868
1869         * iopopen.c:  #define _POSIX_SOURCE.
1870         * isgetline.c (istream::getline):  Various fixes.
1871
1872 Thu Mar  3 17:58:20 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1873
1874         * iostream.cc (write_int):  Fix test for when to add initial '0'
1875         when ios::oct and ios::showbase are set.
1876         For hex, showbase adds initial 0x (or 0X) regardless of val==0.
1877         Bugs reported by Phil Roth <proth@cs.uiuc.edu>.
1878
1879 Mon Feb 21 13:18:20 1994  H.J. Lu  (hjl@nynexst.com)
1880
1881         * libio.h (_IO_PENDING_OUTPUT_COUNT(_fp)): return the
1882         pending output count in _fp.
1883
1884 Fri Feb 25 09:26:57 1994  Ian Lance Taylor  (ian@cygnus.com)
1885
1886         * gen-params: For HAVE_SYS_WAIT, compile dummy.c, not dummy.C.
1887
1888 Tue Feb 22 11:19:09 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1889
1890         * streambuf.h, genops.c, libioP.h:  Rename references to
1891         _IO_FILE fields other_gbase => _IO_save_base,
1892         _aux_limit => _IO_backup_base, and _other_egptr => _IO_save_end.
1893         * libio.h:  Remove no-longer needed macros _other_gbase,
1894         _aux_limit, and _other_egptr.
1895         * genops.c (__underflow, _IO_default_finishh, _IO_unsave_markers):
1896         Check _IO_save_base for NULL before FREEing it or calling
1897         _IO_free_backup_area.
1898
1899 Thu Feb 17 15:26:59 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1900
1901         * gen-params:  Improve deduction of _G_uint32 and _G_int32.
1902         Should now work for 16-bit, 32-bit, or 64-bit targets.
1903         * gen-params:  Check for sys/wait.h using ${CC}, since it's
1904         now used in a C file, not a C++ file.
1905         * floatconv.c:  Typedef _G_uint32_t as unsigned32, and use
1906         unsigned32 in place of unsigned long.  (Needed for Alpha.)
1907
1908 Tue Feb  8 13:40:15 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1909
1910         * fileops.c (_IO_file_close_it):  Simplify by using _IO_do_flush.
1911         * fileops.c (_IO_file_finish):  Don't call _IO_file_close_it -
1912         do it inline.  Call _IO_do_flush even if _IO_DELETE_DONT_CLOSE.
1913         * fileops.c (_IO_file_attach):  Set _IO_DELETE_DONT_CLOSE.
1914         * genops.c (_IO_flush_all):  Only call overflow if there is
1915         something to write.
1916         * iofclose.c (_IO_fclose):  Check that magic number is correct,
1917         and clear it when done.  Avoids crashing some buggy applications.
1918         * iogetline.c (_IO_getline):  Don't gratuitously increment old_len.
1919         * iogets.c (_IO_gets):  Take care to get required ANSi semantics.
1920
1921 Sun Feb  6 19:50:39 1994  Jason Merrill  (jason@deneb.cygnus.com)
1922
1923         * iomanip.cc: Explicitly instantiate operator<< and >>.
1924
1925 Fri Feb  4 12:28:22 1994  Jason Merrill  (jason@deneb.cygnus.com)
1926
1927         * config.shared (CXXFLAGS): Use -fexternal-templates.
1928
1929         * iomanip.h: Uncomment #pragma interface.
1930
1931 Thu Jan 20 13:48:40 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1932
1933         If no characters are read by fgets, ANSI C doesn't allow '\0' to
1934         be written to the buffer, but it is required by ANSI C++
1935         for istream::get and istream::getline.  Both use _IO_getline ...
1936         * iogetline.c (_IO_getline):  Don't write a '\0' at the end
1937         of the read data.  The input buffer length does not include
1938         space for a '\0'.
1939         * iofgets.c, iogets.c:  Change appropriately.
1940         Also check for _IO_ERR_SEEN, as required by ANSI.
1941         * isgetline.cc:  Update accordingly.
1942
1943 Mon Jan 17 13:24:26 1994  Jason Merrill  (jason@deneb.cygnus.com)
1944
1945         * Makefile.in (c++clean): Added target for compiler testing
1946         (i.e. make c++clean all).
1947
1948 Mon Jan 10 11:20:42 1994  Per Bothner  (bothner@kalessin.cygnus.com)
1949
1950         * libio.h (_IO_putc):  Add parentheses.
1951         Patch from Rik Faith <faith@cs.unc.edu>.
1952
1953 Tue Jan  4 01:32:28 1993  Hongjiu Lu (hjl@nynexst.com)
1954
1955         * genops.c (_IO_default_xsputn):
1956           (_IO_default_xsgetn):
1957         * ioignore.c: change "_IO_size_t count" to
1958           "_IO_ssize_t count".
1959         * iogetline.c: change "_IO_size_t len" to
1960           "_IO_ssize_t len".
1961
1962 Mon Dec 20 00:31:21 1993  Per Bothner  (bothner@kalessin.cygnus.com)
1963
1964         * config.shared (CXXINCLUDES):  Fix quoting of $(NOSTDINC).
1965
1966 Sun Dec 19 21:03:45 1993  Per Bothner  (bothner@kalessin.cygnus.com)
1967
1968         * Makefile.in (VERSION):  Increase to 0.63.
1969
1970 Fri Dec 17 13:02:44 1993  Per Bothner  (bothner@kalessin.cygnus.com)
1971
1972         * iofread.c (_IO_fread):  Return 0 if either size or count is 0.
1973         * iofwrite.c (_IO_fwrite):  Return 0 if either size or count is 0.
1974         (This is consistent with fread, and most implementations, but not
1975         with a literal reading of the ANSI spec.)
1976         * iovfscanf.c (_IO_vfscanf):  If got EOF while skipping spaces,
1977         set seen_eof and break (instead of returning).
1978         * sbscan.cc (streambuf::vscan):  Set error state before returning.
1979         * streambuf.h:  Add a forward declarations for class istream
1980         to work around a g++ vtable name mangling bug.  (Patch from
1981         harry@pdsrc.hilco.com via Jeffrey A Law <law@snake.cs.utah.edu>.)
1982         * NEWS:  New file.
1983
1984 Sat Dec 11 16:21:08 1993  Per Bothner  (bothner@kalessin.cygnus.com)
1985
1986         * iovfprintf.c (struct helper_file, _IO_helper_overflow,
1987         helper_vfprintf, _IO_helper_jumps):  New structs and functions.
1988         (_IO_vfprintf):  Use helper_vfprintf to make printing to
1989         unbuffered files more efficient.
1990         * genops.c (_IO_default_underflow), libioP.h:  New function.
1991
1992         * iovsscanf.c (_IO_vsscanf):  The input string's length marks
1993         its logical end-of-file.
1994
1995 Wed Dec  8 13:20:46 1993  Per Bothner  (bothner@kalessin.cygnus.com)
1996
1997         * indstream.cc (indirectbuf::sync()):  Don't crash if get_stream()
1998         or put_stream() are NULL;  sync() both streams even if error.
1999
2000 Sun Dec  5 19:24:29 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
2001
2002         * iostreamP.h (convert_to_seekflags): Use _IO_seek_set instead of
2003         0 inside the conditial expressions.
2004
2005         * iofsetpos.c (_IO_fsetpos): Delete unused var `pos'.
2006
2007 Sat Dec  4 15:57:26 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2008
2009         * filedoalloc.c (_IO_file_doallocate):  Change type of couldbetty
2010         to int, and type of size to _IO_size_t, instead of size_t.
2011         (Change needed for Ultrix, which incorrectly deliberately doesn't
2012         define size_t in <sys/types.h> if _POSIX_SOURCE is defined.)
2013
2014 Thu Dec  2 22:43:03 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2015
2016         * fileops.c (_IO_file_finish):  Remove redundant call to _IO_un_link.
2017         * iofclose.c (_IO_fclose):  Don't call fp->_jumps->__close;  it's
2018         too low-level.  Instead call _IO_file_close_it.
2019         * dbz/Makefile.in (rclean, distclean):  Add some missing files.
2020
2021 Wed Dec  1 13:19:14 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2022
2023         * config/hpux.mt (MATH_H_INLINES): No longer define.
2024         Patch from Jeffrey A Law <law@snake.cs.utah.edu>.
2025
2026 Fri Nov 26 13:28:36 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2027
2028         * config.shared (CINCLUDES):  Define default if libg++.
2029         * iofread.c:  Use _IO_sgetn.c.
2030         * iolibio.h (_IO_clearerr):  Fix typo.
2031         * genops.c (_IO_seekmark):  Return 0 on success.
2032         * floactconv.c (Binit):  Change to static.
2033         * iofclose.c (_IO_fclose):  Check if file is _IO_stdin, _IO_stdout,
2034         or _IO_stderr;  if so don't try to free it.  Fix from hjl@nynexst.com.
2035
2036         * genops.c (_IO_default_sync), libioP.h:  New function.
2037         * libioP.h (_IO_default_close):  Use _IO_default_sync -same interface.
2038
2039         * Makefile.in:  Increase version to 0.62.
2040         * iopopen.c (_IO_proc_close):  Use waitpid (available in libibarty,
2041         if needed), rather than wait.  Don't block/ignore SIGINT etc,
2042         as this is counter to Posix.2.
2043         * iopopen.c:  Chain open proc_files, and have the child close
2044         the ones that are open (as required by Posix.2).
2045
2046         * fstream.h (fstreambase::rdbuf), strstream.h (strstreambase
2047         ::rdbuf):  Call ios::rdbuf() instead of getting _strbuf directly.
2048
2049         * sbscan.cc (streambuf::vscan):  Comment out duplicate default arg.
2050         * floatconv.c:  Recognize Alpha and i860 as little-endian.
2051         * streambuf.cc:  Return two bogus value returns from void functions.
2052         * iolibio.h, iofwrite.c:  Fix buffer type to (const void*).
2053         * libio.h:  Predefine of struct _IO_FILE to help non-g++-compilers.
2054         * libioP.h, pfstream.cc, stdfiles.c, iovfscanf.c: Cleanup syntax junk.
2055         * stdstreams.cc:  Minor simplification.
2056         * streambuf.h, builtinbuf.cc:  Add non-const ios::_IO_fix_vtable()
2057         for temporary binary compatibility.
2058
2059         * filedoalloc.c, fileops.c:  Add _POSIX_SOURCE.
2060         * fileops.c, iofopen.c, iofputs.c, iostream.cc, strops.c,
2061         strstream.cc, genops.c:  Add some missing #includes.
2062         * iofopen.c, iofdopen.c:  Return NULL if malloc fails.
2063         * iovfscanf.c:  Fix return type in strtol prototype.
2064         * fwrite.c:  Remove bogus file.
2065
2066 Wed Nov 17 14:09:42 1993  Per Bothner  (bothner@cygnus.com)
2067
2068         * builtinbuf.cc (ios::_IO_fix_vtable), streambuf.h:  Make method
2069         const, to reduce problems with -Wcast-qual.
2070
2071 Tue Nov 16 19:30:42 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
2072
2073         * config.shared (CXXINCLUDE): use ${} instead of $() for NOSTDINC
2074
2075 Tue Nov 16 14:15:45 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2076
2077         * iopopen.c (_IO_proc_close):  Re-structure to avoid
2078         declarations after statements.
2079         * floatconv.c:  If not __STDC__, #define DBL_MANT_DIG.
2080         * config/isc.mt (G_CONFIG_ARGS): Remove bogus spaces.
2081         Patch from David A. Avery <daa@nic.cerf.net>.
2082
2083 Tue Nov 16 15:58:31 1993  Mark Eichin  (eichin@cygnus.com)
2084
2085         * Makefile.in (_G_config.h): explicitly use $(SHELL) to run
2086         gen-params, since we know it is a script (we're explicitly looking
2087         in ${srcdir} for it) and /bin/sh might not be good enough.
2088
2089 Mon Nov 15 13:26:22 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2090
2091         * builtinbuf.cc:  Don't depend on initialization of static
2092         variable builtinbuf::vtable, since that might happen after
2093         we need it (for a static constructor).  Instead, initialize
2094         it when needed by inlining the code from get_builtin_vtable
2095         into ios::_IO_fix_vtable().
2096
2097         * floatconv.c:  Avoid using #elif, which some C compilers lack.
2098         * iogetline.c, libioP.h:  Make char parameter be int, to avoid
2099         some default promotion anomalies.
2100
2101 Fri Nov  5 11:49:46 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2102
2103         * config.shared (do-clean-dvi):  Remove TeX work files.
2104         * iopopen.c (extern _IO_fork):  Don't use parameter type void.
2105         * strops.c (_IO_str_init_static):  Clear the allocate_buffer
2106         function pointer, to mark the strfile as being static.
2107         Bug fix from Mike Raisbeck <mike@pudding.rtr.COM>.
2108
2109 Thu Nov  4 10:44:24 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2110
2111         * filebuf.cc (filebuf:): Use sseekoff rather than seekoff
2112         (which loses if vtable pointer is NULL).
2113
2114         * iostream.cc (ostream::operator<<(long long n)):  Fix thinko.
2115
2116         * Makefile.in (VERSION):  Increase to 0.60.
2117         * Makefile.in (IO_OBJECTS):  Added iopopen.o.
2118         * config.shared (DISTCLEAN):  Also remove Make.pack.
2119         * config.shared (CXXINCLUDES):  Add $(NOSTDINC).
2120
2121         * config.shared (INSTALL):  Fix so it ues the correct install.sh
2122         whether $srcdir is absolute or relative.
2123
2124         * floatconv.c (DBL_MAX_10_EXP): Fix default value.
2125
2126 Wed Nov  3 10:20:49 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2127
2128         * gen-params:  Make more robust to allow random junk (NeXT
2129         has spaces) before typedefs.
2130
2131         * fileops.c (_IO_file_overflow):  Reduce code duplication.
2132         * Makefile.in (IO_OBJECTS):  Remove ioputs.o.
2133
2134         * iovfscanf.c, libio.h:  Extra parameter to _IO_vfscanf,
2135         for optionally setting an error indication..
2136         * iofscanf.c, ioscanf.c, iofscanf.c, iovsscanf.c:  Fix calls to
2137         _IO_vfscanf to pass an extra NULL.
2138         * sbscan.cc (streambuf::vscan):  If passed an extra stream,
2139         set its error state (using new _IO_vfscanf parameter.
2140
2141         * filedoalloc.c, fileops.c, genops.c, iogetline.c, ioignore.c,
2142         libio.h, libioP.h, streambuf.cc streambuf.h, strfile.h, strops.c,
2143         strstream.cc:  Replace macros (_base, _ebuf, _eback, _gptr, _egptr,
2144         _pbase, _pptr, _epptr) by field names (_IO_buf_base, _IO_buf_end,
2145         _IO_read_base, _IO_read_pre, IO_read_end, _IO_write_base,
2146         _IO_write_ptr, _IO_write_end).
2147         * libio.h:  Remove the old macros (which fixes a conflict.
2148         
2149 Mon Nov  1 15:22:12 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2150
2151         * iostream.cc:  Use _IO_sputn instead of sputn.  _IO_sputn does
2152         not require a vtable pointer, and is also slightly faster.
2153
2154         * builtinbuf.{h,cc} (builtinbuf::setbuf):  Fix return and
2155         parameter types.
2156
2157 Mon Oct 25 12:56:33 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2158
2159         Kludge to make sure _IO_FILE buffers get flushed before exit.
2160         * dbz/dbzmain.c, dbz/fake.c, dbz/byteflip.c:
2161         Invoke DBZ_FINISH macro (if defined) before (normal) exits.
2162         * dbz/Makefile.in (CFLAGS):  Define DBZ_FINISH to call _IO_flush_all.
2163
2164 Sat Oct 23 22:10:53 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2165
2166         * Makefile.in (VERSION):  Set to 0.60 for libg++ release.
2167         * fileops.c (_IO_file_attach):  Set _offset to _IO_pos_BAD.
2168         * iostream.cc (ostream::flush):  Fix thinkp.
2169         * editbuf.cc, isgetsb.cc, isscan.cc, osform.cc, parsestream.cc,
2170         pfstream.cc, sbform.cc, sbscan.cc, stdstreams.cc, stream.cc:
2171         Replace #include "ioprivate.h" by #include "libioP.h" (and
2172         sometimes stdarg.h, stdlib.h and/or string.h).
2173         * ioprivate.h:  Removed.
2174
2175
2176 Thu Oct 21 19:24:02 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2177
2178         * PlotFile.h, SFile.h, editbuf.cc, editbuf.h, filebuf.cc,
2179         fstream.cc, fstream.h, indstream.cc, indstream.h, iomanip.cc,
2180         iomanip.h, ioprivate.h, iostream.cc, iostream.h, isgetline.cc,
2181         isgetsb.cc, parsestream.cc, parsestream.h, pfstream.cc,
2182         pfstream.h, procbuf.cc, procbuf.h, stdiostream.cc, stdiostream.h,
2183         stdstreams.cc, streambuf.cc, streambuf.h, strstream.cc,
2184         strstream.h:  Remove old (duplicate) copyright notices.
2185
2186         * iostream.cc:  Fix calls to sync() to be safe in the presence
2187         of vtable-less streambufs.
2188
2189 Wed Oct 20 15:22:04 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2190
2191         * streambuf.h (streambuf::underflow, streambuf::overflow): 
2192         Don't make virtual functions pure.
2193         * streambuf.cc (streambuf::underflow, streambuf::overflow):
2194         Default definitions (return EOF).
2195         * fstream.h:  Add new (int fd, char* buf, int len) constructors.
2196         These are deprecated, but added for AT&T compatibility.
2197         * fstream.cc fstreambase::fstreambase(int fd, char *p, int l): New.
2198
2199 Thu Oct 14 14:57:01 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
2200
2201         * configure.in: use 'mv -f' instead of 'mv'
2202
2203 Tue Oct 12 05:01:44 1993  Mike Stump  (mrs@cygnus.com)
2204
2205         * floatconv.c: Fix typo, change __STDC to __STDC__.
2206
2207 Mon Oct 11 17:03:12 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2208
2209         * cleanup.c:  It should be #if _G_HAVE_ATEXIT, not #ifdef.
2210
2211         * floatconv.c, iostrerror.c, iovfprintf.c, iovfscanf.c, libioP.h:
2212         Bunch of fixes to allow use of non-ANSI (K&R) C compilers.
2213
2214         * Makefile.in (iostream.list):  Use CC=$(CXX) to force use of gcc.
2215         * README:  New file.
2216
2217 Fri Oct  8 16:19:58 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2218
2219         * Makefile.in:  Move ioungetc.o from STDIO_WRAP_OBJECTS to
2220         IO_OBJECTS (since it is needed for iovfscanf.c).
2221         * iostrerror.c:  Add declaration of strerror.
2222
2223 Thu Oct  7 12:02:28 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2224
2225         * cleanup.c:  New file, to cause flushing at exit.
2226         * filedoalloc.c:  Cause flushing on exit.
2227         * Makefile.in (OSPRIM_OBJECTS):  Add cleanup.o.
2228         * gen-params:  Check for atexit.
2229
2230 Tue Oct  5 19:11:14 1993  Mike Stump  (mrs@cygnus.com)
2231
2232         * ioperror.c (_IO_strerror): Add missing ()s in _PARAMS usage.
2233
2234 Tue Oct  5 10:33:37 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2235
2236         * iofprintf.c, iofscanf.c, ioprintf.c, ioscanf.c, iosprintf.c,
2237         iosscanf.c:  Remove bogus semi-colon after va_dcl.
2238         * ioperror.c:  Fix typos in declaration.
2239
2240 Mon Oct  4 17:12:22 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2241
2242         * configure.in (CLEAN):  Define (as _G_config.h *.a).
2243
2244         * fileops.c (_IO_file_read):  Don't assume EINTR is defined.
2245         * iosetbuf.c:  Replace by generalized ...
2246         * iosetbuffer.c:  ... variant, derived from BSD.
2247         * Makefile.in (STDIO_WRAP_OBJECTS):  Change correspondingly.
2248         * iosetvbuf.c (iosetvbuf):  Minor ANSI tweak.
2249         * iostdio.h (setbuf, setlinebuf):  New #defines.
2250         * iolibio.h (_IO_setbuf, _IO_setlinebuf):  (Re-)define as macros.
2251         * Makefile.in (LIBIO_OBJECTS):  New macro.
2252
2253 Tue Sep 28 14:15:52 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2254
2255         * libioP.h (_IO_proc_open, _IO_proc_close): Add missing return types.
2256         * procbuf.cc:  Belated fixes.
2257
2258 Mon Sep 27 14:04:47 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2259
2260         * Makefile.in: List new files.  Add STDIO_WRAP_OBJECTS macro.
2261         * floatconv.c (d2b):  Use Exp_msk11 instead of Exp_msk1.
2262         * iofgetpos.c (_IO_fgetpos), iofsetpos.c (_IO_fsetpos):  Clean up.
2263         * iolibio.h:  New file.  Declarations of _IO_foo, for most foo
2264         where foo is a stdio function.  (Remove these from libio.h.)
2265         * iostream.h (istream::istreambuf, ostream::ostreambuf):  Move
2266         obsolete functions inside #ifdef _STREAM_COMPAT.
2267         * libio.h, libioP.h, streambuf.h, parsestream.h, stdiostream.h:
2268         Use _IO_fpos_t rather than _IO_pos_t.
2269         * iopopen.c:  New file type, for pipe (popen-like) streams.
2270         * procbuf.cc:  Now just a C++ wrapper for the files in iopopen.c.
2271         * streambuf.h (ios::unsetf):  Return complete old value of flags.
2272         * iogets.c (_IO_gets(), ioungetc.c (_IO_ungetc), ioperror.c
2273         (_IO_perror), iostrerror.c (_IO_strerror):  New files and 
2274         functions, for stdio implementation.
2275         * iostdio.h:  Add declarations for various recently-added functions.
2276
2277 Sun Sep 12 14:24:55 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2278
2279         * streambuf.h (ios::showpos):: Fix typo.
2280
2281 Fri Aug 27 12:05:47 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2282
2283         * iopadn.c (_IO_padn):  Change to return count of chars written.
2284         * outfloat.c, iovfprintf.c:  Change for new _IO_padn interface.
2285         * iostream.cc (ostream::operator<<):  Make sure to set badbit
2286         on a failure (many places).  Use _IO_padn more.
2287         * iostream.cc (ostream& ostream::operator<<(const void *p):  Move to
2288         * osform.cc:  ... here, to reduce linking-in-the-world syndrome.
2289         * osform.cc: Use rdbuf(), instead of _strbuf directly.
2290
2291         * genops.c (_IO_sgetn), libio.h:  New function.
2292         * streambuf.h (streambuf.h::sgetn):  Use _IO_sgetn.
2293         * SFile.cc (SFile::operator[]):  Use sseekoff, not seekoff.
2294
2295 Thu Aug 26 10:16:31 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
2296
2297         * config.shared (SUBDIRS): only recurse if the directory is configured
2298
2299 Wed Aug 25 12:56:12 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2300
2301         * config/{hpux.mt, isc.mt, sco4.mt}:
2302         Moved from ../libg++/config (since they affect _G_config.h).
2303         * configure.in:  Set target_make_frag to one of the above files.
2304
2305 Fri Aug 20 00:53:14 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2306
2307         * iofopen.c (iofopen):  Fix type passed to _IO_un_link().
2308         * Makefile.in (_G_config.h):  Pass $CC (not $CXX) as CC.
2309
2310         * configure.in (configdirs):  Add dbz and stdio.
2311         * fileops.c (_IO_file_seekoff):  Convert more old functionality.
2312         * iofdopen.c:  Use mode parameter to set _flags.
2313         * iofscanf.c, ioputs.c, ioscanf.c, iosprintf.c:  New files.
2314         * Makefile.in (IO_OBJECTS):  Added new objects.
2315         * iostdio.h:  Add feof. fscanf, puts, sprintf, vsprintf.
2316         * libio.h:  Add _IO_vprintf macro.
2317         * iofopen.c:  Invoke _IO_un_link if failure.
2318         * iovsprintf.c:  Write terminating NUL.
2319
2320         * libioP.h:  Add COERCE_FILE macro (by default does nothing).
2321         * iofclose.c, iofflush.c, iofgets.c, iofprintf.c, iofputs.c,
2322         iofread.c, ioftell.c, iofwrite.c, iosetbuf.c, iosetvbuf.c:
2323         Invoke COERCE_FILE macro.
2324         * ioftell.c:  Use _IO_seekoff.
2325
2326 Wed Aug 18 22:49:56 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2327
2328         * sbform.cc (streambuf::form), sbscan.cc (streambuf::scan):
2329         Remove cast to _IO_va_list.  (Loses if array type.)
2330
2331         * libio.h:  Handle _IO_va_list for systems that need <stdarg.h>.
2332         * floatconv.h:  Fix typo (reported by H.J.Lu).
2333
2334 Wed Aug 18 19:34:04 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
2335
2336         * configure.in (INSTALLDIR): handle native vs. cross case
2337
2338         * Makefile.in (install): don't use $TARGETLIB, set INSTALLDIR to
2339         $(libdir) 
2340
2341 Wed Aug 18 12:10:03 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2342
2343         * Makefile.in:  Rename iostream-files to iostream.list.
2344         * configure.in:  Add iostream.list to MOSTLYCLEAN.
2345
2346 Tue Aug 17 18:56:59 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2347
2348         * Makefile.in:  Depend on _G_config.h where appropriate.
2349         * config.shared (CXXINCLUDES):  If doing libg++, search ../libio.
2350
2351 Tue Aug 17 17:34:24 1993  Per Bothner  (bothner@kalessin.cygnus.com)
2352
2353         New directory.  Based on old libg++/iostream code,
2354         but extensively re-written.
2355
2356