1 2000-04-24 Nathan Myers <ncm@cantrip.org>
3 * src/string-inst.cc: More fixing.
5 2000-04-24 Benjamin Kosnik <bkoz@gnu.org>
7 * bits/stl_iterator.h: Pedantic fixing.
8 * bits/std_sstream.h: And here.
9 * bits/string.tcc: And here.
11 2000-04-24 Felix Natter <fnatter@gmx.net>
13 * docs/17_intro/howto.html: Add bits.
14 * docs/17_intro/porting-howto.html: New file.
16 2000-04-24 Branko Cibej <branko.cibej@hermes.si>
18 * acinclude.m4(GLIBCPP_CHECK_WCHAR_T_SUPPORT): Expand
19 @libinst_wstring_la@ to libinst-wstring.la when specializing for
20 wchar_t, to empty string otherwise.
21 * src/Makefile.am: (EXTRA_LTLIBRARIES): New.
22 (sources): Remove $(string_sources) and $(wstring_sources).
23 (libstdc___la_LIBADD): Add libinst-string.la and @libinst_wstring_la@.
24 (libstdc___la_DEPENDENCIES): New.
25 (libinst_string_la_SOURCES, libinst_wstring_la_SOURCES): New.
27 2000-04-20 Benjamin Kosnik <bkoz@redhat.com>
29 * bits/std_sstream.h: Tweak formatting.
30 * bits/std_fstream.h: Make types public.
32 * testsuite/27_io/streambuf.cc: Fix for alpha.
34 Brad Garcia <bgarcia@laurelnetworks.com>
35 * bits/locale_facets.h (numpunct::numpunct(size_t)): Fix bool
37 * testsuite/27_io/ios_manip_fmtflags.cc (test02): Add test for
40 2000-04-19 Nathan Myers <ncm@cantrip.org>
42 * src/string-inst: consolidate _S_create,
43 destroy, leak, clone members into stringMAIN and stringMUTATE
45 * src/Makefile.am: Above, and eliminate dependence on
47 * src/wstring-inst.cc: Remove.
49 2000-04-18 Benjamin Kosnik <bkoz@redhat.com>
51 * src/Makefile.am (AC_CXXFLAGS): Activate debugging code, again.
52 Add flags for specialized rules dealing with instantiations.
54 * src/string-inst.cc: Add instantiations missing from shared
55 libraries--see stringEQ, stringCONSC.
56 * src/Makefile.am (wstring_sources): Add.
57 (string_sources): Same.
58 * src/Makefile.in: Regenerate.
60 * stl/*: Integrate contents of this directory into top-level
62 * ext/bvector hash_map hash_set rope ropeimpl.h slist
63 stl_bvector.h stl_hash_fun.h stl_hashtable.h stl_rope.h tree: Add.
64 * bits/pthread_allocimpl.h std_algorithm.h std_bitset.h
65 std_deque.h std_functional.h std_iterator.h std_list.h std_map.h
66 std_memory.h std_numeric.h std_queue.h std_set.h std_stack.h
67 std_stdexcept.h std_strstream.h std_utility.h std_vector.h
68 stl_algo.h stl_algobase.h stl_alloc.h stl_config.h stl_construct.h
69 stl_deque.h stl_function.h stl_heap.h stl_iterator.h
70 stl_iterator_base.h stl_list.h stl_map.h stl_multimap.h
71 stl_multiset.h stl_numeric.h stl_pair.h stl_pthread_alloc.h
72 stl_queue.h stl_range_errors.h stl_raw_storage_iter.h stl_relops.h
73 stl_set.h stl_stack.h stl_string_fwd.h stl_tempbuf.h stl_threads.h
74 stl_tree.h stl_uninitialized.h stl_vector.h type_traits.h: Add.
75 * backward/algo.h algobase.h alloc.h bvector.h defalloc.h deque.h
76 function.h hash_map.h hash_set.h hashtable.h heap.h iterator.h
77 list.h map.h multimap.h multiset.h pair.h rope.h set.h slist.h
78 stack.h tempbuf.h tree.h vector.h: Add.
79 * README (file): Update.
80 * docs/documentation.html: README not being found.
81 * src/Makefile.am (sources): Take out stl directory.
82 * mkcheck.in (SRC_DIR): And here.
83 * src/Makefile.in: Regenerate.
85 2000-04-18 Levente Farkas <lfarkas@mindmaker.hu>
87 * stl/bits/stl_function.h: Add bits so that const and non-const
90 2000-04-18 scott snyder <snyder@fnal.gov>
92 * stl/bits/stl_map.h (class map): Fix default for _Alloc template
93 parameter. Get rid of use of __STL_DEFAULT_ALLOCATOR and
94 __STL_LIMITED_DEFAULT_TEMPLATES macros.
95 * stl/bits/stl_multimap.h (class multimap): Likewise. Get rid of
96 use of __STL_DEPENDENT_DEFAULT_TMPL macro.
98 2000-04-18 scott snyder <snyder@fnal.gov>
100 * stl/bits/stl_config.h (__STL_DEPENDENT_DEFAULT_TMPL): Deleted
103 * stl/ext/hash_map (class hash_map, class hash_multimap): Get rid
104 of use of __STL_DEPENDENT_DEFAULT_TMPL macro.
105 * stl/ext/hash_set (class hash_set, class hash_multiset):
107 * stl/bits/stl_function.h (struct constant_unary_fun, struct
108 constant_binary_fun): Likewise.
109 * stl/bits/stl_queue.h (class queue, class priority_queue): Likewise.
110 * stl/bits/stl_stack.h (class stack): Likewise.
111 * stl/bits/stl_set.h (class set): Likewise.
112 * stl/bits/stl_multiset.h (class multiset): Likewise.
114 * stl/bits/stl_iterator.h (class reverse_bidirectional_iterator,
115 class reverse_iterator): Get rid of use of
116 __STL_LIMITED_DEFAULT_TEMPLATES macro.
118 * stl/bits/stl_config.h (__STL_DEFAULT_ALLOCATOR): Deleted this
121 * stl/bits/stl_deque.h (class deque): Get rid of use of
122 __STL_DEFAULT_ALLOCATOR macro.
123 * stl/bits/stl_list.h (class list): Likewise.
124 * stl/bits/stl_multiset.h (class multiset): Likewise.
125 * stl/bits/stl_set.h (class set): Likewise.
126 * stl/bits/stl_string_fwd.h (class basic_string): Likewise.
127 * stl/bits/stl_tree.h (class _Rb_tree, class rb_tree): Likewise.
128 * stl/bits/stl_vector.h (class vector): Likewise.
129 * stl/ext/ropeimpl.h (rotate): Likewise.
130 * stl/ext/hash_map (class hash_map, class hash_multimap):
132 * stl/ext/hash_set (class hash_set, class hash_multiset):
134 * stl/ext/slist (class slist): Likewise.
135 * stl/ext/stl_bvector.h (class bit_vector): Likewise.
136 * stl/ext/stl_rope.h (class rope): Likewise.
137 * src/locale.cc (_Impl): Likewise.
138 * src/localename.cc (_Impl): Likewise.
139 * bits/localefwd.h (_Impl): Likewise.
141 2000-04-18 Phil Edwards <pme@sourceware.cygnus.com>
143 * docs/install.html: Cleanup, minor changes.
144 * docs/17_intro/howto.html: Ditto.
146 2000-04-18 Nathan Myers <ncm@cantrip.org>
148 * bits/basic_string.h: Remove "inline" from member _S_find.
150 * src/string-inst.cc: Rewrite to reflect non-inline template
151 instantiations in string.tcc.
153 * src/stringADDCS.cc, stringADDPS.cc, stringADDSC.cc, stringADDSP.cc,
154 stringADDSS.cc, stringBIST.cc, stringBOST.cc, stringCHTR.cc,
155 stringEQPS.cc, stringEQSP.cc, stringEQSS.cc, stringEXTRA.cc,
156 stringGEPS.cc, stringGESP.cc, stringGESS.cc, stringGETLI.cc,
157 stringGTPS.cc, stringGTPS.cc, stringGTSP.cc, stringGTSS.cc,
158 stringINSER.cc, stringLEPS.cc, stringLESP.cc, stringLESS.cc,
159 stringLESP.cc, stringLTPS.cc, stringLTPS.cc, stringLTSP.cc,
160 stringLTSS.cc, stringMAIN.cc, stringNEPS.cc, stringNESP.cc,
161 stringNESS.cc, stringSCOPY.cc: Remove.
162 * src/wstringADDCS.cc, etc: Remove.
164 Benjamin Kosnik <bkoz@haight.constant.com>
165 * src/Makefile.am: Modify to reflect above.
166 * src/Makefile.in: Regenerate.
168 2000-04-17 Benjamin Kosnik <bkoz@cygnus.com>
170 * docs/install.html (--enable-libstdcxx-v3): Clean up install docs.
172 2000-04-13 Benjamin Kosnik <bkoz@haight.cygnus.com>
174 * bits/std_fstream.h (filebuf::sync): Need to use the abstracted
175 io interface here instead of the libio particulars.
177 * config/threads-posix.h: Consistency with stl_config.h.
179 * mkcheck.in (CXX_FLAG): Add DDEBUG_ASSERT back in.
181 2000-04-13 Loren J. Rittle <ljrittle@acm.org>
183 * mknumeric_limits: Rename generic type template parameter name
185 * stl/bits/type_traits.h: Ditto.
187 2000-04-06 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
189 * mkcheck.in (SRC_DIR): Change default mkcheck behavior, so that
190 it is more useful for --enable-libstdcxx-v3. Use the built
191 compilers with v3, instead of compilers in PATH, and don't
192 re-include include directories for checking the install.
194 2000-04-05 Benjamin Kosnik <bkoz@cygnus.com>
196 * src/Makefile.am (AM_CXXFLAGS): Disable NAMESPACES, as this is on
197 by default when using --enable-libstdcxx-v3.
198 * src/Makefile.in: Regenerate.
199 * configure.in: Disable GLIBCPP_ENABLE_NAMESPACES,
200 GLIBCPP_ENABLE_RELIBGCC for --enable-libstdcxx-v3 flag.
201 * configure: Regenerate.
202 * mkcheck.in: Deal with NAMESPACES.
204 2000-04-05 Petter Urkedal <petter@matfys.lth.se>
206 * src/cmath.cc: New file...
207 (pow(*, int)): Define functions...
208 * src/Makefile.am (sources): ...register file.
209 * src/Makefile.in: Regenerate.
210 * bits/std_cmath.h (pow): ...declare functions here, and remove
213 2000-04-04 Benjamin Kosnik <bkoz@redhat.com>
215 * acinclude.m4 (GCC_OBJDIR): Tweaks
217 2000-04-03 Benjamin Kosnik <bkoz@redhat.com>
219 * acinclude.m4 (GLIBCPP_CHECK_CPU): Add arm configure bits.
220 * config/cpu/arm: New directory.
222 Jesper Skov <jskov@redhat.com>
223 * config/cpu/arm/atomicity.h: New file.
225 2000-03-31 Benjamin Kosnik <bkoz@redhat.com>
227 * stl/bits/stl_config.h: Make _STL_THREADS depend on _REENTRANT.
228 Remove unused bits. Clean.
230 2000-03-29 Benjamin Kosnik <bkoz@cygnus.com>
232 * testsuite/25_algorithms: New directory.
233 * testsuite/25_algorithms/min_max.cc: New file.
235 2000-03-29 scott snyder <snyder@fnal.gov>
237 * bits/locale_facets.tcc (do_put): Allow a couple extra digits of
238 precision beyond that which we get from numeric_limits::digits10.
240 * stl/bits/stl_algobase.h (max, min): Don't use comparison
243 * testsuite/23_containers/bitset_shift.cc: Fix.
245 * testsuite/27_io/ios_manip_fmtflags.cc (test01): Don't give a
246 temporary to imbue().
248 * bits/std_fstream.h (sync): Resync libio's idea of the current
249 file position with the external file.
251 2000-03-28 Benjamin Kosnik <bkoz@cygnus.com>
253 * testsuite/27_io/istream_extractor_arith.cc.cvs: Fix merge
256 * bits/std_fstream.h (filebuf::is_open): Check for _M_file before
257 attempting calls to it.
258 * bits/fstream.tcc (ctors): Don't call _M_init_filebuf in
259 ctors. Instead, call _M_init_filebuf ...
260 (open): Here, as suggested by 27.8.1.3.
261 * src/ios.cc (ios_base::Init::Init()): Clean up default filebufs
262 properly when initializing cout/cin/cerr.
264 2000-03-27 Russell Davidson <russell@ehess.cnrs-mrs.fr>
266 * testsuite/23_containers/multiset.cc (main): Clean up for namespaces.
267 * testsuite/22_locale/ctype_char_members.cc: And here.
268 * testsuite/27_io/streambuf.cc (streambuf): And here.
269 * testsuite/27_io/ostream_inserter_char.cc (test06): And here.
270 * testsuite/27_io/istream_unformatted.cc (test05): And here.
271 * testsuite/27_io/istream_extractor_arith.cc: And here.
272 * testsuite/27_io/ios_manip_basefield.cc (test02): And here.
273 * testsuite/27_io/ios_base_members_static.cc: And here.
274 * bits/std_climits.h (_CPP_CLIMITS): Fix typo.
276 2000-03-27 Chris Faylor <cgf@cygnus.com>
278 * configure.in: Remove setting of CXX if canadian cross.
279 * configure: Regenerate.
281 2000-03-27 Nathan Myers <ncm@zembu.com>
283 * bits/sstream.tcc: Optimize.
284 * bits/basic_string.h(string::append): Don't inline.
285 * bits/string.tcc: Move out-of-line.
287 2000-03-27 Phil Edwards <pme@sourceware.cygnus.com>
289 * acinclude.m4: (GLIBCPP_CHECK_COMPILER_VERSION) When using <2.96,
290 define WERRORSUPPRESS so that the inlining warnings won't kill us.
291 * aclocal.m4: Regenerate.
292 * configure: Regenerate.
293 * src/Makefile.am: Use WERRORSUPPRESS for the files that need it.
294 * src/Makefile.in: Regenerate.
296 * docs/install.html: Almost complete rewrite.
298 2000-03-25 Phil Edwards <pme@sourceware.cygnus.com>
300 * docs/install.html: Explain -Werror problem at "#Werror" mark.
301 * docs/faq/index.html: Testsuite will die horribly if new libgcc.a
303 * docs/faq/index.txt: Regenerate.
305 2000-03-24 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
307 * src/Makefile.am (libio_headers_install): Fix.
308 * src/Makefile.in: Regenerate.
310 2000-03-24 Benjamin Kosnik <bkoz@cygnus.com>
312 * docs/17_intro/RELEASE-NOTES: Fix typos.
313 * docs/index.html: Update.
314 * docs/17_intro/BUGS: Update.
315 * docs/status.html: Update for 2.90.8 release.
317 2000-03-23 Phil Edwards <pme@sourceware.cygnus.com>
319 * Makefile.am: Better error message when missing libgcc2.ready.
320 * Makefile.in: Regenerate.
321 * acinclude.m4: Fastidious nitpicking reformatting.
322 * aclocal.m4: Regenerate.
323 * configure: Regenerate.
324 * mkcheck.in: Must use same namespace settings as the library being
325 tested. Also log ST_FLAG, since it's being passed.
326 * docs/install.html: Add brief chunk on configuration.
327 * docs/17_intro/RELEASE-NOTES: Fix minor Cygwin typo.
328 * docs/23_containers/howto.html: Mention MT-safe string.
329 * docs/faq/index.html: Minor updates.
330 * docs/faq/index.txt: Regerarate.
332 2000-03-22 Benjamin Kosnik <bkoz@cygnus.com>
334 * bits/sstream.tcc (seekoff): Fix for gptr() null cases.
336 * bits/fstream.tcc (seekoff): Sync.
338 * testsuite/27_io/ostream_unformatted.cc: New file.
339 * testsuite/27_io/stringbuf.cc: Fix.
340 * testsuite/27_io/istream_unformatted.cc (test04): Fix.
342 * config/newlib/bits/ctype_base.h (ctype_base): Fix.
343 * config/newlib/ctype.cc (ctype): Change __ctype -> _ctype_.
345 * src/complex_io.cc (operator>>complex): Tweak.
347 * config/cpu/alpha/atomicity.h: Explicitly typedef uint32_t, int32_t if
348 <inttypes.h> does not exist.
349 * config/cpu/sparc/sparc64/atomicity.h: Same.
350 * config/cpu/sparc/sparc32/atomicity.h: Same.
351 * config/cpu/powerpc/atomicity.h: Same.
352 * config/cpu/i386/atomicity.h: Same.
353 * config/cpu/generic/atomicity.h: Same.
354 * configure.in: Check for inttypes.h.
355 * configure: Regnerate.
357 2000-03-21 Benjamin Kosnik <bkoz@cygnus.com>
359 * bits/std_sstream.h (_M_init_stringbuf): Set initial ate position
361 * testsuite/27_io/ostream_inserter_char.cc (test06): Add tests for ate.
363 * docs/17_intro/RELEASE-NOTES (New): Add bits.
365 * configure.in: Move AC_CHECK_HEADERS to a point where we know we
366 are compiling natively.
368 * libio/*: Update to CVS libio from egcs.
370 2000-03-21 Phil Edwards <pme@sourceware.cygnus.com>
372 * docs/download.html: Document use of -z9 for CVS.
373 * docs/index.html: Add target date (no link) for future snapshot.
375 2000-03-21 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
377 * bits/slice_array.h: Rename generic type template parameter name
379 * bits/mask_array.h: Ditto
381 2000-03-20 Benjamin Kosnik <bkoz@cygnus.com>
383 * *: Change copyright holder from "Cygnus Solutions" to "Free
384 Software Foundation, Inc."
386 * docs/configopts.html: Explain what "hella versions" means.
387 * docs/install.html: Some tweaks--nice job on this Phil.
388 * docs/documentation.html: Add a direct link to configuration options.
390 * src/Makefile.am (OPTIMIZE_CXXFLAGS): Add in extras.
391 * docs/17_intro/RELEASE-NOTES (New): Add.
392 * bits/c++config.h (__GLIBCPP__): Bump version.
394 * config/c_io_libio.cc (__basic__file(__c_lock*)): Change argument
395 type to match prototype.
397 2000-03-20 Phil Edwards <pme@sourceware.cygnus.com>
399 * docs/install.html: Update for new funky build procedure. Move
400 description of 'configure' options to...
401 * docs/configopts.html: ...here. New file.
402 * docs/17_intro/howto.html: Updates for new snapshot.
403 * docs/20_util/howto.html: Ditto.
404 * docs/21_strings/howto.html: Ditto.
405 * docs/21_strings/stringtok_std_h.txt: Fix example typos.
406 * docs/22_locale/howto.html: Ditto.
407 * docs/23_containers/howto.html: Ditto.
408 * docs/faq/index.html: Ditto.
410 2000-03-18 Petter Urkedal <petter@matfys.lth.se>
411 Benjamin Kosnik <bkoz@gnu.org>
413 * acinclude.m4 (GLIBCPP_CHECK_COMPLEX_SUPPORT): Move code for main
415 * aclocal.m4: Regenerate.
416 * configure: Regenerate.
418 2000-03-16 Benjamin Kosnik <bkoz@cygnus.com>
419 scott snyder <sss@karma.fnal.gov>
421 * config/c_io_libio.h: Add __c_lock.
422 * config/threads-no.h: Same here.
423 * config/threads-posix.h: Add __mutext_type typedef.
424 * config/c_io_libio.cc: basic_file ctor takes lock arg.
425 * bits/basic_file.h: Ctor takes lock arg.
426 * bits/std_fstream.h: Add _M_lock.
427 * bits/fstream.tcc: Supply it to basic_file ctor.
429 * mkcheck.in (resultstext): Change [[ to [.
431 * testsuite/27_io/ostream_inserter_char.cc (test06): Tweak.
433 * bits/locale_facets.h: Tweak.
435 * stl/bits/stl_config.h: Fix defines.
437 2000-03-16 Benjamin Kosnik <bkoz@cygnus.com>
439 * mkcheck.in (INC_PATH): Add paths from cpu_include_dir to find
441 * configure: Regenerate.
442 * aclocal.m4: Regnerate.
444 2000-03-16 Nathan Myers <ncm@zembu.com>
446 * bits/string.tcc: Add MT support.
447 * bits/basic_string.h: Same.
449 2000-03-16 Phil Edwards <pme@sourceware.cygnus.com>
451 * configure.in: Make --enable-namespaces and -libgcc-rebuild=../..
453 * configure: Regenerate.
455 * config/solaris/solaris2.7/ctype.cc: Fix unsigned/signed comparison.
457 2000-03-16 Phil Edwards <pme@sourceware.cygnus.com>
459 * acinclude.m4 (GLIBCPP_CHECK_CTYPE): If Sol2.5 ctype is found, keep
460 checking for 2.[67]. (GLIBCPP_ENABLE_RELIBGCC): No longer ignore
461 any defaults passed in.
462 * aclocal.m4: Regenerate.
464 2000-03-16 Phil Edwards <pme@sourceware.cygnus.com>
466 * mkcheck.in: Report total successes and failures.
468 2000-03-15 Benjamin Kosnik <bkoz@cygnus.com>
470 * config/cpu: New directory, intended to be used to provide
471 cpu-specific configuration files. In particular, assembly language
472 primitives for thread safety.
473 * config/cpu/alpha: Populate.
474 * config/cpu/alpha/atomicity.h: New file.
475 * config/cpu/arm: Populate.
476 * config/cpu/generic: Populate.
477 * config/cpu/generic/atomicity.h: New file.
478 * config/cpu/hppa: Populate.
479 * config/cpu/i386: Populate.
480 * config/cpu/i386/atomicity.h: New file, take from i486.
481 * config/cpu/m68k: Populate.
482 * config/cpu/mips: Populate.
483 * config/cpu/powerpc: Populate.
484 * config/cpu/powerpc/atomicity.h: New file.
485 * config/cpu/sparc: Populate.
486 * config/cpu/sparc/sparc32: Populate.
487 * config/cpu/sparc/sparc64: Populate.
488 * config/cpu/sparc/sparc32/atomicity.h: New file.
489 * config/cpu/sparc/sparc64/atomicity.h: New file.
491 * src/Makefile.am (myinstallheaders): Add install routines.
492 * acinclude.m4 (GLIBCPP_CHECK_CPU):Add configuration for the
496 * config/default: Adopt glibc naming conventions, and so move to
497 * config/generic: Here.
498 * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Modify default case to generic.
500 2000-03-15 Bill Thompson <billt@toast.net>
502 * testsuite/27_io/ostream_inserter_char.cc (test06): Add test.
504 2000-03-14 Phil Edwards <pme@sourceware.cygnus.com>
506 * docs/17_intro/howto.html: Add missing "TOC" entry, and new section.
508 * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Fixup.
509 * aclocal.m4: Regenerate.
510 * configure: Regenerate.
512 2000-03-13 scott snyder <snyder@fnal.gov>
513 Jason Merrill <jason@cygnus.com>
515 * bits/locale_facets.h (class ctype, class ctype<char>, class
516 ctype<wchar_t>): More mask fixes.
517 * testsuite/22_locale/ctype.cc: Test for the problem.
519 2000-03-13 Benjamin Kosnik <bkoz@cygnus.com>
521 * acconfig.h: Add bits.
522 * configure.in: Move AM_PROG_LIBTOOL up in file.
523 Tweak cross compiling info.
524 * configure: Regenerate.
526 * mknumeric_limits (XCOMPILE): Echo compilation line for
529 * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add aix checks.
530 * aclocal.m4: Regenerate.
531 * configure: Regenerate.
532 * config/aix/ctype.cc (ctype): Tweak.
533 * config/aix/bits/ctype_base.h (ctype_base): Tweak.
534 * config/aix/bits/ctype_specializations.h: New file.
536 2000-03-10 scott snyder <snyder@fnal.gov>
538 * stl/bits/stl_vector.h (_M_assign_aux): Fix for __normal_iterator
540 * testsuite/23_containers/vector_modifiers.cc (test01): Add a
541 regression test for the problem.
543 2000-03-09 Benjamin Kosnik <bkoz@fidel.cygnus.com>
545 * testsuite/27_io/streambuf.cc (class testbuf): Same here.
546 * bits/fpos.h: And here.
547 * bits/std_ostream.h: Same here.
548 * bits/std_istream.h: Same here.
549 * bits/basic_ios.h: Same here.
550 * bits/std_fstream.h: Same here.
551 * bits/sbuf_iter.h (std): Here too.
552 * bits/std_sstream.h: Make types public.
554 * src/misc-inst.cc: Use size_t instead of unsigned int.
555 * bits/locale_facets.tcc (_S_format): For now, cast to char. I
556 suppose this should be ctype::narrow... all the ctype<wchar_t>
557 stuff needs to be cleaned up.
559 2000-03-09 Phil Edwards <pme@sourceware.cygnus.com>
561 * docs/gentop: Remove entire directory, finally.
563 2000-03-09 scott snyder <snyder@fnal.gov>
565 * bits/std_cmath.h (modf): Fix pointer overrun.
566 * testsuite/26_numerics/c_math.cc (test04, main): Add a regression
567 test for the problem.
569 2000-03-09 Phil Edwards <pme@sourceware.cygnus.com>
571 Looks like changes to the #include'd files must be followed by a
572 change to the #include'ing files to take effect. Caveat emptor.
573 * docs/header.html: New file, for server-side include.
574 * docs/footer.html: New file, for server-side include.
575 * docs/documentation.html: Change to use SSI.
576 * docs/download.html: Ditto.
577 * docs/index.html: Ditto.
578 * docs/mail.html: Ditto.
579 * docs/status.html: Ditto.
580 * docs/thanks.html: Ditto, plus minor updates.
581 * docs/how.html: Remove.
583 2000-03-09 Benjamin Kosnik <bkoz@gnu.org>
585 Preliminary alpha-linux support.
586 * src/locale.cc (ctype<wchar_t>): Use correct types...
587 * bits/locale_facets.h (ctype<char>): Add __table_type typedef.
588 (ctype<wchar_t>): Same.
589 * bits/locale_facets.h (ctype<wchar_t>): Have char and wchar_t
590 types match for table_size (size_t).
592 * config/gnu-linux/ctype.cc (ctype): Change char_type to wchar_t
593 as per char specialization.
594 * config/*/ctype.cc: Same.
596 2000-03-09 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
598 * bits/locale_facets.h (_Ctype<>::mask): Import from base class
599 _Ctype_nois<>. Template base classes are never examinated in
600 first-phase name-lookup.
602 2000-03-08 Benjamin Kosnik <bkoz@gnu.org>
604 Add Solaris 2.5.1 support.
605 * config/solaris/solaris2.5/bits/ctype_base.h (ctype_base): And here.
606 * config/solaris/solaris2.5/ctype.cc: Fixup.
607 * config/solaris/solaris2.5/bits/ctype_specializations.h: Add.
608 * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add bits for solaris2.5.1.
609 * aclocal.m4: Regenerate.
610 * configure: Regenerate.
612 * config/default/ctype.cc (ctype): Fixup.
614 2000-03-07 Benjamin Kosnik <bkoz@blues.cygnus.com>
616 * testsuite/27_io/filebuf.cc: Activate init code from yesterday...
617 * testsuite/27_io/ostream_inserter_arith.cc (testcases): Fix for
620 2000-03-07 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
622 * bits/cpp_type_traits.h: Expand on this file purpose.
624 2000-03-06 Benjamin Kosnik <bkoz@gnu.org>
626 * bits/locale_facets.h (ctype<char>): Remove static members, and
627 re-work initialization code.
628 (ctype<wchar_t>): Same.
629 Move _S_touppper to _M_toupper and initialize in ctor.
630 Move _S_tolower to _M_tolower and initialize in ctor.
631 Move _S_table to _M_ctable and intialize in ctor.
632 * bits/locale_facets.h (std): And here.
633 * src/locale.cc (std): Tweak.
634 * config/gnu-linux/ctype.cc: Change initialization here.
635 * config/newlib/ctype.cc: And here.
636 * config/solaris/solaris2.7/ctype.cc: And here.
637 * config/solaris/solaris2.6/ctype.cc: And here.
639 * bits/localefwd.h: Tweak.
640 * bits/std_streambuf.h: Tweak formatting.
642 * testsuite/27_io/filebuf.cc: Remove BUFSIZ dependancies.
644 2000-03-05 Chip Salzenberg <chip@valinux.com>
646 * src/misc-inst.cc (basic_iostream<>): Instantiate.
648 2000-03-02 Phil Edwards <pme@sourceware.cygnus.com>
649 Kevin Atkinson <kevinatk@home.com>
651 Initial grab of SGI's strstream implementation with minor
653 * src/strstream.cc: New file.
654 * std/strstream: New file.
655 * stl/bits/std_strstream.h: New file.
656 * bits/std_streambuf.h: Add public access.
657 * src/Makefile.am: Add strstream sources to list of dependancies.
658 * src/Makefile.in: Regenerate.
660 2000-03-03 2000 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
662 * bits/valarray_meta.h: Fix typo.
664 2000-03-02 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
665 Chip Salzenberg <chip@valinux.com>
666 Petter Urkedal <petter@matfys.lth.se>
668 * src/Makefile.am (myinstallheaders): Hack to avoid
670 * src/Makefile.in: Regenerate.
672 2000-03-02 Chip Salzenberg <chip@valinux.com>
674 * libio/Makefile.an, math/Makefile.an, src/Makefile.am
675 (LINK): Put quotes around "$(CC)" for libtool link mode,
676 so libtool will use "-B" options during GCC bootstrap.
677 * */Makefile.in: Regenerate.
679 2000-03-02 Petter Urkedal <petter@matfys.lth.se>
681 * config/c_io_libio.h: Enclose it all in ::std.
682 * bits/basic_string.h (basic_string<>): Make types and
684 * mkc++config: Truncate output file before writing.
686 2000-03-01 Benjamin Kosnik <bkoz@gnu.org>
688 * math/cabsf.c (__mycabsf): Rename to cabsf.
689 * math/cabs.c (__mycabs): Rename to cabs.
691 2000-02-29 LLeweLLyn Reese <llewelly@198.dsl.xmission.com>
693 * bits/basic_string.h: Move declarations of __out_of_range(),
694 __length_error() and accompanying macros ...
695 * bits/exception_support.h: here. (Newly created file).
696 * bits/basic_string.h: #include <bits/exception_support.h>
697 * stl/bits/stl_vector.h: #include <bits/exception_support.h>
698 * src/Makefile.am (headers): Add.
699 * src/Makefile.in: Regenerate.
701 2000-02-29 Benjamin Kosnik <bkoz@cygnus.com>
703 * bits/cpp_type_traits.h: Rename structs so they don't clash with
705 * bits/valarray_array.h: Synch. Fix typos.
707 * libio/Makefile.am: Change to only compile source files that
708 config/c_io_libio.cc actually needs.
709 * libio/Makefile.in: Regnerate.
710 * libio/PlotFile.hes SFile.h builtinbuf.h editbuf.h floatconv.c
711 floatio.h fstream.h indstream.h iofclose.c iofdopen.c iofeof.c
712 ioferror.c iofflush.c iofgetpos.c iofgets.c iofopen.c iofprintf.c
713 iofputs.c iofread.c iofscanf.c iofsetpos.c ioftell.c iofwrite.c
714 iogetc.c iogetdelim.c iogetline.c iogets.c ioignore.c iomanip.h
715 iopadn.c ioperror.c iopopen.c ioprims.c ioprintf.c ioputc.c
716 ioputs.c ioscanf.c ioseekoff.c ioseekpos.c iosetbuffer.c
717 iosetvbuf.c iosprintf.c iosscanf.c iostream.h iostrerror.c
718 ioungetc.c iovfprintf.c iovfscanf.c iovsprintf.c iovsscanf.c
719 istream.h list.out ostream.h outfloat.c parsestream.h peekc.c
720 pfstream.h procbuf.h stdiostream.h stream.h streambuf.h strfile.h
721 strops.c strstream.h: Delete.
723 * bits/basic_file.h: Stub out or delete unused bits in this
725 (filepos_beg): Remove.
726 (filepos_cur): Remove.
727 (filepos_valid): Remove.
728 * config/c_io_libio.cc: Resynch with the changes to basic_file.
730 2000-02-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
732 * bits/cpp_type_traits.h: Correct typo.
734 2000-02-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
736 * bits/cpp_type_traits.h: New file.
738 * bits/valarray_array.h: Tweak. #include <bits/cpp_type_traits.h>
739 Improve array construction.
740 (_Array_default_ctor): New dispatcher class.
741 (__valarray_default_construct): New function.
742 (_Array_copy_ctor): New dispatcher class.
743 (__valarray_copy_construct): New function.
744 (_Array<>::free_data): Remove.
746 * src/Makefile.am (headers): Add cpp_type_traits.h
747 * src/Makefile.in: Regenerate.
749 2000-02-28 Benjamin Kosnik <bkoz@cygnus.com>
751 Prune libio directory to match files in libio/Makefile.
752 * libio/PlotFile.cc,indstream.cc, isgetsb.cc, sbform.cc,
753 stream.cc, SFile.cc, ioassign.cc, isscan.cc, sbgetline.cc,
754 streambuf.cc, builtinbuf.cc, ioextend.cc, osform.cc, sbscan.cc,
755 strstream.cc, editbuf.cc, iomanip.cc, parsestream.cc,
756 stdiostream.cc, filebuf.cc, iostream.cc, pfstream.cc,
757 stdstrbufs.cc, fstream.cc, isgetline.cc, procbuf.cc,
758 stdstreams.cc: Remove.
759 * libio/floatio.h, iolibio.h, iostdio.h, iostreamP.h: Remove.
760 * libio/iofflush_u.c: Remove.
763 * libio/include: Remove.
764 * libio/stdio: Remove.
765 * libio/tests: Remove.
766 * libio/testsuite: Remove.
768 * config/c_io_libio.cc: Add fcntl.h include for Solaris.
770 * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add bits.
771 * configure.in: Replace 'grep -e' with 'grep' for Solaris.
772 * configure: Regenerate.
774 2000-02-25 Benjamin Kosnik <bkoz@gnu.org>
776 Abstract out the underlying "C" io bits.
777 * bits/std_new.h: Remove <stl_config> include, as well as <cstddef>.
778 * stl/bits/stl_string_fwd.h: Remove <stddef> include.
779 * bits/std_cwchar.h: Wrap with _GLIBCPP_USE_WCHAR_T guards. Don't
781 * stl/bits/stl_config.h: Don't include _G_config.h.
783 * bits/basic_file.h: Allow for non-inheritance based __basic_files.
784 * config/c_io_libio.h (_GLIBCPP_BASIC_FILE_INHERITANCE): Define.
785 * config/c_io_libio.cc: Tweak.
787 * src/Makefile.am (TOPLEVEL_INCLUDES): Add includedir.
788 * src/Makefile.in: Regenerate.
789 * Makefile.am (AM_MAKEFLAGS): Define includedir so that
790 prefix/include files will be picked up.
791 * Makefile.in: Regenerate.
792 * math/Makefile.am (TOPLEVEL_INCLUDES): And here.
793 * libio/Makefile.am (TOPLEVEL_INCLUDES): And here.
795 * bits/std_ios.h: Include <bits/c++io.h> instead of libio.
796 * bits/fpos.h: And here.
797 * bits/basic_file.h (get_fileno): Move definition from ...
798 * src/basic_file.cc (std): To here.
799 * bits/fpos.h: Move types for streamoff, streampos to..
800 * bits/basic_file.h: Move __c_file_type and fpos typedefs to...
801 * config/c_io_libio.h: ...here.
802 (_GLIBCPP_[BOOLALPHA, HEX, DEC, FIXED, INTERNAL, LEFT, OCT, RIGHT,
803 SCIENTIFIC, SHOWBASE, SHOWPOINT, SHOWPOS, SKIPWS, UNITBUF,
804 UPPERCASE, ADJUSTFIELD, BASEFIELD, FLOATFIELD, BADBIT, EOFBIT,
805 FAILBIT, GOODBIT, APP, ATE, BINARY, IN, OUT, TRUNC): New macros to
806 abstract out bits in ios_base.
807 * bits/ios_base.h: Re-macrofy.
808 * src/basic_file.cc : Rename, move to
809 * config/c_io_libio.cc: Here.
810 * config/c_io_libio.h: New file. Include libio.
811 * bits/c++config.h: Don't define _GLIBCPP_USE_LIBIO.
812 * configure.in (blddir): Add enabling bits for GLIBCPP_ENABLE_CSTDIO.
813 * configure: Regenerate.
814 * src/Makefile.am (sources): Take out basic_file.cc and add c++io.cc.
815 (generated_headers): Add c++io.h
816 * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): New function to select
817 underlying "C" io library.
818 * acinclude.m4 (GLIBCPP_CHECK_LIBIO): Roll functionality into
819 GLIBCPP_ENABLE_CSTDIO.
821 * configure.in: Add configure bits for cross compiling non-newlib
823 GLIBCPP_CHECK_COMPILER_VERSION: Take out this test for this
824 target, as we assume g++ support is not the limiting factor.
825 GLIBCPP_CHECK_LIBIO: Same, know we don't need libio.
826 * configure: Regenerate.
828 2000-02-22 Benjamin Kosnik <bkoz@cygnus.com>
830 * Makefile.am (INTERFACE): Define.
831 * Makefile.in: Regenerate.
832 * libio/ChangeLog: Add entry.
834 2000-02-21 Benjamin Kosnik <bkoz@cygnus.com>
836 * docs/install.html: Update install directions.
838 * docs/status.html: Fix sidebar to be consistent.
839 * docs/thanks.html: Same.
840 * docs/links.html: Same.
841 * docs/mail.html: Same.
842 * docs/download.html: Same.
844 * testsuite/27_io/filebuf.cc: Change BUFSIZ to buffer_size, and
845 kill the macro BUFSIZ. I think the solaris fails lie elsewhere
846 however, in the ctype_char_members.cc fail (for instance.)
847 * testsuite/17_intro/headers.cc: Remove extraneous fails for hosts
848 that do not have wchar_t enabled.
849 * testsuite/27_io/ostream_inserter_arith.cc (struct _TestCase):
851 * testsuite/27_io/iostream_objects.cc: And here.
853 * libio/gen-params (CONFIG_NM): Specifically add in nm as the
856 2000-02-18 Benjamin Kosnik <bkoz@haight.constant.com>
857 Tom Tromey <tromey@cygnus.com>
859 * configure.in: Manually add MULTISUBDIR.
860 * configure: Regenerate.
861 * src/Makefile.am (MULTISUBDIR): Add the lesser evil of Tom's two
862 "Eww" hacks to get multilib installs working correctly.
863 ($(headers): Test for MULTISUBDIR before installing.
864 * Makefile.am (AM_MAKEFLAGS): Don't define MULTISUBDIR, instead
865 have configure hack it in.
866 * Makefile.in: Regenerate.
867 * acinclude.m4 (GLIBCPP_CXXFLAGS): Tweak wording.
868 Add enabling bits for native Cygwin ctypes, and other newlib-based
871 2000-02-17 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
873 * mkc++config (OUT_H): Remove EOF in cygwin.
874 * acinclude.m4 (LIBS): Tweaks to allow cygwin to configure.
876 Tom Tromey <tromey@cygnus.com>
877 * src/Makefile.am: Tweaks for installing multilibs.
879 2000-02-17 Benjamin Kosnik <bkoz@cygnus.com>
882 (toolexeclib_LTLIBRARIES): Use this instead of lib_LTLIBRARIES.
883 Add USE_LIBDIR bits here, not...
884 * src/Makefile.in: Regenerate.
885 * Makefile.am: ...here.
886 * Makefile.in: Regenerate.
888 2000-02-17 Benjamin Kosnik <bkoz@gnu.org>
890 * acinclude.m4 (LIBS): Fix typos.
891 * configure.in: _GLIBCPP_BUGGY_FLOAT_COMPLEX,
892 _GLIBCPP_BUGGY_COMPLEX for crosses.
893 * src/Makefile.am (std_headers): Add libio.h as install include,
895 * src/Makefile.in: Regenerate.
897 * mkcheck.in: Add bits to set CXX to cross compiler.
899 * src/complex_io.cc: Tweak.
900 * configure.in: _GLIBCPP_BUGGY_COMPLEX for crosses.
901 * configure: Regenerate.
903 * config/newlib/ctype.cc: Tweaks.
904 * config/newlib/bits/ctype_base.h (ctype_base): Set mask to char,
906 * src/complex_io.cc (operator>>(istream, complex): Define out if
909 2000-02-16 Benjamin Kosnik <bkoz@cygnus.com>
911 * config/newlib/bits/ctype_base.h: Correct _S_table.
913 Reconfigure ctype support for "C" libraries that don't use arrays.
914 * testsuite/22_locale/ctype_char_members.cc: New file. Test for
915 basic ctype<char> functionality.
916 * src/locale.cc: Move host-specific ctype functions that are not
917 inlines to config/*/ctype.cc files.
918 (ctype<char>::do_tolower): For instance.
919 (ctype<char>::do_toupper): For instance.
920 (ctype<wchar_t>::do_tolower): For instance.
921 (ctype<wchar_t>::do_toupper): For instance.
922 * config/gnu-linux/ctype.cc: Modify.
923 * config/default/ctype.cc: Modify.
924 * config/newlib/ctype.cc: Modify.
925 * config/solaris/solaris2.6/ctype.cc: Modify.
926 * config/solaris/solaris2.7/ctype.cc: Modify.
928 * bits/locale_facets.h (ctype<char>::is): Mark inline, move
930 (ctype<char>::scan_is): Here too.
931 (ctype<char>::scan_not): Here too.
932 Move out of line defs to config/*/bits/ctype_specializations.h.
933 * config/gnu-linux/bits/ctype_specializations.h: ...here. New file.
934 * config/default/bits/ctype_specializations.h: ...here. New file.
935 * config/newlib/bits/ctype_specializations.h: ...here. New file.
936 * config/solaris/solaris2.6/bits/ctype_specializations.h: New file.
937 * config/solaris/solaris2.7/bits/ctype_specializations.h: New file.
938 * src/Makefile.am (headers): Add ctype_specializations.h.
939 * src/Makefile.in: Regenerate.
941 Aaron Weiss <weiss@clearway.com>
942 * Makefile.am (AM_MAKEFLAGS): Add NM_FOR_BUILD, NM_FOR_TARGET, and
943 CONFIG_NM for Solaris builds.
944 * Makefile.in: Regenerate.
946 * src/locale.cc: Tweak formatting.
948 2000-02-15 Benjamin Kosnik <bkoz@cygnus.com>
950 Jim Parsons <parsons@clearway.com>
951 * testsuite/27_io/istream_unformatted.cc (test06): Add test.
952 * bits/istream.tcc (read): Set failbit if !good(). Don't increment
956 Michel Decima <michel.decima@cnet.francetelecom.fr>
957 * testsuite/27_io/streambuf.cc: Add test.
958 * bits/streambuf.tcc (xsgetn): Don't test for valid mode.
961 * src/Makefile.am (AM_CXXFLAGS): Pass down AC_CXXFLAGS,
962 OPTIMIZE_CXXFLAGS, etc. So --enable-debug and --enable-namespaces
963 will work correctly, for instance.
964 * src/Makefile.in: Regenerate.
966 * bits/locale_facets.h: Fix merge error.
967 (num_put::put(unsigned long long): And here.
968 * mknumeric_limits (trait_name): Same.
970 2000-02-15 Chip Salzenberg <chip@valinux.com>
972 Support 'configure --enable-long-long'.
973 * bits/c++config.h (_GLIBCPP_USE_LONG_LONG): Remove.
974 * stl/bits/stl_config.h (__STL_LONG_LONG): Remove '#if 0'.
975 * acconfig.h (_GLIBCPP_USE_LONG_LONG): Add. Default to undef.
976 * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Define flag macro.
977 * configure.in (GLIBCPP_ENABLE_LONG_LONG): Use it.
979 * aclocal.m4: Regenerate.
980 * config.h.in: Regenerate.
981 * configure: Regenerate.
983 2000-02-15 Chip Salzenberg <chip@valinux.com>
985 Improve (complete?) 'long long' support.
986 * mknumeric_limits: Call $CXX with $CPPFLAGS. Define statics
987 for {,unsigned} long long if the limits header declares them.
988 * src/gen-num-limits.cc: Include <bits/c++config.h> early.
989 (__USE_GNU, _GNU_SOURCE): Define if _GLIBC_USE_LONG_LONG.
990 (long long, unsigned long long): Gen limits if _GLIBC_USE_LONG_LONG.
991 * bits/locale_facets.h (num_get<>::get(..., long long &)): Define.
992 (num_put<>::put(..., long long)): Likewise.
993 (num_put<>::put(..., unsigned long long)): Likewise.
994 * bits/locale_facets.tcc (_S_format): Rename from _S_format_long.
995 Templatize last parameter to support 'long long'.
996 (num_put<>::put(...)): Call _S_format with new name.
997 (num_put<>::put(..., long long)): Define.
998 (num_put<>::put(..., unsigned long long)): Likewise.
999 * src/locale-inst.cc (_S_format): Instantiate under new name.
1001 2000-02-15 Petter Urkedal <petter@matfys.lth.se>
1003 * src/complex.cc (operator<<, operator>>): Moved from here...
1004 * src/complex_io.cc: ...to new file.
1005 (operator>>): Stub replaced by the real thing.
1006 * src/Makefile.am (sources): Inserted complex_io.cc.
1007 * src/Makefile.in: Regenerate.
1008 * testsuite/26_numerics/complex_inserters_extractors.cc: Check it.
1010 2000-02-14 Benjamin Kosnik <bkoz@gnu.org>
1012 Add in ctype information for newlib "C" libraries.
1013 * config/newlib: New directory
1014 * config/newlib/bits/ctype_base.h: New file.
1015 * config/newlib/ctype.cc: New file.
1017 * ctype/config/linux/*: Rename, move to...
1018 * ctype/config/gnu-linux/*: Here.
1020 Finish off multilib work.
1021 * configure.in: Don't set CXX if not Canadian cross.
1022 * configure: Regenerate.
1023 * acinclude.m4 (GLIBCPP_CHECK_LIBIO): Tweak messages.
1024 * aclocal.m4: Regenerate.
1025 * config.h.in: Regenerate.
1027 * install-sh: Remove, as AC_CONFIG_AUX_DIR(..) picks this out of
1028 the top-level gcc directory now.
1029 * mkinstalldirs: Remove.
1032 * ltmain.sh: Remove.
1033 * config.guess: Remove.
1034 * config.sub: Remove.
1036 2000-02-13 Benjamin Kosnik <bkoz@cygnus.com>
1038 * configure.in (glibcpp_basedir): Add glibcpp_basedir.
1039 * Makefile.am: Move mutlilib stuff to src/Makefile.am.
1040 * Makefile.in: Regenerate.
1041 * src/Makefile.am: Add multilib bits.
1042 * src/Makefile.in: Regenerate.
1044 2000-02-12 Benjamin Kosnik <bkoz@cygnus.com>
1046 * configure.in: Clean, add some multilib support.
1047 * configure: Regenerate.
1048 * configure.host: New file.
1050 * acinclude.m4: GLIBCPP_CHECK_LIBIO. Take bits from configure.in and
1051 roll a new function, checks for presence of libio.
1052 GLIBCPP_CHECK_COMPILER_VERSION: Same.
1053 GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT: Same.
1054 GLIBCPP_CHECK_MATH_SUPPORT: Same.
1055 GLIBCPP_CHECK_WCHAR_T_SUPPORT: Same.
1056 GLIBCPP_CHECK_LIBIO: Same.
1057 GLIBCPP_CHECK_CTYPE: Same.
1058 * aclocal.m4: Regenerate.
1059 * config.h.in: Regenerate.
1061 * Makefile.am: Tweaks.
1062 * Makefile.in: Regenerate.
1064 2000-02-11 Benjamin Kosnik <bkoz@cygnus.com>
1066 * configure.in: Make outputing the libio/Makefile
1067 conditional. Haha, yeah right. Anyway, we instead do this thing
1068 where if libio is found, then we build a null library, as there is
1069 no point in duplicating the found libio.
1070 * Makefile.am: Tweak.
1071 * Makefile: Regenerate.
1072 * libio/Makefile.am: Add _G_config.h stuff. Now cross compilers
1073 are happy happy happy.
1074 * libio/Makefile.am: Regenerate.
1075 * libio/gen-params: New file.
1076 * src/Makefile.am: Make libio.la non-conditional, as it is now a
1077 null library if it's not needed. At least we are being consistent,
1078 if not as elegant as we could be.
1079 * src/Makefile: Regenerate.
1081 2000-02-10 Benjamin Kosnik <bkoz@gnu.org>
1083 * Makefile.am (SUBDIRS): Add libio again.
1084 * Makefile.in: Regenerate.
1085 * configure.in (BUILD_LIBIO_INCLUDE): And here.
1086 (AC_OUTPUT): Generate libio/Makefile again.
1087 * configure: Regnerate.
1088 * src/Makefile.am (libstdc___la_LIBADD): Change path so that
1089 libio.la is referring back to the libio subdir again.
1090 (LIBIO_INCLUDES): And here.
1091 * src/Makefile.in: Regenerate.
1093 2000-02-09 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
1095 * math/complex-stub.h: Missed one. Change __mycabs* to cabs*.
1097 2000-02-09 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1099 * bits/valarray_array.h (<bits/std_new.h>): #include.
1100 (__valarray_get_memory): New function.
1101 (__valarray_release_memory): Likewise.
1102 (__valarray_default_construct): New functions.
1103 (__valarray_fill_construct): New function.
1104 (__valarray_copy_construct): New funstions.
1105 (__valarray_destroy_elements): New function.
1107 * bits/valarray_array.tcc (__valarray_copy_construct): New
1110 * bits/std_valarray.h (valarray<>::valarray): Use
1111 __valarray_get_memory and __valarray_fill_construct,
1112 __valarray_copy_construct, __valarray_default_construct to
1113 properly construct valarrays.
1114 (valarray<>::~valarray): Use __valarray_destroy_elements to
1115 destroy elements and __valarray_release_memory to return memory.
1116 (valarray<>::shift): Tweak.
1117 (valarray<>::cshift): Likewise.
1118 (valarray<>::resize): Robustify.
1120 2000-02-09 Benjamin Kosnik <bkoz@cygnus.com>
1122 * mknumeric_limits (XCOMPILE): Add support for cross compiling.
1123 * bits/limits_generic.h: New file, defaults.
1124 * src/limits_generic.cc: New file, defaults.
1125 * configure.in (LIBS): Run mknumeric_limits at configure time.
1126 * acconfig.h: Remove PACKAGE VERSION HAVE_COMPLEX
1127 HAVE_LC_MESSAGES, tidy, clean, etc.
1128 * src/Makefile.am (geberated_sources): Remove.
1130 * bits/fpos.h: Use _GLIBCPP_USE_LIBIO guards for libio typenames
1131 (_IO_off_t, _IO_ssize_t)
1133 * src/complex.cc: Use glibc's <complex.h> if
1134 possible. . . apparently this was not being done before. Include
1136 (abs): Enable cabs if it's around, instead of mycabs.
1137 * src/complexf.cc (FCT): Add global scope to match complex.cc.
1138 * src/complexl.cc (FCT): Same.
1139 * math/Makefile.am (EXTRA_LONG_DOUBLE_yes): Change mycabsl to cabsl.
1140 (libmath_la_SOURCES): And here.
1141 * math/(mycabs.c, mycabsf.c, mycabsl.c): Move to. . .
1142 * math/(cabs.c, cabsf.c, cabsl.c): . . . Here.
1143 * math/complex-stub.h: Move c_log declarations into. . .
1144 * math/mathconf.h: Here. This is because glibc's <complex.h>
1145 declares cclog, not c_log. The case of the dueling standards. . .
1146 * math/mathconf.h: Add _GLIBCPP_HAVE_* to macros.
1147 * math/Makefile.am: Change.
1148 * math/nan.c (nan): Change signature.
1149 * math/mathconf.h (NAN): Same.
1150 * math/complex-stub.h (nan): And here.
1152 * Makefile.am (rebuild-stamp): Remove libio and libio
1153 dependancies. Plan to take out libio subdir and just merge with
1154 libio in top level gcc directory. Of course, this assumes there is
1155 a libio in the top level directory (ie ../src_dir). This will
1156 probably change the way this library is configured by default.
1159 2000-02-09 Chip Salzenberg <chip@valinux.com>
1161 * localefwd.h (locale): Make public: facet, id, category.
1163 2000-02-09 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1165 * testsuite/26_numerics/buggy_complex.cc: Fix Origin:.
1167 * acinclude.m4: Patch only once!
1169 2000-02-09 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1171 * testsuite/26_numerics/buggy_complex.cc: New file.
1173 2000-02-05 Petter Urkedal <petter@matfys.lth.se>
1175 * acinclude.m4: New GLIBCPP_CHECK_COMPLEX_SUPPORT macro. Based
1176 on the 1999-11-21 entries by Mumit Khan.
1177 * configure.in: Use.
1178 * acconfig.h: New _GLIBCPP_BUGGY_COMPLEX macro.
1179 * bits/std_complex.h: Use.
1181 2000-02-04 Philip Martin <pm@corris.dircon.co.uk>
1183 * stl/bits/stl_algobase.h: Add traits based dispatch for
1184 __normal_iterator in the copy_backward()algorithm
1185 * stl/bits/stl_vector.h: Reduce use of __normal_iterator
1188 2000-02-04 Mumit Khan <khan@xraylith.wisc.edu>
1190 * src/gen-num-limits.cc (signal_handler): Work around signal
1191 handling problem on Cygwin.
1192 Thanks to Chris Faylor <cgf@cygnus.com>.
1194 2000-02-03 Benjamin Kosnik <bkoz@cygnus.com>
1196 * configure.in: Add (preliminary) support for cross compiles and
1198 Remove AC_C_BIGENDIAN tests. Why is this necessary? Cross
1199 compilation freaks on this.
1200 * configure: Regenerate.
1201 * src/Makefile.am: Add support for cross compiles.
1202 * src/Makefile: Regenerate.
1203 * Makefile.am: Add support for cross compiles.
1204 * Makefile.in: Regenerate.
1206 2000-02-02 Benjamin Kosnik <bkoz@cygnus.com>
1208 * configure.in (LIBS): Remove unused subdirs.
1209 * configure: Regenerate.
1210 * Makefile.am (SUBDIRS): And here.
1211 * Makefile.in: Regenerate.
1212 * src/Makefile.am (sources): And here.
1213 * src/Makefile.in: Regenerate.
1216 * generic/*: Remove.
1218 * mkcheck.in (INC_PATH): Include $BUILD_DIR before any source dirs.
1220 * libtool: Update to libtool-1.3.4.
1224 * config.guess: Same.
1226 2000-02-02 Benjamin Kosnik <bkoz@cygnus.com>
1227 Alexandre Petit-Bianco <apbianco@cygnus.com>
1229 * mkc++config: New file. Put autoconf macros into _GLIBCPP_
1230 namespace instead of polluting global namespace with duplicate
1232 * configure.in (AC_OUTPUT): Don't need to generate bits/config.h
1234 (AC_OUTPUT_COMMANDS): Make it here.
1235 * configure: Regenerate.
1236 * bits/c++config.h.in (_CPP_CPPCONFIG): Change. Tweak. Remove
1237 endif, as now we will add it manually.
1238 Move to this file. . .
1239 * bits/c++config.h: New file. Same as old c++config.h.in except
1240 the ending macro guard is now appended manually.
1242 * bits/locale_facets.tcc: Change HAVE_* macros to _GLIBCPP_HAVE_*.
1243 * bits/std_cmath.h: Same here.
1244 * bits/std_cwchar.h: And here.
1245 * src/locale.cc: And here.
1246 * src/complexl.cc: And here.
1247 * math/mathconf.h: Change to include "config.h" instead of
1250 2000-02-01 Benjamin Kosnik <bkoz@gnu.org>
1252 * configure.in: Add support for threads. Try a model closer to
1253 libjava, as hopefully if the thread bits are added carefully
1254 enough, the source code will not have gross hacks. Besides, the
1255 libstdc++-v2 model could be easily emulated without the necessity
1256 of linking files in (as currently done)--all that needs to be done
1257 is AC_DEFINE(-D_PTHREADS) etc. However, let's try something
1258 new. . . and see if we arrive at a more elegant solution.
1259 * configure: Regenerated.
1260 * config/threads-no.h: New file.
1261 * config/threads-posix.h: New file.
1262 * src/Makefile.am (myinstallheaders): Install c++threads.h.
1263 * src/Makefile.in: Regenerated.
1265 2000-01-31 Benjamin Kosnik <bkoz@gnu.org>
1267 META-QUESTION: Can we just make a "header.html" file and a
1268 "footer.html" and just include them in all the doc sub-pages. The
1269 duplication of the header info is kind of gross, and weak
1270 considering that if you change order or layout then all this stuff
1271 has to be changed in all the sub-files.
1273 * docs/17_intro/contribute.html: Take out duplicate file info.
1274 * README: Should just contain a link to the docs/index.html
1275 page. Duplicate information removed.
1276 * docs/faq/index.html: Remove indexes into HOWTOS.
1277 * docs/17_intro/howto.html: Make intro and docs part more
1278 centralized. Move intro stuff to documentation.html.
1279 * docs/how.html: Tweak. Does this file need to exist? What calls it?
1280 * docs/README.html: Move documentation files to
1281 documentation.html. Should this file be renamed
1282 "config_and_install.html" as that is what is apparently covered
1284 * docs/install.html: Yes. New file, moved and renamed README.html.
1285 * docs/documentation.html: New file. This is the index file for
1287 * docs/index.html: Edit sidebar order. Insert new link to new
1288 documentation spine, documentation.html.
1290 2000-01-31 Scott Snyder <snyder@fnal.gov>
1292 * bits/istream.tcc (operator>>(istream&, string&)): Set failbit if
1293 we don't extract any characters.
1294 * testsuite/21_strings/inserters_extractors.cc (main): New tests.
1296 2000-01-31 Anders Widell <awl@hem.passagen.se>
1298 * stl/bits/std_bitset.h (_M_do_left_shift): Handle case when shift
1299 step is a multiple of the word size.
1300 (_M_do_right_shift): Same.
1301 * testsuite/23_containers/bitset_shift.cc: New file.
1303 2000-01-31 Nathan Myers <ncm@zembu.com>
1305 * README (Documentation): Add path info, fix typos.
1307 2000-01-26 Benjamin Kosnik <bkoz@redhat.com>
1309 * bits/locale_facets.tcc (num_get::_M_extract): Add the freaking
1310 crazy group checking for numpunct, for real this time. At some
1311 point, the local variable __grp should probably get replaced a
1312 char array, or something a bit more lightweight.
1313 (num_get::do_get(bool)): Simplify. Don't set bool reference to
1314 parsed value unless err isn't failbit.
1315 (num_get::do_get(*)): Same, make consistent.
1317 Nathan Myers <ncm@zembu.com>
1318 Jim Parsons <parsons@clearway.com>
1319 * testsuite/27_io/istream_extractor_arith.cc (test08): Add
1320 more grouping tests, tweak, scold, wine.
1322 2000-01-24 Benjamin Kosnik <bkoz@gnu.org>
1324 * testsuite/27_io/istream_extractor_arith.cc (test07): Add
1326 * bits/locale_facets.tcc (num_get::_M_extract): Change to fix
1327 grouping bugs. Only allow thousands_sep if _M_use_groupings is
1330 via <llewelly@198.dsl.xmission.com>
1331 * stl/bits/stl_vector.h (vector::_M_range_check): Throw
1332 out_of_range instead of range_error.
1334 2000-01-17 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1336 * bits/std_iomanip.h (setw): Fix typo.
1338 2000-01-14 Benjamin Kosnik <bkoz@gnu.org>
1340 * testsuite/27_io/istream_extractor_arith.cc: Fix.
1341 * bits/locale_facets.tcc (do_get(...void)): Change to strtoul.
1342 * testsuite/27_io/istream_unformatted.cc (test04): Tweak.
1344 2000-01-14 Phil Edwards <pme@sourceware.cygnus.com>
1346 * docs/README.html: Reformat, more installation instructions.
1347 * docs/gccrebuild.html: New file.
1348 * docs/faq/index.html: Update for new testsuite output filenames.
1349 * docs/faq/index.txt: Regenerate.
1351 2000-01-14 Phil Edwards <pme@sourceware.cygnus.com>
1353 * Makefile.am (rebuild-stamp, all-local): New targets.
1354 * Makefile.in: Regenerated.
1355 * acinclude.m4: New macro, GLIBCPP_ENABLE_RELIBGCC.
1356 * aclocal.m4: Regenerated.
1357 * configure.in: Call new macro. Also do some sanity checks
1358 for combinations of --enable's that may not make sense.
1359 * configure: Regenerated.
1361 2000-01-13 Benjamin Kosnik <bkoz@cygnus.com>
1363 * testsuite/27_io/istream_extractor_arith.cc: Add checks for void*.
1364 * bits/locale_facets.tcc (do_get::(...void)): Set fmtflags
1365 correctly for hex-formatted input.
1367 * testsuite/27_io/istream_manip.cc (test01): Fix, as per setting
1368 eofbit instead of eofbit | failbit.
1369 * testsuite/27_io/istream_unformatted.cc (test04): Fix, as
1370 ifstreams now are opened or'd with ios_base::in (as is correct).
1371 * bits/fstream.tcc (filebuf::seekoff): Simplify.
1372 * testsuite/27_io/ios_base_members_static.cc (test01): Fix thinko.
1374 2000-01-12 Benjamin Kosnik <bkoz@gnu.org>
1376 * bits/std_fstream.h: Add ios_base as a friend to basic_filebuf.
1377 * bits/basic_file.h (basic_file::filepos_cur): Remove incorrect
1379 (__basic_file::filepos_valid): Same.
1380 (__basic_file::filepos_beg): Same.
1381 (__baseic_file::get_fileno): New function.
1382 * bits/ios_base.h (ios_base::sync_with_stdio): Implement, including
1383 feedback from LWG 49.
1384 * src/ios.cc: Move definition here.
1385 * testsuite/27_io/ios_base_members_static.cc (test01): Add tests.
1387 * bits/std_sstream.h (_M_really_sync): Simplify argument list. Set
1388 output part of internal buffer based on string size, so that
1389 _M_out_end is set consistently with filebufs. Correct comments.
1390 * bits/sstream.tcc (stringbuf::overflow): Update here too.
1391 * testsuite/27_io/stringbuf.cc: Changes.
1393 2000-01-11 Benjamin Kosnik <bkoz@gnu.org>
1395 * bits/sstream.tcc (seekoff): Set based on end of written buffer,
1397 * testsuite/27_io/stringbuf.cc: Add tests for seekoff(end).
1399 * bits/std_fstream.h (ifstream::open): Add ios_base::in to openmode.
1400 (ofstream::open): Add ios_base::out to openmode.
1402 * bits/locale_facets.tcc (_M_extract): Have consistency between
1403 istream::sentry and extractors, where failbit | eofbit is
1404 set. Don't change this, but instead change. . (do some formatting
1406 * bits/istream.tcc (istream::sentry): Only set eofbit.
1408 2000-01-10 Benjamin Kosnik <bkoz@gnu.org>
1410 * testsuite/27_io/istringstream_members.cc: New file.
1412 2000-01-09 Benjamin Kosnik <bkoz@gnu.org>
1414 * bits/istream.tcc (istream::sentry): Flush.
1416 * configure.in (AC_OUTPUT_COMMANDS): Simplify.
1417 * configure: Regenerate.
1418 * src/Makefile.am (generated_headers): Remove bits/c++config.h so
1419 that make clean will not delete it.
1420 * src/Makefile: Regenerate.
1422 2000-01-07 Phil Edwards <pme@sourceware.cygnus.com>
1424 * mkcheck.in: Use host-specific invocation of size(1);
1425 GNU binutils isn't necessarily there (more's the pity).
1427 2000-01-06 Benjamin Kosnik <bkoz@cygnus.com>
1429 * configure.in (LIBS): Better tests for solaris2.6.
1430 * configure: Regenerate.
1432 <vakatov@ncbi.nlm.nih.gov>
1433 * bits/std_sstream.h: As per libstdc++20.
1435 2000-01-06 Benjamin Kosnik <bkoz@gnu.org>
1437 Break out configuration on solaris.
1438 * configure.in (ctype_solaris): Add in bits for solaris2.6 and 2.7.
1439 * config/solaris/ctype.cc: Delete and move to proper version.
1440 * config/solaris/bits: Same.
1441 * config/solaris/solaris2.5: Add this directory, with subdir bits
1442 and file ctype.cc. Probably doesn't work.
1443 * config/solaris/solaris2.6: Same.
1444 * config/solaris/solaris2.7: Same, as per specs via Phil Edwards.
1446 * Makefile.am: Change paths to mkcheck.
1447 * Makefile: Regenerate.
1448 * configure.in (AC_OUTPUT_COMMANDS): Build mkcheck here.
1449 * configure: Regenerate.
1450 * src/Makefile.am (generated_headers): Add bits/c++config.h.
1452 * mkcheck: Now autogenerated by configure and renamed. . .
1453 * mkcheck.in (INC_PATH): Add glue for ctype_include_dir.
1454 Have longer-style dates.
1455 Raja R Harinath <harinath@cs.umn.edu>
1456 * mkcheck: Change path to #!/usr/clocal/bin/bash.
1458 * docs/README.html: Correct links, maybe. FAQ, install notes, and
1459 general documentation need to be organized around each other, not
1460 fight against each other. . .
1462 2000-01-04 Phil Edwards <pme@sourceware.cygnus.com>
1463 Nicolai Josuttis <nicolai.josuttis@braunschweig.netsurf.de>
1465 * README: Add a note referring to README.html.
1466 * docs/README.html: New file from Nicolai.
1467 * docs/faq/index.html: Move "how to get a copy" to here.
1468 * docs/gentop/footchunk.html: Update.
1469 * docs/gentop/headchunk.html: New links according to
1470 bkoz's idea for "How to..." stuff.
1471 * docs/gentop/thanks: Actually put people here.
1472 * docs/download.html: Regenerated.
1473 * docs/index.html, docs/links.html, docs/mail.html,
1474 docs/status.html, docs/thanks.html, docs/faq/index.txt: Ditto.
1475 * docs/how.html: Ditto. (This file should go away soon.)
1477 1999-12-26 Phil Edwards <pme@sourceware.cygnus.com>
1479 * docs/gentop/status: Add snapshot version column, update
1481 * docs/status.html: Regenerated.
1483 1999-12-26 Phil Edwards <pme@sourceware.cygnus.com>
1485 * docs/faq/index.html: Turn README and RELEASE-NOTES into links
1486 from installation FAQ, and specify location of text files.
1487 * docs/faq/index.txt: Regenerated.
1489 1999-12-23 Phil Edwards <pme@sourceware.cygnus.com>
1491 * docs/gentop/download: Add links to prebuilds for Cygwin/Mingw32.
1492 * docs/download.html: Regenerated.
1494 1999-12-22 Phil Edwards <pme@sourceware.cygnus.com>
1496 * docs/faq/index.html: Update 'what works' for .7 snapshot,
1497 clean up various links.
1498 * docs/faq/index.txt: Regenerated.
1499 * docs/gentop/gentop: Smarter regeneration script.
1500 * docs/gentop/{head,foot}chunk.html: Updated with new
1501 contributors link and mod date.
1502 * docs/gentop/index: Snapshot relase date.
1503 * docs/gentop/thanks: New contributors page added.
1504 * docs/{download,how,index,links,mail,status,thanks}.html:
1505 Regenerated from gentop; thanks.html created.
1507 1999-12-21 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
1509 * bits/c++config.h.in (__GLIBCPP__): 19991221.
1510 * docs/index.html: Add correct information.
1512 * config/irix: New directory.
1513 * config/irix/ctype.cc: Add irix-6.5 info. Not tested.
1514 * config/irix/bits/ctype_base.h: And here.
1516 * config/aix: New directory.
1517 * config/aix/ctype.cc: Add aix-4.2 info. Not tested.
1518 * config/aix/bits/ctype_base.h: And here.
1520 1999-12-21 Philip Martin <pm@corris.dircon.co.uk>
1522 * bits/basic_string.h: Add special case handling for integral
1524 * bits/std_string.h: include type_traits.h
1525 * testsuite/21_strings/ctor_copy_dtor.cc: Tweak.
1527 1999-12-21 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
1529 * bits/fstream.tcc (seekoff): Output buffer based on _M_*_in and
1531 * bits/std_fstream.h (sync): And here.
1532 * testsuite/27_io/filebuf.cc: Revisions.
1533 * testsuite/27_io/filebuf-2.tst: Correct, remove weird character
1534 at the end of the file.
1535 * testsuite/27_io/filebuf-3.tst: Correct.
1537 1999-12-21 Phil Edwards <pedwards@jaj.com>
1539 * docs/gentop/index: Hold off on .7 announcement date.
1540 * docs/index.html: Regenerate.
1542 1999-12-21 Benjamin Kosnik <bkoz@kcygnus.com>
1544 * bits/std_fstream.h (sync): Move _M_file->sync() to
1545 _M_really_overflow().
1546 * bits/fstream.tcc (seekoff): Call sync, not _M_really_overflow so
1547 as to get the _M_file->sync action, which forces the external
1548 buffer to update itself.
1549 (underflow): Same here.
1551 1999-12-21 Phil Edwards <pedwards@jaj.com>
1553 * bits/c++config.h.in: Uncomment _GLIBCPP_USE_NAMESPACES and move...
1554 * acconfig.h: ...to here.
1555 * config.h.in: Regenerate from aclocal.
1556 * acinclude.m4: Add GLIBCPP_ENABLE_DEBUG, GLIBCPP_ENABLE_NAMESPACES.
1557 * aclocal.m4: Regenerate from acinclude.
1558 * configure.in: Use ENABLE macros here.
1559 * configure: Regenerate.
1560 * src/Makefile.am: Use results from ENABLE macros.
1561 * src/Makefile.in: Regenerate.
1563 1999-12-20 Benjamin Kosnik <bkoz@cygnus.com>
1565 * mkcheck (SRC_DIR): Now have to include config/* dir if "make
1566 check" and not "make check-install." Temporarily hack in linux
1569 * bits/std_streambuf.h: Tweaks.
1570 * bits/streambuf.tcc (xsgetn): Tweaks.
1571 * bits/std_fstream.h (sync): Make _M_really_overflow consistent.
1572 * bits/fstream.tcc (filebuf::underflow): Simplify.
1573 * bits/std_sstream.h (streambuf::underflow): Minor change to make
1574 checks for read position precisely implement the standard.
1575 * bits/basic_file.h (filepos_cur): Base this on _offset.
1576 * testsuite/21_strings/inserters_extractors.cc (test05): Tweaks.
1577 * testsuite/27_io/filebuf.cc: Tweak.
1579 1999-12-20 Benjamin Kosnik <bkoz@cygnus.com>
1581 * docs/17_intro/RELEASE-NOTES: Fix typos.
1583 * bits/locale_facets.h (ctype): Modify, use __to_type to abstract
1584 out platform-specific bits.
1585 * config/default/ctype.cc: And here.
1586 * config/defaults/bits/ctype_base.h: And here.
1587 * config/linux/ctype.cc: And here.
1588 * config/linux/bits/ctype_base.h (ctype_base): And here.
1589 * config/solaris/bits/ctype_base.h (ctype_base): Add
1590 __to_type. Comment, as it looks like this is for solaris2.6 and
1591 above: solaris2.5.1 doesn't seem to have the same definitions.
1592 * config/solaris/ctype.cc: And here.
1594 1999-12-19 Benjamin Kosnik <bkoz@cygnus.com>
1595 Ulrich Drepper <drepper@cygnus.com>
1597 * acconfig.h: Remove _GLIBCPP_USE_CTYPE_ISBIT.
1599 * src/locale.cc: Take out platform-specific hacks.
1600 * config/linux/ctype.cc: Put here.
1601 * config/solaris/ctype.cc: Put here.
1602 * config/default/ctype.cc: Put here.
1604 * bits/locale_facets.h: Take out platform-specific hacks.
1605 * config/linux/bits/ctype_base.h: Put here.
1606 * config/solaris/bits/ctype_base.h: Put here.
1607 * config/default/bits/ctype_base.h: Put here.
1609 * configure.in: Bump version.
1610 Add tests for top-level config directory.
1611 * configure: Regenerated.
1612 * src/Makefile.am (INCLUDES): Add platform-specific dir.
1613 * src/Makefile: Regenerate.
1615 1999-12-19 Benjamin Kosnik <bkoz@cygnus.com>
1616 Ulrich Drepper <drepper@cygnus.com>
1618 * bits/locale_facets.h: Hack in solaris support.
1619 * src/locale.cc: Here too.
1621 1999-12-18 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1623 * docs/17_intro/TODO: Update
1624 * docs/17_intro/RELEASE-NOTES (New): Update.
1626 1999-12-17 Benjamin Kosnik <bkoz@milou.cygnus.com>
1628 * bits/c++config.h.in (__GLIBCPP__): Bump.
1629 * docs/17_intro/RELEASE-NOTES: Update, Gaby please add your stuff.
1630 * docs/17_intro/TODO: Update.
1632 * bits/locale_facets.h: Touch this too.
1633 * bits/localefwd.h: Add typedefs for loooooong vector names.
1634 * bits/locale_facets.tcc (locale::operator()): Need parens.
1635 (has_facet): Simplify.
1636 * src/locale-inst.cc: Add instantiations.
1637 * src/locale.cc: Tweaks.
1639 * bits/std_streambuf.h: Move indeterminates into. .
1640 * bits/std_fstream.h: Here.
1641 * bits/fstream.tcc (underflow): Rewind just for ios_base::out
1643 * bits/sstream.tcc: Very minor formatting tweaks.
1644 * bits/std_streambuf.h (_M_set_determinate): If exclusively an
1645 input buffer, set _M_buf to offset.
1646 * bits/istream.tcc (std): Tweaks.
1647 * testsuite/27_io/istream_unformatted.cc (test05): More tweaks,
1649 * testsuite/27_io/filebuf.cc: Tweaks.
1651 1999-12-17 Phil Edwards <pedwards@jaj.com>
1653 * configure.in: Add OPTLEVEL, -O2 for gcc 2.96+, nothing otherwise.
1654 * configure: Regenerate.
1655 * src/Makefile.am: Use OPTLEVEL in CXXFLAGS.
1656 * src/Makefile.in: Regenerate. Also picks up OTHER_CXXFLAGS rename
1657 to OPTIMIZE_CXXFLAGS from a previous revision (1.96) to Makefile.am.
1659 1999-12-17 Phil Edwards <pedwards@jaj.com>
1661 * docs/21_strings/stringtok_std_h.txt: New algorithm
1662 suggested by Chris King.
1663 * docs/21_strings/howto.html: Link to new version.
1665 1999-12-16 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1667 * bits/valarray_array.h (__valarray_sum): Use operator+=, not
1669 * docs/17_intro/TODO: Update.
1671 1999-12-15 Phil Edwards <pme@sourceware.cygnus.com>
1673 * docs/gentop/footchunk.html: Updated, fixed CRLFs.
1674 * docs/gentop/gentop: Ditto.
1675 * docs/gentop/headchunk.html: Ditto.
1676 * docs/*.html: Regenerated from gentop.
1677 * docs/*/howto.html: Updated as test.
1678 * docs/faq/index.html: Updated, fixed CRLFs.
1679 * docs/faq/index.txt: Regenerated.
1681 1999-12-15 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1683 * mknumeric_limits (OUT_C): restart only if $OUT_C is present.
1685 * bits/std_complex.h
1686 (complex<float>::complex(const complex<double>&),
1687 complex<float>::complex(const complex<long double>&)): Define.
1689 * docs/17_intro/TODO: Update.
1691 1999-12-13 Benjamin Kosnik <bkoz@cygnus.com>
1693 * bits/istream.tcc (seekg): Don't set _M_gcount.
1695 * bits/fstream.tcc (filebuf::underflow): Re-sync
1696 external byte sequence's input buffer only. . .
1697 * testsuite/27_io/istream_unformatted.cc (test04): New tests for
1698 tellg, seekg and filebufs.
1699 (test05): Same for stringbufs.
1700 * testsuite/27_io/istream_unformatted-2.tst: New file.
1701 * testsuite/27_io/istream_unformatted-1.tst: New file.
1702 * testsuite/27_io/istream_unformatted-1.txt: New file.
1703 * testsuite/21_strings/inserters_extractors.cc (test05): Change
1706 1999-12-13 Phil Edwards <pedwards@jaj.com>
1708 * docs/gentop/*: New directory, containing bits for the homepages.
1709 * docs/*.html: Regenerated from gentop.
1710 * docs/*/*.html: Entries added and regenerated.
1712 1999-12-13 Benjamin Kosnik <bkoz@gnu.org>
1714 Efforts to get -O2 to work with -Winline -Werrors.
1715 * bits/valarray_array.h (__valarray_fill(_Tp*, size_t, const
1716 _Tp&): Remove inline declaration, as cannot be inlined and
1717 -Winline -Werror complains. An interesting question is why this
1718 cannot be inlined, as I can see no real reason to disqualify it.
1719 (__valarray_product(const _Tp*, const _Tp*)): Same here.
1720 * bits/std_valarray.h (valarray::operator[](size_t)): Same here.
1722 * docs/17_intro/TODO: Update.
1724 1999-12-12 Benjamin Kosnik <bkoz@gnu.org>
1726 * bits/std_fstream.h (seekpos): Tweaks, fixes. Move definition to
1728 * bits/basic_file.h (filepos_cur()): Make pointers themselves be
1729 the resultant position.
1730 * bits/fstream.tcc (seekoff): Explicitly set return value to
1731 resultant external byte sequence position, not value returned from
1732 _M_file->seekoff. Need to make
1733 (seekpos): New definition.
1735 * bits/istream.tcc (seekg): As per Library Issues List 136, set to
1736 just istream. Necessary, or else tellg will give an invalid stream
1737 position, but seekg will return a valid stream position, which is
1738 not groovy: see testcase addition.
1739 * bits/ostream.tcc (seekp): Same.
1741 * bits/streambuf.tcc (_S_copy_streambufs): Simplify.
1742 * bits/sstream.tcc: Tweaks.
1743 * bits/locale_facets.tcc: Tweaks.
1744 (num_put::do_put(iter_type, ios_base, char_type, const void*)):
1745 Re-write in a way that is easier for the inliner to work with.
1746 * bits/ios_base.h: Use explicit static_cast<int>(...) notation.
1748 1999-12-10 Benjamin Kosnik <bkoz@cygnus.com>
1750 * bits/locale_facets.tcc: Tweaks.
1751 * bits/locale_facets.h (use_facet): Can't inline, remove inline
1753 * bits/localefwd.h: And here.
1754 * bits/std_ostream.h: Tweaks, sentry ctor can't be inlined.
1755 * bits/ostream.tcc: Put here.
1757 Frank Ch. Eigler <fche@cygnus.com>
1758 * src/Makefile.am: Adjust CXXFLAGS, add AM_CXXFLAGS.
1760 1999-12-08 Benjamin Kosnik <bkoz@cygnus.com>
1762 * bits/sstream.tcc (stringbuf::seekoff): Long overdue revamp. Make
1763 in and out buffers update independantly.
1765 * bits/basic_ios.h: Minor formatting.
1766 * bits/fstream.tcc (std): Fix indentation.
1768 1999-12-08 Chip Salzenberg <chip@valinux.com>
1770 * bits/char_traits.h (char_traits<>): Move not_eof() functions
1771 after corresponding eof() functions, so they're easier for the
1773 * bits/locale_facets.h (money_base::__default_pattern): Move
1774 static variable out of inline functions.
1775 (_Moneypunct<>::do_{pos,neg}_format): Use it.
1776 * src/locale-inst.cc (money_base::__default_pattern): Define it.
1778 1999-12-08 Benjamin Kosnik <bkoz@cygnus.com>
1780 * bits/std_fstream.h (filebuf::open): Tweak.
1781 * bits/fstream.tcc (filebuf::seekoff): Simplify, fix.
1782 * bits/std_ios.h: Minor tweaks for headers.
1784 1999-12-06 Benjamin Kosnik <bkoz@gnu.org>
1786 * bits/c++config.h.in (_GLIBCPP_FULLY_COMPLIANT_HEADERS): New macro.
1787 * src/string-inst.cc: Add guards . . .
1788 * src/misc-inst.cc: And here.
1789 * bits/std_sstream.h: And here.
1790 * bits/std_fstream.h: And here.
1791 * bits/std_streambuf.h: And here.
1792 * bits/std_istream.h: And here.
1793 * bits/std_ostream.h: And here.
1795 1999-12-06 Scott Snyder <snyder@fnal.gov>
1797 * bits/istream.tcc (basic_istream::read): Try to handle __n == 0
1799 (basic_istream::readsome): And here as well.
1800 * testsuite/27_io/istream_unformatted.cc: Test a zero-length
1803 1999-12-06 Mumit Khan <khan@xraylith.wisc.edu>
1805 * bits/istream.tcc (basic_istream::ignore): streamsize is not
1806 necessarily an `int'.
1808 1999-12-06 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1810 * mknumeric_limits: Don't use $CXXFLAGS when building
1811 gen-num-limits. It's definitely wrong to use it since $CXXFLAGS
1812 generally instructs the compiler not to emit template
1813 instantiations and we end up with undefined symbols. Sigh.
1815 1999-12-05 Benjamin Kosnik <bkoz@gnu.org>
1817 * bits/locale_facets.tcc: Tweak.
1818 (_S_format_long): Adjust showpos formatting for hex and oct.
1819 * bits/std_ostream.h (operator<<(short)): Correctly deal with hex
1820 and oct by formatting as unsigned.
1821 (operator<<(int)): Same here.
1822 * bits/ostream.tcc (operator<<(long)): Same.
1823 (operator<<(long long)): Same.
1824 (_S_pad_char): Actually treat ios_base::internal as something
1825 worth doing correctly. Remove const designation on ios argument.
1826 * testsuite/27_io/ios_manip_basefield.cc (test02): Add tests.
1827 * testsuite/27_io/ostream_inserter_arith.cc (test03): Add tests.
1829 1999-12-04 Benjamin Kosnik <bkoz@gnu.org>
1831 * bits/std_sstream.h (streambuf::underflow): Check for mode == in.
1833 1999-12-03 Benjamin Kosnik <bkoz@gnu.org>
1835 * bits/locale_facets.tcc (num_put::do_put(bool): Fix.
1837 * bits/sstream.tcc (streambuf::seekoff): Add parens.
1838 * bits/istream.tcc (istream::get(sb)): Handle exceptional events.
1839 (operator>>(istream, _CharT*)): Change streamsize to int_type.
1840 (operator>>(istream, _CharT&)): Fix typedef'd type to be _CharT.
1841 * bits/ostream.tcc (ostream::operator<<(const char*)): Stub out
1843 (ostream::operator<<(_CharT)): Fix.
1845 * bits/std_sstream.h: Temporarily disable including sstream.tcc to
1846 see if this will increase compile speed.
1847 * bits/std_ostream.h: Likewise. . .
1848 * bits/std_istream.h: And here.
1849 * bits/std_fstream.h: And here.
1850 * src/misc-inst.cc: Add relevant header file includes for
1851 instantiation purposes.
1852 * src/string-inst.cc: And here.
1853 * testsuite/27_io/ostream_inserter_arith.cc: Add test case.
1855 1999-12-02 Benjamin Kosnik <bkoz@gnu.org>
1857 * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
1858 * bits/istream.tcc (get(streambuf)): More fixes.
1859 (istream::ignore): Get specific about numeric_limits<int>::max()
1862 * bits/fstream.tcc (filebuf::open): Tweaks for _M_last_overflowed.
1863 (filebuf::close): Same.
1864 * testsuite/27_io/filebuf.cc: Add tests for ios_base::ate.
1866 1999-12-01 Phil Edwards <pedwards@jaj.com>
1868 * mkcheck: Support for compilation/execution timing.
1869 * testsuite/printnow.c: New file.
1871 1999-12-01 Phil Edwards <pedwards@jaj.com>
1873 * bits/std_cwchar.h: Test for _GLIBCPP_USE_WCHAR_T.
1874 * configure.in: Test for presence of wchar.h before testing
1875 for any of its features.
1876 * configure: Regenerate.
1878 1999-11-30 Benjamin Kosnik <bkoz@gnu.org>
1880 Preliminary istream validations complete.
1881 * bits/istream.tcc (istream::getline): Fixes. Tweaks to make
1882 formatting more consistent. Removal of if-statements inside of for
1887 * bits/std_istream.h: Same.
1888 * bits/sstream.tcc (stringbuf::pbackfail): Fix.
1889 * testsuite/27_io/stringbuf.cc: Tweak.
1890 * testsuite/27_io/istream_unformatted.cc (test02): Mo' tests.
1892 * bits/ostream.tcc (ostream::operator<<(arith)): Set badbit, not
1893 failbit on failure, as per 27.6.2.5.2.
1895 * stl/bits/std_vector.h: Allow bool specializations. Should move
1896 ext/std_bvector to bits, not ext, maybe.
1898 1999-11-30 Mumit Khan <khan@xraylith.wisc.edu>
1900 * configure.in: Fix checks for mbstate_t and WCHAR_MIN/MAX.
1901 * configure: Regenerate.
1903 999-11-29 Benjamin Kosnik <bkoz@gnu.org>
1905 * bits/istream.tcc (get(streambuf, char)): Fix.
1906 * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
1908 1999-11-29 Scott Snyder <snyder@fnal.gov>
1910 * bits/basic_string.h (append(const _Char*, size_type)): The
1911 length of the appended string is given exactly by the second arg,
1912 regardless of the data in the character array.
1913 * bits/string.tcc (basic_string(const _CharT*, size_type, const
1914 _Alloc&)): Likewise.
1915 * testsuite/21_strings/append.cc (test01): Remove erroneous test
1916 of basic_string::append.
1918 1999-11-29 Chip Salzenberg <chip@valinux.com>
1920 * Makefile.in: Tweaks for CXXFLAGS.
1921 * */Makefile.in: Same.
1923 1999-11-29 Mumit Khan <khan@xraylith.wisc.edu>
1925 * conficd bgure.in: Check for wide character support.
1926 * bits/c++config.h.in (_GLIBC_USE_WCHAR_T): Move from here ...
1927 * acconfig.h (_GLIBC_USE_WCHAR_T): to here.
1928 * bits/string.tcc (wstring::_S_find): Guard wchar_t specialization.
1930 1999-11-29 Mumit Khan <khan@xraylith.wisc.edu>
1932 * acinclude.m4: Fix typo.
1933 * src/complex.cc: Fix macro line continuation.
1935 1999-11-29 Petter Urkedal <petter@matfys.lth.se>
1937 * src/Makefile.am (CXXFLAGS): Add -Wno-format to allow non-
1938 string literals in format, as used in locale-facets.tcc.
1940 1999-11-28 Benjamin Kosnik <bkoz@gnu.org>
1942 * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
1943 * bits/istream.tcc (istream::get): Extract to argument minus one.
1944 Various tweaks and fixes.
1946 1999-11-22 Mumit Khan <khan@xraylith.wisc.edu>
1948 * bits/locale_facets.tcc: Workaround for compiler crash on
1951 1999-11-21 Mumit Khan <khan@xraylith.wisc.edu>
1953 * acinclude.m4: New file. New _GLIBCPP_CHECK_FLOAT_SUPPORT macro.
1954 * configure.in: Use.
1955 * acconfig.h: New _GLIBCPP_BUGGY_FLOAT_COMPLEX macro.
1956 * src/complexf.cc: New _GLIBCPP_FLOAT_SPECIALIZATION macro.
1957 * bits/std_complex.h: Use.
1958 * src/complex.cc: Use.
1960 1999-11-19 Mumit Khan <khan@xraylith.wisc.edu>
1962 * testsuite/18_support/numeric_limits.cc: Add missing std:: prefix.
1963 * testsuite/21_strings/inserters_extractors.cc: Likewise.
1964 * testsuite/22_locale/ctype.cc: Likewise.
1965 * testsuite/23_containers/multiset.cc: Likewise.
1966 * testsuite/23_containers/vector_ctor.cc: Likewise.
1967 * testsuite/26_numerics/binary_closure.cc: Likewise.
1968 * testsuite/27_io/fpos.cc: Likewise.
1969 * testsuite/27_io/ios_base_callbacks.cc: Likewise.
1970 * testsuite/27_io/istream_extractor_arith.cc: Likewise.
1971 * testsuite/27_io/istream_extractor_char.cc: Likewise.
1972 * testsuite/27_io/istream_extractor_other.cc: Likewise.
1973 * testsuite/27_io/istream_sentry.cc: Likewise.
1974 * testsuite/27_io/ostream_inserter_char.cc: Likewise.
1975 * testsuite/27_io/ostream_inserter_other.cc: Likewise.
1976 * testsuite/27_io/streambuf.cc: Likewise.
1977 * testsuite/27_io/stringstream.cc: Likewise.
1979 1999-11-19 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
1981 * bits/valarray_meta.h: Don't forget to define tanh
1983 1999-11-18 Philip Martin <pm@corris.dircon.co.uk>
1985 * src/stl-inst.cc: Use typedef to refer to iterator
1986 * stl/bits/stl_algobase.h: Add traits based dispatch for
1987 __normal_iterator in the copy()algorithm
1988 * stl/bits/type_traits.h: Add _Is_normal_iterator trait support
1990 1999-11-18 Kevin Ediger <kediger@licor.com>
1992 * src/locale.cc (locale::_Imp::_Imp): Use auto_ptr to make
1993 constructors for locale::_Impl exception safe.
1995 1999-11-18 Scott Snyder <snyder@fnal.gov>
1997 * stl/bits/stl_queue.h: The C++ standard gives the default for the
1998 _Sequence template argument of priority_queue<> as vector<>, not
2001 1999-11-18 Benjamin Kosnik <bkoz@gnu.org>
2003 * bits/std_sstream.h (stringbuf::_M_really_sync): Add __iend as a
2005 * bits/sstream.tcc: Adjust here too.
2007 1999-11-17 Benjamin Kosnik <bkoz@gnu.org>
2009 * bits/sbuf_iter.h (istreambuf_iter::equal): Tweak.
2010 * bits/istream.tcc (operator>>): Replace iostate(0) with
2011 iostate(ios_base::goodbit), which is the same thing, but hopefully
2013 * bits/locale_facets.tcc (do_get(bool)): Streamline, deal with
2014 libraries issue list 17.
2015 (do_gets): Don't set goodbit explicitly, instead only set on
2016 failures as good bit is the default setting.
2017 * bits/ios_base.h (setf): Set correctly.
2018 * bits/fstream.tcc: Tweak.
2019 * bits/std_sstream.h (_M_really_sync): Fix ibuffer positioning for
2020 in|out bufs that are empty. . .
2021 * testsuite/27_io/istream_extractor_arith.cc (test03): Add.
2023 1999-11-16 Benjamin Kosnik <bkoz@gnu.org>
2025 * testsuite/27_io/streambuf.cc (class testbuf): Don't set _M_buf_size.
2026 * bits/std_streambuf.h (setp): Set _M_buf_size, _M_mode.
2027 Add comments "all about _M_buf."
2028 (setg): Set _M_mode.
2030 1999-11-16 Kevin Ediger <kediger@licor.com>
2032 * bits/locale_facets.tcc (_S_build_float_format): New function.
2033 (_S_output_float): New function.
2034 (num_put::do_put(double)): Use 'em.
2035 (num_put::do_put(long double)): Use 'em.
2036 * testsuite/27_io/ostream_inserter_arith.cc: New file.
2038 1999-11-15 Scott Snyder <snyder@fnal.gov>
2040 * bits/basic_file.h: Type of __off parm should be __c_streampos, to
2041 match how libio is calling us.
2042 * src/basic_file.cc (sys_seek): Likewise.
2043 * bits/std_fstream.h (basic_filebuf::sync): Restore sync call.
2045 1999-11-15 Benjamin Kosnik <bkoz@gnu.org>
2047 * docs/17_intro/contribute.html: Add link to assignment form.
2048 * docs/17_intro/libstdc++-assign.txt: New file.
2050 * mkcheck (TESTS_FILE): Move a copy of test files as well as
2053 * bits/std_streambuf.h (_M_buf_bump): New function.
2054 * bits/streambuf.tcc: Mods to support _M_buf_bump.
2055 (xsputn): Here. Also add checks for output valid.
2056 (xsgetn): Add checks for input valid.
2058 (sgetc): Set _M_in_end to _M_buf + _M_buf_end.
2059 * bits/std_sstream.h (_M_really_sync): Set _M_buf.
2060 Set _M_out_end to variable-length-end.
2061 * bits/sstream.tcc (overflow): Use _M_buf_bump.
2064 * bits/fstream.tcc (std): Tweak formatting.
2065 (filebuf::overflow): Simplify.
2066 (filebuf::showmanyc): Same.
2067 (filebuf::underflow): Same.
2068 * testsuite/27_io/filebuf.cc: Fix.
2069 * testsuite/27_io/ostream_inserter_other.cc: Fix.
2070 * testsuite/27_io/ostream_inserter_other-2.tst: New file.
2071 * testsuite/27_io/stringbuf.cc: Tweak.
2072 * testsuite/27_io/streambuf.cc: Tweak.
2073 * testsuite/27_io/istream_extractor_other.cc: Fix.
2075 1999-11-11 Matthias Klose <doko@cs.tu-berlin.de>
2077 * stl_deque.h: Use static_casts<size_type>(signed_type).
2079 1999-11-11 Benjamin Kosnik <bkoz@gnu.org>
2081 Cleanups for callbacks, more regression hunting. Remaining
2082 failures (1) due to last unresolved stringstream issues, not
2084 * bits/std_fstream.h: Revert. Disable call to _M_file->sync as
2085 killing 27_io/filebuf.cc tests. . . need another solution.
2087 * bits/streambuf.tcc (_S_copy_streambufs): Fix.
2088 * testsuite/27_io/istream_extractor_other.cc: Tweak comments.
2090 * bits/basic_ios.h: Add cached facets here. UGH. The standard
2091 foils all attempts at a graceful, minimal implementation.
2092 * bits/basic_ios.tcc: Tweaks.
2093 * bits/istream.tcc: Fix.
2094 * bits/ostream.tcc: Fix.
2095 * bits/std_istream.h: Fix.
2096 * bits/std_ostream.h: Fix.
2097 * src/ios.cc (ios_base::imbue): Set _M_locale_ios before calling
2099 * bits/locale_facets.tcc (std): Minor, minor formatting tweak.
2100 (_S_pad_numeric): Make comprehensible.
2102 1999-11-10 Benjamin Kosnik <bkoz@cygnus.com>
2104 * bits/std_ostream.h: Add callbacks for _M_fnumput.
2105 (_S_ostream_fcache): New function.
2106 Move functions out-of-line.
2107 * bits/ostream.tcc: Put here.
2109 * bits/std_istream.h: Add callbacks for _M_fnumget.
2110 (_S_istream_fcache): New function.
2111 Move functions out-of-line.
2112 * bits/istream.tcc: Put here.
2114 * bits/basic_ios.tcc (basic_ios::imbue): Tweaks, remove call to
2115 _M_call_callbacks(), as ios_base::imbue does this already.
2116 * src/ios.cc (register_callback): Clean.
2117 (_M_call_callbacks): Same.
2118 * bits/ios_base.h: Callback work.
2119 * testsuite/27_io/ios_base_callbacks.cc (test01): New file.
2121 1999-11-10 Benjamin Kosnik <bkoz@cygnus.com>
2122 Matthias Klose <doko@cs.tu-berlin.de>
2124 * stl/ext/stl_rope.h: Fix initialization order.
2126 1999-11-09 Scott Snyder <snyder@fnal.gov>
2128 * bits/std_fstream.h (basic_filebuf::sync): Unconditionally call
2129 _M_file->sync() so that redirection works correctly.
2131 1999-11-09 Benjamin Kosnik <bkoz@gnu.org>
2133 * bits/istream.tcc: Re-order.
2134 * bits/std_istream.h: Fix getline problems.
2135 * testsuite/27_io/istream_unformatted.cc: New tests.
2137 Clean up regressions.
2138 * bits/std_sstream.h: Set initial stringbufs correctly.
2140 1999-11-09 Scott Snyder <snyder@fnal.gov>
2142 * stl_vector.h (_M_range_insert): Fix mixing pointers and
2144 * testsuite/23_containers/vector_modifiers.cc (test01): New file,
2147 1999-11-09 Benjamin Kosnik <bkoz@cygnus.com>
2149 * src/Makefile.am (CXXFLAGS): Add -Winline.
2150 * src/Makefile.in: Regenerate.
2152 1999-11-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2154 * bits/valarray_meta.h (_DEFINE_EXPR_UNARY_FUNCTION): When
2155 building meta-expressions don't forget to take the contained
2158 1999-11-02 Benjamin Kosnik <benjamin@cygnus.com>
2160 * configure: Regenerate.
2162 1999-11-02 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2164 * bits/valarray_meta.h (_Expr<>::sum): Tweak. Use copy-initialization
2166 * bits/valarray_meta.h (min): Likewise.
2167 * bits/valarray_meta.h (max): Likewise.
2169 1999-11-01 Benjamin Kosnik <bkoz@cygnus.com>
2171 * bits/std_sstream.h (_M_really_sync): Take into account in | out bufs.
2172 * bits/std_streambuf.h (_S_copy_streambufs): New function.
2173 * bits/streambuf.tcc: Define.
2174 * bits/istream.tcc (istream::operator>>(streambuf)): Rewrite.
2175 * bits/ostream.tcc (ostream::operator<<(streambuf)): Rewrite.
2176 * testsuite/27_io/ostream_inserter_other.cc: Add tests.
2177 * testsuite/27_io/ostream_inserter_other-1.tst: New file.
2179 * bits/basic_string.h: Explicitly cast npos to unsigned type,
2180 reported by Richard Atterer.
2181 * bits/char_traits.h: For consistency's sake, here too.
2183 * configure.in: Bump version to 2.90.7.
2185 1999-10-31 Benjamin Kosnik <bkoz@cygnus.com>
2187 * testsuite/27_io/ostream_inserter_char-1.tst: Check file output.
2188 * testsuite/27_io/ostream_inserter_char.cc (test05, test01): Add tests.
2189 * bits/streambuf.tcc (xsputn): Treat--size const char for long loops.
2191 * bits/sstream.tcc (seekpos): Tricks, mostly: check _M_mode before
2192 writing into buffer.
2195 1999-10-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2197 * bits/valarray_array.h (__valarray_sum): New function.
2198 * bits/valarray_array.h (__valarray_product): Same.
2200 * bits/std_valarray.h (valarray<T>::product): Comment out.
2201 * bits/std_valarray.h (valarray<T>::sum): Use __valarray_sum
2202 instead of accumulate.
2204 * src/valarray-inst.cc: Remove explicit intantiation of
2205 class multiplies<size_t>, accumulate, valarray<size_t>::product.
2206 * src/valarray-inst.cc (__valarray_product): Instantiate
2208 * src/valarray-inst.cc (__valarray_product(const
2209 valarray<size_t>&)): New function.
2210 * src/valarray-inst.cc (gslice::_Indexer::_Indexer): Don't use
2211 valarray<size_t>::product. Use __valarray_product instead.
2214 1999-10-25 Benjamin Kosnik <bkoz@cygnus.com>
2216 * bits/std_ostream.h (ostream.inserters.char): Correctly pad output.
2217 (_S_pad_char): New function. Not done: ios_base::internal.
2218 * bits/ostream.tcc: Clean for above.
2219 * bits/locale_facets.tcc (_S_fill): Remove ostreambufiterator
2220 specialization that was commented out, as ostreams now have to
2221 correctly deal with padding.
2222 * testsuite/27_io/ostream_inserter_char.cc (main): Add tests.
2224 * testsuite/21_strings/ctor_copy_dtor.cc(test02): Add test case
2225 from mailing list. This is a bug, and should be fixed.
2226 * testsuite/21_strings/inserters_extractors.cc (main): Tweak, fix typo.
2228 1999-10-22 Petter Urkedal <petter@matfys.lth.se>
2230 * stl/bits/stl_numeric.h (__power): Replaced argument name `__opr'
2231 to avoid conflict with gcc name mangling.
2232 * stl/bits/stl_algo.h (__transform): Same.
2234 1999-10-21 Benjamin Kosnik <bkoz@cygnus.com>
2236 * bits/ios_base.h: Change argument names.
2237 * docs/17_intro/BADNAMES: Add __opr.
2239 1999-10-20 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
2241 Work on compilation slowdowns from 10-5 to 10-12, which are
2242 related to the _Callback_list inlining/merge-ifcation, which is
2243 still a pending issue, but this stuff is necessary cleanup anyway.
2245 * src/ios.cc: Re-arrange.
2246 * bits/ios_base.h: Tweak.
2247 * bits/basic_ios.tcc: Move out of line definitions here, move
2248 small out-of-line definitions inline.
2249 * bits/basic_ios.h: From here.
2251 * bits/streambuf.tcc (pbackfail, overflow): Move back inline.
2252 * bits/std_streambuf.h: From here.
2254 1999-10-19 Benjamin Kosnik <bkoz@cygnus.com>
2256 * testsuite/27_io/istream_extractor_char.cc: Add tests.
2257 * bits/std_istream.h: Tweaks--set eofbit on eof condition.
2258 * bits/istream.tcc (operator>>(istream&, string&): Remove
2259 vestigial issspace hacks and use ctype::is instead.
2260 (getline): Remove unnecessary loops, fortify and pasteurize.
2263 1999-10-18 Benjamin Kosnik <bkoz@cygnus.com>
2265 * bits/istream.tcc (operator>>): Tweak.
2266 * bits/std_istream.h: Fix according to library issues list 68.
2269 * bits/locale_facets.h: Fix table_size to be non-zero.
2271 1999-10-18 Vadim Egorov <egorovv@HotPOP.com>
2273 * src/basic_file.cc: ifdef instead of comment for binary mode
2275 1999-10-18 Russell Davidson <russell@qed.econ.queensu.ca>
2277 * bits/std_sstream.h: Stringbuf initialization based on actual,
2278 not allocated, size.
2279 * testsuite/21_strings/inserters_extractors.cc (test06): Add test
2282 1999-10-17 Benjamin Kosnik <bkoz@cygnus.com>
2284 * testsuite/26_numerics/c_math.cc (test03): Tweak.
2285 * testsuite/27_io/istream_manip.cc (test01): Corrections due to
2287 * testsuite/21_strings/inserters_extractors.cc (test01): Same.
2289 1999-10-14 Benjamin Kosnik <bkoz@cygnus.com>
2291 * bits/std_istream.h: Tweaks.
2292 * bits/istream.tcc (istream::sentry::sentry()): Simplify, correct
2293 as per issues list addition--set failbit, eof on empty buffers.
2294 * testsuite/27_io/istream_sentry.cc: New file.
2296 1999-10-12 Chris Prince <prince@wcug.wwu.edu>
2298 * bits/std_cstdio.h: Remove Solaris hacks.
2300 1999-10-12 Phil Edwards <philip.edwards@sn.wpafb.af.mil>
2302 * docs/index.html: Fix minor typos and tweaks.
2303 * docs/17_intro/contribute.html: Ditto.
2304 * docs/*/howto.html: Ditto. More "EGCS"->"GCC" conversion, notes on
2305 thread safety and binary I/O, links to external sites.
2306 * docs/faq/index.html: EGCS/GCC cleanup, new entries for Cygwin
2309 1999-10-12 Petter Urkedal <petter@matfys.lth.se>
2311 * bits/std_cmath.h (abs(float)): When ::absf is not present, call
2312 ::fabs(double) rather than ::abs(int).
2314 1999-10-11 Benjamin Kosnik <bkoz@milou.cygnus.com>
2316 * bits/std_streambuf.h: Fix minor blip--should explicitly return
2317 *gptr(), not the result of underflow.
2318 (pbackfail): Conform to default behavior.
2320 * bits/streambuf.tcc: Add out-of-line streambuf members.
2323 * testsuite/27_io/streambuf.cc: New file.
2324 * testsuite/27_io/filebuf.cc: Correct test.
2326 1999-10-08 Benjamin Kosnik <bkoz@haight.constant.com>
2328 * bits/std_cmath.h: Correctly cast int to double.
2329 * testsuite/26_numerics/c_math.cc: Add test.
2331 * mknumeric_limits (OUT_C): Tweaks.
2332 * src/gen-num-limits.cc: Checks for WCHAR_MIN, WCHAR_MAX before
2333 trying to instantiate type_traits<wchar_t>.
2334 * acconfig.h: Add _GLIBCPP_HAS_WCHAR_MIN_MAX.
2335 * configure.in (LIBS): Plus checks for WCHAR_MIN, WCHAR_MAX.
2336 * configure: Regenerate.
2338 1999-10-06 Benjamin Kosnik <bkoz@milou.cygnus.com>
2340 * bits/streambuf.tcc (streambuf::xsgetn): Rewrite.
2341 (streambuf::xsputn): Put in break.
2342 Aiming for parity between these two (mostly) similar functions.
2343 Need to re-write tests.
2345 * bits/ios_base.h (ios_base::_M_copy_base): Remove declaration.
2346 Make data members protected, not private.
2347 * src/ios.cc (ios_base::_M_copy_base): Move _Callback_list into
2348 ios_base.h. As called only once, collapse into . . .
2349 * bits/basic_ios.h (basic_ios::copyfmt): Fix.
2350 (basic_ios::clear): Throw ios_base::failure on occasion.
2351 (basic_ios::exceptions): Fix.
2352 * testsuite/27_io/ios_members.cc (test02): Add tests.
2354 * bits/fpos.h: Default initialize.
2355 * testsuite/27_io/fpos.cc (test03): Add test.
2357 1999-10-04 Russell Davidson <russell@qed.econ.queensu.ca>
2359 * src/basic_file.cc: Fix open modes.
2361 1999-10-04 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2363 * bits/locale_facets.tcc (num_get<>::do_get): Fix typo.
2365 1999-09-23 Benjamin Kosnik <bkoz@milou.cygnus.com>
2367 * bits/streambuf.tcc: Yea. Fix this for real.
2368 * testsuite/27_io/ostream_inserter_other.cc: Add file.
2369 * src/Makefile.*: Regenerate.
2371 1999-09-22 Benjamin Kosnik <bkoz@milou.cygnus.com>
2373 * bits/std_cstdlib.h: Add more linux-specif hacks to the header
2374 files so that stdtof and strtold will be declared. Some hacks
2375 already exits in bits/std_cctype.h -- these should all be removed
2377 * bits/locale_facets.tcc: Add cstring.h include.
2378 _S_format_long: Use long, not int.
2379 Add std_limits.h include, for numeric_limits.
2380 * testsuite/27_io/istream.cc: Make instantiations work when using
2382 * testsuite/27_io/ostream.cc: Same.
2384 1999-09-21 Benjamin Kosnik <bkoz@milou.cygnus.com>
2386 * bits/fpos.h (fpos::operator streamoff): Make const, don't return
2387 a reference. Same for operators == and !=.
2388 * testsuite/27_io/fpos.cc: Add tests.
2390 1999-09-21 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2392 * bits/valarray_array.h: Fix typo.
2394 * mknumeric_limits: Make sure we are regenerating things from
2395 scratch. Otherwise things get redefined. Not good.
2397 1999-09-20 Benjamin Kosnik <bkoz@milou.cygnus.com>
2399 * bits/std_ostream.h: Fix typo.
2400 * bits/std_istream.h: Same.
2401 * bits/std_iomanip.h: Same.
2403 * bits/istream.tcc (sentry::sentry()): Remove optional tie with
2404 ostream, as happens with underflow anyway.
2405 * testsuite/27_io/istream.cc (main): New file.
2406 * testsuite/27_io/ostream.cc (main): New file.
2407 * testsuite/27_io/istream_unformatted.cc: Add tests.
2409 * src/Makefile.am (headers): Add new file.
2410 * src/Makefile.in (headers): Regenerated.
2412 * bits/basic_ios.h: Remove local-related files.
2413 * bits/basic_ios.tcc: New file, add locale-related items.
2414 * src/misc-inst.cc: Add include of basic_ios.tcc, as a hack for now.
2415 * testsuite/27_io/ios_members_static.cc: Change to
2416 * testsuite/27_io/ios_base_members_static.cc: This.
2417 * testsuite/27_io/ios_members.cc: New file.
2418 * testsuite/27_io/stdios_basefield_manip: Change to
2419 * testsuite/27_io/ios_manip_basefield.cc: This.
2420 * testsuite/27_io/stdios_fmtflags_manip: Change to
2421 * testsuite/27_io/ios_manip_fmtflags.cc: This.
2423 * bits/fpos.h: Fix discarding qualifiers on this when
2424 using _M_position with a const fpos.
2425 * bits/std_iosfwd.h: Tweak.
2426 * testsuite/27_io/fpos.cc: New file.
2428 1999-09-17 Benjamin Kosnik <bkoz@milou.cygnus.com>
2430 * bits/streambuf.tcc (streambuf::xsputn): Tweak.
2431 * bits/ostream.tcc: Tweak.
2432 * testsuite/21_strings/inserters_extractors.cc (test04, test05):
2433 Add new regressions.
2435 1999-09-16 Benjamin Kosnik <bkoz@milou.cygnus.com>
2437 * bits/basic_ios.h: Inline, tweak.
2438 * bits/fstream.tcc (basic_filebuf::_M_really_overflow): Tweak,
2439 pass back accurate return value to basic_filebuf::overflow.
2440 * bits/streambuf.tcc (streambuf::xsputn): Fix overflow accounting.
2441 This fixes sstream problems reported in libstdc++/9, but screws up
2442 filebufs. That solution is pending.
2444 1999-09-15 Vadim Egorov <egorovv@1c.ru>
2446 * bits/streambuf.tcc (basic_streambuf::xsputn): Add check for
2448 * testsuite/21_strings/inserters_extractors.cc (test01): Add test.
2450 1999-09-08 Benjamin Kosnik <bkoz@milou.cygnus.com>
2452 * bits/c++config.h.in: Add emacs hints.
2454 * stl/bits/stl_range_errors.h: Don't define here, for now define
2455 in stdexcept.cc along with string inlines __length_error, etc.
2456 * src/stdexcept.cc: Define here.
2457 * stl/bits/stl_config.h (__STL_CAN_THROW_RANGE_ERRORS): Enable, so
2458 at(size_t) will be declared/defined.
2459 (__STL_THREADS): Fix mess surrounding use of this, enable.
2461 1999-08-31 Benjamin Kosnik <bkoz@milou.cygnus.com>
2463 * testsuite/27_io/istream_extractor_arith.cc: Fix.
2464 * src/localename.cc: Tweak formatting, fix assignment to
2465 const compiler errors.
2467 1999-08-25 Benjamin Kosnik <bkoz@cygnus.com>
2469 * acconfig.h: Add absf, cosf.
2470 * configure.in (use_builtin_sinf): Same.
2471 * configure: Regenerate.
2472 * bits/std_cmath.h: Add mess of defines.
2473 * testsuite/26_numerics/modf_float.cc: Change to
2474 * testsuite/26_numerics/c_math.cc: This.
2476 * src/locale.cc: Change.
2477 * bits/locale_facets.h: Fix.
2478 * testsuite/22_locale/ctype.cc: Add temporary tests.
2480 1999-08-24 Benjamin Kosnik <bkoz@cygnus.com>
2482 * bits/fpos.h: Test.
2484 * docs/index.html: Add powerpc-linux-gnu results with gcc-2.95.1.
2485 Fix database name for "libstdc++".
2487 1999-08-23 Benjamin Kosnik <bkoz@cygnus.com>
2489 * mknumeric_limits (numeric_limits): Add default definitions to
2491 * testsuite/18_support/numeric_limits.cc: New file.
2493 1999-08-18 Benjamin Kosnik <bkoz@cygnus.com>
2495 * bits/std_istream.h: Correct initialization.
2496 * bits/std_ostream.h: Likewise.
2497 * bits/std_sstream.h: Likewise.
2498 * bits/std_fstream.h: Likewise.
2499 * testsuite/27_io/stringstream.cc: Add test case.
2501 * bits/std_sstream.h: Replace ____string_type with __string_type.
2502 * bits/basic_ios.h (basic_ios::rdbuf(sb*): Call clear(), as required.
2503 * bits/std_ostream.h: Tweak dtor.
2505 1999-08-17 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
2507 * src/Makefile.am (CXXFLAGS): Add -O2.
2508 * src/Makefile.in: Likewise.
2510 * src/gen-num-limits.cc: Conditionally allow wchar_t. See what
2512 * mknumeric_limits (numeric_limits): Uglify.
2514 * bits/std_istream.h: Fix warnings.
2515 * bits/locale_facets.tcc: Collateral damage from
2516 char_traits<char>::int_type change.
2518 * testsuite/27_io/istream_extractor_char.cc: Terminate strings.
2520 1999-08-17 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
2522 * docs/index.html: Add mailing list form.
2523 * docs/27_io/howto.html: Add link to iostreams_hierarchy.pdf.
2525 1999-08-16 Benjamin Kosnik <bkoz@cygnus.com>
2527 * bits/streambuf.tcc (streambuf::xsputn): Allow copies to continue
2528 if overflow successfully allocates more space.
2529 * bits/std_sstream.h: Adjust comments.
2530 * bits/sstream.tcc (stringbuf::overflow): Copy buffer into string
2531 before overflow forces a resize.
2532 * testsuite/27_io/ostream_inserter_char.cc: New file.
2534 * bits/std_fstream.h: Remove declaration.
2535 * bits/fstream.tcc: Move uflow.
2536 * bits/std_streambuf.h: To here.
2537 * bits/streambuf.tcc: Make consistent.
2539 * src/Makefile.am (WERROR): Enable.
2540 * src/Makefile.in: Regenerate.
2541 * bits/sbuf_iter.h: Tweak.
2542 * bits/char_traits.h: (char_traits<wchar_t>::eof): Use WEOF.
2543 Use unsigned int as char_traits<char>::int_type.
2545 * bits/ostream.tcc (ostream::putc(char)): Tweak.
2546 * testsuite/27_io/iostream_objects.cc: Terminate string.
2547 Move cin::operator>>(char*) test to extractor_char.cc.
2548 * testsuite/27_io/stringstream.cc: Add stringstream instantiation.
2549 * bits/std_istream.h (basic_iostream): Make explicit definition
2551 * bits/std_sstream.h: Fix typos.
2552 * bits/fstream.tcc (_M_init_filebuf): Set to indeterminate for
2553 basic_filebuf ctor with fileno open arguments. Thus, filebufs are
2554 initialized in a consistent manner, no matter if the underlying
2555 FILE/bit bucket is a tty or a text file or some other imaginary
2556 construct. This and setting _M_buf_size to 1 for cin allows
2557 istream::get(char) to work in a manner consistent with what others
2560 * docs/index.html: Link Stroustrup's C++ page.
2562 1999-08-12 Michael Cook <cook@sightpath.com>
2564 * bits/fstream.tcc: Fix signed/unsigned -Wall warning.
2565 * bits/istream.tcc: ditto.
2566 * bits/sbuf_iter.h: ditto.
2567 * bits/std_istream.h: ditto.
2568 * src/Makefile.am: Add -Wall to CXXFLAGS.
2569 * src/Makefile.in: ditto.
2571 1999-08-12 Benjamin Kosnik <bkoz@tintin.cygnus.com>
2572 Russell Davidson <russell@ehess.cnrs-mrs.fr>
2574 * bits/locale_facets.tcc (_M_extract): Finish off patch from yesterday.
2575 * src/Makefile.am (myinstallheaders): Tweak, remove PHONY.
2577 1999-08-11 Benjamin Kosnik <bkoz@tintin.cygnus.com>
2579 * testsuite/27_io/istream_unformatted.cc: New file.
2581 * testsuite/27_io/istream_extractor_arith.cc (test02): Add more
2582 elaborate tests for int types with noskipws.
2584 * testsuite/27_io/istream_extractor_other-1.txt: New file.
2585 * testsuite/27_io/istream_extractor_other-1.tst: New file.
2586 * testsuite/27_io/istream_extractor_other-2.tst: New file.
2587 * testsuite/27_io/istream_extractor_other.cc: Add tests.
2588 * bits/istream.tcc: Fix operator>>(streambuf*).
2590 * testsuite/23_containers/vector_ctor.cc (test01): Add.
2592 * docs/index.html: Remove references to egcs.
2593 * docs/17_intro/DESIGN: Same.
2594 * docs/17_intro/contribute.html: Same.
2595 * docs/17_intro/RELEASE-NOTES: Ditto.
2596 * docs/17_intro/howto.html: Same here.
2598 Russell Davidson <russell@ehess.cnrs-mrs.fr>
2599 * stl/bits/stl_vector.h (_M_insert_aux):
2600 * bits/locale_facets.tcc (_M_extract): Tweaks for preliminary
2601 decimal/floating point support.
2602 * bits/locale_facets.h: Change _M_extract prototype.
2603 * bits/char_traits.h (char_traits::to_int_type): Cast to unsigned.
2604 * bits/std_istream.h (istream::read(char_type, streamsize)): Fix.
2606 1999-08-10 Michael Cook <cook@sightpath.com>
2608 * bits/fstream.tcc: Fix for unused variable warning (-Wall).
2609 * bits/ios_base.h: ditto.
2610 * bits/istream.tcc: ditto.
2611 * bits/locale_facets.h: ditto.
2612 * bits/locale_facets.tcc: ditto.
2613 * bits/std_streambuf.h: ditto.
2614 * src/basic_file.cc: ditto.
2615 * src/locale.cc: ditto.
2616 * src/localename.cc: ditto.
2618 1999-08-10 Kirat Singh <singhki@jany.gs.com>
2620 * bits/std_iomanip.h: Inline.
2622 1999-08-10 Alfred Minarik <a8601248@unet.univie.ac.at>
2624 * bits/std_streambuf.h: Correct member initialization order.
2625 * src/ios.cc: Add definitions for ios_base data members.
2627 1999-08-06 Phil Edwards <pedwards@ball.com>
2629 * docs/index.html: Seventh snapshot updates. Minor tweaks.
2630 * docs/faq/index.html: Ditto. Removed bugs sections that have
2631 been fixed for a long time... Lots of "egcs" references still
2633 * docs/faq/index.txt: Regenerated.
2635 1999-08-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2636 Andreas Amann <amann@physik.tu-berlin.de>
2638 * testsuite/26_numerics/binary_closure.cc (main): new test.
2640 1999-07-29 Andreas Amann <amann@physik.tu-berlin.de>
2642 * bits/valarray_meta.h: (_BinClos<>::_Binclos): fix typo causing
2645 1999-08-04 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
2647 * docs/index.html (host): Put in testing status.
2649 1999-08-03 Benjamin Kosnik <bkoz@cygnus.com>
2651 * docs/index.html: Update for libstdc++-2.90.6 release.
2652 * docs/17_intro/RELEASE-NOTES (New): Update.
2653 * docs/17_intro/BUGS: Update.
2654 * bits/c++config.h.in (__GLIBCPP__): Bump version number.
2655 * README (file): Update.
2657 1999-08-03 Benjamin Kosnik <bkoz@cygnus.com>
2659 * src/Makefile.am (generated_headers): Remove bits/c++config.h as
2661 ($(generated_headers)): Same.
2662 * src/gen-c++config.cc: Remove, rename to
2663 * bits/c++config.h.in: New file. Bump version number.
2664 * configure.in: Generate bits/c++config.h at configure time.
2665 * math/mathconf.h: include bits/c++config.h, not config.h.
2667 * bits/std_cmath.h: Fix remaining link error for solaris shared
2668 builds. _GLIBCPP_HAS_BUILTIN_SINF has to be disabled for the time
2669 being, as on Solaris this silently calls sinf, which does not
2672 * src/complex.cc: More tweaks.
2674 1999-08-03 Benjamin Kosnik <bkoz@cygnus.com>
2676 * src/complex.cc: Same.
2677 * math/complex-stub.h: Change.
2678 * math/c_log10*.c: Change back to clog10*.c.
2680 * configure.in (NEED_C_LOG10): Delete.
2681 * configure: Regenerate.
2682 * math/Makefile.am: Change.
2684 1999-07-30 Benjamin Kosnik <bkoz@cygnus.com>
2686 * math/Makefile.am: Fix, for real.
2687 * configure.in (use_builtin_sinf): Ok, make autoconf solution.
2688 * math/clog.c: Move to c_log.c.
2689 * math/clog*: Ditto.
2690 * math/c_log10l.c (c_log10l): Change function name.
2691 * math/c_log10f.c (c_log10f): Change function name.
2692 * math/c_log10.c (c_log10): Change function name.
2694 * math/complex-stub.h: Change to c_log* variants.
2695 * src/complex.cc: And here.
2697 1999-07-29 Benjamin Kosnik <bkoz@cygnus.com>
2699 * testsuite/27_io/istream_extractor_other.cc: Correct last test.
2700 * bits/sstream.tcc (stringbuf::overflow): Don't update the input
2701 sequence, just the output sequence.
2702 * bits/std_sstream.h (stringbuf::str()): Only in stringbufs return
2703 the original string, all others use complicated heuristic.
2705 * src/complex.cc: Assume c_log10.
2706 * math/Makefile.am (EXTRA_yes): Fix c_log/c_logf unresolved
2707 symbols in shared libraries by making c_log/c_log10 part of the
2708 "must cmpile" sources. This may not work on solaris, must check.
2710 1999-07-29 Benjamin Kosnik <bkoz@cygnus.com>
2712 * bits/istream.tcc (operator>>(streambuf*)): Re-do.
2713 * bits/std_istream.h: Fix char extractors.
2714 * testsuite/27_io/istream_extractor_char.cc: Change.
2715 * testsuite/27_io/istream_extractor_other.cc: Add tests.
2717 1999-07-28 Benjamin Kosnik <bkoz@cygnus.com>
2719 * bits/std_cctype.h: Fix for solaris2.6 builds.
2721 * bits/istream.tcc: Fix, thanks Alfred.
2722 * bits/std_istream.h: Formatting changes.
2724 * libio/Makefile.am (libio_la_SOURCES): Remove cleanup.c, so that
2725 _IO_cleanup will not be undefined.
2726 * libio/*: Regenerate.
2728 * bits/basic_string.h: More namespace-safety stuff.
2729 * testsuite/27_io/istream_extractor_char.cc: Fix.
2730 * testsuite/27_io/istream_extractor_arith.cc: Fix.
2731 * testsuite/27_io/iostream_objects.cc: Fix.
2732 * testsuite/27_io/ios_ctor.cc: Fix.
2733 * testsuite/27_io/istream_manip.cc: Make namespace safe.
2734 * testsuite/27_io/istream_extractor_other.cc: New file.
2736 * mkcheck (TESTS_FILE): Tweaks.
2738 1999-07-27 Benjamin Kosnik <bkoz@cygnus.com>
2740 * src/gen-c++config.cc: Note here, change version.
2741 * acconfig.h( _GLIBCPP_USE_CTYPE_ISBIT): New macro.
2742 * src/locale.cc: Used here.
2743 * configure.in (use_builtin_sinf): Check for _ISBit using autoconf.
2745 * aclocal.m4: Regenerate by running `aclocal -I m4.`
2747 * bits/istream.tcc: Fix.
2748 * bits/std_istream.h: More changes to extractors.
2750 * testsuite/27_io/istream_extractor_char.cc: More.
2751 * testsuite/21_strings/inserters_extractors.cc (test01): Fix logic
2752 error in testsuite construction.
2754 * bits/std_istream.h: Partially revert.
2755 * bits/std_ostream.h: Same.
2756 * bits/std_sstream.h: Revert.
2758 1999-07-26 Benjamin Kosnik <bkoz@cygnus.com>
2760 * bits/std_sstream.h: Change initialization.
2761 * bits/std_ostream.h: Make default ctor/assign/operator= private.
2762 * bits/std_istream.h: Same, also correct sentry args.
2763 * bits/istream.tcc: Add correct sentry args.
2765 * testsuite/27_io/istream_extractor_char.cc: New file.
2766 * testsuite/27_io/istream_extractor_arith.cc: New file, old file,
2767 name changes making me dizzy.
2769 1999-07-26 Ulrich Drepper <drepper@happy.cygnus.com>
2770 Benjamin Kosnik <bkoz@cygnus.com>
2772 * aclocal.m4, config.guess, config.sub, ltconfig ltmain.sh: Update
2775 1999-07-26 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2777 * bits/std_complex.h: Tweak. Make the primary template class
2778 complex work with user-defined numerical types. Provide member
2779 definitions. Restructure.
2780 (class complex<float>): Uglify. Remove __value(). Rename __val
2781 to _M_value. Rename __complex_value_type to _ComplexT. Make it
2782 private. Remove dependency on __value(). Fix various explicit
2783 specialization syntax. Declare a some functions friend. Now the
2784 implementation is nearly comforming.
2785 (class complex<double>): Likewise.
2786 (class complex<long double>): Likewise.
2788 * src/complex.cc: Tweak. Remove dependency on complex::__value().
2789 (sin, sinh, tan, than): Fix call to corresponding C9x function
2792 1999-07-24 Benjamin Kosnik <bkoz@fidel.cygnus.com>
2794 * bits/istream.tcc (ws): Fix error with failbit being set.
2796 Disabled due to egcs/gcc-2_95 internal compiler errors.
2797 * src/Makefile.am (CXXFLAGS): Add -fsquangle -fhonor-std
2798 -fnew-exceptions. Compiling with namespaces enabled will now be
2800 * mkcheck (CXX_FLAG): Same.
2801 * src/gen-c++config.cc (_GLIBCPP_USE_NAMESPACES): Yup. New macro.
2802 * bits/std_cctype.h: Not enough to just define in namespace std if
2803 ctype-isms are macros. Need to also define in namespace std:: if
2804 the C functions are just plain functions.
2806 * src/gen-num-limits.cc: Fix spelling inconsistencies.
2808 1999-07-24 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
2810 * docs/18_support/howto.html: Start documentation. Need to keep
2811 track of the ongoing discussion in th LWG reflector.
2813 * src/gen-num-limits.cc: Tweak.
2814 (class predicate): New class.
2815 (class value): Likewise.
2816 Make the whole machinery more flexible. Add comments.
2818 1999-07-23 Benjamin Kosnik <bkoz@fidel.cygnus.com>
2820 * bits/ios_base.h: Move state/exception functions into basic_ios.
2821 * bits/basic_ios.h: Same.
2822 * src/ios.cc: And here. Callbacks don't attempt to reset
2825 * bits/std_streambuf.h: Separate ios and streambuf locale data
2826 members and cached facets. Using this convention: _M_locale_buf for
2827 the streambuf-related classes, and _M_locale_ios for the ios
2829 * bits/fstream.tcc: And here.
2830 * bits/basic_ios.h: And here. Also, add cached ctype.
2831 * src/ios.cc: Ditto.
2832 * bits/ios_base.h: Ditto.
2833 * bits/std_istream.h: Use cached ctype facet.
2834 * docs/27_io/iostreams_hierarchy.pdf: Update for new data member
2837 * testsuite/27_io/ios_ctor.cc: New file.
2838 * src/ios.cc: Move _M_state init to basic_ios::init().
2839 * bits/basic_ios.h: To here.
2841 Attempt for some consistency in naming for testsuite/27_io/*.cc.
2842 * testsuite/27_io/boolfmt.cc: Rename to stdios_fmtflags_manip.cc
2843 * testsuite/27_io/octfmt.cc: Rename to stdios_basefield_manip.cc
2844 * testsuite/27_io/istream_manip.cc: Rename to istringstream_manip.cc.
2845 * testsuite/27_io/ostream_manip.cc: Rename to ostringstream_manip.cc.
2847 1999-07-22 Benjamin Kosnik <bkoz@fidel.cygnus.com>
2849 * src/ios.cc: Tweak initializations of standard iostream
2850 objects to closely match the standard. Tie cin/wcin, set flags on
2852 * bits/char_traits.h: Change from size_t to int_type, as per
2853 standard. As per wide streams.
2854 * bits/basic_ios.h: Infect with __ctype_type, as a preparation
2855 for caching a bunch of ctype info. For instance, ctype_base::space
2856 info needs to be stored somewhere, somehow.
2857 * bits/std_istream.h: Also here.
2858 * bits/std_ostream.h: Ditto.
2859 * bits/std_istream.h (operator>>(istream, char): Aggh. Fixup.
2860 * testsuite/27_io/iostream_objects.cacc (test01): Oh yeah. Fix
2863 * bits/istream.tcc (ws): Fix.
2864 * testsuite/27_io/istream_manip.cc: New file, test ws.
2865 * testsuite/27_io/ostream_manip.cc: New file, test endl, ends, flush.
2867 * bits/basic_string.h: Provide a specialized member function for
2868 _S_find<char> using strchr.
2869 * src/string-inst.cc: Put specializations here.
2870 * bits/string.tcc: Small fix for find, remove typo.
2871 * testsuite/21_strings/find.cc (test01): Add tests to catch this
2874 1999-07-20 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
2876 * bits/basic_ios.h: Put into basic_ios namespace.
2879 1999-07-19 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
2881 * bits/std_sstream.h (stringbuf::sync): Change to _M_really_sync,
2882 adjust _M_*_cur pointers inside the function, so callee doesn't
2884 * bits/sstream.tcc (stringbuf::overflow): Tweak.
2886 * mkcheck: Tweak. Add execution time field, even though it is not
2887 implemented yet. Simplify pass/fail status notation.
2889 1999-07-18 Mumit Khan <khan@xraylith.wisc.edu>
2891 * configure.in: Check for float.h and underscored version of
2893 * acconfig.h: Add @BOTTOM@ section for handling underscored
2895 * configure: Regenerate.
2896 * config.h.in: Regenerate.
2897 * math/mathconf.h (float.h): Include conditionally.
2898 (M_PI): Define conditionally.
2899 (INFINITE_P): Define for Mingw.
2900 * bits/locale_facets.tcc: Workaround for compiler crash on
2902 * bits/std_cwchar.h (bits/std_cstddef.h): Include.
2903 * src/locale.cc (bits/std_istream.h): Include.
2904 (bits/std_ostream.h): Likewise.
2906 1999-07-18 Phil Edwards <pedwards@ball.com>
2908 * docs/faq/index.html: Updated __black_count notes, fixed typos.
2909 * docs/faq/index.txt: Regenerated.
2911 1999-07-15 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
2913 * testsuite/27_io/stringbuf.cc: Cccchanges, latent bugs.
2915 * bits/sstream.tcc (stringbuf::overflow): Modify accounting of
2916 newly-allocated buffer.
2917 * bits/streambuf.tcc (streambuf::xsgetn): Aaaaaah. Fix final
2918 overflow condition bits.
2920 1999-07-14 Benjamin Kosnik <bkoz@cygnus.com>
2922 * bits/std_sstream.h (stringbuf::_M_init_stringbuf): Set
2923 _M_buf_size to initial _M_string.size(), even though for
2924 ostringstreams it is pretty pointless. It's necessary for
2926 (stringbuf::str()): Adjust.
2927 (stringbuf::str()): Adjust, call _M_init_stringbuf.
2928 * bits/streambuf.tcc (streambuf::xsgetn): Adjust return value for
2929 overflow's possible success.
2930 (streambuf::xsputn): Adjust.
2932 * testsuite/27_io/filebuf.cc: Adjust for the xsgetn re-write from
2934 * testsuite/27_io/stringbuf.cc: Tweak.
2935 * testsuite/21_strings/inserters_extractors.cc (test01): Remove
2937 * testsuite/23_containers/vector_cons.cc: Rename to be consistent
2938 with other constructor tests to. . .
2939 * testsuite/23_containers/vector_ctor.cc: New file.
2941 1999-07-14 Alfred Minarik <a8601248@unet.univie.ac.at>
2943 * testsuite/*: Changes to make the testsuit compilable with
2944 -fhonor-std. Contains direct qualification of library names with
2947 1999-07-13 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
2949 * bits/streambuf.tcc: Tweaks.
2950 (streambuf::xsputn): Optimize, fix for sstreams.
2951 (streambuf::xsgetn): Same.
2952 * bits/sstream.tcc (stringbuf::overflow): Adjust _M_buf_size
2953 correctly, handle overflow/reallocate conditions correctly.
2954 * bits/std_sstream.h: Fix typo.
2955 _M_init_stringbuf(): Fix _M_buf_size initialization.
2956 (stringbuf::str()): Construct return string if output has occurred.
2958 * bits/basic_string.h: Fix typo from yesterday's patch.
2960 1999-07-12 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
2962 * bits/string.tcc: _M_mutate - clear _M_state again.
2963 * bits/basic_string.h: In the three functions that return
2964 an iterator set _M_state to -1 before return.
2965 Also optimized two cases of operator+.
2967 1999-07-12 Phil Edwards <pedwards@ball.com>
2969 * docs/index.html: Expand egcs-1.1.2 notes/links.
2970 * docs/faq/index.html: And here. Add links to LWG issues-list.
2971 * docs/faq/index.txt: Regenerate. (lynx rocks)
2972 * docs/21_strings/howto.html: Fix notes on case conversion.
2973 * docs/21_strings/stringtok_h.txt: Goodly spelling...
2974 * docs/23_containers/howto.html: Stub for bitmasks.
2975 * docs/27_io/howto.html: Add section on buffering, stub binary.
2977 1999-07-12 Nathan Myers <ncm@cantrip.org>
2979 * stl/bits/stl_tree.h (__black_count): Optimize.
2981 1999-07-09 Vadim Egorov <egorovv@1c.ru>
2983 * src/basic_file.cc: Cleanup in __basic_file destructor.
2985 1999-07-08 Benjamin Kosnik <bkoz@cygnus.com>
2987 * bits/std_streambuf.h: Changes. . .
2988 * bits/streambuf.tcc: Merge xsputn from filebuf into xsputn in
2989 basic_streambuf, to be used for both filebufs and streambufs.
2990 * bits/std_fstream.h (_M_init_filebuf): New function.
2991 Take out specialized xsputn, put into basic_streambuf.
2992 * bits/fstream.tcc: Define, call from both ctors.
2993 * bits/std_sstream.h (_M_init_stringbuf): New function.
2994 * bits/sstream.tcc: Tweak.
2996 * docs/27_io/iostreams_heirarchy.pdf: New file.
2998 * docs/17_intro/CHECKLIST (basic_string<char>): Validation and
2999 acceptance. Wooo-hoo!
3001 * bits/char_traits.h: Change int_type for char_traits general
3002 template, so that 21_strings/capacity.cc will compile.
3003 * testsuite/21_strings/capacity.cc: Add operators.
3005 * bits/string.tcc (string::compare): Clean up, re-implement.
3006 * testsuite/21_strings/compare.cc: Tweak.
3008 * bits/string.tcc (string:_M_mutate): Keep leaked value in
3009 _M_state, which means that whenever begin() or end() has been
3010 called, the string is unshareable, period. By doing this, insert
3011 and erase member functions that return iterators can remain
3012 footloose and fancy free.
3013 * testsuite/21_strings/invariants.cc: Update.
3015 * bits/basic_string.h (string::append): Fix self-referential
3016 problems, ie when "this" is also an argument to a member function.
3017 * bits/string.tcc: Tweak, same.
3018 * testsuite/21_strings/append.cc: New file.
3020 1999-07-07 Benjamin Kosnik <bkoz@cygnus.com>
3022 * bits/char_traits.h: Tweaks.
3023 * bits/basic_string.h: Tweak.
3024 * bits/fstream.tcc: Remove warning for _M_buf_size assignment.
3026 1999-07-06 Benjamin Kosnik <bkoz@cygnus.com>
3028 * bits/std_streambuf.h: Absorb/acquire data members previously
3029 working in basic_filebuf.
3030 * bits/streambuf.tcc: Tweaks.
3031 * bits/fstream.tcc: Adjust.
3032 * bits/std_fstream.h: Move and rename the following functions:
3033 _M_set_ideterminate, _M_is_indeterminate, _M_set_determinate are
3034 now declared and defined in the base class, basic_streambuf. Oh
3035 fuck it, move data members _M_buf, and _M_buf_size into
3036 basic_streambuf as well.
3038 * bits/ostream.tcc: Tweak.
3039 * bits/locale_facets.tcc: Fix typo in comments.
3041 * testsuite/21_strings/inserters_extractors.cc (test01): Change
3042 state from good to not good, as eof() is set.
3044 1999-07-05 Benjamin Kosnik <bkoz@cygnus.com>
3046 * bits/char_traits.h (char_traits::compare). Fix.
3048 * config.guess, config.sub: Update.
3050 1999-07-02 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3052 * bits/string.tcc: Check the __res_arg for a length error.
3054 1999-07-01 Benjamin Kosnik <bkoz@nabi.net>
3056 * bits/std_streambuf.h: Tweaks. Need to move _M_is_indeterminate
3057 and related functions into basic_streambuf, from basic_filebuf to
3058 take care of ostringstreams and empty strings. So that's groovy,
3060 * bits/std_istream.h: Tweaks.
3061 * bits/istream.tcc: Implement ws, getline, operator>> for string.
3062 * bits/std_ostream.h: And here.
3063 * bits/ostream.tcc: Same.
3064 * src/misc-inst.cc: Add instantiations for ws.
3066 * src/string-inst.cc: Add instantiations for inserters and
3067 extractors (operators << and >>, getline).
3069 * testsuite/21_strings/inserters_extractors.cc: Amazingly enough,
3070 a testcase for getline and operators << and >>. Ostream tests are
3071 failing right now, but istream tests should work. . .
3073 * bits/string.tcc: Change _S_max_size, as GNU malloc won't budge.
3074 * bits/std_sstream.h: Revert.
3076 * testsuite/17_intro: header_[iosfwd, ios, iostream, iomanip,
3077 istream, ostream, streambuf, fstream, sstream].cc: New files.
3079 1999-06-30 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3081 * bits/std_sstream.h (stringbuf::sync): Don't use string::begin()
3084 * bits/basic_string.h (basic_string<>::_S_copy_chars): Add
3085 specializations for _CharT*, iterator and const_iterator.
3086 * src/string-inst.cc: Remove explicit instantiation, as
3087 now explicitly specialized.
3089 * bits/basic_string.h: Add a size_type parameter to _M_clone with
3090 a default value set to 0.
3091 * bits/string.tcc: In _M_clone by the call of _S_create add the
3092 value of the new parameter to _M_length. In reserve check
3093 _M_state and use _M_clone instead of _M_mutate.
3095 1999-06-30 Benjamin Kosnik <bkoz@happy.cygnus.com>
3097 * bits/basic_string.h: Fix _S_max_size.
3098 * bits/string.tcc: Add def here.
3099 * testsuite/21_strings/insert.cc: Fix.
3101 * bits/sbuf_iter.h: Remove detritus.
3102 * testsuite/24_iterators/istreambuf_iterator.cc: Add tests.
3104 * src/locale-inst.cc: Elaborate iterator/locale instantiations
3105 to resolve alpha-osf4 build problems.
3107 1999-06-29 Benjamin Kosnik <bkoz@happy.cygnus.com>
3109 * bits/string.tcc: Fix signed/unsigned issues in compares.
3110 * stl/bits/stl_deque.h: And here.
3111 * stl/bits/stl_string_fwd.h: Remove __get_c_string.
3113 1999-06-29 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3115 * bits/string.tcc: New implementation and interface of _M_mutate.
3116 Adapt the change in all functions that call _M_mutate.
3117 * bits/basic_string.h: And here.
3119 1999-06-29 Benjamin Kosnik <bkoz@happy.cygnus.com>
3121 * testsuite/21_strings/capacity.cc (test01): Fix.
3123 1999-06-29 Phil Edwards <pedwards@ball.com>
3125 * mknumeric_limits: Exit script if gen-num-limits isn't built.
3127 1999-06-29 Andreas Gruenbacher <agruenba@pent224.infosys.tuwien.ac.at>
3129 * stl/bits/stl_vector.h: Fix.
3130 * testsuite/23_containers/vector_cons.cc: Add.
3132 1999-06-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3134 * mknumeric_limits (LDFLAGS): fix.
3136 1999-06-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3138 * mknumeric_limits (LDFLAGS): set it according to the system.
3140 * math/mathconf.h (NAN): Check whether host is running under
3141 Cygwin and make the appropriate definition.
3142 * math/complex-stub.h (nan): protect declaration.
3144 1999-06-28 Benjamin Kosnik <bkoz@haight.constant.com>
3146 * bits/sbuf_iter.h: Rename internal data structure to prevent
3147 confusion between basic_ios and istreambuf_iterators internal
3148 basic_streambuf data member.
3149 * testsuite/24_iterators/istreambuf_iterator.cc: New file.
3151 * bits/basic_string.h: Remove conditionals, add input_iterator
3152 version of S_construct again.
3153 * bits/string.tcc: Same.
3154 * src/string-inst.cc: And add explicit instantiation here.
3156 * src/gen-c++config.cc (_GNU_SOURCE): Take out both _GNU_SOURCE
3157 and __USE_GNU macro defines, as single __USE_GNU use leading to
3158 confusion on glibc2.1 systems (ie, RedHat 6.0).
3160 * src/Makefile.am (headers): Add std_utility to installed headers.
3162 1999-06-25 John Potter <jpotter@eagle.lhup.edu>
3164 * stl/bits/stl_tree.h (insert_unique): Revert, just fix insert_equal.
3166 1999-06-25 Gilles Zunino <Gilles.Zunino@hei.fr>
3168 * mknumeric_limits (LDFLAGS): Swap -lc and -lgcc.
3170 1999-06-24 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3172 * src/gen-c++config.cc (_GLIBCPP_*): Change all
3173 macros to include _GLIBCPP as a distinct namespace.
3177 * stl/bits/std_stdexcept.h: Forward-declare __Named_exception ctor.
3178 * bits/basic_string.h: Remove __get_c_string.
3179 * src/stdexcept.cc: Define ctor here.
3180 * bits/ios_base.h: And fix ios_base::failure as well.
3181 * src/ios.cc: Define here.
3183 * bits/std_streambuf.h: Add a private copy ctor and assignment
3184 operator wrapped in _G_RESOLVE_LIB_DEFECTS.
3185 * bits/ios_base.h: And here too.
3187 * bits/basic_string.h: Tweak.
3188 * testsuite/21_strings/nonmember.cc: Add operator+ tests.
3190 * src/valarray.cc: Rename to. . .
3191 * src/valarray-inst.cc: This.
3192 * src/Makefile.am (sources): Change here.
3193 * src/Makefile.in: Regenerated.
3195 1999-06-24 Vadim Egorov <egorovv@1c.ru>
3197 * bits/string.tcc(basic_string<>::_Rep::_S_create): Fixed
3200 1999-06-24 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3201 Tom Tromey <tromey@cygnus.com>
3203 * configure.in (use_glibc2): Eek, correct for non-glibc systems.
3204 Use AM_CONDITIONAL to get us out of this jam. .
3205 * libio/Makefile.am: Same.
3206 * */Makefile: Regenerated.
3208 1999-06-24 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3209 John Potter <jpotter@eagle.lhup.edu>
3211 * stl/bits/stl_tree.h (insert_equal): Fix.
3212 * testsuite/23_containers/multiset.cc: New file.
3214 1999-06-23 Benjamin Kosnik <bkoz@cygnus.com>
3216 * configure.in (test for glibc2): Correct AC_TRY_COMPILE so that
3217 this works correctly on glibc-2 systems. This should allow
3218 simplified linking on these systems, and successful linking on Red
3220 * configure, Makefile: Regenerate.
3222 * bits/std_cwctype.h: Add missing 'w' to _S_iswpunct_helper name.
3224 * testsuite/ext: New directory.
3225 * testsuite/ext/headers.cc: New file.
3227 1999-06-23 Vadim Egorov <egorovv@1c.ru>
3229 * stl/ext/hash_set: include missing headers
3230 * stl/ext/hash_map: Same
3231 * stl/ext/slist: Same
3233 1999-06-17 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3235 * bits/std_cmath.h: comment out modf. Kills build on hpux10.20
3237 1999-06-15 Benjamin Kosnik <bkoz@cygnus.com>
3239 * src/Makefile.am (sources): Regenerate.
3240 * mkcheck: Add TESTS_FILE as a way of controlling what testcases
3243 1999-06-14 Benjamin Kosnik <bkoz@cygnus.com>
3245 * src/string-inst.cc: Change _S_construct signature, to
3246 track requested allocation size versus valid input iterator range.
3247 * bits/basic_string.h: Here too.
3248 * bits/string.tcc: And here.
3250 1999-06-12 Benjamin Kosnik <bkoz@cygnus.com>
3252 * mkcheck (LOG_FILE): Correctly append errors.
3254 * stl/bits/stl_iterator.h: Revert previous, delirious, change.
3256 * bits/basic_string.h: Change _Rep::_M_data to _Rep::_M_refdata,
3257 to clarify differences between basic_string::_M_data() calls and
3258 _Rep::_M_data() calls.
3259 * bits/std_string.h: Fix.
3260 Put in check for out_of_range in substr.
3261 * bits/string.tcc: Fix for _S_find.
3263 * testsuite/21_strings/compare.cc: Add tests.
3264 * testsuite/21_strings/find.cc: New file.
3265 * testsuite/21_strings/substr: New file.
3266 * testsuite/21_strings/replace.cc: New file.
3268 1999-06-11 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3270 * bits/valarray_array.h: __restrict__ify pointers.
3272 * bits/std_valarray.h: Tweak.
3273 (valarray<T>::cshift, valarray<T>::shift): use __builtin_alloca.
3275 * bits/gslice_array.h: Tweak. Reflect changes in bits/gslice.h
3277 * bits/gslice.h: Tweak.
3278 (class gslice::_Indexer): new class.
3279 (gslice::gslice(const gslice&)): implement copy-ctor to support
3281 (gslice::operator=(const gslice&)): support ref-counted index.
3282 (gslice::_M_convert_to_index): delete.
3284 * src/valarray.cc: New file.
3285 (__gslice_to_index): turn a gslice into a valarray<size_t>
3286 (ctor gslice::_Indexer::_Indexer): implement.
3288 * src/Makefile.am (sources): add valarray.cc
3289 * src/Makefile.in: regenerate.
3291 1999-06-08 Benjamin Kosnik <bkoz@cygnus.com>
3293 * stl/bits/stl_iterator.h (__normal_iterator::const_iterator
3294 ctor): Put in a const_cast.
3296 * testsuite/21_strings/invariants.cc: New file.
3298 * testsuite/21_strings/insert.cc: Add exception handling bits.
3299 * testsuite/21_strings/ctor_copy_dtor.cc: Same.
3301 * src/wstring-inst.cc: Add c++config.h include.
3303 * bits/basic_string.h: Fix const operator[] for size == pos.
3304 Add _M_leak for rbegin, non-const.
3305 Add _M_leak for rend, non-const.
3306 Make member function at standards conformant.
3307 Add _S_terminal to _Rep for operator[] const, add this into
3309 * bits/string.tcc: Add static member definition here,
3312 * testsuite/21_strings/element_access.cc: Add tests.
3314 1999-06-08 Vadim Egorov <egorovv@1c.ru>
3316 * bits/fstream.tcc (_M_really_overflow): Fixed size of
3319 1999-06-08 Phil Edwards <pedwards@ball.com>
3321 * bits/fstream.tcc (basic_filebuf::xsputn): Fix off-by-one count
3322 caused when __testinit is true.
3323 * bits/ostream.tcc (basic_ostream::op<<(streambuf*)): Write buffer
3324 using rdbuf()->sputn rather than _M_fnumput->put.
3326 1999-06-08 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3328 * testsuite/23_containers/bitset_ctor.cc: New file.
3329 * stl/bits/std_bitset.h (__BITSET_WORDS): Fix integration bug.
3331 1999-06-08 Phil Edwards <pedwards@ball.com>
3333 * bits/fstream.tcc (basic_filebuf::underflow): Fix, rename local vars.
3335 1999-06-07 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3337 * testsuite/21_strings/element_access.cc: Finish off these tests.
3338 * testsuite/21_strings/insert.cc (test01): Uncomment.
3339 * testsuite/21_strings/ctor_copy_dtor.cc (test01): Finish off ctors.
3340 * bits/basic_string.h: Tweak, okay, fix for real this time.
3341 * bits/string.tcc: Same.
3342 * bits/char_traits.h: Tweak.
3344 1999-06-07 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3346 * bits/std_cmath.h: Example of how to use the generated macro.
3347 * acconfig.h: Add macro for sinf here.
3348 * configure.in (LIBS): Add test for builtin math function sinf.
3349 * configure: Regenerated.
3351 * bits/basic_string.h: Fix _S_max_size.
3353 1999-06-06 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3355 * bits/basic_string.h: Fixes for out-of-memory segv for large strings.
3356 Remove _S_construct signature for forward_iterator_tag and
3359 * src/string-inst.cc: Same, tweaks.
3360 * bits/string.tcc: Same, tweaks.
3362 * testsuite/21_strings/ctor_copy_dtor.cc: Add/clarify tests.
3363 * mkcheck (LOG_FILE): Fix filebuf-[2,3].tst checks.
3364 * mknumeric_limits (LD_FLAGS): Add -nodefaultlibs -lc -lgcc as per
3367 * src/locale.cc: Final separation for char/wchar_t bits.
3369 1999-06-05 Phil Edwards <pedwards@ball.com>
3371 * docs/index.html: Added link to book upon request'n'agreement.
3372 * docs/23_containers/wrappers_h.txt: Added.
3373 * docs/{23_containers,27_io}/howto.html: Added sections.
3375 * bits/std_fstream.h: Tweak.
3377 1999-06-05 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3379 * src/ios.cc: Same here.
3380 * bits/std_iosfwd.h: More wchar_t defines.
3382 * bits/basic_string.h: Tweaks.
3383 * bits/string.tcc: Tweak. Fix _S_construct to check for max_size
3384 when doing error checking, as per LWG defect #83.
3386 * src/gen-c++config.cc: Fix comment.
3388 * testsuite/21_strings/ctor_copy_dtor.cc: New file, checks ctors,
3390 * testsuite/21_strings/element_access.cc: New file, checks for
3391 operator[], at(...).
3392 * testsuite/21_strings/insert.cc: New file, tests string::insert.
3393 * testsuite/21_strings/char_traits.cc: New file, tests
3394 for char_traits<char>.
3396 * bits/utility.h: Remove, again.
3397 * src/Makefile.am (std_headers): Remove utility.h.
3398 * src/Makefile.in (std_headers): Regenerate.
3400 Alfred Minarik <a8601248@unet.univie.ac.at>
3401 * bits/basic_string.h: Move __out_of_range and __length_error into
3404 1999-06-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3406 * testsuite/26_numerics/modf_float.cc: New file.
3408 * bits/std_cmath.h (modf(float, float*)): Fix signature. Correct
3409 typo: use ::modff, not ::modf.
3411 1999-06-03 Vadim Egorov <egorovv@1c.ru>
3413 * bits/string.tcc (basic_string::_M_mutate): Fixed memory
3415 * testsuite/21_strings/capacity.cc (test01): Test.
3417 1999-06-03 Phil Edwards <pedwards@ball.com>
3419 * bits/fstream.tcc: Re-order inits to stop warnings. Comment/move
3420 unused variables to within #if 0 blocks to do the same.
3421 * bits/std_fstream.h: Fix typos (one prevents compilation).
3423 1999-06-03 Benjamin Kosnik <bkoz@pacifica.cygnus.com>
3425 * src/wstring-inst.cc: Fix.
3427 1999-06-02 Benjamin Kosnik <bkoz@madcow.cygnus.com>
3429 * bits/char_traits.h: Add _G_USE_WCHAR_T macro guards.
3430 * stl/bits/stl_string_fwd.h: Same.
3431 * bits/locale_facets.h: Same.
3432 * bits/locale_facets.tcc: Same.
3433 * src/wstring-inst.cc: And here.
3435 * src/gen-c++config.cc: Comment _G_USE_WCHAR_T. Leading to
3436 problems on HPUX 10.20.
3437 * your-build-directory-here/bits/c++config.h: Just kidding, do it
3438 here as a temporary hack till the compiler/host problems get
3441 * bits/locale_facets.tcc (num_get::do_get): Change from ifdef
3442 HAVE_STRTOLD to HAVE_STRTOLD && !(__hpux). Apparently, problems
3443 converting "long double" to struct long_double. Probably should be
3444 done with one macro (HAVE_STRTOLD) at configure time.
3446 * bits/std_cmath.h: Comment out pow(double, int) defintion as
3447 gives re-declaration under hpux10.20. Revert previous change, as
3448 kills linux/x86, solaris 2.7, hpux builds. These should be done
3449 using autoconf, see std_cctype.h and the solutions started in
3450 configure.in (see config.h for the generated file.)
3452 * mknumeric_limits (LDFLAGS): Remove '-nodefaultlibs -lc', as
3453 -nodefaultlibs prevents linking under HPUX 10.20 as __main is not
3456 * docs/index.html: Add some useful links.
3457 * docs/17_intro/contribute.html: Fix broken links.
3459 1999-06-02 Benjamin Kosnik <bkoz@rhino.cygnus.com>
3461 * mkcheck (LOG_FILE): Add !/bin/bash instead of cygnus-style
3462 paths. The rest of the world should be able to run this script
3465 * src/Makefile.am ($(generated_headers)): Remove comment.
3466 * Makefile*: Regenerate.
3468 * bits/std_locale.h: Remove detritus.
3469 * bits/localefwd.h: Add <cctype> include to undefine the isspace
3472 1999-06-01 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3474 * src/gen-c++config.cc: New file. Making c++config.h at configure
3475 time by catting this file (nee bits/config.h) with the build
3476 directories config.h. This is not a complete or perfect solution
3477 but is better than what was in place previously.
3478 * bits/c++config.h: Rename/move to above.
3479 * src/Makefile.am (headers): Remove c++config.h.
3480 (myinstallheaders). Add.
3481 * Makefile*: Regenerated.
3483 * bits/std_cwchar.h: Add include of c++config.h for HAVE_*
3484 definitions, so that wmemcmp, wcslen, wmemchr, etc are properly
3485 declared only if not present in the host's wchar.h.
3487 * bits/locale_facets.tcc (std): Change _G_USE_STRTO* to HAVE_STRTO*.
3489 * bits/std_cmath.h: Define out, for the moment. Linux has no
3490 __buitin_fsqrtl? Probably need some kind of configure trickery
3493 * src/Makefile.*: Regenerate.
3494 * bits/c++config.h: Add config.h include.
3496 * bits/std_cwchar.h: Remove remaining #error guard.
3498 * acconfig.h: Add bits for HAVE_LC_MESSAGES.
3500 * configure.in (LIBS): Replace previous effort for mbstate_t and
3501 strtold/strtof with this implementation.
3503 1999 06-01 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3505 * bits/std_cmath.h: Tweak. Add more functions. Use __builtin_xxx
3508 1999-05-28 Benjamin Kosnik <bkoz@cygnus.com>
3510 * bits/locale_facets.tcc (std): Eek: this left in. Autoconf bits
3511 for determining mbstate_t differences across various hosts not
3514 1999-05-26 Benjamin Kosnik <bkoz@nabi.net>
3516 * bits/locale_facets.tcc: Change to ifdef.
3518 * bits/std_sstream.h (stringbuf::setbuf): Remove dynamic_cast.
3519 * bits/std_fstream.h (filebuf::setbuf): Same.
3521 * bits/std_istream.h: Add ws declaration.
3522 * bits/istream.tcc: Stub out definition.
3524 * docs/index.html: Fix broken link for design.txt.
3526 * configure.in: Test for mbstate_t. If wchar.h doesn't have it,
3527 then set _G_NEED_MBSTATE_T.
3528 * configure: Regenerate.
3529 * bits/c++config.h: Move mbstate_t define.
3530 * bits/std_cwchar.h: To here.
3532 1999-05-25 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3534 * bits/std_sstream.h:
3535 basic_stringbuf<>::basic_stringbuf: fix.
3536 basic_stringbuf<>::setbuf:
3537 remove the temporary __string_type object,
3538 remove the unnecessary dynymic_cast in the return value,
3539 change the type of the returned value from __streambuf_type*
3540 to basic_stringbuf<_CharT, _Traits, _Alloc>*.
3542 1999-05-25 Phil Edwards <pedwards@ball.com>
3544 * bits/std_streambuf.h (streambuf::setbuf): Always return streambuf*.
3546 1999-04-25 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3548 * bits/std_cmath.h: Tweak. Add float versions of the math functions
3549 in <math.h>. <cmath> still incomplete and incorrekt.
3551 1999-05-24 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3553 * mknumeric_limits (LDFLAGS): set appropriate link flags.
3555 1999-05-23 Phil Edwards <pedwards@ball.com>
3557 * docs/17_intro/howto.html: Added links to text docs,
3559 * docs/21_strings/howto.html: Updated sections and links.
3560 * docs/21_strings/{gotw29a.txt,stringtok_h.txt}: Added.
3561 * docs/faq/index.html: Updated what-works for sixth
3562 snapshot. Also a number of "internal" links have been
3563 fixed, now that the web pages are the docs directory...
3564 * docs/faq/index.txt: Regenerated.
3566 1999-05-21 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3568 * bits/basic_string.h: Add Nathan's documentation on the string class.
3570 * testsuite/27_io/ios_members_static.cc: New file, for testing
3571 ios_base::sync_with_stdio.
3573 1999-05-21 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3575 * bits/std_locale.h: Simplify includes.
3576 * bits/loccore.h: Delete.
3577 * bits/localefwd.h: Renamed, trimmed.
3578 * bits/locfacets.h: Delete.
3579 * bits/locale_facets.h: Rename, expanded.
3580 * bits/loccore.tcc: Deleted.
3581 * bits/locfacets.tcc: Deleted.
3582 * bits/locale_facets.tcc: Resultant merge.
3583 * bits/std_fstream.h: Modify include.
3584 * bits/ostream.tcc: Same.
3585 * bits/istream.tcc: Same.
3587 * src/locale-inst.cc: And here.
3588 * src/locale.cc: Ditto.
3589 * src/Makefile.am: Updated.
3590 * src/Makefile.in: Rengenerated.
3592 * bits/std_istream.h: Move istream::sentry ctor definition.
3593 * bits/istream.tcc: Move istream::sentry ctor here.
3594 Add more detailed locale include here for ctype member functions.
3595 * bits/ostream.tcc (std): And here.
3597 * bits/sbuf_iter.h: Include std_streambuf.h
3599 * bits/locfacets.h: Start separating this into a localeimp.h file.
3600 * bits/loccore.h: Start separating this into a localefwd.h file.
3601 Add std_climits for CHAR_BIT.
3603 * bits/ios_base.h (ios_base::sync_with_stdio): Stub in.
3605 * bits/char_traits.h: Tweak.
3607 * bits/ios_base.h: Remove INT_MAX, use 1<<16.
3609 * bits/std_ostream.h: Remove c++config.h include.
3610 * bits/std_istream.h: Same.
3611 * bits/std_streambuf.h: Same.
3612 * bits/std_fstream.h: Same.
3613 * bits/std_sstream.h: And here.
3615 * bits/std_iosfwd.h: Add _G_RESOLVE_LIB_DEFECTS here for streampos.
3616 * bits/char_traits.h: Add include of std_cwchar.h for mbstate_t.
3617 * bits/fpos.h: Tweak, format.
3619 * std/ciso646: New file.
3620 * bits/std_ciso646.h: New file.
3621 * src/Makefile.am (std_headers): Add ciso646.
3622 (headers): Add bits/std_ciso646.h.
3623 * src/Makefile.in: Regenerate.
3624 * testsuite/17_intro/header_ciso646.cc: New file, disable
3627 * bits/fpos.h: Remove libio.h include.
3628 * bits/basic_file.h: And here.
3629 * bits/std_ios.h: Put here.
3631 * src/ios.cc: Simplify includes, tweak.
3632 * bits/std_ios.h: Simplify include order.
3633 * bits/ios_base.h: Modify ios_base::failure.
3635 * stl/bits/std_numeric.h: Change include from stl_iterator to
3638 1999-05-19 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3640 * std/iostream: Remove static member __ioint.
3641 * bits/std_iostream.h: Put here.
3643 * stl/bits/std_numeric.h: Remove unneccessary std_iostream.h include.
3644 * stl/bits/stl_algobase.h: Same.
3645 * testsuite/27_io/iostream_objects.cc: Regression tests.
3646 * testsuite/27_io/hello.cc: Remove, subset of above.
3648 1999-05-19 Phil Edwards <pedwards@ball.com>
3650 * docs/index.html: Tweak, update.
3652 1999-05-18 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3654 * docs/17_intro/RELEASE-NOTES: remove outdated
3655 documentation about numeric_limits. Correct CXXINCLUDE setting
3658 1999-05-18 Phil Edwards <pedwards@ball.com>
3660 * docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
3661 22_locale,23_containers,24_iterators,25_algorithms,26_numerics,
3662 27_io}/howto.html: Created, with some initial entries.
3663 * docs/faq/index.html: Fixed some links.
3664 * docs/faq/index.txt: Regenerated.
3666 1999-05-18 Benjamin Kosnik <bkoz@tintin.cygnus.com>
3668 * bits/c++config.h (__GLIBCPP__): Set version to 19990518.
3670 * docs/17_intro/RELEASE-NOTES: Update.
3671 * docs/index.html: Correct link to mailing list help page, update News.
3672 * docs/faq/index.html: Change fifth to sixth for snapshot.
3674 * src/Makefile.am (myinstallheaders): Bring over Gaby's changes to
3675 install $(top_builddir)/bits/std_limits.h into
3676 $(myincludepfx)/bits. This was mistakenly omitted from yesterday's
3677 Makefile.am changes.
3678 * *Makefile*: Regenerate using automake.
3680 * mkcheck (LOG_FILE): Fix filebuf directory oddness.
3681 * testsuite/27_io/filebuf.cc: Same.
3683 1999-05-18 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3685 * docs/17_intro/CHECKLIST: update.
3686 * docs/17_intro/TODO: update.
3688 1999-05-17 Phil Edwards <pedwards@ball.com>
3690 * docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
3691 22_locale,23_containers,24_iterators,25_algorithms,26_numerics,
3692 27_io}/howto.html: Created, with some initial entries.
3693 * docs/faq/index.html: Fixed some links.
3694 * docs/faq/index.txt: Regenerated.
3696 1999-05-17 Benjamin Kosnik <bkoz@unhappy.cygnus.com>
3698 * src/Makefile.am (myinstallheaders): Missed removing missing.h.
3699 * Makefile.in*: Regenerate.
3701 1999-05-17 Benjamin Kosnik <bkoz@happy.cygnus.com>
3703 * bits/std_streambuf.h: Same.
3705 * bits/loccore.h (_Bad_use_facet): Remove bits warned about.
3706 * bits/locfacets.h (std): Same.
3707 * bits/sstream.tcc: Same.
3708 * testsuite/27_io/stringstream.cc: Tweak.
3710 * testsuite/27_io/filebuf.cc: Adjust.
3711 * testsuite/21_strings/capacity.cc (test01): Add more
3712 string::reserve tests.
3714 * bits/c++config.h: Remove broken CCTYPE.
3715 * bits/std_cctype.h: Tweak, remove de-macroization, enable
3716 sequestered topper implementation.
3717 * bits/std_cwctype.h: Same.
3719 * bits/missing.h: Remove.
3720 * bits/std_locale.h: Remove missing.h include.
3722 * stl/bits/std_bitset.h (bitset::bitset(string): Tweak to compile.
3724 * src/Makefile.am (headers): Add bits/std_cwctype.h.
3725 INCLUDES: Add top_builddir.
3726 * src/Makefile.in: Regenerate.
3728 * Makefile.am: Add check and check-install as new targets.
3729 * testsuite/make_check_libfree++: Move to. . .
3731 * configure.in: Tweak versions.
3732 * mknumeric_limits: Set paths correctly.
3734 1999-05-17 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3736 * src/Makefile.in (myinstallheaders): add rule to install
3739 * bits/slice.h (class slice): don't const-qualify data members
3740 since the copy and assignment operator is implicitly used. The
3741 valarray specification is definitively a bad one.
3743 * Makefile.in (generate-limits-sources): fix typo.
3745 * docs/text/TODO: update.
3746 * docs/text/CHECKLIST: update.
3748 * bits/gslice.h (gslice): fix bugglet.
3749 (gslice::gslice): set _M_index_size to 0 whenever given lengths
3752 * src/Makefile.am (libstdc___la_SOURCES): add gen-num-limits.
3753 * src/Makefile.in (libstdc___la_SOURCES): keep in sync.
3754 [Note: **/Makefile.in should be generated from the corresponding
3755 Makefile.am. The current situation is a litte chaotic. ]
3757 1999-05-16 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3759 * mknumeric_limits: tweak.
3761 * Makefile.in (all): add target generate-limits-sources.
3762 (generate-limits-sources): make a directory bits/ in top_builddir
3763 where the generated std_limits.h is put; generate limitsMEMBERs.cc
3764 directly under $(top_builddir)/src. Remains to put the appropriate
3765 rule for installing std_limits.h.
3767 * src/Makefile.in (headers): remove bits/std_limits.h to this list.
3768 (INCLUDES): add -I$(top_builddir) for bits/std_limits.h which is
3769 now generated at build-time in the build directory
3770 (libstdc___la_SOURCES): remove limitsMEMBERS.cc form this list
3771 * src/Makefile.am: reflect changes in src/Makefile.in
3773 1999-05-12 Phil Edwards <pedwards@ball.com>
3775 * docs/faq/index.html: Add more entries (5.4,5.5), finish
3776 all but one empty entry. Add links for HOWTOs, but no files yet.
3777 (Corrected HOWTO links are for bkoz's new scheme.)
3778 * docs/faq/index.txt: Regenerated.
3780 1999-05-12 Benjamin Kosnik <bkoz@happy.cygnus.com>
3782 * testsuite/17_intro/headers.cc: New file.
3783 * stl/bits/std_queue.h: Change stl_bvector.h include path.
3784 * bits/std_cwctype.h: New file.
3786 * testsuite/27_io/filebuf.cc: Need to tweak directory structure.
3788 1999-05-11 Benjamin Kosnik <bkoz@loony.cygnus.com>
3790 * stl/bits/stl_config.h (__USE_MALLOC): Change underlying allocator.
3791 Check __USE_MALLOC before defining specializations containing
3792 __default_alloc_template.
3793 * src/stl-inst.cc: Here too.
3795 * bits/basic_string.h: Change.
3797 * testsuite/make_check_libfree++: More tweaks.
3798 * testsuite/21/capacity.cc: New file.
3800 * src/string.cc: Rename to be consistent with other inst files.
3801 Rename to string-inst.cc.
3802 * src/string*.cc: Change include.
3803 * src/wstring.cc: Rename to wstring-inst.cc.
3804 * src/wstring*.cc: Ditto.
3805 * src/Makefile.in: Also here.
3806 * src/Makefile.am: Ditto.
3808 * src/traits.cc: Remove.
3809 * src/wtraits.cc: Same.
3811 Try a new way of organizing documentation, one with synchronicity
3812 between testsuites and docs subdirectories, and see who yelps.
3813 * docs/html: Remove, use chapter and subject specific directories
3814 instead of forcing things immediately into format of
3818 * docs/faq/text, docs/faq/html: Remove, put in the docs/faq
3819 directory and sort by filename and extension.
3820 * docs/17_intro, 18_support, 19_diagnostics, 20_util, 21_strings,
3821 22_locale, 23_containers, 24_iterators, 25_algorithms,
3822 26_numerics, 27_io: Add.
3823 * docs/17_intro/*: Populate with all the text files. . .
3824 * docs/index.html: Construct.
3826 * testsuite/*: Update with same names as the docs subdir.
3827 * testsuite/results: Where to stash conformance results for the
3828 different snapshots, so that progress/size/speed issues can be
3831 1999-05-10 Benjamin Kosnik <bkoz@loony.cygnus.com>
3833 * src/string.cc: Add _S_copy_chars instantiation, as well as
3834 string::binary operators !=, ==, etc.
3836 * src/Makefile.am (CXXFLAGS): Remove -fvtable-thunks.
3837 * src/Makefile.in (CXXFLAGS): Same here.
3838 * testsuite/make_check_libfree++ (CXX_FLAG): And here.
3840 1999-05-07 Benjamin Kosnik <bkoz@cygnus.com>
3842 * src/string.cc: Add missing member functions to instantiation list.
3844 1999-05-07 Benjamin Kosnik <bkoz@cygnus.com>
3846 * src/misc-inst.cc: Remove unused string instantiations.
3848 * bits/string.tcc: Tweak, fix.
3849 * bits/basic_string.h: Format. Fix reported error with c_str().
3851 * testsuite/make_check_libfree++: Tweak for shared builds.
3852 * testsuite/21/operations.cc: New file for testing c_str() etc.
3854 1999-05-06 Benjamin Kosnik <bkoz@cygnus.com>
3855 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3857 * stl/bits/stl_vector.h: Fix the code of vector<> for usage with
3858 an iterator class. Delineate pointer versus iterator differences
3860 * 23/vector_capacity.cc: New file, tests for above.
3862 1999-05-06 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3864 * mknumeric_limits: Fix typo. 'unsigned lont' should read
3866 * src/Makefile.am (libstdc___la_SOURCES): add limitsMEMBERS.cc,
3867 generated by mknumeric_limits to the list. Now std_limits.h is
3869 * src/Makefile.in (generate-numeric-limits): new target to handle
3870 automatic generation of bits/std_limits.h and src/limitsMEMBERS.cc.
3871 (all): add target generate-numeric-limits.
3872 (libstdc___la_OBJECTS): add limitsMEMBERS.lo
3873 (libstdc___la_SOURCES): add limitsMEMBERS.cc
3875 1999-05-05 Benjamin Kosnik <bkoz@cygnus.com>
3878 * bits/c++config.h (_G_USE_CTYPE_ISBIT): Defines new macro for
3879 mask values in ctype_base. Move hacks for _ISBit to locfacets.h.
3880 * bits/locfacts.h: Here.
3882 1999-05-05 Benjamin Kosnik <bkoz@cygnus.com>
3883 Ulrich Drepper <drepper@cygnus.com>
3885 Solaris build issues.
3886 * bits/c++config.h: Define new macros, _G_USE_STRTOF and
3889 * bits/locfacets.tcc (num_get::do_get): Tweak long double and
3890 float overloads to use the above macros. Account for the lack of
3891 strtold on some systems, and revert back to using sscanf.
3893 1999-05-04 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3895 * bits/locfacets.tcc (num_get::do_get): Check the errno variable.
3896 Use strtoul/strtoull for unsigned types. Check the ranges for
3897 short/unsigned short and if necessary for int/unsigned int.
3899 1999-05-04 Benjamin Kosnik <bkoz@cygnus.com>
3901 * src/gen-num-limits.cc (round_style): Need to use mknumericlimits
3902 to generate bits/std_limits.h now, as the SGI std_limits.h is
3903 being depricated. Not done, but should be done immediately: need
3904 to make sure this script is run as part of the configuration
3905 process, because without it "make" in a configured build directory
3906 will fail. Also tweaked: added a space for float_round_style, and
3907 used static_cast of zero to default-initialize, which should be ok
3908 according to the standard. (see 8.5 p5 and 20.1.3).
3909 * mknumeric_limits (OUT_C): Need this for x86 long
3912 * bits/basic_file.h: Include libio.h, not libioP.h.
3913 * src/basic_file.cc: And add libioP.h include here, so that
3914 _IO_init, et. al are well-declared.
3916 * testsuite/make_check_libfree++ (LIB_PATH): Test installed
3917 headers, not source directory headers.
3919 * src/Makefile.am (headers): Add stl_range_errors.h, also adjust
3920 for ext/*. Also add basic_file.h.
3921 * src/Makefile.in (headers): Same.
3923 * bits/std_string.h: Reduce dependencies for faster
3924 pre-processing. Move istream and ostream specific defines into
3925 istream.tcc and ostream.tcc respectively.
3926 * bits/string.tcc: And here.
3927 * bits/basic_string.h: Move getline inline out-of-line, and to
3929 * bits/istream.tcc: Move string::getline and operator>> here.
3930 * bits/ostream.tcc: And here too.
3932 * bits/utility.h: Remove, as clashes with a standard header. Put
3933 __OUTOFRANGE and __LENGTHERROR macros into string.tcc for the time
3934 being, until this can be combined with SGI's approach.
3935 * bits/string.tcc: Add macros, as above.
3936 * bits/loccore.h: Add _Count_ones defines.
3937 * bits/std_string.h: And here too.
3938 * bits/std_locale.h: And here.
3939 * bits/std_ios.h: Take out include here.
3940 * src/Makefile.am (headers): Remove utility.h
3941 * src/Makefile.in (headers): Remove utility.h
3943 * stl/bits/*: Update to SGI STL 3.20.
3944 * stl/ext/pthread_alloc: Delete this file.
3946 1999-05-04 Phil Edwards <pedwards@ball.com>
3948 * docs/faq/html/index.html: Add more entries
3949 * docs/faq/html/index.txt: regenerated.
3951 1999-05-04 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3953 * src/gen-num-limits.cc (DO_DEFINE_MIN_MAX): fix typo.
3955 1999-04-29 Benjamin Kosnik <bkoz@haight.cygnus.com>
3957 * bits/locfacets.tcc (num_get::do_get): Re-implement, with input
3958 from Ulrich and Nathan. Remove extraneous string class usage,
3959 tweak, clean, simplify and consolidate with a eye towards removing
3960 duplcate code. Use strto[l, ll, f, d, ld] instead of sscanf.
3961 Not done: dealing with leading zeros, wchar_t work.
3962 * bits/locfacets.h: And here too.
3966 1999-04-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
3969 * docs/faq/: New directory.
3970 * docs/faq/html/: Likewise.
3971 * docs/faq/text/: Likewise.
3972 * docs/faq/html/index.html: New file.
3973 * docs/faq/html/index.txt: Likewise. Generated from
3974 docs/faq/html/index.html by lynx.
3976 1999-04-28 Benjamin Kosnik <bkoz@happy.cygnus.com>
3977 Ryszard Kabatek and Branko Cibej
3979 * bits/locfacets.tcc: Modify.
3981 1999-04-27 Benjamin Kosnik <bkoz@happy.cygnus.com>
3983 * bits/sbuf_iter.h: Clean, fix istreambuf_iterator, make
3984 conformant to 14882, wrap non-standard extensions with
3985 _G_RESOLVE_LIB_DEFECTS, remove detritus and cruft, rennovate.
3986 * bits/locfacets.tcc (num_get::do_get(bool)): Return correct iterator.
3988 * testsuite/27/istringstream_formatted.cc: Add tests.
3990 * bits/locfacets.h: Remove cruft from _Format_cache, continue
3991 commenting, simplify.
3992 * bits/locfacets.tcc: Same.
3994 1999-04-27 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
3995 * bits/locfacets.tcc (num_get::do_get):
3996 Fix the sscanf format parameter
3997 for long long 'll' (as in C9X) instead of 'l'.
3998 Fix the order of sscanf format parameters: "%dl" --> "%ld".
3999 Change the type of the local variable '__conv' from 'string'
4000 to 'const char*' and adapt the change.
4002 1999-04-26 Benjamin Kosnik <bkoz@happy.cygnus.com>
4004 * bits/locfacets.h: Document _Format_cache, and name data members
4005 after the corresponding functions in numpunct. For instance:
4006 _M_grsep -> _M_thousands_sep, and _M_decsep -> _M_decimal_point.
4007 Break apart _M_boolnames{2] into _M_truename and _M_falsename.
4008 * bits/locfacets.tcc: Same.
4010 * bits/locfacets.h (num_get::_M_extract): Don't allow groupings to
4011 stop parsing--store for later analysis.
4012 * testsuite/27/istringstream_formatted.cc: Add cases.
4014 1999-04-25 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4016 * bits/valarray_meta.h: tweak.
4017 (_UnFunBase, _BinFunBase, _BinFunBase1, _BinFunBase2, _BinBase1,
4018 _BinFunBase2): rename typedef-name _Tp to _Vt to keep the compiler
4019 happy -- boggus warning.
4020 * bits/std_valarray.h: Fix.
4021 (valarray<T>::shift): Fix. Update comment.
4022 (valarray<T>::cshift): Fix.
4024 1999-04-23 Benjamin Kosnik <bkoz@cygnus.com>
4026 * testsuite/27filebuf-2.txt: Delete.
4027 * testsuite/27/filebuf.cc: Put output files directly into the
4028 correct subdirectory (27).
4030 Alexandre Petit-Bianco <apbianco@cygnus.com>
4031 * testsuite/make_check_libfree++: Check generated (*.txt) file
4032 against stored results file (*.tst).
4034 1999-04-22 Benjamin Kosnik <bkoz@nabi.net>
4036 * bits/locfacets.tcc: Fix.
4038 * bits/fstream.tcc (filebuf::seekoff): Output current out pointer.
4039 (filebuf::overflow): Simplify.
4040 (filebuf::xsputn): Correctly handle indeterminate state.
4042 * testsuite/27/istringstream_formatted.cc: Tweak.
4043 * testsuite/27/filebuf.cc: Tweak.
4044 * testsuite/27/filebuf-3.tst: Correct: this is the canonical
4045 results file, please use this in the future to guarantee filebuf
4046 positioning accuracy.
4047 * testsuite/27/filebuf-2.tst: Same.
4049 1999-04-21 Benjamin Kosnik <bkoz@cygnus.com>
4051 * bits/fstream.tcc (filebuf::xsputn): Add.
4052 * bits/std_fstream.h: Declare.
4054 * src/basic_file.cc (__basic_file::open): Add O_CREAT to open
4055 calls using ios_base::trunc.
4057 * bits/sstream.tcc (streambuf::overflow): Fix crasher.
4059 * testsuite/make_check_libfree++ (LOG_FILE): Ugh. Another fix.
4060 * testsuite/27/27stringstream.cc: Same.
4061 * testsuite/27/27stringbuf.cc: More tweaks.
4062 * testsuite/27/27filebuf-2.txt: Remove.
4064 * testsuite/27/27filebuf-1.tst: Append, to force byte size over
4065 BUFSIZE so that overflows/underflow can be tested with default
4067 * testsuite/27/27filebuf-1.tst: Add.
4069 * testsuite/*/*: Remove pre-pended chapter names, as they
4070 duplicate the chapter info contained in the enclosing directory
4073 1999-04-20 Benjamin Kosnik <bkoz@cygnus.com>
4075 * bits/streambuf.tcc (streambuf::xsputn): Re-implement to conform
4076 to sputc conditions.
4078 * bits/ios_base.h: Define here.
4079 * src/ios.cc (ios_base::_M_clear): Remove hack.
4080 * bits/basic_ios.h: Fix rdstate().
4082 * bits/sstream.tcc (streambuf::seekoff): Fix.
4083 * bits/fstream.tcc (filebuf::seekoff): Tweak comments.
4085 * testsuite/make_check_libfree++ (LOG_FILE): More c-c-c-changes.
4086 * testsuite/24/24iterator.cc: Add/Fixes for DEBUG_ASSERT.
4087 * testsuite/27/27stringstream.cc: Same.
4088 * testsuite/27/27stringbuf.cc: Same.
4089 * testsuite/27/27istringstream_formatted.cc: Same.
4090 * testsuite/27/27filebuf.cc: Same.
4092 * bits/locfacets.h: Remove specializations for messages<char> and
4093 messages<wchar_t> ctors. Same for moneypunct. Not required, not used.
4094 * src/locale.cc: Remove definitions for above.
4095 * src/misc-inst.cc: Revert, take out iomanip.h include.
4096 * bits/std_iomanip.h: Tweak, format.
4098 1999-04-19 Benjamin Kosnik <bkoz@cygnus.com>
4100 * bits/loccore.h: Format, move inline.
4101 * bits/locfacets.tcc: Same.
4102 * bits/locfacets.h: Same.
4104 Ulrich Drepper <drepper@cygnus.com>
4105 * aclocal.m4: Re-generate.
4106 * configure, configure.in: Same.
4107 * m4/lc_messages.m4: New file.
4109 1999-04-18 Benjamin Kosnik <bkoz@cygnus.com>
4111 * bits/std_ostream.h: Fix typedef for wchar_t instantiations.
4112 * bits/sstream.tcc: Tweak.
4114 * std/iostream: Put __ioinit inside macro guards.
4116 * src/stlinst.cc: Delete and move to . . .
4117 * src/stl-inst.cc: New file, plus wrapping in namespace std.
4118 * src/Makefile.in: Change.
4119 * src/Makefile.am: Same.
4120 * src/misc-inst.cc: Add istringstream/ostringstream instantiations.
4122 * testsuite/make_check_libfree++: Efficiently format for minimal
4123 space. Enforce stricter execution tests by enabling
4126 1999-04-16 Benjamin Kosnik <bkoz@cygnus.com>
4128 * docs/text/RELEASE-NOTES: Fix include typo.
4130 * src/Makefile.am (headers): Add istream.tcc.
4131 * src/Makefile.in (headers): Add istream.tcc.
4133 * ltconfig, ltmain.sh, libtool: Update to libtool-1.2g.
4135 1999-04-16 Benjamin Kosnik <bkoz@cygnus.com>
4137 * bits/locfacets.tcc (num_get::do_get(long)): Finish roughing in.
4138 * bits/locfacets.h (num_get::_M_extract): New functin:
4139 consolidate logic for do_get(...) members.
4141 * bits/sbuf_iter.h (istreambuf_iterator::operator++()): Fix.
4142 * testsuite/27/27istringstream_formatted.cc: Add.
4144 1999-04-16 Martin v. Loewis <martin@mira.isdn.cs.tu-berlin.de>
4146 * src/basic_file.cc (__basic_file::open): Fix thinko in
4147 _G_HAVE_IO_FILE_OPEN bits.
4148 * bits/std_istream.h (sentry::sentry(istream, bool)): Fix isspace bug.
4149 * bits/std_cmath.h: Add stdlib.h include for ldiv_t.
4150 * src/complex.cc (FCT): Qualify all functions with global namespace.
4151 * src/locale.cc: Don't qualify memcpy and setlocale.
4152 * src/stdexcept.cc (__out_of_range): Qualify out_of_range with std::.
4153 (__length_error): Likewise, for length_error.
4154 * src/stlinst.cc: Qualify instantiations with std::.
4156 1999-04-15 Benjamin Kosnik <bkoz@cygnus.com>
4158 * C++STYLE: Add ChangeLog guidelines for member functions.
4161 * BADNAMES, BUGS, C++STYLE, CHECKLIST, COPYING,
4162 DESIGN, HEADER_POLICY, PROBLEMS, RELEASE-NOTES, TODO: Moved into
4163 docs/text and made less strident.
4165 * bits/fstream.tcc: Change non-standard ctor to match Sun's sematics.
4166 * bits/std_fstream.h: Same.
4169 * bits/locfacets.h: Touch.
4171 1999-04-15 Ulrich Drepper <drepper@cygnus.com>
4173 * math/cexp.c (cexp): Use NAN instead of nan("").
4174 Reported by joel reed <joelreed@yahoo.com>.
4176 * libio/libioP.h: Define _IO_seek_fpos_t and _IO_seek_off_t based on
4177 _G_IO_IO_FILE_VERSION. Use these types in the prototypes.
4178 * libio/fileops.c: Use _IO_seek_fpos_t and _IO_seek_off_t types
4179 instead of #if cascades.
4180 * libio/genops.c: Likewise.
4181 * libio/ioseekoff.c: Likewise.
4182 * libio/ioseekpos.c: Likewise.
4183 * libio/strops.c: Likewise.
4184 Patch by Chip Salzenberg <chip@perlsupport.com>.
4186 1999-04-15 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4188 * docs: New directory.
4189 * docs/html: Likewise.
4190 * docs/text: Likewise.
4191 * docs/image: Likewise.
4193 * bits/std_cmath.h: Add new functions.
4194 (abs): overload for long and double.
4195 (div): overload for long.
4197 * bits/valarray_array.h: Fix.
4198 * bits/gslice.h: Adjust friend.
4199 * bits/slice_array.h: likewise.
4200 * bits/valarray_meta.h: likewise.
4202 1999-04-13 Benjamin Kosnik <bkoz@tintin.cygnus.com>
4204 * bits/locfacets.h: More changes, for num_get for insertion
4205 operators for integral types. Comment fields in _Format_cache.
4206 * bits/locfacets.tcc: And here too: add preliminary long version.
4207 * testsuite/27/27istringstream_formatted.cc: Add cases.
4209 1999-04-13 Mark Elbrecht <snowball3@usa.net>
4211 * configure.in: Add locale.h to AC_CHECK_HEADERS argument. Call
4212 AC_LC_MESSAGES macro.
4213 * aclocal.m4 (AC_LC_MESSAGES): New. Determines if a target
4214 supports LC_MESSAGES.
4215 * config.h.in: Add entry for HAVE_LC_MESSAGES.
4216 * src/locale.cc (locale::_S_normalize_category): Use the
4217 HAVE_LC_MESSAGES macro to check for LC_MESSAGES support instead of
4218 _G_NO_CLOCALE_HAS_MESSAGES.
4219 * aclocal.m4 (AM_PROG_LD): For DOS style paths, simplify test to
4220 '?:' from '?:\\' so any path beginning with a drive name matches.
4222 1999-04-12 Mark Elbrecht <snowball3@usa.net>
4224 * src/basic_file.cc(sys_open) [O_BINARY]: Declare __testb.
4226 1999-04-12 Benjamin Kosnik <bkoz@tintin.cygnus.com>
4228 * bits/locfacets.h: Tweak.
4229 * bits/locfacets.tcc(do_get): Clean/fix bool method.
4231 * testsuite/21/21nonmember.cc: Same.
4232 * testsuite/21/21compare.cc: Fix license.
4233 * testsuite/27/27istringstream_formatted.cc: New file.
4235 1999-04-12 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4237 * bits/valarray_meta.h: _BinFunBase1, _BinFunBase2, _BinBase1,
4238 _BinBase2: new template classes; put in there to work around a
4239 compiler limitation. The whole valarray architecture is now
4242 1999-04-08 Benjamin Kosnik <bkoz@haight.constant.com>
4244 * bits/locfacets.tcc: Fix, format.
4245 * bits/locfacets.h: Fix.
4246 * src/locale.cc: Same, plus format.
4248 * bits/basic_string.h: Re-add definition here.
4249 * src/string.cc: Take out.
4251 1999-04-08 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4253 * bits/std_valarray.h: tweak.
4254 * bits/valarray_array.h tweak. use _Expr.
4255 * bits/slice_array.h: likewise.
4256 * bits/gslice_array.h: likewise.
4257 * bits/mask_array.h: likewise.
4258 * bits/indirect_array.h: likewise.
4259 * bits/valarray_meta.h: tweak.
4260 _UnFunBase, _UnFunClos, _BinFunBase, _FunBase, _ValFunClos,
4261 _RefFunClos, _UnBase, _UnClos, _BinBase, _BinClos, _SClos, _GClos,
4262 _IClos: new template classes.
4263 _Meta: renamed to _Expr. Made template with args.
4264 _Constant: made template with two args.
4266 1999-04-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4268 * bits/valarray_array.h: tweak.
4270 1999-04-06 Benjamin Kosnik <bkoz@cygnus.com>
4272 * bits/basic_string.h: Whoops--fix blip.
4274 1999-04-06 Benjamin Kosnik <bkoz@cygnus.com>
4276 Update to SGI STL 3.13
4277 * bits/basic_string.h: Add __get_c_string definition.
4278 * stl/bits/stl_range_errors.h: New file.
4279 * stl/bits/std_bvector.h: Same.
4280 * stl/bits/*: Update.
4282 1999-04-04 1999 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4284 * bits/slice_array.h: tweak.
4285 * bits/gslice_array.h: tweak.
4286 * bits/mask_array.h: tweak.
4287 * bits/indirect_array.h: tweak.
4288 * bits/valarray_array.h: tweak.
4289 (__valarray_copy): replace copy with memcpy.
4290 * bits/std_valarray.h: use __valarray_copy whenever possible.
4291 use __valarray_fill instead of fill.
4293 1999-04-02 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4295 * src/gen-num-limits.cc: new file
4296 * mknumeric_limits: Ditto.
4298 1999-03-30 Benjamin Kosnik <bkoz@cygnus.com>
4300 * bits/locfacets.tcc: Do a stub version of num_get for short, int,
4302 * bits/locfacets.h: Add num_get::get methods overloaded for int
4303 and short, to resolve ambiguous overloads in istream insertion
4306 1999-03-30 Benjamin Kosnik <bkoz@cygnus.com>
4308 * bits/std_istream.h: Fix.
4309 * bits/istream.tcc: Fix.
4311 1999-03-30 Philip Martin <pm@corris.dircon.co.uk>
4313 * testsuite/24/24iterator.cc: fix ++/-- tests
4315 1999-03-29 Benjamin Kosnik <bkoz@cygnus.com>
4317 * bits/std_ostream.h: Looks like this, actually: Fix up eh-isms.
4318 * bits/ostream.tcc: Same.
4320 * bits/std_istream.h: Bring over ostream changes, implement member
4321 functions. Baseline.
4322 * bits/istream.tcc: New file.
4324 1999-03-26 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4326 * bits/gslice.h (class gslice): fix friends template.
4328 1999-03-23 Benjamin Kosnik <bkoz@cygnus.com>
4330 * bits/std_ostream.h: Fix sentry objects, implement seekp, tellp,
4332 * bits/ostream.tcc: Same.
4334 * bits/std_istream.h: Minor tweaks.
4336 1999-03-18 Benjamin Kosnik <bkoz@cygnus.com>
4338 * src/locale-inst.cc: Remove duplicate instantiations.
4339 * bits/locfacets.tcc: Tweak definitions of static member.
4341 1999-03-18 Benjamin Kosnik <bkoz@cygnus.com>
4343 * bits/std_fstream.h: Format: prepend "__" in front of
4344 non-standard typedefs.
4345 * bits/fstream.tcc: Match.
4346 * bits/std_streambuf.h: Format: prepend "__" in front of
4347 non-standard typedefs.
4349 * bits/sstream.tcc: Match.
4350 * bits/std_istream.h: Format.
4351 * src/locale-inst.cc: Add num_get instantiations.
4353 * bits/std_sstream.h: Fix crash in stringstreams. Remove member
4354 _M_sb, a basic_stringbuf object, and use the basic_ios pointer
4355 _M_streambuf instead. Make initializations sane. Fix
4356 allocation/deallocation of _M_streambuf.
4357 * bits/std_ostream.h: Fix initialization code.
4358 (ctor): Eliminate redundant this->init(), let base class initialize.
4359 (default ctor): New. Assume base classes already initialzed.
4360 * bits/std_istream.h: Parallel work to ostream.
4361 (ctor): Eliminate redundant this->init(), let base class initialize.
4362 (default ctor): New. Assume base classes already initialzed.
4363 Fix initialization of basic_iostream.
4365 * bits/std_fstream.h: While we're at it, make initializations sane
4366 here too. Now matches sstream.h.
4368 * bits/string.tcc: Fix crash in basic_string::compare.
4369 * bits/basic_string.h: And here.
4370 * bits/c++config.h: Add comment about _G_USE_EXCEPTIONS.
4372 * testsuite/make_check_libfree++: Check shared as well.
4373 * testsuite/27/27stringstream.cc: Add bits.
4374 * testsuite/27/27boolfmt.cc: Add bits.
4375 * testsuite/27/27octfmt.cc: Add bits.
4377 1999-03-17 Benjamin Kosnik <bkoz@happy.cygnus.com>
4379 * configure.in (USE_LONG_DOUBLE): signbitl link error.
4381 * bits/locfacets.h: Fix errors that cause build problems
4382 with current egcs (template parameters have class scope).
4383 * bits/locfacets.tcc: Same.
4384 * src/locale-inst.cc: Same, clean.
4385 * src/misc-inst.cc: Same, clean.
4387 1999-03-17 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
4389 * stl/bits/std_memory.h: Modify auto_ptr::reset to reflect the
4390 standard. Re-apply this previous patch.
4392 1999-03-17 Philip Martin <pm@corris.dircon.co.uk>
4394 * bits/basic_string.h: Use __normal_iterator<> for iterators.
4395 * bits/std_sstream.h: Support __normal_iterator<> iterators.
4396 * bits/string.tcc: Ditto.
4397 * src/misc-inst.cc: Ditto.
4398 * src/locale-inst.cc: Ditto.
4399 * stl/bits/stl_iterator.h: Add __normal_iterator<>.
4400 * stl/bits/stl_vector.h: Use __normal_iterator<> for iterators.
4401 * testsuite/24/24iterator.cc: Add test cases for basic_string and
4404 1999-03-16 Benjamin Kosnik <bkoz@cygnus.com>
4406 * bits/locfacets.tcc: Remove macro hack.
4407 * bits/locfacets.h: Tweaks.
4408 * src/misc-inst.cc: Weed out locale-related instantiations.
4409 * src/locale-inst.cc: Same.
4411 * RELEASE-NOTES: Make more changes.
4412 * bits/c++config.h: Bump version number.
4414 * testsuite/make_check_libfree++: Collect diagnostics.
4416 * bits/std_ostream.h: Fix ostream initialization/destruction
4417 problem, related to dtor cleanup and new cached facets, agggggggh.
4418 * bits/ostream.tcc: Tweak.
4419 * bits/locfacets.h: Remove all friends of iostream classes.
4420 * bits/ios_base.h: Same.
4421 * bits/streambuf.tcc: Tweak.
4422 * bits/std_streambuf.h: Tweak.
4423 * bits/std_fstream.h: Tweak.
4424 * bits/fstream.tcc: Tweak.
4425 * src/stdstreams.cc: Tweak.
4426 * src/ios.cc: Close streams.
4428 * math/Makefile.in: Add missing files for shared link errors.
4429 * math/Makefile.am: Same.
4431 1999-03-15 Benjamin Kosnik <bkoz@cygnus.com>
4433 * src/locale-inst.cc: More wchar_t instantiations.
4434 * src/misc-inst.cc: Missed a few bits.
4435 * testsuite/make_check_libfree++: Add static and shared runs.
4436 * src/ios.cc: Add clarity to ios_base::Init::~Init().
4438 1999-03-15 Benjamin Kosnik <bkoz@cygnus.com>
4440 * bits/std_ostream.h: Format, expunge, simplify. Add cached
4441 facets. Resolve link errors.
4442 * bits/ostream.tcc: Same.
4443 * src/misc-inst.cc: Add ostream, wostream instantiations.
4444 * src/Makefile.am: Add missing bits for stdstreams.cc.
4445 * src/Makefile.in: Same.
4446 * bits/std_iosfwd.h: Format.
4447 * bits/locfacets.h (num_put): Add basic_ostream as a friend to
4448 num_put so that cached _M_fnumput pointer can be deleted in
4449 basic_ostream's dtor. Now everybody plays nice.
4451 1999-03-12 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
4453 * bits/gslice.h (class gslice): Make friends valarray,
4454 gslice_array and _GliceExpression.
4456 1999-03-11 Benjamin Kosnik <bkoz@cygnus.com>
4458 * RELEASE-NOTES: Update.
4459 * src/ios.cc: Use do proper init.
4460 * bits/std_streambuf.h: Tweak.
4461 * bits/std_iostream.h: Take out static member.
4462 * std/iostream: Put here.
4463 * bits/std_ostream.h: Non-default ctor shouldn't smash _M_streambuf.
4464 * bits/std_istream.h: Ditto.
4465 * bits/basic_ios.h: Format.
4466 * bits/ostream.tcc(write): Fix.
4467 * bits/fstream.tcc: Fix stdstreams ctor to do a proper
4468 initialization of the fstream class.
4469 * src/stdstreams.cc: I'm baaaaaaaack.
4471 1999-03-10 Benjamin Kosnik <bkoz@rhino.cygnus.com>
4473 * bits/ios_base.h: Correct comments. Add ios_base::init()
4474 functionality. Format, tweak, expunge, clean, bathe, and hang to dry.
4475 * src/misc-inst.cc: Add instantiations here.
4476 * src/ios.cc: Clean.
4477 * bits/std_iostream.h: Add wrappers, global ios_base::Init object.
4478 * src/stdstreams.cc: Delete this file, as now unnecessary.
4479 * bits/fstream.tcc: Add missing initialization bits for ctor.
4480 * src/Makefile.am (libstdc___la_SOURCES): Delete here as well.
4481 * src/Makefile.in (libstdc___la_OBJECTS): And here.
4483 * bits/streambuf.tcc: Tweak.
4484 * bits/sstream.tcc: Here too.
4486 * bits/fstream.tcc: And change definition as well.
4487 * bits/std_fstream.h: Change ctor.
4488 * src/basic_file.cc (sys_open): Add call that opens a specific fileno.
4489 * bits/basic_file.h: Add declarations.
4491 * testsuite/27/27hello.cc: New file.
4493 * bits/std_ostream.h: Move flush() inline.
4494 * bits/ostream.tcc: From here.
4496 * bits/char_traits.h: Add include of fpos.h for streamoff/streampos.
4497 * bits/std_ios.h: Change include libio to only when necessary.
4498 * bits/fpos.h: Like here.
4499 * ios_base.h: And here.
4501 * bits/locfacets.h: Change _Iostate to _Ios_Iostate.
4502 * bits/locfacets.tcc: Same.
4503 * bits/std_locale.h: Include std_ios.h not std_iosfwd.h.
4504 * bits/std_iosfwd.h: Move _Ios_Iostate to ios_base.h
4506 1999-03-09 Benjamin Kosnik <bkoz@rhino.cygnus.com>
4508 * bits/basic_ios.h: Change _M_ctype to _M_fctype.
4510 * bits/std_streambuf.h: Clean, tweak.
4511 * bits/std_fstream.h: Same.
4512 * bits/std_sstream.h: Same.
4513 * bits/streambuf.tcc: Move most member functions out-of-line.
4514 * bits/fstream.tcc: Same.
4515 * bits/streambuf.tcc: Same.
4517 * bits/basic_file.h(filepos_cur): Set correctly.
4518 (filepos_beg): Same.
4519 (seekpos): Change to __c_streampos.
4520 * src/basic_file.cc (std): Change to __c_streampos.
4522 * testsuite/27/27filebuf.cc: Round one is finished.
4523 * testsuite/27/27filebuf-2.tst: New file, final output should match.
4524 * testsuite/27/27filebuf-3.tst: Same.
4526 1999-03-08 Benjamin Kosnik <bkoz@rhino.cygnus.com>
4528 * bits/basic_file.h: Fix typo, add comments about what to expect
4529 from the various member functions in __basic_file.
4531 * bits/std_fstream.h: Re-do sync/underflow to work
4532 together. Change from sys_read to xsgetn and from sys_write to
4533 xsputn. As it should have been from the beginning. . .
4535 1999-03-06 Benjamin Kosnik <bkoz@haight.constant.com>
4537 * bits/c++config.h (__GLIBCPP__): Add versioning macro.
4539 * bits/basic_file.h(file_beg): New function.
4542 * testsuite/27/27filebuf.cc: Test in, out, in | out.
4543 * bits/std_fstream.h: More _M_mode refinements.
4544 (synch): Add bits for out mode only.
4545 * bits/std_streambuf.h(xsputn): Correct for filebufs.
4546 * bits/std_sstream.h: Ditto.
4548 1999-03-03 Benjamin Kosnik <bkoz@cygnus.com>
4550 * bits/std_fstream.h: Fix _M_mode AND with ios_base::openmode.
4551 * testsuite/27/27filebuf.cc: Modify.
4552 * bits/c++config.h: Fix.
4554 1999-03-02 Benjamin Kosnik <bkoz@tintin.cygnus.com>
4556 * bits/c++config.h: New macro, _G_RESOLVE_LIB_DEFECTS, used to put
4557 code in place that diverges from the final standard, but has been
4558 brought up on the library mailing list.
4560 * bits/std_fstream.h(underflow): Position all three internal
4561 buffer pointers at the same initial position. Re-implement with
4562 basic_filebuf abstraction.
4566 * bits/std_sstream.h: Move _M_mode down into base class
4568 * bits/sstream.tcc: Ditto.
4569 * bits/std_streambuf.h: Ditto.
4571 * testsuite/27/27filebuf.cc: Tweak.
4573 1999-02-27 Benjamin Kosnik <bkoz@slap-happy.cygnus.com>
4575 * bits/std_sstream.h: Ditto.
4576 * bits/std_fstream.h: Fix blip.
4578 1999-02-26 Benjamin Kosnik <bkoz@happy.cygnus.com>
4580 * C++STYLE: Add cases.
4581 * bits/std_fstream.h: Format.
4582 * bits/std_streambuf.h: Ditto.
4583 * bits/std_sstream.h: Ditto.
4585 * src/basic_file.cc(sys_seek): Fix stack delirium, by keeping
4586 return type for _IO_file_seek and __basic_file::seek the same size.
4587 * bits/basic_file.h: Ditto.
4589 1999-02-26 Benjamin Kosnik <bkoz@happy.cygnus.com>
4591 * bits/fstream.tcc: Add include guards.
4592 * src/misc-inst.cc: Add instantiations for shared libes.
4593 * src/locale-inst.cc: Add instantiaions for use_facet.
4594 * bits/loccore.h: Remove specialization foward decls for
4595 use_facet<ctype>: perhaps add the whole lot of them later on.
4596 * bits/std_fstream.h: Fix.
4597 * bits/locfacets.h: Ditto.
4598 * src/stdstreams.cc: Disable wide streams for now.
4600 * src/Makefile.am (CXXFLAGS): Change up.
4601 * src/Makefile.in (CXXFLAGS): Ditto.
4603 1999-02-25 Benjamin Kosnik <bkoz@happy.cygnus.com>
4605 * src/basic_file.cc: Change to ios_base::seekdir from int.
4606 * bits/basic_file.h: Ditto.
4607 * bits/locfacets.h : Fix blip with new guard macros.
4609 1999-02-25 Benjamin Kosnik <bkoz@cygnus.com>
4611 * stl/bits/stl_config.h (__STL_USE_STD_ALLOCATORS): Minor tweaking.
4612 * bits/c++config.h: Clean. Remove _G_NO_STREAMBUF_ITERATORS and
4614 * amm1/locale: Remove unused defines.
4615 * generic/locale: Ditto.
4616 * src/ios.cc: Ditto.
4617 * src/locale.cc: Ditto.
4618 * src/locale-inst.cc: Ditto.
4619 * src/localename.cc: Ditto.
4620 * src/stdstreams.cc: And here.
4622 * bits/c++config.h (_G_USE_WCHAR_T): Fix.
4623 * bits/loccore.h: Simplify, clean, add wchar_t guards.
4624 * bits/loccore.tcc: Ditto.
4625 * bits/locfacets.h: Ditto.
4626 * src/locale-inst.cc: Ditto.
4627 * bits/locfacets.tcc: Add do_put long long here.
4629 1999-02-24 Benjamin Kosnik <bkoz@cygnus.com>
4631 * bits/std_streambuf.h: Add cached ctype facet, _M_ctype.
4632 * bits/basic_ios.h: Clean. Replace _M_strbuf with
4633 _M_streambuf. Use cached _M_cvt in basic_streambuf.
4634 * bits/std_istream.h: Replace _M_strbuf with _M_streambuf.
4635 * bits/std_fstream.h: Tweak.
4637 * bits/char_traits.h: Remove fpos definitions from here. . .
4638 * bits/fpos.h: New file, put them here. Eventually, this may allow
4639 the severing of char_traits and fpos dependancies.
4640 * src/Makefile.in: Add fpos.h.
4641 * src/Makefile.am: Ditto.
4642 * bits/std_string.h: Add fpos.h include here.
4643 * bits/std_ios.h: And here.
4645 * bits/std_streambuf.h: Change _M_init to _M_initialized.
4646 * bits/ios_base.h: Remove cstdio include.
4647 * bits/std_ios.h: ... Place here.
4649 1999-02-23 Benjamin Kosnik <bkoz@loony.cygnus.com>
4651 * src/Makefile.in (CXXFLAGS): Re-add -fvtable-thunks.
4652 * src/Makefile.am (CXXFLAGS): Re-add -fvtable-thunks.
4654 * bits/basic_file.h: Comment, adjust arguments.
4655 * src/basic_file.cc: Ditto.
4657 * bits/std_fstream.h(seekoff): Error is of fpos type, not integral
4658 type: check and convert accordingly. Re-interpet "resultant stream
4659 position" to indicate external byte sequence location, not internal
4662 1999-02-22 Benjamin Kosnik <bkoz@loony.cygnus.com>
4664 * mkcshadow: And change copyright here.
4665 * src/Makefile.am (CXXFLAGS): Add -g -O2. Add new header
4666 dependencies for stl_pthread_alloc.h, pthread_allocimpl.h,
4667 stl_thread.h, and stl_iterator_base.h.
4668 * src/Makefile.in (CXXFLAGS): Ditto.
4669 * stl/backward/pthread_alloc.h: Remove.
4671 1999-02-19 Benjamin Kosnik <bkoz@loony.cygnus.com>
4673 * bits/std_streambuf.h (sungetc): Use standard defs for putback
4675 * bits/std_fstream.h (pbackfail): Correct.
4677 (seekoff): Implement.
4679 * testsuite/27/27filebuf.cc: Add test cases.
4681 1999-02-18 Benjamin Kosnik <bkoz@loony.cygnus.com>
4683 * bits/std_fstream.h: Go with basic_file's interfaces for dealing
4684 with the external buffers, and stop mucking around with setting
4685 and re-setting the external buf's pointers. Aka, clarity and
4686 simplicity rule the day.
4687 * src/locale.cc: Use memcpy in codecvt::do_in and codecvt::do_out.
4688 Remove partial result and support code.
4690 1999-02-18 Ulrich Drepper <drepper@cygnus.com>
4692 * configure.in: Add hypot, hypotf, atan2f, expf, and copysignf to
4693 list of function which have to be replaced.
4694 Remove expf from list of functions to test for.
4695 Define USE_LONG_DOUBLE in case the libm has partial support for long
4697 * Makefile.in: Regenerated.
4698 * config.h.in: Likewise.
4699 * configure: Likewise.
4700 * libio/Makefile.am (LIBIO_SRCS): Add missing backslash.
4701 * libio/Makefile.in: Regenerated.
4702 * src/Makefile.in: Regenerated.
4703 * string/Makefile.in: Regenerated.
4704 * math/Makefile.am (EXTRA_DIST): Add hypot.c, hypotf.c, hypotl.c,
4705 atan2f.c, expf.c, and $(EXTRA_yes).
4706 (EXTRA_yes): Add signbitl.c mycabsl.c.
4707 (libmath_la_LIBADD): Add $(EXTRA_$(USE_LONG_DOUBLE)).
4708 (libmath_la_SOURCES): remove long double versions.
4709 * math/Makefile.in: Regnerated.
4710 * math/atan2f.c: New file.
4711 * math/copysignf.c: New file.
4712 * math/expf.c: New file.
4713 * math/hypot.c: New file.
4714 * math/hypotf.c: New file.
4715 * math/hypotl.c: New file.
4716 * math/cargf.c: Use correct function and macro names.
4717 * math/ccos.c: Likewise.
4718 * math/ccosh.c: Likewise.
4719 * math/ccoshf.c: Likewise.
4720 * math/ccoshl.c: Likewise.
4721 * math/cexp.c: Likewise.
4722 * math/cexpf.c: Likewise.
4723 * math/cexpl.c: Likewise.
4724 * math/clog.c: Likewise.
4725 * math/clog10.c: Likewise.
4726 * math/clog10f.c: Likewise.
4727 * math/clog10l.c: Likewise.
4728 * math/clogf.c: Likewise.
4729 * math/clogl.c: Likewise.
4730 * math/copysignf.c: Likewise.
4731 * math/csin.c: Likewise.
4732 * math/csinf.c: Likewise.
4733 * math/csinh.c: Likewise.
4734 * math/csinhf.c: Likewise.
4735 * math/csinhl.c: Likewise.
4736 * math/csinl.c: Likewise.
4737 * math/csqrt.c: Likewise.
4738 * math/csqrtf.c: Likewise.
4739 * math/csqrtl.c: Likewise.
4740 * math/ctan.c: Likewise.
4741 * math/ctanf.c: Likewise.
4742 * math/ctanh.c: Likewise.
4743 * math/ctanhf.c: Likewise.
4744 * math/ctanhl.c: Likewise.
4745 * math/ctanl.c: Likewise.
4747 1999-02-17 Benjamin Kosnik <bkoz@cygnus.com>
4749 * testsuite/27/27filebuf.cc: Add cases.
4750 * testsuite/27/27filebuf-1.txt: Remove inadvertent garbage.
4751 * bits/std_streambuf.h: Simplify, always have one return statement.
4752 * bits/std_fstream.h: Tweak comments in underflow.
4754 1999-02-17 Ulrich Drepper <drepper@cygnus.com>
4756 * ltmain.sh: Update from libtool 1.2d and fix Solaris problems.
4757 * ltconfig: Likewise.
4759 1999-02-16 Christophe Pierret <cpierret@businessobjects.com>
4761 * src/locale.cc: Fix assert.
4763 1999-02-16 Benjamin Kosnik <bkoz@cygnus.com>
4765 FIXME: Still need some kind of solution for undefined math symbols.
4766 * src/Makefile.in (locale-inst.lo): Compile with
4767 -fimplicit-templates to fix Solaris link problem.
4768 * src/Makefile.am: Ditto.
4769 * libio/Makefile.in: Add stdfiles.c so that _IO_list_all is defined.
4770 * libio/Makefile.am: Ditto.
4771 * src/locale.cc: Provide some kind of def for _S_tolower.
4772 * bits/locfacets.h: Fix declarations of ctype<wchar_t> to
4773 match ctype<char> for _S_tolower, _S_toupper, _S_table.
4775 1999-02-10 Benjamin Kosnik <bkoz@cygnus.com>
4777 * bits/loccore.tcc: Move member-template ctor inline...
4778 * bits/loccore.h: ...here.
4779 * src/locale-inst.cc: Add instantiation here.
4781 * testsuite/27/27stringstream.cc: Tweak.
4783 * bits/ostream.tcc: Include sbuf_iter.h.
4785 * bits/ostream.tcc: Convert *this to ostreambuf_iterator before
4786 passing to num_put, as num_put's first argument is an interator,
4789 * testsuite/make_check_libfree++: New file, runs through the
4790 existing test files in the testsuite directory and makes sure
4793 1999-02-10 Brendan Kehoe <brendan@cygnus.com>
4795 * testsuite/21/21compare.cc: Fix typo.
4796 * src/locale.cc (ctype<wchar_t>::_S_{toupper,tolower,table}):
4797 Don't try to provide non-linux versions, since it's impossible to
4798 initialize their const references with the integer 0, no matter
4799 how we try to cast it.
4801 1999-02-10 Benjamin Kosnik <bkoz@cygnus.com>
4803 * bits/std_locale.h: Move std_vector.h dependency.
4804 * bits/std_ios.h: ...from here.
4805 * bits/std_string.h: ...and here.
4806 * src/locale.cc: ..to here.
4807 * bits/loccore.h: Ditto, add vector forward declaration,
4808 make locale::_Impl data members pointers not containers.
4809 * bits/loccore.tcc: Move out-of-line for now.
4810 * bits/locfacets.h: Move vector dependency from here...
4811 * bits/locfacets.tcc: ...to here.
4812 * src/localename.cc: ..and here.
4813 * src/locale-inst.cc: Add include of locfacets.tcc here.
4815 * stl/bits/stl_string_fwd.h: Make __get_c_string non-static.
4816 * bits/basic_string.h: Can't use sizeof on an incomplete type.
4817 * bits/string.tcc: Tweak.
4818 * src/string.cc: And add __get_c_string def here.
4820 * bits/std_fstream.h: Yeah, comment the fill_n idea out as impractical.
4822 * src/stlinst.cc: Add include of stl_config.h.
4824 1999-02-09 Benjamin Kosnik <bkoz@cygnus.com>
4826 * stl/bits/std_bitset.h: Update to SGI STL 3.12.
4827 * stl/bits/stl_config.h: Tweak, update.
4828 * stl/bits/std_stdexcept.h: Ditto, change stl_exception to
4830 * stl/bits/std_memory.h: Reconstructed auto_ptr, Ditto.
4831 * stl/bits/std_functional.h: Ditto.
4833 * stl/bits/stl_string.h: New file, SGI's string
4834 implementation. For reference only, corresponding to string in
4836 * stl/bits/stl_char_traits.h: As above.
4838 * stl/bits/pthread_allocimpl.h: New file corresponding to
4840 * stl/bits/stl_pthread_alloc.h: New file corresponding to
4842 * stl/bits/stl_threads.h: New file.
4844 Note that SGI STL 3.12's file iterator.h is not used.
4845 * stl/bits/std_iterator.h: Ditto.
4846 * stl/bits/stl_iterator.h: Drop in replace.
4847 * stl/bits/stl_iterator_base.h: New file, drop in replace.
4849 * stl/bits/stl_queue.h, stl_rope.h, stl_set.h, stl_stack.h,
4850 stl_string_fwd.h, stl_tempbuf.h, stl_tree.h, stl_vector.h,
4851 stl_pair.h, stl_multimap.h, stl_multiset.h, stl_list.h,
4852 stl_hashtable.h, stl_hash_set.h, stl_hash_map.h, stl_function.h,
4853 stl_deque.h, stl_alloc.h, stl_algo.h, stl_algobase.h, ropeimpl.h:
4854 Drop-in replace (ie, stop changing __SGI_STL_* to _CPP_BITS_* for
4855 preprocessor guards, but fixup include paths and names according
4856 to new directory layout).
4858 1999-02-05 Benjamin Kosnik <bkoz@cygnus.com>
4860 * bits/std_fstream.h: Remove _M_open data member.
4861 * bits/fstream.tcc: Ditto.
4863 * src/locale.cc: Tweak.
4865 * bits/std_sstream.h: Simplify.
4867 * bits/std_streambuf.h: Simplify.
4868 (sputc): Use correct definition of "write area."
4870 * bits/std_fstream.h: Fix uflow.
4871 * src/basic_file.cc: Tweak.
4872 * testsuite/27/27filebuf.cc: Add tests.
4873 * testsuite/27/27filebuf-3.txt: Rename to *-2.txt.
4875 1999-02-02 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
4877 * bits/ios_base.h: Make protected.
4879 1999-02-01 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
4881 * bits/ios_base.h: Changes in the class ios_base:
4882 Rename _M_exceptions member to _M_exceptions_data.
4883 Make the member functions rdstate(), clear(), exceptions()
4884 and exceptions(iostate) protected and add the "_M_" prefix.
4885 * src/ios.cc: Ditto.
4886 * bits/basic_ios.h: Adapt the changes from ios_base.
4888 1999-01-29 Benjamin Kosnik <bkoz@cygnus.com>
4890 * bits/std_fstream.h: Remove _M_flags, _M_equilibrate as unnecessary.
4891 * bits/fstream.tcc: Ditto.
4893 * bits/std_fstream.h (underflow): Resize deallocates memory and
4894 resets pointers in the internal cache according to new _M_buf. . dooh!
4895 * src/locale.cc: Mas changes with codecvt::do_in, do_out.
4897 1999-01-29 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
4899 * stl/bits/std_memory.h: Modify auto_ptr::reset to reflect the
4902 1999-01-28 Benjamin Kosnik <bkoz@cygnus.com>
4904 * src/locale.cc (codecvt::do_in): Finer-grained tuning to take
4905 into account partial returns.
4906 (codecvt::do_out): Likewise.
4908 * bits/char_traits.h: Change streamsize to be a signed type, as
4909 required by 27.4.1 Types p 2. (Changing to _IO_ssize_t.)
4910 * bits/std_streambuf.h: Make
4911 in_avail() and showmanyc() have streamsize as return types, so
4912 that showmanyc()'s return of eof won't underflow in_avail's return
4913 value and give a bogus result.
4914 * src/misc-inst.cc: And more changes. . .
4916 * bits/std_streambuf.h (basic_streambuf): Add _M_buf_unified to keep
4917 track of joint in/out pointers into the internal buffer.
4918 (sbumpc): Add check for _M_buf_unified.
4922 * testsuite/27/27filebuf.cc: Add cases.
4923 * testsuite/27/27stringbuf.cc: Add showmanyc case.
4925 * bits/std_fstream.h (close): Fix logic error.
4926 (open): Initialize internal pointers based on _M_buf and _M_buf_size.
4927 (showmanyc): Add underflow component, to match the standard.
4929 * bits/fstream.tcc: Ditto.
4931 1999-01-27 Benjamin Kosnik <bkoz@cygnus.com>
4933 * bits/basic_file.h: Match vtables w/ _IO_FILE_plus.
4934 * src/basic_file.cc: Ditto.
4935 * src/Makefile.in: Add -fvtable-thunks to CXXFLAGS: preferred
4936 format for dealing with _IO_file in libio.
4938 1999-01-27 Ulrich Drepper <drepper@cygnus.com>
4940 * src/basic_file.cc: Include fcntl.h.
4942 1999-01-27 Benjamin Kosnik <bkoz@cygnus.com>
4944 * libio/Makefile.in: Add fileops.lo, genops.lo to objects to debug
4946 * bits/std_streambuf.h: Redefine read posion.
4948 * bits/std_fstream.h: Temporary hack to get vtables working again.
4949 * bits/basic_file.h: Revert.
4950 * src/basic_file.cc: Ditto.
4951 * testsuite/27/27filebuf.cc: Tweak.
4953 1999-01-26 Benjamin Kosnik <bkoz@cygnus.com>
4955 * bits/basic_file.h: Add showmanyc, underflow. .
4956 * src/basic_file.cc: Ditto.
4958 * bits/std_fstream.h (showmanyc): Add bits to ping libio to see if more
4961 * testsuite/27/27filebuf.cc: Add testcases.
4962 * src/basic_file.cc: Add O_CREAT to open calls with
4963 ios_base::trunc as part of the open mode.
4965 1999-01-26 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
4967 * bits/basic_ios.h: fix basic_ios::exceptions(iostate)
4969 1999-01-25 Benjamin Kosnik <bkoz@nabi.net>
4971 * src/ios.cc (clear): Correct typo.
4972 * bits/ios_base.h: Tweak spacing.
4974 1999-01-25 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
4976 * bits/basic_ios.h: fix basic_ios::fail()
4978 1999-01-25 Benjamin Kosnik <bkoz@loony.cygnus.com>
4980 * bits/basic_file.h: Include libioP.h from libio instead of here.
4981 * bits/iolibio.h: Remove.
4982 * bits/libio.h: Remove.
4984 1999-01-22 Benjamin Kosnik <bkoz@lunatic.cygnus.com>
4986 * bits/std_fstream.h: Tweak cvt-> in call for newer egcs compilers.
4988 1999-01-22 Ulrich Drepper <drepper@cygnus.com>
4990 * Makefile.am (SUBDIRS): Add libio.
4991 * configure.in: Add rule to test for glibc2.
4993 * src/Makefile.am (INCLUDES): Add -I to libio subdir.
4994 (libstdc___la_LIBADD): Add libio.la.
4996 1999-01-21 Benjamin Kosnik <bkoz@cygnus.com>
4998 * bits/basic_file.h: Make new abstraction for underlying C library
4999 FILE, named __basic_file.
5000 * src/basic_file.cc: New file.
5001 * bits/os_raw.h: Delete.
5002 * src/os_raw.cc: Delete.
5003 * src/Makefile.in: Tweak.
5004 * src/Makefile.am: Tweak.
5005 * bits/iolibio.h: Add this here, for the time being.
5006 * bits/libioP.h: Ditto.
5008 * bits/ios_base.h: Delete unused defines.
5009 * src/locale.cc (codecvt<char, char, mbstate_t>::do_in): Use
5010 strcpy to copy between the two buffers.
5012 * testsuite/27/27stringbuf.cc: Change license, fix in_avail tests.
5013 * testsuite/27/27filebuf.cc: New file.
5014 * testsuite/27/27filebuf-1.txt: Data file for above test.
5015 * testsuite/27/27filebuf-2.txt: Ditto.
5017 * bits/std_streambuf.h (uflow): Re-implement default.
5018 * bits/std_fstream.h: Set _M_buf_size based on cstdio's BUFSIZ.
5019 Re-implement virtual functions.
5020 * bits/fstream.tcc: Delete unused mf's.
5022 1998-12-31 Benjamin Kosnik <bkoz@lunatic.cygnus.com>
5024 * bits/fstream.tcc: Add fstream ctor for cin/cout/etc.
5025 * bits/std_fstream.h: Ditto.
5026 * src/stdstreams.cc: Ditto.
5028 * math/cpowl.c: Fix header typo with last change.
5030 1998-12-31 Benjamin Kosnik <bkoz@loony.cygnus.com>
5032 * COPYING: New file (GPL v 2).
5033 * LICENSE.STD: Remove.
5034 * ./*: Change license.
5036 1998-12-30 Benjamin Kosnik <bkoz@haight.constant.com>
5038 * bits/std_streambuf.h (std): Remove static on _M_init.
5039 * bits/streambuf.tcc (std): Ditto.
5041 * bits/std_fstream.h: Add changes as discussed with Nathan, including
5042 state_type and codecvt_type members, the allocation of an internal
5043 buffer, the streamlined codecvt calls, etc.
5045 1998-12-21 Benjamin Kosnik <bkoz@haight.constant.com>
5047 * bits/std_sstream.h: Tweak.
5048 * bits/fstream.tcc: Remove unused stubs.
5049 * bits/std_fstream.h: Tweak.
5051 1998-12-17 Benjamin Kosnik <bkoz@tintin.cygnus.com>
5053 * bits/std_streambuf.h: Move _IO_file_flags into basic_filebuf.
5054 Remove unused _IO_* members, possibly put into filebuf, which may
5056 * bits/std_fstream.h: Add _M_flag.
5057 * bits/sbuf_iter.h: Tweak.
5059 * bits/std_cstdio.h: Add SEEK_SET, SEEK_END, SEEK_CUR.
5060 * bits/ios_base.h: Use.
5062 * src/stdstreams.cc: Modify to reflect standard ctors for
5064 * src/misc-inst.cc: Ditto.
5066 * bits/os_raw.h: Wrap in std namespace. Model parameters on
5067 underlying C library calls instead of the underlying unix
5069 * src/os_raw.cc (_S_os_open): Use fopen, and compute a mode
5070 string as per p.659.
5071 (_S_os_close): Model on fopen.
5072 (_S_os_read): Model on fread.
5073 (_S_os_write): Model on fwrite.
5074 (_S_os_seek): Model on fseek.
5076 * bits/ios_base.h: Tweak.
5077 * bits/std_iosfwd.h: Wrap libio.h include with extern "C".
5078 * bits/std_sstream.h: Tweak.
5079 * bits/sstream.tcc: Remove old, uncalled code.
5080 * bits/std_fstream.h: Major reconstruction.
5081 * bits/fstream.tcc: Disable for the time being.
5083 1998-12-11 Benjamin Kosnik <bkoz@haight.constant.com>
5085 * bits/basic_string.h: Fix insert method.
5086 * stl/bits/stl_iterator.h: Remove previous hack.
5087 * bits/std_streambuf.h (sbumpc): Correct increment/return oddness.
5088 * bits/std_sstream.h: Fix more regressions.
5089 * testsuite/27/27stringbuf.C: Add (almost) complete tests.
5091 1998-12-09 Benjamin Kosnik <bkoz@loony.cygnus.com>
5093 * bits/basic_string.h: Tweak.
5095 * stl/bits/stl_iterator.h: Specialize iterator_traits for int so
5096 that string::append can be instantiated. HACK--checkin
5097 basic_string::iterator class.
5099 1998-12-07 Benjamin Kosnik <bkoz@haight.constant.com>
5101 * bits/std_sstream.h: Tweak.
5102 * bits/sstream.tcc: Tweak ctors.
5104 FIXME invalid friend defs. . WHERE ARE THEY??
5106 * bits/sbuf_iter.h (istreambuf_iterator::equal): Change to new
5107 names for basic_streambuf data members.
5109 * bits/std_streambuf.h: Add getloc() initialization bits.
5110 basic_streambuf(): Initialize with global locale data.
5111 imbue(): Set _M_init.
5113 * bits/std_streambuf.h(seekoff, seekpos): Complete with invalid
5114 stream pos == pos_type(off_type(-1)).
5115 in_avail(): Complete default implementation.
5116 snextc, sbumpc, sputbackc, sungetc, sputc, setg, xsputn,
5117 underflow, uflow, xsgetn, showmany, sync: Ditto.
5119 * bits/std_streambuf.h: _M_snextc_helper(): Remove.
5121 * bits/streambuf.tcc (sputbackc): Temporarily remove, need to
5122 re-populate with in-line member functions that are too big. Add
5123 initialization for _M_init.
5125 1998-12-03 Benjamin Kosnik <bkoz@cygnus.com>
5127 * bits/sstream.tcc: Convert _Allocator to _Alloc. Add typedefs
5128 for basic_string and basic_streambuf. Scope _IO_buf_* pointers to
5131 * src/stdstreams.cc (std): Disable wchar_t instantiations.
5133 * bits/c++config.h (_G_DEPRICATED): Add.
5134 (_G_USE_WCHAR_T): Add.
5135 * bits/std_streambuf.h: Radical reconstruction of basic_streambuf.
5136 Take out _Streambuf_base. Put _IO_FILE data member in basic_filebuf.
5137 * bits/streambuf.tcc (sputbackc): Remove ctor anti-def, Tweak.
5138 * bits/std_fstream.h: Add comment for implementation.
5139 * src/streambuf.cc: Remove.
5140 * src/Makefile.in: Remove streambuf.lo.
5141 * src/misc-inst.cc: Tweak.
5143 1998-12-02 Benjamin Kosnik <bkoz@cygnus.com>
5145 * bits/std_sstream.h: Add const_cast to rdbuf returns.
5146 * testsuite/27stringstream.C: Modify.
5148 1998-11-25 Benjamin Kosnik <bkoz@haight.constant.com>
5150 * src/Makefile.in (libstdc___la_OBJECTS): Add streambuf.lo.
5151 (libstdc___la_SOURCES): Ditto.
5153 * bits/streambuf.tcc: Tweak.
5155 * src/streambuf.cc: New file, add out-of-line definitions for
5158 * src/misc-inst.cc: Remove _Streambuf_base instantiations.
5159 Comment out wchar_t versions of the buffer instantiations, for now.
5161 * bits/std_streambuf.h: Wrap libio.h include with extern "C".
5162 Remove template wrapper around _Streambuf_base.
5163 Move IO_* data members into _Streambuf_base.
5164 Move _Streambuf_base members into streambuf.tcc.
5166 * bits/c++config.h (_G_USE_LIBIO): Enable.
5168 1998-11-02 Nathan Myers <ncm@cantrip.org>
5170 * CHECKLIST: downgrade iterator implementations
5171 * DESIGN: fill out notes about unimplemented features
5173 1998-10-31 Nathan Myers <ncm@cantrip.org>
5175 * CHECKLIST: itemized list of all interfaces, and status of each.
5177 1998-10-30 Nathan Myers <ncm@cantrip.org>
5179 * RELEASE-NOTES: add notes about optional includes, linking, running
5180 * src/Makefile.am: handle header installs properly
5181 * src/Makefile.in: regenerate from new src/Makefile.am
5183 1998-10-30 Benjamin Kosnik <bkoz@loony.cygnus.com>
5185 * bits/basic_string.h: Revert npos pending ciso646.
5186 * src/Makefile.am: Revert CXX flags for now.
5187 * src/Makefile.in: Ditto.
5189 1998-10-30 Brendan Kehoe <brendan@cygnus.com>
5191 * bits/std_sstream.h: Re-order ctors to put base before member
5194 1998-10-30 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
5196 * stl/bits/std_memory.h: Fix typo.
5198 1998-10-30 Nathan Myers <ncm@cantrip.org>
5200 * src/string[A-Z]+.cc: change back to include "string.cc".
5201 * src/Makefile.am: revert filename changes. We need a different
5202 way to keep filenames in std/ from confusing Make.
5203 * bits/basic_string.h: define _S_max_size right, return it from
5204 string::max_size(); churn definition of npos again.
5205 * bits/string.tcc: fix _S_frob_size to avoid uint overflow.
5206 * bits/ios.cc: remove #ifdef on ios_base locale member initialization
5207 * BUGS: clear cruft.
5208 * C++STYLE: Touchup for release.
5209 * CHECKLIST: Touchup for release.
5211 * LICENSE.STD: Add requirement to retain copyrights and to provide
5212 the license with any copies.
5213 * README: Update for release.
5214 * TODO: Minor touchup for release.
5215 * RELEASE-NOTES: prepare for release
5217 1998-10-29 Ulrich Drepper <drepper@cygnus.com>
5219 * src/string[A-Z]+.cc: Include stdstring.cc, not string.cc.
5221 * src/Makefile.am (CXXFLAGS): Define _GNU_SOURCE.
5223 * src/Makefile.am (CXXLINK): New variable. Make sure we don't use
5224 CXX to generate the shared object.
5226 * src/Makefile.am (headers): Remove duplicated char_traits.h.
5228 1998-10-29 Brendan Kehoe <brendan@cygnus.com>
5230 * bits/basic_string.h (basic_string<>::max_size): Subtract 1, not
5231 2, from npos, solving infinite loop problems.
5233 1998-10-29 18:41 Ulrich Drepper <drepper@cygnus.com>
5235 * src/Makefile.am: Add rules to install headers.
5237 1998-10-29 Nathan Myers <ncm@cantrip.org>
5239 * bits/std_ostream.h: Remove #ifdef on operator<< for long double
5240 * bits/ostream.tcc: Remove #ifdef on operator<< for long double
5243 * shadow/bits/wrap_libio.h:
5244 * shadow/bits/wrap_unistd.h: New files.
5246 1998-10-29 Brendan Kehoe <brendan@cygnus.com>
5248 * bits/ostream.tcc (operator<<): Wrap with #ifdef
5249 _G_HAVE_LONG_DOUBLE_IO, to match bits/std_ostream.h.
5251 1998-10-29 Ulrich Drepper <drepper@cygnus.com>
5253 * src/Makefile.am: Add temporarily rules to make sure misc-inst.cc
5254 is not compiled with -fno-implicit-templates in effect.
5256 * src/Makefile.am (EXTRA_SOURCES): Add string.cc and wstring.cc here.
5257 (libstdc___la_SOURCES): Add all the string*.cc and wstring*.cc files.
5258 * src/stringADDCS.cc: Wrapper around string.cc to define individual
5260 * src/stringADDPS.cc: Likewise.
5261 * src/stringADDSC.cc: Likewise.
5262 * src/stringADDSP.cc: Likewise.
5263 * src/stringADDSS.cc: Likewise.
5264 * src/stringBIST.cc: Likewise.
5265 * src/stringBOST.cc: Likewise.
5266 * src/stringCHTR.cc: Likewise.
5267 * src/stringEQPS.cc: Likewise.
5268 * src/stringEQSP.cc: Likewise.
5269 * src/stringEQSS.cc: Likewise.
5270 * src/stringEXTRA.cc: Likewise.
5271 * src/stringGEPS.cc: Likewise.
5272 * src/stringGESP.cc: Likewise.
5273 * src/stringGESS.cc: Likewise.
5274 * src/stringGETLI.cc: Likewise.
5275 * src/stringGTPS.cc: Likewise.
5276 * src/stringGTSP.cc: Likewise.
5277 * src/stringGTSS.cc: Likewise.
5278 * src/stringINSER.cc: Likewise.
5279 * src/stringLEPS.cc: Likewise.
5280 * src/stringLESP.cc: Likewise.
5281 * src/stringLESS.cc: Likewise.
5282 * src/stringLTPS.cc: Likewise.
5283 * src/stringLTSP.cc: Likewise.
5284 * src/stringLTSS.cc: Likewise.
5285 * src/stringMAIN.cc: Likewise.
5286 * src/stringNEPS.cc: Likewise.
5287 * src/stringNESP.cc: Likewise.
5288 * src/stringNESS.cc: Likewise.
5289 * src/stringSCOPY.cc: Likewise.
5290 * src/wstringADDCS.cc: Wrapper around wstring.cc to define individual
5292 * src/wstringADDPS.cc: Likewise.
5293 * src/wstringADDSC.cc: Likewise.
5294 * src/wstringADDSP.cc: Likewise.
5295 * src/wstringADDSS.cc: Likewise.
5296 * src/wstringBIST.cc: Likewise.
5297 * src/wstringBOST.cc: Likewise.
5298 * src/wstringCHTR.cc: Likewise.
5299 * src/wstringEQPS.cc: Likewise.
5300 * src/wstringEQSP.cc: Likewise.
5301 * src/wstringEQSS.cc: Likewise.
5302 * src/wstringEXTRA.cc: Likewise.
5303 * src/wstringGEPS.cc: Likewise.
5304 * src/wstringGESP.cc: Likewise.
5305 * src/wstringGESS.cc: Likewise.
5306 * src/wstringGETLI.cc: Likewise.
5307 * src/wstringGTPS.cc: Likewise.
5308 * src/wstringGTSP.cc: Likewise.
5309 * src/wstringGTSS.cc: Likewise.
5310 * src/wstringINSER.cc: Likewise.
5311 * src/wstringLEPS.cc: Likewise.
5312 * src/wstringLESP.cc: Likewise.
5313 * src/wstringLESS.cc: Likewise.
5314 * src/wstringLTPS.cc: Likewise.
5315 * src/wstringLTSP.cc: Likewise.
5316 * src/wstringLTSS.cc: Likewise.
5317 * src/wstringMAIN.cc: Likewise.
5318 * src/wstringNEPS.cc: Likewise.
5319 * src/wstringNESP.cc: Likewise.
5320 * src/wstringNESS.cc: Likewise.
5321 * src/wstringSCOPY.cc: Likewise.
5322 * src/string.cc: Remove now unneeded #defines now.
5324 1998-10-29 Nathan Myers <ncm@cantrip.org>
5326 * bits/locfacets.tcc: Define num_put::put(... const void*), improve
5328 * bits/ostream.tcc: Delete cruft, rewrite various op<< as members,
5329 add definitions for double, long double, const void*.
5330 * bits/std_ostream.h: Move op<<'s back into class ostream,
5331 define some in-line.
5332 * bits/string.tcc: fix unnecessary-copying bug in op[], typos in
5333 string construction from input iterators that Brendan reported.
5336 1998-10-28 Brendan Kehoe <brendan@cygnus.com>
5338 * stl/bits/stl_pair.h (op!=, op>, p<=, op>=): Add missing definitions.
5340 * bits/valarray_meta.h (class _Constant): Move declaration to the
5341 top, so the rest of the file can grok it.
5342 (_ApplyBinaryFunction::operator[]): Add missing parenthesis.
5344 * bits/std_sstream.h (basic_ostringstream::str): Fix typo of extra
5346 (basic_stringstream::str, both instances): Likewise.
5348 1998-10-28 Nathan Myers <ncm@cantrip.org>
5350 * bits/locfacets.h: fix num_put<>::falsename()
5351 * bits/locfacets.tcc: fix _Format_cache<>::_M_populate bool name init
5352 * testsuite/27/27octfmt.C, testsuite/27/27octfmt.C: new tests
5353 * bits/locfacets.tcc: touch up _S_group_digits.
5354 * src/misc-inst.cc: adjust _S_group_digits insts to match.
5356 1998-10-27 Nathan Myers <ncm@cantrip.org>
5358 * stl/bits/stl_config.h: Turn off long long support, for now.
5359 * src/locale-inst.cc: Instantiate num_put<> only for
5360 ostreambuf_iterator, num_get only for istreambuf_iterator.
5361 * src/misc-inst.cc: Delete duplicate locale-related instantiations,
5362 add lots of new instantiations for num_put support function templates;
5363 remove junk about __match_parallel for ostreambuf_iterator.
5365 1998-10-27 Nathan Myers <ncm@cantrip.org>
5367 * bits/locfacets.tcc: Make num_put's digit grouping work.
5368 * bits/string.tcc: More uglification.
5369 * src/ios.cc: initialize format cache right
5371 1998-10-26 Nathan Myers <ncm@cantrip.org>
5373 * bits/basic_string.h: Uglify more names.
5374 * bits/fstream.tcc: Rewrite some filebut output handling.
5375 * bits/ios_base.h: Cosmetic.
5376 * bits/locfacets.h: Changes to _Format_cache for support of num_put.
5377 Also, specialize its default ctor for optimal default case.
5378 #ifdef out "long long" prototypes for now.
5379 * bits/locfacets.tcc: Do complete, optimized num_put<>::do_put
5380 implementation for integer types. (Still needs optimized
5381 std::copy() applied to ostreambuf_iterator to be optimal.)
5382 * bits/ostream.tcc: Write operator<< for long, bool types.
5383 Make other operators<< non-members, per spec. (Many still
5384 not implemented.) Identify those that fail to create a sentry.
5385 * bits/sbuf_iter: Cosmetic.
5386 * bits/std_fstream.h: Add some filebuf members.
5387 * bits/std_locale.h: Include <limits> for use in bits/locfacets.h
5388 * bits/std_ostream.h: Make member operators<< global, per spec.
5389 (Should do the same in std_istream.h.)
5390 * bits/std_string.h: Include <limits> for use in bits/locfacets.h
5391 * bits/string.tcc: Uglify names
5392 * shadow/bits/std_cstdlib.h: Optimize std::div and std::ldiv.
5393 * src/ios.cc: Specialize _Format_cache<> for char and wchar_t,
5394 for optimal default behavior.
5396 1998-10-26 Benjamin Kosnik <bkoz@loony.cygnus.com>
5398 * src/Makefile.in (libstdc___la_SOURCES): Add misc-inst.cc again.
5400 1998-10-21 Nathan Myers <ncm@cantrip.org>
5402 * src/locale.cc: make ctype operations actually work for glibc
5403 * CHECKLIST: add a comprehensive (i.e. huge) implementation
5404 checklist of stdlib facilities. Not filled in yet.
5406 1998-10-20 Nathan Myers <ncm@cantrip.org>
5408 * bits/string.tcc: fix patching NULs on string ends.
5410 1998-10-19 Nathan Myers <ncm@cantrip.org>
5412 * bits/std_iosfwd.h: eliminate "basic_" prefix on streambuf
5413 iterator forward declarations
5414 * bits/sbuf_iter.h: eliminate default template argument definitions
5415 on streambuf iterators (rely on <iosfwd> decls).
5416 * TODO: add note about lazy facet construction
5417 * bits/basic_ios.h: hit operator void* again. This should be the
5418 last time we need to touch it.
5419 * bits/basic_ios.h: copyfmt now returns *this.
5420 * bits/basic_string.h: fix npos again. npos cannot be defined as zero.
5421 * bits/basic_string.h: put back overloaded constructors; adjust
5422 behavior for default allocator on copy constructor.
5423 * bits/char_traits.h: make not_eof return correct type.
5424 * bits/loccore.h: remove call to bits/std_stdexcept.h; subincludes
5425 cannot be in non-standard headers or we get include loops (bad)
5426 * bits/loccore.h: delete ifdef'd out workarounds for old compiler bugs.
5427 * bits/loccore.h: add apparatus to support lazy construction of
5429 * bits/locfacets.tcc: Uglify names in __match_parallel decl.
5430 * bits/std_ios.h: add include of <typeinfo> to get bad_cast for
5431 locale use_facet<> failure.
5432 * bits/std_locale.h: same.
5433 * bits/std_string.h: same.
5434 * bits/std_stdexcept.h: change exception member __msg from a
5435 reference to a regular object.
5436 * bits/string.tcc: add pasting a NUL on the end of strings after
5437 each operation. We had already left room for it, but previously
5438 plugged it only on a call to c_str(), but the WG changed the
5439 requirement when I wasn't looking. (Can't leave them alone for
5440 a second without they break something else.)
5441 * bits/valarray_meta.h: add Gaby's changes from 981018.
5442 * src/locale.cc: add new type _Bad_use_facet to be thrown on
5443 failure of use_facet<>().
5444 * src/stdexcept.cc: remove pragma, remove bkoz's #if 0,
5445 comment out leftover member definitions
5447 1998-10-16 Ulrich Drepper <drepper@cygnus.com>
5449 * string/Makefile.am: Revert last change.
5450 * math/Makefile.am: Likewise.
5452 1998-10-15 Benjamin Kosnik <bkoz@haight.constant.com>
5454 * bits/std_sstream.h: Fix typo.
5456 1998-10-15 Benjamin Kosnik <bkoz@haight.constant.com>
5458 * src/Makefile.am (libstdc___la_SOURCES): Add misc-inst.cc.
5460 * bits/std_sstream.h: Add typedefs, member definitions. Clean.
5461 * bits/std_stdexcept.h: Remove.
5463 1998-10-15 Benjamin Kosnik <bkoz@haight.constant.com>
5465 * src/misc-inst.cc: Tweak again.
5467 * bits/std_sstream.h: Move out-of-line definitions to sstream.tcc.
5468 * bits/sstream.tcc: New file.
5470 1998-10-15 Ulrich Drepper <drepper@cygnus.com>
5472 * configure.in: Test for machine/param.h, sys/machine.h and fp.h.
5473 Don't run AC_C_BIGENDIAN if machine/param.h or sys/machine.h are
5476 * math/mathconf.h: Include sys/machine.h, machine/param.h and fp.h
5478 (INFINITE_P): Use IS_INF macro if available.
5480 1998-10-15 Ulrich Drepper <drepper@cygnus.com>
5482 * math/Makefile.am (EXTRA_LTLIBRARIES): Renamed from
5484 * string/Makefile.am: Likewise.
5486 1998-10-15 Ulrich Drepper <drepper@cygnus.com>
5488 * configure.in (AC_CHECK_FUNCS): Add finite, qfinite, fpclass, and
5490 (AC_CHECK_HEADERS): Add machine/endian.h. If no header specifying
5491 endianess is available run AC_C_BIGENDIAN.
5493 * math/clog10l.c: Add ugly hack around bug in Irix 6.2 header until
5494 fixincludes is fixed.
5495 * math/clogl.c: Likewise.
5496 * math/csqrtl.c: Likewise.
5497 * math/mycabsl.c: Likewise.
5499 * math/mathconf.h: Include machine/endian.h if possible. If no
5500 header describing endianess is available rely on WORDS_BIGENDIAN
5502 (FINITE_P, FINITEF_P, FINITEL_P): Use finite functino if available.
5503 (INFINITE_P, INFINITEF_P, INFINITEL_P): Use fpclass function if
5506 * src/complex.cc (polar): Don't use sincos on OSF machines.
5508 1998-10-09 Benjamin Kosnik <bkoz@loony.cygnus.com>
5510 * src/locale-inst.cc: Don't instantiate time_get for
5511 ostreambuf_iterators as time_get::do_get_weekday and
5512 time_get::do_get_monthname use __match_parallel, which is illegal
5513 for ostreambuf_iterators to use, as they don't have operator== or
5515 * bits/std_stdexcept.h: Add dtor definitions.
5516 Use stl/bits/std_stdexcept.h instead of this file?
5517 * bits/sbuf_iter.h : Tweak.
5518 * src/misc-inst.cc: Tweak.
5520 1998-10-09 Benjamin Kosnik <bkoz@haight.constant.com>
5522 * bits/std_stdexcept.h: New file.
5523 * src/stdexcept.cc: Define the following:
5525 runtime_error::what()
5527 * src/misc-inst.cc: New file.
5528 * src/Makefile.in (libstdc___la_SOURCES): Add misc-inst.cc.
5529 (libstdc___la_OBJECTS): Add misc-inst.lo.
5531 * bits/basic_string.h: Disable non-standard ctor declarations.
5532 * bits/string.tcc: Disable definitions as well.
5533 * src/string.cc: Disable <ios> dependancies.
5534 * bits/sbuf_iter.h (std): Add default to template parameter for
5535 ostreambuf_iterator and istreambuf_iterator.
5536 * bits/std_iosfwd.h: Change istreambuf_iterator to
5537 basic_istreambuf_iterator. Likewise for ostreambuf.
5538 * bits/locfacets.tcc (__match_parallel): Fix typo.
5539 * src/ios.cc (imbue): Remove the _G_HAVE_LOCALE guards around
5541 * bits/std_streambuf.h: Define _Streambuf_base::getloc().
5542 * bits/std_istream.h: Define the following:
5543 get (basic_streambuf<char_type,_Traits>& __sb, char_type __delim)
5544 get (char_type* __s, streamsize __n, char_type __delim);
5545 getline (char_type* __s, streamsize __n, char_type __delim)
5546 * bits/loccore.h : FIXME friend template code for use_facet.
5547 Add std_stdexcept.h include so that range_error will be defined.
5548 Add explicit conversion to string for range_error throws. (HACK?)
5550 1998-10-8 Ulrich Drepper <drepepr@cygnus.com>
5552 * configure.in: Check for sincos, sincosf, and sincosl.
5553 * src/complex.cc (polar): Use sincos if available.
5555 * bits/c++config.h: Fix hack to get LONG_LONG* definitions on Linux.
5556 * stl/bits/std_limits.h: Include bits/c++config.h. HACK!!!
5558 * math/clog10.c: Fix typo (FP_INIFITE_P -> INFINITE_P).
5560 * math/cpow.c: Use c_log, not clog.
5561 * math/cpowf.c: Likewise.
5562 * math/cpowl.c: Likewise.
5564 * math/cexp.c: Remove unused fpclassify calls. Use FINITE_P instead
5567 * math/mathconf.h (FINITE_P, FINITEF_P, FINITEL_P): Define using
5568 isfinite macro if it is available.
5569 (INFINITE_P, INFINITEF_P, INFINITEL_P): Define using isinf macro.
5571 * math/ccosf.c: Use appropriate test macros for this type.
5572 * math/ccoshf.c: Likewise.
5573 * math/ccoshl.c: Likewise.
5574 * math/ccosl.c: Likewise.
5575 * math/cexpf.c: Likewise.
5576 * math/cexpl.c: Likewise.
5577 * math/clog10f.c: Likewise.
5578 * math/clog10l.c: Likewise.
5579 * math/clogf.c: Likewise.
5580 * math/clogl.c: Likewise.
5581 * math/csinf.c: Likewise.
5582 * math/csinhf.c: Likewise.
5583 * math/csinhl.c: Likewise.
5584 * math/csinl.c: Likewise.
5585 * math/csqrtf.c: Likewise.
5586 * math/csqrtl.c: Likewise.
5587 * math/ctanf.c: Likewise.
5588 * math/ctanhf.c: Likewise.
5589 * math/ctanhl.c: Likewise.
5590 * math/ctanl.c: Likewise.
5592 1998-10-06 Benjamin Kosnik <bkoz@bliss.nabi.net>
5594 * bits/basic_ios.h: Fix previous change.
5596 1998-10-06 Benjamin Kosnik <bkoz@bliss.nabi.net>
5598 * bits/basic_ios.h: Add const_cast<basic_ios&>
5599 (operator void*): As per 5.2.9 p 2, make sure static_cast is
5601 * bits/char_traits.h: No _CharT for specialization, change to 0.
5602 * bits/basic_string.h: As per 9.4.2 p4, initialize with
5603 constant-initializer.
5604 * bits/locfacets.tcc: Add template parameter to initialization list.
5606 1998-10-02 Benjamin Kosnik <bkoz@loony.cygnus.com>
5608 * bits/basic_string.h: Should just be <, not <=.
5610 1998-10-01 Benjamin Kosnik <bkoz@bliss.nabi.net>
5612 * bits/string.tcc (compare): Fix for strings that are similar, but
5613 not the same length.
5615 1998-09-04 Brendan Kehoe <brendan@cygnus.com>
5617 * bits/c++config.h: For __linux__, define _GNU_SOURCE. This is
5618 required for us to get LONG_LONG_{MIN,MAX} out of gcc's limits.h.
5619 We can't check for __GLIBC__ here, since this header can be read
5620 before any system one (that would lead to features.h) being used.
5622 * stl/bits/stl_config.h (__STL_LONG_LONG): Re-enabled
5624 * stl/bits/std_limits.h [__STL_LONG_LONG]: Fix usage to use
5625 LONG_LONG_MIN, LONG_LONG_MAX, and ULONG_LONG_MAX.
5627 * stl/bits/stl_config.h: Don't do __STL_LONG_LONG, it uses
5628 LONGLONG_{MIN,MAX} which I can't find the origin of.
5630 1998-09-03 Brendan Kehoe <brendan@cygnus.com>
5632 * stl/bits/stl_iterator.h: Add extern decl of cin for now; where
5633 should this come from, if not iostream.h?
5634 (class istream_iterator): Make the new operator!= a friend also.
5636 * stl/bits/stl_config.h: Define __STL_HAS_WCHAR_T,
5637 __STL_MEMBER_TEMPLATE_CLASSES, and __STL_LONG_LONG. Don't include
5638 _G_config.h like the egcs one does.
5640 1998-09-01 Brendan Kehoe <brendan@cygnus.com>
5642 * bits/string.tcc: Call `_M_destroy' instead of `destroy'.
5644 * bits/valarray_meta.h: Throughout, rename _Expr typedefs to be
5645 _Expr1 (or _Expr_def if it's taken), and change definitions.
5646 Avoids redecl of the template parm.
5648 * bits/string.tcc (basic_string copy ctor): Fix typo in declaration.
5649 (operator>>): Initialize __ERROR with ios_base::goodbit, not 0.
5651 * bits/std_streambuf.h (_POSIX_SOURCE): Only define if it's not
5654 * src/locale-inst.cc: New file, **TOTAL HACK**. There has GOT to
5655 be a better way to do this.
5657 * src/stlinst.cc: New file.
5659 * BUGS: New file, with various discovered bugs that need to be
5662 * Makefile.in, math/Makefile.in, string/Makefile.in,
5663 src/Makefile.in: Reran automake.
5665 Workarounds, these may not all be the final fixes:
5667 * bits/basic_ios.h (class basic_ios): Make _M_strbuf be protected,
5668 not private, for basic_istream::get() in std_istream.h to be able
5670 (basic_ios::operator void*): Don't use static_cast for the false
5672 (basic_ios::copyfmt): Fix `rhs.except' to be `rhs.exceptions ()'.
5673 This appears to have been in sep94, but didn't get corrected
5676 * bits/basic_string.h (npos): Don't init here.
5677 * bits/string.tcc: Instead, do initialization here, to -1 instead
5678 of the size_type destructor.
5680 * src/traits.cc, src/wtraits.cc: New files.
5681 * bits/char_traits.h: For char_traits<char> and
5682 char_traits<wchar_t>, declare static, but define over in the src
5685 * bits/gslice.h: Comment out forward decls of _Array, valarray,
5686 gslice_array, and _GsliceExpression.
5688 * bits/std_cstdio.h [__sparc__ && __svr4__]: #undef all of
5689 clearerr, feof, ferror, getc, getchar, putc, putchar, stdin,
5690 stdout, and stderr. Note we do get unresolved refs to stdin, but
5691 that'll get fixed by the "true" solution.
5693 * bits/std_ios.h: Include <bits/std_streambuf.h> to get the
5694 definition of basic_streambuf.h, which is used in basic_ios.h to
5697 * bits/std_streambuf.h: Don't include libio.h for now.
5698 (class basic_streambuf): Define missing methods pubimbue and
5701 * src/Makefile.am (libstdc___la_SOURCES): Add stdexcept.cc,
5702 ios.cc, os_raw.cc, stdstreams.cc, locale.cc, localename.cc,
5703 locale-inst.cc, stlinst.cc, traits.cc, wtraits.cc.
5705 * src/ios.cc: Instantiate basic_ios<char> and basic_ios<wchar_t>.
5707 * src/locale.cc: Come up with munged versions of _S_toupper,
5708 _S_tolower, and _S_table instead of the glibc-specific ones, so
5709 they're at least defined, if not necessarily usable. The glibc
5710 ones on any other system will yield unresolved refs to
5711 __ctype_{b,toupper,tolower}.
5713 * src/string.cc: Define all of ADDCS, ADDPS, et al. Add
5714 basic_ios, basic_istream, basic_ostream. Don't do char_traits
5715 anymore cuz of the explicit specialization in char_traits.h.
5716 Also add _S_string_copy, but this doesn't fix it -- cf the BUGS
5717 file for the details.
5719 * stl/bits/stl_algobase.h (equal): Fix to do `! (x==y)'.
5720 * stl/bits/stl_iterator.h (__distance): Likewise.
5722 * stl/bits/stl_iterator.h: As with 8/18 set, define missing op!=,
5723 op>, op<=, and op>= for reverse_iterator. Also add op!= for
5726 1998-08-26 Brendan Kehoe <brendan@cygnus.com>
5728 * bits/string.tcc (basic_string::compare (const char*)): Fix to
5731 1998-08-25 Brendan Kehoe <brendan@cygnus.com>
5733 This should really be fixed with __asm__ directives renaming the
5734 symbol, but keeping the function.
5735 * math/clogf.c (c_logf): Renamed from `clogf'.
5736 * math/clogl.c (c_logl): Renamed from `clogl'.
5737 * math/complex-stub.h (c_logf, c_logl): Change decls.
5739 * bits/locfacets.h (class _Numeric_get): For friend decls, rename
5740 _CharT and _InIter parms, since they duplicate the enclosing ones.
5742 1998-08-19 Brendan Kehoe <brendan@cygnus.com>
5744 Deal with conflict of the iostreams `clog' and our internal
5745 complex number `clog'.
5746 * src/complex.cc: Call `c_log' instead of `clog'.
5747 * math/clog.c (c_log):: Renamed from clog.
5748 * math/complex-stub.h (c_log): Renamed from clog decl.
5750 * bits/locfacets.h (class _Numeric_get): Tweak fwd decls of the
5752 (num_put::put): #if 0 long long version, since we don't declare or
5753 define the long long version of do_put.
5755 1998-08-18 Nathan Myers <ncm@cantrip.org>
5757 * bits/basic_string.h: add basic_string<>::push_back(), fix return
5758 type of get_allocator (thanks to Ryszard Kabatek).
5759 * bits/char_traits.h: make init order of fpos<> members
5761 * bits/ios_base.h: fix decls of ios_base bitmask & enum types, add
5762 flags _S_fd_in etc. for special filebuf ctor.
5763 * bits/locfacets.h: make _Numeric_get and _Format_cache public
5764 to work around problems in friend declarations.
5765 * bits/locfacets.tcc: qualify _S_get_cache in num_get<>::get(..bool&),
5766 fix random type errors & typos
5767 * bits/std_fstream.h: major refitting to bypass libio (for now),
5768 instrument to use bits/fstream.tcc template definitions
5769 * bits/std_iosfwd.h: mess with wrappers
5770 * bits/std_istream.h: remove meaningless comment
5771 * bits/std_ostream.h: instrument to work with ostream.tcc.
5772 * bits/std_streambuf.h: instrument to work with streambuf.tcc
5773 * bits/fstream.tcc: template defs for <fstream>
5774 * bits/ostream.tcc: template defs for <ostream>
5775 * bits/streambuf.tcc: template defs for <streambuf>
5776 * bits/os_raw.h: thin OS interface wrapper, to bypass libio (for now).
5777 * Delete .cc files, replace with bits/*.tcc
5783 src/os_raw.cc: thin interface to OS, to bypass libio (for now).
5784 src/stdstreams.cc: cout, cin, etc. definitions
5785 (these still need work: must be init'd before user statics.)
5788 1998-08-18 Brendan Kehoe <brendan@cygnus.com>
5790 Sent to SGI before checkin:
5791 * stl/bits/stl_vector.h (operator!=, operator>, operator<=,
5792 operator>=): Define.
5793 * stl/bits/stl_bvector.h (vector<bool>::flip): Define method.
5794 * stl/bits/stl_deque.h (operator!=, operator>, operator<=,
5795 operator>=): Define.
5796 (operator==, operator<): Add inline.
5797 * stl/bits/stl_map.h (operator!=, operator<, operator<=,
5798 operator>=): Define.
5799 * stl/bits/stl_multimap.h (operator!=, operator<, operator<=,
5800 operator>=): Define.
5801 * stl/bits/stl_list.h (operator!=, operator<, operator<=,
5802 operator>=): Define.
5803 * stl/bits/stl_set.h (operator!=, operator<, operator<=,
5804 operator>=): Define.
5805 * stl/bits/stl_multiset.h (operator!=, operator<, operator<=,
5806 operator>=): Define.
5808 * bits/std_valarray.h (_Shift_left, _Shift_right): Inherit from
5811 1998-08-15 Nathan Myers <ncm@cantrip.org>
5813 * bits/ios_base.h: change nominal bitmask and enum types to real enums
5814 * bits/locfacets.h: make _Format_cache bool names usable by num_get
5815 * bits/locfacets.tcc: make num_get<>::get(... bool&) use _Format_cache
5816 * bits/std_fstream.h: minor cleanups: ctors delegate to open()
5817 * bits/std_iosfwd.h: more bitmask changes, for ios_base::iostate
5818 * bits/std_sstream.h: formatting cleanups
5820 1998-08-14 Nathan Myers <ncm@cantrip.org>
5822 * bits/locfacets.tcc: implement num_get<>::do_get(..., bool&)
5823 * bits/locfacets.tcc: implement time_get<>::do_get_weekday
5824 * bits/locfacets.tcc: implement time_get<>::do_get_monthname
5825 * bits/locfacets.h: fix missing argument in do_get_monthname
5826 (this is a bug in the standard, ref. 36 in my list.)
5827 * bits/locfacets.h: make month and day name caches mutable
5828 * bits/locfacets.tcc: various typos in get() functions
5829 * bits/sbuf_iter.h: fix omission in istreambuf_iterator::op++().
5830 * bits/std_streambuf.h: fix typo in sgetn (Brendan)
5832 1998-08-12 Nathan Myers <ncm@cantrip.org>
5833 * move streambuf iterators to bits/sbuf_iter.h
5834 * optimize streambuf iterators
5835 * begin generalizing streambuf
5836 * begin implementing num_get<>::get (starting with bool)
5837 * patch stl/bits/stl_config.h so that relops operators are
5838 contained properly, out of the way.
5840 1998-07-24 Nathan Myers <ncm@cantrip.org>
5841 * Fold in SGI 3.11 changes (uglified names, some algorithm
5842 improvements, very minor bug fixes.)
5843 * Uglify names elsewhere to match (s/_T/_Tp/).
5844 * Begin work on optimized streambuf
5845 * Put complex.cc in namespace std:: (thanks Martin)
5847 1998-07-17 Nathan Myers <ncm@cantrip.org>
5849 * bits/char_traits.h: add _Char_traits_match template.
5850 * bits/string.tcc: fix bugs in various find_last* members.
5851 * bits/basic_string.h: redeclare member _S_find.
5852 * stl/bits/stl_iterator.h: change member names in nonstandard
5853 templates bidirectional_reverse_iterator and
5854 random_access_reverse_iterator to match expected changes
5856 * src/string.cc: fix definitions of stream operators.
5858 1998-07-14 16:06 Ulrich Drepper <drepper@cygnus.com>
5860 * Makefile.am (SUBDIRS): Add string.
5862 * configure.in: Test for long double functions separately. Test for
5863 ISO C 89 float functions. Test for endian.h and sys/isa_defs.h.
5864 Generate string/Makefile.
5866 * bits/c++config.h: Define mbstate_t for Solaris.
5868 * bits/char_traits.h: Remove unused #if.
5870 * bits/std_cwchar.h: Declare wide char string functions.
5872 * m4/stringfcts.m4: New file.
5874 * math/complex-stub.h: Declare nan.
5875 * math/nan.c: New file.
5877 * math/mathconf.h: Hack around missing endian.h file.
5878 Handle missing NAN definition.
5879 Handle missing float math functions.
5881 * src/Makefile.am (libstdc___la_LIBADD): Add libstring.la.
5882 (libstdc___la_LDFLAGS): Set version information.
5884 * src/complexl.cc: Don't compile any code if no long double functions
5887 * string/Makefile.am: New file.
5888 * string/dummy.c: New file.
5889 * string/wmemchr.c: New file.
5890 * string/wmemcmp.c: New file.
5891 * string/wmemcpy.c: New file.
5892 * string/wmemmove.c: New file.
5893 * string/wmemset.c: New file.
5895 1998-07-14 10:45 Ulrich Drepper <drepper@cygnus.com>
5897 * configure.in: Make it work.
5898 * install-sh: New file.
5899 * missing: New file.
5900 * mkinstalldirs: New file.
5901 * m4/mathfcts.m4: New file.
5902 * math/Makefile.am: New file.
5904 * bits/std_complex.h (conj): Mark specializations as inline.
5906 * math/carg.c: New file.
5907 * math/cargf.c: New file.
5908 * math/cargl.c: New file.
5909 * math/mycabs.c: New file.
5910 * math/mycabsf.c: New file.
5911 * math/mycabsl.c: New file.
5912 * math/signbit.c: New file.
5913 * math/signbitf.c: New file.
5914 * math/signbitl.c: New file.
5916 * math/ccos.c: Avoid ISO C 9x functionality.
5917 * math/ccosf.c: Likewise.
5918 * math/ccosh.c: Likewise.
5919 * math/ccoshf.c: Likewise.
5920 * math/ccoshl.c: Likewise.
5921 * math/ccosl.c: Likewise.
5922 * math/cexp.c: Likewise.
5923 * math/cexpf.c: Likewise.
5924 * math/cexpl.c: Likewise.
5925 * math/clog.c: Likewise.
5926 * math/clog10.c: Likewise.
5927 * math/clog10f.c: Likewise.
5928 * math/clog10l.c: Likewise.
5929 * math/clogf.c: Likewise.
5930 * math/clogl.c: Likewise.
5931 * math/cpow.c: Likewise.
5932 * math/cpowf.c: Likewise.
5933 * math/cpowl.c: Likewise.
5934 * math/csin.c: Likewise.
5935 * math/csinf.c: Likewise.
5936 * math/csinh.c: Likewise.
5937 * math/csinhf.c: Likewise.
5938 * math/csinhl.c: Likewise.
5939 * math/csinl.c: Likewise.
5940 * math/csqrt.c: Likewise.
5941 * math/csqrtf.c: Likewise.
5942 * math/csqrtl.c: Likewise.
5943 * math/ctan.c: Likewise.
5944 * math/ctanf.c: Likewise.
5945 * math/ctanh.c: Likewise.
5946 * math/ctanhf.c: Likewise.
5947 * math/ctanhl.c: Likewise.
5948 * math/ctanl.c: Likewise.
5950 * math/complex-stub.h: New file.
5952 * math/mathconf.h: New file.
5954 * src/Makefile.am: New file.
5956 * src/complex.cc: Use mathconf.h instead of complex.h.
5957 Don't use cabs, always use __mycabs.
5959 1998-02-13 Brendan Kehoe <brendan@cygnus.com>
5961 * iterator (class reverse_iterator): Do some tweaks to be in sync