1 2004-02-09 Stefan Olsson <stefan@xapa.se>
3 * include/ext/mt_allocator.h: thread_id is unused in non threaded
4 applications and now has a ifdef to remove it completely on
5 compilers without thread support. Include stdlib.h due to a
6 compiler warning on getenv().
8 2004-02-09 Paul Brook <paul@codesourcery.com>
10 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
12 2004-02-09 Paolo Carlini <pcarlini@suse.de>
15 * src/locale_init.cc (locale::global(const locale&)): Use
16 locale::name() in order to decide whether calling setlocale.
17 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
19 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
20 Avoid computing &= unnecessarily.
22 2004-02-09 James E Wilson <wilson@specifixinc.com>
25 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
26 __builtin_extend_pointer.
28 2004-02-09 Paolo Carlini <pcarlini@suse.de>
31 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
32 Don't leave dangling pointers.
33 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
34 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
35 facet is needed in the final test.
37 2004-02-09 Bernardo Innocenti <bernie@develer.com>
39 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
40 * configure: Regenerate.
42 2004-02-08 Richard Henderson <rth@redhat.com>
45 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
46 uncaughtExceptions during nested catch rethrow.
47 * testsuite/18_support/14026.cc: New.
49 2004-02-08 Paolo Carlini <pcarlini@suse.de>
51 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
52 When working in place remember to set the state to sharable
53 (otherwise, _M_mutate does it).
55 2004-02-08 Bernardo Innocenti <bernie@develer.com>
57 * include/bits/allocator.h, include/bits/basic_ios.h,
58 include/bits/basic_ios.tcc, include/bits/basic_string.h,
59 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
60 include/bits/char_traits.h, include/bits/codecvt.h,
61 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
62 include/bits/demangle.h, include/bits/deque.tcc,
63 include/bits/fstream.tcc, include/bits/functexcept.h,
64 include/bits/gslice.h, include/bits/gslice_array.h,
65 include/bits/indirect_array.h, include/bits/ios_base.h,
66 include/bits/istream.tcc, include/bits/list.tcc,
67 include/bits/locale_classes.h, include/bits/locale_facets.h,
68 include/bits/locale_facets.tcc, include/bits/localefwd.h,
69 include/bits/mask_array.h, include/bits/ostream.tcc,
70 include/bits/postypes.h, include/bits/slice_array.h,
71 include/bits/sstream.tcc, include/bits/stl_algo.h,
72 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
73 include/bits/stl_construct.h, include/bits/stl_deque.h,
74 include/bits/stl_function.h, include/bits/stl_heap.h,
75 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
76 include/bits/stl_list.h, include/bits/stl_map.h,
77 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
78 include/bits/stl_numeric.h, include/bits/stl_pair.h,
79 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
80 include/bits/stl_relops.h, include/bits/stl_set.h,
81 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
82 include/bits/stl_threads.h, include/bits/stl_tree.h,
83 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
84 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
85 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
86 include/bits/type_traits.h, include/bits/valarray_after.h,
87 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
88 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
91 2004-02-06 Paolo Carlini <pcarlini@suse.de>
93 * include/bits/basic_string.h: Fix comment.
95 2004-02-06 Paolo Carlini <pcarlini@suse.de>
97 * include/bits/stl_construct.h: Wrap overlong lines, reformat
98 according to the coding standards.
99 * include/bits/stl_pair.h: Likewise.
100 * include/bits/stl_raw_storage_iter.h: Likewise.
101 * include/bits/stl_stack.h: Likewise.
102 * include/bits/stl_uninitialized.h: Likewise.
103 * include/bits/stream_iterator.h: Likewise.
104 * include/bits/streambuf_iterator.h: Likewise.
105 * include/bits/type_traits.h: Likewise.
107 2004-02-06 Paolo Carlini <pcarlini@suse.de>
109 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
112 2004-02-05 Loren J. Rittle <ljrittle@acm.org>
114 * scripts/check_performance: Support PCH.
116 * scripts/check_performance (CXX): Add -DNOTHREAD.
117 * testsuite/performance/20_util/allocator/insert.cc: Integrate
118 threaded tests from insert_insert.cc. Tweak iterations,
119 remove special cases.
120 * testsuite/performance/20_util/allocator/insert_insert.cc:
121 Make all tests single-threaded. Tweak iterations.
122 * testsuite/performance/20_util/allocator/map_thread.cc:
124 * testsuite/performance/20_util/allocator/producer_consumer.cc:
127 2004-02-05 Geoffrey Keating <geoffk@apple.com>
131 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
132 'gcc-lib'. Add comment about poorly-named variables.
133 * aclocal.m4: Regenerate.
134 * configure: Regenerate.
136 2004-02-05 Paolo Carlini <pcarlini@suse.de>
138 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
139 Thousands-sep are always optional; thousands-sep are not allowed
140 after the decimal_point.
141 * testsuite/22_locale/money_get/get/char/12.cc: New.
142 * testsuite/22_locale/money_get/get/char/13.cc: New.
143 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
144 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
146 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
147 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
148 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
149 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
150 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
151 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
152 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
153 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
155 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
157 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
159 2004-02-05 Richard Sandiford <rsandifo@redhat.com>
161 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
163 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
164 it to decide whether FIONREAD should take an off_t or int argument.
166 2004-02-05 Paolo Carlini <pcarlini@suse.de>
168 * include/bits/stl_function.h: Minor formatting changes.
170 2004-02-04 Zack Weinberg <zack@codesourcery.com>
172 Revert previous change to config/abi/*/baseline_symbols.txt.
174 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
175 Zack Weinberg <zack@codesourcery.com>
177 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
179 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
180 (__basic_file<char>::_M_open_mode): Delete.
181 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
183 * testsuite/27_io/basic_filebuf/close/char/9964.cc
184 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
185 Correct flags to filebuf::open calls.
187 * config/abi/alpha-freebsd5/baseline_symbols.txt
188 * config/abi/alpha-linux-gnu/baseline_symbols.txt
189 * config/abi/hppa-linux-gnu/baseline_symbols.txt
190 * config/abi/i386-freebsd4/baseline_symbols.txt
191 * config/abi/i386-freebsd5/baseline_symbols.txt
192 * config/abi/i486-linux-gnu/baseline_symbols.txt
193 * config/abi/ia64-linux-gnu/baseline_symbols.txt
194 * config/abi/mips-linux-gnu/baseline_symbols.txt
195 * config/abi/sparc-freebsd5/baseline_symbols.txt
196 * config/abi/sparc-linux-gnu/baseline_symbols.txt
197 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
198 Remove entry for __basic_file<char>::_M_open_mode.
200 2004-02-04 Loren J. Rittle <ljrittle@acm.org>
202 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
204 2004-02-04 Felix Yen <fwy@alumni.brown.edu>
206 * testsuite/performance/20_util/producer_consumer.cc: New.
207 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
209 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
211 * testsuite/performance/20_util/allocator.cc: Move to..
212 * testsuite/performance/20_util/allocator/insert.cc: ...here.
213 * testsuite/performance/20_util/allocator_thread.cc: Move to...
214 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
215 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
216 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
218 2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
220 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
221 * docs/html/faq/index.txt: Regenerate.
223 2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
225 * include/ext/debug_allocator.h: _M_extra now stands for the
226 number of extra objects instead of the number of extra bytes.
227 (debug_allocator::allocate): Adjust.
228 (debug_allocator::deallocate): Adjust.
230 * include/ext/pool_allocator.h: Fix typo.
232 2004-02-03 Felix Yen <fwy@alumni.brown.edu>
233 Benjamin Kosnik <bkoz@redhat.com>
235 * testsuite/performance/20_util/allocator.cc: Add map,
237 * testsuite/performance/20_util/allocator_thread.cc: Same.
239 2004-02-03 Paolo Carlini <pcarlini@suse.de>
241 * include/bits/basic_string.h (insert(iterator)): Remove,
242 non-standard and already scheduled for removal.
244 2004-02-03 Paolo Carlini <pcarlini@suse.de>
246 * include/bits/stl_iterator_base_funcs.h: Minor formatting
247 and indentation tweaks.
248 * include/bits/stl_iterator_base_types.h: Likewise.
249 * include/bits/stl_list.h: Likewise.
250 * include/bits/stl_map.h: Likewise.
251 * include/bits/stl_tempbuf.h: Likewise.
253 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
255 * include/bits/gslice.h, include/bits/gslice_array.h,
256 include/bits/indirect_array.h, include/bits/mask_array.h,
257 include/bits/slice_array.h, include/bits/stl_numeric.h,
258 include/std/std_valarray.h: Update copyright years.
260 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
262 * include/bits/gslice.h (gslice): Document.
263 * include/bits/gslice_array.h (gslice_array): Document.
264 * include/bits/indirect_array (indirect_array): Document.
265 * include/bits/mask_array (mask_array): Document.
266 * include/bits/slice_array.h (slice,slice_array): Document.
267 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
268 adjacent_difference): Document
269 * include/std/std_valarray.h (valarray): Document.
271 2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
273 * docs/html/19_diagnostics/howto.html: Move verbose terminate
275 * docs/html/18_support/howto.html: Here.
276 * docs/html/documentation.html: Add reference here.
278 2004-02-02 Paolo Carlini <pcarlini@suse.de>
280 * config/locale/gnu/c++locale_internal.h: Remove prototypes
281 of no longer used GLIBC thread locale functions.
283 2004-02-02 Eric Christopher <echristo@redhat.com>
284 Zack Weinberg <zack@codesourcery.com>
286 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
288 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
289 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
290 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
291 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
292 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
293 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
294 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
295 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
298 2004-02-02 Paolo Carlini <pcarlini@suse.de>
300 * include/bits/stl_function.h: Additional minor tweaks.
301 * include/bits/stl_multiset.h: Likewise.
303 * include/bits/stl_queue.h: Minor tweaks.
305 2004-02-02 Paolo Carlini <pcarlini@suse.de>
307 PR libstdc++/13976 (continued)
308 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
309 Make the second parameter unnamed, to void unused parameter
311 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
313 2004-02-02 Paolo Carlini <pcarlini@suse.de>
316 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
317 Make the second parameter unnamed, to void unused parameter
319 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
320 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
322 2004-02-01 Paolo Carlini <pcarlini@suse.de>
324 * include/bits/stl_algo.h: Additional minor tweaks.
325 * include/bits/stl_map.h: Likewise.
326 * include/bits/stl_multimap.h: Likewise.
327 * include/bits/stl_multiset.h: Likewise.
328 * include/bits/stl_set.h: Likewise.
329 * include/bits/stl_tree.h: Likewise.
331 2004-02-01 Paolo Carlini <pcarlini@suse.de>
333 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
336 2004-02-01 Paolo Carlini <pcarlini@suse.de>
338 * include/bits/stl_function.h: Additional minor tweaks.
340 2004-02-01 Paolo Carlini <pcarlini@suse.de>
342 * include/bits/deque.tcc: Wrap overlong lines, constify
343 a few variables, reformat according to the coding standards.
344 * include/bits/list.tcc: Likewise.
345 * include/bits/stl_deque.h: Likewise.
346 * include/bits/stl_function.h: Likewise.
347 * include/bits/stl_iterator.h: Likewise.
348 * include/bits/stl_iterator_base_funcs.h: Likewise.
349 * include/bits/stl_iterator_base_types.h: Likewise.
350 * include/bits/stl_list.h: Likewise.
351 * include/bits/stl_map.h: Likewise.
352 * include/bits/stl_multimap.h: Likewise.
353 * include/bits/stl_multiset.h: Likewise.
354 * include/bits/stl_relops.h: Likewise.
355 * include/bits/stl_set.h: Likewise.
357 2004-02-01 Paolo Carlini <pcarlini@suse.de>
359 * include/bits/stl_bvector.h: Wrap overlong lines, constify
360 a few variables, reformat according to the coding standards.
361 * include/bits/stl_tree.h: Likewise.
363 2004-01-31 Paolo Carlini <pcarlini@suse.de>
365 * include/bits/stl_algo.h: Minor additional reformat, add
367 * include/bits/stl_algobase.h: Add copyright year.
369 2004-01-31 Paolo Carlini <pcarlini@suse.de>
371 * include/bits/stl_algo.h: Wrap overlong lines, constify
372 a few variables, reformat according to the coding standards.
373 * include/bits/stl_algobase.h: Likewise.
374 * include/bits/stl_heap.h: Likewise.
376 2004-01-31 Paolo Carlini <pcarlini@suse.de>
378 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
380 * include/bits/basic_string.h: Fix two comments.
382 2004-01-31 Per Bothner <per@bothner.com>
384 * include/ext/mt_allocator.h
385 (__mt_alloc::_S_thread_freelist_mutex): Guard with
386 __GTHREAD_MUTEX_INIT.
388 2004-01-31 Paolo Carlini <pcarlini@suse.de>
390 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
392 2004-01-30 Paolo Carlini <pcarlini@suse.de>
394 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
395 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
396 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
398 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
400 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
401 Don't use clear, but instead assign. Use insert.
403 2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
405 * src/demangle.cc: Add instantiations.
406 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
407 * src/Makefile.in: Regenerate.
409 2004-01-30 David Edelsohn <edelsohn@gnu.org>
411 * src/allocator.cc: Protect _S_get_thread_id() and
412 _S_thread_key_destr() with #ifdef __GTHREADS.
414 2004-01-30 Paolo Carlini <pcarlini@suse.de>
416 Reshuffle performance testsuite.
417 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
418 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
419 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
420 fstream_seek_write.cc, ifstream_extract_float.cc,
421 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
422 list_create_fill_sort.cc, map_create_fill.cc,
423 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
424 ofstream_insert_float.cc, ofstream_insert_int.cc,
425 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
426 wchar_t_out.cc: Split into...
427 * testsuite/performance/20_util/allocator.cc: New.
428 * testsuite/performance/20_util/allocator_map_thread.cc: New.
429 * testsuite/performance/20_util/allocator_thread.cc: New.
430 * testsuite/performance/21_strings/string_append: New.
431 * testsuite/performance/22_locale/is_wchar_t.cc: New.
432 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
433 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
434 * testsuite/performance/22_locale/wchar_t_in.cc: New.
435 * testsuite/performance/22_locale/wchar_t_length.cc: New.
436 * testsuite/performance/22_locale/wchar_t_out.cc: New.
437 * testsuite/performance/23_containers/container_benchmark.cc: New.
438 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
439 * testsuite/performance/23_containers/map_create_fill.cc: New.
440 * testsuite/performance/26_numerics/complex_norm.cc: New.
441 * testsuite/performance/27_io/cout_insert_int.cc: New.
442 * testsuite/performance/27_io/filebuf_copy.cc: New.
443 * testsuite/performance/27_io/filebuf_sputc.cc: New.
444 * testsuite/performance/27_io/fstream_seek_write.cc: New.
445 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
446 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
447 * testsuite/performance/27_io/ifstream_getline.cc: New.
448 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
449 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
451 2004-01-30 Paolo Carlini <pcarlini@suse.de>
453 * include/bits/basic_string.tcc (_Rep::_S_create):
454 Never allocate a string bigger than max_size(); always keep
455 __capacity and __size in sync to avoid memory leaks at
458 2004-01-30 Paolo Carlini <pcarlini@suse.de>
460 * include/bits/basic_string.tcc (_S_construct(_InIterator,
461 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
462 the double loop, streamline.
464 * include/bits/basic_string.tcc: Very minor tweaks.
466 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
468 * scripts/check_performance: Only compile with $THREAD_FLAG
469 when test is marked to require it. Allow multiple
470 compilations/executions of marked tests.
471 * testsuite/testsuite_performance.h (report_performance):
472 Report dynamic thread support status.
473 (report_header): Likewise.
474 * testsuite/performance/allocator.cc: Stabilize iteration
475 count. Support more allocators. Mark each allocator test to
476 run and report independently.
477 * testsuite/performance/allocator_map_thread.cc: Likewise.
478 * testsuite/performance/allocator_thread.cc: Likewise.
480 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
482 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
483 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
484 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
485 std::get_temporary_buffer() instead of duplicating its code.
486 Update to C++STYLE conventions.
487 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
488 new() instead of std::malloc().
489 (return_temporary_buffer): Use ::operator delete() instead of
492 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
494 * include/bits/allocator.h: Temporary switch to new_allocator as
495 the default to unjam bootstraps.
497 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
499 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
500 * include/Makefile.in: Regenerate.
501 * include/bits/allocator_traits.h: Remove.
502 * include/bits/allocator.h: Remove allocator_traits.h include, and
504 (allocator): Empty base class, inherit from the underlying allocator.
505 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
506 * src/allocator.cc: ...here. New. For the underlying allocators.
507 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
508 * config/linker-map.gnu: Remove __pool_alloc bits.
509 * src/Makefile.am (sources): Add allocator.cc.
510 * src/Makefile.in: Regenerate.
511 * testsuite/20_util/allocator/1.cc: Split second test into...
512 * testsuite/20_util/allocator/8230.cc: ...this.
513 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
514 typedef to use std::allocatore. Format.
515 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
517 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
518 __throw_bad_alloc calls. Don't include <memory>.
519 * include/ext/malloc_allocator.h: Remove <memory> include.
520 * include/ext/new_allocator.h (new_allocator): Same.
521 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
522 declaration. Switch __alloc to _Alloc.
523 * include/ext/hashtable.h: Remove __alloc.
524 * include/backward/alloc.h: Only inject allocator, not
525 implementation details.
527 * include/ext/mt_allocator.h: Replace free with delete.
529 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
531 * src/globals_io.cc: Change to __gnu_internal namespace.
532 * src/globals_locale.cc: Same.
533 * src/locale_init.cc: Same.
534 * src/ios_init.cc: Same.
536 2004-01-28 Stefan Olsson <stefan@snon.net>
538 * include/ext/mt_allocator.h: Replaced all malloc() calls with
539 operator new(). Added support for the env variable
540 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
541 one in allocate() as well). Fix typos.
543 2004-01-28 Paolo Carlini <pcarlini@suse.de>
545 * include/bits/basic_string.h (_S_create(size_t,
546 const _Alloc&): Change signature to take two size_type
548 * include/bits/basic_string.tcc (_S_construct(_InIterator,
549 _InIterator, const _Alloc&, input_iterator_tag)): Update
551 (_S_construct(_InIterator, _InIterator, const _Alloc&,
552 forward_iterator_tag)): Likewise.
553 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
554 (_M_mutate(size_type, size_type, size_type)): Don't
555 implement the exponential growth policy, demand it to
556 _S_create, update call and simplify.
557 (_M_clone(const _Alloc&, size_type)): Likewise.
558 (_S_create(size_type, size_type, const _Alloc&)): Implement
559 the growth policy, simplify otherwise.
561 * include/bits/basic_string.h (_Rep::operator[]): Tweak
562 signature to take a size_type, consistently with the other
565 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
567 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
568 delete declarations, add include and test variable.
570 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
572 * include/bits/codecvt.h, include/bits/locale_facets.h,
573 include/bits/postypes.h, include/bits/stl_bvector.h,
574 include/bits/stl_multiset.h, include/bits/stl_set.h,
575 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
576 include/std/std_complex.h: Document.
578 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
581 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
582 iword/pword selector.
583 (ios_base::iword, ios_base::pword): Use it.
584 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
585 iword or pword member on alloc failure.
586 * testsuite/27_io/ios_base/storage/11584.cc: New test.
588 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
589 PJ Darcy <darcypj@us.ibm.com>
591 * configure.host: Add support for *-tpf.
592 * crossconfig.m4: Likewise.
593 * configure: Regenerate.
594 * config/os/tpf: New directory.
595 * config/os/tpf/os_defines.h: New file.
596 * config/os/tpf/ctype_base.h: Likewise.
597 * config/os/tpf/ctype_inline.h: Likewise.
598 * config/os/tpf/ctype_noninline.h: Likewise.
600 2004-01-27 Paolo Carlini <pcarlini@suse.de>
603 * include/bits/sstream.tcc: Guard use of extern template.
605 2004-01-27 Paolo Carlini <pcarlini@suse.de>
607 * include/bits/basic_string.tcc
608 (basic_string(const basic_string&, size_type, size_type),
609 basic_string(const basic_string&, size_type, size_type,
610 const _Alloc&)): Avoid unnecessarily constructing iterators.
612 2004-01-26 Paolo Carlini <pcarlini@suse.de>
614 * config/locale/generic/c_locale.cc: Fix throw messages
615 to use the __N marker.
616 * config/locale/gnu/c_locale.cc: Likewise.
617 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
619 * docs/html/17_intro/C++STYLE: Likewise.
620 * include/bits/basic_ios.tcc: Likewise.
621 * include/bits/fstream.tcc: Likewise.
622 * include/bits/vector.tcc: Likewise.
623 * include/ext/ropeimpl.h: Likewise.
624 * include/std/std_bitset.h: Likewise.
625 * src/ios.cc: Likewise.
626 * src/locale.cc: Likewise.
627 * src/localename.cc: Likewise.
629 2004-01-26 Paolo Carlini <pcarlini@suse.de>
631 * include/bits/basic_string.h (_M_replace_aux): Use the
632 __N marker in throw message.
633 * include/bits/basic_string.tcc (assign(const _CharT*,
634 size_type), insert(size_type, const _CharT*, size_type),
635 replace(size_type, size_type, const _CharT*, size_type),
636 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
639 * include/bits/basic_string.h, include/bits/basic_string.tcc:
640 Fold overlong lines, minor formatting changes.
642 2004-01-26 Paolo Carlini <pcarlini@suse.de>
644 * include/bits/basic_string.h (replace(iterator, iterator,
645 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
646 (replace(iterator, iterator, const _CharT*)): Ditto.
647 (replace(iterator, iterator, const _CharT*, size_type)):
648 Add missing _GLIBCXX_DEBUG_PEDASSERT.
650 2004-01-26 Paolo Carlini <pcarlini@suse.de>
652 * include/bits/basic_string.tcc (replace(size_type,
653 size_type, const _CharT*, size_type)): Implement optimized
654 in-place algorithm for non-overlapping ranges.
655 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
656 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
658 * include/bits/basic_string.tcc (insert(size_type,
659 const _CharT*, size_type)): Tweak slightly.
661 2004-01-26 Andreas Schwab <schwab@suse.de>
663 * config/locale/gnu/monetary_members.cc: Restore locale before
664 rethrowing exception.
666 2004-01-25 Paolo Carlini <pcarlini@suse.de>
668 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
670 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
673 * include/bits/basic_string.tcc: Very minor tweaks.
675 2004-01-25 Paolo Carlini <pcarlini@suse.de>
677 * testsuite/performance/string_append.cc: Increase number
680 2004-01-25 Paolo Carlini <pcarlini@suse.de>
682 * include/bits/basic_string.h (erase(size_type, size_type),
683 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
684 instead, thus avoiding redundant check for length_error.
686 * include/bits/basic_string.h: Tweak some comments.
688 2004-01-24 Paolo Carlini <pcarlini@suse.de>
690 * include/bits/basic_string.tcc (operator+(const _CharT*,
691 const basic_string&)): No need to go through the append
692 taking two iterators.
694 2004-01-24 Paolo Carlini <pcarlini@suse.de>
696 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
697 Revert last change to use std::min: machine language is worse.
698 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
699 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
700 (find_last_not_of(_CharT, size_type)): Ditto.
702 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
703 size_type)): Discard the value returned by _M_check.
704 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
705 (append(const basic_string&, size_type, size_type)): Ditto.
706 (copy(_CharT*, size_type, size_type)): Ditto.
707 (compare(size_type, size_type, const basic_string&)): Ditto.
708 (compare(size_type, size_type, const basic_string&,
709 size_type, size_type)): Ditto.
710 (compare(size_type, size_type, const _CharT*)): Ditto.
711 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
713 2004-01-24 Paolo Carlini <pcarlini@suse.de>
715 * include/bits/basic_string.h (insert(size_type,
716 const basic_string&, size_type, size_type)): Define inline here.
717 * include/bits/basic_string.tcc (insert(size_type,
718 const basic_string&, size_type, size_type)): Move inline.
720 2004-01-24 Paolo Carlini <pcarlini@suse.de>
722 * include/bits/basic_string.h (assign(const basic_string&,
723 size_type, size_type)): Define inline here.
724 (replace(size_type, size_type, const basic_string&,
725 size_type, size_type)): Ditto.
726 (_M_replace_dispatch(iterator, iterator, _InputIterator,
727 _InputIterator, __false_type)): Only declare.
728 (_M_replace(iterator, iterator, _InputIterator,
729 _InputIterator)): Remove.
730 * include/bits/basic_string.tcc (assign(const basic_string&,
731 size_type, size_type)): Move inline.
732 (replace(size_type, size_type, const basic_string&,
733 size_type, size_type)): Ditto.
734 (_M_replace_dispatch(iterator, iterator, _InputIterator,
735 _InputIterator, __false_type)): Define, now does also what
736 _M_replace did before.
737 * src/string-inst.cc (_M_replace): Don't instantiate.
739 * include/bits/basic_string.tcc (find(const _CharT*,
740 size_type, size_type)): Tidy.
741 (rfind(_CharT, size_type)): Ditto.
742 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
743 (find_first_not_of(_CharT, size_type)): Ditto.
744 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
745 (find_last_not_of(_CharT, size_type)): Ditto.
747 2004-01-23 Paolo Carlini <pcarlini@suse.de>
750 * include/debug/bitset (operator|=): Fix typo.
751 * testsuite/23_containers/bitset/operations/13838.cc: New.
753 2004-01-23 Paolo Carlini <pcarlini@suse.de>
755 * include/bits/basic_string.tcc (insert(size_type,
756 const _CharT*, size_type __n)): Fix length_error check.
757 (replace(size_type, size_type, const _CharT*, size_type):
758 Ditto; call _M_replace_safe.
759 (_M_replace_aux(size_type, size_type, size_type, _CharT):
760 Fix length_error check.
761 (_M_replace(iterator, iterator, _InputIterator,
762 _InputIterator)): Ditto, tweak.
763 (_M_replace_safe(size_type, size_type, const _CharT*,
764 size_type)): Remove length_error check.
766 * include/bits/basic_string.tcc (append(const basic_string&),
767 append(const basic_string&, size_type, size_type)): Tweak
770 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
771 size_type)): If __n == 0 don't call traits::copy.
773 2004-01-23 Stefan Olsson <stefan@snon.net>
775 * include/ext/mt_allocator.h: Reduce lock contention.
777 2004-01-23 Paolo Carlini <pcarlini@suse.de>
780 * include/bits/fstream.tcc (underflow): Remove unused
782 * include/bits/streambuf_iterator.h (equal): Ditto.
783 * include/bits/locale_facets.h (_M_convert_from_char):
786 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
789 * config/linker-map.gnu (nan): Delete.
790 * libmath/mathconf.h (NAN, nan): Delete.
791 * linkage.m4 (nan): Don't check for it.
792 * libmath/nan.c: Delete file.
794 * config.h.in, configure: Regenerate.
796 2004-01-23 Paolo Carlini <pcarlini@suse.de>
798 * include/bits/basic_string.h (push_back(_CharT)):
800 (insert(size_type, const basic_string&)): Trivial tweak.
801 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
802 (insert(iterator, _CharT)): Ditto.
803 (erase(size_type, size_type)): Ditto.
804 (erase(iterator)): Ditto.
805 (erase(iterator, iterator)): Ditto.
806 (replace(size_type, size_type, size_type, _CharT)): Ditto.
808 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
811 * testsuite/performance/allocator_map_thread.cc: New test.
813 2004-01-22 Paolo Carlini <pcarlini@suse.de>
815 * include/bits/locale_facets.tcc
816 (money_put::do_put(..., long double)): Use the basic_string
817 constructor for char arrays, not that for C-strings, to pass
818 __digits to do_put(..., const string_type&): __ws isn't
821 2004-01-22 Paolo Carlini <pcarlini@suse.de>
823 * include/bits/basic_string.h (_M_replace_safe): Change
824 signatures to take size_types and const _CharT*.
825 (_M_replace_aux): Likewise, takes size_types instead of
827 (append(size_type, _CharT)): Update call.
828 (assign(size_type, _CharT)): Ditto.
829 (replace(iterator, iterator, size_type, _CharT)): Ditto.
830 (_M_replace_dispatch(iterator, iterator, _Integer,
831 _Integer, __true_type)): Ditto.
832 * include/bits/basic_string.tcc (assign(const _CharT*,
834 (insert(size_type, const _CharT*, size_type)): Ditto.
835 (replace(size_type, size_type, const _CharT*,
837 (_M_replace(iterator, iterator, _InputIterator,
838 _InputIterator)): Ditto.
839 (append(const basic_string&)): Ditto.
840 (append(const basic_string&, size_type, size_type): Ditto.
841 (append(const _CharT*, size_type): Ditto.
842 (_M_replace_safe, _M_replace_safe): Change definitions
843 accordingly, simplify.
844 * string-inst.cc (_M_replace_safe): Don't instantiate.
846 2004-01-21 Paolo Carlini <pcarlini@suse.de>
848 * include/bits/basic_string.tcc (append(const basic_string&)):
849 Revert previous change.
850 (append(const basic_string&, size_type, size_type)): Revert
851 previous change, use _M_check and _M_limit.
853 2004-01-21 Paolo Carlini <pcarlini@suse.de>
855 * include/bits/basic_string.h (_M_check): Change to return
856 a checked __pos and take an additional const char* argument.
857 (_M_fold): Rename to _M_limit, change to return a size_type,
858 corresponding to the __off limited to the actual length.
859 (insert(size_type, size_type, _CharT)): Update call, call
861 (insert(iterator, _CharT)): Call replace(iterator, iterator,
862 size_type, _CharT) instead.
863 (erase(size_type, size_type)): Update calls.
864 (replace(size_type, size_type, size_type, _CharT)): Ditto.
865 (substr(size_type, size_type)): Use _M_check.
866 * include/bits/basic_string.tcc (basic_string(const basic_string&,
867 size_type, size_type)): Update calls.
868 (basic_string(const basic_string&, size_type, size_type,
869 const _Alloc&)): Ditto.
870 (assign(const basic_string&, size_type, size_type)): Use the
871 new _M_check and _M_limit.
872 (insert(size_type, const basic_string&, size_type, size_type):
874 (insert(size_type, const _CharT*, size_type)): Ditto.
875 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
876 (replace(size_type, size_type, const basic_string&,
877 size_type, size_type)): Ditto.
878 (append(const basic_string&)): Ditto.
879 (append(const basic_string&, size_type, size_type)): Ditto.
880 (copy(_CharT*, size_type, size_type)): Ditto.
881 (compare(size_type, size_type, const basic_string&)): Ditto.
882 (compare(size_type, size_type, const basic_string&,size_type,
884 (compare(size_type, size_type, const _CharT*)): Ditto.
885 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
887 2004-01-19 Stefan Olsson <stefan@snon.net>
889 * include/ext/mt_allocator.h: If a thread, when it dies, still has
890 memory on it's freelist this memory is not returned to global
891 list. Simplification of deallocate so that memory is always
892 returned to the calling thread id's freelist instead of to
893 global. Fix typos. Add volatile where appropriate.
895 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
897 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
898 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
899 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
901 2004-01-19 Paolo Carlini <pcarlini@suse.de>
903 * src/debug.cc: Make sure all the names are prefixed with
904 double (or single) underscore.
906 2004-01-19 Paolo Carlini <pcarlini@suse.de>
908 * src/debug.cc: Trivial formatting change.
910 2004-01-19 Paolo Carlini <pcarlini@suse.de>
912 * include/bits/basic_string.tcc (_S_construct(size_type,
913 _CharT, const _Alloc&)): Remove redundant try/catch.
914 (_M_mutate(size_type, size_type, size_type)): Ditto.
915 (_M_clone(const _Alloc&, size_type)): Ditto.
917 2004-01-18 Paolo Carlini <pcarlini@suse.de>
919 * include/bits/basic_string.h (c_str()): Simplify, due to
920 21.3.4 the internal representation is always kept null-terminated.
921 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
922 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
923 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
926 2004-01-18 Paolo Carlini <pcarlini@suse.de>
928 * include/bits/basic_string.h (append(size_type, _CharT)):
929 Moved inline, just call _M_replace_aux, no source iterators at
930 risk of being clobbered.
931 (assign(size_type, _CharT)): Call directly _M_replace_aux.
932 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
933 input_iterator_tag)): Remove fifth unused argument.
934 (_M_replace_dispatch(iterator, iterator, _InputIterator,
935 _InputIterator, __false_type)): Update call.
936 * include/bits/basic_string.tcc (replace(size_type, size_type,
937 const _CharT*, size_type)): Update call.
938 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
939 throw string literal.
940 (_M_replace_safe(iterator, iterator, _ForwardIterator,
941 _ForwardIterator)): Likewise.
942 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
943 input_iterator_tag)): Remove fifth unused argument.
944 (append(size_type __n, _CharT __c)): Move inline.
945 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
946 const C*, const C*, input_iterator_tag)): Remove fifth unused
949 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
951 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
952 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
954 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
956 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
959 2004-01-15 Stefan Olsson <stefan@snon.net>
961 * include/ext/mt_allocator.h: Reuse thread id's as soon as
962 possible by changing the behaviour of thread_freelist to do
963 push_front when threads die instead of push_back.
965 2004-01-14 Paolo Carlini <pcarlini@suse.de>
967 * include/bits/locale_facets.h (struct __numpunct_cache):
968 Add member _M_grouping_size, caching the length of _M_grouping.
969 (__numpunct_cache<>::_M_cache): Assign the latter.
970 (__verify_grouping): Move declaration...
971 * include/bits/locale_facets.tcc (__verify_grouping):
972 ... here, change signature to take a const char* and a size_t
973 for the grouping; not a template anymore.
974 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
975 Likewise change signature and tweak consistently.
976 (num_get::_M_extract_float, num_get::_M_extract_int,
977 num_put::_M_insert_int, num_put::_M_insert_float,
978 money_get::do_get(string_type&), money_get::do_put(string_type)):
980 * config/locale/generic/numeric_members.cc
981 (numpunct<>::_M_initialize_numpunct): Assign the new member.
982 * config/locale/gnu/numeric_members.cc
983 (numpunct<>::_M_initialize_numpunct): Likewise.
984 * src/locale-inst.cc (__add_grouping): Tweak signature.
985 (__verify_grouping): Don't instantiate, not a template anymore.
987 * include/bits/locale_facets.h: Rename _M_truename_len ->
988 _M_truename_size, _M_falsename_len -> _M_falsename_size.
989 * include/bits/locale_facets.tcc: Likewise.
990 * config/locale/generic/numeric_members.cc: Likewise.
991 * config/locale/gnu/numeric_members.cc: Likewise.
993 2004-01-14 Stefan Olsson <stefan@snon.net>
995 * include/ext/mt_allocator.h: Fixups.
996 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
997 * testsuite/performance/allocator_thread.cc: Same.
999 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1001 * testsuite/performance/ifstream_extract_float.cc: Add higher
1003 * testsuite/performance/ofstream_insert_float.cc: Same.
1005 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1007 * src/locale-misc-inst.cc (__convert_from_v(long),
1008 __convert_from_v(unsigned long), __convert_from_v(long long),
1009 __convert_from_v(unsigned long long)): Remove, unused.
1011 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1013 * testsuite/performance/ifstream_extract_float.cc: New.
1014 * testsuite/performance/ofstream_insert_float.cc: Float generation
1017 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
1018 * 20_util/auto_ptr/1.cc: ...this.
1019 * 20_util/auto_ptr/2.cc: Same.
1020 * 20_util/auto_ptr/3.cc: Same.
1021 * 20_util/auto_ptr/3946.cc: Same.
1022 * 20_util/auto_ptr/4.cc: Same.
1023 * 20_util/auto_ptr/5.cc: Same.
1024 * 20_util/auto_ptr/6.cc: Same.
1025 * 20_util/auto_ptr/7.cc: Same.
1026 * 20_util/auto_ptr/assign_neg.cc
1027 * 20_util/pairs.cc: Break into...
1028 * 20_util/pair/1.cc: ...this.
1029 * 20_util/pair/2.cc: Same.
1030 * 20_util/pair/3.cc: Same.
1031 * 20_util/pair/4.cc: Same.
1033 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1035 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
1036 Set correctly just basefield, the only group that matters.
1038 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1040 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
1041 (_Rope_rep_base): Inherit directly from the rope allocator;
1042 use rebinding instead of _Alloc_traits; pick up data member
1043 from _Rope_rep_alloc_base.
1044 (_Rope_alloc_base): Eliminate.
1045 (_Rope_base): Inherit directly from the rope allocator; use
1046 rebinding instead of _Alloc_traits; pick up data member from
1048 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
1049 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
1051 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1054 * include/bits/basic_string.tcc (compare(size_type, size_type,
1055 const _CharT*, size_type)): Implement correctly the resolution
1056 of DR 5: basically, s is a char array, -not- a C string.
1057 * include/bits/basic_string.h: Tweak some comments.
1058 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
1059 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
1061 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1063 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
1066 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1068 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
1070 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
1073 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1075 * include/bits/locale_facets.h (struct __numpunct_cache):
1076 Add members _M_truename_len and _M_falsename_len, caching
1077 the lengths of _M_truename and _M_falsename.
1078 (__numpunct_cache<>::_M_cache): Assign the latter.
1079 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
1080 num_put::do_put(bool)): Use the new members, thus avoiding
1081 computing string lengths again and again.
1082 * config/locale/generic/numeric_members.cc
1083 (numpunct<>::_M_initialize_numpunct): Assign the new members.
1084 * config/locale/gnu/numeric_members.cc
1085 (numpunct<>::_M_initialize_numpunct): Likewise.
1087 2004-01-12 Mark Mitchell <mark@codesourcery.com>
1089 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1090 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1092 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1093 and remove Cygwin XFAIL.
1094 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1095 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1096 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1097 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1099 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1100 * testsuite/27_io/objects/char/7.cc: Likewise.
1101 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1102 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1103 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1105 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1107 * include/std/std_complex.h (std::complex<>::real): Return a
1108 reference. Add non-const overload.
1109 (std::complex<>::real): Likewise.
1110 (std::real): Likewise.
1111 (std::imag): Likewise.
1112 (std::operator+): Tidy.
1113 (std::operator-): Likewise.
1114 (std::operator*): Likewise.
1115 (std::operator/): Likewise.
1116 (std::operator>>): Likewise.
1118 2004-01-11 Paolo Carlini <pcarlini@suse.de>
1121 * include/bits/fstream.tcc (imbue): Exploit the external
1122 buffer to imbue 'on the fly' a new locale and convert its
1123 remainder with the new codecvt facet.
1124 (underflow): Tweak slightly to deal with this special case.
1125 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1126 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1127 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1128 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1129 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
1131 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1133 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1136 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1139 * include/bits/locale_classes.h (class locale): Fix category
1141 * testsuite/22_locale/locale/13630.cc: Add.
1143 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1145 * include/bits/locale_facets.h: Make a name really dependent. This
1146 will be needed when Core Issue 224 is implemented.
1148 2004-01-09 Paolo Carlini <pcarlini@suse.de>
1150 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1151 * testsuite/performance/allocator_thread.cc: Likewise.
1153 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1155 * crossconfig.m4: Add LFS, io bits to linux cross config.
1156 * acconfig.h: Remove obsolete bits, reorder.
1157 * config.h.in: Regenerate.
1161 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
1163 * include/bits/stl_list.h:
1164 * include/bits/list.tc:
1166 Performance enhancements for destructor, push_front(),
1167 push_back(), pop_front(), pop_back(), sort()
1168 Eliminated static_casts where possible.
1169 Moved code out of header files into new src/list.cc
1170 implementation file for library where possible.
1171 Remove inheritance from iterator class and create separate
1172 classes for non-constant and constant iterators.
1173 * include/bits/stl_tree.h (_Rb_tree class):
1175 Only erase contents in destructor.
1176 Eliminate unnecessary initialization in assignment operator.
1177 Optimize for the nominal case by not checking whether
1178 container is empty in clear().
1179 Re-order test in _M_insert() to improve performance.
1180 Move initialization of new node's left & right pointers to
1181 src/tree.cc to where new node's colour is initialized
1182 and to reduce the amount of inline code.
1183 Use _M_leftmost() and _M_end() to improve readability where
1185 Create separate classes for non-constant and constant
1186 iterators to clarify code, avoid extra template parameters and
1187 casting away constness.
1189 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1191 * src/Makefile.am (sources): Add list.cc, tree.cc.
1192 * src/stl_tree.cc: Move to...
1193 * src/tree.cc: ...here.
1195 * config/linker-map.gnu: Tweaks.
1196 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1197 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1199 * bits/stl_vector.h: Column wrap comments.
1201 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
1203 (re-open) PR libstdc++/12658
1204 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1205 (locale::global): Likewise.
1207 2004-01-07 Paolo Carlini <pcarlini@suse.de>
1209 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1210 Remove redundant #include.
1211 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1212 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1213 re-enable normal testing.
1214 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1216 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1217 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1219 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1221 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1223 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1225 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1227 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1229 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1231 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1232 More properly, #include <locale>.
1233 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1234 Remove redundant #include.
1235 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1236 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1237 redundant DejaGnu directive.
1238 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1241 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
1242 Stefan Olsson <stefan@snon.net>
1244 * scripts/check_performance: Use -pthread.
1245 * testsuite/performance/allocator.cc: Tweaks, add list.
1246 * testsuite/performance/allocator_thread.cc: New.
1248 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
1250 * include/bits/locale_facets.h: Document public classes and
1252 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1255 2004-01-06 Paolo Carlini <pcarlini@suse.de>
1257 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1258 Remove redundant #includes.
1259 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1261 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1263 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1264 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1265 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1266 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1267 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1268 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1269 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1270 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1271 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1272 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1273 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1274 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1275 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1276 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1277 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1279 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1281 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1283 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1285 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1287 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1288 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1289 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1291 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1293 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1294 Remove redundant #includes.
1295 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1297 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1299 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1301 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1303 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1305 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1307 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1309 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1311 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1313 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1315 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1317 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1320 2004-01-04 Mark Mitchell <mark@codesourcery.com>
1323 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
1325 * testsuite/27_io/basic_fstream/4.cc: Likewise.
1326 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
1327 * testsuite/27_io/basic_ios/4.cc: Likewise.
1328 * testsuite/27_io/basic_iostream/4.cc: Likewise.
1329 * testsuite/27_io/basic_istream/4.cc: Likewise.
1330 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
1331 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
1332 * testsuite/27_io/basic_ostream/4.cc: Likewise.
1333 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
1334 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
1335 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
1337 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1339 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
1340 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
1341 always use double underscored names.
1342 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
1344 * include/bits/locale_facets.h (struct __numpunct_cache):
1345 Dimension _M_atoms_out and _M_atoms_in one position smaller.
1346 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out