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