1 2004-02-10 Loren J. Rittle <ljrittle@acm.org>
4 * config/linker-map.gnu: Add typeinfo and typeinfo name for
5 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
7 2004-02-09 Loren J. Rittle <ljrittle@acm.org>
9 * include/ext/pool_allocator.h: Include c++config.h.
11 2004-02-09 Stefan Olsson <stefan@xapa.se>
13 * include/ext/mt_allocator.h: thread_id is unused in non threaded
14 applications and now has a ifdef to remove it completely on
15 compilers without thread support. Include stdlib.h due to a
16 compiler warning on getenv().
18 2004-02-09 Paul Brook <paul@codesourcery.com>
20 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
22 2004-02-09 Paolo Carlini <pcarlini@suse.de>
25 * src/locale_init.cc (locale::global(const locale&)): Use
26 locale::name() in order to decide whether calling setlocale.
27 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
29 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
30 Avoid computing &= unnecessarily.
32 2004-02-09 James E Wilson <wilson@specifixinc.com>
35 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
36 __builtin_extend_pointer.
38 2004-02-09 Paolo Carlini <pcarlini@suse.de>
41 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
42 Don't leave dangling pointers.
43 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
44 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
45 facet is needed in the final test.
47 2004-02-09 Bernardo Innocenti <bernie@develer.com>
49 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
50 * configure: Regenerate.
52 2004-02-08 Richard Henderson <rth@redhat.com>
55 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
56 uncaughtExceptions during nested catch rethrow.
57 * testsuite/18_support/14026.cc: New.
59 2004-02-08 Paolo Carlini <pcarlini@suse.de>
61 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
62 When working in place remember to set the state to sharable
63 (otherwise, _M_mutate does it).
65 2004-02-08 Bernardo Innocenti <bernie@develer.com>
67 * include/bits/allocator.h, include/bits/basic_ios.h,
68 include/bits/basic_ios.tcc, include/bits/basic_string.h,
69 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
70 include/bits/char_traits.h, include/bits/codecvt.h,
71 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
72 include/bits/demangle.h, include/bits/deque.tcc,
73 include/bits/fstream.tcc, include/bits/functexcept.h,
74 include/bits/gslice.h, include/bits/gslice_array.h,
75 include/bits/indirect_array.h, include/bits/ios_base.h,
76 include/bits/istream.tcc, include/bits/list.tcc,
77 include/bits/locale_classes.h, include/bits/locale_facets.h,
78 include/bits/locale_facets.tcc, include/bits/localefwd.h,
79 include/bits/mask_array.h, include/bits/ostream.tcc,
80 include/bits/postypes.h, include/bits/slice_array.h,
81 include/bits/sstream.tcc, include/bits/stl_algo.h,
82 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
83 include/bits/stl_construct.h, include/bits/stl_deque.h,
84 include/bits/stl_function.h, include/bits/stl_heap.h,
85 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
86 include/bits/stl_list.h, include/bits/stl_map.h,
87 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
88 include/bits/stl_numeric.h, include/bits/stl_pair.h,
89 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
90 include/bits/stl_relops.h, include/bits/stl_set.h,
91 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
92 include/bits/stl_threads.h, include/bits/stl_tree.h,
93 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
94 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
95 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
96 include/bits/type_traits.h, include/bits/valarray_after.h,
97 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
98 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
101 2004-02-06 Paolo Carlini <pcarlini@suse.de>
103 * include/bits/basic_string.h: Fix comment.
105 2004-02-06 Paolo Carlini <pcarlini@suse.de>
107 * include/bits/stl_construct.h: Wrap overlong lines, reformat
108 according to the coding standards.
109 * include/bits/stl_pair.h: Likewise.
110 * include/bits/stl_raw_storage_iter.h: Likewise.
111 * include/bits/stl_stack.h: Likewise.
112 * include/bits/stl_uninitialized.h: Likewise.
113 * include/bits/stream_iterator.h: Likewise.
114 * include/bits/streambuf_iterator.h: Likewise.
115 * include/bits/type_traits.h: Likewise.
117 2004-02-06 Paolo Carlini <pcarlini@suse.de>
119 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
122 2004-02-05 Loren J. Rittle <ljrittle@acm.org>
124 * scripts/check_performance: Support PCH.
126 * scripts/check_performance (CXX): Add -DNOTHREAD.
127 * testsuite/performance/20_util/allocator/insert.cc: Integrate
128 threaded tests from insert_insert.cc. Tweak iterations,
129 remove special cases.
130 * testsuite/performance/20_util/allocator/insert_insert.cc:
131 Make all tests single-threaded. Tweak iterations.
132 * testsuite/performance/20_util/allocator/map_thread.cc:
134 * testsuite/performance/20_util/allocator/producer_consumer.cc:
137 2004-02-05 Geoffrey Keating <geoffk@apple.com>
141 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
142 'gcc-lib'. Add comment about poorly-named variables.
143 * aclocal.m4: Regenerate.
144 * configure: Regenerate.
146 2004-02-05 Paolo Carlini <pcarlini@suse.de>
148 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
149 Thousands-sep are always optional; thousands-sep are not allowed
150 after the decimal_point.
151 * testsuite/22_locale/money_get/get/char/12.cc: New.
152 * testsuite/22_locale/money_get/get/char/13.cc: New.
153 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
154 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
156 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
157 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
158 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
159 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
160 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
161 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
162 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
163 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
165 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
167 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
169 2004-02-05 Richard Sandiford <rsandifo@redhat.com>
171 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
173 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
174 it to decide whether FIONREAD should take an off_t or int argument.
176 2004-02-05 Paolo Carlini <pcarlini@suse.de>
178 * include/bits/stl_function.h: Minor formatting changes.
180 2004-02-04 Zack Weinberg <zack@codesourcery.com>
182 Revert previous change to config/abi/*/baseline_symbols.txt.
184 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
185 Zack Weinberg <zack@codesourcery.com>
187 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
189 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
190 (__basic_file<char>::_M_open_mode): Delete.
191 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
193 * testsuite/27_io/basic_filebuf/close/char/9964.cc
194 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
195 Correct flags to filebuf::open calls.
197 * config/abi/alpha-freebsd5/baseline_symbols.txt
198 * config/abi/alpha-linux-gnu/baseline_symbols.txt
199 * config/abi/hppa-linux-gnu/baseline_symbols.txt
200 * config/abi/i386-freebsd4/baseline_symbols.txt
201 * config/abi/i386-freebsd5/baseline_symbols.txt
202 * config/abi/i486-linux-gnu/baseline_symbols.txt
203 * config/abi/ia64-linux-gnu/baseline_symbols.txt
204 * config/abi/mips-linux-gnu/baseline_symbols.txt
205 * config/abi/sparc-freebsd5/baseline_symbols.txt
206 * config/abi/sparc-linux-gnu/baseline_symbols.txt
207 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
208 Remove entry for __basic_file<char>::_M_open_mode.
210 2004-02-04 Loren J. Rittle <ljrittle@acm.org>
212 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
214 2004-02-04 Felix Yen <fwy@alumni.brown.edu>
216 * testsuite/performance/20_util/producer_consumer.cc: New.
217 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
219 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
221 * testsuite/performance/20_util/allocator.cc: Move to..
222 * testsuite/performance/20_util/allocator/insert.cc: ...here.
223 * testsuite/performance/20_util/allocator_thread.cc: Move to...
224 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
225 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
226 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
228 2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
230 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
231 * docs/html/faq/index.txt: Regenerate.
233 2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
235 * include/ext/debug_allocator.h: _M_extra now stands for the
236 number of extra objects instead of the number of extra bytes.
237 (debug_allocator::allocate): Adjust.
238 (debug_allocator::deallocate): Adjust.
240 * include/ext/pool_allocator.h: Fix typo.
242 2004-02-03 Felix Yen <fwy@alumni.brown.edu>
243 Benjamin Kosnik <bkoz@redhat.com>
245 * testsuite/performance/20_util/allocator.cc: Add map,
247 * testsuite/performance/20_util/allocator_thread.cc: Same.
249 2004-02-03 Paolo Carlini <pcarlini@suse.de>
251 * include/bits/basic_string.h (insert(iterator)): Remove,
252 non-standard and already scheduled for removal.
254 2004-02-03 Paolo Carlini <pcarlini@suse.de>
256 * include/bits/stl_iterator_base_funcs.h: Minor formatting
257 and indentation tweaks.
258 * include/bits/stl_iterator_base_types.h: Likewise.
259 * include/bits/stl_list.h: Likewise.
260 * include/bits/stl_map.h: Likewise.
261 * include/bits/stl_tempbuf.h: Likewise.
263 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
265 * include/bits/gslice.h, include/bits/gslice_array.h,
266 include/bits/indirect_array.h, include/bits/mask_array.h,
267 include/bits/slice_array.h, include/bits/stl_numeric.h,
268 include/std/std_valarray.h: Update copyright years.
270 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
272 * include/bits/gslice.h (gslice): Document.
273 * include/bits/gslice_array.h (gslice_array): Document.
274 * include/bits/indirect_array (indirect_array): Document.
275 * include/bits/mask_array (mask_array): Document.
276 * include/bits/slice_array.h (slice,slice_array): Document.
277 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
278 adjacent_difference): Document
279 * include/std/std_valarray.h (valarray): Document.
281 2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
283 * docs/html/19_diagnostics/howto.html: Move verbose terminate
285 * docs/html/18_support/howto.html: Here.
286 * docs/html/documentation.html: Add reference here.
288 2004-02-02 Paolo Carlini <pcarlini@suse.de>
290 * config/locale/gnu/c++locale_internal.h: Remove prototypes
291 of no longer used GLIBC thread locale functions.
293 2004-02-02 Eric Christopher <echristo@redhat.com>
294 Zack Weinberg <zack@codesourcery.com>
296 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
298 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
299 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
300 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
301 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
302 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
303 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
304 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
305 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
308 2004-02-02 Paolo Carlini <pcarlini@suse.de>
310 * include/bits/stl_function.h: Additional minor tweaks.
311 * include/bits/stl_multiset.h: Likewise.
313 * include/bits/stl_queue.h: Minor tweaks.
315 2004-02-02 Paolo Carlini <pcarlini@suse.de>
317 PR libstdc++/13976 (continued)
318 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
319 Make the second parameter unnamed, to void unused parameter
321 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
323 2004-02-02 Paolo Carlini <pcarlini@suse.de>
326 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
327 Make the second parameter unnamed, to void unused parameter
329 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
330 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
332 2004-02-01 Paolo Carlini <pcarlini@suse.de>
334 * include/bits/stl_algo.h: Additional minor tweaks.
335 * include/bits/stl_map.h: Likewise.
336 * include/bits/stl_multimap.h: Likewise.
337 * include/bits/stl_multiset.h: Likewise.
338 * include/bits/stl_set.h: Likewise.
339 * include/bits/stl_tree.h: Likewise.
341 2004-02-01 Paolo Carlini <pcarlini@suse.de>
343 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
346 2004-02-01 Paolo Carlini <pcarlini@suse.de>
348 * include/bits/stl_function.h: Additional minor tweaks.
350 2004-02-01 Paolo Carlini <pcarlini@suse.de>
352 * include/bits/deque.tcc: Wrap overlong lines, constify
353 a few variables, reformat according to the coding standards.
354 * include/bits/list.tcc: Likewise.
355 * include/bits/stl_deque.h: Likewise.
356 * include/bits/stl_function.h: Likewise.
357 * include/bits/stl_iterator.h: Likewise.
358 * include/bits/stl_iterator_base_funcs.h: Likewise.
359 * include/bits/stl_iterator_base_types.h: Likewise.
360 * include/bits/stl_list.h: Likewise.
361 * include/bits/stl_map.h: Likewise.
362 * include/bits/stl_multimap.h: Likewise.
363 * include/bits/stl_multiset.h: Likewise.
364 * include/bits/stl_relops.h: Likewise.
365 * include/bits/stl_set.h: Likewise.
367 2004-02-01 Paolo Carlini <pcarlini@suse.de>
369 * include/bits/stl_bvector.h: Wrap overlong lines, constify
370 a few variables, reformat according to the coding standards.
371 * include/bits/stl_tree.h: Likewise.
373 2004-01-31 Paolo Carlini <pcarlini@suse.de>
375 * include/bits/stl_algo.h: Minor additional reformat, add
377 * include/bits/stl_algobase.h: Add copyright year.
379 2004-01-31 Paolo Carlini <pcarlini@suse.de>
381 * include/bits/stl_algo.h: Wrap overlong lines, constify
382 a few variables, reformat according to the coding standards.
383 * include/bits/stl_algobase.h: Likewise.
384 * include/bits/stl_heap.h: Likewise.
386 2004-01-31 Paolo Carlini <pcarlini@suse.de>
388 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
390 * include/bits/basic_string.h: Fix two comments.
392 2004-01-31 Per Bothner <per@bothner.com>
394 * include/ext/mt_allocator.h
395 (__mt_alloc::_S_thread_freelist_mutex): Guard with
396 __GTHREAD_MUTEX_INIT.
398 2004-01-31 Paolo Carlini <pcarlini@suse.de>
400 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
402 2004-01-30 Paolo Carlini <pcarlini@suse.de>
404 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
405 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
406 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
408 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
410 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
411 Don't use clear, but instead assign. Use insert.
413 2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
415 * src/demangle.cc: Add instantiations.
416 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
417 * src/Makefile.in: Regenerate.
419 2004-01-30 David Edelsohn <edelsohn@gnu.org>
421 * src/allocator.cc: Protect _S_get_thread_id() and
422 _S_thread_key_destr() with #ifdef __GTHREADS.
424 2004-01-30 Paolo Carlini <pcarlini@suse.de>
426 Reshuffle performance testsuite.
427 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
428 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
429 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
430 fstream_seek_write.cc, ifstream_extract_float.cc,
431 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
432 list_create_fill_sort.cc, map_create_fill.cc,
433 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
434 ofstream_insert_float.cc, ofstream_insert_int.cc,
435 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
436 wchar_t_out.cc: Split into...
437 * testsuite/performance/20_util/allocator.cc: New.
438 * testsuite/performance/20_util/allocator_map_thread.cc: New.
439 * testsuite/performance/20_util/allocator_thread.cc: New.
440 * testsuite/performance/21_strings/string_append: New.
441 * testsuite/performance/22_locale/is_wchar_t.cc: New.
442 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
443 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
444 * testsuite/performance/22_locale/wchar_t_in.cc: New.
445 * testsuite/performance/22_locale/wchar_t_length.cc: New.
446 * testsuite/performance/22_locale/wchar_t_out.cc: New.
447 * testsuite/performance/23_containers/container_benchmark.cc: New.
448 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
449 * testsuite/performance/23_containers/map_create_fill.cc: New.
450 * testsuite/performance/26_numerics/complex_norm.cc: New.
451 * testsuite/performance/27_io/cout_insert_int.cc: New.
452 * testsuite/performance/27_io/filebuf_copy.cc: New.
453 * testsuite/performance/27_io/filebuf_sputc.cc: New.
454 * testsuite/performance/27_io/fstream_seek_write.cc: New.
455 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
456 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
457 * testsuite/performance/27_io/ifstream_getline.cc: New.
458 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
459 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
461 2004-01-30 Paolo Carlini <pcarlini@suse.de>
463 * include/bits/basic_string.tcc (_Rep::_S_create):
464 Never allocate a string bigger than max_size(); always keep
465 __capacity and __size in sync to avoid memory leaks at
468 2004-01-30 Paolo Carlini <pcarlini@suse.de>
470 * include/bits/basic_string.tcc (_S_construct(_InIterator,
471 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
472 the double loop, streamline.
474 * include/bits/basic_string.tcc: Very minor tweaks.
476 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
478 * scripts/check_performance: Only compile with $THREAD_FLAG
479 when test is marked to require it. Allow multiple
480 compilations/executions of marked tests.
481 * testsuite/testsuite_performance.h (report_performance):
482 Report dynamic thread support status.
483 (report_header): Likewise.
484 * testsuite/performance/allocator.cc: Stabilize iteration
485 count. Support more allocators. Mark each allocator test to
486 run and report independently.
487 * testsuite/performance/allocator_map_thread.cc: Likewise.
488 * testsuite/performance/allocator_thread.cc: Likewise.
490 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
492 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
493 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
494 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
495 std::get_temporary_buffer() instead of duplicating its code.
496 Update to C++STYLE conventions.
497 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
498 new() instead of std::malloc().
499 (return_temporary_buffer): Use ::operator delete() instead of
502 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
504 * include/bits/allocator.h: Temporary switch to new_allocator as
505 the default to unjam bootstraps.
507 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
509 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
510 * include/Makefile.in: Regenerate.
511 * include/bits/allocator_traits.h: Remove.
512 * include/bits/allocator.h: Remove allocator_traits.h include, and
514 (allocator): Empty base class, inherit from the underlying allocator.
515 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
516 * src/allocator.cc: ...here. New. For the underlying allocators.
517 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
518 * config/linker-map.gnu: Remove __pool_alloc bits.
519 * src/Makefile.am (sources): Add allocator.cc.
520 * src/Makefile.in: Regenerate.
521 * testsuite/20_util/allocator/1.cc: Split second test into...
522 * testsuite/20_util/allocator/8230.cc: ...this.
523 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
524 typedef to use std::allocatore. Format.
525 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
527 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
528 __throw_bad_alloc calls. Don't include <memory>.
529 * include/ext/malloc_allocator.h: Remove <memory> include.
530 * include/ext/new_allocator.h (new_allocator): Same.
531 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
532 declaration. Switch __alloc to _Alloc.
533 * include/ext/hashtable.h: Remove __alloc.
534 * include/backward/alloc.h: Only inject allocator, not
535 implementation details.
537 * include/ext/mt_allocator.h: Replace free with delete.
539 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
541 * src/globals_io.cc: Change to __gnu_internal namespace.
542 * src/globals_locale.cc: Same.
543 * src/locale_init.cc: Same.
544 * src/ios_init.cc: Same.
546 2004-01-28 Stefan Olsson <stefan@snon.net>
548 * include/ext/mt_allocator.h: Replaced all malloc() calls with
549 operator new(). Added support for the env variable
550 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
551 one in allocate() as well). Fix typos.
553 2004-01-28 Paolo Carlini <pcarlini@suse.de>
555 * include/bits/basic_string.h (_S_create(size_t,
556 const _Alloc&): Change signature to take two size_type
558 * include/bits/basic_string.tcc (_S_construct(_InIterator,
559 _InIterator, const _Alloc&, input_iterator_tag)): Update
561 (_S_construct(_InIterator, _InIterator, const _Alloc&,
562 forward_iterator_tag)): Likewise.
563 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
564 (_M_mutate(size_type, size_type, size_type)): Don't
565 implement the exponential growth policy, demand it to
566 _S_create, update call and simplify.
567 (_M_clone(const _Alloc&, size_type)): Likewise.
568 (_S_create(size_type, size_type, const _Alloc&)): Implement
569 the growth policy, simplify otherwise.
571 * include/bits/basic_string.h (_Rep::operator[]): Tweak
572 signature to take a size_type, consistently with the other
575 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
577 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
578 delete declarations, add include and test variable.
580 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
582 * include/bits/codecvt.h, include/bits/locale_facets.h,
583 include/bits/postypes.h, include/bits/stl_bvector.h,
584 include/bits/stl_multiset.h, include/bits/stl_set.h,
585 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
586 include/std/std_complex.h: Document.
588 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
591 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
592 iword/pword selector.
593 (ios_base::iword, ios_base::pword): Use it.
594 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
595 iword or pword member on alloc failure.
596 * testsuite/27_io/ios_base/storage/11584.cc: New test.
598 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
599 PJ Darcy <darcypj@us.ibm.com>
601 * configure.host: Add support for *-tpf.
602 * crossconfig.m4: Likewise.
603 * configure: Regenerate.
604 * config/os/tpf: New directory.
605 * config/os/tpf/os_defines.h: New file.
606 * config/os/tpf/ctype_base.h: Likewise.
607 * config/os/tpf/ctype_inline.h: Likewise.
608 * config/os/tpf/ctype_noninline.h: Likewise.
610 2004-01-27 Paolo Carlini <pcarlini@suse.de>
613 * include/bits/sstream.tcc: Guard use of extern template.
615 2004-01-27 Paolo Carlini <pcarlini@suse.de>
617 * include/bits/basic_string.tcc
618 (basic_string(const basic_string&, size_type, size_type),
619 basic_string(const basic_string&, size_type, size_type,
620 const _Alloc&)): Avoid unnecessarily constructing iterators.
622 2004-01-26 Paolo Carlini <pcarlini@suse.de>
624 * config/locale/generic/c_locale.cc: Fix throw messages
625 to use the __N marker.
626 * config/locale/gnu/c_locale.cc: Likewise.
627 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
629 * docs/html/17_intro/C++STYLE: Likewise.
630 * include/bits/basic_ios.tcc: Likewise.
631 * include/bits/fstream.tcc: Likewise.
632 * include/bits/vector.tcc: Likewise.
633 * include/ext/ropeimpl.h: Likewise.
634 * include/std/std_bitset.h: Likewise.
635 * src/ios.cc: Likewise.
636 * src/locale.cc: Likewise.
637 * src/localename.cc: Likewise.
639 2004-01-26 Paolo Carlini <pcarlini@suse.de>
641 * include/bits/basic_string.h (_M_replace_aux): Use the
642 __N marker in throw message.
643 * include/bits/basic_string.tcc (assign(const _CharT*,
644 size_type), insert(size_type, const _CharT*, size_type),
645 replace(size_type, size_type, const _CharT*, size_type),
646 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
649 * include/bits/basic_string.h, include/bits/basic_string.tcc:
650 Fold overlong lines, minor formatting changes.
652 2004-01-26 Paolo Carlini <pcarlini@suse.de>
654 * include/bits/basic_string.h (replace(iterator, iterator,
655 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
656 (replace(iterator, iterator, const _CharT*)): Ditto.
657 (replace(iterator, iterator, const _CharT*, size_type)):
658 Add missing _GLIBCXX_DEBUG_PEDASSERT.
660 2004-01-26 Paolo Carlini <pcarlini@suse.de>
662 * include/bits/basic_string.tcc (replace(size_type,
663 size_type, const _CharT*, size_type)): Implement optimized
664 in-place algorithm for non-overlapping ranges.
665 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
666 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
668 * include/bits/basic_string.tcc (insert(size_type,
669 const _CharT*, size_type)): Tweak slightly.
671 2004-01-26 Andreas Schwab <schwab@suse.de>
673 * config/locale/gnu/monetary_members.cc: Restore locale before
674 rethrowing exception.
676 2004-01-25 Paolo Carlini <pcarlini@suse.de>
678 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
680 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
683 * include/bits/basic_string.tcc: Very minor tweaks.
685 2004-01-25 Paolo Carlini <pcarlini@suse.de>
687 * testsuite/performance/string_append.cc: Increase number
690 2004-01-25 Paolo Carlini <pcarlini@suse.de>
692 * include/bits/basic_string.h (erase(size_type, size_type),
693 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
694 instead, thus avoiding redundant check for length_error.
696 * include/bits/basic_string.h: Tweak some comments.
698 2004-01-24 Paolo Carlini <pcarlini@suse.de>
700 * include/bits/basic_string.tcc (operator+(const _CharT*,
701 const basic_string&)): No need to go through the append
702 taking two iterators.
704 2004-01-24 Paolo Carlini <pcarlini@suse.de>
706 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
707 Revert last change to use std::min: machine language is worse.
708 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
709 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
710 (find_last_not_of(_CharT, size_type)): Ditto.
712 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
713 size_type)): Discard the value returned by _M_check.
714 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
715 (append(const basic_string&, size_type, size_type)): Ditto.
716 (copy(_CharT*, size_type, size_type)): Ditto.
717 (compare(size_type, size_type, const basic_string&)): Ditto.
718 (compare(size_type, size_type, const basic_string&,
719 size_type, size_type)): Ditto.
720 (compare(size_type, size_type, const _CharT*)): Ditto.
721 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
723 2004-01-24 Paolo Carlini <pcarlini@suse.de>
725 * include/bits/basic_string.h (insert(size_type,
726 const basic_string&, size_type, size_type)): Define inline here.
727 * include/bits/basic_string.tcc (insert(size_type,
728 const basic_string&, size_type, size_type)): Move inline.
730 2004-01-24 Paolo Carlini <pcarlini@suse.de>
732 * include/bits/basic_string.h (assign(const basic_string&,
733 size_type, size_type)): Define inline here.
734 (replace(size_type, size_type, const basic_string&,
735 size_type, size_type)): Ditto.
736 (_M_replace_dispatch(iterator, iterator, _InputIterator,
737 _InputIterator, __false_type)): Only declare.
738 (_M_replace(iterator, iterator, _InputIterator,
739 _InputIterator)): Remove.
740 * include/bits/basic_string.tcc (assign(const basic_string&,
741 size_type, size_type)): Move inline.
742 (replace(size_type, size_type, const basic_string&,
743 size_type, size_type)): Ditto.
744 (_M_replace_dispatch(iterator, iterator, _InputIterator,
745 _InputIterator, __false_type)): Define, now does also what
746 _M_replace did before.
747 * src/string-inst.cc (_M_replace): Don't instantiate.
749 * include/bits/basic_string.tcc (find(const _CharT*,
750 size_type, size_type)): Tidy.
751 (rfind(_CharT, size_type)): Ditto.
752 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
753 (find_first_not_of(_CharT, size_type)): Ditto.
754 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
755 (find_last_not_of(_CharT, size_type)): Ditto.
757 2004-01-23 Paolo Carlini <pcarlini@suse.de>
760 * include/debug/bitset (operator|=): Fix typo.
761 * testsuite/23_containers/bitset/operations/13838.cc: New.
763 2004-01-23 Paolo Carlini <pcarlini@suse.de>
765 * include/bits/basic_string.tcc (insert(size_type,
766 const _CharT*, size_type __n)): Fix length_error check.
767 (replace(size_type, size_type, const _CharT*, size_type):
768 Ditto; call _M_replace_safe.
769 (_M_replace_aux(size_type, size_type, size_type, _CharT):
770 Fix length_error check.
771 (_M_replace(iterator, iterator, _InputIterator,
772 _InputIterator)): Ditto, tweak.
773 (_M_replace_safe(size_type, size_type, const _CharT*,
774 size_type)): Remove length_error check.
776 * include/bits/basic_string.tcc (append(const basic_string&),
777 append(const basic_string&, size_type, size_type)): Tweak
780 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
781 size_type)): If __n == 0 don't call traits::copy.
783 2004-01-23 Stefan Olsson <stefan@snon.net>
785 * include/ext/mt_allocator.h: Reduce lock contention.
787 2004-01-23 Paolo Carlini <pcarlini@suse.de>
790 * include/bits/fstream.tcc (underflow): Remove unused
792 * include/bits/streambuf_iterator.h (equal): Ditto.
793 * include/bits/locale_facets.h (_M_convert_from_char):
796 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
799 * config/linker-map.gnu (nan): Delete.
800 * libmath/mathconf.h (NAN, nan): Delete.
801 * linkage.m4 (nan): Don't check for it.
802 * libmath/nan.c: Delete file.
804 * config.h.in, configure: Regenerate.
806 2004-01-23 Paolo Carlini <pcarlini@suse.de>
808 * include/bits/basic_string.h (push_back(_CharT)):
810 (insert(size_type, const basic_string&)): Trivial tweak.
811 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
812 (insert(iterator, _CharT)): Ditto.
813 (erase(size_type, size_type)): Ditto.
814 (erase(iterator)): Ditto.
815 (erase(iterator, iterator)): Ditto.
816 (replace(size_type, size_type, size_type, _CharT)): Ditto.
818 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
821 * testsuite/performance/allocator_map_thread.cc: New test.
823 2004-01-22 Paolo Carlini <pcarlini@suse.de>
825 * include/bits/locale_facets.tcc
826 (money_put::do_put(..., long double)): Use the basic_string
827 constructor for char arrays, not that for C-strings, to pass
828 __digits to do_put(..., const string_type&): __ws isn't
831 2004-01-22 Paolo Carlini <pcarlini@suse.de>
833 * include/bits/basic_string.h (_M_replace_safe): Change
834 signatures to take size_types and const _CharT*.
835 (_M_replace_aux): Likewise, takes size_types instead of
837 (append(size_type, _CharT)): Update call.
838 (assign(size_type, _CharT)): Ditto.
839 (replace(iterator, iterator, size_type, _CharT)): Ditto.
840 (_M_replace_dispatch(iterator, iterator, _Integer,
841 _Integer, __true_type)): Ditto.
842 * include/bits/basic_string.tcc (assign(const _CharT*,
844 (insert(size_type, const _CharT*, size_type)): Ditto.
845 (replace(size_type, size_type, const _CharT*,
847 (_M_replace(iterator, iterator, _InputIterator,
848 _InputIterator)): Ditto.
849 (append(const basic_string&)): Ditto.
850 (append(const basic_string&, size_type, size_type): Ditto.
851 (append(const _CharT*, size_type): Ditto.
852 (_M_replace_safe, _M_replace_safe): Change definitions
853 accordingly, simplify.
854 * string-inst.cc (_M_replace_safe): Don't instantiate.
856 2004-01-21 Paolo Carlini <pcarlini@suse.de>
858 * include/bits/basic_string.tcc (append(const basic_string&)):
859 Revert previous change.
860 (append(const basic_string&, size_type, size_type)): Revert
861 previous change, use _M_check and _M_limit.
863 2004-01-21 Paolo Carlini <pcarlini@suse.de>
865 * include/bits/basic_string.h (_M_check): Change to return
866 a checked __pos and take an additional const char* argument.
867 (_M_fold): Rename to _M_limit, change to return a size_type,
868 corresponding to the __off limited to the actual length.
869 (insert(size_type, size_type, _CharT)): Update call, call
871 (insert(iterator, _CharT)): Call replace(iterator, iterator,
872 size_type, _CharT) instead.
873 (erase(size_type, size_type)): Update calls.
874 (replace(size_type, size_type, size_type, _CharT)): Ditto.
875 (substr(size_type, size_type)): Use _M_check.
876 * include/bits/basic_string.tcc (basic_string(const basic_string&,
877 size_type, size_type)): Update calls.
878 (basic_string(const basic_string&, size_type, size_type,
879 const _Alloc&)): Ditto.
880 (assign(const basic_string&, size_type, size_type)): Use the
881 new _M_check and _M_limit.
882 (insert(size_type, const basic_string&, size_type, size_type):
884 (insert(size_type, const _CharT*, size_type)): Ditto.
885 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
886 (replace(size_type, size_type, const basic_string&,
887 size_type, size_type)): Ditto.
888 (append(const basic_string&)): Ditto.
889 (append(const basic_string&, size_type, size_type)): Ditto.
890 (copy(_CharT*, size_type, size_type)): Ditto.
891 (compare(size_type, size_type, const basic_string&)): Ditto.
892 (compare(size_type, size_type, const basic_string&,size_type,
894 (compare(size_type, size_type, const _CharT*)): Ditto.
895 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
897 2004-01-19 Stefan Olsson <stefan@snon.net>
899 * include/ext/mt_allocator.h: If a thread, when it dies, still has
900 memory on it's freelist this memory is not returned to global
901 list. Simplification of deallocate so that memory is always
902 returned to the calling thread id's freelist instead of to
903 global. Fix typos. Add volatile where appropriate.
905 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
907 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
908 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
909 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
911 2004-01-19 Paolo Carlini <pcarlini@suse.de>
913 * src/debug.cc: Make sure all the names are prefixed with
914 double (or single) underscore.
916 2004-01-19 Paolo Carlini <pcarlini@suse.de>
918 * src/debug.cc: Trivial formatting change.
920 2004-01-19 Paolo Carlini <pcarlini@suse.de>
922 * include/bits/basic_string.tcc (_S_construct(size_type,
923 _CharT, const _Alloc&)): Remove redundant try/catch.
924 (_M_mutate(size_type, size_type, size_type)): Ditto.
925 (_M_clone(const _Alloc&, size_type)): Ditto.
927 2004-01-18 Paolo Carlini <pcarlini@suse.de>
929 * include/bits/basic_string.h (c_str()): Simplify, due to
930 21.3.4 the internal representation is always kept null-terminated.
931 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
932 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
933 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
936 2004-01-18 Paolo Carlini <pcarlini@suse.de>
938 * include/bits/basic_string.h (append(size_type, _CharT)):
939 Moved inline, just call _M_replace_aux, no source iterators at
940 risk of being clobbered.
941 (assign(size_type, _CharT)): Call directly _M_replace_aux.
942 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
943 input_iterator_tag)): Remove fifth unused argument.
944 (_M_replace_dispatch(iterator, iterator, _InputIterator,
945 _InputIterator, __false_type)): Update call.
946 * include/bits/basic_string.tcc (replace(size_type, size_type,
947 const _CharT*, size_type)): Update call.
948 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
949 throw string literal.
950 (_M_replace_safe(iterator, iterator, _ForwardIterator,
951 _ForwardIterator)): Likewise.
952 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
953 input_iterator_tag)): Remove fifth unused argument.
954 (append(size_type __n, _CharT __c)): Move inline.
955 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
956 const C*, const C*, input_iterator_tag)): Remove fifth unused
959 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
961 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
962 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
964 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
966 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
969 2004-01-15 Stefan Olsson <stefan@snon.net>
971 * include/ext/mt_allocator.h: Reuse thread id's as soon as
972 possible by changing the behaviour of thread_freelist to do
973 push_front when threads die instead of push_back.
975 2004-01-14 Paolo Carlini <pcarlini@suse.de>
977 * include/bits/locale_facets.h (struct __numpunct_cache):
978 Add member _M_grouping_size, caching the length of _M_grouping.
979 (__numpunct_cache<>::_M_cache): Assign the latter.
980 (__verify_grouping): Move declaration...
981 * include/bits/locale_facets.tcc (__verify_grouping):
982 ... here, change signature to take a const char* and a size_t
983 for the grouping; not a template anymore.
984 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
985 Likewise change signature and tweak consistently.
986 (num_get::_M_extract_float, num_get::_M_extract_int,
987 num_put::_M_insert_int, num_put::_M_insert_float,
988 money_get::do_get(string_type&), money_get::do_put(string_type)):
990 * config/locale/generic/numeric_members.cc
991 (numpunct<>::_M_initialize_numpunct): Assign the new member.
992 * config/locale/gnu/numeric_members.cc
993 (numpunct<>::_M_initialize_numpunct): Likewise.
994 * src/locale-inst.cc (__add_grouping): Tweak signature.
995 (__verify_grouping): Don't instantiate, not a template anymore.
997 * include/bits/locale_facets.h: Rename _M_truename_len ->
998 _M_truename_size, _M_falsename_len -> _M_falsename_size.
999 * include/bits/locale_facets.tcc: Likewise.
1000 * config/locale/generic/numeric_members.cc: Likewise.
1001 * config/locale/gnu/numeric_members.cc: Likewise.
1003 2004-01-14 Stefan Olsson <stefan@snon.net>
1005 * include/ext/mt_allocator.h: Fixups.
1006 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
1007 * testsuite/performance/allocator_thread.cc: Same.
1009 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1011 * testsuite/performance/ifstream_extract_float.cc: Add higher
1013 * testsuite/performance/ofstream_insert_float.cc: Same.
1015 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1017 * src/locale-misc-inst.cc (__convert_from_v(long),
1018 __convert_from_v(unsigned long), __convert_from_v(long long),
1019 __convert_from_v(unsigned long long)): Remove, unused.
1021 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1023 * testsuite/performance/ifstream_extract_float.cc: New.
1024 * testsuite/performance/ofstream_insert_float.cc: Float generation
1027 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
1028 * 20_util/auto_ptr/1.cc: ...this.
1029 * 20_util/auto_ptr/2.cc: Same.
1030 * 20_util/auto_ptr/3.cc: Same.
1031 * 20_util/auto_ptr/3946.cc: Same.
1032 * 20_util/auto_ptr/4.cc: Same.
1033 * 20_util/auto_ptr/5.cc: Same.
1034 * 20_util/auto_ptr/6.cc: Same.
1035 * 20_util/auto_ptr/7.cc: Same.
1036 * 20_util/auto_ptr/assign_neg.cc
1037 * 20_util/pairs.cc: Break into...
1038 * 20_util/pair/1.cc: ...this.
1039 * 20_util/pair/2.cc: Same.
1040 * 20_util/pair/3.cc: Same.
1041 * 20_util/pair/4.cc: Same.
1043 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1045 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
1046 Set correctly just basefield, the only group that matters.
1048 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1050 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
1051 (_Rope_rep_base): Inherit directly from the rope allocator;
1052 use rebinding instead of _Alloc_traits; pick up data member
1053 from _Rope_rep_alloc_base.
1054 (_Rope_alloc_base): Eliminate.
1055 (_Rope_base): Inherit directly from the rope allocator; use
1056 rebinding instead of _Alloc_traits; pick up data member from
1058 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
1059 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
1061 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1064 * include/bits/basic_string.tcc (compare(size_type, size_type,
1065 const _CharT*, size_type)): Implement correctly the resolution
1066 of DR 5: basically, s is a char array, -not- a C string.
1067 * include/bits/basic_string.h: Tweak some comments.
1068 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
1069 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
1071 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1073 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
1076 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1078 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
1080 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
1083 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1085 * include/bits/locale_facets.h (struct __numpunct_cache):
1086 Add members _M_truename_len and _M_falsename_len, caching
1087 the lengths of _M_truename and _M_falsename.
1088 (__numpunct_cache<>::_M_cache): Assign the latter.
1089 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
1090 num_put::do_put(bool)): Use the new members, thus avoiding
1091 computing string lengths again and again.
1092 * config/locale/generic/numeric_members.cc
1093 (numpunct<>::_M_initialize_numpunct): Assign the new members.
1094 * config/locale/gnu/numeric_members.cc
1095 (numpunct<>::_M_initialize_numpunct): Likewise.
1097 2004-01-12 Mark Mitchell <mark@codesourcery.com>
1099 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1100 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1102 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1103 and remove Cygwin XFAIL.
1104 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1105 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1106 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1107 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1109 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1110 * testsuite/27_io/objects/char/7.cc: Likewise.
1111 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1112 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1113 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1115 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1117 * include/std/std_complex.h (std::complex<>::real): Return a
1118 reference. Add non-const overload.
1119 (std::complex<>::real): Likewise.
1120 (std::real): Likewise.
1121 (std::imag): Likewise.
1122 (std::operator+): Tidy.
1123 (std::operator-): Likewise.
1124 (std::operator*): Likewise.
1125 (std::operator/): Likewise.
1126 (std::operator>>): Likewise.
1128 2004-01-11 Paolo Carlini <pcarlini@suse.de>
1131 * include/bits/fstream.tcc (imbue): Exploit the external
1132 buffer to imbue 'on the fly' a new locale and convert its
1133 remainder with the new codecvt facet.
1134 (underflow): Tweak slightly to deal with this special case.
1135 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1136 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1137 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1138 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1139 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
1141 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1143 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1146 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1149 * include/bits/locale_classes.h (class locale): Fix category
1151 * testsuite/22_locale/locale/13630.cc: Add.
1153 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1155 * include/bits/locale_facets.h: Make a name really dependent. This
1156 will be needed when Core Issue 224 is implemented.
1158 2004-01-09 Paolo Carlini <pcarlini@suse.de>
1160 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1161 * testsuite/performance/allocator_thread.cc: Likewise.
1163 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1165 * crossconfig.m4: Add LFS, io bits to linux cross config.
1166 * acconfig.h: Remove obsolete bits, reorder.
1167 * config.h.in: Regenerate.
1171 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
1173 * include/bits/stl_list.h:
1174 * include/bits/list.tc:
1176 Performance enhancements for destructor, push_front(),
1177 push_back(), pop_front(), pop_back(), sort()
1178 Eliminated static_casts where possible.
1179 Moved code out of header files into new src/list.cc
1180 implementation file for library where possible.
1181 Remove inheritance from iterator class and create separate
1182 classes for non-constant and constant iterators.
1183 * include/bits/stl_tree.h (_Rb_tree class):
1185 Only erase contents in destructor.
1186 Eliminate unnecessary initialization in assignment operator.
1187 Optimize for the nominal case by not checking whether
1188 container is empty in clear().
1189 Re-order test in _M_insert() to improve performance.
1190 Move initialization of new node's left & right pointers to
1191 src/tree.cc to where new node's colour is initialized
1192 and to reduce the amount of inline code.
1193 Use _M_leftmost() and _M_end() to improve readability where
1195 Create separate classes for non-constant and constant
1196 iterators to clarify code, avoid extra template parameters and
1197 casting away constness.
1199 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1201 * src/Makefile.am (sources): Add list.cc, tree.cc.
1202 * src/stl_tree.cc: Move to...
1203 * src/tree.cc: ...here.
1205 * config/linker-map.gnu: Tweaks.
1206 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1207 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1209 * bits/stl_vector.h: Column wrap comments.
1211 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
1213 (re-open) PR libstdc++/12658
1214 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1215 (locale::global): Likewise.
1217 2004-01-07 Paolo Carlini <pcarlini@suse.de>
1219 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1220 Remove redundant #include.
1221 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1222 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1223 re-enable normal testing.
1224 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1226 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1227 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1229 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1231 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1233 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1235 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1237 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1239 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1241 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1242 More properly, #include <locale>.
1243 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1244 Remove redundant #include.
1245 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1246 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1247 redundant DejaGnu directive.
1248 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1251 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
1252 Stefan Olsson <stefan@snon.net>
1254 * scripts/check_performance: Use -pthread.
1255 * testsuite/performance/allocator.cc: Tweaks, add list.
1256 * testsuite/performance/allocator_thread.cc: New.
1258 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
1260 * include/bits/locale_facets.h: Document public classes and
1262 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1265 2004-01-06 Paolo Carlini <pcarlini@suse.de>
1267 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1268 Remove redundant #includes.
1269 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1271 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1273 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1274 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1275 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1276 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1277 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1278 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1279 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1280 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1281 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1282 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1283 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1284 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1285 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1286 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1287 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1289 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1291 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1293 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1295 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1297 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1298 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1299 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1301 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1303 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1304 Remove redundant #includes.
1305 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1307 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1309 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1311 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1313 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1315 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1317 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1319 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1321 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1323 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1325 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1327 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1330 2004-01-04 Mark Mitchell <mark@codesourcery.com>
1333 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
1335 * testsuite/27_io/basic_fstream/4.cc: Likewise.
1336 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
1337 * testsuite/27_io/basic_ios/4.cc: Likewise.
1338 * testsuite/27_io/basic_iostream/4.cc: Likewise.
1339 * testsuite/27_io/basic_istream/4.cc: Likewise.
1340 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
1341 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
1342 * testsuite/27_io/basic_ostream/4.cc: Likewise.
1343 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
1344 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
1345 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
1347 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1349 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
1350 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
1351 always use double underscored names.
1352 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
1354 * include/bits/locale_facets.h (struct __numpunct_cache):
1355 Dimension _M_atoms_out and _M_atoms_in one position smaller.
1356 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out