309e506949f4c4ba7d5bf6ca87e8f245002d130b
[gcc.git] / libstdc++-v3 / ChangeLog
1 2000-05-10 Benjamin Kosnik <bkoz@redhat.com>
2
3 * bits/std_cmath.h: Tweaks.
4 * math/mathconf.h: Tweaks and fixes for HP-UX 11.
5 (sqrtf): Define away iff !builtin and !in <math.h>.
6 (sinf): Same.
7 (cosf): Same.
8 (fabsf): Same.
9 At some point this directory should be converted to c++, the
10 autoconf tests should be run by the c++ compiler (not c), and
11 <cmath> should be used instead of math.h.
12 Move declaration of nan() here.
13 * math/complex-stub.h (cabsl): Remove nan() declaration.
14
15 Finish up FreeBSD4.0 support.
16 * config/bsd/ctype.cc: Scope out toupper, tolower calls.
17 * config/generic/ctype.cc: And here.
18 * testsuite/21_strings/char_traits.cc (test02): Guard with
19 _GLIBCPP_USE_WCHAR_T.
20
21 via Phil Edwards <pme@sourceware.cygnus.com>
22 * bits/std_cctype.h: Remove _GLIBCPP_USE_NAMESPACES.
23 * acconfig.h: And here.
24 * acinclude.m4: Same.
25 * testsuite/27_io/istream.cc: And here.
26 * testsuite/27_io/ostream.cc: And here.
27
28 2000-05-09 Benjamin Kosnik <bkoz@gnu.org>
29
30 * acinclude.m4 (GLIBCPP_CHECK_CPU): Change powerpc bits to
31 -mcpu=powerpc.
32 * src/Makefile.am: Disable ENABLE_CXX_FLAGS stuff for the moment.
33
34 * config/generic/bits/ctype_specializations.h (ctype<char>::is):
35 Make more generic.
36
37 * config/bsd: New directory.
38 * config/bsd/ctype.cc: New.
39 * config/bsd/bits/ctype_base.h (ctype_base): New.
40 * config/bsd/bits/ctype_specializations.h: New.
41 * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add bsd tests.
42
43 2000-05-09 Phil Edwards <pme@sourceware.cygnus.com>
44
45 * acinclude.m4: New macro, GLIBCPP_ENABLE_CXX_FLAGS.
46 * configure.in: Call.
47 * src/Makefile.am: Append results of macro to AC_CXXFLAGS.
48 * aclocal.m4: Regenerate.
49 * configure: Ditto.
50 * src/Makefile.in: Ditto.
51 * docs/configopts.html: Document.
52 * docs/download.html: Fix typo (close quote).
53 * docs/footer.html: Update.
54
55 2000-05-09 Loren J. Rittle <ljrittle@acm.org>
56
57 * backward/iostream.h: Expose endl. Guard wide types.
58 * src/Makefile.am (headers): Update list to match files.
59 * src/Makefile.in: Regenerate.
60
61 2000-05-09 Vadim Egorov <egorovv@mailandnews.com>
62 Benjamin Kosnik <bkoz@gnu.org>
63 Nathan Myers <ncm@cantrip.org>
64 Dietmar Kuehl <dietmar_kuehl@yahoo.com>
65
66 * bits/streambuf.tcc (basic_streambuf::xsgetn): Fix uflow case.
67 (basic_streambuf::xsputn): Make consistent.
68 * testsuite/27_io/filebuf.cc: Add tests.
69
70 2000-05-08 Steven King <sxking@uswest.net>
71
72 * bits/char_traits.h: Use wchar_t utility functions for
73 char_traits<wchar_t> methods.
74 * testsuite/21_string/char_traits.cc: New (test02): test
75 char_traits<wchar_t>
76
77 2000-05-08 Benjamin Kosnik <bkoz@cygnus.com>
78
79 * acinclude.m4 (GLIBCPP_CXXFLAGS): Add bits for solaris2.8.
80
81 * bits/fstream.tcc (filebuf::_M_init_filebuf): Don't set
82 _M_buf_size based on macro, instead use _M_buf_size_opt.
83 * bits/std_streambuf.h (basic_streambuf): Add _M_buf_size_opt.
84 (basic_streambuf()): Set _M_buf_size_opt.
85 * testsuite/27_io/filebuf.cc (filebuf): Use _M_buf_size_opt
86 instead of _M_buf_size.
87
88 2000-05-04 Branko Cibej <branko.cibej@hermes.si>
89
90 * src/complex_io.cc: Don't instantiate inserters and extractors
91 for wide-character streams unless _GLIBCPP_USE_WCHAR_T is defined.
92
93 2000-05-03 Phil Edwards <pme@sourceware.cygnus.com>
94 Felix Natter <fnatter@gmx.net>
95
96 * docs/footer.html: Update to see if it takes effect.
97 * docs/thanks.html: More people.
98 * docs/17_intro/headers_cc.txt: Copy from testsuite, since that can't
99 be seen from the web pages. Rename for browser-friendliness...
100 * docs/17_intro/howto.html: ...and update here.
101 * docs/17_intro/porting-howto.html: Changes from Felix.
102 * docs/gccrebuild.html: Mention v3->egcs move.
103 * docs/faq/index.html: Ditto. Also misc tweaks and URL updates.
104 * docs/faq/index.txt: Regenerate.
105
106 2000-05-01 Benjamin Kosnik <bkoz@redhat.com>
107
108 * config/cpu/powerpc/bits/atomicity.h (__exchange_and_add): More
109 fixes.
110
111 2000-05-01 Vadim Egorov <egorovv@@mailandnews.com>
112
113 * bits/char_traits.h: Fix parameter types.
114 * bits/string.tcc: Avoid traits_type::move.
115
116 2000-05-01 Benjamin Kosnik <bkoz@haight.constant.com>
117
118 * src/Makefile.am (AC_CXXFLAGS): Add CPUFLAGS here.
119 * src/Makefile.in: Regenerate.
120 * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Revert.
121
122 2000-04-30 Steven King <sxking@uswest.net>
123
124 * bits/locale_facets.h: Fix syntax error.
125 * bits/std_fstream.h: ditto
126
127 2000-04-30 Benjamin Kosnik <bkoz@gnu.org>
128
129 * config/cpu/powerpc/bits/atomicity.h (__compare_and_swap): Fix typo.
130
131 * mknumeric_limits (trait_name): Fix copyright notice.
132 * src/gen-num-limits.cc: Explicitly instantiate epsilon and
133 round_error data members of struct value. This works around
134 weak-linking issues on AIX, HPUX.
135
136 2000-04-29 Phil Edwards <pme@sourceware.cygnus.com>
137
138 * docs/download.html: Add link to list of mirror sites.
139
140 2000-04-28 Loren J. Rittle <ljrittle@acm.org>
141
142 * mkcheck.in: Rely on exit status instead of the presence of a
143 core file. Added comments on how/where to save core and exe
144 files. Move shell wildcards outside quotes and fix core path.
145
146 2000-04-27 scott snyder <snyder@fnal.gov>
147
148 * src/misc-inst.cc: Explicitly instantiate ifstream and ofstream
149 classes.
150
151 2000-04-26 Nathan C. Myers <ncm@cantrip.org>
152
153 * bits/basic_string.h: include <bits/atomicity.h> instead
154 of <atomicity.h>, and use the uglified names.
155 * config/cpu/*/atomicity.h: replace with bits/atomicity.h;
156 uglify names, eliminate dependence on <inttypes.h>.
157 * src/Makefile.in, src/Makefile.am: refer to correct place
158 for atomicity.h header.
159
160 2000-04-25 Steven King <sxking@uswest.net>
161
162 * bits/basic_string.h: Fix syntax error.
163
164 2000-04-25 Benjamin Kosnik <bkoz@redhat.com>
165
166 * acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Improve checks for
167 USE_LONG_DOUBLE.
168 (GLIBCPP_ENABLE_DEBUG): If alpha, use -gdwarf-2.
169 * math/Makefile.am (EXTRA_LONG_DOUBLE_yes): Add all the long
170 versions to this as copysignl is needed anyway for these targets.
171 * math/Makefile.in: Regenerate.
172
173 * bits/streambuf.tcc (streambuf::xsgetn): Tweak.
174 * bits/fstream.tcc (underflow): Cast to libio types.
175 * bits/basic_file.h (seekoff): Fixes for alpha: use __c_streamoff.
176 * config/c_io_libio.cc (seekoff): And here.
177
178 2000-04-24 Loren J. Rittle <ljrittle@acm.org>
179
180 * mkcheck.in: Report compiler version used for test. Find
181 the built _G_config.h instead of any old installed version.
182
183 2000-04-24 Loren J. Rittle <ljrittle@acm.org>
184
185 * config/generic/ctype.cc (do_toupper): Remove dependence on
186 non-portable/non-existent lookup table.
187 (do_tolower): Same.
188
189 2000-04-24 Nathan Myers <ncm@cantrip.org>
190
191 * src/string-inst.cc: More fixing.
192
193 2000-04-24 Benjamin Kosnik <bkoz@gnu.org>
194
195 * bits/stl_iterator.h: Pedantic fixing.
196 * bits/std_sstream.h: And here.
197 * bits/string.tcc: And here.
198
199 2000-04-24 Felix Natter <fnatter@gmx.net>
200
201 * docs/17_intro/howto.html: Add bits.
202 * docs/17_intro/porting-howto.html: New file.
203
204 2000-04-24 Branko Cibej <branko.cibej@hermes.si>
205
206 * acinclude.m4(GLIBCPP_CHECK_WCHAR_T_SUPPORT): Expand
207 @libinst_wstring_la@ to libinst-wstring.la when specializing for
208 wchar_t, to empty string otherwise.
209 * src/Makefile.am: (EXTRA_LTLIBRARIES): New.
210 (sources): Remove $(string_sources) and $(wstring_sources).
211 (libstdc___la_LIBADD): Add libinst-string.la and @libinst_wstring_la@.
212 (libstdc___la_DEPENDENCIES): New.
213 (libinst_string_la_SOURCES, libinst_wstring_la_SOURCES): New.
214
215 2000-04-20 Benjamin Kosnik <bkoz@redhat.com>
216
217 * bits/std_sstream.h: Tweak formatting.
218 * bits/std_fstream.h: Make types public.
219
220 * testsuite/27_io/streambuf.cc: Fix for alpha.
221
222 Brad Garcia <bgarcia@laurelnetworks.com>
223 * bits/locale_facets.h (numpunct::numpunct(size_t)): Fix bool
224 initialization.
225 * testsuite/27_io/ios_manip_fmtflags.cc (test02): Add test for
226 bool formatting.
227
228 2000-04-19 Nathan Myers <ncm@cantrip.org>
229
230 * src/string-inst: consolidate _S_create,
231 destroy, leak, clone members into stringMAIN and stringMUTATE
232 object files.
233 * src/Makefile.am: Above, and eliminate dependence on
234 wstring-inst.cc.
235 * src/wstring-inst.cc: Remove.
236
237 2000-04-18 Benjamin Kosnik <bkoz@redhat.com>
238
239 * src/Makefile.am (AC_CXXFLAGS): Activate debugging code, again.
240 Add flags for specialized rules dealing with instantiations.
241
242 * src/string-inst.cc: Add instantiations missing from shared
243 libraries--see stringEQ, stringCONSC.
244 * src/Makefile.am (wstring_sources): Add.
245 (string_sources): Same.
246 * src/Makefile.in: Regenerate.
247
248 * stl/*: Integrate contents of this directory into top-level
249 directories.
250 * ext/bvector hash_map hash_set rope ropeimpl.h slist
251 stl_bvector.h stl_hash_fun.h stl_hashtable.h stl_rope.h tree: Add.
252 * bits/pthread_allocimpl.h std_algorithm.h std_bitset.h
253 std_deque.h std_functional.h std_iterator.h std_list.h std_map.h
254 std_memory.h std_numeric.h std_queue.h std_set.h std_stack.h
255 std_stdexcept.h std_strstream.h std_utility.h std_vector.h
256 stl_algo.h stl_algobase.h stl_alloc.h stl_config.h stl_construct.h
257 stl_deque.h stl_function.h stl_heap.h stl_iterator.h
258 stl_iterator_base.h stl_list.h stl_map.h stl_multimap.h
259 stl_multiset.h stl_numeric.h stl_pair.h stl_pthread_alloc.h
260 stl_queue.h stl_range_errors.h stl_raw_storage_iter.h stl_relops.h
261 stl_set.h stl_stack.h stl_string_fwd.h stl_tempbuf.h stl_threads.h
262 stl_tree.h stl_uninitialized.h stl_vector.h type_traits.h: Add.
263 * backward/algo.h algobase.h alloc.h bvector.h defalloc.h deque.h
264 function.h hash_map.h hash_set.h hashtable.h heap.h iterator.h
265 list.h map.h multimap.h multiset.h pair.h rope.h set.h slist.h
266 stack.h tempbuf.h tree.h vector.h: Add.
267 * README (file): Update.
268 * docs/documentation.html: README not being found.
269 * src/Makefile.am (sources): Take out stl directory.
270 * mkcheck.in (SRC_DIR): And here.
271 * src/Makefile.in: Regenerate.
272
273 2000-04-18 Levente Farkas <lfarkas@mindmaker.hu>
274
275 * stl/bits/stl_function.h: Add bits so that const and non-const
276 both work.
277
278 2000-04-18 scott snyder <snyder@fnal.gov>
279
280 * stl/bits/stl_map.h (class map): Fix default for _Alloc template
281 parameter. Get rid of use of __STL_DEFAULT_ALLOCATOR and
282 __STL_LIMITED_DEFAULT_TEMPLATES macros.
283 * stl/bits/stl_multimap.h (class multimap): Likewise. Get rid of
284 use of __STL_DEPENDENT_DEFAULT_TMPL macro.
285
286 2000-04-18 scott snyder <snyder@fnal.gov>
287
288 * stl/bits/stl_config.h (__STL_DEPENDENT_DEFAULT_TMPL): Deleted
289 this macro.
290
291 * stl/ext/hash_map (class hash_map, class hash_multimap): Get rid
292 of use of __STL_DEPENDENT_DEFAULT_TMPL macro.
293 * stl/ext/hash_set (class hash_set, class hash_multiset):
294 Likewise.
295 * stl/bits/stl_function.h (struct constant_unary_fun, struct
296 constant_binary_fun): Likewise.
297 * stl/bits/stl_queue.h (class queue, class priority_queue): Likewise.
298 * stl/bits/stl_stack.h (class stack): Likewise.
299 * stl/bits/stl_set.h (class set): Likewise.
300 * stl/bits/stl_multiset.h (class multiset): Likewise.
301
302 * stl/bits/stl_iterator.h (class reverse_bidirectional_iterator,
303 class reverse_iterator): Get rid of use of
304 __STL_LIMITED_DEFAULT_TEMPLATES macro.
305
306 * stl/bits/stl_config.h (__STL_DEFAULT_ALLOCATOR): Deleted this
307 macro.
308
309 * stl/bits/stl_deque.h (class deque): Get rid of use of
310 __STL_DEFAULT_ALLOCATOR macro.
311 * stl/bits/stl_list.h (class list): Likewise.
312 * stl/bits/stl_multiset.h (class multiset): Likewise.
313 * stl/bits/stl_set.h (class set): Likewise.
314 * stl/bits/stl_string_fwd.h (class basic_string): Likewise.
315 * stl/bits/stl_tree.h (class _Rb_tree, class rb_tree): Likewise.
316 * stl/bits/stl_vector.h (class vector): Likewise.
317 * stl/ext/ropeimpl.h (rotate): Likewise.
318 * stl/ext/hash_map (class hash_map, class hash_multimap):
319 Likewise.
320 * stl/ext/hash_set (class hash_set, class hash_multiset):
321 Likewise.
322 * stl/ext/slist (class slist): Likewise.
323 * stl/ext/stl_bvector.h (class bit_vector): Likewise.
324 * stl/ext/stl_rope.h (class rope): Likewise.
325 * src/locale.cc (_Impl): Likewise.
326 * src/localename.cc (_Impl): Likewise.
327 * bits/localefwd.h (_Impl): Likewise.
328
329 2000-04-18 Phil Edwards <pme@sourceware.cygnus.com>
330
331 * docs/install.html: Cleanup, minor changes.
332 * docs/17_intro/howto.html: Ditto.
333
334 2000-04-18 Nathan Myers <ncm@cantrip.org>
335
336 * bits/basic_string.h: Remove "inline" from member _S_find.
337
338 * src/string-inst.cc: Rewrite to reflect non-inline template
339 instantiations in string.tcc.
340
341 * src/stringADDCS.cc, stringADDPS.cc, stringADDSC.cc, stringADDSP.cc,
342 stringADDSS.cc, stringBIST.cc, stringBOST.cc, stringCHTR.cc,
343 stringEQPS.cc, stringEQSP.cc, stringEQSS.cc, stringEXTRA.cc,
344 stringGEPS.cc, stringGESP.cc, stringGESS.cc, stringGETLI.cc,
345 stringGTPS.cc, stringGTPS.cc, stringGTSP.cc, stringGTSS.cc,
346 stringINSER.cc, stringLEPS.cc, stringLESP.cc, stringLESS.cc,
347 stringLESP.cc, stringLTPS.cc, stringLTPS.cc, stringLTSP.cc,
348 stringLTSS.cc, stringMAIN.cc, stringNEPS.cc, stringNESP.cc,
349 stringNESS.cc, stringSCOPY.cc: Remove.
350 * src/wstringADDCS.cc, etc: Remove.
351
352 Benjamin Kosnik <bkoz@haight.constant.com>
353 * src/Makefile.am: Modify to reflect above.
354 * src/Makefile.in: Regenerate.
355
356 2000-04-17 Benjamin Kosnik <bkoz@cygnus.com>
357
358 * docs/install.html (--enable-libstdcxx-v3): Clean up install docs.
359
360 2000-04-13 Benjamin Kosnik <bkoz@haight.cygnus.com>
361
362 * bits/std_fstream.h (filebuf::sync): Need to use the abstracted
363 io interface here instead of the libio particulars.
364
365 * config/threads-posix.h: Consistency with stl_config.h.
366
367 * mkcheck.in (CXX_FLAG): Add DDEBUG_ASSERT back in.
368
369 2000-04-13 Loren J. Rittle <ljrittle@acm.org>
370
371 * mknumeric_limits: Rename generic type template parameter name
372 '_T' to '_Tp'.
373 * stl/bits/type_traits.h: Ditto.
374
375 2000-04-06 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
376
377 * mkcheck.in (SRC_DIR): Change default mkcheck behavior, so that
378 it is more useful for --enable-libstdcxx-v3. Use the built
379 compilers with v3, instead of compilers in PATH, and don't
380 re-include include directories for checking the install.
381
382 2000-04-05 Benjamin Kosnik <bkoz@cygnus.com>
383
384 * src/Makefile.am (AM_CXXFLAGS): Disable NAMESPACES, as this is on
385 by default when using --enable-libstdcxx-v3.
386 * src/Makefile.in: Regenerate.
387 * configure.in: Disable GLIBCPP_ENABLE_NAMESPACES,
388 GLIBCPP_ENABLE_RELIBGCC for --enable-libstdcxx-v3 flag.
389 * configure: Regenerate.
390 * mkcheck.in: Deal with NAMESPACES.
391
392 2000-04-05 Petter Urkedal <petter@matfys.lth.se>
393
394 * src/cmath.cc: New file...
395 (pow(*, int)): Define functions...
396 * src/Makefile.am (sources): ...register file.
397 * src/Makefile.in: Regenerate.
398 * bits/std_cmath.h (pow): ...declare functions here, and remove
399 old definitions.
400
401 2000-04-04 Benjamin Kosnik <bkoz@redhat.com>
402
403 * acinclude.m4 (GCC_OBJDIR): Tweaks
404
405 2000-04-03 Benjamin Kosnik <bkoz@redhat.com>
406
407 * acinclude.m4 (GLIBCPP_CHECK_CPU): Add arm configure bits.
408 * config/cpu/arm: New directory.
409
410 Jesper Skov <jskov@redhat.com>
411 * config/cpu/arm/atomicity.h: New file.
412
413 2000-03-31 Benjamin Kosnik <bkoz@redhat.com>
414
415 * stl/bits/stl_config.h: Make _STL_THREADS depend on _REENTRANT.
416 Remove unused bits. Clean.
417
418 2000-03-29 Benjamin Kosnik <bkoz@cygnus.com>
419
420 * testsuite/25_algorithms: New directory.
421 * testsuite/25_algorithms/min_max.cc: New file.
422
423 2000-03-29 scott snyder <snyder@fnal.gov>
424
425 * bits/locale_facets.tcc (do_put): Allow a couple extra digits of
426 precision beyond that which we get from numeric_limits::digits10.
427
428 * stl/bits/stl_algobase.h (max, min): Don't use comparison
429 operator.
430
431 * testsuite/23_containers/bitset_shift.cc: Fix.
432
433 * testsuite/27_io/ios_manip_fmtflags.cc (test01): Don't give a
434 temporary to imbue().
435
436 * bits/std_fstream.h (sync): Resync libio's idea of the current
437 file position with the external file.
438
439 2000-03-28 Benjamin Kosnik <bkoz@cygnus.com>
440
441 * testsuite/27_io/istream_extractor_arith.cc.cvs: Fix merge
442 mistake.
443
444 * bits/std_fstream.h (filebuf::is_open): Check for _M_file before
445 attempting calls to it.
446 * bits/fstream.tcc (ctors): Don't call _M_init_filebuf in
447 ctors. Instead, call _M_init_filebuf ...
448 (open): Here, as suggested by 27.8.1.3.
449 * src/ios.cc (ios_base::Init::Init()): Clean up default filebufs
450 properly when initializing cout/cin/cerr.
451
452 2000-03-27 Russell Davidson <russell@ehess.cnrs-mrs.fr>
453
454 * testsuite/23_containers/multiset.cc (main): Clean up for namespaces.
455 * testsuite/22_locale/ctype_char_members.cc: And here.
456 * testsuite/27_io/streambuf.cc (streambuf): And here.
457 * testsuite/27_io/ostream_inserter_char.cc (test06): And here.
458 * testsuite/27_io/istream_unformatted.cc (test05): And here.
459 * testsuite/27_io/istream_extractor_arith.cc: And here.
460 * testsuite/27_io/ios_manip_basefield.cc (test02): And here.
461 * testsuite/27_io/ios_base_members_static.cc: And here.
462 * bits/std_climits.h (_CPP_CLIMITS): Fix typo.
463
464 2000-03-27 Chris Faylor <cgf@cygnus.com>
465
466 * configure.in: Remove setting of CXX if canadian cross.
467 * configure: Regenerate.
468
469 2000-03-27 Nathan Myers <ncm@zembu.com>
470
471 * bits/sstream.tcc: Optimize.
472 * bits/basic_string.h(string::append): Don't inline.
473 * bits/string.tcc: Move out-of-line.
474
475 2000-03-27 Phil Edwards <pme@sourceware.cygnus.com>
476
477 * acinclude.m4: (GLIBCPP_CHECK_COMPILER_VERSION) When using <2.96,
478 define WERRORSUPPRESS so that the inlining warnings won't kill us.
479 * aclocal.m4: Regenerate.
480 * configure: Regenerate.
481 * src/Makefile.am: Use WERRORSUPPRESS for the files that need it.
482 * src/Makefile.in: Regenerate.
483
484 * docs/install.html: Almost complete rewrite.
485
486 2000-03-25 Phil Edwards <pme@sourceware.cygnus.com>
487
488 * docs/install.html: Explain -Werror problem at "#Werror" mark.
489 * docs/faq/index.html: Testsuite will die horribly if new libgcc.a
490 not installed.
491 * docs/faq/index.txt: Regenerate.
492
493 2000-03-24 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
494
495 * src/Makefile.am (libio_headers_install): Fix.
496 * src/Makefile.in: Regenerate.
497
498 2000-03-24 Benjamin Kosnik <bkoz@cygnus.com>
499
500 * docs/17_intro/RELEASE-NOTES: Fix typos.
501 * docs/index.html: Update.
502 * docs/17_intro/BUGS: Update.
503 * docs/status.html: Update for 2.90.8 release.
504
505 2000-03-23 Phil Edwards <pme@sourceware.cygnus.com>
506
507 * Makefile.am: Better error message when missing libgcc2.ready.
508 * Makefile.in: Regenerate.
509 * acinclude.m4: Fastidious nitpicking reformatting.
510 * aclocal.m4: Regenerate.
511 * configure: Regenerate.
512 * mkcheck.in: Must use same namespace settings as the library being
513 tested. Also log ST_FLAG, since it's being passed.
514 * docs/install.html: Add brief chunk on configuration.
515 * docs/17_intro/RELEASE-NOTES: Fix minor Cygwin typo.
516 * docs/23_containers/howto.html: Mention MT-safe string.
517 * docs/faq/index.html: Minor updates.
518 * docs/faq/index.txt: Regerarate.
519
520 2000-03-22 Benjamin Kosnik <bkoz@cygnus.com>
521
522 * bits/sstream.tcc (seekoff): Fix for gptr() null cases.
523 Return newoff.
524 * bits/fstream.tcc (seekoff): Sync.
525 (seekpos): Sync.
526 * testsuite/27_io/ostream_unformatted.cc: New file.
527 * testsuite/27_io/stringbuf.cc: Fix.
528 * testsuite/27_io/istream_unformatted.cc (test04): Fix.
529
530 * config/newlib/bits/ctype_base.h (ctype_base): Fix.
531 * config/newlib/ctype.cc (ctype): Change __ctype -> _ctype_.
532
533 * src/complex_io.cc (operator>>complex): Tweak.
534
535 * config/cpu/alpha/atomicity.h: Explicitly typedef uint32_t, int32_t if
536 <inttypes.h> does not exist.
537 * config/cpu/sparc/sparc64/atomicity.h: Same.
538 * config/cpu/sparc/sparc32/atomicity.h: Same.
539 * config/cpu/powerpc/atomicity.h: Same.
540 * config/cpu/i386/atomicity.h: Same.
541 * config/cpu/generic/atomicity.h: Same.
542 * configure.in: Check for inttypes.h.
543 * configure: Regnerate.
544
545 2000-03-21 Benjamin Kosnik <bkoz@cygnus.com>
546
547 * bits/std_sstream.h (_M_init_stringbuf): Set initial ate position
548 correctly.
549 * testsuite/27_io/ostream_inserter_char.cc (test06): Add tests for ate.
550
551 * docs/17_intro/RELEASE-NOTES (New): Add bits.
552
553 * configure.in: Move AC_CHECK_HEADERS to a point where we know we
554 are compiling natively.
555
556 * libio/*: Update to CVS libio from egcs.
557
558 2000-03-21 Phil Edwards <pme@sourceware.cygnus.com>
559
560 * docs/download.html: Document use of -z9 for CVS.
561 * docs/index.html: Add target date (no link) for future snapshot.
562
563 2000-03-21 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
564
565 * bits/slice_array.h: Rename generic type template parameter name
566 '_T' to '_Tp'.
567 * bits/mask_array.h: Ditto
568
569 2000-03-20 Benjamin Kosnik <bkoz@cygnus.com>
570
571 * *: Change copyright holder from "Cygnus Solutions" to "Free
572 Software Foundation, Inc."
573
574 * docs/configopts.html: Explain what "hella versions" means.
575 * docs/install.html: Some tweaks--nice job on this Phil.
576 * docs/documentation.html: Add a direct link to configuration options.
577
578 * src/Makefile.am (OPTIMIZE_CXXFLAGS): Add in extras.
579 * docs/17_intro/RELEASE-NOTES (New): Add.
580 * bits/c++config.h (__GLIBCPP__): Bump version.
581
582 * config/c_io_libio.cc (__basic__file(__c_lock*)): Change argument
583 type to match prototype.
584
585 2000-03-20 Phil Edwards <pme@sourceware.cygnus.com>
586
587 * docs/install.html: Update for new funky build procedure. Move
588 description of 'configure' options to...
589 * docs/configopts.html: ...here. New file.
590 * docs/17_intro/howto.html: Updates for new snapshot.
591 * docs/20_util/howto.html: Ditto.
592 * docs/21_strings/howto.html: Ditto.
593 * docs/21_strings/stringtok_std_h.txt: Fix example typos.
594 * docs/22_locale/howto.html: Ditto.
595 * docs/23_containers/howto.html: Ditto.
596 * docs/faq/index.html: Ditto.
597
598 2000-03-18 Petter Urkedal <petter@matfys.lth.se>
599 Benjamin Kosnik <bkoz@gnu.org>
600
601 * acinclude.m4 (GLIBCPP_CHECK_COMPLEX_SUPPORT): Move code for main
602 to the right place.
603 * aclocal.m4: Regenerate.
604 * configure: Regenerate.
605
606 2000-03-16 Benjamin Kosnik <bkoz@cygnus.com>
607 scott snyder <sss@karma.fnal.gov>
608
609 * config/c_io_libio.h: Add __c_lock.
610 * config/threads-no.h: Same here.
611 * config/threads-posix.h: Add __mutext_type typedef.
612 * config/c_io_libio.cc: basic_file ctor takes lock arg.
613 * bits/basic_file.h: Ctor takes lock arg.
614 * bits/std_fstream.h: Add _M_lock.
615 * bits/fstream.tcc: Supply it to basic_file ctor.
616
617 * mkcheck.in (resultstext): Change [[ to [.
618
619 * testsuite/27_io/ostream_inserter_char.cc (test06): Tweak.
620
621 * bits/locale_facets.h: Tweak.
622
623 * stl/bits/stl_config.h: Fix defines.
624
625 2000-03-16 Benjamin Kosnik <bkoz@cygnus.com>
626
627 * mkcheck.in (INC_PATH): Add paths from cpu_include_dir to find
628 atomicity.h
629 * configure: Regenerate.
630 * aclocal.m4: Regnerate.
631
632 2000-03-16 Nathan Myers <ncm@zembu.com>
633
634 * bits/string.tcc: Add MT support.
635 * bits/basic_string.h: Same.
636
637 2000-03-16 Phil Edwards <pme@sourceware.cygnus.com>
638
639 * configure.in: Make --enable-namespaces and -libgcc-rebuild=../..
640 the defaults.
641 * configure: Regenerate.
642
643 * config/solaris/solaris2.7/ctype.cc: Fix unsigned/signed comparison.
644
645 2000-03-16 Phil Edwards <pme@sourceware.cygnus.com>
646
647 * acinclude.m4 (GLIBCPP_CHECK_CTYPE): If Sol2.5 ctype is found, keep
648 checking for 2.[67]. (GLIBCPP_ENABLE_RELIBGCC): No longer ignore
649 any defaults passed in.
650 * aclocal.m4: Regenerate.
651
652 2000-03-16 Phil Edwards <pme@sourceware.cygnus.com>
653
654 * mkcheck.in: Report total successes and failures.
655
656 2000-03-15 Benjamin Kosnik <bkoz@cygnus.com>
657
658 * config/cpu: New directory, intended to be used to provide
659 cpu-specific configuration files. In particular, assembly language
660 primitives for thread safety.
661 * config/cpu/alpha: Populate.
662 * config/cpu/alpha/atomicity.h: New file.
663 * config/cpu/arm: Populate.
664 * config/cpu/generic: Populate.
665 * config/cpu/generic/atomicity.h: New file.
666 * config/cpu/hppa: Populate.
667 * config/cpu/i386: Populate.
668 * config/cpu/i386/atomicity.h: New file, take from i486.
669 * config/cpu/m68k: Populate.
670 * config/cpu/mips: Populate.
671 * config/cpu/powerpc: Populate.
672 * config/cpu/powerpc/atomicity.h: New file.
673 * config/cpu/sparc: Populate.
674 * config/cpu/sparc/sparc32: Populate.
675 * config/cpu/sparc/sparc64: Populate.
676 * config/cpu/sparc/sparc32/atomicity.h: New file.
677 * config/cpu/sparc/sparc64/atomicity.h: New file.
678
679 * src/Makefile.am (myinstallheaders): Add install routines.
680 * acinclude.m4 (GLIBCPP_CHECK_CPU):Add configuration for the
681 cpu dir.
682 * configure.in: Add.
683
684 * config/default: Adopt glibc naming conventions, and so move to
685 * config/generic: Here.
686 * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Modify default case to generic.
687
688 2000-03-15 Bill Thompson <billt@toast.net>
689
690 * testsuite/27_io/ostream_inserter_char.cc (test06): Add test.
691
692 2000-03-14 Phil Edwards <pme@sourceware.cygnus.com>
693
694 * docs/17_intro/howto.html: Add missing "TOC" entry, and new section.
695
696 * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Fixup.
697 * aclocal.m4: Regenerate.
698 * configure: Regenerate.
699
700 2000-03-13 scott snyder <snyder@fnal.gov>
701 Jason Merrill <jason@cygnus.com>
702
703 * bits/locale_facets.h (class ctype, class ctype<char>, class
704 ctype<wchar_t>): More mask fixes.
705 * testsuite/22_locale/ctype.cc: Test for the problem.
706
707 2000-03-13 Benjamin Kosnik <bkoz@cygnus.com>
708
709 * acconfig.h: Add bits.
710 * configure.in: Move AM_PROG_LIBTOOL up in file.
711 Tweak cross compiling info.
712 * configure: Regenerate.
713
714 * mknumeric_limits (XCOMPILE): Echo compilation line for
715 gen-num-limits.cc
716
717 * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add aix checks.
718 * aclocal.m4: Regenerate.
719 * configure: Regenerate.
720 * config/aix/ctype.cc (ctype): Tweak.
721 * config/aix/bits/ctype_base.h (ctype_base): Tweak.
722 * config/aix/bits/ctype_specializations.h: New file.
723
724 2000-03-10 scott snyder <snyder@fnal.gov>
725
726 * stl/bits/stl_vector.h (_M_assign_aux): Fix for __normal_iterator
727 conversions.
728 * testsuite/23_containers/vector_modifiers.cc (test01): Add a
729 regression test for the problem.
730
731 2000-03-09 Benjamin Kosnik <bkoz@fidel.cygnus.com>
732
733 * testsuite/27_io/streambuf.cc (class testbuf): Same here.
734 * bits/fpos.h: And here.
735 * bits/std_ostream.h: Same here.
736 * bits/std_istream.h: Same here.
737 * bits/basic_ios.h: Same here.
738 * bits/std_fstream.h: Same here.
739 * bits/sbuf_iter.h (std): Here too.
740 * bits/std_sstream.h: Make types public.
741
742 * src/misc-inst.cc: Use size_t instead of unsigned int.
743 * bits/locale_facets.tcc (_S_format): For now, cast to char. I
744 suppose this should be ctype::narrow... all the ctype<wchar_t>
745 stuff needs to be cleaned up.
746
747 2000-03-09 Phil Edwards <pme@sourceware.cygnus.com>
748
749 * docs/gentop: Remove entire directory, finally.
750
751 2000-03-09 scott snyder <snyder@fnal.gov>
752
753 * bits/std_cmath.h (modf): Fix pointer overrun.
754 * testsuite/26_numerics/c_math.cc (test04, main): Add a regression
755 test for the problem.
756
757 2000-03-09 Phil Edwards <pme@sourceware.cygnus.com>
758
759 Looks like changes to the #include'd files must be followed by a
760 change to the #include'ing files to take effect. Caveat emptor.
761 * docs/header.html: New file, for server-side include.
762 * docs/footer.html: New file, for server-side include.
763 * docs/documentation.html: Change to use SSI.
764 * docs/download.html: Ditto.
765 * docs/index.html: Ditto.
766 * docs/mail.html: Ditto.
767 * docs/status.html: Ditto.
768 * docs/thanks.html: Ditto, plus minor updates.
769 * docs/how.html: Remove.
770
771 2000-03-09 Benjamin Kosnik <bkoz@gnu.org>
772
773 Preliminary alpha-linux support.
774 * src/locale.cc (ctype<wchar_t>): Use correct types...
775 * bits/locale_facets.h (ctype<char>): Add __table_type typedef.
776 (ctype<wchar_t>): Same.
777 * bits/locale_facets.h (ctype<wchar_t>): Have char and wchar_t
778 types match for table_size (size_t).
779
780 * config/gnu-linux/ctype.cc (ctype): Change char_type to wchar_t
781 as per char specialization.
782 * config/*/ctype.cc: Same.
783
784 2000-03-09 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
785
786 * bits/locale_facets.h (_Ctype<>::mask): Import from base class
787 _Ctype_nois<>. Template base classes are never examinated in
788 first-phase name-lookup.
789
790 2000-03-08 Benjamin Kosnik <bkoz@gnu.org>
791
792 Add Solaris 2.5.1 support.
793 * config/solaris/solaris2.5/bits/ctype_base.h (ctype_base): And here.
794 * config/solaris/solaris2.5/ctype.cc: Fixup.
795 * config/solaris/solaris2.5/bits/ctype_specializations.h: Add.
796 * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add bits for solaris2.5.1.
797 * aclocal.m4: Regenerate.
798 * configure: Regenerate.
799
800 * config/default/ctype.cc (ctype): Fixup.
801
802 2000-03-07 Benjamin Kosnik <bkoz@blues.cygnus.com>
803
804 * testsuite/27_io/filebuf.cc: Activate init code from yesterday...
805 * testsuite/27_io/ostream_inserter_arith.cc (testcases): Fix for
806 non-wchar_t case.
807
808 2000-03-07 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
809
810 * bits/cpp_type_traits.h: Expand on this file purpose.
811
812 2000-03-06 Benjamin Kosnik <bkoz@gnu.org>
813
814 * bits/locale_facets.h (ctype<char>): Remove static members, and
815 re-work initialization code.
816 (ctype<wchar_t>): Same.
817 Move _S_touppper to _M_toupper and initialize in ctor.
818 Move _S_tolower to _M_tolower and initialize in ctor.
819 Move _S_table to _M_ctable and intialize in ctor.
820 * bits/locale_facets.h (std): And here.
821 * src/locale.cc (std): Tweak.
822 * config/gnu-linux/ctype.cc: Change initialization here.
823 * config/newlib/ctype.cc: And here.
824 * config/solaris/solaris2.7/ctype.cc: And here.
825 * config/solaris/solaris2.6/ctype.cc: And here.
826
827 * bits/localefwd.h: Tweak.
828 * bits/std_streambuf.h: Tweak formatting.
829
830 * testsuite/27_io/filebuf.cc: Remove BUFSIZ dependancies.
831
832 2000-03-05 Chip Salzenberg <chip@valinux.com>
833
834 * src/misc-inst.cc (basic_iostream<>): Instantiate.
835
836 2000-03-02 Phil Edwards <pme@sourceware.cygnus.com>
837 Kevin Atkinson <kevinatk@home.com>
838
839 Initial grab of SGI's strstream implementation with minor
840 modifications.
841 * src/strstream.cc: New file.
842 * std/strstream: New file.
843 * stl/bits/std_strstream.h: New file.
844 * bits/std_streambuf.h: Add public access.
845 * src/Makefile.am: Add strstream sources to list of dependancies.
846 * src/Makefile.in: Regenerate.
847
848 2000-03-03 2000 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
849
850 * bits/valarray_meta.h: Fix typo.
851
852 2000-03-02 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
853 Chip Salzenberg <chip@valinux.com>
854 Petter Urkedal <petter@matfys.lth.se>
855
856 * src/Makefile.am (myinstallheaders): Hack to avoid
857 `for i in ; do'.
858 * src/Makefile.in: Regenerate.
859
860 2000-03-02 Chip Salzenberg <chip@valinux.com>
861
862 * libio/Makefile.an, math/Makefile.an, src/Makefile.am
863 (LINK): Put quotes around "$(CC)" for libtool link mode,
864 so libtool will use "-B" options during GCC bootstrap.
865 * */Makefile.in: Regenerate.
866
867 2000-03-02 Petter Urkedal <petter@matfys.lth.se>
868
869 * config/c_io_libio.h: Enclose it all in ::std.
870 * bits/basic_string.h (basic_string<>): Make types and
871 `npos' public.
872 * mkc++config: Truncate output file before writing.
873
874 2000-03-01 Benjamin Kosnik <bkoz@gnu.org>
875
876 * math/cabsf.c (__mycabsf): Rename to cabsf.
877 * math/cabs.c (__mycabs): Rename to cabs.
878
879 2000-02-29 LLeweLLyn Reese <llewelly@198.dsl.xmission.com>
880
881 * bits/basic_string.h: Move declarations of __out_of_range(),
882 __length_error() and accompanying macros ...
883 * bits/exception_support.h: here. (Newly created file).
884 * bits/basic_string.h: #include <bits/exception_support.h>
885 * stl/bits/stl_vector.h: #include <bits/exception_support.h>
886 * src/Makefile.am (headers): Add.
887 * src/Makefile.in: Regenerate.
888
889 2000-02-29 Benjamin Kosnik <bkoz@cygnus.com>
890
891 * bits/cpp_type_traits.h: Rename structs so they don't clash with
892 type_traits.h.
893 * bits/valarray_array.h: Synch. Fix typos.
894
895 * libio/Makefile.am: Change to only compile source files that
896 config/c_io_libio.cc actually needs.
897 * libio/Makefile.in: Regnerate.
898 * libio/PlotFile.hes SFile.h builtinbuf.h editbuf.h floatconv.c
899 floatio.h fstream.h indstream.h iofclose.c iofdopen.c iofeof.c
900 ioferror.c iofflush.c iofgetpos.c iofgets.c iofopen.c iofprintf.c
901 iofputs.c iofread.c iofscanf.c iofsetpos.c ioftell.c iofwrite.c
902 iogetc.c iogetdelim.c iogetline.c iogets.c ioignore.c iomanip.h
903 iopadn.c ioperror.c iopopen.c ioprims.c ioprintf.c ioputc.c
904 ioputs.c ioscanf.c ioseekoff.c ioseekpos.c iosetbuffer.c
905 iosetvbuf.c iosprintf.c iosscanf.c iostream.h iostrerror.c
906 ioungetc.c iovfprintf.c iovfscanf.c iovsprintf.c iovsscanf.c
907 istream.h list.out ostream.h outfloat.c parsestream.h peekc.c
908 pfstream.h procbuf.h stdiostream.h stream.h streambuf.h strfile.h
909 strops.c strstream.h: Delete.
910
911 * bits/basic_file.h: Stub out or delete unused bits in this
912 interface.
913 (filepos_beg): Remove.
914 (filepos_cur): Remove.
915 (filepos_valid): Remove.
916 * config/c_io_libio.cc: Resynch with the changes to basic_file.
917
918 2000-02-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
919
920 * bits/cpp_type_traits.h: Correct typo.
921
922 2000-02-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
923
924 * bits/cpp_type_traits.h: New file.
925
926 * bits/valarray_array.h: Tweak. #include <bits/cpp_type_traits.h>
927 Improve array construction.
928 (_Array_default_ctor): New dispatcher class.
929 (__valarray_default_construct): New function.
930 (_Array_copy_ctor): New dispatcher class.
931 (__valarray_copy_construct): New function.
932 (_Array<>::free_data): Remove.
933
934 * src/Makefile.am (headers): Add cpp_type_traits.h
935 * src/Makefile.in: Regenerate.
936
937 2000-02-28 Benjamin Kosnik <bkoz@cygnus.com>
938
939 Prune libio directory to match files in libio/Makefile.
940 * libio/PlotFile.cc,indstream.cc, isgetsb.cc, sbform.cc,
941 stream.cc, SFile.cc, ioassign.cc, isscan.cc, sbgetline.cc,
942 streambuf.cc, builtinbuf.cc, ioextend.cc, osform.cc, sbscan.cc,
943 strstream.cc, editbuf.cc, iomanip.cc, parsestream.cc,
944 stdiostream.cc, filebuf.cc, iostream.cc, pfstream.cc,
945 stdstrbufs.cc, fstream.cc, isgetline.cc, procbuf.cc,
946 stdstreams.cc: Remove.
947 * libio/floatio.h, iolibio.h, iostdio.h, iostreamP.h: Remove.
948 * libio/iofflush_u.c: Remove.
949
950 * libio/dbz: Remove.
951 * libio/include: Remove.
952 * libio/stdio: Remove.
953 * libio/tests: Remove.
954 * libio/testsuite: Remove.
955
956 * config/c_io_libio.cc: Add fcntl.h include for Solaris.
957
958 * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add bits.
959 * configure.in: Replace 'grep -e' with 'grep' for Solaris.
960 * configure: Regenerate.
961
962 2000-02-25 Benjamin Kosnik <bkoz@gnu.org>
963
964 Abstract out the underlying "C" io bits.
965 * bits/std_new.h: Remove <stl_config> include, as well as <cstddef>.
966 * stl/bits/stl_string_fwd.h: Remove <stddef> include.
967 * bits/std_cwchar.h: Wrap with _GLIBCPP_USE_WCHAR_T guards. Don't
968 include <cstddef>.
969 * stl/bits/stl_config.h: Don't include _G_config.h.
970
971 * bits/basic_file.h: Allow for non-inheritance based __basic_files.
972 * config/c_io_libio.h (_GLIBCPP_BASIC_FILE_INHERITANCE): Define.
973 * config/c_io_libio.cc: Tweak.
974
975 * src/Makefile.am (TOPLEVEL_INCLUDES): Add includedir.
976 * src/Makefile.in: Regenerate.
977 * Makefile.am (AM_MAKEFLAGS): Define includedir so that
978 prefix/include files will be picked up.
979 * Makefile.in: Regenerate.
980 * math/Makefile.am (TOPLEVEL_INCLUDES): And here.
981 * libio/Makefile.am (TOPLEVEL_INCLUDES): And here.
982
983 * bits/std_ios.h: Include <bits/c++io.h> instead of libio.
984 * bits/fpos.h: And here.
985 * bits/basic_file.h (get_fileno): Move definition from ...
986 * src/basic_file.cc (std): To here.
987 * bits/fpos.h: Move types for streamoff, streampos to..
988 * bits/basic_file.h: Move __c_file_type and fpos typedefs to...
989 * config/c_io_libio.h: ...here.
990 (_GLIBCPP_[BOOLALPHA, HEX, DEC, FIXED, INTERNAL, LEFT, OCT, RIGHT,
991 SCIENTIFIC, SHOWBASE, SHOWPOINT, SHOWPOS, SKIPWS, UNITBUF,
992 UPPERCASE, ADJUSTFIELD, BASEFIELD, FLOATFIELD, BADBIT, EOFBIT,
993 FAILBIT, GOODBIT, APP, ATE, BINARY, IN, OUT, TRUNC): New macros to
994 abstract out bits in ios_base.
995 * bits/ios_base.h: Re-macrofy.
996 * src/basic_file.cc : Rename, move to
997 * config/c_io_libio.cc: Here.
998 * config/c_io_libio.h: New file. Include libio.
999 * bits/c++config.h: Don't define _GLIBCPP_USE_LIBIO.
1000 * configure.in (blddir): Add enabling bits for GLIBCPP_ENABLE_CSTDIO.
1001 * configure: Regenerate.
1002 * src/Makefile.am (sources): Take out basic_file.cc and add c++io.cc.
1003 (generated_headers): Add c++io.h
1004 * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): New function to select
1005 underlying "C" io library.
1006 * acinclude.m4 (GLIBCPP_CHECK_LIBIO): Roll functionality into
1007 GLIBCPP_ENABLE_CSTDIO.
1008
1009 * configure.in: Add configure bits for cross compiling non-newlib
1010 targets. .
1011 GLIBCPP_CHECK_COMPILER_VERSION: Take out this test for this
1012 target, as we assume g++ support is not the limiting factor.
1013 GLIBCPP_CHECK_LIBIO: Same, know we don't need libio.
1014 * configure: Regenerate.
1015
1016 2000-02-22 Benjamin Kosnik <bkoz@cygnus.com>
1017
1018 * Makefile.am (INTERFACE): Define.
1019 * Makefile.in: Regenerate.
1020 * libio/ChangeLog: Add entry.
1021
1022 2000-02-21 Benjamin Kosnik <bkoz@cygnus.com>
1023
1024 * docs/install.html: Update install directions.
1025
1026 * docs/status.html: Fix sidebar to be consistent.
1027 * docs/thanks.html: Same.
1028 * docs/links.html: Same.
1029 * docs/mail.html: Same.
1030 * docs/download.html: Same.
1031
1032 * testsuite/27_io/filebuf.cc: Change BUFSIZ to buffer_size, and
1033 kill the macro BUFSIZ. I think the solaris fails lie elsewhere
1034 however, in the ctype_char_members.cc fail (for instance.)
1035 * testsuite/17_intro/headers.cc: Remove extraneous fails for hosts
1036 that do not have wchar_t enabled.
1037 * testsuite/27_io/ostream_inserter_arith.cc (struct _TestCase):
1038 Same here.
1039 * testsuite/27_io/iostream_objects.cc: And here.
1040
1041 * libio/gen-params (CONFIG_NM): Specifically add in nm as the
1042 default CONFIG_NM.
1043
1044 2000-02-18 Benjamin Kosnik <bkoz@haight.constant.com>
1045 Tom Tromey <tromey@cygnus.com>
1046
1047 * configure.in: Manually add MULTISUBDIR.
1048 * configure: Regenerate.
1049 * src/Makefile.am (MULTISUBDIR): Add the lesser evil of Tom's two
1050 "Eww" hacks to get multilib installs working correctly.
1051 ($(headers): Test for MULTISUBDIR before installing.
1052 * Makefile.am (AM_MAKEFLAGS): Don't define MULTISUBDIR, instead
1053 have configure hack it in.
1054 * Makefile.in: Regenerate.
1055 * acinclude.m4 (GLIBCPP_CXXFLAGS): Tweak wording.
1056 Add enabling bits for native Cygwin ctypes, and other newlib-based
1057 Oses.
1058
1059 2000-02-17 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
1060
1061 * mkc++config (OUT_H): Remove EOF in cygwin.
1062 * acinclude.m4 (LIBS): Tweaks to allow cygwin to configure.
1063
1064 Tom Tromey <tromey@cygnus.com>
1065 * src/Makefile.am: Tweaks for installing multilibs.
1066
1067 2000-02-17 Benjamin Kosnik <bkoz@cygnus.com>
1068
1069 * src/Makefile.am:
1070 (toolexeclib_LTLIBRARIES): Use this instead of lib_LTLIBRARIES.
1071 Add USE_LIBDIR bits here, not...
1072 * src/Makefile.in: Regenerate.
1073 * Makefile.am: ...here.
1074 * Makefile.in: Regenerate.
1075
1076 2000-02-17 Benjamin Kosnik <bkoz@gnu.org>
1077
1078 * acinclude.m4 (LIBS): Fix typos.
1079 * configure.in: _GLIBCPP_BUGGY_FLOAT_COMPLEX,
1080 _GLIBCPP_BUGGY_COMPLEX for crosses.
1081 * src/Makefile.am (std_headers): Add libio.h as install include,
1082 as with _G_config.h
1083 * src/Makefile.in: Regenerate.
1084
1085 * mkcheck.in: Add bits to set CXX to cross compiler.
1086
1087 * src/complex_io.cc: Tweak.
1088 * configure.in: _GLIBCPP_BUGGY_COMPLEX for crosses.
1089 * configure: Regenerate.
1090
1091 * config/newlib/ctype.cc: Tweaks.
1092 * config/newlib/bits/ctype_base.h (ctype_base): Set mask to char,
1093 not const char.
1094 * src/complex_io.cc (operator>>(istream, complex): Define out if
1095 BUGGY_COMPLEX.
1096
1097 2000-02-16 Benjamin Kosnik <bkoz@cygnus.com>
1098
1099 * config/newlib/bits/ctype_base.h: Correct _S_table.
1100
1101 Reconfigure ctype support for "C" libraries that don't use arrays.
1102 * testsuite/22_locale/ctype_char_members.cc: New file. Test for
1103 basic ctype<char> functionality.
1104 * src/locale.cc: Move host-specific ctype functions that are not
1105 inlines to config/*/ctype.cc files.
1106 (ctype<char>::do_tolower): For instance.
1107 (ctype<char>::do_toupper): For instance.
1108 (ctype<wchar_t>::do_tolower): For instance.
1109 (ctype<wchar_t>::do_toupper): For instance.
1110 * config/gnu-linux/ctype.cc: Modify.
1111 * config/default/ctype.cc: Modify.
1112 * config/newlib/ctype.cc: Modify.
1113 * config/solaris/solaris2.6/ctype.cc: Modify.
1114 * config/solaris/solaris2.7/ctype.cc: Modify.
1115
1116 * bits/locale_facets.h (ctype<char>::is): Mark inline, move
1117 out-of-line.
1118 (ctype<char>::scan_is): Here too.
1119 (ctype<char>::scan_not): Here too.
1120 Move out of line defs to config/*/bits/ctype_specializations.h.
1121 * config/gnu-linux/bits/ctype_specializations.h: ...here. New file.
1122 * config/default/bits/ctype_specializations.h: ...here. New file.
1123 * config/newlib/bits/ctype_specializations.h: ...here. New file.
1124 * config/solaris/solaris2.6/bits/ctype_specializations.h: New file.
1125 * config/solaris/solaris2.7/bits/ctype_specializations.h: New file.
1126 * src/Makefile.am (headers): Add ctype_specializations.h.
1127 * src/Makefile.in: Regenerate.
1128
1129 Aaron Weiss <weiss@clearway.com>
1130 * Makefile.am (AM_MAKEFLAGS): Add NM_FOR_BUILD, NM_FOR_TARGET, and
1131 CONFIG_NM for Solaris builds.
1132 * Makefile.in: Regenerate.
1133
1134 * src/locale.cc: Tweak formatting.
1135
1136 2000-02-15 Benjamin Kosnik <bkoz@cygnus.com>
1137
1138 Jim Parsons <parsons@clearway.com>
1139 * testsuite/27_io/istream_unformatted.cc (test06): Add test.
1140 * bits/istream.tcc (read): Set failbit if !good(). Don't increment
1141 gcount if eof.
1142 (readsome): Same.
1143
1144 Michel Decima <michel.decima@cnet.francetelecom.fr>
1145 * testsuite/27_io/streambuf.cc: Add test.
1146 * bits/streambuf.tcc (xsgetn): Don't test for valid mode.
1147 (xsputn): Same.
1148
1149 * src/Makefile.am (AM_CXXFLAGS): Pass down AC_CXXFLAGS,
1150 OPTIMIZE_CXXFLAGS, etc. So --enable-debug and --enable-namespaces
1151 will work correctly, for instance.
1152 * src/Makefile.in: Regenerate.
1153
1154 * bits/locale_facets.h: Fix merge error.
1155 (num_put::put(unsigned long long): And here.
1156 * mknumeric_limits (trait_name): Same.
1157
1158 2000-02-15 Chip Salzenberg <chip@valinux.com>
1159
1160 Support 'configure --enable-long-long'.
1161 * bits/c++config.h (_GLIBCPP_USE_LONG_LONG): Remove.
1162 * stl/bits/stl_config.h (__STL_LONG_LONG): Remove '#if 0'.
1163 * acconfig.h (_GLIBCPP_USE_LONG_LONG): Add. Default to undef.
1164 * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Define flag macro.
1165 * configure.in (GLIBCPP_ENABLE_LONG_LONG): Use it.
1166
1167 * aclocal.m4: Regenerate.
1168 * config.h.in: Regenerate.
1169 * configure: Regenerate.
1170
1171 2000-02-15 Chip Salzenberg <chip@valinux.com>
1172
1173 Improve (complete?) 'long long' support.
1174 * mknumeric_limits: Call $CXX with $CPPFLAGS. Define statics
1175 for {,unsigned} long long if the limits header declares them.
1176 * src/gen-num-limits.cc: Include <bits/c++config.h> early.
1177 (__USE_GNU, _GNU_SOURCE): Define if _GLIBC_USE_LONG_LONG.
1178 (long long, unsigned long long): Gen limits if _GLIBC_USE_LONG_LONG.
1179 * bits/locale_facets.h (num_get<>::get(..., long long &)): Define.
1180 (num_put<>::put(..., long long)): Likewise.
1181 (num_put<>::put(..., unsigned long long)): Likewise.
1182 * bits/locale_facets.tcc (_S_format): Rename from _S_format_long.
1183 Templatize last parameter to support 'long long'.
1184 (num_put<>::put(...)): Call _S_format with new name.
1185 (num_put<>::put(..., long long)): Define.
1186 (num_put<>::put(..., unsigned long long)): Likewise.
1187 * src/locale-inst.cc (_S_format): Instantiate under new name.
1188
1189 2000-02-15 Petter Urkedal <petter@matfys.lth.se>
1190
1191 * src/complex.cc (operator<<, operator>>): Moved from here...
1192 * src/complex_io.cc: ...to new file.
1193 (operator>>): Stub replaced by the real thing.
1194 * src/Makefile.am (sources): Inserted complex_io.cc.
1195 * src/Makefile.in: Regenerate.
1196 * testsuite/26_numerics/complex_inserters_extractors.cc: Check it.
1197
1198 2000-02-14 Benjamin Kosnik <bkoz@gnu.org>
1199
1200 Add in ctype information for newlib "C" libraries.
1201 * config/newlib: New directory
1202 * config/newlib/bits/ctype_base.h: New file.
1203 * config/newlib/ctype.cc: New file.
1204
1205 * ctype/config/linux/*: Rename, move to...
1206 * ctype/config/gnu-linux/*: Here.
1207
1208 Finish off multilib work.
1209 * configure.in: Don't set CXX if not Canadian cross.
1210 * configure: Regenerate.
1211 * acinclude.m4 (GLIBCPP_CHECK_LIBIO): Tweak messages.
1212 * aclocal.m4: Regenerate.
1213 * config.h.in: Regenerate.
1214
1215 * install-sh: Remove, as AC_CONFIG_AUX_DIR(..) picks this out of
1216 the top-level gcc directory now.
1217 * mkinstalldirs: Remove.
1218 * missing: Remove
1219 * ltconfig: Remove.
1220 * ltmain.sh: Remove.
1221 * config.guess: Remove.
1222 * config.sub: Remove.
1223
1224 2000-02-13 Benjamin Kosnik <bkoz@cygnus.com>
1225
1226 * configure.in (glibcpp_basedir): Add glibcpp_basedir.
1227 * Makefile.am: Move mutlilib stuff to src/Makefile.am.
1228 * Makefile.in: Regenerate.
1229 * src/Makefile.am: Add multilib bits.
1230 * src/Makefile.in: Regenerate.
1231
1232 2000-02-12 Benjamin Kosnik <bkoz@cygnus.com>
1233
1234 * configure.in: Clean, add some multilib support.
1235 * configure: Regenerate.
1236 * configure.host: New file.
1237
1238 * acinclude.m4: GLIBCPP_CHECK_LIBIO. Take bits from configure.in and
1239 roll a new function, checks for presence of libio.
1240 GLIBCPP_CHECK_COMPILER_VERSION: Same.
1241 GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT: Same.
1242 GLIBCPP_CHECK_MATH_SUPPORT: Same.
1243 GLIBCPP_CHECK_WCHAR_T_SUPPORT: Same.
1244 GLIBCPP_CHECK_LIBIO: Same.
1245 GLIBCPP_CHECK_CTYPE: Same.
1246 * aclocal.m4: Regenerate.
1247 * config.h.in: Regenerate.
1248
1249 * Makefile.am: Tweaks.
1250 * Makefile.in: Regenerate.
1251
1252 2000-02-11 Benjamin Kosnik <bkoz@cygnus.com>
1253
1254 * configure.in: Make outputing the libio/Makefile
1255 conditional. Haha, yeah right. Anyway, we instead do this thing
1256 where if libio is found, then we build a null library, as there is
1257 no point in duplicating the found libio.
1258 * Makefile.am: Tweak.
1259 * Makefile: Regenerate.
1260 * libio/Makefile.am: Add _G_config.h stuff. Now cross compilers
1261 are happy happy happy.
1262 * libio/Makefile.am: Regenerate.
1263 * libio/gen-params: New file.
1264 * src/Makefile.am: Make libio.la non-conditional, as it is now a
1265 null library if it's not needed. At least we are being consistent,
1266 if not as elegant as we could be.
1267 * src/Makefile: Regenerate.
1268
1269 2000-02-10 Benjamin Kosnik <bkoz@gnu.org>
1270
1271 * Makefile.am (SUBDIRS): Add libio again.
1272 * Makefile.in: Regenerate.
1273 * configure.in (BUILD_LIBIO_INCLUDE): And here.
1274 (AC_OUTPUT): Generate libio/Makefile again.
1275 * configure: Regnerate.
1276 * src/Makefile.am (libstdc___la_LIBADD): Change path so that
1277 libio.la is referring back to the libio subdir again.
1278 (LIBIO_INCLUDES): And here.
1279 * src/Makefile.in: Regenerate.
1280
1281 2000-02-09 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
1282
1283 * math/complex-stub.h: Missed one. Change __mycabs* to cabs*.
1284
1285 2000-02-09 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1286
1287 * bits/valarray_array.h (<bits/std_new.h>): #include.
1288 (__valarray_get_memory): New function.
1289 (__valarray_release_memory): Likewise.
1290 (__valarray_default_construct): New functions.
1291 (__valarray_fill_construct): New function.
1292 (__valarray_copy_construct): New funstions.
1293 (__valarray_destroy_elements): New function.
1294
1295 * bits/valarray_array.tcc (__valarray_copy_construct): New
1296 functions.
1297
1298 * bits/std_valarray.h (valarray<>::valarray): Use
1299 __valarray_get_memory and __valarray_fill_construct,
1300 __valarray_copy_construct, __valarray_default_construct to
1301 properly construct valarrays.
1302 (valarray<>::~valarray): Use __valarray_destroy_elements to
1303 destroy elements and __valarray_release_memory to return memory.
1304 (valarray<>::shift): Tweak.
1305 (valarray<>::cshift): Likewise.
1306 (valarray<>::resize): Robustify.
1307
1308 2000-02-09 Benjamin Kosnik <bkoz@cygnus.com>
1309
1310 * mknumeric_limits (XCOMPILE): Add support for cross compiling.
1311 * bits/limits_generic.h: New file, defaults.
1312 * src/limits_generic.cc: New file, defaults.
1313 * configure.in (LIBS): Run mknumeric_limits at configure time.
1314 * acconfig.h: Remove PACKAGE VERSION HAVE_COMPLEX
1315 HAVE_LC_MESSAGES, tidy, clean, etc.
1316 * src/Makefile.am (geberated_sources): Remove.
1317
1318 * bits/fpos.h: Use _GLIBCPP_USE_LIBIO guards for libio typenames
1319 (_IO_off_t, _IO_ssize_t)
1320
1321 * src/complex.cc: Use glibc's <complex.h> if
1322 possible. . . apparently this was not being done before. Include
1323 tweaks.
1324 (abs): Enable cabs if it's around, instead of mycabs.
1325 * src/complexf.cc (FCT): Add global scope to match complex.cc.
1326 * src/complexl.cc (FCT): Same.
1327 * math/Makefile.am (EXTRA_LONG_DOUBLE_yes): Change mycabsl to cabsl.
1328 (libmath_la_SOURCES): And here.
1329 * math/(mycabs.c, mycabsf.c, mycabsl.c): Move to. . .
1330 * math/(cabs.c, cabsf.c, cabsl.c): . . . Here.
1331 * math/complex-stub.h: Move c_log declarations into. . .
1332 * math/mathconf.h: Here. This is because glibc's <complex.h>
1333 declares cclog, not c_log. The case of the dueling standards. . .
1334 * math/mathconf.h: Add _GLIBCPP_HAVE_* to macros.
1335 * math/Makefile.am: Change.
1336 * math/nan.c (nan): Change signature.
1337 * math/mathconf.h (NAN): Same.
1338 * math/complex-stub.h (nan): And here.
1339
1340 * Makefile.am (rebuild-stamp): Remove libio and libio
1341 dependancies. Plan to take out libio subdir and just merge with
1342 libio in top level gcc directory. Of course, this assumes there is
1343 a libio in the top level directory (ie ../src_dir). This will
1344 probably change the way this library is configured by default.
1345 * libio/*: Remove.
1346
1347 2000-02-09 Chip Salzenberg <chip@valinux.com>
1348
1349 * localefwd.h (locale): Make public: facet, id, category.
1350
1351 2000-02-09 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1352
1353 * testsuite/26_numerics/buggy_complex.cc: Fix Origin:.
1354
1355 * acinclude.m4: Patch only once!
1356
1357 2000-02-09 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1358
1359 * testsuite/26_numerics/buggy_complex.cc: New file.
1360
1361 2000-02-05 Petter Urkedal <petter@matfys.lth.se>
1362
1363 * acinclude.m4: New GLIBCPP_CHECK_COMPLEX_SUPPORT macro. Based
1364 on the 1999-11-21 entries by Mumit Khan.
1365 * configure.in: Use.
1366 * acconfig.h: New _GLIBCPP_BUGGY_COMPLEX macro.
1367 * bits/std_complex.h: Use.
1368
1369 2000-02-04 Philip Martin <pm@corris.dircon.co.uk>
1370
1371 * stl/bits/stl_algobase.h: Add traits based dispatch for
1372 __normal_iterator in the copy_backward()algorithm
1373 * stl/bits/stl_vector.h: Reduce use of __normal_iterator
1374 base() function.
1375
1376 2000-02-04 Mumit Khan <khan@xraylith.wisc.edu>
1377
1378 * src/gen-num-limits.cc (signal_handler): Work around signal
1379 handling problem on Cygwin.
1380 Thanks to Chris Faylor <cgf@cygnus.com>.
1381
1382 2000-02-03 Benjamin Kosnik <bkoz@cygnus.com>
1383
1384 * configure.in: Add (preliminary) support for cross compiles and
1385 multilibs.
1386 Remove AC_C_BIGENDIAN tests. Why is this necessary? Cross
1387 compilation freaks on this.
1388 * configure: Regenerate.
1389 * src/Makefile.am: Add support for cross compiles.
1390 * src/Makefile: Regenerate.
1391 * Makefile.am: Add support for cross compiles.
1392 * Makefile.in: Regenerate.
1393
1394 2000-02-02 Benjamin Kosnik <bkoz@cygnus.com>
1395
1396 * configure.in (LIBS): Remove unused subdirs.
1397 * configure: Regenerate.
1398 * Makefile.am (SUBDIRS): And here.
1399 * Makefile.in: Regenerate.
1400 * src/Makefile.am (sources): And here.
1401 * src/Makefile.in: Regenerate.
1402 * string/*: Remove.
1403 * amm1/*: Remove.
1404 * generic/*: Remove.
1405 * glibc/*: Remove.
1406 * mkcheck.in (INC_PATH): Include $BUILD_DIR before any source dirs.
1407
1408 * libtool: Update to libtool-1.3.4.
1409 * ltconfig: Same
1410 * ltmain.sh: Same
1411 * config.sub: Same.
1412 * config.guess: Same.
1413
1414 2000-02-02 Benjamin Kosnik <bkoz@cygnus.com>
1415 Alexandre Petit-Bianco <apbianco@cygnus.com>
1416
1417 * mkc++config: New file. Put autoconf macros into _GLIBCPP_
1418 namespace instead of polluting global namespace with duplicate
1419 autoconf output.
1420 * configure.in (AC_OUTPUT): Don't need to generate bits/config.h
1421 here anymore. . .
1422 (AC_OUTPUT_COMMANDS): Make it here.
1423 * configure: Regenerate.
1424 * bits/c++config.h.in (_CPP_CPPCONFIG): Change. Tweak. Remove
1425 endif, as now we will add it manually.
1426 Move to this file. . .
1427 * bits/c++config.h: New file. Same as old c++config.h.in except
1428 the ending macro guard is now appended manually.
1429
1430 * bits/locale_facets.tcc: Change HAVE_* macros to _GLIBCPP_HAVE_*.
1431 * bits/std_cmath.h: Same here.
1432 * bits/std_cwchar.h: And here.
1433 * src/locale.cc: And here.
1434 * src/complexl.cc: And here.
1435 * math/mathconf.h: Change to include "config.h" instead of
1436 bits/c++config.h.
1437
1438 2000-02-01 Benjamin Kosnik <bkoz@gnu.org>
1439
1440 * configure.in: Add support for threads. Try a model closer to
1441 libjava, as hopefully if the thread bits are added carefully
1442 enough, the source code will not have gross hacks. Besides, the
1443 libstdc++-v2 model could be easily emulated without the necessity
1444 of linking files in (as currently done)--all that needs to be done
1445 is AC_DEFINE(-D_PTHREADS) etc. However, let's try something
1446 new. . . and see if we arrive at a more elegant solution.
1447 * configure: Regenerated.
1448 * config/threads-no.h: New file.
1449 * config/threads-posix.h: New file.
1450 * src/Makefile.am (myinstallheaders): Install c++threads.h.
1451 * src/Makefile.in: Regenerated.
1452
1453 2000-01-31 Benjamin Kosnik <bkoz@gnu.org>
1454
1455 META-QUESTION: Can we just make a "header.html" file and a
1456 "footer.html" and just include them in all the doc sub-pages. The
1457 duplication of the header info is kind of gross, and weak
1458 considering that if you change order or layout then all this stuff
1459 has to be changed in all the sub-files.
1460
1461 * docs/17_intro/contribute.html: Take out duplicate file info.
1462 * README: Should just contain a link to the docs/index.html
1463 page. Duplicate information removed.
1464 * docs/faq/index.html: Remove indexes into HOWTOS.
1465 * docs/17_intro/howto.html: Make intro and docs part more
1466 centralized. Move intro stuff to documentation.html.
1467 * docs/how.html: Tweak. Does this file need to exist? What calls it?
1468 * docs/README.html: Move documentation files to
1469 documentation.html. Should this file be renamed
1470 "config_and_install.html" as that is what is apparently covered
1471 here. . .
1472 * docs/install.html: Yes. New file, moved and renamed README.html.
1473 * docs/documentation.html: New file. This is the index file for
1474 the documentation.
1475 * docs/index.html: Edit sidebar order. Insert new link to new
1476 documentation spine, documentation.html.
1477
1478 2000-01-31 Scott Snyder <snyder@fnal.gov>
1479
1480 * bits/istream.tcc (operator>>(istream&, string&)): Set failbit if
1481 we don't extract any characters.
1482 * testsuite/21_strings/inserters_extractors.cc (main): New tests.
1483
1484 2000-01-31 Anders Widell <awl@hem.passagen.se>
1485
1486 * stl/bits/std_bitset.h (_M_do_left_shift): Handle case when shift
1487 step is a multiple of the word size.
1488 (_M_do_right_shift): Same.
1489 * testsuite/23_containers/bitset_shift.cc: New file.
1490
1491 2000-01-31 Nathan Myers <ncm@zembu.com>
1492
1493 * README (Documentation): Add path info, fix typos.
1494
1495 2000-01-26 Benjamin Kosnik <bkoz@redhat.com>
1496
1497 * bits/locale_facets.tcc (num_get::_M_extract): Add the freaking
1498 crazy group checking for numpunct, for real this time. At some
1499 point, the local variable __grp should probably get replaced a
1500 char array, or something a bit more lightweight.
1501 (num_get::do_get(bool)): Simplify. Don't set bool reference to
1502 parsed value unless err isn't failbit.
1503 (num_get::do_get(*)): Same, make consistent.
1504
1505 Nathan Myers <ncm@zembu.com>
1506 Jim Parsons <parsons@clearway.com>
1507 * testsuite/27_io/istream_extractor_arith.cc (test08): Add
1508 more grouping tests, tweak, scold, wine.
1509
1510 2000-01-24 Benjamin Kosnik <bkoz@gnu.org>
1511
1512 * testsuite/27_io/istream_extractor_arith.cc (test07): Add
1513 grouping tests.
1514 * bits/locale_facets.tcc (num_get::_M_extract): Change to fix
1515 grouping bugs. Only allow thousands_sep if _M_use_groupings is
1516 true.
1517
1518 via <llewelly@198.dsl.xmission.com>
1519 * stl/bits/stl_vector.h (vector::_M_range_check): Throw
1520 out_of_range instead of range_error.
1521
1522 2000-01-17 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1523
1524 * bits/std_iomanip.h (setw): Fix typo.
1525
1526 2000-01-14 Benjamin Kosnik <bkoz@gnu.org>
1527
1528 * testsuite/27_io/istream_extractor_arith.cc: Fix.
1529 * bits/locale_facets.tcc (do_get(...void)): Change to strtoul.
1530 * testsuite/27_io/istream_unformatted.cc (test04): Tweak.
1531
1532 2000-01-14 Phil Edwards <pme@sourceware.cygnus.com>
1533
1534 * docs/README.html: Reformat, more installation instructions.
1535 * docs/gccrebuild.html: New file.
1536 * docs/faq/index.html: Update for new testsuite output filenames.
1537 * docs/faq/index.txt: Regenerate.
1538
1539 2000-01-14 Phil Edwards <pme@sourceware.cygnus.com>
1540
1541 * Makefile.am (rebuild-stamp, all-local): New targets.
1542 * Makefile.in: Regenerated.
1543 * acinclude.m4: New macro, GLIBCPP_ENABLE_RELIBGCC.
1544 * aclocal.m4: Regenerated.
1545 * configure.in: Call new macro. Also do some sanity checks
1546 for combinations of --enable's that may not make sense.
1547 * configure: Regenerated.
1548
1549 2000-01-13 Benjamin Kosnik <bkoz@cygnus.com>
1550
1551 * testsuite/27_io/istream_extractor_arith.cc: Add checks for void*.
1552 * bits/locale_facets.tcc (do_get::(...void)): Set fmtflags
1553 correctly for hex-formatted input.
1554
1555 * testsuite/27_io/istream_manip.cc (test01): Fix, as per setting
1556 eofbit instead of eofbit | failbit.
1557 * testsuite/27_io/istream_unformatted.cc (test04): Fix, as
1558 ifstreams now are opened or'd with ios_base::in (as is correct).
1559 * bits/fstream.tcc (filebuf::seekoff): Simplify.
1560 * testsuite/27_io/ios_base_members_static.cc (test01): Fix thinko.
1561
1562 2000-01-12 Benjamin Kosnik <bkoz@gnu.org>
1563
1564 * bits/std_fstream.h: Add ios_base as a friend to basic_filebuf.
1565 * bits/basic_file.h (basic_file::filepos_cur): Remove incorrect
1566 (misleading) code.
1567 (__basic_file::filepos_valid): Same.
1568 (__basic_file::filepos_beg): Same.
1569 (__baseic_file::get_fileno): New function.
1570 * bits/ios_base.h (ios_base::sync_with_stdio): Implement, including
1571 feedback from LWG 49.
1572 * src/ios.cc: Move definition here.
1573 * testsuite/27_io/ios_base_members_static.cc (test01): Add tests.
1574
1575 * bits/std_sstream.h (_M_really_sync): Simplify argument list. Set
1576 output part of internal buffer based on string size, so that
1577 _M_out_end is set consistently with filebufs. Correct comments.
1578 * bits/sstream.tcc (stringbuf::overflow): Update here too.
1579 * testsuite/27_io/stringbuf.cc: Changes.
1580
1581 2000-01-11 Benjamin Kosnik <bkoz@gnu.org>
1582
1583 * bits/sstream.tcc (seekoff): Set based on end of written buffer,
1584 not buffer size.
1585 * testsuite/27_io/stringbuf.cc: Add tests for seekoff(end).
1586
1587 * bits/std_fstream.h (ifstream::open): Add ios_base::in to openmode.
1588 (ofstream::open): Add ios_base::out to openmode.
1589
1590 * bits/locale_facets.tcc (_M_extract): Have consistency between
1591 istream::sentry and extractors, where failbit | eofbit is
1592 set. Don't change this, but instead change. . (do some formatting
1593 tweaks.)
1594 * bits/istream.tcc (istream::sentry): Only set eofbit.
1595
1596 2000-01-10 Benjamin Kosnik <bkoz@gnu.org>
1597
1598 * testsuite/27_io/istringstream_members.cc: New file.
1599
1600 2000-01-09 Benjamin Kosnik <bkoz@gnu.org>
1601
1602 * bits/istream.tcc (istream::sentry): Flush.
1603
1604 * configure.in (AC_OUTPUT_COMMANDS): Simplify.
1605 * configure: Regenerate.
1606 * src/Makefile.am (generated_headers): Remove bits/c++config.h so
1607 that make clean will not delete it.
1608 * src/Makefile: Regenerate.
1609
1610 2000-01-07 Phil Edwards <pme@sourceware.cygnus.com>
1611
1612 * mkcheck.in: Use host-specific invocation of size(1);
1613 GNU binutils isn't necessarily there (more's the pity).
1614
1615 2000-01-06 Benjamin Kosnik <bkoz@cygnus.com>
1616
1617 * configure.in (LIBS): Better tests for solaris2.6.
1618 * configure: Regenerate.
1619
1620 <vakatov@ncbi.nlm.nih.gov>
1621 * bits/std_sstream.h: As per libstdc++20.
1622
1623 2000-01-06 Benjamin Kosnik <bkoz@gnu.org>
1624
1625 Break out configuration on solaris.
1626 * configure.in (ctype_solaris): Add in bits for solaris2.6 and 2.7.
1627 * config/solaris/ctype.cc: Delete and move to proper version.
1628 * config/solaris/bits: Same.
1629 * config/solaris/solaris2.5: Add this directory, with subdir bits
1630 and file ctype.cc. Probably doesn't work.
1631 * config/solaris/solaris2.6: Same.
1632 * config/solaris/solaris2.7: Same, as per specs via Phil Edwards.
1633
1634 * Makefile.am: Change paths to mkcheck.
1635 * Makefile: Regenerate.
1636 * configure.in (AC_OUTPUT_COMMANDS): Build mkcheck here.
1637 * configure: Regenerate.
1638 * src/Makefile.am (generated_headers): Add bits/c++config.h.
1639
1640 * mkcheck: Now autogenerated by configure and renamed. . .
1641 * mkcheck.in (INC_PATH): Add glue for ctype_include_dir.
1642 Have longer-style dates.
1643 Raja R Harinath <harinath@cs.umn.edu>
1644 * mkcheck: Change path to #!/usr/clocal/bin/bash.
1645
1646 * docs/README.html: Correct links, maybe. FAQ, install notes, and
1647 general documentation need to be organized around each other, not
1648 fight against each other. . .
1649
1650 2000-01-04 Phil Edwards <pme@sourceware.cygnus.com>
1651 Nicolai Josuttis <nicolai.josuttis@braunschweig.netsurf.de>
1652
1653 * README: Add a note referring to README.html.
1654 * docs/README.html: New file from Nicolai.
1655 * docs/faq/index.html: Move "how to get a copy" to here.
1656 * docs/gentop/footchunk.html: Update.
1657 * docs/gentop/headchunk.html: New links according to
1658 bkoz's idea for "How to..." stuff.
1659 * docs/gentop/thanks: Actually put people here.
1660 * docs/download.html: Regenerated.
1661 * docs/index.html, docs/links.html, docs/mail.html,
1662 docs/status.html, docs/thanks.html, docs/faq/index.txt: Ditto.
1663 * docs/how.html: Ditto. (This file should go away soon.)
1664
1665 1999-12-26 Phil Edwards <pme@sourceware.cygnus.com>
1666
1667 * docs/gentop/status: Add snapshot version column, update
1668 for Solaris 7.
1669 * docs/status.html: Regenerated.
1670
1671 1999-12-26 Phil Edwards <pme@sourceware.cygnus.com>
1672
1673 * docs/faq/index.html: Turn README and RELEASE-NOTES into links
1674 from installation FAQ, and specify location of text files.
1675 * docs/faq/index.txt: Regenerated.
1676
1677 1999-12-23 Phil Edwards <pme@sourceware.cygnus.com>
1678
1679 * docs/gentop/download: Add links to prebuilds for Cygwin/Mingw32.
1680 * docs/download.html: Regenerated.
1681
1682 1999-12-22 Phil Edwards <pme@sourceware.cygnus.com>
1683
1684 * docs/faq/index.html: Update 'what works' for .7 snapshot,
1685 clean up various links.
1686 * docs/faq/index.txt: Regenerated.
1687 * docs/gentop/gentop: Smarter regeneration script.
1688 * docs/gentop/{head,foot}chunk.html: Updated with new
1689 contributors link and mod date.
1690 * docs/gentop/index: Snapshot relase date.
1691 * docs/gentop/thanks: New contributors page added.
1692 * docs/{download,how,index,links,mail,status,thanks}.html:
1693 Regenerated from gentop; thanks.html created.
1694
1695 1999-12-21 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
1696
1697 * bits/c++config.h.in (__GLIBCPP__): 19991221.
1698 * docs/index.html: Add correct information.
1699
1700 * config/irix: New directory.
1701 * config/irix/ctype.cc: Add irix-6.5 info. Not tested.
1702 * config/irix/bits/ctype_base.h: And here.
1703
1704 * config/aix: New directory.
1705 * config/aix/ctype.cc: Add aix-4.2 info. Not tested.
1706 * config/aix/bits/ctype_base.h: And here.
1707
1708 1999-12-21 Philip Martin <pm@corris.dircon.co.uk>
1709
1710 * bits/basic_string.h: Add special case handling for integral
1711 "iterators".
1712 * bits/std_string.h: include type_traits.h
1713 * testsuite/21_strings/ctor_copy_dtor.cc: Tweak.
1714
1715 1999-12-21 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
1716
1717 * bits/fstream.tcc (seekoff): Output buffer based on _M_*_in and
1718 _M_*_end now.
1719 * bits/std_fstream.h (sync): And here.
1720 * testsuite/27_io/filebuf.cc: Revisions.
1721 * testsuite/27_io/filebuf-2.tst: Correct, remove weird character
1722 at the end of the file.
1723 * testsuite/27_io/filebuf-3.tst: Correct.
1724
1725 1999-12-21 Phil Edwards <pedwards@jaj.com>
1726
1727 * docs/gentop/index: Hold off on .7 announcement date.
1728 * docs/index.html: Regenerate.
1729
1730 1999-12-21 Benjamin Kosnik <bkoz@kcygnus.com>
1731
1732 * bits/std_fstream.h (sync): Move _M_file->sync() to
1733 _M_really_overflow().
1734 * bits/fstream.tcc (seekoff): Call sync, not _M_really_overflow so
1735 as to get the _M_file->sync action, which forces the external
1736 buffer to update itself.
1737 (underflow): Same here.
1738
1739 1999-12-21 Phil Edwards <pedwards@jaj.com>
1740
1741 * bits/c++config.h.in: Uncomment _GLIBCPP_USE_NAMESPACES and move...
1742 * acconfig.h: ...to here.
1743 * config.h.in: Regenerate from aclocal.
1744 * acinclude.m4: Add GLIBCPP_ENABLE_DEBUG, GLIBCPP_ENABLE_NAMESPACES.
1745 * aclocal.m4: Regenerate from acinclude.
1746 * configure.in: Use ENABLE macros here.
1747 * configure: Regenerate.
1748 * src/Makefile.am: Use results from ENABLE macros.
1749 * src/Makefile.in: Regenerate.
1750
1751 1999-12-20 Benjamin Kosnik <bkoz@cygnus.com>
1752
1753 * mkcheck (SRC_DIR): Now have to include config/* dir if "make
1754 check" and not "make check-install." Temporarily hack in linux
1755 support.
1756
1757 * bits/std_streambuf.h: Tweaks.
1758 * bits/streambuf.tcc (xsgetn): Tweaks.
1759 * bits/std_fstream.h (sync): Make _M_really_overflow consistent.
1760 * bits/fstream.tcc (filebuf::underflow): Simplify.
1761 * bits/std_sstream.h (streambuf::underflow): Minor change to make
1762 checks for read position precisely implement the standard.
1763 * bits/basic_file.h (filepos_cur): Base this on _offset.
1764 * testsuite/21_strings/inserters_extractors.cc (test05): Tweaks.
1765 * testsuite/27_io/filebuf.cc: Tweak.
1766
1767 1999-12-20 Benjamin Kosnik <bkoz@cygnus.com>
1768
1769 * docs/17_intro/RELEASE-NOTES: Fix typos.
1770
1771 * bits/locale_facets.h (ctype): Modify, use __to_type to abstract
1772 out platform-specific bits.
1773 * config/default/ctype.cc: And here.
1774 * config/defaults/bits/ctype_base.h: And here.
1775 * config/linux/ctype.cc: And here.
1776 * config/linux/bits/ctype_base.h (ctype_base): And here.
1777 * config/solaris/bits/ctype_base.h (ctype_base): Add
1778 __to_type. Comment, as it looks like this is for solaris2.6 and
1779 above: solaris2.5.1 doesn't seem to have the same definitions.
1780 * config/solaris/ctype.cc: And here.
1781
1782 1999-12-19 Benjamin Kosnik <bkoz@cygnus.com>
1783 Ulrich Drepper <drepper@cygnus.com>
1784
1785 * acconfig.h: Remove _GLIBCPP_USE_CTYPE_ISBIT.
1786
1787 * src/locale.cc: Take out platform-specific hacks.
1788 * config/linux/ctype.cc: Put here.
1789 * config/solaris/ctype.cc: Put here.
1790 * config/default/ctype.cc: Put here.
1791
1792 * bits/locale_facets.h: Take out platform-specific hacks.
1793 * config/linux/bits/ctype_base.h: Put here.
1794 * config/solaris/bits/ctype_base.h: Put here.
1795 * config/default/bits/ctype_base.h: Put here.
1796
1797 * configure.in: Bump version.
1798 Add tests for top-level config directory.
1799 * configure: Regenerated.
1800 * src/Makefile.am (INCLUDES): Add platform-specific dir.
1801 * src/Makefile: Regenerate.
1802
1803 1999-12-19 Benjamin Kosnik <bkoz@cygnus.com>
1804 Ulrich Drepper <drepper@cygnus.com>
1805
1806 * bits/locale_facets.h: Hack in solaris support.
1807 * src/locale.cc: Here too.
1808
1809 1999-12-18 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1810
1811 * docs/17_intro/TODO: Update
1812 * docs/17_intro/RELEASE-NOTES (New): Update.
1813
1814 1999-12-17 Benjamin Kosnik <bkoz@milou.cygnus.com>
1815
1816 * bits/c++config.h.in (__GLIBCPP__): Bump.
1817 * docs/17_intro/RELEASE-NOTES: Update, Gaby please add your stuff.
1818 * docs/17_intro/TODO: Update.
1819
1820 * bits/locale_facets.h: Touch this too.
1821 * bits/localefwd.h: Add typedefs for loooooong vector names.
1822 * bits/locale_facets.tcc (locale::operator()): Need parens.
1823 (has_facet): Simplify.
1824 * src/locale-inst.cc: Add instantiations.
1825 * src/locale.cc: Tweaks.
1826
1827 * bits/std_streambuf.h: Move indeterminates into. .
1828 * bits/std_fstream.h: Here.
1829 * bits/fstream.tcc (underflow): Rewind just for ios_base::out
1830 streams.
1831 * bits/sstream.tcc: Very minor formatting tweaks.
1832 * bits/std_streambuf.h (_M_set_determinate): If exclusively an
1833 input buffer, set _M_buf to offset.
1834 * bits/istream.tcc (std): Tweaks.
1835 * testsuite/27_io/istream_unformatted.cc (test05): More tweaks,
1836 include fstream.
1837 * testsuite/27_io/filebuf.cc: Tweaks.
1838
1839 1999-12-17 Phil Edwards <pedwards@jaj.com>
1840
1841 * configure.in: Add OPTLEVEL, -O2 for gcc 2.96+, nothing otherwise.
1842 * configure: Regenerate.
1843 * src/Makefile.am: Use OPTLEVEL in CXXFLAGS.
1844 * src/Makefile.in: Regenerate. Also picks up OTHER_CXXFLAGS rename
1845 to OPTIMIZE_CXXFLAGS from a previous revision (1.96) to Makefile.am.
1846
1847 1999-12-17 Phil Edwards <pedwards@jaj.com>
1848
1849 * docs/21_strings/stringtok_std_h.txt: New algorithm
1850 suggested by Chris King.
1851 * docs/21_strings/howto.html: Link to new version.
1852
1853 1999-12-16 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1854
1855 * bits/valarray_array.h (__valarray_sum): Use operator+=, not
1856 operator+.
1857 * docs/17_intro/TODO: Update.
1858
1859 1999-12-15 Phil Edwards <pme@sourceware.cygnus.com>
1860
1861 * docs/gentop/footchunk.html: Updated, fixed CRLFs.
1862 * docs/gentop/gentop: Ditto.
1863 * docs/gentop/headchunk.html: Ditto.
1864 * docs/*.html: Regenerated from gentop.
1865 * docs/*/howto.html: Updated as test.
1866 * docs/faq/index.html: Updated, fixed CRLFs.
1867 * docs/faq/index.txt: Regenerated.
1868
1869 1999-12-15 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1870
1871 * mknumeric_limits (OUT_C): restart only if $OUT_C is present.
1872
1873 * bits/std_complex.h
1874 (complex<float>::complex(const complex<double>&),
1875 complex<float>::complex(const complex<long double>&)): Define.
1876
1877 * docs/17_intro/TODO: Update.
1878
1879 1999-12-13 Benjamin Kosnik <bkoz@cygnus.com>
1880
1881 * bits/istream.tcc (seekg): Don't set _M_gcount.
1882 (tellg): Same.
1883 * bits/fstream.tcc (filebuf::underflow): Re-sync
1884 external byte sequence's input buffer only. . .
1885 * testsuite/27_io/istream_unformatted.cc (test04): New tests for
1886 tellg, seekg and filebufs.
1887 (test05): Same for stringbufs.
1888 * testsuite/27_io/istream_unformatted-2.tst: New file.
1889 * testsuite/27_io/istream_unformatted-1.tst: New file.
1890 * testsuite/27_io/istream_unformatted-1.txt: New file.
1891 * testsuite/21_strings/inserters_extractors.cc (test05): Change
1892 output file.
1893
1894 1999-12-13 Phil Edwards <pedwards@jaj.com>
1895
1896 * docs/gentop/*: New directory, containing bits for the homepages.
1897 * docs/*.html: Regenerated from gentop.
1898 * docs/*/*.html: Entries added and regenerated.
1899
1900 1999-12-13 Benjamin Kosnik <bkoz@gnu.org>
1901
1902 Efforts to get -O2 to work with -Winline -Werrors.
1903 * bits/valarray_array.h (__valarray_fill(_Tp*, size_t, const
1904 _Tp&): Remove inline declaration, as cannot be inlined and
1905 -Winline -Werror complains. An interesting question is why this
1906 cannot be inlined, as I can see no real reason to disqualify it.
1907 (__valarray_product(const _Tp*, const _Tp*)): Same here.
1908 * bits/std_valarray.h (valarray::operator[](size_t)): Same here.
1909
1910 * docs/17_intro/TODO: Update.
1911
1912 1999-12-12 Benjamin Kosnik <bkoz@gnu.org>
1913
1914 * bits/std_fstream.h (seekpos): Tweaks, fixes. Move definition to
1915 fstream.tcc.
1916 * bits/basic_file.h (filepos_cur()): Make pointers themselves be
1917 the resultant position.
1918 * bits/fstream.tcc (seekoff): Explicitly set return value to
1919 resultant external byte sequence position, not value returned from
1920 _M_file->seekoff. Need to make
1921 (seekpos): New definition.
1922
1923 * bits/istream.tcc (seekg): As per Library Issues List 136, set to
1924 just istream. Necessary, or else tellg will give an invalid stream
1925 position, but seekg will return a valid stream position, which is
1926 not groovy: see testcase addition.
1927 * bits/ostream.tcc (seekp): Same.
1928
1929 * bits/streambuf.tcc (_S_copy_streambufs): Simplify.
1930 * bits/sstream.tcc: Tweaks.
1931 * bits/locale_facets.tcc: Tweaks.
1932 (num_put::do_put(iter_type, ios_base, char_type, const void*)):
1933 Re-write in a way that is easier for the inliner to work with.
1934 * bits/ios_base.h: Use explicit static_cast<int>(...) notation.
1935
1936 1999-12-10 Benjamin Kosnik <bkoz@cygnus.com>
1937
1938 * bits/locale_facets.tcc: Tweaks.
1939 * bits/locale_facets.h (use_facet): Can't inline, remove inline
1940 from declaration.
1941 * bits/localefwd.h: And here.
1942 * bits/std_ostream.h: Tweaks, sentry ctor can't be inlined.
1943 * bits/ostream.tcc: Put here.
1944
1945 Frank Ch. Eigler <fche@cygnus.com>
1946 * src/Makefile.am: Adjust CXXFLAGS, add AM_CXXFLAGS.
1947
1948 1999-12-08 Benjamin Kosnik <bkoz@cygnus.com>
1949
1950 * bits/sstream.tcc (stringbuf::seekoff): Long overdue revamp. Make
1951 in and out buffers update independantly.
1952
1953 * bits/basic_ios.h: Minor formatting.
1954 * bits/fstream.tcc (std): Fix indentation.
1955
1956 1999-12-08 Chip Salzenberg <chip@valinux.com>
1957
1958 * bits/char_traits.h (char_traits<>): Move not_eof() functions
1959 after corresponding eof() functions, so they're easier for the
1960 compiler to inline.
1961 * bits/locale_facets.h (money_base::__default_pattern): Move
1962 static variable out of inline functions.
1963 (_Moneypunct<>::do_{pos,neg}_format): Use it.
1964 * src/locale-inst.cc (money_base::__default_pattern): Define it.
1965
1966 1999-12-08 Benjamin Kosnik <bkoz@cygnus.com>
1967
1968 * bits/std_fstream.h (filebuf::open): Tweak.
1969 * bits/fstream.tcc (filebuf::seekoff): Simplify, fix.
1970 * bits/std_ios.h: Minor tweaks for headers.
1971
1972 1999-12-06 Benjamin Kosnik <bkoz@gnu.org>
1973
1974 * bits/c++config.h.in (_GLIBCPP_FULLY_COMPLIANT_HEADERS): New macro.
1975 * src/string-inst.cc: Add guards . . .
1976 * src/misc-inst.cc: And here.
1977 * bits/std_sstream.h: And here.
1978 * bits/std_fstream.h: And here.
1979 * bits/std_streambuf.h: And here.
1980 * bits/std_istream.h: And here.
1981 * bits/std_ostream.h: And here.
1982
1983 1999-12-06 Scott Snyder <snyder@fnal.gov>
1984
1985 * bits/istream.tcc (basic_istream::read): Try to handle __n == 0
1986 case.
1987 (basic_istream::readsome): And here as well.
1988 * testsuite/27_io/istream_unformatted.cc: Test a zero-length
1989 read().
1990
1991 1999-12-06 Mumit Khan <khan@xraylith.wisc.edu>
1992
1993 * bits/istream.tcc (basic_istream::ignore): streamsize is not
1994 necessarily an `int'.
1995
1996 1999-12-06 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1997
1998 * mknumeric_limits: Don't use $CXXFLAGS when building
1999 gen-num-limits. It's definitely wrong to use it since $CXXFLAGS
2000 generally instructs the compiler not to emit template
2001 instantiations and we end up with undefined symbols. Sigh.
2002
2003 1999-12-05 Benjamin Kosnik <bkoz@gnu.org>
2004
2005 * bits/locale_facets.tcc: Tweak.
2006 (_S_format_long): Adjust showpos formatting for hex and oct.
2007 * bits/std_ostream.h (operator<<(short)): Correctly deal with hex
2008 and oct by formatting as unsigned.
2009 (operator<<(int)): Same here.
2010 * bits/ostream.tcc (operator<<(long)): Same.
2011 (operator<<(long long)): Same.
2012 (_S_pad_char): Actually treat ios_base::internal as something
2013 worth doing correctly. Remove const designation on ios argument.
2014 * testsuite/27_io/ios_manip_basefield.cc (test02): Add tests.
2015 * testsuite/27_io/ostream_inserter_arith.cc (test03): Add tests.
2016
2017 1999-12-04 Benjamin Kosnik <bkoz@gnu.org>
2018
2019 * bits/std_sstream.h (streambuf::underflow): Check for mode == in.
2020
2021 1999-12-03 Benjamin Kosnik <bkoz@gnu.org>
2022
2023 * bits/locale_facets.tcc (num_put::do_put(bool): Fix.
2024
2025 * bits/sstream.tcc (streambuf::seekoff): Add parens.
2026 * bits/istream.tcc (istream::get(sb)): Handle exceptional events.
2027 (operator>>(istream, _CharT*)): Change streamsize to int_type.
2028 (operator>>(istream, _CharT&)): Fix typedef'd type to be _CharT.
2029 * bits/ostream.tcc (ostream::operator<<(const char*)): Stub out
2030 unused argument.
2031 (ostream::operator<<(_CharT)): Fix.
2032
2033 * bits/std_sstream.h: Temporarily disable including sstream.tcc to
2034 see if this will increase compile speed.
2035 * bits/std_ostream.h: Likewise. . .
2036 * bits/std_istream.h: And here.
2037 * bits/std_fstream.h: And here.
2038 * src/misc-inst.cc: Add relevant header file includes for
2039 instantiation purposes.
2040 * src/string-inst.cc: And here.
2041 * testsuite/27_io/ostream_inserter_arith.cc: Add test case.
2042
2043 1999-12-02 Benjamin Kosnik <bkoz@gnu.org>
2044
2045 * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
2046 * bits/istream.tcc (get(streambuf)): More fixes.
2047 (istream::ignore): Get specific about numeric_limits<int>::max()
2048 requirements.
2049
2050 * bits/fstream.tcc (filebuf::open): Tweaks for _M_last_overflowed.
2051 (filebuf::close): Same.
2052 * testsuite/27_io/filebuf.cc: Add tests for ios_base::ate.
2053
2054 1999-12-01 Phil Edwards <pedwards@jaj.com>
2055
2056 * mkcheck: Support for compilation/execution timing.
2057 * testsuite/printnow.c: New file.
2058
2059 1999-12-01 Phil Edwards <pedwards@jaj.com>
2060
2061 * bits/std_cwchar.h: Test for _GLIBCPP_USE_WCHAR_T.
2062 * configure.in: Test for presence of wchar.h before testing
2063 for any of its features.
2064 * configure: Regenerate.
2065
2066 1999-11-30 Benjamin Kosnik <bkoz@gnu.org>
2067
2068 Preliminary istream validations complete.
2069 * bits/istream.tcc (istream::getline): Fixes. Tweaks to make
2070 formatting more consistent. Removal of if-statements inside of for
2071 loops.
2072 (ignore): Fix.
2073 (get): Same.
2074 (putback): Same.
2075 * bits/std_istream.h: Same.
2076 * bits/sstream.tcc (stringbuf::pbackfail): Fix.
2077 * testsuite/27_io/stringbuf.cc: Tweak.
2078 * testsuite/27_io/istream_unformatted.cc (test02): Mo' tests.
2079
2080 * bits/ostream.tcc (ostream::operator<<(arith)): Set badbit, not
2081 failbit on failure, as per 27.6.2.5.2.
2082
2083 * stl/bits/std_vector.h: Allow bool specializations. Should move
2084 ext/std_bvector to bits, not ext, maybe.
2085
2086 1999-11-30 Mumit Khan <khan@xraylith.wisc.edu>
2087
2088 * configure.in: Fix checks for mbstate_t and WCHAR_MIN/MAX.
2089 * configure: Regenerate.
2090
2091 999-11-29 Benjamin Kosnik <bkoz@gnu.org>
2092
2093 * bits/istream.tcc (get(streambuf, char)): Fix.
2094 * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
2095
2096 1999-11-29 Scott Snyder <snyder@fnal.gov>
2097
2098 * bits/basic_string.h (append(const _Char*, size_type)): The
2099 length of the appended string is given exactly by the second arg,
2100 regardless of the data in the character array.
2101 * bits/string.tcc (basic_string(const _CharT*, size_type, const
2102 _Alloc&)): Likewise.
2103 * testsuite/21_strings/append.cc (test01): Remove erroneous test
2104 of basic_string::append.
2105
2106 1999-11-29 Chip Salzenberg <chip@valinux.com>
2107
2108 * Makefile.in: Tweaks for CXXFLAGS.
2109 * */Makefile.in: Same.
2110
2111 1999-11-29 Mumit Khan <khan@xraylith.wisc.edu>
2112
2113 * conficd bgure.in: Check for wide character support.
2114 * bits/c++config.h.in (_GLIBC_USE_WCHAR_T): Move from here ...
2115 * acconfig.h (_GLIBC_USE_WCHAR_T): to here.
2116 * bits/string.tcc (wstring::_S_find): Guard wchar_t specialization.
2117
2118 1999-11-29 Mumit Khan <khan@xraylith.wisc.edu>
2119
2120 * acinclude.m4: Fix typo.
2121 * src/complex.cc: Fix macro line continuation.
2122
2123 1999-11-29 Petter Urkedal <petter@matfys.lth.se>
2124
2125 * src/Makefile.am (CXXFLAGS): Add -Wno-format to allow non-
2126 string literals in format, as used in locale-facets.tcc.
2127
2128 1999-11-28 Benjamin Kosnik <bkoz@gnu.org>
2129
2130 * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
2131 * bits/istream.tcc (istream::get): Extract to argument minus one.
2132 Various tweaks and fixes.
2133
2134 1999-11-22 Mumit Khan <khan@xraylith.wisc.edu>
2135
2136 * bits/locale_facets.tcc: Workaround for compiler crash on
2137 ix86-*-mingw32.
2138
2139 1999-11-21 Mumit Khan <khan@xraylith.wisc.edu>
2140
2141 * acinclude.m4: New file. New _GLIBCPP_CHECK_FLOAT_SUPPORT macro.
2142 * configure.in: Use.
2143 * acconfig.h: New _GLIBCPP_BUGGY_FLOAT_COMPLEX macro.
2144 * src/complexf.cc: New _GLIBCPP_FLOAT_SPECIALIZATION macro.
2145 * bits/std_complex.h: Use.
2146 * src/complex.cc: Use.
2147
2148 1999-11-19 Mumit Khan <khan@xraylith.wisc.edu>
2149
2150 * testsuite/18_support/numeric_limits.cc: Add missing std:: prefix.
2151 * testsuite/21_strings/inserters_extractors.cc: Likewise.
2152 * testsuite/22_locale/ctype.cc: Likewise.
2153 * testsuite/23_containers/multiset.cc: Likewise.
2154 * testsuite/23_containers/vector_ctor.cc: Likewise.
2155 * testsuite/26_numerics/binary_closure.cc: Likewise.
2156 * testsuite/27_io/fpos.cc: Likewise.
2157 * testsuite/27_io/ios_base_callbacks.cc: Likewise.
2158 * testsuite/27_io/istream_extractor_arith.cc: Likewise.
2159 * testsuite/27_io/istream_extractor_char.cc: Likewise.
2160 * testsuite/27_io/istream_extractor_other.cc: Likewise.
2161 * testsuite/27_io/istream_sentry.cc: Likewise.
2162 * testsuite/27_io/ostream_inserter_char.cc: Likewise.
2163 * testsuite/27_io/ostream_inserter_other.cc: Likewise.
2164 * testsuite/27_io/streambuf.cc: Likewise.
2165 * testsuite/27_io/stringstream.cc: Likewise.
2166
2167 1999-11-19 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2168
2169 * bits/valarray_meta.h: Don't forget to define tanh
2170
2171 1999-11-18 Philip Martin <pm@corris.dircon.co.uk>
2172
2173 * src/stl-inst.cc: Use typedef to refer to iterator
2174 * stl/bits/stl_algobase.h: Add traits based dispatch for
2175 __normal_iterator in the copy()algorithm
2176 * stl/bits/type_traits.h: Add _Is_normal_iterator trait support
2177
2178 1999-11-18 Kevin Ediger <kediger@licor.com>
2179
2180 * src/locale.cc (locale::_Imp::_Imp): Use auto_ptr to make
2181 constructors for locale::_Impl exception safe.
2182
2183 1999-11-18 Scott Snyder <snyder@fnal.gov>
2184
2185 * stl/bits/stl_queue.h: The C++ standard gives the default for the
2186 _Sequence template argument of priority_queue<> as vector<>, not
2187 deque<>.
2188
2189 1999-11-18 Benjamin Kosnik <bkoz@gnu.org>
2190
2191 * bits/std_sstream.h (stringbuf::_M_really_sync): Add __iend as a
2192 parameter.
2193 * bits/sstream.tcc: Adjust here too.
2194
2195 1999-11-17 Benjamin Kosnik <bkoz@gnu.org>
2196
2197 * bits/sbuf_iter.h (istreambuf_iter::equal): Tweak.
2198 * bits/istream.tcc (operator>>): Replace iostate(0) with
2199 iostate(ios_base::goodbit), which is the same thing, but hopefully
2200 a bit clearer.
2201 * bits/locale_facets.tcc (do_get(bool)): Streamline, deal with
2202 libraries issue list 17.
2203 (do_gets): Don't set goodbit explicitly, instead only set on
2204 failures as good bit is the default setting.
2205 * bits/ios_base.h (setf): Set correctly.
2206 * bits/fstream.tcc: Tweak.
2207 * bits/std_sstream.h (_M_really_sync): Fix ibuffer positioning for
2208 in|out bufs that are empty. . .
2209 * testsuite/27_io/istream_extractor_arith.cc (test03): Add.
2210
2211 1999-11-16 Benjamin Kosnik <bkoz@gnu.org>
2212
2213 * testsuite/27_io/streambuf.cc (class testbuf): Don't set _M_buf_size.
2214 * bits/std_streambuf.h (setp): Set _M_buf_size, _M_mode.
2215 Add comments "all about _M_buf."
2216 (setg): Set _M_mode.
2217
2218 1999-11-16 Kevin Ediger <kediger@licor.com>
2219
2220 * bits/locale_facets.tcc (_S_build_float_format): New function.
2221 (_S_output_float): New function.
2222 (num_put::do_put(double)): Use 'em.
2223 (num_put::do_put(long double)): Use 'em.
2224 * testsuite/27_io/ostream_inserter_arith.cc: New file.
2225
2226 1999-11-15 Scott Snyder <snyder@fnal.gov>
2227
2228 * bits/basic_file.h: Type of __off parm should be __c_streampos, to
2229 match how libio is calling us.
2230 * src/basic_file.cc (sys_seek): Likewise.
2231 * bits/std_fstream.h (basic_filebuf::sync): Restore sync call.
2232
2233 1999-11-15 Benjamin Kosnik <bkoz@gnu.org>
2234
2235 * docs/17_intro/contribute.html: Add link to assignment form.
2236 * docs/17_intro/libstdc++-assign.txt: New file.
2237
2238 * mkcheck (TESTS_FILE): Move a copy of test files as well as
2239 output files.
2240
2241 * bits/std_streambuf.h (_M_buf_bump): New function.
2242 * bits/streambuf.tcc: Mods to support _M_buf_bump.
2243 (xsputn): Here. Also add checks for output valid.
2244 (xsgetn): Add checks for input valid.
2245 (sputc): Here.
2246 (sgetc): Set _M_in_end to _M_buf + _M_buf_end.
2247 * bits/std_sstream.h (_M_really_sync): Set _M_buf.
2248 Set _M_out_end to variable-length-end.
2249 * bits/sstream.tcc (overflow): Use _M_buf_bump.
2250 (seekpos): Same.
2251 (seekoff): Same.
2252 * bits/fstream.tcc (std): Tweak formatting.
2253 (filebuf::overflow): Simplify.
2254 (filebuf::showmanyc): Same.
2255 (filebuf::underflow): Same.
2256 * testsuite/27_io/filebuf.cc: Fix.
2257 * testsuite/27_io/ostream_inserter_other.cc: Fix.
2258 * testsuite/27_io/ostream_inserter_other-2.tst: New file.
2259 * testsuite/27_io/stringbuf.cc: Tweak.
2260 * testsuite/27_io/streambuf.cc: Tweak.
2261 * testsuite/27_io/istream_extractor_other.cc: Fix.
2262
2263 1999-11-11 Matthias Klose <doko@cs.tu-berlin.de>
2264
2265 * stl_deque.h: Use static_casts<size_type>(signed_type).
2266
2267 1999-11-11 Benjamin Kosnik <bkoz@gnu.org>
2268
2269 Cleanups for callbacks, more regression hunting. Remaining
2270 failures (1) due to last unresolved stringstream issues, not
2271 regressions per se.
2272 * bits/std_fstream.h: Revert. Disable call to _M_file->sync as
2273 killing 27_io/filebuf.cc tests. . . need another solution.
2274
2275 * bits/streambuf.tcc (_S_copy_streambufs): Fix.
2276 * testsuite/27_io/istream_extractor_other.cc: Tweak comments.
2277
2278 * bits/basic_ios.h: Add cached facets here. UGH. The standard
2279 foils all attempts at a graceful, minimal implementation.
2280 * bits/basic_ios.tcc: Tweaks.
2281 * bits/istream.tcc: Fix.
2282 * bits/ostream.tcc: Fix.
2283 * bits/std_istream.h: Fix.
2284 * bits/std_ostream.h: Fix.
2285 * src/ios.cc (ios_base::imbue): Set _M_locale_ios before calling
2286 callbacks.
2287 * bits/locale_facets.tcc (std): Minor, minor formatting tweak.
2288 (_S_pad_numeric): Make comprehensible.
2289
2290 1999-11-10 Benjamin Kosnik <bkoz@cygnus.com>
2291
2292 * bits/std_ostream.h: Add callbacks for _M_fnumput.
2293 (_S_ostream_fcache): New function.
2294 Move functions out-of-line.
2295 * bits/ostream.tcc: Put here.
2296
2297 * bits/std_istream.h: Add callbacks for _M_fnumget.
2298 (_S_istream_fcache): New function.
2299 Move functions out-of-line.
2300 * bits/istream.tcc: Put here.
2301
2302 * bits/basic_ios.tcc (basic_ios::imbue): Tweaks, remove call to
2303 _M_call_callbacks(), as ios_base::imbue does this already.
2304 * src/ios.cc (register_callback): Clean.
2305 (_M_call_callbacks): Same.
2306 * bits/ios_base.h: Callback work.
2307 * testsuite/27_io/ios_base_callbacks.cc (test01): New file.
2308
2309 1999-11-10 Benjamin Kosnik <bkoz@cygnus.com>
2310 Matthias Klose <doko@cs.tu-berlin.de>
2311
2312 * stl/ext/stl_rope.h: Fix initialization order.
2313
2314 1999-11-09 Scott Snyder <snyder@fnal.gov>
2315
2316 * bits/std_fstream.h (basic_filebuf::sync): Unconditionally call
2317 _M_file->sync() so that redirection works correctly.
2318
2319 1999-11-09 Benjamin Kosnik <bkoz@gnu.org>
2320
2321 * bits/istream.tcc: Re-order.
2322 * bits/std_istream.h: Fix getline problems.
2323 * testsuite/27_io/istream_unformatted.cc: New tests.
2324
2325 Clean up regressions.
2326 * bits/std_sstream.h: Set initial stringbufs correctly.
2327
2328 1999-11-09 Scott Snyder <snyder@fnal.gov>
2329
2330 * stl_vector.h (_M_range_insert): Fix mixing pointers and
2331 vector::iterator.
2332 * testsuite/23_containers/vector_modifiers.cc (test01): New file,
2333 tests.
2334
2335 1999-11-09 Benjamin Kosnik <bkoz@cygnus.com>
2336
2337 * src/Makefile.am (CXXFLAGS): Add -Winline.
2338 * src/Makefile.in: Regenerate.
2339
2340 1999-11-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2341
2342 * bits/valarray_meta.h (_DEFINE_EXPR_UNARY_FUNCTION): When
2343 building meta-expressions don't forget to take the contained
2344 closures.
2345
2346 1999-11-02 Benjamin Kosnik <benjamin@cygnus.com>
2347
2348 * configure: Regenerate.
2349
2350 1999-11-02 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2351
2352 * bits/valarray_meta.h (_Expr<>::sum): Tweak. Use copy-initialization
2353 syntax.
2354 * bits/valarray_meta.h (min): Likewise.
2355 * bits/valarray_meta.h (max): Likewise.
2356
2357 1999-11-01 Benjamin Kosnik <bkoz@cygnus.com>
2358
2359 * bits/std_sstream.h (_M_really_sync): Take into account in | out bufs.
2360 * bits/std_streambuf.h (_S_copy_streambufs): New function.
2361 * bits/streambuf.tcc: Define.
2362 * bits/istream.tcc (istream::operator>>(streambuf)): Rewrite.
2363 * bits/ostream.tcc (ostream::operator<<(streambuf)): Rewrite.
2364 * testsuite/27_io/ostream_inserter_other.cc: Add tests.
2365 * testsuite/27_io/ostream_inserter_other-1.tst: New file.
2366
2367 * bits/basic_string.h: Explicitly cast npos to unsigned type,
2368 reported by Richard Atterer.
2369 * bits/char_traits.h: For consistency's sake, here too.
2370
2371 * configure.in: Bump version to 2.90.7.
2372
2373 1999-10-31 Benjamin Kosnik <bkoz@cygnus.com>
2374
2375 * testsuite/27_io/ostream_inserter_char-1.tst: Check file output.
2376 * testsuite/27_io/ostream_inserter_char.cc (test05, test01): Add tests.
2377 * bits/streambuf.tcc (xsputn): Treat--size const char for long loops.
2378 (xsgetn): Same.
2379 * bits/sstream.tcc (seekpos): Tricks, mostly: check _M_mode before
2380 writing into buffer.
2381 (seekoff): Same.
2382
2383 1999-10-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2384
2385 * bits/valarray_array.h (__valarray_sum): New function.
2386 * bits/valarray_array.h (__valarray_product): Same.
2387
2388 * bits/std_valarray.h (valarray<T>::product): Comment out.
2389 * bits/std_valarray.h (valarray<T>::sum): Use __valarray_sum
2390 instead of accumulate.
2391
2392 * src/valarray-inst.cc: Remove explicit intantiation of
2393 class multiplies<size_t>, accumulate, valarray<size_t>::product.
2394 * src/valarray-inst.cc (__valarray_product): Instantiate
2395 explicitly.
2396 * src/valarray-inst.cc (__valarray_product(const
2397 valarray<size_t>&)): New function.
2398 * src/valarray-inst.cc (gslice::_Indexer::_Indexer): Don't use
2399 valarray<size_t>::product. Use __valarray_product instead.
2400
2401
2402 1999-10-25 Benjamin Kosnik <bkoz@cygnus.com>
2403
2404 * bits/std_ostream.h (ostream.inserters.char): Correctly pad output.
2405 (_S_pad_char): New function. Not done: ios_base::internal.
2406 * bits/ostream.tcc: Clean for above.
2407 * bits/locale_facets.tcc (_S_fill): Remove ostreambufiterator
2408 specialization that was commented out, as ostreams now have to
2409 correctly deal with padding.
2410 * testsuite/27_io/ostream_inserter_char.cc (main): Add tests.
2411
2412 * testsuite/21_strings/ctor_copy_dtor.cc(test02): Add test case
2413 from mailing list. This is a bug, and should be fixed.
2414 * testsuite/21_strings/inserters_extractors.cc (main): Tweak, fix typo.
2415
2416 1999-10-22 Petter Urkedal <petter@matfys.lth.se>
2417
2418 * stl/bits/stl_numeric.h (__power): Replaced argument name `__opr'
2419 to avoid conflict with gcc name mangling.
2420 * stl/bits/stl_algo.h (__transform): Same.
2421
2422 1999-10-21 Benjamin Kosnik <bkoz@cygnus.com>
2423
2424 * bits/ios_base.h: Change argument names.
2425 * docs/17_intro/BADNAMES: Add __opr.
2426
2427 1999-10-20 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
2428
2429 Work on compilation slowdowns from 10-5 to 10-12, which are
2430 related to the _Callback_list inlining/merge-ifcation, which is
2431 still a pending issue, but this stuff is necessary cleanup anyway.
2432
2433 * src/ios.cc: Re-arrange.
2434 * bits/ios_base.h: Tweak.
2435 * bits/basic_ios.tcc: Move out of line definitions here, move
2436 small out-of-line definitions inline.
2437 * bits/basic_ios.h: From here.
2438
2439 * bits/streambuf.tcc (pbackfail, overflow): Move back inline.
2440 * bits/std_streambuf.h: From here.
2441
2442 1999-10-19 Benjamin Kosnik <bkoz@cygnus.com>
2443
2444 * testsuite/27_io/istream_extractor_char.cc: Add tests.
2445 * bits/std_istream.h: Tweaks--set eofbit on eof condition.
2446 * bits/istream.tcc (operator>>(istream&, string&): Remove
2447 vestigial issspace hacks and use ctype::is instead.
2448 (getline): Remove unnecessary loops, fortify and pasteurize.
2449 (ws): Same.
2450
2451 1999-10-18 Benjamin Kosnik <bkoz@cygnus.com>
2452
2453 * bits/istream.tcc (operator>>): Tweak.
2454 * bits/std_istream.h: Fix according to library issues list 68.
2455 Add typedefs.
2456
2457 * bits/locale_facets.h: Fix table_size to be non-zero.
2458
2459 1999-10-18 Vadim Egorov <egorovv@HotPOP.com>
2460
2461 * src/basic_file.cc: ifdef instead of comment for binary mode
2462
2463 1999-10-18 Russell Davidson <russell@qed.econ.queensu.ca>
2464
2465 * bits/std_sstream.h: Stringbuf initialization based on actual,
2466 not allocated, size.
2467 * testsuite/21_strings/inserters_extractors.cc (test06): Add test
2468 case.
2469
2470 1999-10-17 Benjamin Kosnik <bkoz@cygnus.com>
2471
2472 * testsuite/26_numerics/c_math.cc (test03): Tweak.
2473 * testsuite/27_io/istream_manip.cc (test01): Corrections due to
2474 sentry change.
2475 * testsuite/21_strings/inserters_extractors.cc (test01): Same.
2476
2477 1999-10-14 Benjamin Kosnik <bkoz@cygnus.com>
2478
2479 * bits/std_istream.h: Tweaks.
2480 * bits/istream.tcc (istream::sentry::sentry()): Simplify, correct
2481 as per issues list addition--set failbit, eof on empty buffers.
2482 * testsuite/27_io/istream_sentry.cc: New file.
2483
2484 1999-10-12 Chris Prince <prince@wcug.wwu.edu>
2485
2486 * bits/std_cstdio.h: Remove Solaris hacks.
2487
2488 1999-10-12 Phil Edwards <philip.edwards@sn.wpafb.af.mil>
2489
2490 * docs/index.html: Fix minor typos and tweaks.
2491 * docs/17_intro/contribute.html: Ditto.
2492 * docs/*/howto.html: Ditto. More "EGCS"->"GCC" conversion, notes on
2493 thread safety and binary I/O, links to external sites.
2494 * docs/faq/index.html: EGCS/GCC cleanup, new entries for Cygwin
2495 and MT.
2496
2497 1999-10-12 Petter Urkedal <petter@matfys.lth.se>
2498
2499 * bits/std_cmath.h (abs(float)): When ::absf is not present, call
2500 ::fabs(double) rather than ::abs(int).
2501
2502 1999-10-11 Benjamin Kosnik <bkoz@milou.cygnus.com>
2503
2504 * bits/std_streambuf.h: Fix minor blip--should explicitly return
2505 *gptr(), not the result of underflow.
2506 (pbackfail): Conform to default behavior.
2507 (overflow): Same.
2508 * bits/streambuf.tcc: Add out-of-line streambuf members.
2509 (xsputn): Tweak.
2510 (xsgetn): Tweak.
2511 * testsuite/27_io/streambuf.cc: New file.
2512 * testsuite/27_io/filebuf.cc: Correct test.
2513
2514 1999-10-08 Benjamin Kosnik <bkoz@haight.constant.com>
2515
2516 * bits/std_cmath.h: Correctly cast int to double.
2517 * testsuite/26_numerics/c_math.cc: Add test.
2518
2519 * mknumeric_limits (OUT_C): Tweaks.
2520 * src/gen-num-limits.cc: Checks for WCHAR_MIN, WCHAR_MAX before
2521 trying to instantiate type_traits<wchar_t>.
2522 * acconfig.h: Add _GLIBCPP_HAS_WCHAR_MIN_MAX.
2523 * configure.in (LIBS): Plus checks for WCHAR_MIN, WCHAR_MAX.
2524 * configure: Regenerate.
2525
2526 1999-10-06 Benjamin Kosnik <bkoz@milou.cygnus.com>
2527
2528 * bits/streambuf.tcc (streambuf::xsgetn): Rewrite.
2529 (streambuf::xsputn): Put in break.
2530 Aiming for parity between these two (mostly) similar functions.
2531 Need to re-write tests.
2532
2533 * bits/ios_base.h (ios_base::_M_copy_base): Remove declaration.
2534 Make data members protected, not private.
2535 * src/ios.cc (ios_base::_M_copy_base): Move _Callback_list into
2536 ios_base.h. As called only once, collapse into . . .
2537 * bits/basic_ios.h (basic_ios::copyfmt): Fix.
2538 (basic_ios::clear): Throw ios_base::failure on occasion.
2539 (basic_ios::exceptions): Fix.
2540 * testsuite/27_io/ios_members.cc (test02): Add tests.
2541
2542 * bits/fpos.h: Default initialize.
2543 * testsuite/27_io/fpos.cc (test03): Add test.
2544
2545 1999-10-04 Russell Davidson <russell@qed.econ.queensu.ca>
2546
2547 * src/basic_file.cc: Fix open modes.
2548
2549 1999-10-04 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2550
2551 * bits/locale_facets.tcc (num_get<>::do_get): Fix typo.
2552
2553 1999-09-23 Benjamin Kosnik <bkoz@milou.cygnus.com>
2554
2555 * bits/streambuf.tcc: Yea. Fix this for real.
2556 * testsuite/27_io/ostream_inserter_other.cc: Add file.
2557 * src/Makefile.*: Regenerate.
2558
2559 1999-09-22 Benjamin Kosnik <bkoz@milou.cygnus.com>
2560
2561 * bits/std_cstdlib.h: Add more linux-specif hacks to the header
2562 files so that stdtof and strtold will be declared. Some hacks
2563 already exits in bits/std_cctype.h -- these should all be removed
2564 at a later date.
2565 * bits/locale_facets.tcc: Add cstring.h include.
2566 _S_format_long: Use long, not int.
2567 Add std_limits.h include, for numeric_limits.
2568 * testsuite/27_io/istream.cc: Make instantiations work when using
2569 -fhonor-std.
2570 * testsuite/27_io/ostream.cc: Same.
2571
2572 1999-09-21 Benjamin Kosnik <bkoz@milou.cygnus.com>
2573
2574 * bits/fpos.h (fpos::operator streamoff): Make const, don't return
2575 a reference. Same for operators == and !=.
2576 * testsuite/27_io/fpos.cc: Add tests.
2577
2578 1999-09-21 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2579
2580 * bits/valarray_array.h: Fix typo.
2581
2582 * mknumeric_limits: Make sure we are regenerating things from
2583 scratch. Otherwise things get redefined. Not good.
2584
2585 1999-09-20 Benjamin Kosnik <bkoz@milou.cygnus.com>
2586
2587 * bits/std_ostream.h: Fix typo.
2588 * bits/std_istream.h: Same.
2589 * bits/std_iomanip.h: Same.
2590
2591 * bits/istream.tcc (sentry::sentry()): Remove optional tie with
2592 ostream, as happens with underflow anyway.
2593 * testsuite/27_io/istream.cc (main): New file.
2594 * testsuite/27_io/ostream.cc (main): New file.
2595 * testsuite/27_io/istream_unformatted.cc: Add tests.
2596
2597 * src/Makefile.am (headers): Add new file.
2598 * src/Makefile.in (headers): Regenerated.
2599
2600 * bits/basic_ios.h: Remove local-related files.
2601 * bits/basic_ios.tcc: New file, add locale-related items.
2602 * src/misc-inst.cc: Add include of basic_ios.tcc, as a hack for now.
2603 * testsuite/27_io/ios_members_static.cc: Change to
2604 * testsuite/27_io/ios_base_members_static.cc: This.
2605 * testsuite/27_io/ios_members.cc: New file.
2606 * testsuite/27_io/stdios_basefield_manip: Change to
2607 * testsuite/27_io/ios_manip_basefield.cc: This.
2608 * testsuite/27_io/stdios_fmtflags_manip: Change to
2609 * testsuite/27_io/ios_manip_fmtflags.cc: This.
2610
2611 * bits/fpos.h: Fix discarding qualifiers on this when
2612 using _M_position with a const fpos.
2613 * bits/std_iosfwd.h: Tweak.
2614 * testsuite/27_io/fpos.cc: New file.
2615
2616 1999-09-17 Benjamin Kosnik <bkoz@milou.cygnus.com>
2617
2618 * bits/streambuf.tcc (streambuf::xsputn): Tweak.
2619 * bits/ostream.tcc: Tweak.
2620 * testsuite/21_strings/inserters_extractors.cc (test04, test05):
2621 Add new regressions.
2622
2623 1999-09-16 Benjamin Kosnik <bkoz@milou.cygnus.com>
2624
2625 * bits/basic_ios.h: Inline, tweak.
2626 * bits/fstream.tcc (basic_filebuf::_M_really_overflow): Tweak,
2627 pass back accurate return value to basic_filebuf::overflow.
2628 * bits/streambuf.tcc (streambuf::xsputn): Fix overflow accounting.
2629 This fixes sstream problems reported in libstdc++/9, but screws up
2630 filebufs. That solution is pending.
2631
2632 1999-09-15 Vadim Egorov <egorovv@1c.ru>
2633
2634 * bits/streambuf.tcc (basic_streambuf::xsputn): Add check for
2635 zero count puts.
2636 * testsuite/21_strings/inserters_extractors.cc (test01): Add test.
2637
2638 1999-09-08 Benjamin Kosnik <bkoz@milou.cygnus.com>
2639
2640 * bits/c++config.h.in: Add emacs hints.
2641
2642 * stl/bits/stl_range_errors.h: Don't define here, for now define
2643 in stdexcept.cc along with string inlines __length_error, etc.
2644 * src/stdexcept.cc: Define here.
2645 * stl/bits/stl_config.h (__STL_CAN_THROW_RANGE_ERRORS): Enable, so
2646 at(size_t) will be declared/defined.
2647 (__STL_THREADS): Fix mess surrounding use of this, enable.
2648
2649 1999-08-31 Benjamin Kosnik <bkoz@milou.cygnus.com>
2650
2651 * testsuite/27_io/istream_extractor_arith.cc: Fix.
2652 * src/localename.cc: Tweak formatting, fix assignment to
2653 const compiler errors.
2654
2655 1999-08-25 Benjamin Kosnik <bkoz@cygnus.com>
2656
2657 * acconfig.h: Add absf, cosf.
2658 * configure.in (use_builtin_sinf): Same.
2659 * configure: Regenerate.
2660 * bits/std_cmath.h: Add mess of defines.
2661 * testsuite/26_numerics/modf_float.cc: Change to
2662 * testsuite/26_numerics/c_math.cc: This.
2663
2664 * src/locale.cc: Change.
2665 * bits/locale_facets.h: Fix.
2666 * testsuite/22_locale/ctype.cc: Add temporary tests.
2667
2668 1999-08-24 Benjamin Kosnik <bkoz@cygnus.com>
2669
2670 * bits/fpos.h: Test.
2671
2672 * docs/index.html: Add powerpc-linux-gnu results with gcc-2.95.1.
2673 Fix database name for "libstdc++".
2674
2675 1999-08-23 Benjamin Kosnik <bkoz@cygnus.com>
2676
2677 * mknumeric_limits (numeric_limits): Add default definitions to
2678 member functions.
2679 * testsuite/18_support/numeric_limits.cc: New file.
2680
2681 1999-08-18 Benjamin Kosnik <bkoz@cygnus.com>
2682
2683 * bits/std_istream.h: Correct initialization.
2684 * bits/std_ostream.h: Likewise.
2685 * bits/std_sstream.h: Likewise.
2686 * bits/std_fstream.h: Likewise.
2687 * testsuite/27_io/stringstream.cc: Add test case.
2688
2689 * bits/std_sstream.h: Replace ____string_type with __string_type.
2690 * bits/basic_ios.h (basic_ios::rdbuf(sb*): Call clear(), as required.
2691 * bits/std_ostream.h: Tweak dtor.
2692
2693 1999-08-17 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
2694
2695 * src/Makefile.am (CXXFLAGS): Add -O2.
2696 * src/Makefile.in: Likewise.
2697
2698 * src/gen-num-limits.cc: Conditionally allow wchar_t. See what
2699 this breaks. . .
2700 * mknumeric_limits (numeric_limits): Uglify.
2701
2702 * bits/std_istream.h: Fix warnings.
2703 * bits/locale_facets.tcc: Collateral damage from
2704 char_traits<char>::int_type change.
2705
2706 * testsuite/27_io/istream_extractor_char.cc: Terminate strings.
2707
2708 1999-08-17 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
2709
2710 * docs/index.html: Add mailing list form.
2711 * docs/27_io/howto.html: Add link to iostreams_hierarchy.pdf.
2712
2713 1999-08-16 Benjamin Kosnik <bkoz@cygnus.com>
2714
2715 * bits/streambuf.tcc (streambuf::xsputn): Allow copies to continue
2716 if overflow successfully allocates more space.
2717 * bits/std_sstream.h: Adjust comments.
2718 * bits/sstream.tcc (stringbuf::overflow): Copy buffer into string
2719 before overflow forces a resize.
2720 * testsuite/27_io/ostream_inserter_char.cc: New file.
2721
2722 * bits/std_fstream.h: Remove declaration.
2723 * bits/fstream.tcc: Move uflow.
2724 * bits/std_streambuf.h: To here.
2725 * bits/streambuf.tcc: Make consistent.
2726
2727 * src/Makefile.am (WERROR): Enable.
2728 * src/Makefile.in: Regenerate.
2729 * bits/sbuf_iter.h: Tweak.
2730 * bits/char_traits.h: (char_traits<wchar_t>::eof): Use WEOF.
2731 Use unsigned int as char_traits<char>::int_type.
2732
2733 * bits/ostream.tcc (ostream::putc(char)): Tweak.
2734 * testsuite/27_io/iostream_objects.cc: Terminate string.
2735 Move cin::operator>>(char*) test to extractor_char.cc.
2736 * testsuite/27_io/stringstream.cc: Add stringstream instantiation.
2737 * bits/std_istream.h (basic_iostream): Make explicit definition
2738 for default ctor.
2739 * bits/std_sstream.h: Fix typos.
2740 * bits/fstream.tcc (_M_init_filebuf): Set to indeterminate for
2741 basic_filebuf ctor with fileno open arguments. Thus, filebufs are
2742 initialized in a consistent manner, no matter if the underlying
2743 FILE/bit bucket is a tty or a text file or some other imaginary
2744 construct. This and setting _M_buf_size to 1 for cin allows
2745 istream::get(char) to work in a manner consistent with what others
2746 expect.
2747
2748 * docs/index.html: Link Stroustrup's C++ page.
2749
2750 1999-08-12 Michael Cook <cook@sightpath.com>
2751
2752 * bits/fstream.tcc: Fix signed/unsigned -Wall warning.
2753 * bits/istream.tcc: ditto.
2754 * bits/sbuf_iter.h: ditto.
2755 * bits/std_istream.h: ditto.
2756 * src/Makefile.am: Add -Wall to CXXFLAGS.
2757 * src/Makefile.in: ditto.
2758
2759 1999-08-12 Benjamin Kosnik <bkoz@tintin.cygnus.com>
2760 Russell Davidson <russell@ehess.cnrs-mrs.fr>
2761
2762 * bits/locale_facets.tcc (_M_extract): Finish off patch from yesterday.
2763 * src/Makefile.am (myinstallheaders): Tweak, remove PHONY.
2764
2765 1999-08-11 Benjamin Kosnik <bkoz@tintin.cygnus.com>
2766
2767 * testsuite/27_io/istream_unformatted.cc: New file.
2768
2769 * testsuite/27_io/istream_extractor_arith.cc (test02): Add more
2770 elaborate tests for int types with noskipws.
2771
2772 * testsuite/27_io/istream_extractor_other-1.txt: New file.
2773 * testsuite/27_io/istream_extractor_other-1.tst: New file.
2774 * testsuite/27_io/istream_extractor_other-2.tst: New file.
2775 * testsuite/27_io/istream_extractor_other.cc: Add tests.
2776 * bits/istream.tcc: Fix operator>>(streambuf*).
2777
2778 * testsuite/23_containers/vector_ctor.cc (test01): Add.
2779
2780 * docs/index.html: Remove references to egcs.
2781 * docs/17_intro/DESIGN: Same.
2782 * docs/17_intro/contribute.html: Same.
2783 * docs/17_intro/RELEASE-NOTES: Ditto.
2784 * docs/17_intro/howto.html: Same here.
2785
2786 Russell Davidson <russell@ehess.cnrs-mrs.fr>
2787 * stl/bits/stl_vector.h (_M_insert_aux):
2788 * bits/locale_facets.tcc (_M_extract): Tweaks for preliminary
2789 decimal/floating point support.
2790 * bits/locale_facets.h: Change _M_extract prototype.
2791 * bits/char_traits.h (char_traits::to_int_type): Cast to unsigned.
2792 * bits/std_istream.h (istream::read(char_type, streamsize)): Fix.
2793
2794 1999-08-10 Michael Cook <cook@sightpath.com>
2795
2796 * bits/fstream.tcc: Fix for unused variable warning (-Wall).
2797 * bits/ios_base.h: ditto.
2798 * bits/istream.tcc: ditto.
2799 * bits/locale_facets.h: ditto.
2800 * bits/locale_facets.tcc: ditto.
2801 * bits/std_streambuf.h: ditto.
2802 * src/basic_file.cc: ditto.
2803 * src/locale.cc: ditto.
2804 * src/localename.cc: ditto.
2805
2806 1999-08-10 Kirat Singh <singhki@jany.gs.com>
2807
2808 * bits/std_iomanip.h: Inline.
2809
2810 1999-08-10 Alfred Minarik <a8601248@unet.univie.ac.at>
2811
2812 * bits/std_streambuf.h: Correct member initialization order.
2813 * src/ios.cc: Add definitions for ios_base data members.
2814
2815 1999-08-06 Phil Edwards <pedwards@ball.com>
2816
2817 * docs/index.html: Seventh snapshot updates. Minor tweaks.
2818 * docs/faq/index.html: Ditto. Removed bugs sections that have
2819 been fixed for a long time... Lots of "egcs" references still
2820 exist.
2821 * docs/faq/index.txt: Regenerated.
2822
2823 1999-08-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2824 Andreas Amann <amann@physik.tu-berlin.de>
2825
2826 * testsuite/26_numerics/binary_closure.cc (main): new test.
2827
2828 1999-07-29 Andreas Amann <amann@physik.tu-berlin.de>
2829
2830 * bits/valarray_meta.h: (_BinClos<>::_Binclos): fix typo causing
2831 segmentation fault.
2832
2833 1999-08-04 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
2834
2835 * docs/index.html (host): Put in testing status.
2836
2837 1999-08-03 Benjamin Kosnik <bkoz@cygnus.com>
2838
2839 * docs/index.html: Update for libstdc++-2.90.6 release.
2840 * docs/17_intro/RELEASE-NOTES (New): Update.
2841 * docs/17_intro/BUGS: Update.
2842 * bits/c++config.h.in (__GLIBCPP__): Bump version number.
2843 * README (file): Update.
2844
2845 1999-08-03 Benjamin Kosnik <bkoz@cygnus.com>
2846
2847 * src/Makefile.am (generated_headers): Remove bits/c++config.h as
2848 a target.
2849 ($(generated_headers)): Same.
2850 * src/gen-c++config.cc: Remove, rename to
2851 * bits/c++config.h.in: New file. Bump version number.
2852 * configure.in: Generate bits/c++config.h at configure time.
2853 * math/mathconf.h: include bits/c++config.h, not config.h.
2854
2855 * bits/std_cmath.h: Fix remaining link error for solaris shared
2856 builds. _GLIBCPP_HAS_BUILTIN_SINF has to be disabled for the time
2857 being, as on Solaris this silently calls sinf, which does not
2858 exist.
2859
2860 * src/complex.cc: More tweaks.
2861
2862 1999-08-03 Benjamin Kosnik <bkoz@cygnus.com>
2863
2864 * src/complex.cc: Same.
2865 * math/complex-stub.h: Change.
2866 * math/c_log10*.c: Change back to clog10*.c.
2867
2868 * configure.in (NEED_C_LOG10): Delete.
2869 * configure: Regenerate.
2870 * math/Makefile.am: Change.
2871
2872 1999-07-30 Benjamin Kosnik <bkoz@cygnus.com>
2873
2874 * math/Makefile.am: Fix, for real.
2875 * configure.in (use_builtin_sinf): Ok, make autoconf solution.
2876 * math/clog.c: Move to c_log.c.
2877 * math/clog*: Ditto.
2878 * math/c_log10l.c (c_log10l): Change function name.
2879 * math/c_log10f.c (c_log10f): Change function name.
2880 * math/c_log10.c (c_log10): Change function name.
2881
2882 * math/complex-stub.h: Change to c_log* variants.
2883 * src/complex.cc: And here.
2884
2885 1999-07-29 Benjamin Kosnik <bkoz@cygnus.com>
2886
2887 * testsuite/27_io/istream_extractor_other.cc: Correct last test.
2888 * bits/sstream.tcc (stringbuf::overflow): Don't update the input
2889 sequence, just the output sequence.
2890 * bits/std_sstream.h (stringbuf::str()): Only in stringbufs return
2891 the original string, all others use complicated heuristic.
2892
2893 * src/complex.cc: Assume c_log10.
2894 * math/Makefile.am (EXTRA_yes): Fix c_log/c_logf unresolved
2895 symbols in shared libraries by making c_log/c_log10 part of the
2896 "must cmpile" sources. This may not work on solaris, must check.
2897
2898 1999-07-29 Benjamin Kosnik <bkoz@cygnus.com>
2899
2900 * bits/istream.tcc (operator>>(streambuf*)): Re-do.
2901 * bits/std_istream.h: Fix char extractors.
2902 * testsuite/27_io/istream_extractor_char.cc: Change.
2903 * testsuite/27_io/istream_extractor_other.cc: Add tests.
2904
2905 1999-07-28 Benjamin Kosnik <bkoz@cygnus.com>
2906
2907 * bits/std_cctype.h: Fix for solaris2.6 builds.
2908
2909 * bits/istream.tcc: Fix, thanks Alfred.
2910 * bits/std_istream.h: Formatting changes.
2911
2912 * libio/Makefile.am (libio_la_SOURCES): Remove cleanup.c, so that
2913 _IO_cleanup will not be undefined.
2914 * libio/*: Regenerate.
2915
2916 * bits/basic_string.h: More namespace-safety stuff.
2917 * testsuite/27_io/istream_extractor_char.cc: Fix.
2918 * testsuite/27_io/istream_extractor_arith.cc: Fix.
2919 * testsuite/27_io/iostream_objects.cc: Fix.
2920 * testsuite/27_io/ios_ctor.cc: Fix.
2921 * testsuite/27_io/istream_manip.cc: Make namespace safe.
2922 * testsuite/27_io/istream_extractor_other.cc: New file.
2923
2924 * mkcheck (TESTS_FILE): Tweaks.
2925
2926 1999-07-27 Benjamin Kosnik <bkoz@cygnus.com>
2927
2928 * src/gen-c++config.cc: Note here, change version.
2929 * acconfig.h( _GLIBCPP_USE_CTYPE_ISBIT): New macro.
2930 * src/locale.cc: Used here.
2931 * configure.in (use_builtin_sinf): Check for _ISBit using autoconf.
2932
2933 * aclocal.m4: Regenerate by running `aclocal -I m4.`
2934
2935 * bits/istream.tcc: Fix.
2936 * bits/std_istream.h: More changes to extractors.
2937
2938 * testsuite/27_io/istream_extractor_char.cc: More.
2939 * testsuite/21_strings/inserters_extractors.cc (test01): Fix logic
2940 error in testsuite construction.
2941
2942 * bits/std_istream.h: Partially revert.
2943 * bits/std_ostream.h: Same.
2944 * bits/std_sstream.h: Revert.
2945
2946 1999-07-26 Benjamin Kosnik <bkoz@cygnus.com>
2947
2948 * bits/std_sstream.h: Change initialization.
2949 * bits/std_ostream.h: Make default ctor/assign/operator= private.
2950 * bits/std_istream.h: Same, also correct sentry args.
2951 * bits/istream.tcc: Add correct sentry args.
2952
2953 * testsuite/27_io/istream_extractor_char.cc: New file.
2954 * testsuite/27_io/istream_extractor_arith.cc: New file, old file,
2955 name changes making me dizzy.
2956
2957 1999-07-26 Ulrich Drepper <drepper@happy.cygnus.com>
2958 Benjamin Kosnik <bkoz@cygnus.com>
2959
2960 * aclocal.m4, config.guess, config.sub, ltconfig ltmain.sh: Update
2961 to libtool 1.3.3.
2962
2963 1999-07-26 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2964
2965 * bits/std_complex.h: Tweak. Make the primary template class
2966 complex work with user-defined numerical types. Provide member
2967 definitions. Restructure.
2968 (class complex<float>): Uglify. Remove __value(). Rename __val
2969 to _M_value. Rename __complex_value_type to _ComplexT. Make it
2970 private. Remove dependency on __value(). Fix various explicit
2971 specialization syntax. Declare a some functions friend. Now the
2972 implementation is nearly comforming.
2973 (class complex<double>): Likewise.
2974 (class complex<long double>): Likewise.
2975
2976 * src/complex.cc: Tweak. Remove dependency on complex::__value().
2977 (sin, sinh, tan, than): Fix call to corresponding C9x function
2978 syntax.
2979
2980 1999-07-24 Benjamin Kosnik <bkoz@fidel.cygnus.com>
2981
2982 * bits/istream.tcc (ws): Fix error with failbit being set.
2983
2984 Disabled due to egcs/gcc-2_95 internal compiler errors.
2985 * src/Makefile.am (CXXFLAGS): Add -fsquangle -fhonor-std
2986 -fnew-exceptions. Compiling with namespaces enabled will now be
2987 the default.
2988 * mkcheck (CXX_FLAG): Same.
2989 * src/gen-c++config.cc (_GLIBCPP_USE_NAMESPACES): Yup. New macro.
2990 * bits/std_cctype.h: Not enough to just define in namespace std if
2991 ctype-isms are macros. Need to also define in namespace std:: if
2992 the C functions are just plain functions.
2993
2994 * src/gen-num-limits.cc: Fix spelling inconsistencies.
2995
2996 1999-07-24 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2997
2998 * docs/18_support/howto.html: Start documentation. Need to keep
2999 track of the ongoing discussion in th LWG reflector.
3000
3001 * src/gen-num-limits.cc: Tweak.
3002 (class predicate): New class.
3003 (class value): Likewise.
3004 Make the whole machinery more flexible. Add comments.
3005
3006 1999-07-23 Benjamin Kosnik <bkoz@fidel.cygnus.com>
3007
3008 * bits/ios_base.h: Move state/exception functions into basic_ios.
3009 * bits/basic_ios.h: Same.
3010 * src/ios.cc: And here. Callbacks don't attempt to reset
3011 state now.
3012
3013 * bits/std_streambuf.h: Separate ios and streambuf locale data
3014 members and cached facets. Using this convention: _M_locale_buf for
3015 the streambuf-related classes, and _M_locale_ios for the ios
3016 hierarchy.
3017 * bits/fstream.tcc: And here.
3018 * bits/basic_ios.h: And here. Also, add cached ctype.
3019 * src/ios.cc: Ditto.
3020 * bits/ios_base.h: Ditto.
3021 * bits/std_istream.h: Use cached ctype facet.
3022 * docs/27_io/iostreams_hierarchy.pdf: Update for new data member
3023 arraignment.
3024
3025 * testsuite/27_io/ios_ctor.cc: New file.
3026 * src/ios.cc: Move _M_state init to basic_ios::init().
3027 * bits/basic_ios.h: To here.
3028
3029 Attempt for some consistency in naming for testsuite/27_io/*.cc.
3030 * testsuite/27_io/boolfmt.cc: Rename to stdios_fmtflags_manip.cc
3031 * testsuite/27_io/octfmt.cc: Rename to stdios_basefield_manip.cc
3032 * testsuite/27_io/istream_manip.cc: Rename to istringstream_manip.cc.
3033 * testsuite/27_io/ostream_manip.cc: Rename to ostringstream_manip.cc.
3034
3035 1999-07-22 Benjamin Kosnik <bkoz@fidel.cygnus.com>
3036
3037 * src/ios.cc: Tweak initializations of standard iostream
3038 objects to closely match the standard. Tie cin/wcin, set flags on
3039 cerr/wcerr
3040 * bits/char_traits.h: Change from size_t to int_type, as per
3041 standard. As per wide streams.
3042 * bits/basic_ios.h: Infect with __ctype_type, as a preparation
3043 for caching a bunch of ctype info. For instance, ctype_base::space
3044 info needs to be stored somewhere, somehow.
3045 * bits/std_istream.h: Also here.
3046 * bits/std_ostream.h: Ditto.
3047 * bits/std_istream.h (operator>>(istream, char): Aggh. Fixup.
3048 * testsuite/27_io/iostream_objects.cacc (test01): Oh yeah. Fix
3049 stream states.
3050
3051 * bits/istream.tcc (ws): Fix.
3052 * testsuite/27_io/istream_manip.cc: New file, test ws.
3053 * testsuite/27_io/ostream_manip.cc: New file, test endl, ends, flush.
3054
3055 * bits/basic_string.h: Provide a specialized member function for
3056 _S_find<char> using strchr.
3057 * src/string-inst.cc: Put specializations here.
3058 * bits/string.tcc: Small fix for find, remove typo.
3059 * testsuite/21_strings/find.cc (test01): Add tests to catch this
3060 find bug. . .
3061
3062 1999-07-20 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
3063
3064 * bits/basic_ios.h: Put into basic_ios namespace.
3065 Tweak widen/narrow.
3066
3067 1999-07-19 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
3068
3069 * bits/std_sstream.h (stringbuf::sync): Change to _M_really_sync,
3070 adjust _M_*_cur pointers inside the function, so callee doesn't
3071 have to adjust.
3072 * bits/sstream.tcc (stringbuf::overflow): Tweak.
3073
3074 * mkcheck: Tweak. Add execution time field, even though it is not
3075 implemented yet. Simplify pass/fail status notation.
3076
3077 1999-07-18 Mumit Khan <khan@xraylith.wisc.edu>
3078
3079 * configure.in: Check for float.h and underscored version of
3080 math functions.
3081 * acconfig.h: Add @BOTTOM@ section for handling underscored
3082 math functions.
3083 * configure: Regenerate.
3084 * config.h.in: Regenerate.
3085 * math/mathconf.h (float.h): Include conditionally.
3086 (M_PI): Define conditionally.
3087 (INFINITE_P): Define for Mingw.
3088 * bits/locale_facets.tcc: Workaround for compiler crash on
3089 ix86-*-mingw32.
3090 * bits/std_cwchar.h (bits/std_cstddef.h): Include.
3091 * src/locale.cc (bits/std_istream.h): Include.
3092 (bits/std_ostream.h): Likewise.
3093
3094 1999-07-18 Phil Edwards <pedwards@ball.com>
3095
3096 * docs/faq/index.html: Updated __black_count notes, fixed typos.
3097 * docs/faq/index.txt: Regenerated.
3098
3099 1999-07-15 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
3100
3101 * testsuite/27_io/stringbuf.cc: Cccchanges, latent bugs.
3102
3103 * bits/sstream.tcc (stringbuf::overflow): Modify accounting of
3104 newly-allocated buffer.
3105 * bits/streambuf.tcc (streambuf::xsgetn): Aaaaaah. Fix final
3106 overflow condition bits.
3107
3108 1999-07-14 Benjamin Kosnik <bkoz@cygnus.com>
3109
3110 * bits/std_sstream.h (stringbuf::_M_init_stringbuf): Set
3111 _M_buf_size to initial _M_string.size(), even though for
3112 ostringstreams it is pretty pointless. It's necessary for
3113 istringstreams.
3114 (stringbuf::str()): Adjust.
3115 (stringbuf::str()): Adjust, call _M_init_stringbuf.
3116 * bits/streambuf.tcc (streambuf::xsgetn): Adjust return value for
3117 overflow's possible success.
3118 (streambuf::xsputn): Adjust.
3119
3120 * testsuite/27_io/filebuf.cc: Adjust for the xsgetn re-write from
3121 yesterday.
3122 * testsuite/27_io/stringbuf.cc: Tweak.
3123 * testsuite/21_strings/inserters_extractors.cc (test01): Remove
3124 notes to myself.
3125 * testsuite/23_containers/vector_cons.cc: Rename to be consistent
3126 with other constructor tests to. . .
3127 * testsuite/23_containers/vector_ctor.cc: New file.
3128
3129 1999-07-14 Alfred Minarik <a8601248@unet.univie.ac.at>
3130
3131 * testsuite/*: Changes to make the testsuit compilable with
3132 -fhonor-std. Contains direct qualification of library names with
3133 std::.
3134
3135 1999-07-13 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
3136
3137 * bits/streambuf.tcc: Tweaks.
3138 (streambuf::xsputn): Optimize, fix for sstreams.
3139 (streambuf::xsgetn): Same.
3140 * bits/sstream.tcc (stringbuf::overflow): Adjust _M_buf_size
3141 correctly, handle overflow/reallocate conditions correctly.
3142 * bits/std_sstream.h: Fix typo.
3143 _M_init_stringbuf(): Fix _M_buf_size initialization.
3144 (stringbuf::str()): Construct return string if output has occurred.
3145
3146 * bits/basic_string.h: Fix typo from yesterday's patch.
3147
3148 1999-07-12 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3149
3150 * bits/string.tcc: _M_mutate - clear _M_state again.
3151 * bits/basic_string.h: In the three functions that return
3152 an iterator set _M_state to -1 before return.
3153 Also optimized two cases of operator+.
3154
3155 1999-07-12 Phil Edwards <pedwards@ball.com>
3156
3157 * docs/index.html: Expand egcs-1.1.2 notes/links.
3158 * docs/faq/index.html: And here. Add links to LWG issues-list.
3159 * docs/faq/index.txt: Regenerate. (lynx rocks)
3160 * docs/21_strings/howto.html: Fix notes on case conversion.
3161 * docs/21_strings/stringtok_h.txt: Goodly spelling...
3162 * docs/23_containers/howto.html: Stub for bitmasks.
3163 * docs/27_io/howto.html: Add section on buffering, stub binary.
3164
3165 1999-07-12 Nathan Myers <ncm@cantrip.org>
3166
3167 * stl/bits/stl_tree.h (__black_count): Optimize.
3168
3169 1999-07-09 Vadim Egorov <egorovv@1c.ru>
3170
3171 * src/basic_file.cc: Cleanup in __basic_file destructor.
3172
3173 1999-07-08 Benjamin Kosnik <bkoz@cygnus.com>
3174
3175 * bits/std_streambuf.h: Changes. . .
3176 * bits/streambuf.tcc: Merge xsputn from filebuf into xsputn in
3177 basic_streambuf, to be used for both filebufs and streambufs.
3178 * bits/std_fstream.h (_M_init_filebuf): New function.
3179 Take out specialized xsputn, put into basic_streambuf.
3180 * bits/fstream.tcc: Define, call from both ctors.
3181 * bits/std_sstream.h (_M_init_stringbuf): New function.
3182 * bits/sstream.tcc: Tweak.
3183
3184 * docs/27_io/iostreams_heirarchy.pdf: New file.
3185
3186 * docs/17_intro/CHECKLIST (basic_string<char>): Validation and
3187 acceptance. Wooo-hoo!
3188
3189 * bits/char_traits.h: Change int_type for char_traits general
3190 template, so that 21_strings/capacity.cc will compile.
3191 * testsuite/21_strings/capacity.cc: Add operators.
3192
3193 * bits/string.tcc (string::compare): Clean up, re-implement.
3194 * testsuite/21_strings/compare.cc: Tweak.
3195
3196 * bits/string.tcc (string:_M_mutate): Keep leaked value in
3197 _M_state, which means that whenever begin() or end() has been
3198 called, the string is unshareable, period. By doing this, insert
3199 and erase member functions that return iterators can remain
3200 footloose and fancy free.
3201 * testsuite/21_strings/invariants.cc: Update.
3202
3203 * bits/basic_string.h (string::append): Fix self-referential
3204 problems, ie when "this" is also an argument to a member function.
3205 * bits/string.tcc: Tweak, same.
3206 * testsuite/21_strings/append.cc: New file.
3207
3208 1999-07-07 Benjamin Kosnik <bkoz@cygnus.com>
3209
3210 * bits/char_traits.h: Tweaks.
3211 * bits/basic_string.h: Tweak.
3212 * bits/fstream.tcc: Remove warning for _M_buf_size assignment.
3213
3214 1999-07-06 Benjamin Kosnik <bkoz@cygnus.com>
3215
3216 * bits/std_streambuf.h: Absorb/acquire data members previously
3217 working in basic_filebuf.
3218 * bits/streambuf.tcc: Tweaks.
3219 * bits/fstream.tcc: Adjust.
3220 * bits/std_fstream.h: Move and rename the following functions:
3221 _M_set_ideterminate, _M_is_indeterminate, _M_set_determinate are
3222 now declared and defined in the base class, basic_streambuf. Oh
3223 fuck it, move data members _M_buf, and _M_buf_size into
3224 basic_streambuf as well.
3225
3226 * bits/ostream.tcc: Tweak.
3227 * bits/locale_facets.tcc: Fix typo in comments.
3228
3229 * testsuite/21_strings/inserters_extractors.cc (test01): Change
3230 state from good to not good, as eof() is set.
3231
3232 1999-07-05 Benjamin Kosnik <bkoz@cygnus.com>
3233
3234 * bits/char_traits.h (char_traits::compare). Fix.
3235
3236 * config.guess, config.sub: Update.
3237
3238 1999-07-02 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3239
3240 * bits/string.tcc: Check the __res_arg for a length error.
3241
3242 1999-07-01 Benjamin Kosnik <bkoz@nabi.net>
3243
3244 * bits/std_streambuf.h: Tweaks. Need to move _M_is_indeterminate
3245 and related functions into basic_streambuf, from basic_filebuf to
3246 take care of ostringstreams and empty strings. So that's groovy,
3247 or will be groovy.
3248 * bits/std_istream.h: Tweaks.
3249 * bits/istream.tcc: Implement ws, getline, operator>> for string.
3250 * bits/std_ostream.h: And here.
3251 * bits/ostream.tcc: Same.
3252 * src/misc-inst.cc: Add instantiations for ws.
3253
3254 * src/string-inst.cc: Add instantiations for inserters and
3255 extractors (operators << and >>, getline).
3256
3257 * testsuite/21_strings/inserters_extractors.cc: Amazingly enough,
3258 a testcase for getline and operators << and >>. Ostream tests are
3259 failing right now, but istream tests should work. . .
3260
3261 * bits/string.tcc: Change _S_max_size, as GNU malloc won't budge.
3262 * bits/std_sstream.h: Revert.
3263
3264 * testsuite/17_intro: header_[iosfwd, ios, iostream, iomanip,
3265 istream, ostream, streambuf, fstream, sstream].cc: New files.
3266
3267 1999-06-30 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3268
3269 * bits/std_sstream.h (stringbuf::sync): Don't use string::begin()
3270 and string::end().
3271
3272 * bits/basic_string.h (basic_string<>::_S_copy_chars): Add
3273 specializations for _CharT*, iterator and const_iterator.
3274 * src/string-inst.cc: Remove explicit instantiation, as
3275 now explicitly specialized.
3276
3277 * bits/basic_string.h: Add a size_type parameter to _M_clone with
3278 a default value set to 0.
3279 * bits/string.tcc: In _M_clone by the call of _S_create add the
3280 value of the new parameter to _M_length. In reserve check
3281 _M_state and use _M_clone instead of _M_mutate.
3282
3283 1999-06-30 Benjamin Kosnik <bkoz@happy.cygnus.com>
3284
3285 * bits/basic_string.h: Fix _S_max_size.
3286 * bits/string.tcc: Add def here.
3287 * testsuite/21_strings/insert.cc: Fix.
3288
3289 * bits/sbuf_iter.h: Remove detritus.
3290 * testsuite/24_iterators/istreambuf_iterator.cc: Add tests.
3291
3292 * src/locale-inst.cc: Elaborate iterator/locale instantiations
3293 to resolve alpha-osf4 build problems.
3294
3295 1999-06-29 Benjamin Kosnik <bkoz@happy.cygnus.com>
3296
3297 * bits/string.tcc: Fix signed/unsigned issues in compares.
3298 * stl/bits/stl_deque.h: And here.
3299 * stl/bits/stl_string_fwd.h: Remove __get_c_string.
3300
3301 1999-06-29 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3302
3303 * bits/string.tcc: New implementation and interface of _M_mutate.
3304 Adapt the change in all functions that call _M_mutate.
3305 * bits/basic_string.h: And here.
3306
3307 1999-06-29 Benjamin Kosnik <bkoz@happy.cygnus.com>
3308
3309 * testsuite/21_strings/capacity.cc (test01): Fix.
3310
3311 1999-06-29 Phil Edwards <pedwards@ball.com>
3312
3313 * mknumeric_limits: Exit script if gen-num-limits isn't built.
3314
3315 1999-06-29 Andreas Gruenbacher <agruenba@pent224.infosys.tuwien.ac.at>
3316
3317 * stl/bits/stl_vector.h: Fix.
3318 * testsuite/23_containers/vector_cons.cc: Add.
3319
3320 1999-06-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3321
3322 * mknumeric_limits (LDFLAGS): fix.
3323
3324 1999-06-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3325
3326 * mknumeric_limits (LDFLAGS): set it according to the system.
3327
3328 * math/mathconf.h (NAN): Check whether host is running under
3329 Cygwin and make the appropriate definition.
3330 * math/complex-stub.h (nan): protect declaration.
3331
3332 1999-06-28 Benjamin Kosnik <bkoz@haight.constant.com>
3333
3334 * bits/sbuf_iter.h: Rename internal data structure to prevent
3335 confusion between basic_ios and istreambuf_iterators internal
3336 basic_streambuf data member.
3337 * testsuite/24_iterators/istreambuf_iterator.cc: New file.
3338
3339 * bits/basic_string.h: Remove conditionals, add input_iterator
3340 version of S_construct again.
3341 * bits/string.tcc: Same.
3342 * src/string-inst.cc: And add explicit instantiation here.
3343
3344 * src/gen-c++config.cc (_GNU_SOURCE): Take out both _GNU_SOURCE
3345 and __USE_GNU macro defines, as single __USE_GNU use leading to
3346 confusion on glibc2.1 systems (ie, RedHat 6.0).
3347
3348 * src/Makefile.am (headers): Add std_utility to installed headers.
3349
3350 1999-06-25 John Potter <jpotter@eagle.lhup.edu>
3351
3352 * stl/bits/stl_tree.h (insert_unique): Revert, just fix insert_equal.
3353
3354 1999-06-25 Gilles Zunino <Gilles.Zunino@hei.fr>
3355
3356 * mknumeric_limits (LDFLAGS): Swap -lc and -lgcc.
3357
3358 1999-06-24 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3359
3360 * src/gen-c++config.cc (_GLIBCPP_*): Change all
3361 macros to include _GLIBCPP as a distinct namespace.
3362 * bits/*: And here.
3363 * src/*: And here.
3364
3365 * stl/bits/std_stdexcept.h: Forward-declare __Named_exception ctor.
3366 * bits/basic_string.h: Remove __get_c_string.
3367 * src/stdexcept.cc: Define ctor here.
3368 * bits/ios_base.h: And fix ios_base::failure as well.
3369 * src/ios.cc: Define here.
3370
3371 * bits/std_streambuf.h: Add a private copy ctor and assignment
3372 operator wrapped in _G_RESOLVE_LIB_DEFECTS.
3373 * bits/ios_base.h: And here too.
3374
3375 * bits/basic_string.h: Tweak.
3376 * testsuite/21_strings/nonmember.cc: Add operator+ tests.
3377
3378 * src/valarray.cc: Rename to. . .
3379 * src/valarray-inst.cc: This.
3380 * src/Makefile.am (sources): Change here.
3381 * src/Makefile.in: Regenerated.
3382
3383 1999-06-24 Vadim Egorov <egorovv@1c.ru>
3384
3385 * bits/string.tcc(basic_string<>::_Rep::_S_create): Fixed
3386 allocated size
3387
3388 1999-06-24 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3389 Tom Tromey <tromey@cygnus.com>
3390
3391 * configure.in (use_glibc2): Eek, correct for non-glibc systems.
3392 Use AM_CONDITIONAL to get us out of this jam. .
3393 * libio/Makefile.am: Same.
3394 * */Makefile: Regenerated.
3395
3396 1999-06-24 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3397 John Potter <jpotter@eagle.lhup.edu>
3398
3399 * stl/bits/stl_tree.h (insert_equal): Fix.
3400 * testsuite/23_containers/multiset.cc: New file.
3401
3402 1999-06-23 Benjamin Kosnik <bkoz@cygnus.com>
3403
3404 * configure.in (test for glibc2): Correct AC_TRY_COMPILE so that
3405 this works correctly on glibc-2 systems. This should allow
3406 simplified linking on these systems, and successful linking on Red
3407 Hat 6.0 systems.
3408 * configure, Makefile: Regenerate.
3409
3410 * bits/std_cwctype.h: Add missing 'w' to _S_iswpunct_helper name.
3411
3412 * testsuite/ext: New directory.
3413 * testsuite/ext/headers.cc: New file.
3414
3415 1999-06-23 Vadim Egorov <egorovv@1c.ru>
3416
3417 * stl/ext/hash_set: include missing headers
3418 * stl/ext/hash_map: Same
3419 * stl/ext/slist: Same
3420
3421 1999-06-17 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3422
3423 * bits/std_cmath.h: comment out modf. Kills build on hpux10.20
3424
3425 1999-06-15 Benjamin Kosnik <bkoz@cygnus.com>
3426
3427 * src/Makefile.am (sources): Regenerate.
3428 * mkcheck: Add TESTS_FILE as a way of controlling what testcases
3429 are run.
3430
3431 1999-06-14 Benjamin Kosnik <bkoz@cygnus.com>
3432
3433 * src/string-inst.cc: Change _S_construct signature, to
3434 track requested allocation size versus valid input iterator range.
3435 * bits/basic_string.h: Here too.
3436 * bits/string.tcc: And here.
3437
3438 1999-06-12 Benjamin Kosnik <bkoz@cygnus.com>
3439
3440 * mkcheck (LOG_FILE): Correctly append errors.
3441
3442 * stl/bits/stl_iterator.h: Revert previous, delirious, change.
3443
3444 * bits/basic_string.h: Change _Rep::_M_data to _Rep::_M_refdata,
3445 to clarify differences between basic_string::_M_data() calls and
3446 _Rep::_M_data() calls.
3447 * bits/std_string.h: Fix.
3448 Put in check for out_of_range in substr.
3449 * bits/string.tcc: Fix for _S_find.
3450
3451 * testsuite/21_strings/compare.cc: Add tests.
3452 * testsuite/21_strings/find.cc: New file.
3453 * testsuite/21_strings/substr: New file.
3454 * testsuite/21_strings/replace.cc: New file.
3455
3456 1999-06-11 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3457
3458 * bits/valarray_array.h: __restrict__ify pointers.
3459
3460 * bits/std_valarray.h: Tweak.
3461 (valarray<T>::cshift, valarray<T>::shift): use __builtin_alloca.
3462
3463 * bits/gslice_array.h: Tweak. Reflect changes in bits/gslice.h
3464
3465 * bits/gslice.h: Tweak.
3466 (class gslice::_Indexer): new class.
3467 (gslice::gslice(const gslice&)): implement copy-ctor to support
3468 ref-counted index.
3469 (gslice::operator=(const gslice&)): support ref-counted index.
3470 (gslice::_M_convert_to_index): delete.
3471
3472 * src/valarray.cc: New file.
3473 (__gslice_to_index): turn a gslice into a valarray<size_t>
3474 (ctor gslice::_Indexer::_Indexer): implement.
3475
3476 * src/Makefile.am (sources): add valarray.cc
3477 * src/Makefile.in: regenerate.
3478
3479 1999-06-08 Benjamin Kosnik <bkoz@cygnus.com>
3480
3481 * stl/bits/stl_iterator.h (__normal_iterator::const_iterator
3482 ctor): Put in a const_cast.
3483
3484 * testsuite/21_strings/invariants.cc: New file.
3485
3486 * testsuite/21_strings/insert.cc: Add exception handling bits.
3487 * testsuite/21_strings/ctor_copy_dtor.cc: Same.
3488
3489 * src/wstring-inst.cc: Add c++config.h include.
3490
3491 * bits/basic_string.h: Fix const operator[] for size == pos.
3492 Add _M_leak for rbegin, non-const.
3493 Add _M_leak for rend, non-const.
3494 Make member function at standards conformant.
3495 Add _S_terminal to _Rep for operator[] const, add this into
3496 c_str() as well.
3497 * bits/string.tcc: Add static member definition here,
3498 temporarily.
3499
3500 * testsuite/21_strings/element_access.cc: Add tests.
3501
3502 1999-06-08 Vadim Egorov <egorovv@1c.ru>
3503
3504 * bits/fstream.tcc (_M_really_overflow): Fixed size of
3505 conversion buffer.
3506
3507 1999-06-08 Phil Edwards <pedwards@ball.com>
3508
3509 * bits/fstream.tcc (basic_filebuf::xsputn): Fix off-by-one count
3510 caused when __testinit is true.
3511 * bits/ostream.tcc (basic_ostream::op<<(streambuf*)): Write buffer
3512 using rdbuf()->sputn rather than _M_fnumput->put.
3513
3514 1999-06-08 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3515
3516 * testsuite/23_containers/bitset_ctor.cc: New file.
3517 * stl/bits/std_bitset.h (__BITSET_WORDS): Fix integration bug.
3518
3519 1999-06-08 Phil Edwards <pedwards@ball.com>
3520
3521 * bits/fstream.tcc (basic_filebuf::underflow): Fix, rename local vars.
3522
3523 1999-06-07 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3524
3525 * testsuite/21_strings/element_access.cc: Finish off these tests.
3526 * testsuite/21_strings/insert.cc (test01): Uncomment.
3527 * testsuite/21_strings/ctor_copy_dtor.cc (test01): Finish off ctors.
3528 * bits/basic_string.h: Tweak, okay, fix for real this time.
3529 * bits/string.tcc: Same.
3530 * bits/char_traits.h: Tweak.
3531
3532 1999-06-07 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3533
3534 * bits/std_cmath.h: Example of how to use the generated macro.
3535 * acconfig.h: Add macro for sinf here.
3536 * configure.in (LIBS): Add test for builtin math function sinf.
3537 * configure: Regenerated.
3538
3539 * bits/basic_string.h: Fix _S_max_size.
3540
3541 1999-06-06 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3542
3543 * bits/basic_string.h: Fixes for out-of-memory segv for large strings.
3544 Remove _S_construct signature for forward_iterator_tag and
3545 input_iterator_tag.
3546 Clean _M_fold.
3547 * src/string-inst.cc: Same, tweaks.
3548 * bits/string.tcc: Same, tweaks.
3549
3550 * testsuite/21_strings/ctor_copy_dtor.cc: Add/clarify tests.
3551 * mkcheck (LOG_FILE): Fix filebuf-[2,3].tst checks.
3552 * mknumeric_limits (LD_FLAGS): Add -nodefaultlibs -lc -lgcc as per
3553 Gaby.
3554
3555 * src/locale.cc: Final separation for char/wchar_t bits.
3556
3557 1999-06-05 Phil Edwards <pedwards@ball.com>
3558
3559 * docs/index.html: Added link to book upon request'n'agreement.
3560 * docs/23_containers/wrappers_h.txt: Added.
3561 * docs/{23_containers,27_io}/howto.html: Added sections.
3562
3563 * bits/std_fstream.h: Tweak.
3564
3565 1999-06-05 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3566
3567 * src/ios.cc: Same here.
3568 * bits/std_iosfwd.h: More wchar_t defines.
3569
3570 * bits/basic_string.h: Tweaks.
3571 * bits/string.tcc: Tweak. Fix _S_construct to check for max_size
3572 when doing error checking, as per LWG defect #83.
3573
3574 * src/gen-c++config.cc: Fix comment.
3575
3576 * testsuite/21_strings/ctor_copy_dtor.cc: New file, checks ctors,
3577 assignments, dtors.
3578 * testsuite/21_strings/element_access.cc: New file, checks for
3579 operator[], at(...).
3580 * testsuite/21_strings/insert.cc: New file, tests string::insert.
3581 * testsuite/21_strings/char_traits.cc: New file, tests
3582 for char_traits<char>.
3583
3584 * bits/utility.h: Remove, again.
3585 * src/Makefile.am (std_headers): Remove utility.h.
3586 * src/Makefile.in (std_headers): Regenerate.
3587
3588 Alfred Minarik <a8601248@unet.univie.ac.at>
3589 * bits/basic_string.h: Move __out_of_range and __length_error into
3590 namespace std.
3591
3592 1999-06-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3593
3594 * testsuite/26_numerics/modf_float.cc: New file.
3595
3596 * bits/std_cmath.h (modf(float, float*)): Fix signature. Correct
3597 typo: use ::modff, not ::modf.
3598
3599 1999-06-03 Vadim Egorov <egorovv@1c.ru>
3600
3601 * bits/string.tcc (basic_string::_M_mutate): Fixed memory
3602 allocation error
3603 * testsuite/21_strings/capacity.cc (test01): Test.
3604
3605 1999-06-03 Phil Edwards <pedwards@ball.com>
3606
3607 * bits/fstream.tcc: Re-order inits to stop warnings. Comment/move
3608 unused variables to within #if 0 blocks to do the same.
3609 * bits/std_fstream.h: Fix typos (one prevents compilation).
3610
3611 1999-06-03 Benjamin Kosnik <bkoz@pacifica.cygnus.com>
3612
3613 * src/wstring-inst.cc: Fix.
3614
3615 1999-06-02 Benjamin Kosnik <bkoz@madcow.cygnus.com>
3616
3617 * bits/char_traits.h: Add _G_USE_WCHAR_T macro guards.
3618 * stl/bits/stl_string_fwd.h: Same.
3619 * bits/locale_facets.h: Same.
3620 * bits/locale_facets.tcc: Same.
3621 * src/wstring-inst.cc: And here.
3622
3623 * src/gen-c++config.cc: Comment _G_USE_WCHAR_T. Leading to
3624 problems on HPUX 10.20.
3625 * your-build-directory-here/bits/c++config.h: Just kidding, do it
3626 here as a temporary hack till the compiler/host problems get
3627 worked out.
3628
3629 * bits/locale_facets.tcc (num_get::do_get): Change from ifdef
3630 HAVE_STRTOLD to HAVE_STRTOLD && !(__hpux). Apparently, problems
3631 converting "long double" to struct long_double. Probably should be
3632 done with one macro (HAVE_STRTOLD) at configure time.
3633
3634 * bits/std_cmath.h: Comment out pow(double, int) defintion as
3635 gives re-declaration under hpux10.20. Revert previous change, as
3636 kills linux/x86, solaris 2.7, hpux builds. These should be done
3637 using autoconf, see std_cctype.h and the solutions started in
3638 configure.in (see config.h for the generated file.)
3639
3640 * mknumeric_limits (LDFLAGS): Remove '-nodefaultlibs -lc', as
3641 -nodefaultlibs prevents linking under HPUX 10.20 as __main is not
3642 defined.
3643
3644 * docs/index.html: Add some useful links.
3645 * docs/17_intro/contribute.html: Fix broken links.
3646
3647 1999-06-02 Benjamin Kosnik <bkoz@rhino.cygnus.com>
3648
3649 * mkcheck (LOG_FILE): Add !/bin/bash instead of cygnus-style
3650 paths. The rest of the world should be able to run this script
3651 now.
3652
3653 * src/Makefile.am ($(generated_headers)): Remove comment.
3654 * Makefile*: Regenerate.
3655
3656 * bits/std_locale.h: Remove detritus.
3657 * bits/localefwd.h: Add <cctype> include to undefine the isspace
3658 macro.
3659
3660 1999-06-01 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3661
3662 * src/gen-c++config.cc: New file. Making c++config.h at configure
3663 time by catting this file (nee bits/config.h) with the build
3664 directories config.h. This is not a complete or perfect solution
3665 but is better than what was in place previously.
3666 * bits/c++config.h: Rename/move to above.
3667 * src/Makefile.am (headers): Remove c++config.h.
3668 (myinstallheaders). Add.
3669 * Makefile*: Regenerated.
3670
3671 * bits/std_cwchar.h: Add include of c++config.h for HAVE_*
3672 definitions, so that wmemcmp, wcslen, wmemchr, etc are properly
3673 declared only if not present in the host's wchar.h.
3674
3675 * bits/locale_facets.tcc (std): Change _G_USE_STRTO* to HAVE_STRTO*.
3676
3677 * bits/std_cmath.h: Define out, for the moment. Linux has no
3678 __buitin_fsqrtl? Probably need some kind of configure trickery
3679 here as well.
3680
3681 * src/Makefile.*: Regenerate.
3682 * bits/c++config.h: Add config.h include.
3683
3684 * bits/std_cwchar.h: Remove remaining #error guard.
3685
3686 * acconfig.h: Add bits for HAVE_LC_MESSAGES.
3687
3688 * configure.in (LIBS): Replace previous effort for mbstate_t and
3689 strtold/strtof with this implementation.
3690
3691 1999 06-01 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3692
3693 * bits/std_cmath.h: Tweak. Add more functions. Use __builtin_xxx
3694 whenever possible.
3695
3696 1999-05-28 Benjamin Kosnik <bkoz@cygnus.com>
3697
3698 * bits/locale_facets.tcc (std): Eek: this left in. Autoconf bits
3699 for determining mbstate_t differences across various hosts not
3700 finished.
3701
3702 1999-05-26 Benjamin Kosnik <bkoz@nabi.net>
3703
3704 * bits/locale_facets.tcc: Change to ifdef.
3705
3706 * bits/std_sstream.h (stringbuf::setbuf): Remove dynamic_cast.
3707 * bits/std_fstream.h (filebuf::setbuf): Same.
3708
3709 * bits/std_istream.h: Add ws declaration.
3710 * bits/istream.tcc: Stub out definition.
3711
3712 * docs/index.html: Fix broken link for design.txt.
3713
3714 * configure.in: Test for mbstate_t. If wchar.h doesn't have it,
3715 then set _G_NEED_MBSTATE_T.
3716 * configure: Regenerate.
3717 * bits/c++config.h: Move mbstate_t define.
3718 * bits/std_cwchar.h: To here.
3719
3720 1999-05-25 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3721
3722 * bits/std_sstream.h:
3723 basic_stringbuf<>::basic_stringbuf: fix.
3724 basic_stringbuf<>::setbuf:
3725 remove the temporary __string_type object,
3726 remove the unnecessary dynymic_cast in the return value,
3727 change the type of the returned value from __streambuf_type*
3728 to basic_stringbuf<_CharT, _Traits, _Alloc>*.
3729
3730 1999-05-25 Phil Edwards <pedwards@ball.com>
3731
3732 * bits/std_streambuf.h (streambuf::setbuf): Always return streambuf*.
3733
3734 1999-04-25 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3735
3736 * bits/std_cmath.h: Tweak. Add float versions of the math functions
3737 in <math.h>. <cmath> still incomplete and incorrekt.
3738
3739 1999-05-24 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3740
3741 * mknumeric_limits (LDFLAGS): set appropriate link flags.
3742
3743 1999-05-23 Phil Edwards <pedwards@ball.com>
3744
3745 * docs/17_intro/howto.html: Added links to text docs,
3746 e.g., BUGS.
3747 * docs/21_strings/howto.html: Updated sections and links.
3748 * docs/21_strings/{gotw29a.txt,stringtok_h.txt}: Added.
3749 * docs/faq/index.html: Updated what-works for sixth
3750 snapshot. Also a number of "internal" links have been
3751 fixed, now that the web pages are the docs directory...
3752 * docs/faq/index.txt: Regenerated.
3753
3754 1999-05-21 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3755
3756 * bits/basic_string.h: Add Nathan's documentation on the string class.
3757
3758 * testsuite/27_io/ios_members_static.cc: New file, for testing
3759 ios_base::sync_with_stdio.
3760
3761 1999-05-21 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3762
3763 * bits/std_locale.h: Simplify includes.
3764 * bits/loccore.h: Delete.
3765 * bits/localefwd.h: Renamed, trimmed.
3766 * bits/locfacets.h: Delete.
3767 * bits/locale_facets.h: Rename, expanded.
3768 * bits/loccore.tcc: Deleted.
3769 * bits/locfacets.tcc: Deleted.
3770 * bits/locale_facets.tcc: Resultant merge.
3771 * bits/std_fstream.h: Modify include.
3772 * bits/ostream.tcc: Same.
3773 * bits/istream.tcc: Same.
3774
3775 * src/locale-inst.cc: And here.
3776 * src/locale.cc: Ditto.
3777 * src/Makefile.am: Updated.
3778 * src/Makefile.in: Rengenerated.
3779
3780 * bits/std_istream.h: Move istream::sentry ctor definition.
3781 * bits/istream.tcc: Move istream::sentry ctor here.
3782 Add more detailed locale include here for ctype member functions.
3783 * bits/ostream.tcc (std): And here.
3784
3785 * bits/sbuf_iter.h: Include std_streambuf.h
3786
3787 * bits/locfacets.h: Start separating this into a localeimp.h file.
3788 * bits/loccore.h: Start separating this into a localefwd.h file.
3789 Add std_climits for CHAR_BIT.
3790
3791 * bits/ios_base.h (ios_base::sync_with_stdio): Stub in.
3792
3793 * bits/char_traits.h: Tweak.
3794
3795 * bits/ios_base.h: Remove INT_MAX, use 1<<16.
3796
3797 * bits/std_ostream.h: Remove c++config.h include.
3798 * bits/std_istream.h: Same.
3799 * bits/std_streambuf.h: Same.
3800 * bits/std_fstream.h: Same.
3801 * bits/std_sstream.h: And here.
3802
3803 * bits/std_iosfwd.h: Add _G_RESOLVE_LIB_DEFECTS here for streampos.
3804 * bits/char_traits.h: Add include of std_cwchar.h for mbstate_t.
3805 * bits/fpos.h: Tweak, format.
3806
3807 * std/ciso646: New file.
3808 * bits/std_ciso646.h: New file.
3809 * src/Makefile.am (std_headers): Add ciso646.
3810 (headers): Add bits/std_ciso646.h.
3811 * src/Makefile.in: Regenerate.
3812 * testsuite/17_intro/header_ciso646.cc: New file, disable
3813 equivalance tests.
3814
3815 * bits/fpos.h: Remove libio.h include.
3816 * bits/basic_file.h: And here.
3817 * bits/std_ios.h: Put here.
3818
3819 * src/ios.cc: Simplify includes, tweak.
3820 * bits/std_ios.h: Simplify include order.
3821 * bits/ios_base.h: Modify ios_base::failure.
3822
3823 * stl/bits/std_numeric.h: Change include from stl_iterator to
3824 std_iterator.
3825
3826 1999-05-19 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3827
3828 * std/iostream: Remove static member __ioint.
3829 * bits/std_iostream.h: Put here.
3830
3831 * stl/bits/std_numeric.h: Remove unneccessary std_iostream.h include.
3832 * stl/bits/stl_algobase.h: Same.
3833 * testsuite/27_io/iostream_objects.cc: Regression tests.
3834 * testsuite/27_io/hello.cc: Remove, subset of above.
3835
3836 1999-05-19 Phil Edwards <pedwards@ball.com>
3837
3838 * docs/index.html: Tweak, update.
3839
3840 1999-05-18 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3841
3842 * docs/17_intro/RELEASE-NOTES: remove outdated
3843 documentation about numeric_limits. Correct CXXINCLUDE setting
3844 documentation.
3845
3846 1999-05-18 Phil Edwards <pedwards@ball.com>
3847
3848 * docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
3849 22_locale,23_containers,24_iterators,25_algorithms,26_numerics,
3850 27_io}/howto.html: Created, with some initial entries.
3851 * docs/faq/index.html: Fixed some links.
3852 * docs/faq/index.txt: Regenerated.
3853
3854 1999-05-18 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3855
3856 * bits/c++config.h (__GLIBCPP__): Set version to 19990518.
3857
3858 * docs/17_intro/RELEASE-NOTES: Update.
3859 * docs/index.html: Correct link to mailing list help page, update News.
3860 * docs/faq/index.html: Change fifth to sixth for snapshot.
3861
3862 * src/Makefile.am (myinstallheaders): Bring over Gaby's changes to
3863 install $(top_builddir)/bits/std_limits.h into
3864 $(myincludepfx)/bits. This was mistakenly omitted from yesterday's
3865 Makefile.am changes.
3866 * *Makefile*: Regenerate using automake.
3867
3868 * mkcheck (LOG_FILE): Fix filebuf directory oddness.
3869 * testsuite/27_io/filebuf.cc: Same.
3870
3871 1999-05-18 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3872
3873 * docs/17_intro/CHECKLIST: update.
3874 * docs/17_intro/TODO: update.
3875
3876 1999-05-17 Phil Edwards <pedwards@ball.com>
3877
3878 * docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
3879 22_locale,23_containers,24_iterators,25_algorithms,26_numerics,
3880 27_io}/howto.html: Created, with some initial entries.
3881 * docs/faq/index.html: Fixed some links.
3882 * docs/faq/index.txt: Regenerated.
3883
3884 1999-05-17 Benjamin Kosnik <bkoz@unhappy.cygnus.com>
3885
3886 * src/Makefile.am (myinstallheaders): Missed removing missing.h.
3887 * Makefile.in*: Regenerate.
3888
3889 1999-05-17 Benjamin Kosnik <bkoz@happy.cygnus.com>
3890
3891 * bits/std_streambuf.h: Same.
3892
3893 * bits/loccore.h (_Bad_use_facet): Remove bits warned about.
3894 * bits/locfacets.h (std): Same.
3895 * bits/sstream.tcc: Same.
3896 * testsuite/27_io/stringstream.cc: Tweak.
3897
3898 * testsuite/27_io/filebuf.cc: Adjust.
3899 * testsuite/21_strings/capacity.cc (test01): Add more
3900 string::reserve tests.
3901
3902 * bits/c++config.h: Remove broken CCTYPE.
3903 * bits/std_cctype.h: Tweak, remove de-macroization, enable
3904 sequestered topper implementation.
3905 * bits/std_cwctype.h: Same.
3906
3907 * bits/missing.h: Remove.
3908 * bits/std_locale.h: Remove missing.h include.
3909
3910 * stl/bits/std_bitset.h (bitset::bitset(string): Tweak to compile.
3911
3912 * src/Makefile.am (headers): Add bits/std_cwctype.h.
3913 INCLUDES: Add top_builddir.
3914 * src/Makefile.in: Regenerate.
3915
3916 * Makefile.am: Add check and check-install as new targets.
3917 * testsuite/make_check_libfree++: Move to. . .
3918 * mkcheck: Here.
3919 * configure.in: Tweak versions.
3920 * mknumeric_limits: Set paths correctly.
3921
3922 1999-05-17 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3923
3924 * src/Makefile.in (myinstallheaders): add rule to install
3925 std_limits.h.
3926
3927 * bits/slice.h (class slice): don't const-qualify data members
3928 since the copy and assignment operator is implicitly used. The
3929 valarray specification is definitively a bad one.
3930
3931 * Makefile.in (generate-limits-sources): fix typo.
3932
3933 * docs/text/TODO: update.
3934 * docs/text/CHECKLIST: update.
3935
3936 * bits/gslice.h (gslice): fix bugglet.
3937 (gslice::gslice): set _M_index_size to 0 whenever given lengths
3938 (lj) of size zero.
3939
3940 * src/Makefile.am (libstdc___la_SOURCES): add gen-num-limits.
3941 * src/Makefile.in (libstdc___la_SOURCES): keep in sync.
3942 [Note: **/Makefile.in should be generated from the corresponding
3943 Makefile.am. The current situation is a litte chaotic. ]
3944
3945 1999-05-16 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3946
3947 * mknumeric_limits: tweak.
3948
3949 * Makefile.in (all): add target generate-limits-sources.
3950 (generate-limits-sources): make a directory bits/ in top_builddir
3951 where the generated std_limits.h is put; generate limitsMEMBERs.cc
3952 directly under $(top_builddir)/src. Remains to put the appropriate
3953 rule for installing std_limits.h.
3954
3955 * src/Makefile.in (headers): remove bits/std_limits.h to this list.
3956 (INCLUDES): add -I$(top_builddir) for bits/std_limits.h which is
3957 now generated at build-time in the build directory
3958 (libstdc___la_SOURCES): remove limitsMEMBERS.cc form this list
3959 * src/Makefile.am: reflect changes in src/Makefile.in
3960
3961 1999-05-12 Phil Edwards <pedwards@ball.com>
3962
3963 * docs/faq/index.html: Add more entries (5.4,5.5), finish
3964 all but one empty entry. Add links for HOWTOs, but no files yet.
3965 (Corrected HOWTO links are for bkoz's new scheme.)
3966 * docs/faq/index.txt: Regenerated.
3967
3968 1999-05-12 Benjamin Kosnik <bkoz@happy.cygnus.com>
3969
3970 * testsuite/17_intro/headers.cc: New file.
3971 * stl/bits/std_queue.h: Change stl_bvector.h include path.
3972 * bits/std_cwctype.h: New file.
3973
3974 * testsuite/27_io/filebuf.cc: Need to tweak directory structure.
3975
3976 1999-05-11 Benjamin Kosnik <bkoz@loony.cygnus.com>
3977
3978 * stl/bits/stl_config.h (__USE_MALLOC): Change underlying allocator.
3979 Check __USE_MALLOC before defining specializations containing
3980 __default_alloc_template.
3981 * src/stl-inst.cc: Here too.
3982
3983 * bits/basic_string.h: Change.
3984
3985 * testsuite/make_check_libfree++: More tweaks.
3986 * testsuite/21/capacity.cc: New file.
3987
3988 * src/string.cc: Rename to be consistent with other inst files.
3989 Rename to string-inst.cc.
3990 * src/string*.cc: Change include.
3991 * src/wstring.cc: Rename to wstring-inst.cc.
3992 * src/wstring*.cc: Ditto.
3993 * src/Makefile.in: Also here.
3994 * src/Makefile.am: Ditto.
3995
3996 * src/traits.cc: Remove.
3997 * src/wtraits.cc: Same.
3998
3999 Try a new way of organizing documentation, one with synchronicity
4000 between testsuites and docs subdirectories, and see who yelps.
4001 * docs/html: Remove, use chapter and subject specific directories
4002 instead of forcing things immediately into format of
4003 documentation.
4004 * docs/text: Same.
4005 * docs/image: Same.
4006 * docs/faq/text, docs/faq/html: Remove, put in the docs/faq
4007 directory and sort by filename and extension.
4008 * docs/17_intro, 18_support, 19_diagnostics, 20_util, 21_strings,
4009 22_locale, 23_containers, 24_iterators, 25_algorithms,
4010 26_numerics, 27_io: Add.
4011 * docs/17_intro/*: Populate with all the text files. . .
4012 * docs/index.html: Construct.
4013
4014 * testsuite/*: Update with same names as the docs subdir.
4015 * testsuite/results: Where to stash conformance results for the
4016 different snapshots, so that progress/size/speed issues can be
4017 tracked over time.
4018
4019 1999-05-10 Benjamin Kosnik <bkoz@loony.cygnus.com>
4020
4021 * src/string.cc: Add _S_copy_chars instantiation, as well as
4022 string::binary operators !=, ==, etc.
4023
4024 * src/Makefile.am (CXXFLAGS): Remove -fvtable-thunks.
4025 * src/Makefile.in (CXXFLAGS): Same here.
4026 * testsuite/make_check_libfree++ (CXX_FLAG): And here.
4027
4028 1999-05-07 Benjamin Kosnik <bkoz@cygnus.com>
4029
4030 * src/string.cc: Add missing member functions to instantiation list.
4031
4032 1999-05-07 Benjamin Kosnik <bkoz@cygnus.com>
4033
4034 * src/misc-inst.cc: Remove unused string instantiations.
4035
4036 * bits/string.tcc: Tweak, fix.
4037 * bits/basic_string.h: Format. Fix reported error with c_str().
4038
4039 * testsuite/make_check_libfree++: Tweak for shared builds.
4040 * testsuite/21/operations.cc: New file for testing c_str() etc.
4041
4042 1999-05-06 Benjamin Kosnik <bkoz@cygnus.com>
4043 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
4044
4045 * stl/bits/stl_vector.h: Fix the code of vector<> for usage with
4046 an iterator class. Delineate pointer versus iterator differences
4047 in implementation.
4048 * 23/vector_capacity.cc: New file, tests for above.
4049
4050 1999-05-06 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4051
4052 * mknumeric_limits: Fix typo. 'unsigned lont' should read
4053 'unsigned long'.
4054 * src/Makefile.am (libstdc___la_SOURCES): add limitsMEMBERS.cc,
4055 generated by mknumeric_limits to the list. Now std_limits.h is
4056 basically working.
4057 * src/Makefile.in (generate-numeric-limits): new target to handle
4058 automatic generation of bits/std_limits.h and src/limitsMEMBERS.cc.
4059 (all): add target generate-numeric-limits.
4060 (libstdc___la_OBJECTS): add limitsMEMBERS.lo
4061 (libstdc___la_SOURCES): add limitsMEMBERS.cc
4062
4063 1999-05-05 Benjamin Kosnik <bkoz@cygnus.com>
4064
4065 Irix build issues.
4066 * bits/c++config.h (_G_USE_CTYPE_ISBIT): Defines new macro for
4067 mask values in ctype_base. Move hacks for _ISBit to locfacets.h.
4068 * bits/locfacts.h: Here.
4069
4070 1999-05-05 Benjamin Kosnik <bkoz@cygnus.com>
4071 Ulrich Drepper <drepper@cygnus.com>
4072
4073 Solaris build issues.
4074 * bits/c++config.h: Define new macros, _G_USE_STRTOF and
4075 _G_USE_STRTOLD.
4076
4077 * bits/locfacets.tcc (num_get::do_get): Tweak long double and
4078 float overloads to use the above macros. Account for the lack of
4079 strtold on some systems, and revert back to using sscanf.
4080
4081 1999-05-04 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
4082
4083 * bits/locfacets.tcc (num_get::do_get): Check the errno variable.
4084 Use strtoul/strtoull for unsigned types. Check the ranges for
4085 short/unsigned short and if necessary for int/unsigned int.
4086
4087 1999-05-04 Benjamin Kosnik <bkoz@cygnus.com>
4088
4089 * src/gen-num-limits.cc (round_style): Need to use mknumericlimits
4090 to generate bits/std_limits.h now, as the SGI std_limits.h is
4091 being depricated. Not done, but should be done immediately: need
4092 to make sure this script is run as part of the configuration
4093 process, because without it "make" in a configured build directory
4094 will fail. Also tweaked: added a space for float_round_style, and
4095 used static_cast of zero to default-initialize, which should be ok
4096 according to the standard. (see 8.5 p5 and 20.1.3).
4097 * mknumeric_limits (OUT_C): Need this for x86 long
4098 double extensions.
4099
4100 * bits/basic_file.h: Include libio.h, not libioP.h.
4101 * src/basic_file.cc: And add libioP.h include here, so that
4102 _IO_init, et. al are well-declared.
4103
4104 * testsuite/make_check_libfree++ (LIB_PATH): Test installed
4105 headers, not source directory headers.
4106
4107 * src/Makefile.am (headers): Add stl_range_errors.h, also adjust
4108 for ext/*. Also add basic_file.h.
4109 * src/Makefile.in (headers): Same.
4110
4111 * bits/std_string.h: Reduce dependencies for faster
4112 pre-processing. Move istream and ostream specific defines into
4113 istream.tcc and ostream.tcc respectively.
4114 * bits/string.tcc: And here.
4115 * bits/basic_string.h: Move getline inline out-of-line, and to
4116 istream.tcc.
4117 * bits/istream.tcc: Move string::getline and operator>> here.
4118 * bits/ostream.tcc: And here too.
4119
4120 * bits/utility.h: Remove, as clashes with a standard header. Put
4121 __OUTOFRANGE and __LENGTHERROR macros into string.tcc for the time
4122 being, until this can be combined with SGI's approach.
4123 * bits/string.tcc: Add macros, as above.
4124 * bits/loccore.h: Add _Count_ones defines.
4125 * bits/std_string.h: And here too.
4126 * bits/std_locale.h: And here.
4127 * bits/std_ios.h: Take out include here.
4128 * src/Makefile.am (headers): Remove utility.h
4129 * src/Makefile.in (headers): Remove utility.h
4130
4131 * stl/bits/*: Update to SGI STL 3.20.
4132 * stl/ext/pthread_alloc: Delete this file.
4133
4134 1999-05-04 Phil Edwards <pedwards@ball.com>
4135
4136 * docs/faq/html/index.html: Add more entries
4137 * docs/faq/html/index.txt: regenerated.
4138
4139 1999-05-04 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4140
4141 * src/gen-num-limits.cc (DO_DEFINE_MIN_MAX): fix typo.
4142
4143 1999-04-29 Benjamin Kosnik <bkoz@haight.cygnus.com>
4144
4145 * bits/locfacets.tcc (num_get::do_get): Re-implement, with input
4146 from Ulrich and Nathan. Remove extraneous string class usage,
4147 tweak, clean, simplify and consolidate with a eye towards removing
4148 duplcate code. Use strto[l, ll, f, d, ld] instead of sscanf.
4149 Not done: dealing with leading zeros, wchar_t work.
4150 * bits/locfacets.h: And here too.
4151
4152 * doc: Remove.
4153
4154 1999-04-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4155
4156 * docs/: add a FAQ.
4157 * docs/faq/: New directory.
4158 * docs/faq/html/: Likewise.
4159 * docs/faq/text/: Likewise.
4160 * docs/faq/html/index.html: New file.
4161 * docs/faq/html/index.txt: Likewise. Generated from
4162 docs/faq/html/index.html by lynx.
4163
4164 1999-04-28 Benjamin Kosnik <bkoz@happy.cygnus.com>
4165 Ryszard Kabatek and Branko Cibej
4166
4167 * bits/locfacets.tcc: Modify.
4168
4169 1999-04-27 Benjamin Kosnik <bkoz@happy.cygnus.com>
4170
4171 * bits/sbuf_iter.h: Clean, fix istreambuf_iterator, make
4172 conformant to 14882, wrap non-standard extensions with
4173 _G_RESOLVE_LIB_DEFECTS, remove detritus and cruft, rennovate.
4174 * bits/locfacets.tcc (num_get::do_get(bool)): Return correct iterator.
4175
4176 * testsuite/27/istringstream_formatted.cc: Add tests.
4177
4178 * bits/locfacets.h: Remove cruft from _Format_cache, continue
4179 commenting, simplify.
4180 * bits/locfacets.tcc: Same.
4181
4182 1999-04-27 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
4183 * bits/locfacets.tcc (num_get::do_get):
4184 Fix the sscanf format parameter
4185 for long long 'll' (as in C9X) instead of 'l'.
4186 Fix the order of sscanf format parameters: "%dl" --> "%ld".
4187 Change the type of the local variable '__conv' from 'string'
4188 to 'const char*' and adapt the change.
4189
4190 1999-04-26 Benjamin Kosnik <bkoz@happy.cygnus.com>
4191
4192 * bits/locfacets.h: Document _Format_cache, and name data members
4193 after the corresponding functions in numpunct. For instance:
4194 _M_grsep -> _M_thousands_sep, and _M_decsep -> _M_decimal_point.
4195 Break apart _M_boolnames{2] into _M_truename and _M_falsename.
4196 * bits/locfacets.tcc: Same.
4197
4198 * bits/locfacets.h (num_get::_M_extract): Don't allow groupings to
4199 stop parsing--store for later analysis.
4200 * testsuite/27/istringstream_formatted.cc: Add cases.
4201
4202 1999-04-25 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4203
4204 * bits/valarray_meta.h: tweak.
4205 (_UnFunBase, _BinFunBase, _BinFunBase1, _BinFunBase2, _BinBase1,
4206 _BinFunBase2): rename typedef-name _Tp to _Vt to keep the compiler
4207 happy -- boggus warning.
4208 * bits/std_valarray.h: Fix.
4209 (valarray<T>::shift): Fix. Update comment.
4210 (valarray<T>::cshift): Fix.
4211
4212 1999-04-23 Benjamin Kosnik <bkoz@cygnus.com>
4213
4214 * testsuite/27filebuf-2.txt: Delete.
4215 * testsuite/27/filebuf.cc: Put output files directly into the
4216 correct subdirectory (27).
4217
4218 Alexandre Petit-Bianco <apbianco@cygnus.com>
4219 * testsuite/make_check_libfree++: Check generated (*.txt) file
4220 against stored results file (*.tst).
4221
4222 1999-04-22 Benjamin Kosnik <bkoz@nabi.net>
4223
4224 * bits/locfacets.tcc: Fix.
4225
4226 * bits/fstream.tcc (filebuf::seekoff): Output current out pointer.
4227 (filebuf::overflow): Simplify.
4228 (filebuf::xsputn): Correctly handle indeterminate state.
4229
4230 * testsuite/27/istringstream_formatted.cc: Tweak.
4231 * testsuite/27/filebuf.cc: Tweak.
4232 * testsuite/27/filebuf-3.tst: Correct: this is the canonical
4233 results file, please use this in the future to guarantee filebuf
4234 positioning accuracy.
4235 * testsuite/27/filebuf-2.tst: Same.
4236
4237 1999-04-21 Benjamin Kosnik <bkoz@cygnus.com>
4238
4239 * bits/fstream.tcc (filebuf::xsputn): Add.
4240 * bits/std_fstream.h: Declare.
4241
4242 * src/basic_file.cc (__basic_file::open): Add O_CREAT to open
4243 calls using ios_base::trunc.
4244
4245 * bits/sstream.tcc (streambuf::overflow): Fix crasher.
4246
4247 * testsuite/make_check_libfree++ (LOG_FILE): Ugh. Another fix.
4248 * testsuite/27/27stringstream.cc: Same.
4249 * testsuite/27/27stringbuf.cc: More tweaks.
4250 * testsuite/27/27filebuf-2.txt: Remove.
4251
4252 * testsuite/27/27filebuf-1.tst: Append, to force byte size over
4253 BUFSIZE so that overflows/underflow can be tested with default
4254 buffer setting.
4255 * testsuite/27/27filebuf-1.tst: Add.
4256
4257 * testsuite/*/*: Remove pre-pended chapter names, as they
4258 duplicate the chapter info contained in the enclosing directory
4259 anyway.
4260
4261 1999-04-20 Benjamin Kosnik <bkoz@cygnus.com>
4262
4263 * bits/streambuf.tcc (streambuf::xsputn): Re-implement to conform
4264 to sputc conditions.
4265
4266 * bits/ios_base.h: Define here.
4267 * src/ios.cc (ios_base::_M_clear): Remove hack.
4268 * bits/basic_ios.h: Fix rdstate().
4269
4270 * bits/sstream.tcc (streambuf::seekoff): Fix.
4271 * bits/fstream.tcc (filebuf::seekoff): Tweak comments.
4272
4273 * testsuite/make_check_libfree++ (LOG_FILE): More c-c-c-changes.
4274 * testsuite/24/24iterator.cc: Add/Fixes for DEBUG_ASSERT.
4275 * testsuite/27/27stringstream.cc: Same.
4276 * testsuite/27/27stringbuf.cc: Same.
4277 * testsuite/27/27istringstream_formatted.cc: Same.
4278 * testsuite/27/27filebuf.cc: Same.
4279
4280 * bits/locfacets.h: Remove specializations for messages<char> and
4281 messages<wchar_t> ctors. Same for moneypunct. Not required, not used.
4282 * src/locale.cc: Remove definitions for above.
4283 * src/misc-inst.cc: Revert, take out iomanip.h include.
4284 * bits/std_iomanip.h: Tweak, format.
4285
4286 1999-04-19 Benjamin Kosnik <bkoz@cygnus.com>
4287
4288 * bits/loccore.h: Format, move inline.
4289 * bits/locfacets.tcc: Same.
4290 * bits/locfacets.h: Same.
4291
4292 Ulrich Drepper <drepper@cygnus.com>
4293 * aclocal.m4: Re-generate.
4294 * configure, configure.in: Same.
4295 * m4/lc_messages.m4: New file.
4296
4297 1999-04-18 Benjamin Kosnik <bkoz@cygnus.com>
4298
4299 * bits/std_ostream.h: Fix typedef for wchar_t instantiations.
4300 * bits/sstream.tcc: Tweak.
4301
4302 * std/iostream: Put __ioinit inside macro guards.
4303
4304 * src/stlinst.cc: Delete and move to . . .
4305 * src/stl-inst.cc: New file, plus wrapping in namespace std.
4306 * src/Makefile.in: Change.
4307 * src/Makefile.am: Same.
4308 * src/misc-inst.cc: Add istringstream/ostringstream instantiations.
4309
4310 * testsuite/make_check_libfree++: Efficiently format for minimal
4311 space. Enforce stricter execution tests by enabling
4312 -DDEBUG_ASSERT.
4313
4314 1999-04-16 Benjamin Kosnik <bkoz@cygnus.com>
4315
4316 * docs/text/RELEASE-NOTES: Fix include typo.
4317
4318 * src/Makefile.am (headers): Add istream.tcc.
4319 * src/Makefile.in (headers): Add istream.tcc.
4320
4321 * ltconfig, ltmain.sh, libtool: Update to libtool-1.2g.
4322
4323 1999-04-16 Benjamin Kosnik <bkoz@cygnus.com>
4324
4325 * bits/locfacets.tcc (num_get::do_get(long)): Finish roughing in.
4326 * bits/locfacets.h (num_get::_M_extract): New functin:
4327 consolidate logic for do_get(...) members.
4328
4329 * bits/sbuf_iter.h (istreambuf_iterator::operator++()): Fix.
4330 * testsuite/27/27istringstream_formatted.cc: Add.
4331
4332 1999-04-16 Martin v. Loewis <martin@mira.isdn.cs.tu-berlin.de>
4333
4334 * src/basic_file.cc (__basic_file::open): Fix thinko in
4335 _G_HAVE_IO_FILE_OPEN bits.
4336 * bits/std_istream.h (sentry::sentry(istream, bool)): Fix isspace bug.
4337 * bits/std_cmath.h: Add stdlib.h include for ldiv_t.
4338 * src/complex.cc (FCT): Qualify all functions with global namespace.
4339 * src/locale.cc: Don't qualify memcpy and setlocale.
4340 * src/stdexcept.cc (__out_of_range): Qualify out_of_range with std::.
4341 (__length_error): Likewise, for length_error.
4342 * src/stlinst.cc: Qualify instantiations with std::.
4343
4344 1999-04-15 Benjamin Kosnik <bkoz@cygnus.com>
4345
4346 * C++STYLE: Add ChangeLog guidelines for member functions.
4347
4348 * doc/* : Delete.
4349 * BADNAMES, BUGS, C++STYLE, CHECKLIST, COPYING,
4350 DESIGN, HEADER_POLICY, PROBLEMS, RELEASE-NOTES, TODO: Moved into
4351 docs/text and made less strident.
4352
4353 * bits/fstream.tcc: Change non-standard ctor to match Sun's sematics.
4354 * bits/std_fstream.h: Same.
4355 * src/ios.cc: Same.
4356
4357 * bits/locfacets.h: Touch.
4358
4359 1999-04-15 Ulrich Drepper <drepper@cygnus.com>
4360
4361 * math/cexp.c (cexp): Use NAN instead of nan("").
4362 Reported by joel reed <joelreed@yahoo.com>.
4363
4364 * libio/libioP.h: Define _IO_seek_fpos_t and _IO_seek_off_t based on
4365 _G_IO_IO_FILE_VERSION. Use these types in the prototypes.
4366 * libio/fileops.c: Use _IO_seek_fpos_t and _IO_seek_off_t types
4367 instead of #if cascades.
4368 * libio/genops.c: Likewise.
4369 * libio/ioseekoff.c: Likewise.
4370 * libio/ioseekpos.c: Likewise.
4371 * libio/strops.c: Likewise.
4372 Patch by Chip Salzenberg <chip@perlsupport.com>.
4373
4374 1999-04-15 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4375
4376 * docs: New directory.
4377 * docs/html: Likewise.
4378 * docs/text: Likewise.
4379 * docs/image: Likewise.
4380
4381 * bits/std_cmath.h: Add new functions.
4382 (abs): overload for long and double.
4383 (div): overload for long.
4384
4385 * bits/valarray_array.h: Fix.
4386 * bits/gslice.h: Adjust friend.
4387 * bits/slice_array.h: likewise.
4388 * bits/valarray_meta.h: likewise.
4389
4390 1999-04-13 Benjamin Kosnik <bkoz@tintin.cygnus.com>
4391
4392 * bits/locfacets.h: More changes, for num_get for insertion
4393 operators for integral types. Comment fields in _Format_cache.
4394 * bits/locfacets.tcc: And here too: add preliminary long version.
4395 * testsuite/27/27istringstream_formatted.cc: Add cases.
4396
4397 1999-04-13 Mark Elbrecht <snowball3@usa.net>
4398
4399 * configure.in: Add locale.h to AC_CHECK_HEADERS argument. Call
4400 AC_LC_MESSAGES macro.
4401 * aclocal.m4 (AC_LC_MESSAGES): New. Determines if a target
4402 supports LC_MESSAGES.
4403 * config.h.in: Add entry for HAVE_LC_MESSAGES.
4404 * src/locale.cc (locale::_S_normalize_category): Use the
4405 HAVE_LC_MESSAGES macro to check for LC_MESSAGES support instead of
4406 _G_NO_CLOCALE_HAS_MESSAGES.
4407 * aclocal.m4 (AM_PROG_LD): For DOS style paths, simplify test to
4408 '?:' from '?:\\' so any path beginning with a drive name matches.
4409
4410 1999-04-12 Mark Elbrecht <snowball3@usa.net>
4411
4412 * src/basic_file.cc(sys_open) [O_BINARY]: Declare __testb.
4413
4414 1999-04-12 Benjamin Kosnik <bkoz@tintin.cygnus.com>
4415
4416 * bits/locfacets.h: Tweak.
4417 * bits/locfacets.tcc(do_get): Clean/fix bool method.
4418
4419 * testsuite/21/21nonmember.cc: Same.
4420 * testsuite/21/21compare.cc: Fix license.
4421 * testsuite/27/27istringstream_formatted.cc: New file.
4422
4423 1999-04-12 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4424
4425 * bits/valarray_meta.h: _BinFunBase1, _BinFunBase2, _BinBase1,
4426 _BinBase2: new template classes; put in there to work around a
4427 compiler limitation. The whole valarray architecture is now
4428 working.
4429
4430 1999-04-08 Benjamin Kosnik <bkoz@haight.constant.com>
4431
4432 * bits/locfacets.tcc: Fix, format.
4433 * bits/locfacets.h: Fix.
4434 * src/locale.cc: Same, plus format.
4435
4436 * bits/basic_string.h: Re-add definition here.
4437 * src/string.cc: Take out.
4438
4439 1999-04-08 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4440
4441 * bits/std_valarray.h: tweak.
4442 * bits/valarray_array.h tweak. use _Expr.
4443 * bits/slice_array.h: likewise.
4444 * bits/gslice_array.h: likewise.
4445 * bits/mask_array.h: likewise.
4446 * bits/indirect_array.h: likewise.
4447 * bits/valarray_meta.h: tweak.
4448 _UnFunBase, _UnFunClos, _BinFunBase, _FunBase, _ValFunClos,
4449 _RefFunClos, _UnBase, _UnClos, _BinBase, _BinClos, _SClos, _GClos,
4450 _IClos: new template classes.
4451 _Meta: renamed to _Expr. Made template with args.
4452 _Constant: made template with two args.
4453
4454 1999-04-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4455
4456 * bits/valarray_array.h: tweak.
4457
4458 1999-04-06 Benjamin Kosnik <bkoz@cygnus.com>
4459
4460 * bits/basic_string.h: Whoops--fix blip.
4461
4462 1999-04-06 Benjamin Kosnik <bkoz@cygnus.com>
4463
4464 Update to SGI STL 3.13
4465 * bits/basic_string.h: Add __get_c_string definition.
4466 * stl/bits/stl_range_errors.h: New file.
4467 * stl/bits/std_bvector.h: Same.
4468 * stl/bits/*: Update.
4469
4470 1999-04-04 1999 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4471
4472 * bits/slice_array.h: tweak.
4473 * bits/gslice_array.h: tweak.
4474 * bits/mask_array.h: tweak.
4475 * bits/indirect_array.h: tweak.
4476 * bits/valarray_array.h: tweak.
4477 (__valarray_copy): replace copy with memcpy.
4478 * bits/std_valarray.h: use __valarray_copy whenever possible.
4479 use __valarray_fill instead of fill.
4480
4481 1999-04-02 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4482
4483 * src/gen-num-limits.cc: new file
4484 * mknumeric_limits: Ditto.
4485
4486 1999-03-30 Benjamin Kosnik <bkoz@cygnus.com>
4487
4488 * bits/locfacets.tcc: Do a stub version of num_get for short, int,
4489 and long types.
4490 * bits/locfacets.h: Add num_get::get methods overloaded for int
4491 and short, to resolve ambiguous overloads in istream insertion
4492 operators.
4493
4494 1999-03-30 Benjamin Kosnik <bkoz@cygnus.com>
4495
4496 * bits/std_istream.h: Fix.
4497 * bits/istream.tcc: Fix.
4498
4499 1999-03-30 Philip Martin <pm@corris.dircon.co.uk>
4500
4501 * testsuite/24/24iterator.cc: fix ++/-- tests
4502
4503 1999-03-29 Benjamin Kosnik <bkoz@cygnus.com>
4504
4505 * bits/std_ostream.h: Looks like this, actually: Fix up eh-isms.
4506 * bits/ostream.tcc: Same.
4507
4508 * bits/std_istream.h: Bring over ostream changes, implement member
4509 functions. Baseline.
4510 * bits/istream.tcc: New file.
4511
4512 1999-03-26 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4513
4514 * bits/gslice.h (class gslice): fix friends template.
4515
4516 1999-03-23 Benjamin Kosnik <bkoz@cygnus.com>
4517
4518 * bits/std_ostream.h: Fix sentry objects, implement seekp, tellp,
4519 delete cruft, etc.
4520 * bits/ostream.tcc: Same.
4521
4522 * bits/std_istream.h: Minor tweaks.
4523
4524 1999-03-18 Benjamin Kosnik <bkoz@cygnus.com>
4525
4526 * src/locale-inst.cc: Remove duplicate instantiations.
4527 * bits/locfacets.tcc: Tweak definitions of static member.
4528
4529 1999-03-18 Benjamin Kosnik <bkoz@cygnus.com>
4530
4531 * bits/std_fstream.h: Format: prepend "__" in front of
4532 non-standard typedefs.
4533 * bits/fstream.tcc: Match.
4534 * bits/std_streambuf.h: Format: prepend "__" in front of
4535 non-standard typedefs.
4536
4537 * bits/sstream.tcc: Match.
4538 * bits/std_istream.h: Format.
4539 * src/locale-inst.cc: Add num_get instantiations.
4540
4541 * bits/std_sstream.h: Fix crash in stringstreams. Remove member
4542 _M_sb, a basic_stringbuf object, and use the basic_ios pointer
4543 _M_streambuf instead. Make initializations sane. Fix
4544 allocation/deallocation of _M_streambuf.
4545 * bits/std_ostream.h: Fix initialization code.
4546 (ctor): Eliminate redundant this->init(), let base class initialize.
4547 (default ctor): New. Assume base classes already initialzed.
4548 * bits/std_istream.h: Parallel work to ostream.
4549 (ctor): Eliminate redundant this->init(), let base class initialize.
4550 (default ctor): New. Assume base classes already initialzed.
4551 Fix initialization of basic_iostream.
4552
4553 * bits/std_fstream.h: While we're at it, make initializations sane
4554 here too. Now matches sstream.h.
4555
4556 * bits/string.tcc: Fix crash in basic_string::compare.
4557 * bits/basic_string.h: And here.
4558 * bits/c++config.h: Add comment about _G_USE_EXCEPTIONS.
4559
4560 * testsuite/make_check_libfree++: Check shared as well.
4561 * testsuite/27/27stringstream.cc: Add bits.
4562 * testsuite/27/27boolfmt.cc: Add bits.
4563 * testsuite/27/27octfmt.cc: Add bits.
4564
4565 1999-03-17 Benjamin Kosnik <bkoz@happy.cygnus.com>
4566
4567 * configure.in (USE_LONG_DOUBLE): signbitl link error.
4568
4569 * bits/locfacets.h: Fix errors that cause build problems
4570 with current egcs (template parameters have class scope).
4571 * bits/locfacets.tcc: Same.
4572 * src/locale-inst.cc: Same, clean.
4573 * src/misc-inst.cc: Same, clean.
4574
4575 1999-03-17 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
4576
4577 * stl/bits/std_memory.h: Modify auto_ptr::reset to reflect the
4578 standard. Re-apply this previous patch.
4579
4580 1999-03-17 Philip Martin <pm@corris.dircon.co.uk>
4581
4582 * bits/basic_string.h: Use __normal_iterator<> for iterators.
4583 * bits/std_sstream.h: Support __normal_iterator<> iterators.
4584 * bits/string.tcc: Ditto.
4585 * src/misc-inst.cc: Ditto.
4586 * src/locale-inst.cc: Ditto.
4587 * stl/bits/stl_iterator.h: Add __normal_iterator<>.
4588 * stl/bits/stl_vector.h: Use __normal_iterator<> for iterators.
4589 * testsuite/24/24iterator.cc: Add test cases for basic_string and
4590 vector iterators.
4591
4592 1999-03-16 Benjamin Kosnik <bkoz@cygnus.com>
4593
4594 * bits/locfacets.tcc: Remove macro hack.
4595 * bits/locfacets.h: Tweaks.
4596 * src/misc-inst.cc: Weed out locale-related instantiations.
4597 * src/locale-inst.cc: Same.
4598
4599 * RELEASE-NOTES: Make more changes.
4600 * bits/c++config.h: Bump version number.
4601
4602 * testsuite/make_check_libfree++: Collect diagnostics.
4603
4604 * bits/std_ostream.h: Fix ostream initialization/destruction
4605 problem, related to dtor cleanup and new cached facets, agggggggh.
4606 * bits/ostream.tcc: Tweak.
4607 * bits/locfacets.h: Remove all friends of iostream classes.
4608 * bits/ios_base.h: Same.
4609 * bits/streambuf.tcc: Tweak.
4610 * bits/std_streambuf.h: Tweak.
4611 * bits/std_fstream.h: Tweak.
4612 * bits/fstream.tcc: Tweak.
4613 * src/stdstreams.cc: Tweak.
4614 * src/ios.cc: Close streams.
4615
4616 * math/Makefile.in: Add missing files for shared link errors.
4617 * math/Makefile.am: Same.
4618
4619 1999-03-15 Benjamin Kosnik <bkoz@cygnus.com>
4620
4621 * src/locale-inst.cc: More wchar_t instantiations.
4622 * src/misc-inst.cc: Missed a few bits.
4623 * testsuite/make_check_libfree++: Add static and shared runs.
4624 * src/ios.cc: Add clarity to ios_base::Init::~Init().
4625
4626 1999-03-15 Benjamin Kosnik <bkoz@cygnus.com>
4627
4628 * bits/std_ostream.h: Format, expunge, simplify. Add cached
4629 facets. Resolve link errors.
4630 * bits/ostream.tcc: Same.
4631 * src/misc-inst.cc: Add ostream, wostream instantiations.
4632 * src/Makefile.am: Add missing bits for stdstreams.cc.
4633 * src/Makefile.in: Same.
4634 * bits/std_iosfwd.h: Format.
4635 * bits/locfacets.h (num_put): Add basic_ostream as a friend to
4636 num_put so that cached _M_fnumput pointer can be deleted in
4637 basic_ostream's dtor. Now everybody plays nice.
4638
4639 1999-03-12 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4640
4641 * bits/gslice.h (class gslice): Make friends valarray,
4642 gslice_array and _GliceExpression.
4643
4644 1999-03-11 Benjamin Kosnik <bkoz@cygnus.com>
4645
4646 * RELEASE-NOTES: Update.
4647 * src/ios.cc: Use do proper init.
4648 * bits/std_streambuf.h: Tweak.
4649 * bits/std_iostream.h: Take out static member.
4650 * std/iostream: Put here.
4651 * bits/std_ostream.h: Non-default ctor shouldn't smash _M_streambuf.
4652 * bits/std_istream.h: Ditto.
4653 * bits/basic_ios.h: Format.
4654 * bits/ostream.tcc(write): Fix.
4655 * bits/fstream.tcc: Fix stdstreams ctor to do a proper
4656 initialization of the fstream class.
4657 * src/stdstreams.cc: I'm baaaaaaaack.
4658
4659 1999-03-10 Benjamin Kosnik <bkoz@rhino.cygnus.com>
4660
4661 * bits/ios_base.h: Correct comments. Add ios_base::init()
4662 functionality. Format, tweak, expunge, clean, bathe, and hang to dry.
4663 * src/misc-inst.cc: Add instantiations here.
4664 * src/ios.cc: Clean.
4665 * bits/std_iostream.h: Add wrappers, global ios_base::Init object.
4666 * src/stdstreams.cc: Delete this file, as now unnecessary.
4667 * bits/fstream.tcc: Add missing initialization bits for ctor.
4668 * src/Makefile.am (libstdc___la_SOURCES): Delete here as well.
4669 * src/Makefile.in (libstdc___la_OBJECTS): And here.
4670
4671 * bits/streambuf.tcc: Tweak.
4672 * bits/sstream.tcc: Here too.
4673
4674 * bits/fstream.tcc: And change definition as well.
4675 * bits/std_fstream.h: Change ctor.
4676 * src/basic_file.cc (sys_open): Add call that opens a specific fileno.
4677 * bits/basic_file.h: Add declarations.
4678
4679 * testsuite/27/27hello.cc: New file.
4680
4681 * bits/std_ostream.h: Move flush() inline.
4682 * bits/ostream.tcc: From here.
4683
4684 * bits/char_traits.h: Add include of fpos.h for streamoff/streampos.
4685 * bits/std_ios.h: Change include libio to only when necessary.
4686 * bits/fpos.h: Like here.
4687 * ios_base.h: And here.
4688
4689 * bits/locfacets.h: Change _Iostate to _Ios_Iostate.
4690 * bits/locfacets.tcc: Same.
4691 * bits/std_locale.h: Include std_ios.h not std_iosfwd.h.
4692 * bits/std_iosfwd.h: Move _Ios_Iostate to ios_base.h
4693
4694 1999-03-09 Benjamin Kosnik <bkoz@rhino.cygnus.com>
4695
4696 * bits/basic_ios.h: Change _M_ctype to _M_fctype.
4697
4698 * bits/std_streambuf.h: Clean, tweak.
4699 * bits/std_fstream.h: Same.
4700 * bits/std_sstream.h: Same.
4701 * bits/streambuf.tcc: Move most member functions out-of-line.
4702 * bits/fstream.tcc: Same.
4703 * bits/streambuf.tcc: Same.
4704
4705 * bits/basic_file.h(filepos_cur): Set correctly.
4706 (filepos_beg): Same.
4707 (seekpos): Change to __c_streampos.
4708 * src/basic_file.cc (std): Change to __c_streampos.
4709
4710 * testsuite/27/27filebuf.cc: Round one is finished.
4711 * testsuite/27/27filebuf-2.tst: New file, final output should match.
4712 * testsuite/27/27filebuf-3.tst: Same.
4713
4714 1999-03-08 Benjamin Kosnik <bkoz@rhino.cygnus.com>
4715
4716 * bits/basic_file.h: Fix typo, add comments about what to expect
4717 from the various member functions in __basic_file.
4718
4719 * bits/std_fstream.h: Re-do sync/underflow to work
4720 together. Change from sys_read to xsgetn and from sys_write to
4721 xsputn. As it should have been from the beginning. . .
4722
4723 1999-03-06 Benjamin Kosnik <bkoz@haight.constant.com>
4724
4725 * bits/c++config.h (__GLIBCPP__): Add versioning macro.
4726
4727 * bits/basic_file.h(file_beg): New function.
4728 (file_cur): Ditto.
4729
4730 * testsuite/27/27filebuf.cc: Test in, out, in | out.
4731 * bits/std_fstream.h: More _M_mode refinements.
4732 (synch): Add bits for out mode only.
4733 * bits/std_streambuf.h(xsputn): Correct for filebufs.
4734 * bits/std_sstream.h: Ditto.
4735
4736 1999-03-03 Benjamin Kosnik <bkoz@cygnus.com>
4737
4738 * bits/std_fstream.h: Fix _M_mode AND with ios_base::openmode.
4739 * testsuite/27/27filebuf.cc: Modify.
4740 * bits/c++config.h: Fix.
4741
4742 1999-03-02 Benjamin Kosnik <bkoz@tintin.cygnus.com>
4743
4744 * bits/c++config.h: New macro, _G_RESOLVE_LIB_DEFECTS, used to put
4745 code in place that diverges from the final standard, but has been
4746 brought up on the library mailing list.
4747
4748 * bits/std_fstream.h(underflow): Position all three internal
4749 buffer pointers at the same initial position. Re-implement with
4750 basic_filebuf abstraction.
4751 (overflow): Ditto.
4752 (seekoff): Ditto.
4753 (seekpos): Ditto.
4754 * bits/std_sstream.h: Move _M_mode down into base class
4755 basic_streambuf.
4756 * bits/sstream.tcc: Ditto.
4757 * bits/std_streambuf.h: Ditto.
4758
4759 * testsuite/27/27filebuf.cc: Tweak.
4760
4761 1999-02-27 Benjamin Kosnik <bkoz@slap-happy.cygnus.com>
4762
4763 * bits/std_sstream.h: Ditto.
4764 * bits/std_fstream.h: Fix blip.
4765
4766 1999-02-26 Benjamin Kosnik <bkoz@happy.cygnus.com>
4767
4768 * C++STYLE: Add cases.
4769 * bits/std_fstream.h: Format.
4770 * bits/std_streambuf.h: Ditto.
4771 * bits/std_sstream.h: Ditto.
4772
4773 * src/basic_file.cc(sys_seek): Fix stack delirium, by keeping
4774 return type for _IO_file_seek and __basic_file::seek the same size.
4775 * bits/basic_file.h: Ditto.
4776
4777 1999-02-26 Benjamin Kosnik <bkoz@happy.cygnus.com>
4778
4779 * bits/fstream.tcc: Add include guards.
4780 * src/misc-inst.cc: Add instantiations for shared libes.
4781 * src/locale-inst.cc: Add instantiaions for use_facet.
4782 * bits/loccore.h: Remove specialization foward decls for
4783 use_facet<ctype>: perhaps add the whole lot of them later on.
4784 * bits/std_fstream.h: Fix.
4785 * bits/locfacets.h: Ditto.
4786 * src/stdstreams.cc: Disable wide streams for now.
4787
4788 * src/Makefile.am (CXXFLAGS): Change up.
4789 * src/Makefile.in (CXXFLAGS): Ditto.
4790
4791 1999-02-25 Benjamin Kosnik <bkoz@happy.cygnus.com>
4792
4793 * src/basic_file.cc: Change to ios_base::seekdir from int.
4794 * bits/basic_file.h: Ditto.
4795 * bits/locfacets.h : Fix blip with new guard macros.
4796
4797 1999-02-25 Benjamin Kosnik <bkoz@cygnus.com>
4798
4799 * stl/bits/stl_config.h (__STL_USE_STD_ALLOCATORS): Minor tweaking.
4800 * bits/c++config.h: Clean. Remove _G_NO_STREAMBUF_ITERATORS and
4801 _G_USE_NAMESPACE.
4802 * amm1/locale: Remove unused defines.
4803 * generic/locale: Ditto.
4804 * src/ios.cc: Ditto.
4805 * src/locale.cc: Ditto.
4806 * src/locale-inst.cc: Ditto.
4807 * src/localename.cc: Ditto.
4808 * src/stdstreams.cc: And here.
4809
4810 * bits/c++config.h (_G_USE_WCHAR_T): Fix.
4811 * bits/loccore.h: Simplify, clean, add wchar_t guards.
4812 * bits/loccore.tcc: Ditto.
4813 * bits/locfacets.h: Ditto.
4814 * src/locale-inst.cc: Ditto.
4815 * bits/locfacets.tcc: Add do_put long long here.
4816
4817 1999-02-24 Benjamin Kosnik <bkoz@cygnus.com>
4818
4819 * bits/std_streambuf.h: Add cached ctype facet, _M_ctype.
4820 * bits/basic_ios.h: Clean. Replace _M_strbuf with
4821 _M_streambuf. Use cached _M_cvt in basic_streambuf.
4822 * bits/std_istream.h: Replace _M_strbuf with _M_streambuf.
4823 * bits/std_fstream.h: Tweak.
4824
4825 * bits/char_traits.h: Remove fpos definitions from here. . .
4826 * bits/fpos.h: New file, put them here. Eventually, this may allow
4827 the severing of char_traits and fpos dependancies.
4828 * src/Makefile.in: Add fpos.h.
4829 * src/Makefile.am: Ditto.
4830 * bits/std_string.h: Add fpos.h include here.
4831 * bits/std_ios.h: And here.
4832
4833 * bits/std_streambuf.h: Change _M_init to _M_initialized.
4834 * bits/ios_base.h: Remove cstdio include.
4835 * bits/std_ios.h: ... Place here.
4836
4837 1999-02-23 Benjamin Kosnik <bkoz@loony.cygnus.com>
4838
4839 * src/Makefile.in (CXXFLAGS): Re-add -fvtable-thunks.
4840 * src/Makefile.am (CXXFLAGS): Re-add -fvtable-thunks.
4841
4842 * bits/basic_file.h: Comment, adjust arguments.
4843 * src/basic_file.cc: Ditto.
4844
4845 * bits/std_fstream.h(seekoff): Error is of fpos type, not integral
4846 type: check and convert accordingly. Re-interpet "resultant stream
4847 position" to indicate external byte sequence location, not internal
4848 buffer info.
4849
4850 1999-02-22 Benjamin Kosnik <bkoz@loony.cygnus.com>
4851
4852 * mkcshadow: And change copyright here.
4853 * src/Makefile.am (CXXFLAGS): Add -g -O2. Add new header
4854 dependencies for stl_pthread_alloc.h, pthread_allocimpl.h,
4855 stl_thread.h, and stl_iterator_base.h.
4856 * src/Makefile.in (CXXFLAGS): Ditto.
4857 * stl/backward/pthread_alloc.h: Remove.
4858
4859 1999-02-19 Benjamin Kosnik <bkoz@loony.cygnus.com>
4860
4861 * bits/std_streambuf.h (sungetc): Use standard defs for putback
4862 position.
4863 * bits/std_fstream.h (pbackfail): Correct.
4864 (sungetc): Test.
4865 (seekoff): Implement.
4866 (seekpos): Re-do.
4867 * testsuite/27/27filebuf.cc: Add test cases.
4868
4869 1999-02-18 Benjamin Kosnik <bkoz@loony.cygnus.com>
4870
4871 * bits/std_fstream.h: Go with basic_file's interfaces for dealing
4872 with the external buffers, and stop mucking around with setting
4873 and re-setting the external buf's pointers. Aka, clarity and
4874 simplicity rule the day.
4875 * src/locale.cc: Use memcpy in codecvt::do_in and codecvt::do_out.
4876 Remove partial result and support code.
4877
4878 1999-02-18 Ulrich Drepper <drepper@cygnus.com>
4879
4880 * configure.in: Add hypot, hypotf, atan2f, expf, and copysignf to
4881 list of function which have to be replaced.
4882 Remove expf from list of functions to test for.
4883 Define USE_LONG_DOUBLE in case the libm has partial support for long
4884 doubles.
4885 * Makefile.in: Regenerated.
4886 * config.h.in: Likewise.
4887 * configure: Likewise.
4888 * libio/Makefile.am (LIBIO_SRCS): Add missing backslash.
4889 * libio/Makefile.in: Regenerated.
4890 * src/Makefile.in: Regenerated.
4891 * string/Makefile.in: Regenerated.
4892 * math/Makefile.am (EXTRA_DIST): Add hypot.c, hypotf.c, hypotl.c,
4893 atan2f.c, expf.c, and $(EXTRA_yes).
4894 (EXTRA_yes): Add signbitl.c mycabsl.c.
4895 (libmath_la_LIBADD): Add $(EXTRA_$(USE_LONG_DOUBLE)).
4896 (libmath_la_SOURCES): remove long double versions.
4897 * math/Makefile.in: Regnerated.
4898 * math/atan2f.c: New file.
4899 * math/copysignf.c: New file.
4900 * math/expf.c: New file.
4901 * math/hypot.c: New file.
4902 * math/hypotf.c: New file.
4903 * math/hypotl.c: New file.
4904 * math/cargf.c: Use correct function and macro names.
4905 * math/ccos.c: Likewise.
4906 * math/ccosh.c: Likewise.
4907 * math/ccoshf.c: Likewise.
4908 * math/ccoshl.c: Likewise.
4909 * math/cexp.c: Likewise.
4910 * math/cexpf.c: Likewise.
4911 * math/cexpl.c: Likewise.
4912 * math/clog.c: Likewise.
4913 * math/clog10.c: Likewise.
4914 * math/clog10f.c: Likewise.
4915 * math/clog10l.c: Likewise.
4916 * math/clogf.c: Likewise.
4917 * math/clogl.c: Likewise.
4918 * math/copysignf.c: Likewise.
4919 * math/csin.c: Likewise.
4920 * math/csinf.c: Likewise.
4921 * math/csinh.c: Likewise.
4922 * math/csinhf.c: Likewise.
4923 * math/csinhl.c: Likewise.
4924 * math/csinl.c: Likewise.
4925 * math/csqrt.c: Likewise.
4926 * math/csqrtf.c: Likewise.
4927 * math/csqrtl.c: Likewise.
4928 * math/ctan.c: Likewise.
4929 * math/ctanf.c: Likewise.
4930 * math/ctanh.c: Likewise.
4931 * math/ctanhf.c: Likewise.
4932 * math/ctanhl.c: Likewise.
4933 * math/ctanl.c: Likewise.
4934
4935 1999-02-17 Benjamin Kosnik <bkoz@cygnus.com>
4936
4937 * testsuite/27/27filebuf.cc: Add cases.
4938 * testsuite/27/27filebuf-1.txt: Remove inadvertent garbage.
4939 * bits/std_streambuf.h: Simplify, always have one return statement.
4940 * bits/std_fstream.h: Tweak comments in underflow.
4941
4942 1999-02-17 Ulrich Drepper <drepper@cygnus.com>
4943
4944 * ltmain.sh: Update from libtool 1.2d and fix Solaris problems.
4945 * ltconfig: Likewise.
4946
4947 1999-02-16 Christophe Pierret <cpierret@businessobjects.com>
4948
4949 * src/locale.cc: Fix assert.
4950
4951 1999-02-16 Benjamin Kosnik <bkoz@cygnus.com>
4952
4953 FIXME: Still need some kind of solution for undefined math symbols.
4954 * src/Makefile.in (locale-inst.lo): Compile with
4955 -fimplicit-templates to fix Solaris link problem.
4956 * src/Makefile.am: Ditto.
4957 * libio/Makefile.in: Add stdfiles.c so that _IO_list_all is defined.
4958 * libio/Makefile.am: Ditto.
4959 * src/locale.cc: Provide some kind of def for _S_tolower.
4960 * bits/locfacets.h: Fix declarations of ctype<wchar_t> to
4961 match ctype<char> for _S_tolower, _S_toupper, _S_table.
4962
4963 1999-02-10 Benjamin Kosnik <bkoz@cygnus.com>
4964
4965 * bits/loccore.tcc: Move member-template ctor inline...
4966 * bits/loccore.h: ...here.
4967 * src/locale-inst.cc: Add instantiation here.
4968
4969 * testsuite/27/27stringstream.cc: Tweak.
4970
4971 * bits/ostream.tcc: Include sbuf_iter.h.
4972
4973 * bits/ostream.tcc: Convert *this to ostreambuf_iterator before
4974 passing to num_put, as num_put's first argument is an interator,
4975 not basic_ostream.
4976
4977 * testsuite/make_check_libfree++: New file, runs through the
4978 existing test files in the testsuite directory and makes sure
4979 they link.
4980
4981 1999-02-10 Brendan Kehoe <brendan@cygnus.com>
4982
4983 * testsuite/21/21compare.cc: Fix typo.
4984 * src/locale.cc (ctype<wchar_t>::_S_{toupper,tolower,table}):
4985 Don't try to provide non-linux versions, since it's impossible to
4986 initialize their const references with the integer 0, no matter
4987 how we try to cast it.
4988
4989 1999-02-10 Benjamin Kosnik <bkoz@cygnus.com>
4990
4991 * bits/std_locale.h: Move std_vector.h dependency.
4992 * bits/std_ios.h: ...from here.
4993 * bits/std_string.h: ...and here.
4994 * src/locale.cc: ..to here.
4995 * bits/loccore.h: Ditto, add vector forward declaration,
4996 make locale::_Impl data members pointers not containers.
4997 * bits/loccore.tcc: Move out-of-line for now.
4998 * bits/locfacets.h: Move vector dependency from here...
4999 * bits/locfacets.tcc: ...to here.
5000 * src/localename.cc: ..and here.
5001 * src/locale-inst.cc: Add include of locfacets.tcc here.
5002
5003 * stl/bits/stl_string_fwd.h: Make __get_c_string non-static.
5004 * bits/basic_string.h: Can't use sizeof on an incomplete type.
5005 * bits/string.tcc: Tweak.
5006 * src/string.cc: And add __get_c_string def here.
5007
5008 * bits/std_fstream.h: Yeah, comment the fill_n idea out as impractical.
5009
5010 * src/stlinst.cc: Add include of stl_config.h.
5011
5012 1999-02-09 Benjamin Kosnik <bkoz@cygnus.com>
5013
5014 * stl/bits/std_bitset.h: Update to SGI STL 3.12.
5015 * stl/bits/stl_config.h: Tweak, update.
5016 * stl/bits/std_stdexcept.h: Ditto, change stl_exception to
5017 std_exception.
5018 * stl/bits/std_memory.h: Reconstructed auto_ptr, Ditto.
5019 * stl/bits/std_functional.h: Ditto.
5020
5021 * stl/bits/stl_string.h: New file, SGI's string
5022 implementation. For reference only, corresponding to string in
5023 3.12 source.
5024 * stl/bits/stl_char_traits.h: As above.
5025
5026 * stl/bits/pthread_allocimpl.h: New file corresponding to
5027 pthread_alloc.
5028 * stl/bits/stl_pthread_alloc.h: New file corresponding to
5029 pthread_alloc.h
5030 * stl/bits/stl_threads.h: New file.
5031
5032 Note that SGI STL 3.12's file iterator.h is not used.
5033 * stl/bits/std_iterator.h: Ditto.
5034 * stl/bits/stl_iterator.h: Drop in replace.
5035 * stl/bits/stl_iterator_base.h: New file, drop in replace.
5036
5037 * stl/bits/stl_queue.h, stl_rope.h, stl_set.h, stl_stack.h,
5038 stl_string_fwd.h, stl_tempbuf.h, stl_tree.h, stl_vector.h,
5039 stl_pair.h, stl_multimap.h, stl_multiset.h, stl_list.h,
5040 stl_hashtable.h, stl_hash_set.h, stl_hash_map.h, stl_function.h,
5041 stl_deque.h, stl_alloc.h, stl_algo.h, stl_algobase.h, ropeimpl.h:
5042 Drop-in replace (ie, stop changing __SGI_STL_* to _CPP_BITS_* for
5043 preprocessor guards, but fixup include paths and names according
5044 to new directory layout).
5045
5046 1999-02-05 Benjamin Kosnik <bkoz@cygnus.com>
5047
5048 * bits/std_fstream.h: Remove _M_open data member.
5049 * bits/fstream.tcc: Ditto.
5050
5051 * src/locale.cc: Tweak.
5052
5053 * bits/std_sstream.h: Simplify.
5054
5055 * bits/std_streambuf.h: Simplify.
5056 (sputc): Use correct definition of "write area."
5057
5058 * bits/std_fstream.h: Fix uflow.
5059 * src/basic_file.cc: Tweak.
5060 * testsuite/27/27filebuf.cc: Add tests.
5061 * testsuite/27/27filebuf-3.txt: Rename to *-2.txt.
5062
5063 1999-02-02 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
5064
5065 * bits/ios_base.h: Make protected.
5066
5067 1999-02-01 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
5068
5069 * bits/ios_base.h: Changes in the class ios_base:
5070 Rename _M_exceptions member to _M_exceptions_data.
5071 Make the member functions rdstate(), clear(), exceptions()
5072 and exceptions(iostate) protected and add the "_M_" prefix.
5073 * src/ios.cc: Ditto.
5074 * bits/basic_ios.h: Adapt the changes from ios_base.
5075
5076 1999-01-29 Benjamin Kosnik <bkoz@cygnus.com>
5077
5078 * bits/std_fstream.h: Remove _M_flags, _M_equilibrate as unnecessary.
5079 * bits/fstream.tcc: Ditto.
5080
5081 * bits/std_fstream.h (underflow): Resize deallocates memory and
5082 resets pointers in the internal cache according to new _M_buf. . dooh!
5083 * src/locale.cc: Mas changes with codecvt::do_in, do_out.
5084
5085 1999-01-29 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
5086
5087 * stl/bits/std_memory.h: Modify auto_ptr::reset to reflect the
5088 standard.
5089
5090 1999-01-28 Benjamin Kosnik <bkoz@cygnus.com>
5091
5092 * src/locale.cc (codecvt::do_in): Finer-grained tuning to take
5093 into account partial returns.
5094 (codecvt::do_out): Likewise.
5095
5096 * bits/char_traits.h: Change streamsize to be a signed type, as
5097 required by 27.4.1 Types p 2. (Changing to _IO_ssize_t.)
5098 * bits/std_streambuf.h: Make
5099 in_avail() and showmanyc() have streamsize as return types, so
5100 that showmanyc()'s return of eof won't underflow in_avail's return
5101 value and give a bogus result.
5102 * src/misc-inst.cc: And more changes. . .
5103
5104 * bits/std_streambuf.h (basic_streambuf): Add _M_buf_unified to keep
5105 track of joint in/out pointers into the internal buffer.
5106 (sbumpc): Add check for _M_buf_unified.
5107 (sputbackc): Ditto.
5108 (sungetc): Ditto.
5109
5110 * testsuite/27/27filebuf.cc: Add cases.
5111 * testsuite/27/27stringbuf.cc: Add showmanyc case.
5112
5113 * bits/std_fstream.h (close): Fix logic error.
5114 (open): Initialize internal pointers based on _M_buf and _M_buf_size.
5115 (showmanyc): Add underflow component, to match the standard.
5116
5117 * bits/fstream.tcc: Ditto.
5118
5119 1999-01-27 Benjamin Kosnik <bkoz@cygnus.com>
5120
5121 * bits/basic_file.h: Match vtables w/ _IO_FILE_plus.
5122 * src/basic_file.cc: Ditto.
5123 * src/Makefile.in: Add -fvtable-thunks to CXXFLAGS: preferred
5124 format for dealing with _IO_file in libio.
5125
5126 1999-01-27 Ulrich Drepper <drepper@cygnus.com>
5127
5128 * src/basic_file.cc: Include fcntl.h.
5129
5130 1999-01-27 Benjamin Kosnik <bkoz@cygnus.com>
5131
5132 * libio/Makefile.in: Add fileops.lo, genops.lo to objects to debug
5133 libio calls.
5134 * bits/std_streambuf.h: Redefine read posion.
5135
5136 * bits/std_fstream.h: Temporary hack to get vtables working again.
5137 * bits/basic_file.h: Revert.
5138 * src/basic_file.cc: Ditto.
5139 * testsuite/27/27filebuf.cc: Tweak.
5140
5141 1999-01-26 Benjamin Kosnik <bkoz@cygnus.com>
5142
5143 * bits/basic_file.h: Add showmanyc, underflow. .
5144 * src/basic_file.cc: Ditto.
5145
5146 * bits/std_fstream.h (showmanyc): Add bits to ping libio to see if more
5147 chars can be read.
5148
5149 * testsuite/27/27filebuf.cc: Add testcases.
5150 * src/basic_file.cc: Add O_CREAT to open calls with
5151 ios_base::trunc as part of the open mode.
5152
5153 1999-01-26 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
5154
5155 * bits/basic_ios.h: fix basic_ios::exceptions(iostate)
5156
5157 1999-01-25 Benjamin Kosnik <bkoz@nabi.net>
5158
5159 * src/ios.cc (clear): Correct typo.
5160 * bits/ios_base.h: Tweak spacing.
5161
5162 1999-01-25 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
5163
5164 * bits/basic_ios.h: fix basic_ios::fail()
5165
5166 1999-01-25 Benjamin Kosnik <bkoz@loony.cygnus.com>
5167
5168 * bits/basic_file.h: Include libioP.h from libio instead of here.
5169 * bits/iolibio.h: Remove.
5170 * bits/libio.h: Remove.
5171
5172 1999-01-22 Benjamin Kosnik <bkoz@lunatic.cygnus.com>
5173
5174 * bits/std_fstream.h: Tweak cvt-> in call for newer egcs compilers.
5175
5176 1999-01-22 Ulrich Drepper <drepper@cygnus.com>
5177
5178 * Makefile.am (SUBDIRS): Add libio.
5179 * configure.in: Add rule to test for glibc2.
5180
5181 * src/Makefile.am (INCLUDES): Add -I to libio subdir.
5182 (libstdc___la_LIBADD): Add libio.la.
5183
5184 1999-01-21 Benjamin Kosnik <bkoz@cygnus.com>
5185
5186 * bits/basic_file.h: Make new abstraction for underlying C library
5187 FILE, named __basic_file.
5188 * src/basic_file.cc: New file.
5189 * bits/os_raw.h: Delete.
5190 * src/os_raw.cc: Delete.
5191 * src/Makefile.in: Tweak.
5192 * src/Makefile.am: Tweak.
5193 * bits/iolibio.h: Add this here, for the time being.
5194 * bits/libioP.h: Ditto.
5195
5196 * bits/ios_base.h: Delete unused defines.
5197 * src/locale.cc (codecvt<char, char, mbstate_t>::do_in): Use
5198 strcpy to copy between the two buffers.
5199
5200 * testsuite/27/27stringbuf.cc: Change license, fix in_avail tests.
5201 * testsuite/27/27filebuf.cc: New file.
5202 * testsuite/27/27filebuf-1.txt: Data file for above test.
5203 * testsuite/27/27filebuf-2.txt: Ditto.
5204
5205 * bits/std_streambuf.h (uflow): Re-implement default.
5206 * bits/std_fstream.h: Set _M_buf_size based on cstdio's BUFSIZ.
5207 Re-implement virtual functions.
5208 * bits/fstream.tcc: Delete unused mf's.
5209
5210 1998-12-31 Benjamin Kosnik <bkoz@lunatic.cygnus.com>
5211
5212 * bits/fstream.tcc: Add fstream ctor for cin/cout/etc.
5213 * bits/std_fstream.h: Ditto.
5214 * src/stdstreams.cc: Ditto.
5215
5216 * math/cpowl.c: Fix header typo with last change.
5217
5218 1998-12-31 Benjamin Kosnik <bkoz@loony.cygnus.com>
5219
5220 * COPYING: New file (GPL v 2).
5221 * LICENSE.STD: Remove.
5222 * ./*: Change license.
5223
5224 1998-12-30 Benjamin Kosnik <bkoz@haight.constant.com>
5225
5226 * bits/std_streambuf.h (std): Remove static on _M_init.
5227 * bits/streambuf.tcc (std): Ditto.
5228
5229 * bits/std_fstream.h: Add changes as discussed with Nathan, including
5230 state_type and codecvt_type members, the allocation of an internal
5231 buffer, the streamlined codecvt calls, etc.
5232
5233 1998-12-21 Benjamin Kosnik <bkoz@haight.constant.com>
5234
5235 * bits/std_sstream.h: Tweak.
5236 * bits/fstream.tcc: Remove unused stubs.
5237 * bits/std_fstream.h: Tweak.
5238
5239 1998-12-17 Benjamin Kosnik <bkoz@tintin.cygnus.com>
5240
5241 * bits/std_streambuf.h: Move _IO_file_flags into basic_filebuf.
5242 Remove unused _IO_* members, possibly put into filebuf, which may
5243 need them.
5244 * bits/std_fstream.h: Add _M_flag.
5245 * bits/sbuf_iter.h: Tweak.
5246
5247 * bits/std_cstdio.h: Add SEEK_SET, SEEK_END, SEEK_CUR.
5248 * bits/ios_base.h: Use.
5249
5250 * src/stdstreams.cc: Modify to reflect standard ctors for
5251 filebuf.
5252 * src/misc-inst.cc: Ditto.
5253
5254 * bits/os_raw.h: Wrap in std namespace. Model parameters on
5255 underlying C library calls instead of the underlying unix
5256 filesystem.
5257 * src/os_raw.cc (_S_os_open): Use fopen, and compute a mode
5258 string as per p.659.
5259 (_S_os_close): Model on fopen.
5260 (_S_os_read): Model on fread.
5261 (_S_os_write): Model on fwrite.
5262 (_S_os_seek): Model on fseek.
5263
5264 * bits/ios_base.h: Tweak.
5265 * bits/std_iosfwd.h: Wrap libio.h include with extern "C".
5266 * bits/std_sstream.h: Tweak.
5267 * bits/sstream.tcc: Remove old, uncalled code.
5268 * bits/std_fstream.h: Major reconstruction.
5269 * bits/fstream.tcc: Disable for the time being.
5270
5271 1998-12-11 Benjamin Kosnik <bkoz@haight.constant.com>
5272
5273 * bits/basic_string.h: Fix insert method.
5274 * stl/bits/stl_iterator.h: Remove previous hack.
5275 * bits/std_streambuf.h (sbumpc): Correct increment/return oddness.
5276 * bits/std_sstream.h: Fix more regressions.
5277 * testsuite/27/27stringbuf.C: Add (almost) complete tests.
5278
5279 1998-12-09 Benjamin Kosnik <bkoz@loony.cygnus.com>
5280
5281 * bits/basic_string.h: Tweak.
5282
5283 * stl/bits/stl_iterator.h: Specialize iterator_traits for int so
5284 that string::append can be instantiated. HACK--checkin
5285 basic_string::iterator class.
5286
5287 1998-12-07 Benjamin Kosnik <bkoz@haight.constant.com>
5288
5289 * bits/std_sstream.h: Tweak.
5290 * bits/sstream.tcc: Tweak ctors.
5291
5292 FIXME invalid friend defs. . WHERE ARE THEY??
5293
5294 * bits/sbuf_iter.h (istreambuf_iterator::equal): Change to new
5295 names for basic_streambuf data members.
5296
5297 * bits/std_streambuf.h: Add getloc() initialization bits.
5298 basic_streambuf(): Initialize with global locale data.
5299 imbue(): Set _M_init.
5300
5301 * bits/std_streambuf.h(seekoff, seekpos): Complete with invalid
5302 stream pos == pos_type(off_type(-1)).
5303 in_avail(): Complete default implementation.
5304 snextc, sbumpc, sputbackc, sungetc, sputc, setg, xsputn,
5305 underflow, uflow, xsgetn, showmany, sync: Ditto.
5306
5307 * bits/std_streambuf.h: _M_snextc_helper(): Remove.
5308
5309 * bits/streambuf.tcc (sputbackc): Temporarily remove, need to
5310 re-populate with in-line member functions that are too big. Add
5311 initialization for _M_init.
5312
5313 1998-12-03 Benjamin Kosnik <bkoz@cygnus.com>
5314
5315 * bits/sstream.tcc: Convert _Allocator to _Alloc. Add typedefs
5316 for basic_string and basic_streambuf. Scope _IO_buf_* pointers to
5317 streambuf_type.
5318
5319 * src/stdstreams.cc (std): Disable wchar_t instantiations.
5320
5321 * bits/c++config.h (_G_DEPRICATED): Add.
5322 (_G_USE_WCHAR_T): Add.
5323 * bits/std_streambuf.h: Radical reconstruction of basic_streambuf.
5324 Take out _Streambuf_base. Put _IO_FILE data member in basic_filebuf.
5325 * bits/streambuf.tcc (sputbackc): Remove ctor anti-def, Tweak.
5326 * bits/std_fstream.h: Add comment for implementation.
5327 * src/streambuf.cc: Remove.
5328 * src/Makefile.in: Remove streambuf.lo.
5329 * src/misc-inst.cc: Tweak.
5330
5331 1998-12-02 Benjamin Kosnik <bkoz@cygnus.com>
5332
5333 * bits/std_sstream.h: Add const_cast to rdbuf returns.
5334 * testsuite/27stringstream.C: Modify.
5335
5336 1998-11-25 Benjamin Kosnik <bkoz@haight.constant.com>
5337
5338 * src/Makefile.in (libstdc___la_OBJECTS): Add streambuf.lo.
5339 (libstdc___la_SOURCES): Ditto.
5340
5341 * bits/streambuf.tcc: Tweak.
5342
5343 * src/streambuf.cc: New file, add out-of-line definitions for
5344 _Streambuf_base.
5345
5346 * src/misc-inst.cc: Remove _Streambuf_base instantiations.
5347 Comment out wchar_t versions of the buffer instantiations, for now.
5348
5349 * bits/std_streambuf.h: Wrap libio.h include with extern "C".
5350 Remove template wrapper around _Streambuf_base.
5351 Move IO_* data members into _Streambuf_base.
5352 Move _Streambuf_base members into streambuf.tcc.
5353
5354 * bits/c++config.h (_G_USE_LIBIO): Enable.
5355
5356 1998-11-02 Nathan Myers <ncm@cantrip.org>
5357
5358 * CHECKLIST: downgrade iterator implementations
5359 * DESIGN: fill out notes about unimplemented features
5360
5361 1998-10-31 Nathan Myers <ncm@cantrip.org>
5362
5363 * CHECKLIST: itemized list of all interfaces, and status of each.
5364
5365 1998-10-30 Nathan Myers <ncm@cantrip.org>
5366
5367 * RELEASE-NOTES: add notes about optional includes, linking, running
5368 * src/Makefile.am: handle header installs properly
5369 * src/Makefile.in: regenerate from new src/Makefile.am
5370
5371 1998-10-30 Benjamin Kosnik <bkoz@loony.cygnus.com>
5372
5373 * bits/basic_string.h: Revert npos pending ciso646.
5374 * src/Makefile.am: Revert CXX flags for now.
5375 * src/Makefile.in: Ditto.
5376
5377 1998-10-30 Brendan Kehoe <brendan@cygnus.com>
5378
5379 * bits/std_sstream.h: Re-order ctors to put base before member
5380 inits.
5381
5382 1998-10-30 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
5383
5384 * stl/bits/std_memory.h: Fix typo.
5385
5386 1998-10-30 Nathan Myers <ncm@cantrip.org>
5387
5388 * src/string[A-Z]+.cc: change back to include "string.cc".
5389 * src/Makefile.am: revert filename changes. We need a different
5390 way to keep filenames in std/ from confusing Make.
5391 * bits/basic_string.h: define _S_max_size right, return it from
5392 string::max_size(); churn definition of npos again.
5393 * bits/string.tcc: fix _S_frob_size to avoid uint overflow.
5394 * bits/ios.cc: remove #ifdef on ios_base locale member initialization
5395 * BUGS: clear cruft.
5396 * C++STYLE: Touchup for release.
5397 * CHECKLIST: Touchup for release.
5398 * DESIGN: New file.
5399 * LICENSE.STD: Add requirement to retain copyrights and to provide
5400 the license with any copies.
5401 * README: Update for release.
5402 * TODO: Minor touchup for release.
5403 * RELEASE-NOTES: prepare for release
5404
5405 1998-10-29 Ulrich Drepper <drepper@cygnus.com>
5406
5407 * src/string[A-Z]+.cc: Include stdstring.cc, not string.cc.
5408
5409 * src/Makefile.am (CXXFLAGS): Define _GNU_SOURCE.
5410
5411 * src/Makefile.am (CXXLINK): New variable. Make sure we don't use
5412 CXX to generate the shared object.
5413
5414 * src/Makefile.am (headers): Remove duplicated char_traits.h.
5415
5416 1998-10-29 Brendan Kehoe <brendan@cygnus.com>
5417
5418 * bits/basic_string.h (basic_string<>::max_size): Subtract 1, not
5419 2, from npos, solving infinite loop problems.
5420
5421 1998-10-29 18:41 Ulrich Drepper <drepper@cygnus.com>
5422
5423 * src/Makefile.am: Add rules to install headers.
5424
5425 1998-10-29 Nathan Myers <ncm@cantrip.org>
5426
5427 * bits/std_ostream.h: Remove #ifdef on operator<< for long double
5428 * bits/ostream.tcc: Remove #ifdef on operator<< for long double
5429 * shadow/libio.h:
5430 * shadow/unistd.h:
5431 * shadow/bits/wrap_libio.h:
5432 * shadow/bits/wrap_unistd.h: New files.
5433
5434 1998-10-29 Brendan Kehoe <brendan@cygnus.com>
5435
5436 * bits/ostream.tcc (operator<<): Wrap with #ifdef
5437 _G_HAVE_LONG_DOUBLE_IO, to match bits/std_ostream.h.
5438
5439 1998-10-29 Ulrich Drepper <drepper@cygnus.com>
5440
5441 * src/Makefile.am: Add temporarily rules to make sure misc-inst.cc
5442 is not compiled with -fno-implicit-templates in effect.
5443
5444 * src/Makefile.am (EXTRA_SOURCES): Add string.cc and wstring.cc here.
5445 (libstdc___la_SOURCES): Add all the string*.cc and wstring*.cc files.
5446 * src/stringADDCS.cc: Wrapper around string.cc to define individual
5447 function.
5448 * src/stringADDPS.cc: Likewise.
5449 * src/stringADDSC.cc: Likewise.
5450 * src/stringADDSP.cc: Likewise.
5451 * src/stringADDSS.cc: Likewise.
5452 * src/stringBIST.cc: Likewise.
5453 * src/stringBOST.cc: Likewise.
5454 * src/stringCHTR.cc: Likewise.
5455 * src/stringEQPS.cc: Likewise.
5456 * src/stringEQSP.cc: Likewise.
5457 * src/stringEQSS.cc: Likewise.
5458 * src/stringEXTRA.cc: Likewise.
5459 * src/stringGEPS.cc: Likewise.
5460 * src/stringGESP.cc: Likewise.
5461 * src/stringGESS.cc: Likewise.
5462 * src/stringGETLI.cc: Likewise.
5463 * src/stringGTPS.cc: Likewise.
5464 * src/stringGTSP.cc: Likewise.
5465 * src/stringGTSS.cc: Likewise.
5466 * src/stringINSER.cc: Likewise.
5467 * src/stringLEPS.cc: Likewise.
5468 * src/stringLESP.cc: Likewise.
5469 * src/stringLESS.cc: Likewise.
5470 * src/stringLTPS.cc: Likewise.
5471 * src/stringLTSP.cc: Likewise.
5472 * src/stringLTSS.cc: Likewise.
5473 * src/stringMAIN.cc: Likewise.
5474 * src/stringNEPS.cc: Likewise.
5475 * src/stringNESP.cc: Likewise.
5476 * src/stringNESS.cc: Likewise.
5477 * src/stringSCOPY.cc: Likewise.
5478 * src/wstringADDCS.cc: Wrapper around wstring.cc to define individual
5479 functions.
5480 * src/wstringADDPS.cc: Likewise.
5481 * src/wstringADDSC.cc: Likewise.
5482 * src/wstringADDSP.cc: Likewise.
5483 * src/wstringADDSS.cc: Likewise.
5484 * src/wstringBIST.cc: Likewise.
5485 * src/wstringBOST.cc: Likewise.
5486 * src/wstringCHTR.cc: Likewise.
5487 * src/wstringEQPS.cc: Likewise.
5488 * src/wstringEQSP.cc: Likewise.
5489 * src/wstringEQSS.cc: Likewise.
5490 * src/wstringEXTRA.cc: Likewise.
5491 * src/wstringGEPS.cc: Likewise.
5492 * src/wstringGESP.cc: Likewise.
5493 * src/wstringGESS.cc: Likewise.
5494 * src/wstringGETLI.cc: Likewise.
5495 * src/wstringGTPS.cc: Likewise.
5496 * src/wstringGTSP.cc: Likewise.
5497 * src/wstringGTSS.cc: Likewise.
5498 * src/wstringINSER.cc: Likewise.
5499 * src/wstringLEPS.cc: Likewise.
5500 * src/wstringLESP.cc: Likewise.
5501 * src/wstringLESS.cc: Likewise.
5502 * src/wstringLTPS.cc: Likewise.
5503 * src/wstringLTSP.cc: Likewise.
5504 * src/wstringLTSS.cc: Likewise.
5505 * src/wstringMAIN.cc: Likewise.
5506 * src/wstringNEPS.cc: Likewise.
5507 * src/wstringNESP.cc: Likewise.
5508 * src/wstringNESS.cc: Likewise.
5509 * src/wstringSCOPY.cc: Likewise.
5510 * src/string.cc: Remove now unneeded #defines now.
5511
5512 1998-10-29 Nathan Myers <ncm@cantrip.org>
5513
5514 * bits/locfacets.tcc: Define num_put::put(... const void*), improve
5515 integer formatting.
5516 * bits/ostream.tcc: Delete cruft, rewrite various op<< as members,
5517 add definitions for double, long double, const void*.
5518 * bits/std_ostream.h: Move op<<'s back into class ostream,
5519 define some in-line.
5520 * bits/string.tcc: fix unnecessary-copying bug in op[], typos in
5521 string construction from input iterators that Brendan reported.
5522
5523
5524 1998-10-28 Brendan Kehoe <brendan@cygnus.com>
5525
5526 * stl/bits/stl_pair.h (op!=, op>, p<=, op>=): Add missing definitions.
5527
5528 * bits/valarray_meta.h (class _Constant): Move declaration to the
5529 top, so the rest of the file can grok it.
5530 (_ApplyBinaryFunction::operator[]): Add missing parenthesis.
5531
5532 * bits/std_sstream.h (basic_ostringstream::str): Fix typo of extra
5533 semicolon.
5534 (basic_stringstream::str, both instances): Likewise.
5535
5536 1998-10-28 Nathan Myers <ncm@cantrip.org>
5537
5538 * bits/locfacets.h: fix num_put<>::falsename()
5539 * bits/locfacets.tcc: fix _Format_cache<>::_M_populate bool name init
5540 * testsuite/27/27octfmt.C, testsuite/27/27octfmt.C: new tests
5541 * bits/locfacets.tcc: touch up _S_group_digits.
5542 * src/misc-inst.cc: adjust _S_group_digits insts to match.
5543
5544 1998-10-27 Nathan Myers <ncm@cantrip.org>
5545
5546 * stl/bits/stl_config.h: Turn off long long support, for now.
5547 * src/locale-inst.cc: Instantiate num_put<> only for
5548 ostreambuf_iterator, num_get only for istreambuf_iterator.
5549 * src/misc-inst.cc: Delete duplicate locale-related instantiations,
5550 add lots of new instantiations for num_put support function templates;
5551 remove junk about __match_parallel for ostreambuf_iterator.
5552
5553 1998-10-27 Nathan Myers <ncm@cantrip.org>
5554
5555 * bits/locfacets.tcc: Make num_put's digit grouping work.
5556 * bits/string.tcc: More uglification.
5557 * src/ios.cc: initialize format cache right
5558
5559 1998-10-26 Nathan Myers <ncm@cantrip.org>
5560
5561 * bits/basic_string.h: Uglify more names.
5562 * bits/fstream.tcc: Rewrite some filebut output handling.
5563 * bits/ios_base.h: Cosmetic.
5564 * bits/locfacets.h: Changes to _Format_cache for support of num_put.
5565 Also, specialize its default ctor for optimal default case.
5566 #ifdef out "long long" prototypes for now.
5567 * bits/locfacets.tcc: Do complete, optimized num_put<>::do_put
5568 implementation for integer types. (Still needs optimized
5569 std::copy() applied to ostreambuf_iterator to be optimal.)
5570 * bits/ostream.tcc: Write operator<< for long, bool types.
5571 Make other operators<< non-members, per spec. (Many still
5572 not implemented.) Identify those that fail to create a sentry.
5573 * bits/sbuf_iter: Cosmetic.
5574 * bits/std_fstream.h: Add some filebuf members.
5575 * bits/std_locale.h: Include <limits> for use in bits/locfacets.h
5576 * bits/std_ostream.h: Make member operators<< global, per spec.
5577 (Should do the same in std_istream.h.)
5578 * bits/std_string.h: Include <limits> for use in bits/locfacets.h
5579 * bits/string.tcc: Uglify names
5580 * shadow/bits/std_cstdlib.h: Optimize std::div and std::ldiv.
5581 * src/ios.cc: Specialize _Format_cache<> for char and wchar_t,
5582 for optimal default behavior.
5583
5584 1998-10-26 Benjamin Kosnik <bkoz@loony.cygnus.com>
5585
5586 * src/Makefile.in (libstdc___la_SOURCES): Add misc-inst.cc again.
5587
5588 1998-10-21 Nathan Myers <ncm@cantrip.org>
5589
5590 * src/locale.cc: make ctype operations actually work for glibc
5591 * CHECKLIST: add a comprehensive (i.e. huge) implementation
5592 checklist of stdlib facilities. Not filled in yet.
5593
5594 1998-10-20 Nathan Myers <ncm@cantrip.org>
5595
5596 * bits/string.tcc: fix patching NULs on string ends.
5597
5598 1998-10-19 Nathan Myers <ncm@cantrip.org>
5599
5600 * bits/std_iosfwd.h: eliminate "basic_" prefix on streambuf
5601 iterator forward declarations
5602 * bits/sbuf_iter.h: eliminate default template argument definitions
5603 on streambuf iterators (rely on <iosfwd> decls).
5604 * TODO: add note about lazy facet construction
5605 * bits/basic_ios.h: hit operator void* again. This should be the
5606 last time we need to touch it.
5607 * bits/basic_ios.h: copyfmt now returns *this.
5608 * bits/basic_string.h: fix npos again. npos cannot be defined as zero.
5609 * bits/basic_string.h: put back overloaded constructors; adjust
5610 behavior for default allocator on copy constructor.
5611 * bits/char_traits.h: make not_eof return correct type.
5612 * bits/loccore.h: remove call to bits/std_stdexcept.h; subincludes
5613 cannot be in non-standard headers or we get include loops (bad)
5614 * bits/loccore.h: delete ifdef'd out workarounds for old compiler bugs.
5615 * bits/loccore.h: add apparatus to support lazy construction of
5616 facets.
5617 * bits/locfacets.tcc: Uglify names in __match_parallel decl.
5618 * bits/std_ios.h: add include of <typeinfo> to get bad_cast for
5619 locale use_facet<> failure.
5620 * bits/std_locale.h: same.
5621 * bits/std_string.h: same.
5622 * bits/std_stdexcept.h: change exception member __msg from a
5623 reference to a regular object.
5624 * bits/string.tcc: add pasting a NUL on the end of strings after
5625 each operation. We had already left room for it, but previously
5626 plugged it only on a call to c_str(), but the WG changed the
5627 requirement when I wasn't looking. (Can't leave them alone for
5628 a second without they break something else.)
5629 * bits/valarray_meta.h: add Gaby's changes from 981018.
5630 * src/locale.cc: add new type _Bad_use_facet to be thrown on
5631 failure of use_facet<>().
5632 * src/stdexcept.cc: remove pragma, remove bkoz's #if 0,
5633 comment out leftover member definitions
5634
5635 1998-10-16 Ulrich Drepper <drepper@cygnus.com>
5636
5637 * string/Makefile.am: Revert last change.
5638 * math/Makefile.am: Likewise.
5639
5640 1998-10-15 Benjamin Kosnik <bkoz@haight.constant.com>
5641
5642 * bits/std_sstream.h: Fix typo.
5643
5644 1998-10-15 Benjamin Kosnik <bkoz@haight.constant.com>
5645
5646 * src/Makefile.am (libstdc___la_SOURCES): Add misc-inst.cc.
5647
5648 * bits/std_sstream.h: Add typedefs, member definitions. Clean.
5649 * bits/std_stdexcept.h: Remove.
5650
5651 1998-10-15 Benjamin Kosnik <bkoz@haight.constant.com>
5652
5653 * src/misc-inst.cc: Tweak again.
5654
5655 * bits/std_sstream.h: Move out-of-line definitions to sstream.tcc.
5656 * bits/sstream.tcc: New file.
5657
5658 1998-10-15 Ulrich Drepper <drepper@cygnus.com>
5659
5660 * configure.in: Test for machine/param.h, sys/machine.h and fp.h.
5661 Don't run AC_C_BIGENDIAN if machine/param.h or sys/machine.h are
5662 available.
5663
5664 * math/mathconf.h: Include sys/machine.h, machine/param.h and fp.h
5665 if available.
5666 (INFINITE_P): Use IS_INF macro if available.
5667
5668 1998-10-15 Ulrich Drepper <drepper@cygnus.com>
5669
5670 * math/Makefile.am (EXTRA_LTLIBRARIES): Renamed from
5671 noinst_LTLIBRARIES.
5672 * string/Makefile.am: Likewise.
5673
5674 1998-10-15 Ulrich Drepper <drepper@cygnus.com>
5675
5676 * configure.in (AC_CHECK_FUNCS): Add finite, qfinite, fpclass, and
5677 qfpclass.
5678 (AC_CHECK_HEADERS): Add machine/endian.h. If no header specifying
5679 endianess is available run AC_C_BIGENDIAN.
5680
5681 * math/clog10l.c: Add ugly hack around bug in Irix 6.2 header until
5682 fixincludes is fixed.
5683 * math/clogl.c: Likewise.
5684 * math/csqrtl.c: Likewise.
5685 * math/mycabsl.c: Likewise.
5686
5687 * math/mathconf.h: Include machine/endian.h if possible. If no
5688 header describing endianess is available rely on WORDS_BIGENDIAN
5689 macro.
5690 (FINITE_P, FINITEF_P, FINITEL_P): Use finite functino if available.
5691 (INFINITE_P, INFINITEF_P, INFINITEL_P): Use fpclass function if
5692 available.
5693
5694 * src/complex.cc (polar): Don't use sincos on OSF machines.
5695
5696 1998-10-09 Benjamin Kosnik <bkoz@loony.cygnus.com>
5697
5698 * src/locale-inst.cc: Don't instantiate time_get for
5699 ostreambuf_iterators as time_get::do_get_weekday and
5700 time_get::do_get_monthname use __match_parallel, which is illegal
5701 for ostreambuf_iterators to use, as they don't have operator== or
5702 operator!=.
5703 * bits/std_stdexcept.h: Add dtor definitions.
5704 Use stl/bits/std_stdexcept.h instead of this file?
5705 * bits/sbuf_iter.h : Tweak.
5706 * src/misc-inst.cc: Tweak.
5707
5708 1998-10-09 Benjamin Kosnik <bkoz@haight.constant.com>
5709
5710 * bits/std_stdexcept.h: New file.
5711 * src/stdexcept.cc: Define the following:
5712 logic_error::what()
5713 runtime_error::what()
5714
5715 * src/misc-inst.cc: New file.
5716 * src/Makefile.in (libstdc___la_SOURCES): Add misc-inst.cc.
5717 (libstdc___la_OBJECTS): Add misc-inst.lo.
5718
5719 * bits/basic_string.h: Disable non-standard ctor declarations.
5720 * bits/string.tcc: Disable definitions as well.
5721 * src/string.cc: Disable <ios> dependancies.
5722 * bits/sbuf_iter.h (std): Add default to template parameter for
5723 ostreambuf_iterator and istreambuf_iterator.
5724 * bits/std_iosfwd.h: Change istreambuf_iterator to
5725 basic_istreambuf_iterator. Likewise for ostreambuf.
5726 * bits/locfacets.tcc (__match_parallel): Fix typo.
5727 * src/ios.cc (imbue): Remove the _G_HAVE_LOCALE guards around
5728 ios_base::imbue.
5729 * bits/std_streambuf.h: Define _Streambuf_base::getloc().
5730 * bits/std_istream.h: Define the following:
5731 get (basic_streambuf<char_type,_Traits>& __sb, char_type __delim)
5732 get (char_type* __s, streamsize __n, char_type __delim);
5733 getline (char_type* __s, streamsize __n, char_type __delim)
5734 * bits/loccore.h : FIXME friend template code for use_facet.
5735 Add std_stdexcept.h include so that range_error will be defined.
5736 Add explicit conversion to string for range_error throws. (HACK?)
5737
5738 1998-10-8 Ulrich Drepper <drepepr@cygnus.com>
5739
5740 * configure.in: Check for sincos, sincosf, and sincosl.
5741 * src/complex.cc (polar): Use sincos if available.
5742
5743 * bits/c++config.h: Fix hack to get LONG_LONG* definitions on Linux.
5744 * stl/bits/std_limits.h: Include bits/c++config.h. HACK!!!
5745
5746 * math/clog10.c: Fix typo (FP_INIFITE_P -> INFINITE_P).
5747
5748 * math/cpow.c: Use c_log, not clog.
5749 * math/cpowf.c: Likewise.
5750 * math/cpowl.c: Likewise.
5751
5752 * math/cexp.c: Remove unused fpclassify calls. Use FINITE_P instead
5753 of isfinite call.
5754
5755 * math/mathconf.h (FINITE_P, FINITEF_P, FINITEL_P): Define using
5756 isfinite macro if it is available.
5757 (INFINITE_P, INFINITEF_P, INFINITEL_P): Define using isinf macro.
5758
5759 * math/ccosf.c: Use appropriate test macros for this type.
5760 * math/ccoshf.c: Likewise.
5761 * math/ccoshl.c: Likewise.
5762 * math/ccosl.c: Likewise.
5763 * math/cexpf.c: Likewise.
5764 * math/cexpl.c: Likewise.
5765 * math/clog10f.c: Likewise.
5766 * math/clog10l.c: Likewise.
5767 * math/clogf.c: Likewise.
5768 * math/clogl.c: Likewise.
5769 * math/csinf.c: Likewise.
5770 * math/csinhf.c: Likewise.
5771 * math/csinhl.c: Likewise.
5772 * math/csinl.c: Likewise.
5773 * math/csqrtf.c: Likewise.
5774 * math/csqrtl.c: Likewise.
5775 * math/ctanf.c: Likewise.
5776 * math/ctanhf.c: Likewise.
5777 * math/ctanhl.c: Likewise.
5778 * math/ctanl.c: Likewise.
5779
5780 1998-10-06 Benjamin Kosnik <bkoz@bliss.nabi.net>
5781
5782 * bits/basic_ios.h: Fix previous change.
5783
5784 1998-10-06 Benjamin Kosnik <bkoz@bliss.nabi.net>
5785
5786 * bits/basic_ios.h: Add const_cast<basic_ios&>
5787 (operator void*): As per 5.2.9 p 2, make sure static_cast is
5788 well-formed.
5789 * bits/char_traits.h: No _CharT for specialization, change to 0.
5790 * bits/basic_string.h: As per 9.4.2 p4, initialize with
5791 constant-initializer.
5792 * bits/locfacets.tcc: Add template parameter to initialization list.
5793
5794 1998-10-02 Benjamin Kosnik <bkoz@loony.cygnus.com>
5795
5796 * bits/basic_string.h: Should just be <, not <=.
5797
5798 1998-10-01 Benjamin Kosnik <bkoz@bliss.nabi.net>
5799
5800 * bits/string.tcc (compare): Fix for strings that are similar, but
5801 not the same length.
5802
5803 1998-09-04 Brendan Kehoe <brendan@cygnus.com>
5804
5805 * bits/c++config.h: For __linux__, define _GNU_SOURCE. This is
5806 required for us to get LONG_LONG_{MIN,MAX} out of gcc's limits.h.
5807 We can't check for __GLIBC__ here, since this header can be read
5808 before any system one (that would lead to features.h) being used.
5809
5810 * stl/bits/stl_config.h (__STL_LONG_LONG): Re-enabled
5811
5812 * stl/bits/std_limits.h [__STL_LONG_LONG]: Fix usage to use
5813 LONG_LONG_MIN, LONG_LONG_MAX, and ULONG_LONG_MAX.
5814
5815 * stl/bits/stl_config.h: Don't do __STL_LONG_LONG, it uses
5816 LONGLONG_{MIN,MAX} which I can't find the origin of.
5817
5818 1998-09-03 Brendan Kehoe <brendan@cygnus.com>
5819
5820 * stl/bits/stl_iterator.h: Add extern decl of cin for now; where
5821 should this come from, if not iostream.h?
5822 (class istream_iterator): Make the new operator!= a friend also.
5823
5824 * stl/bits/stl_config.h: Define __STL_HAS_WCHAR_T,
5825 __STL_MEMBER_TEMPLATE_CLASSES, and __STL_LONG_LONG. Don't include
5826 _G_config.h like the egcs one does.
5827
5828 1998-09-01 Brendan Kehoe <brendan@cygnus.com>
5829
5830 * bits/string.tcc: Call `_M_destroy' instead of `destroy'.
5831
5832 * bits/valarray_meta.h: Throughout, rename _Expr typedefs to be
5833 _Expr1 (or _Expr_def if it's taken), and change definitions.
5834 Avoids redecl of the template parm.
5835
5836 * bits/string.tcc (basic_string copy ctor): Fix typo in declaration.
5837 (operator>>): Initialize __ERROR with ios_base::goodbit, not 0.
5838
5839 * bits/std_streambuf.h (_POSIX_SOURCE): Only define if it's not
5840 already done.
5841
5842 * src/locale-inst.cc: New file, **TOTAL HACK**. There has GOT to
5843 be a better way to do this.
5844
5845 * src/stlinst.cc: New file.
5846
5847 * BUGS: New file, with various discovered bugs that need to be
5848 fixed.
5849
5850 * Makefile.in, math/Makefile.in, string/Makefile.in,
5851 src/Makefile.in: Reran automake.
5852
5853 Workarounds, these may not all be the final fixes:
5854
5855 * bits/basic_ios.h (class basic_ios): Make _M_strbuf be protected,
5856 not private, for basic_istream::get() in std_istream.h to be able
5857 to use it.
5858 (basic_ios::operator void*): Don't use static_cast for the false
5859 case.
5860 (basic_ios::copyfmt): Fix `rhs.except' to be `rhs.exceptions ()'.
5861 This appears to have been in sep94, but didn't get corrected
5862 afterwards.
5863
5864 * bits/basic_string.h (npos): Don't init here.
5865 * bits/string.tcc: Instead, do initialization here, to -1 instead
5866 of the size_type destructor.
5867
5868 * src/traits.cc, src/wtraits.cc: New files.
5869 * bits/char_traits.h: For char_traits<char> and
5870 char_traits<wchar_t>, declare static, but define over in the src
5871 files.
5872
5873 * bits/gslice.h: Comment out forward decls of _Array, valarray,
5874 gslice_array, and _GsliceExpression.
5875
5876 * bits/std_cstdio.h [__sparc__ && __svr4__]: #undef all of
5877 clearerr, feof, ferror, getc, getchar, putc, putchar, stdin,
5878 stdout, and stderr. Note we do get unresolved refs to stdin, but
5879 that'll get fixed by the "true" solution.
5880
5881 * bits/std_ios.h: Include <bits/std_streambuf.h> to get the
5882 definition of basic_streambuf.h, which is used in basic_ios.h to
5883 call pubimbue.
5884
5885 * bits/std_streambuf.h: Don't include libio.h for now.
5886 (class basic_streambuf): Define missing methods pubimbue and
5887 getloc.
5888
5889 * src/Makefile.am (libstdc___la_SOURCES): Add stdexcept.cc,
5890 ios.cc, os_raw.cc, stdstreams.cc, locale.cc, localename.cc,
5891 locale-inst.cc, stlinst.cc, traits.cc, wtraits.cc.
5892
5893 * src/ios.cc: Instantiate basic_ios<char> and basic_ios<wchar_t>.
5894
5895 * src/locale.cc: Come up with munged versions of _S_toupper,
5896 _S_tolower, and _S_table instead of the glibc-specific ones, so
5897 they're at least defined, if not necessarily usable. The glibc
5898 ones on any other system will yield unresolved refs to
5899 __ctype_{b,toupper,tolower}.
5900
5901 * src/string.cc: Define all of ADDCS, ADDPS, et al. Add
5902 basic_ios, basic_istream, basic_ostream. Don't do char_traits
5903 anymore cuz of the explicit specialization in char_traits.h.
5904 Also add _S_string_copy, but this doesn't fix it -- cf the BUGS
5905 file for the details.
5906
5907 * stl/bits/stl_algobase.h (equal): Fix to do `! (x==y)'.
5908 * stl/bits/stl_iterator.h (__distance): Likewise.
5909
5910 * stl/bits/stl_iterator.h: As with 8/18 set, define missing op!=,
5911 op>, op<=, and op>= for reverse_iterator. Also add op!= for
5912 istream_iterator.
5913
5914 1998-08-26 Brendan Kehoe <brendan@cygnus.com>
5915
5916 * bits/string.tcc (basic_string::compare (const char*)): Fix to
5917 return 0, not 1.
5918
5919 1998-08-25 Brendan Kehoe <brendan@cygnus.com>
5920
5921 This should really be fixed with __asm__ directives renaming the
5922 symbol, but keeping the function.
5923 * math/clogf.c (c_logf): Renamed from `clogf'.
5924 * math/clogl.c (c_logl): Renamed from `clogl'.
5925 * math/complex-stub.h (c_logf, c_logl): Change decls.
5926
5927 * bits/locfacets.h (class _Numeric_get): For friend decls, rename
5928 _CharT and _InIter parms, since they duplicate the enclosing ones.
5929
5930 1998-08-19 Brendan Kehoe <brendan@cygnus.com>
5931
5932 Deal with conflict of the iostreams `clog' and our internal
5933 complex number `clog'.
5934 * src/complex.cc: Call `c_log' instead of `clog'.
5935 * math/clog.c (c_log):: Renamed from clog.
5936 * math/complex-stub.h (c_log): Renamed from clog decl.
5937
5938 * bits/locfacets.h (class _Numeric_get): Tweak fwd decls of the
5939 get/put classes.
5940 (num_put::put): #if 0 long long version, since we don't declare or
5941 define the long long version of do_put.
5942
5943 1998-08-18 Nathan Myers <ncm@cantrip.org>
5944
5945 * bits/basic_string.h: add basic_string<>::push_back(), fix return
5946 type of get_allocator (thanks to Ryszard Kabatek).
5947 * bits/char_traits.h: make init order of fpos<> members
5948 match decl order.
5949 * bits/ios_base.h: fix decls of ios_base bitmask & enum types, add
5950 flags _S_fd_in etc. for special filebuf ctor.
5951 * bits/locfacets.h: make _Numeric_get and _Format_cache public
5952 to work around problems in friend declarations.
5953 * bits/locfacets.tcc: qualify _S_get_cache in num_get<>::get(..bool&),
5954 fix random type errors & typos
5955 * bits/std_fstream.h: major refitting to bypass libio (for now),
5956 instrument to use bits/fstream.tcc template definitions
5957 * bits/std_iosfwd.h: mess with wrappers
5958 * bits/std_istream.h: remove meaningless comment
5959 * bits/std_ostream.h: instrument to work with ostream.tcc.
5960 * bits/std_streambuf.h: instrument to work with streambuf.tcc
5961 * bits/fstream.tcc: template defs for <fstream>
5962 * bits/ostream.tcc: template defs for <ostream>
5963 * bits/streambuf.tcc: template defs for <streambuf>
5964 * bits/os_raw.h: thin OS interface wrapper, to bypass libio (for now).
5965 * Delete .cc files, replace with bits/*.tcc
5966 src/fstream.cc
5967 src/istream.cc
5968 src/ostream.cc
5969 src/streambuf.cc
5970 * Add files:
5971 src/os_raw.cc: thin interface to OS, to bypass libio (for now).
5972 src/stdstreams.cc: cout, cin, etc. definitions
5973 (these still need work: must be init'd before user statics.)
5974
5975
5976 1998-08-18 Brendan Kehoe <brendan@cygnus.com>
5977
5978 Sent to SGI before checkin:
5979 * stl/bits/stl_vector.h (operator!=, operator>, operator<=,
5980 operator>=): Define.
5981 * stl/bits/stl_bvector.h (vector<bool>::flip): Define method.
5982 * stl/bits/stl_deque.h (operator!=, operator>, operator<=,
5983 operator>=): Define.
5984 (operator==, operator<): Add inline.
5985 * stl/bits/stl_map.h (operator!=, operator<, operator<=,
5986 operator>=): Define.
5987 * stl/bits/stl_multimap.h (operator!=, operator<, operator<=,
5988 operator>=): Define.
5989 * stl/bits/stl_list.h (operator!=, operator<, operator<=,
5990 operator>=): Define.
5991 * stl/bits/stl_set.h (operator!=, operator<, operator<=,
5992 operator>=): Define.
5993 * stl/bits/stl_multiset.h (operator!=, operator<, operator<=,
5994 operator>=): Define.
5995
5996 * bits/std_valarray.h (_Shift_left, _Shift_right): Inherit from
5997 unary_function.
5998
5999 1998-08-15 Nathan Myers <ncm@cantrip.org>
6000
6001 * bits/ios_base.h: change nominal bitmask and enum types to real enums
6002 * bits/locfacets.h: make _Format_cache bool names usable by num_get
6003 * bits/locfacets.tcc: make num_get<>::get(... bool&) use _Format_cache
6004 * bits/std_fstream.h: minor cleanups: ctors delegate to open()
6005 * bits/std_iosfwd.h: more bitmask changes, for ios_base::iostate
6006 * bits/std_sstream.h: formatting cleanups
6007
6008 1998-08-14 Nathan Myers <ncm@cantrip.org>
6009
6010 * bits/locfacets.tcc: implement num_get<>::do_get(..., bool&)
6011 * bits/locfacets.tcc: implement time_get<>::do_get_weekday
6012 * bits/locfacets.tcc: implement time_get<>::do_get_monthname
6013 * bits/locfacets.h: fix missing argument in do_get_monthname
6014 (this is a bug in the standard, ref. 36 in my list.)
6015 * bits/locfacets.h: make month and day name caches mutable
6016 * bits/locfacets.tcc: various typos in get() functions
6017 * bits/sbuf_iter.h: fix omission in istreambuf_iterator::op++().
6018 * bits/std_streambuf.h: fix typo in sgetn (Brendan)
6019
6020 1998-08-12 Nathan Myers <ncm@cantrip.org>
6021 * move streambuf iterators to bits/sbuf_iter.h
6022 * optimize streambuf iterators
6023 * begin generalizing streambuf
6024 * begin implementing num_get<>::get (starting with bool)
6025 * patch stl/bits/stl_config.h so that relops operators are
6026 contained properly, out of the way.
6027
6028 1998-07-24 Nathan Myers <ncm@cantrip.org>
6029 * Fold in SGI 3.11 changes (uglified names, some algorithm
6030 improvements, very minor bug fixes.)
6031 * Uglify names elsewhere to match (s/_T/_Tp/).
6032 * Begin work on optimized streambuf
6033 * Put complex.cc in namespace std:: (thanks Martin)
6034
6035 1998-07-17 Nathan Myers <ncm@cantrip.org>
6036
6037 * bits/char_traits.h: add _Char_traits_match template.
6038 * bits/string.tcc: fix bugs in various find_last* members.
6039 * bits/basic_string.h: redeclare member _S_find.
6040 * stl/bits/stl_iterator.h: change member names in nonstandard
6041 templates bidirectional_reverse_iterator and
6042 random_access_reverse_iterator to match expected changes
6043 in upstream source.
6044 * src/string.cc: fix definitions of stream operators.
6045
6046 1998-07-14 16:06 Ulrich Drepper <drepper@cygnus.com>
6047
6048 * Makefile.am (SUBDIRS): Add string.
6049
6050 * configure.in: Test for long double functions separately. Test for
6051 ISO C 89 float functions. Test for endian.h and sys/isa_defs.h.
6052 Generate string/Makefile.
6053
6054 * bits/c++config.h: Define mbstate_t for Solaris.
6055
6056 * bits/char_traits.h: Remove unused #if.
6057
6058 * bits/std_cwchar.h: Declare wide char string functions.
6059
6060 * m4/stringfcts.m4: New file.
6061
6062 * math/complex-stub.h: Declare nan.
6063 * math/nan.c: New file.
6064
6065 * math/mathconf.h: Hack around missing endian.h file.
6066 Handle missing NAN definition.
6067 Handle missing float math functions.
6068
6069 * src/Makefile.am (libstdc___la_LIBADD): Add libstring.la.
6070 (libstdc___la_LDFLAGS): Set version information.
6071
6072 * src/complexl.cc: Don't compile any code if no long double functions
6073 are available.
6074
6075 * string/Makefile.am: New file.
6076 * string/dummy.c: New file.
6077 * string/wmemchr.c: New file.
6078 * string/wmemcmp.c: New file.
6079 * string/wmemcpy.c: New file.
6080 * string/wmemmove.c: New file.
6081 * string/wmemset.c: New file.
6082
6083 1998-07-14 10:45 Ulrich Drepper <drepper@cygnus.com>
6084
6085 * configure.in: Make it work.
6086 * install-sh: New file.
6087 * missing: New file.
6088 * mkinstalldirs: New file.
6089 * m4/mathfcts.m4: New file.
6090 * math/Makefile.am: New file.
6091
6092 * bits/std_complex.h (conj): Mark specializations as inline.
6093
6094 * math/carg.c: New file.
6095 * math/cargf.c: New file.
6096 * math/cargl.c: New file.
6097 * math/mycabs.c: New file.
6098 * math/mycabsf.c: New file.
6099 * math/mycabsl.c: New file.
6100 * math/signbit.c: New file.
6101 * math/signbitf.c: New file.
6102 * math/signbitl.c: New file.
6103
6104 * math/ccos.c: Avoid ISO C 9x functionality.
6105 * math/ccosf.c: Likewise.
6106 * math/ccosh.c: Likewise.
6107 * math/ccoshf.c: Likewise.
6108 * math/ccoshl.c: Likewise.
6109 * math/ccosl.c: Likewise.
6110 * math/cexp.c: Likewise.
6111 * math/cexpf.c: Likewise.
6112 * math/cexpl.c: Likewise.
6113 * math/clog.c: Likewise.
6114 * math/clog10.c: Likewise.
6115 * math/clog10f.c: Likewise.
6116 * math/clog10l.c: Likewise.
6117 * math/clogf.c: Likewise.
6118 * math/clogl.c: Likewise.
6119 * math/cpow.c: Likewise.
6120 * math/cpowf.c: Likewise.
6121 * math/cpowl.c: Likewise.
6122 * math/csin.c: Likewise.
6123 * math/csinf.c: Likewise.
6124 * math/csinh.c: Likewise.
6125 * math/csinhf.c: Likewise.
6126 * math/csinhl.c: Likewise.
6127 * math/csinl.c: Likewise.
6128 * math/csqrt.c: Likewise.
6129 * math/csqrtf.c: Likewise.
6130 * math/csqrtl.c: Likewise.
6131 * math/ctan.c: Likewise.
6132 * math/ctanf.c: Likewise.
6133 * math/ctanh.c: Likewise.
6134 * math/ctanhf.c: Likewise.
6135 * math/ctanhl.c: Likewise.
6136 * math/ctanl.c: Likewise.
6137
6138 * math/complex-stub.h: New file.
6139
6140 * math/mathconf.h: New file.
6141
6142 * src/Makefile.am: New file.
6143
6144 * src/complex.cc: Use mathconf.h instead of complex.h.
6145 Don't use cabs, always use __mycabs.
6146
6147 1998-02-13 Brendan Kehoe <brendan@cygnus.com>
6148
6149 * iterator (class reverse_iterator): Do some tweaks to be in sync
6150 w/ the FDIS.