1 2004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
3 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
4 * testsuite/demangle/abi_examples/02.cc: Likewise.
5 * testsuite/demangle/regression/cw-11.cc: Likewise.
6 * testsuite/demangle/regression/cw-16.cc: Change two expected
7 results to match libiberty demangler output.
9 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
12 * libsupc++/Makefile.am: Use libiberty demangler.
13 (c_sources): Add cp-demangle.c.
14 * libsupc++/Makefile.in: Regenerate.
15 * src/Makefile.am (sources): Remove demangle.cc.
16 * src/Makefile.in: Regenerate.
17 * include/Makefile.am (bits_headers): Move demangle.h.
18 (ext_headers): ...here.
19 * include/Makefile.in: Regenerate.
20 * include/bits/demangle.h: Move...
21 * include/ext/demangle.h: ...here.
22 * src/demangle.cc: Remove.
24 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
26 * include/bits/demangle.h: Add type template parameter to all
27 templates with just an Allocator template parameter.
29 2004-02-25 Benjamin Kosnik <bkoz@redhat.com>
31 * include/bits/atomicity.h: New, forward declarations for __atomic_add
32 and __exchange_and_add.
33 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
34 * config/cpu/cris/atomic_word.h: Same.
35 * config/cpu/sparc/atomic_word.h: Same.
36 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
37 Qualifiy with __gnu_cxx.
38 (_Callback_list::_M_add_reference): Same.
39 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
40 (locale::facet::_M_remove_reference): Same.
41 (locale::_Impl::_M_add_reference): Add.
42 (locale::_Impl::_M_remove_reference): Same.
43 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
44 (basic_string::_Rep::_M_dispose): Same.
45 * src/ios.cc (ios_base::xalloc): Same.
46 * src/ios_init.cc (ios_base::Init::Init): Same.
47 (ios_base::Init::~Init): Same.
48 * src/locale.cc (locale::id::_M_id): Same.
49 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
50 static, and inline keyworks.
51 * config/cpu/alpha/atomicity.h: Same.
52 * config/cpu/cris/atomicity.h: Same.
53 * config/cpu/generic/atomicity.h: Same.
54 * config/cpu/hppa/atomicity.h: Same.
55 * config/cpu/i386/atomicity.h: Same.
56 * config/cpu/ia64/atomicity.h: Same.
57 * config/cpu/m68k/atomicity.h: Same.
58 * config/cpu/mips/atomicity.h: Same.
59 * config/cpu/powerpc/atomicity.h: Same.
60 * config/cpu/s390/atomicity.h: Same.
61 * config/cpu/sparc/atomicity.h: Same.
63 * src/Makefile.am (host_sources): Add atomicity.cc.
64 (atomicity.cc): New rule.
65 * src/Makefile.in: Regenerate.
66 * include/Makefile.am (host_headers): Remove host atomicity.h.
67 (host_headers): Add atomic_word.h.
68 (bits_headers): Add bits atomicity.h.
69 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
70 * include/Makefile.in: Regenerate.
71 * configure.host (atomic_word_dir): Add.
72 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
73 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
74 * configure: Regenerate.
75 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
77 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
78 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
80 2004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
82 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
83 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
84 Fix markup, more <link> tags.
86 2004-02-25 Carlo Wood <carlo@alinoe.com>
89 namespace __gnu_cxx::demangler
90 (session<Allocator>::qualifier_list_Allocator): Add
91 (session<Allocator>::M_qualifier_list_alloc): Add
92 (session<Allocator>::decode_type_with_postfix):
93 Use M_qualifier_list_alloc instead of calling operator new/delete.
95 2004-02-24 Paolo Carlini <pcarlini@suse.de>
98 * include/bits/postypes.h (class streamoff): Add operator++(),
99 operator++(int), operator--() and operator--(int).
100 * testsuite/27_io/fpos/14252.cc: New.
102 2004-02-24 Richard Sandiford <rsandifo@redhat.com>
104 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
105 error in handling of hex constants.
107 2004-02-24 Paolo Carlini <pcarlini@suse.de>
109 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
110 Prefer basic_string::append to operator+= and a temporary.
112 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
114 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
115 Only use fputs, not write.
117 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
119 * include/ext/malloc_allocator.h: Add operators ==, !=.
120 * include/ext/new_allocator.h: Add operators ==, !=.
121 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
122 (__mt_alloc::_S_get_options): New.
123 (__mt_alloc::_S_set_options): New.
124 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
125 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
126 Move functions out of line, simplify, format.
127 * src/allocator.cc: Simplify explicit instantiations.
128 * include/bits/allocator.h: Tweak.
130 2004-02-22 Paolo Carlini <pcarlini@suse.de>
132 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
133 Restructure formatting of value component, first dealing with
134 the non-decimal digits; use reserve.
136 2004-02-22 Paolo Carlini <pcarlini@suse.de>
138 * include/bits/locale_facets.h (class money_get): Inherit
139 from money_base too; tweak declaration of _M_extract, now
140 parameterized on _Intl too.
141 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
142 Update definition to use the cache; call reserve on __res to
143 avoid multiple reallocations; fix parsing of sign component
144 according to 22.2.6.1.2, p3.
145 (money_get<>::do_get(long double&),
146 money_get<>::do_get(string_type&)): Update calls of _M_extract.
147 * src/locale-inst.cc: Add instantiations of
148 money_get::_M_extract<false> and money_get::_M_extract<true>.
149 * testsuite/22_locale/money_get/get/char/14.cc: New.
150 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
152 2004-02-21 Mark Mitchell <mark@codesourcery.com>
154 * libsupc++/vterminate.cc
155 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
157 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
159 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
160 not set RLIMIT_AS on HP-UX.
162 2004-02-21 Mark Mitchell <mark@codesourcery.com>
164 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
165 not set RLIMIT_AS on HP-UX.
167 2004-02-21 Paolo Carlini <pcarlini@suse.de>
169 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
170 _S_zero, _S_end } enum, _S_atoms.
171 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
172 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
173 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
174 (__moneypunct_cache<>::~__moneypunct_cache): Update.
175 (__moneypunct_cache<>::_M_cache): Fill the cache.
176 (class moneypunct): Tweak __cache_type typedef.
177 (class money_put): Inherit from money_base too; tweak declaration
178 of _M_insert, now parameterized on _Intl.
179 * include/bits/locale_facets.tcc
180 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
181 (money_put<>::_M_insert): Update definition to use the cache;
182 call reserve on __res to avoid multiple reallocations.
183 (money_put<>::do_put(long double),
184 money_put<>::do_put(const string_type&): Update calls of _M_insert.
185 * config/locale/generic/monetary_members.cc
186 (moneypunct<char, true>::_M_initialize_moneypunct,
187 moneypunct<char, false>::_M_initialize_moneypunct,
188 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
189 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
190 * config/locale/gnu/monetary_members.cc: Likewise.
191 * config/locale/gnu/monetary_members.cc
192 (moneypunct<wchar_t, true>::~moneypunct(),
193 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
194 * src/globals_locale.cc: Tweak fake_money_cache_c.
195 * src/locale-inst.cc: Add instantiations for
196 money_put::_M_insert<false> and money_put::_M_insert<true> and
197 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
198 * src/locale_facets.cc: Define money_base::_S_atoms.
199 * src/locale_init.cc: Update placement new of
200 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
201 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
203 * config/locale/generic/numeric_members.cc: Clean up.
204 * config/locale/gnu/numeric_members.cc: Likewise.
205 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
206 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
207 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
208 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
209 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
210 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
212 2004-02-20 Mark Mitchell <mark@codesourcery.com>
214 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
215 FIFO for writing with ios_base::in|ios_base::out.
216 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
217 * testsuite/27_io/objects/char/7.cc: Likewise.
218 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
221 2004-02-19 David Edelsohn <edelsohn@gnu.org>
223 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
224 from iso-8859-1 to ISO8859-1.
225 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
226 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
227 * 22_locale/collate/hash/wchar_t/2.cc: Same.
228 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
229 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
230 * 22_locale/collate/transform/wchar_t/2.cc: Same.
231 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
232 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
234 2004-02-18 Paolo Carlini <pcarlini@suse.de>
236 * include/bits/locale_facets.h (money_get<>::_M_extract):
237 New, helper for do_get.
238 (money_put<>::_M_insert): Likewise, for do_put.
239 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
240 money_put<>::_M_insert): Define.
241 (money_get<>::do_get(long double&), money_get<>::do_get(
242 string_type&), money_put::do_put(long double),
243 money_put::do_put(const string_type&)): Use the helpers.
245 2004-02-18 Paolo Carlini <pcarlini@suse.de>
247 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
248 Rewrite, avoiding recursion.
249 (__gnu_internal::xwrite): Minor tweaks.
251 2004-02-17 Stefan Olsson <stefan@xapa.se>
253 * include/ext/mt_allocator.h: Removed the last
254 pointer. Deallocated blocks are now added to the front of
255 freelists as proposed by Felix Yen. This gives roughly 10%
256 performance boost and saves some memory.
257 * docs/html/ext/mt_allocator.html: Change due to that deallocated
258 blocks now are added to the front of freelists. The reason to this
259 approach is also explained.
261 2004-02-17 Paolo Carlini <pcarlini@suse.de>
263 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
264 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
265 grouping fidelity conditional.
267 2004-02-16 Paolo Carlini <pcarlini@suse.de>
269 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
270 Qualify exception with std::.
271 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
272 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
273 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
274 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
275 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
277 2004-02-16 Paolo Carlini <pcarlini@suse.de>
279 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
280 for now that the catch block is not reached.
281 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
283 2004-02-16 Paolo Carlini <pcarlini@suse.de>
285 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
286 Fix parsing of the remaining sign characters.
287 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
288 the input is scanned 'til eof.
289 * 22_locale/money_get/get/char/4.cc: Likewise.
290 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
291 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
292 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
293 not do_pos_format: the former is the only one that matters during
295 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
297 * 22_locale/money_get/get/char/6.cc: Minor tweak.
298 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
300 2004-02-15 David Asher <david.asher@cavium.com>
303 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
304 access __olds beyond __oldlen.
306 2004-02-14 Paolo Carlini <pcarlini@suse.de>
308 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
309 sure the exception is actually thrown.
310 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
311 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
312 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
314 2004-02-14 Paolo Carlini <pcarlini@suse.de>
317 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
318 In case of conversion errors, throw ios_failure; simplify.
319 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
320 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
321 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
322 previously we didn't throw in case of conversion errors, instead
324 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
325 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
326 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
328 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
329 Trivial simplification of a conditional.
331 2004-02-12 Paolo Carlini <pcarlini@suse.de>
333 PR libstdc++/13731 (final part: writev)
334 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
335 New, a wrapper around writev() handling partial writes.
336 (__basic_file<char>::xwrite): Move to __gnu_internal and make
338 (__basic_file<char>::xsputn): Update call.
339 (__basic_file<char>::xsputn_2): Likewise.
340 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
341 Don't declare, now static.
343 2004-02-11 Stefan Olsson <stefan@xapa.se>
345 * docs/html/ext/mt_allocator.html: New.
347 2004-02-11 Benjamin Kosnik <bkoz@redhat.com>
349 * docs/html/20_util/allocator.html: New file, consolidate
350 allocator information here. Revamp.
351 * docs/html/documentation.html: Change links.
352 * docs/html/20_util/howto.html: Same.
353 * docs/html/ext/howto.html: Same.
355 2004-02-11 Paolo Carlini <pcarlini@suse.de>
357 PR libstdc++/13731 (first part: write)
358 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
360 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
361 Define it: a wrapper around write() handling partial write.
362 (__basic_file<char>::xsputn): Use it.
363 (__basic_file<char>::xsputn_2): Likewise.
365 2004-02-11 Paolo Carlini <pcarlini@suse.de>
366 Petur Runolfsson <peturr02@ru.is>
369 * include/std/std_istream.h (operator>>(__istream_type& (*)
370 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
371 operator>>(ios_base& (*)(ios_base&))): Declare inline.
372 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
373 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
374 operator<<(ios_base& (*) (ios_base&))): Likewise.
375 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
377 2004-02-10 Loren J. Rittle <ljrittle@acm.org>
380 * config/linker-map.gnu: Add typeinfo and typeinfo name for
381 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
384 * config/linker-map.gnu: Add typeinfo and typeinfo name for
385 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
387 2004-02-09 Loren J. Rittle <ljrittle@acm.org>
389 * include/ext/pool_allocator.h: Include c++config.h.
391 2004-02-09 Stefan Olsson <stefan@xapa.se>
393 * include/ext/mt_allocator.h: thread_id is unused in non threaded
394 applications and now has a ifdef to remove it completely on
395 compilers without thread support. Include stdlib.h due to a
396 compiler warning on getenv().
398 2004-02-09 Paul Brook <paul@codesourcery.com>
400 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
402 2004-02-09 Paolo Carlini <pcarlini@suse.de>
405 * src/locale_init.cc (locale::global(const locale&)): Use
406 locale::name() in order to decide whether calling setlocale.
407 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
409 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
410 Avoid computing &= unnecessarily.
412 2004-02-09 James E Wilson <wilson@specifixinc.com>
415 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
416 __builtin_extend_pointer.
418 2004-02-09 Paolo Carlini <pcarlini@suse.de>
421 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
422 Don't leave dangling pointers.
423 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
424 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
425 facet is needed in the final test.
427 2004-02-09 Bernardo Innocenti <bernie@develer.com>
429 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
430 * configure: Regenerate.
432 2004-02-08 Richard Henderson <rth@redhat.com>
435 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
436 uncaughtExceptions during nested catch rethrow.
437 * testsuite/18_support/14026.cc: New.
439 2004-02-08 Paolo Carlini <pcarlini@suse.de>
441 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
442 When working in place remember to set the state to sharable
443 (otherwise, _M_mutate does it).
445 2004-02-08 Bernardo Innocenti <bernie@develer.com>
447 * include/bits/allocator.h, include/bits/basic_ios.h,
448 include/bits/basic_ios.tcc, include/bits/basic_string.h,
449 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
450 include/bits/char_traits.h, include/bits/codecvt.h,
451 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
452 include/bits/demangle.h, include/bits/deque.tcc,
453 include/bits/fstream.tcc, include/bits/functexcept.h,
454 include/bits/gslice.h, include/bits/gslice_array.h,
455 include/bits/indirect_array.h, include/bits/ios_base.h,
456 include/bits/istream.tcc, include/bits/list.tcc,
457 include/bits/locale_classes.h, include/bits/locale_facets.h,
458 include/bits/locale_facets.tcc, include/bits/localefwd.h,
459 include/bits/mask_array.h, include/bits/ostream.tcc,
460 include/bits/postypes.h, include/bits/slice_array.h,
461 include/bits/sstream.tcc, include/bits/stl_algo.h,
462 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
463 include/bits/stl_construct.h, include/bits/stl_deque.h,
464 include/bits/stl_function.h, include/bits/stl_heap.h,
465 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
466 include/bits/stl_list.h, include/bits/stl_map.h,
467 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
468 include/bits/stl_numeric.h, include/bits/stl_pair.h,
469 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
470 include/bits/stl_relops.h, include/bits/stl_set.h,
471 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
472 include/bits/stl_threads.h, include/bits/stl_tree.h,
473 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
474 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
475 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
476 include/bits/type_traits.h, include/bits/valarray_after.h,
477 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
478 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
481 2004-02-06 Paolo Carlini <pcarlini@suse.de>
483 * include/bits/basic_string.h: Fix comment.
485 2004-02-06 Paolo Carlini <pcarlini@suse.de>
487 * include/bits/stl_construct.h: Wrap overlong lines, reformat
488 according to the coding standards.
489 * include/bits/stl_pair.h: Likewise.
490 * include/bits/stl_raw_storage_iter.h: Likewise.
491 * include/bits/stl_stack.h: Likewise.
492 * include/bits/stl_uninitialized.h: Likewise.
493 * include/bits/stream_iterator.h: Likewise.
494 * include/bits/streambuf_iterator.h: Likewise.
495 * include/bits/type_traits.h: Likewise.
497 2004-02-06 Paolo Carlini <pcarlini@suse.de>
499 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
502 2004-02-05 Loren J. Rittle <ljrittle@acm.org>
504 * scripts/check_performance: Support PCH.
506 * scripts/check_performance (CXX): Add -DNOTHREAD.
507 * testsuite/performance/20_util/allocator/insert.cc: Integrate
508 threaded tests from insert_insert.cc. Tweak iterations,
509 remove special cases.
510 * testsuite/performance/20_util/allocator/insert_insert.cc:
511 Make all tests single-threaded. Tweak iterations.
512 * testsuite/performance/20_util/allocator/map_thread.cc:
514 * testsuite/performance/20_util/allocator/producer_consumer.cc:
517 2004-02-05 Geoffrey Keating <geoffk@apple.com>
521 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
522 'gcc-lib'. Add comment about poorly-named variables.
523 * aclocal.m4: Regenerate.
524 * configure: Regenerate.
526 2004-02-05 Paolo Carlini <pcarlini@suse.de>
528 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
529 Thousands-sep are always optional; thousands-sep are not allowed
530 after the decimal_point.
531 * testsuite/22_locale/money_get/get/char/12.cc: New.
532 * testsuite/22_locale/money_get/get/char/13.cc: New.
533 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
534 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
536 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
537 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
538 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
539 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
540 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
541 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
542 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
543 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
545 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
547 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
549 2004-02-05 Richard Sandiford <rsandifo@redhat.com>
551 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
553 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
554 it to decide whether FIONREAD should take an off_t or int argument.
556 2004-02-05 Paolo Carlini <pcarlini@suse.de>
558 * include/bits/stl_function.h: Minor formatting changes.
560 2004-02-04 Zack Weinberg <zack@codesourcery.com>
562 Revert previous change to config/abi/*/baseline_symbols.txt.
564 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
565 Zack Weinberg <zack@codesourcery.com>
567 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
569 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
570 (__basic_file<char>::_M_open_mode): Delete.
571 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
573 * testsuite/27_io/basic_filebuf/close/char/9964.cc
574 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
575 Correct flags to filebuf::open calls.
577 * config/abi/alpha-freebsd5/baseline_symbols.txt
578 * config/abi/alpha-linux-gnu/baseline_symbols.txt
579 * config/abi/hppa-linux-gnu/baseline_symbols.txt
580 * config/abi/i386-freebsd4/baseline_symbols.txt
581 * config/abi/i386-freebsd5/baseline_symbols.txt
582 * config/abi/i486-linux-gnu/baseline_symbols.txt
583 * config/abi/ia64-linux-gnu/baseline_symbols.txt
584 * config/abi/mips-linux-gnu/baseline_symbols.txt
585 * config/abi/sparc-freebsd5/baseline_symbols.txt
586 * config/abi/sparc-linux-gnu/baseline_symbols.txt
587 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
588 Remove entry for __basic_file<char>::_M_open_mode.
590 2004-02-04 Loren J. Rittle <ljrittle@acm.org>
592 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
594 2004-02-04 Felix Yen <fwy@alumni.brown.edu>
596 * testsuite/performance/20_util/producer_consumer.cc: New.
597 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
599 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
601 * testsuite/performance/20_util/allocator.cc: Move to..
602 * testsuite/performance/20_util/allocator/insert.cc: ...here.
603 * testsuite/performance/20_util/allocator_thread.cc: Move to...
604 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
605 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
606 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
608 2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
610 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
611 * docs/html/faq/index.txt: Regenerate.
613 2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
615 * include/ext/debug_allocator.h: _M_extra now stands for the
616 number of extra objects instead of the number of extra bytes.
617 (debug_allocator::allocate): Adjust.
618 (debug_allocator::deallocate): Adjust.
620 * include/ext/pool_allocator.h: Fix typo.
622 2004-02-03 Felix Yen <fwy@alumni.brown.edu>
623 Benjamin Kosnik <bkoz@redhat.com>
625 * testsuite/performance/20_util/allocator.cc: Add map,
627 * testsuite/performance/20_util/allocator_thread.cc: Same.
629 2004-02-03 Paolo Carlini <pcarlini@suse.de>
631 * include/bits/basic_string.h (insert(iterator)): Remove,
632 non-standard and already scheduled for removal.
634 2004-02-03 Paolo Carlini <pcarlini@suse.de>
636 * include/bits/stl_iterator_base_funcs.h: Minor formatting
637 and indentation tweaks.
638 * include/bits/stl_iterator_base_types.h: Likewise.
639 * include/bits/stl_list.h: Likewise.
640 * include/bits/stl_map.h: Likewise.
641 * include/bits/stl_tempbuf.h: Likewise.
643 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
645 * include/bits/gslice.h, include/bits/gslice_array.h,
646 include/bits/indirect_array.h, include/bits/mask_array.h,
647 include/bits/slice_array.h, include/bits/stl_numeric.h,
648 include/std/std_valarray.h: Update copyright years.
650 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
652 * include/bits/gslice.h (gslice): Document.
653 * include/bits/gslice_array.h (gslice_array): Document.
654 * include/bits/indirect_array (indirect_array): Document.
655 * include/bits/mask_array (mask_array): Document.
656 * include/bits/slice_array.h (slice,slice_array): Document.
657 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
658 adjacent_difference): Document
659 * include/std/std_valarray.h (valarray): Document.
661 2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
663 * docs/html/19_diagnostics/howto.html: Move verbose terminate
665 * docs/html/18_support/howto.html: Here.
666 * docs/html/documentation.html: Add reference here.
668 2004-02-02 Paolo Carlini <pcarlini@suse.de>
670 * config/locale/gnu/c++locale_internal.h: Remove prototypes
671 of no longer used GLIBC thread locale functions.
673 2004-02-02 Eric Christopher <echristo@redhat.com>
674 Zack Weinberg <zack@codesourcery.com>
676 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
678 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
679 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
680 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
681 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
682 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
683 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
684 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
685 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
688 2004-02-02 Paolo Carlini <pcarlini@suse.de>
690 * include/bits/stl_function.h: Additional minor tweaks.
691 * include/bits/stl_multiset.h: Likewise.
693 * include/bits/stl_queue.h: Minor tweaks.
695 2004-02-02 Paolo Carlini <pcarlini@suse.de>
697 PR libstdc++/13976 (continued)
698 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
699 Make the second parameter unnamed, to void unused parameter
701 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
703 2004-02-02 Paolo Carlini <pcarlini@suse.de>
706 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
707 Make the second parameter unnamed, to void unused parameter
709 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
710 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
712 2004-02-01 Paolo Carlini <pcarlini@suse.de>
714 * include/bits/stl_algo.h: Additional minor tweaks.
715 * include/bits/stl_map.h: Likewise.
716 * include/bits/stl_multimap.h: Likewise.
717 * include/bits/stl_multiset.h: Likewise.
718 * include/bits/stl_set.h: Likewise.
719 * include/bits/stl_tree.h: Likewise.
721 2004-02-01 Paolo Carlini <pcarlini@suse.de>
723 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
726 2004-02-01 Paolo Carlini <pcarlini@suse.de>
728 * include/bits/stl_function.h: Additional minor tweaks.
730 2004-02-01 Paolo Carlini <pcarlini@suse.de>
732 * include/bits/deque.tcc: Wrap overlong lines, constify
733 a few variables, reformat according to the coding standards.
734 * include/bits/list.tcc: Likewise.
735 * include/bits/stl_deque.h: Likewise.
736 * include/bits/stl_function.h: Likewise.
737 * include/bits/stl_iterator.h: Likewise.
738 * include/bits/stl_iterator_base_funcs.h: Likewise.
739 * include/bits/stl_iterator_base_types.h: Likewise.
740 * include/bits/stl_list.h: Likewise.
741 * include/bits/stl_map.h: Likewise.
742 * include/bits/stl_multimap.h: Likewise.
743 * include/bits/stl_multiset.h: Likewise.
744 * include/bits/stl_relops.h: Likewise.
745 * include/bits/stl_set.h: Likewise.
747 2004-02-01 Paolo Carlini <pcarlini@suse.de>
749 * include/bits/stl_bvector.h: Wrap overlong lines, constify
750 a few variables, reformat according to the coding standards.
751 * include/bits/stl_tree.h: Likewise.
753 2004-01-31 Paolo Carlini <pcarlini@suse.de>
755 * include/bits/stl_algo.h: Minor additional reformat, add
757 * include/bits/stl_algobase.h: Add copyright year.
759 2004-01-31 Paolo Carlini <pcarlini@suse.de>
761 * include/bits/stl_algo.h: Wrap overlong lines, constify
762 a few variables, reformat according to the coding standards.
763 * include/bits/stl_algobase.h: Likewise.
764 * include/bits/stl_heap.h: Likewise.
766 2004-01-31 Paolo Carlini <pcarlini@suse.de>
768 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
770 * include/bits/basic_string.h: Fix two comments.
772 2004-01-31 Per Bothner <per@bothner.com>
774 * include/ext/mt_allocator.h
775 (__mt_alloc::_S_thread_freelist_mutex): Guard with
776 __GTHREAD_MUTEX_INIT.
778 2004-01-31 Paolo Carlini <pcarlini@suse.de>
780 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
782 2004-01-30 Paolo Carlini <pcarlini@suse.de>
784 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
785 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
786 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
788 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
790 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
791 Don't use clear, but instead assign. Use insert.
793 2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
795 * src/demangle.cc: Add instantiations.
796 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
797 * src/Makefile.in: Regenerate.
799 2004-01-30 David Edelsohn <edelsohn@gnu.org>
801 * src/allocator.cc: Protect _S_get_thread_id() and
802 _S_thread_key_destr() with #ifdef __GTHREADS.
804 2004-01-30 Paolo Carlini <pcarlini@suse.de>
806 Reshuffle performance testsuite.
807 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
808 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
809 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
810 fstream_seek_write.cc, ifstream_extract_float.cc,
811 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
812 list_create_fill_sort.cc, map_create_fill.cc,
813 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
814 ofstream_insert_float.cc, ofstream_insert_int.cc,
815 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
816 wchar_t_out.cc: Split into...
817 * testsuite/performance/20_util/allocator.cc: New.
818 * testsuite/performance/20_util/allocator_map_thread.cc: New.
819 * testsuite/performance/20_util/allocator_thread.cc: New.
820 * testsuite/performance/21_strings/string_append: New.
821 * testsuite/performance/22_locale/is_wchar_t.cc: New.
822 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
823 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
824 * testsuite/performance/22_locale/wchar_t_in.cc: New.
825 * testsuite/performance/22_locale/wchar_t_length.cc: New.
826 * testsuite/performance/22_locale/wchar_t_out.cc: New.
827 * testsuite/performance/23_containers/container_benchmark.cc: New.
828 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
829 * testsuite/performance/23_containers/map_create_fill.cc: New.
830 * testsuite/performance/26_numerics/complex_norm.cc: New.
831 * testsuite/performance/27_io/cout_insert_int.cc: New.
832 * testsuite/performance/27_io/filebuf_copy.cc: New.
833 * testsuite/performance/27_io/filebuf_sputc.cc: New.
834 * testsuite/performance/27_io/fstream_seek_write.cc: New.
835 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
836 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
837 * testsuite/performance/27_io/ifstream_getline.cc: New.
838 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
839 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
841 2004-01-30 Paolo Carlini <pcarlini@suse.de>
843 * include/bits/basic_string.tcc (_Rep::_S_create):
844 Never allocate a string bigger than max_size(); always keep
845 __capacity and __size in sync to avoid memory leaks at
848 2004-01-30 Paolo Carlini <pcarlini@suse.de>
850 * include/bits/basic_string.tcc (_S_construct(_InIterator,
851 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
852 the double loop, streamline.
854 * include/bits/basic_string.tcc: Very minor tweaks.
856 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
858 * scripts/check_performance: Only compile with $THREAD_FLAG
859 when test is marked to require it. Allow multiple
860 compilations/executions of marked tests.
861 * testsuite/testsuite_performance.h (report_performance):
862 Report dynamic thread support status.
863 (report_header): Likewise.
864 * testsuite/performance/allocator.cc: Stabilize iteration
865 count. Support more allocators. Mark each allocator test to
866 run and report independently.
867 * testsuite/performance/allocator_map_thread.cc: Likewise.
868 * testsuite/performance/allocator_thread.cc: Likewise.
870 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
872 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
873 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
874 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
875 std::get_temporary_buffer() instead of duplicating its code.
876 Update to C++STYLE conventions.
877 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
878 new() instead of std::malloc().
879 (return_temporary_buffer): Use ::operator delete() instead of
882 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
884 * include/bits/allocator.h: Temporary switch to new_allocator as
885 the default to unjam bootstraps.
887 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
889 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
890 * include/Makefile.in: Regenerate.
891 * include/bits/allocator_traits.h: Remove.
892 * include/bits/allocator.h: Remove allocator_traits.h include, and
894 (allocator): Empty base class, inherit from the underlying allocator.
895 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
896 * src/allocator.cc: ...here. New. For the underlying allocators.
897 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
898 * config/linker-map.gnu: Remove __pool_alloc bits.
899 * src/Makefile.am (sources): Add allocator.cc.
900 * src/Makefile.in: Regenerate.
901 * testsuite/20_util/allocator/1.cc: Split second test into...
902 * testsuite/20_util/allocator/8230.cc: ...this.
903 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
904 typedef to use std::allocatore. Format.
905 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
907 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
908 __throw_bad_alloc calls. Don't include <memory>.
909 * include/ext/malloc_allocator.h: Remove <memory> include.
910 * include/ext/new_allocator.h (new_allocator): Same.
911 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
912 declaration. Switch __alloc to _Alloc.
913 * include/ext/hashtable.h: Remove __alloc.
914 * include/backward/alloc.h: Only inject allocator, not
915 implementation details.
917 * include/ext/mt_allocator.h: Replace free with delete.
919 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
921 * src/globals_io.cc: Change to __gnu_internal namespace.
922 * src/globals_locale.cc: Same.
923 * src/locale_init.cc: Same.
924 * src/ios_init.cc: Same.
926 2004-01-28 Stefan Olsson <stefan@snon.net>
928 * include/ext/mt_allocator.h: Replaced all malloc() calls with
929 operator new(). Added support for the env variable
930 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
931 one in allocate() as well). Fix typos.
933 2004-01-28 Paolo Carlini <pcarlini@suse.de>
935 * include/bits/basic_string.h (_S_create(size_t,
936 const _Alloc&): Change signature to take two size_type
938 * include/bits/basic_string.tcc (_S_construct(_InIterator,
939 _InIterator, const _Alloc&, input_iterator_tag)): Update
941 (_S_construct(_InIterator, _InIterator, const _Alloc&,
942 forward_iterator_tag)): Likewise.
943 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
944 (_M_mutate(size_type, size_type, size_type)): Don't
945 implement the exponential growth policy, demand it to
946 _S_create, update call and simplify.
947 (_M_clone(const _Alloc&, size_type)): Likewise.
948 (_S_create(size_type, size_type, const _Alloc&)): Implement
949 the growth policy, simplify otherwise.
951 * include/bits/basic_string.h (_Rep::operator[]): Tweak
952 signature to take a size_type, consistently with the other
955 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
957 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
958 delete declarations, add include and test variable.
960 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
962 * include/bits/codecvt.h, include/bits/locale_facets.h,
963 include/bits/postypes.h, include/bits/stl_bvector.h,
964 include/bits/stl_multiset.h, include/bits/stl_set.h,
965 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
966 include/std/std_complex.h: Document.
968 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
971 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
972 iword/pword selector.
973 (ios_base::iword, ios_base::pword): Use it.
974 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
975 iword or pword member on alloc failure.
976 * testsuite/27_io/ios_base/storage/11584.cc: New test.
978 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
979 PJ Darcy <darcypj@us.ibm.com>
981 * configure.host: Add support for *-tpf.
982 * crossconfig.m4: Likewise.
983 * configure: Regenerate.
984 * config/os/tpf: New directory.
985 * config/os/tpf/os_defines.h: New file.
986 * config/os/tpf/ctype_base.h: Likewise.
987 * config/os/tpf/ctype_inline.h: Likewise.
988 * config/os/tpf/ctype_noninline.h: Likewise.
990 2004-01-27 Paolo Carlini <pcarlini@suse.de>
993 * include/bits/sstream.tcc: Guard use of extern template.
995 2004-01-27 Paolo Carlini <pcarlini@suse.de>
997 * include/bits/basic_string.tcc
998 (basic_string(const basic_string&, size_type, size_type),
999 basic_string(const basic_string&, size_type, size_type,
1000 const _Alloc&)): Avoid unnecessarily constructing iterators.
1002 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1004 * config/locale/generic/c_locale.cc: Fix throw messages
1005 to use the __N marker.
1006 * config/locale/gnu/c_locale.cc: Likewise.
1007 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
1009 * docs/html/17_intro/C++STYLE: Likewise.
1010 * include/bits/basic_ios.tcc: Likewise.
1011 * include/bits/fstream.tcc: Likewise.
1012 * include/bits/vector.tcc: Likewise.
1013 * include/ext/ropeimpl.h: Likewise.
1014 * include/std/std_bitset.h: Likewise.
1015 * src/ios.cc: Likewise.
1016 * src/locale.cc: Likewise.
1017 * src/localename.cc: Likewise.
1019 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1021 * include/bits/basic_string.h (_M_replace_aux): Use the
1022 __N marker in throw message.
1023 * include/bits/basic_string.tcc (assign(const _CharT*,
1024 size_type), insert(size_type, const _CharT*, size_type),
1025 replace(size_type, size_type, const _CharT*, size_type),
1026 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
1029 * include/bits/basic_string.h, include/bits/basic_string.tcc:
1030 Fold overlong lines, minor formatting changes.
1032 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1034 * include/bits/basic_string.h (replace(iterator, iterator,
1035 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
1036 (replace(iterator, iterator, const _CharT*)): Ditto.
1037 (replace(iterator, iterator, const _CharT*, size_type)):
1038 Add missing _GLIBCXX_DEBUG_PEDASSERT.
1040 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1042 * include/bits/basic_string.tcc (replace(size_type,
1043 size_type, const _CharT*, size_type)): Implement optimized
1044 in-place algorithm for non-overlapping ranges.
1045 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
1046 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
1048 * include/bits/basic_string.tcc (insert(size_type,
1049 const _CharT*, size_type)): Tweak slightly.
1051 2004-01-26 Andreas Schwab <schwab@suse.de>
1053 * config/locale/gnu/monetary_members.cc: Restore locale before
1054 rethrowing exception.
1056 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1058 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1060 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
1063 * include/bits/basic_string.tcc: Very minor tweaks.
1065 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1067 * testsuite/performance/string_append.cc: Increase number
1070 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1072 * include/bits/basic_string.h (erase(size_type, size_type),
1073 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
1074 instead, thus avoiding redundant check for length_error.
1076 * include/bits/basic_string.h: Tweak some comments.
1078 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1080 * include/bits/basic_string.tcc (operator+(const _CharT*,
1081 const basic_string&)): No need to go through the append
1082 taking two iterators.
1084 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1086 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
1087 Revert last change to use std::min: machine language is worse.
1088 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
1089 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1090 (find_last_not_of(_CharT, size_type)): Ditto.
1092 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
1093 size_type)): Discard the value returned by _M_check.
1094 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
1095 (append(const basic_string&, size_type, size_type)): Ditto.
1096 (copy(_CharT*, size_type, size_type)): Ditto.
1097 (compare(size_type, size_type, const basic_string&)): Ditto.
1098 (compare(size_type, size_type, const basic_string&,
1099 size_type, size_type)): Ditto.
1100 (compare(size_type, size_type, const _CharT*)): Ditto.
1101 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1103 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1105 * include/bits/basic_string.h (insert(size_type,
1106 const basic_string&, size_type, size_type)): Define inline here.
1107 * include/bits/basic_string.tcc (insert(size_type,
1108 const basic_string&, size_type, size_type)): Move inline.
1110 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1112 * include/bits/basic_string.h (assign(const basic_string&,
1113 size_type, size_type)): Define inline here.
1114 (replace(size_type, size_type, const basic_string&,
1115 size_type, size_type)): Ditto.
1116 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1117 _InputIterator, __false_type)): Only declare.
1118 (_M_replace(iterator, iterator, _InputIterator,
1119 _InputIterator)): Remove.
1120 * include/bits/basic_string.tcc (assign(const basic_string&,
1121 size_type, size_type)): Move inline.
1122 (replace(size_type, size_type, const basic_string&,
1123 size_type, size_type)): Ditto.
1124 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1125 _InputIterator, __false_type)): Define, now does also what
1126 _M_replace did before.
1127 * src/string-inst.cc (_M_replace): Don't instantiate.
1129 * include/bits/basic_string.tcc (find(const _CharT*,
1130 size_type, size_type)): Tidy.
1131 (rfind(_CharT, size_type)): Ditto.
1132 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
1133 (find_first_not_of(_CharT, size_type)): Ditto.
1134 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1135 (find_last_not_of(_CharT, size_type)): Ditto.
1137 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1140 * include/debug/bitset (operator|=): Fix typo.
1141 * testsuite/23_containers/bitset/operations/13838.cc: New.
1143 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1145 * include/bits/basic_string.tcc (insert(size_type,
1146 const _CharT*, size_type __n)): Fix length_error check.
1147 (replace(size_type, size_type, const _CharT*, size_type):
1148 Ditto; call _M_replace_safe.
1149 (_M_replace_aux(size_type, size_type, size_type, _CharT):
1150 Fix length_error check.
1151 (_M_replace(iterator, iterator, _InputIterator,
1152 _InputIterator)): Ditto, tweak.
1153 (_M_replace_safe(size_type, size_type, const _CharT*,
1154 size_type)): Remove length_error check.
1156 * include/bits/basic_string.tcc (append(const basic_string&),
1157 append(const basic_string&, size_type, size_type)): Tweak
1160 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
1161 size_type)): If __n == 0 don't call traits::copy.
1163 2004-01-23 Stefan Olsson <stefan@snon.net>
1165 * include/ext/mt_allocator.h: Reduce lock contention.
1167 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1170 * include/bits/fstream.tcc (underflow): Remove unused
1172 * include/bits/streambuf_iterator.h (equal): Ditto.
1173 * include/bits/locale_facets.h (_M_convert_from_char):
1176 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1179 * config/linker-map.gnu (nan): Delete.
1180 * libmath/mathconf.h (NAN, nan): Delete.
1181 * linkage.m4 (nan): Don't check for it.
1182 * libmath/nan.c: Delete file.
1184 * config.h.in, configure: Regenerate.
1186 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1188 * include/bits/basic_string.h (push_back(_CharT)):
1189 Call _M_replace_aux.
1190 (insert(size_type, const basic_string&)): Trivial tweak.
1191 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
1192 (insert(iterator, _CharT)): Ditto.
1193 (erase(size_type, size_type)): Ditto.
1194 (erase(iterator)): Ditto.
1195 (erase(iterator, iterator)): Ditto.
1196 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1198 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
1201 * testsuite/performance/allocator_map_thread.cc: New test.
1203 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1205 * include/bits/locale_facets.tcc
1206 (money_put::do_put(..., long double)): Use the basic_string
1207 constructor for char arrays, not that for C-strings, to pass
1208 __digits to do_put(..., const string_type&): __ws isn't
1211 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1213 * include/bits/basic_string.h (_M_replace_safe): Change
1214 signatures to take size_types and const _CharT*.
1215 (_M_replace_aux): Likewise, takes size_types instead of
1217 (append(size_type, _CharT)): Update call.
1218 (assign(size_type, _CharT)): Ditto.
1219 (replace(iterator, iterator, size_type, _CharT)): Ditto.
1220 (_M_replace_dispatch(iterator, iterator, _Integer,
1221 _Integer, __true_type)): Ditto.
1222 * include/bits/basic_string.tcc (assign(const _CharT*,
1224 (insert(size_type, const _CharT*, size_type)): Ditto.
1225 (replace(size_type, size_type, const _CharT*,
1227 (_M_replace(iterator, iterator, _InputIterator,
1228 _InputIterator)): Ditto.
1229 (append(const basic_string&)): Ditto.
1230 (append(const basic_string&, size_type, size_type): Ditto.
1231 (append(const _CharT*, size_type): Ditto.
1232 (_M_replace_safe, _M_replace_safe): Change definitions
1233 accordingly, simplify.
1234 * string-inst.cc (_M_replace_safe): Don't instantiate.
1236 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1238 * include/bits/basic_string.tcc (append(const basic_string&)):
1239 Revert previous change.
1240 (append(const basic_string&, size_type, size_type)): Revert
1241 previous change, use _M_check and _M_limit.
1243 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1245 * include/bits/basic_string.h (_M_check): Change to return
1246 a checked __pos and take an additional const char* argument.
1247 (_M_fold): Rename to _M_limit, change to return a size_type,
1248 corresponding to the __off limited to the actual length.
1249 (insert(size_type, size_type, _CharT)): Update call, call
1251 (insert(iterator, _CharT)): Call replace(iterator, iterator,
1252 size_type, _CharT) instead.
1253 (erase(size_type, size_type)): Update calls.
1254 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1255 (substr(size_type, size_type)): Use _M_check.
1256 * include/bits/basic_string.tcc (basic_string(const basic_string&,
1257 size_type, size_type)): Update calls.
1258 (basic_string(const basic_string&, size_type, size_type,
1259 const _Alloc&)): Ditto.
1260 (assign(const basic_string&, size_type, size_type)): Use the
1261 new _M_check and _M_limit.
1262 (insert(size_type, const basic_string&, size_type, size_type):
1264 (insert(size_type, const _CharT*, size_type)): Ditto.
1265 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
1266 (replace(size_type, size_type, const basic_string&,
1267 size_type, size_type)): Ditto.
1268 (append(const basic_string&)): Ditto.
1269 (append(const basic_string&, size_type, size_type)): Ditto.
1270 (copy(_CharT*, size_type, size_type)): Ditto.
1271 (compare(size_type, size_type, const basic_string&)): Ditto.
1272 (compare(size_type, size_type, const basic_string&,size_type,
1274 (compare(size_type, size_type, const _CharT*)): Ditto.
1275 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1277 2004-01-19 Stefan Olsson <stefan@snon.net>
1279 * include/ext/mt_allocator.h: If a thread, when it dies, still has
1280 memory on it's freelist this memory is not returned to global
1281 list. Simplification of deallocate so that memory is always
1282 returned to the calling thread id's freelist instead of to
1283 global. Fix typos. Add volatile where appropriate.
1285 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
1287 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
1288 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
1289 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
1291 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1293 * src/debug.cc: Make sure all the names are prefixed with
1294 double (or single) underscore.
1296 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1298 * src/debug.cc: Trivial formatting change.
1300 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1302 * include/bits/basic_string.tcc (_S_construct(size_type,
1303 _CharT, const _Alloc&)): Remove redundant try/catch.
1304 (_M_mutate(size_type, size_type, size_type)): Ditto.
1305 (_M_clone(const _Alloc&, size_type)): Ditto.
1307 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1309 * include/bits/basic_string.h (c_str()): Simplify, due to
1310 21.3.4 the internal representation is always kept null-terminated.
1311 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
1312 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
1313 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
1316 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1318 * include/bits/basic_string.h (append(size_type, _CharT)):
1319 Moved inline, just call _M_replace_aux, no source iterators at
1320 risk of being clobbered.
1321 (assign(size_type, _CharT)): Call directly _M_replace_aux.
1322 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1323 input_iterator_tag)): Remove fifth unused argument.
1324 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1325 _InputIterator, __false_type)): Update call.
1326 * include/bits/basic_string.tcc (replace(size_type, size_type,
1327 const _CharT*, size_type)): Update call.
1328 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
1329 throw string literal.
1330 (_M_replace_safe(iterator, iterator, _ForwardIterator,
1331 _ForwardIterator)): Likewise.
1332 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1333 input_iterator_tag)): Remove fifth unused argument.
1334 (append(size_type __n, _CharT __c)): Move inline.
1335 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
1336 const C*, const C*, input_iterator_tag)): Remove fifth unused
1339 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
1341 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
1342 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
1344 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
1346 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
1349 2004-01-15 Stefan Olsson <stefan@snon.net>
1351 * include/ext/mt_allocator.h: Reuse thread id's as soon as
1352 possible by changing the behaviour of thread_freelist to do
1353 push_front when threads die instead of push_back.
1355 2004-01-14 Paolo Carlini <pcarlini@suse.de>
1357 * include/bits/locale_facets.h (struct __numpunct_cache):
1358 Add member _M_grouping_size, caching the length of _M_grouping.
1359 (__numpunct_cache<>::_M_cache): Assign the latter.
1360 (__verify_grouping): Move declaration...
1361 * include/bits/locale_facets.tcc (__verify_grouping):
1362 ... here, change signature to take a const char* and a size_t
1363 for the grouping; not a template anymore.
1364 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
1365 Likewise change signature and tweak consistently.
1366 (num_get::_M_extract_float, num_get::_M_extract_int,
1367 num_put::_M_insert_int, num_put::_M_insert_float,
1368 money_get::do_get(string_type&), money_get::do_put(string_type)):
1370 * config/locale/generic/numeric_members.cc
1371 (numpunct<>::_M_initialize_numpunct): Assign the new member.
1372 * config/locale/gnu/numeric_members.cc
1373 (numpunct<>::_M_initialize_numpunct): Likewise.
1374 * src/locale-inst.cc (__add_grouping): Tweak signature.
1375 (__verify_grouping): Don't instantiate, not a template anymore.
1377 * include/bits/locale_facets.h: Rename _M_truename_len ->
1378 _M_truename_size, _M_falsename_len -> _M_falsename_size.
1379 * include/bits/locale_facets.tcc: Likewise.
1380 * config/locale/generic/numeric_members.cc: Likewise.
1381 * config/locale/gnu/numeric_members.cc: Likewise.
1383 2004-01-14 Stefan Olsson <stefan@snon.net>
1385 * include/ext/mt_allocator.h: Fixups.
1386 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
1387 * testsuite/performance/allocator_thread.cc: Same.
1389 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1391 * testsuite/performance/ifstream_extract_float.cc: Add higher
1393 * testsuite/performance/ofstream_insert_float.cc: Same.
1395 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1397 * src/locale-misc-inst.cc (__convert_from_v(long),
1398 __convert_from_v(unsigned long), __convert_from_v(long long),
1399 __convert_from_v(unsigned long long)): Remove, unused.
1401 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1403 * testsuite/performance/ifstream_extract_float.cc: New.
1404 * testsuite/performance/ofstream_insert_float.cc: Float generation
1407 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
1408 * 20_util/auto_ptr/1.cc: ...this.
1409 * 20_util/auto_ptr/2.cc: Same.
1410 * 20_util/auto_ptr/3.cc: Same.
1411 * 20_util/auto_ptr/3946.cc: Same.
1412 * 20_util/auto_ptr/4.cc: Same.
1413 * 20_util/auto_ptr/5.cc: Same.
1414 * 20_util/auto_ptr/6.cc: Same.
1415 * 20_util/auto_ptr/7.cc: Same.
1416 * 20_util/auto_ptr/assign_neg.cc
1417 * 20_util/pairs.cc: Break into...
1418 * 20_util/pair/1.cc: ...this.
1419 * 20_util/pair/2.cc: Same.
1420 * 20_util/pair/3.cc: Same.
1421 * 20_util/pair/4.cc: Same.
1423 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1425 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
1426 Set correctly just basefield, the only group that matters.
1428 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1430 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
1431 (_Rope_rep_base): Inherit directly from the rope allocator;
1432 use rebinding instead of _Alloc_traits; pick up data member
1433 from _Rope_rep_alloc_base.
1434 (_Rope_alloc_base): Eliminate.
1435 (_Rope_base): Inherit directly from the rope allocator; use
1436 rebinding instead of _Alloc_traits; pick up data member from
1438 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
1439 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
1441 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1444 * include/bits/basic_string.tcc (compare(size_type, size_type,
1445 const _CharT*, size_type)): Implement correctly the resolution
1446 of DR 5: basically, s is a char array, -not- a C string.
1447 * include/bits/basic_string.h: Tweak some comments.
1448 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
1449 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
1451 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1453 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
1456 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1458 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
1460 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
1463 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1465 * include/bits/locale_facets.h (struct __numpunct_cache):
1466 Add members _M_truename_len and _M_falsename_len, caching
1467 the lengths of _M_truename and _M_falsename.
1468 (__numpunct_cache<>::_M_cache): Assign the latter.
1469 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
1470 num_put::do_put(bool)): Use the new members, thus avoiding
1471 computing string lengths again and again.
1472 * config/locale/generic/numeric_members.cc
1473 (numpunct<>::_M_initialize_numpunct): Assign the new members.
1474 * config/locale/gnu/numeric_members.cc
1475 (numpunct<>::_M_initialize_numpunct): Likewise.
1477 2004-01-12 Mark Mitchell <mark@codesourcery.com>
1479 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1480 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1482 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1483 and remove Cygwin XFAIL.
1484 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1485 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1486 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1487 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1489 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1490 * testsuite/27_io/objects/char/7.cc: Likewise.
1491 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1492 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1493 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1495 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1497 * include/std/std_complex.h (std::complex<>::real): Return a
1498 reference. Add non-const overload.
1499 (std::complex<>::real): Likewise.
1500 (std::real): Likewise.
1501 (std::imag): Likewise.
1502 (std::operator+): Tidy.
1503 (std::operator-): Likewise.
1504 (std::operator*): Likewise.
1505 (std::operator/): Likewise.
1506 (std::operator>>): Likewise.
1508 2004-01-11 Paolo Carlini <pcarlini@suse.de>
1511 * include/bits/fstream.tcc (imbue): Exploit the external
1512 buffer to imbue 'on the fly' a new locale and convert its
1513 remainder with the new codecvt facet.
1514 (underflow): Tweak slightly to deal with this special case.
1515 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1516 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1517 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1518 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1519 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
1521 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1523 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1526 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1529 * include/bits/locale_classes.h (class locale): Fix category
1531 * testsuite/22_locale/locale/13630.cc: Add.
1533 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1535 * include/bits/locale_facets.h: Make a name really dependent. This
1536 will be needed when Core Issue 224 is implemented.
1538 2004-01-09 Paolo Carlini <pcarlini@suse.de>
1540 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1541 * testsuite/performance/allocator_thread.cc: Likewise.
1543 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1545 * crossconfig.m4: Add LFS, io bits to linux cross config.
1546 * acconfig.h: Remove obsolete bits, reorder.
1547 * config.h.in: Regenerate.
1551 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
1553 * include/bits/stl_list.h:
1554 * include/bits/list.tc:
1556 Performance enhancements for destructor, push_front(),
1557 push_back(), pop_front(), pop_back(), sort()
1558 Eliminated static_casts where possible.
1559 Moved code out of header files into new src/list.cc
1560 implementation file for library where possible.
1561 Remove inheritance from iterator class and create separate
1562 classes for non-constant and constant iterators.
1563 * include/bits/stl_tree.h (_Rb_tree class):
1565 Only erase contents in destructor.
1566 Eliminate unnecessary initialization in assignment operator.
1567 Optimize for the nominal case by not checking whether
1568 container is empty in clear().
1569 Re-order test in _M_insert() to improve performance.
1570 Move initialization of new node's left & right pointers to
1571 src/tree.cc to where new node's colour is initialized
1572 and to reduce the amount of inline code.
1573 Use _M_leftmost() and _M_end() to improve readability where
1575 Create separate classes for non-constant and constant
1576 iterators to clarify code, avoid extra template parameters and
1577 casting away constness.
1579 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1581 * src/Makefile.am (sources): Add list.cc, tree.cc.
1582 * src/stl_tree.cc: Move to...
1583 * src/tree.cc: ...here.
1585 * config/linker-map.gnu: Tweaks.
1586 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1587 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1589 * bits/stl_vector.h: Column wrap comments.
1591 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
1593 (re-open) PR libstdc++/12658
1594 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1595 (locale::global): Likewise.
1597 2004-01-07 Paolo Carlini <pcarlini@suse.de>
1599 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1600 Remove redundant #include.
1601 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1602 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1603 re-enable normal testing.
1604 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1606 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1607 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1609 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1611 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1613 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1615 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1617 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1619 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1621 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1622 More properly, #include <locale>.
1623 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1624 Remove redundant #include.
1625 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1626 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1627 redundant DejaGnu directive.
1628 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1631 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
1632 Stefan Olsson <stefan@snon.net>
1634 * scripts/check_performance: Use -pthread.
1635 * testsuite/performance/allocator.cc: Tweaks, add list.
1636 * testsuite/performance/allocator_thread.cc: New.
1638 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
1640 * include/bits/locale_facets.h: Document public classes and
1642 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1645 2004-01-06 Paolo Carlini <pcarlini@suse.de>
1647 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1648 Remove redundant #includes.
1649 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1651 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1653 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1654 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1655 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1656 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1657 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1658 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1659 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1660 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1661 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1662 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1663 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1664 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1665 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1666 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1667 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1669 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1671 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1673 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1675 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1677 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1678 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1679 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1681 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1683 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1684 Remove redundant #includes.
1685 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1687 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1689 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1691 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1693 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1695 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1697 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1699 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1701 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1703 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1705 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1707 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1710 2004-01-04 Mark Mitchell <mark@codesourcery.com>
1713 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
1715 * testsuite/27_io/basic_fstream/4.cc: Likewise.
1716 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
1717 * testsuite/27_io/basic_ios/4.cc: Likewise.
1718 * testsuite/27_io/basic_iostream/4.cc: Likewise.
1719 * testsuite/27_io/basic_istream/4.cc: Likewise.
1720 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
1721 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
1722 * testsuite/27_io/basic_ostream/4.cc: Likewise.
1723 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
1724 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
1725 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
1727 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1729 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
1730 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
1731 always use double underscored names.
1732 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
1734 * include/bits/locale_facets.h (struct __numpunct_cache):
1735 Dimension _M_atoms_out and _M_atoms_in one position smaller.
1736 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out