1 2004-02-16 Paolo Carlini <pcarlini@suse.de>
3 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
4 Qualify exception with std::.
5 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
6 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
7 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
8 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
9 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
11 2004-02-16 Paolo Carlini <pcarlini@suse.de>
13 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
14 for now that the catch block is not reached.
15 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
17 2004-02-16 Paolo Carlini <pcarlini@suse.de>
19 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
20 Fix parsing of the remaining sign characters.
21 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
22 the input is scanned 'til eof.
23 * 22_locale/money_get/get/char/4.cc: Likewise.
24 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
25 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
26 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
27 not do_pos_format: the former is the only one that matters during
29 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
31 * 22_locale/money_get/get/char/6.cc: Minor tweak.
32 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
34 2004-02-15 David Asher <david.asher@cavium.com>
37 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
38 access __olds beyond __oldlen.
40 2004-02-14 Paolo Carlini <pcarlini@suse.de>
42 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
43 sure the exception is actually thrown.
44 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
45 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
46 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
48 2004-02-14 Paolo Carlini <pcarlini@suse.de>
51 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
52 In case of conversion errors, throw ios_failure; simplify.
53 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
54 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
55 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
56 previously we didn't throw in case of conversion errors, instead
58 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
59 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
60 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
62 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
63 Trivial simplification of a conditional.
65 2004-02-12 Paolo Carlini <pcarlini@suse.de>
67 PR libstdc++/13731 (final part: writev)
68 * config/io/basic_file_stdio.cc (__gnu_internal::xwrite):
69 New, a wrapper around writev() handling partial writes.
70 (__basic_file<char>::xwrite): Move to __gnu_internal and make
72 (__basic_file<char>::xsputn): Update call.
73 (__basic_file<char>::xsputn_2): Likewise.
74 * config/io/basic_file_stdio.h (__basic_file<char>::write):
75 Don't declare, now static.
77 2004-02-11 Stefan Olsson <stefan@xapa.se>
79 * docs/html/ext/mt_allocator.html: New.
81 2004-02-11 Benjamin Kosnik <bkoz@redhat.com>
83 * docs/html/20_util/allocator.html: New file, consolidate
84 allocator information here. Revamp.
85 * docs/html/documentation.html: Change links.
86 * docs/html/20_util/howto.html: Same.
87 * docs/html/ext/howto.html: Same.
89 2004-02-11 Paolo Carlini <pcarlini@suse.de>
91 PR libstdc++/13731 (first part: write)
92 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
94 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
95 Define it: a wrapper around write() handling partial write.
96 (__basic_file<char>::xsputn): Use it.
97 (__basic_file<char>::xsputn_2): Likewise.
99 2004-02-11 Paolo Carlini <pcarlini@suse.de>
100 Petur Runolfsson <peturr02@ru.is>
103 * include/std/std_istream.h (operator>>(__istream_type& (*)
104 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
105 operator>>(ios_base& (*)(ios_base&))): Declare inline.
106 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
107 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
108 operator<<(ios_base& (*) (ios_base&))): Likewise.
109 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
111 2004-02-10 Loren J. Rittle <ljrittle@acm.org>
114 * config/linker-map.gnu: Add typeinfo and typeinfo name for
115 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
118 * config/linker-map.gnu: Add typeinfo and typeinfo name for
119 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
121 2004-02-09 Loren J. Rittle <ljrittle@acm.org>
123 * include/ext/pool_allocator.h: Include c++config.h.
125 2004-02-09 Stefan Olsson <stefan@xapa.se>
127 * include/ext/mt_allocator.h: thread_id is unused in non threaded
128 applications and now has a ifdef to remove it completely on
129 compilers without thread support. Include stdlib.h due to a
130 compiler warning on getenv().
132 2004-02-09 Paul Brook <paul@codesourcery.com>
134 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
136 2004-02-09 Paolo Carlini <pcarlini@suse.de>
139 * src/locale_init.cc (locale::global(const locale&)): Use
140 locale::name() in order to decide whether calling setlocale.
141 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
143 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
144 Avoid computing &= unnecessarily.
146 2004-02-09 James E Wilson <wilson@specifixinc.com>
149 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
150 __builtin_extend_pointer.
152 2004-02-09 Paolo Carlini <pcarlini@suse.de>
155 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
156 Don't leave dangling pointers.
157 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
158 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
159 facet is needed in the final test.
161 2004-02-09 Bernardo Innocenti <bernie@develer.com>
163 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
164 * configure: Regenerate.
166 2004-02-08 Richard Henderson <rth@redhat.com>
169 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
170 uncaughtExceptions during nested catch rethrow.
171 * testsuite/18_support/14026.cc: New.
173 2004-02-08 Paolo Carlini <pcarlini@suse.de>
175 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
176 When working in place remember to set the state to sharable
177 (otherwise, _M_mutate does it).
179 2004-02-08 Bernardo Innocenti <bernie@develer.com>
181 * include/bits/allocator.h, include/bits/basic_ios.h,
182 include/bits/basic_ios.tcc, include/bits/basic_string.h,
183 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
184 include/bits/char_traits.h, include/bits/codecvt.h,
185 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
186 include/bits/demangle.h, include/bits/deque.tcc,
187 include/bits/fstream.tcc, include/bits/functexcept.h,
188 include/bits/gslice.h, include/bits/gslice_array.h,
189 include/bits/indirect_array.h, include/bits/ios_base.h,
190 include/bits/istream.tcc, include/bits/list.tcc,
191 include/bits/locale_classes.h, include/bits/locale_facets.h,
192 include/bits/locale_facets.tcc, include/bits/localefwd.h,
193 include/bits/mask_array.h, include/bits/ostream.tcc,
194 include/bits/postypes.h, include/bits/slice_array.h,
195 include/bits/sstream.tcc, include/bits/stl_algo.h,
196 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
197 include/bits/stl_construct.h, include/bits/stl_deque.h,
198 include/bits/stl_function.h, include/bits/stl_heap.h,
199 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
200 include/bits/stl_list.h, include/bits/stl_map.h,
201 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
202 include/bits/stl_numeric.h, include/bits/stl_pair.h,
203 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
204 include/bits/stl_relops.h, include/bits/stl_set.h,
205 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
206 include/bits/stl_threads.h, include/bits/stl_tree.h,
207 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
208 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
209 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
210 include/bits/type_traits.h, include/bits/valarray_after.h,
211 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
212 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
215 2004-02-06 Paolo Carlini <pcarlini@suse.de>
217 * include/bits/basic_string.h: Fix comment.
219 2004-02-06 Paolo Carlini <pcarlini@suse.de>
221 * include/bits/stl_construct.h: Wrap overlong lines, reformat
222 according to the coding standards.
223 * include/bits/stl_pair.h: Likewise.
224 * include/bits/stl_raw_storage_iter.h: Likewise.
225 * include/bits/stl_stack.h: Likewise.
226 * include/bits/stl_uninitialized.h: Likewise.
227 * include/bits/stream_iterator.h: Likewise.
228 * include/bits/streambuf_iterator.h: Likewise.
229 * include/bits/type_traits.h: Likewise.
231 2004-02-06 Paolo Carlini <pcarlini@suse.de>
233 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
236 2004-02-05 Loren J. Rittle <ljrittle@acm.org>
238 * scripts/check_performance: Support PCH.
240 * scripts/check_performance (CXX): Add -DNOTHREAD.
241 * testsuite/performance/20_util/allocator/insert.cc: Integrate
242 threaded tests from insert_insert.cc. Tweak iterations,
243 remove special cases.
244 * testsuite/performance/20_util/allocator/insert_insert.cc:
245 Make all tests single-threaded. Tweak iterations.
246 * testsuite/performance/20_util/allocator/map_thread.cc:
248 * testsuite/performance/20_util/allocator/producer_consumer.cc:
251 2004-02-05 Geoffrey Keating <geoffk@apple.com>
255 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
256 'gcc-lib'. Add comment about poorly-named variables.
257 * aclocal.m4: Regenerate.
258 * configure: Regenerate.
260 2004-02-05 Paolo Carlini <pcarlini@suse.de>
262 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
263 Thousands-sep are always optional; thousands-sep are not allowed
264 after the decimal_point.
265 * testsuite/22_locale/money_get/get/char/12.cc: New.
266 * testsuite/22_locale/money_get/get/char/13.cc: New.
267 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
268 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
270 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
271 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
272 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
273 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
274 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
275 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
276 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
277 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
279 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
281 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
283 2004-02-05 Richard Sandiford <rsandifo@redhat.com>
285 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
287 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
288 it to decide whether FIONREAD should take an off_t or int argument.
290 2004-02-05 Paolo Carlini <pcarlini@suse.de>
292 * include/bits/stl_function.h: Minor formatting changes.
294 2004-02-04 Zack Weinberg <zack@codesourcery.com>
296 Revert previous change to config/abi/*/baseline_symbols.txt.
298 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
299 Zack Weinberg <zack@codesourcery.com>
301 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
303 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
304 (__basic_file<char>::_M_open_mode): Delete.
305 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
307 * testsuite/27_io/basic_filebuf/close/char/9964.cc
308 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
309 Correct flags to filebuf::open calls.
311 * config/abi/alpha-freebsd5/baseline_symbols.txt
312 * config/abi/alpha-linux-gnu/baseline_symbols.txt
313 * config/abi/hppa-linux-gnu/baseline_symbols.txt
314 * config/abi/i386-freebsd4/baseline_symbols.txt
315 * config/abi/i386-freebsd5/baseline_symbols.txt
316 * config/abi/i486-linux-gnu/baseline_symbols.txt
317 * config/abi/ia64-linux-gnu/baseline_symbols.txt
318 * config/abi/mips-linux-gnu/baseline_symbols.txt
319 * config/abi/sparc-freebsd5/baseline_symbols.txt
320 * config/abi/sparc-linux-gnu/baseline_symbols.txt
321 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
322 Remove entry for __basic_file<char>::_M_open_mode.
324 2004-02-04 Loren J. Rittle <ljrittle@acm.org>
326 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
328 2004-02-04 Felix Yen <fwy@alumni.brown.edu>
330 * testsuite/performance/20_util/producer_consumer.cc: New.
331 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
333 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
335 * testsuite/performance/20_util/allocator.cc: Move to..
336 * testsuite/performance/20_util/allocator/insert.cc: ...here.
337 * testsuite/performance/20_util/allocator_thread.cc: Move to...
338 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
339 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
340 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
342 2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
344 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
345 * docs/html/faq/index.txt: Regenerate.
347 2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
349 * include/ext/debug_allocator.h: _M_extra now stands for the
350 number of extra objects instead of the number of extra bytes.
351 (debug_allocator::allocate): Adjust.
352 (debug_allocator::deallocate): Adjust.
354 * include/ext/pool_allocator.h: Fix typo.
356 2004-02-03 Felix Yen <fwy@alumni.brown.edu>
357 Benjamin Kosnik <bkoz@redhat.com>
359 * testsuite/performance/20_util/allocator.cc: Add map,
361 * testsuite/performance/20_util/allocator_thread.cc: Same.
363 2004-02-03 Paolo Carlini <pcarlini@suse.de>
365 * include/bits/basic_string.h (insert(iterator)): Remove,
366 non-standard and already scheduled for removal.
368 2004-02-03 Paolo Carlini <pcarlini@suse.de>
370 * include/bits/stl_iterator_base_funcs.h: Minor formatting
371 and indentation tweaks.
372 * include/bits/stl_iterator_base_types.h: Likewise.
373 * include/bits/stl_list.h: Likewise.
374 * include/bits/stl_map.h: Likewise.
375 * include/bits/stl_tempbuf.h: Likewise.
377 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
379 * include/bits/gslice.h, include/bits/gslice_array.h,
380 include/bits/indirect_array.h, include/bits/mask_array.h,
381 include/bits/slice_array.h, include/bits/stl_numeric.h,
382 include/std/std_valarray.h: Update copyright years.
384 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
386 * include/bits/gslice.h (gslice): Document.
387 * include/bits/gslice_array.h (gslice_array): Document.
388 * include/bits/indirect_array (indirect_array): Document.
389 * include/bits/mask_array (mask_array): Document.
390 * include/bits/slice_array.h (slice,slice_array): Document.
391 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
392 adjacent_difference): Document
393 * include/std/std_valarray.h (valarray): Document.
395 2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
397 * docs/html/19_diagnostics/howto.html: Move verbose terminate
399 * docs/html/18_support/howto.html: Here.
400 * docs/html/documentation.html: Add reference here.
402 2004-02-02 Paolo Carlini <pcarlini@suse.de>
404 * config/locale/gnu/c++locale_internal.h: Remove prototypes
405 of no longer used GLIBC thread locale functions.
407 2004-02-02 Eric Christopher <echristo@redhat.com>
408 Zack Weinberg <zack@codesourcery.com>
410 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
412 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
413 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
414 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
415 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
416 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
417 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
418 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
419 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
422 2004-02-02 Paolo Carlini <pcarlini@suse.de>
424 * include/bits/stl_function.h: Additional minor tweaks.
425 * include/bits/stl_multiset.h: Likewise.
427 * include/bits/stl_queue.h: Minor tweaks.
429 2004-02-02 Paolo Carlini <pcarlini@suse.de>
431 PR libstdc++/13976 (continued)
432 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
433 Make the second parameter unnamed, to void unused parameter
435 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
437 2004-02-02 Paolo Carlini <pcarlini@suse.de>
440 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
441 Make the second parameter unnamed, to void unused parameter
443 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
444 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
446 2004-02-01 Paolo Carlini <pcarlini@suse.de>
448 * include/bits/stl_algo.h: Additional minor tweaks.
449 * include/bits/stl_map.h: Likewise.
450 * include/bits/stl_multimap.h: Likewise.
451 * include/bits/stl_multiset.h: Likewise.
452 * include/bits/stl_set.h: Likewise.
453 * include/bits/stl_tree.h: Likewise.
455 2004-02-01 Paolo Carlini <pcarlini@suse.de>
457 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
460 2004-02-01 Paolo Carlini <pcarlini@suse.de>
462 * include/bits/stl_function.h: Additional minor tweaks.
464 2004-02-01 Paolo Carlini <pcarlini@suse.de>
466 * include/bits/deque.tcc: Wrap overlong lines, constify
467 a few variables, reformat according to the coding standards.
468 * include/bits/list.tcc: Likewise.
469 * include/bits/stl_deque.h: Likewise.
470 * include/bits/stl_function.h: Likewise.
471 * include/bits/stl_iterator.h: Likewise.
472 * include/bits/stl_iterator_base_funcs.h: Likewise.
473 * include/bits/stl_iterator_base_types.h: Likewise.
474 * include/bits/stl_list.h: Likewise.
475 * include/bits/stl_map.h: Likewise.
476 * include/bits/stl_multimap.h: Likewise.
477 * include/bits/stl_multiset.h: Likewise.
478 * include/bits/stl_relops.h: Likewise.
479 * include/bits/stl_set.h: Likewise.
481 2004-02-01 Paolo Carlini <pcarlini@suse.de>
483 * include/bits/stl_bvector.h: Wrap overlong lines, constify
484 a few variables, reformat according to the coding standards.
485 * include/bits/stl_tree.h: Likewise.
487 2004-01-31 Paolo Carlini <pcarlini@suse.de>
489 * include/bits/stl_algo.h: Minor additional reformat, add
491 * include/bits/stl_algobase.h: Add copyright year.
493 2004-01-31 Paolo Carlini <pcarlini@suse.de>
495 * include/bits/stl_algo.h: Wrap overlong lines, constify
496 a few variables, reformat according to the coding standards.
497 * include/bits/stl_algobase.h: Likewise.
498 * include/bits/stl_heap.h: Likewise.
500 2004-01-31 Paolo Carlini <pcarlini@suse.de>
502 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
504 * include/bits/basic_string.h: Fix two comments.
506 2004-01-31 Per Bothner <per@bothner.com>
508 * include/ext/mt_allocator.h
509 (__mt_alloc::_S_thread_freelist_mutex): Guard with
510 __GTHREAD_MUTEX_INIT.
512 2004-01-31 Paolo Carlini <pcarlini@suse.de>
514 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
516 2004-01-30 Paolo Carlini <pcarlini@suse.de>
518 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
519 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
520 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
522 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
524 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
525 Don't use clear, but instead assign. Use insert.
527 2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
529 * src/demangle.cc: Add instantiations.
530 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
531 * src/Makefile.in: Regenerate.
533 2004-01-30 David Edelsohn <edelsohn@gnu.org>
535 * src/allocator.cc: Protect _S_get_thread_id() and
536 _S_thread_key_destr() with #ifdef __GTHREADS.
538 2004-01-30 Paolo Carlini <pcarlini@suse.de>
540 Reshuffle performance testsuite.
541 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
542 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
543 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
544 fstream_seek_write.cc, ifstream_extract_float.cc,
545 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
546 list_create_fill_sort.cc, map_create_fill.cc,
547 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
548 ofstream_insert_float.cc, ofstream_insert_int.cc,
549 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
550 wchar_t_out.cc: Split into...
551 * testsuite/performance/20_util/allocator.cc: New.
552 * testsuite/performance/20_util/allocator_map_thread.cc: New.
553 * testsuite/performance/20_util/allocator_thread.cc: New.
554 * testsuite/performance/21_strings/string_append: New.
555 * testsuite/performance/22_locale/is_wchar_t.cc: New.
556 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
557 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
558 * testsuite/performance/22_locale/wchar_t_in.cc: New.
559 * testsuite/performance/22_locale/wchar_t_length.cc: New.
560 * testsuite/performance/22_locale/wchar_t_out.cc: New.
561 * testsuite/performance/23_containers/container_benchmark.cc: New.
562 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
563 * testsuite/performance/23_containers/map_create_fill.cc: New.
564 * testsuite/performance/26_numerics/complex_norm.cc: New.
565 * testsuite/performance/27_io/cout_insert_int.cc: New.
566 * testsuite/performance/27_io/filebuf_copy.cc: New.
567 * testsuite/performance/27_io/filebuf_sputc.cc: New.
568 * testsuite/performance/27_io/fstream_seek_write.cc: New.
569 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
570 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
571 * testsuite/performance/27_io/ifstream_getline.cc: New.
572 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
573 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
575 2004-01-30 Paolo Carlini <pcarlini@suse.de>
577 * include/bits/basic_string.tcc (_Rep::_S_create):
578 Never allocate a string bigger than max_size(); always keep
579 __capacity and __size in sync to avoid memory leaks at
582 2004-01-30 Paolo Carlini <pcarlini@suse.de>
584 * include/bits/basic_string.tcc (_S_construct(_InIterator,
585 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
586 the double loop, streamline.
588 * include/bits/basic_string.tcc: Very minor tweaks.
590 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
592 * scripts/check_performance: Only compile with $THREAD_FLAG
593 when test is marked to require it. Allow multiple
594 compilations/executions of marked tests.
595 * testsuite/testsuite_performance.h (report_performance):
596 Report dynamic thread support status.
597 (report_header): Likewise.
598 * testsuite/performance/allocator.cc: Stabilize iteration
599 count. Support more allocators. Mark each allocator test to
600 run and report independently.
601 * testsuite/performance/allocator_map_thread.cc: Likewise.
602 * testsuite/performance/allocator_thread.cc: Likewise.
604 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
606 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
607 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
608 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
609 std::get_temporary_buffer() instead of duplicating its code.
610 Update to C++STYLE conventions.
611 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
612 new() instead of std::malloc().
613 (return_temporary_buffer): Use ::operator delete() instead of
616 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
618 * include/bits/allocator.h: Temporary switch to new_allocator as
619 the default to unjam bootstraps.
621 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
623 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
624 * include/Makefile.in: Regenerate.
625 * include/bits/allocator_traits.h: Remove.
626 * include/bits/allocator.h: Remove allocator_traits.h include, and
628 (allocator): Empty base class, inherit from the underlying allocator.
629 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
630 * src/allocator.cc: ...here. New. For the underlying allocators.
631 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
632 * config/linker-map.gnu: Remove __pool_alloc bits.
633 * src/Makefile.am (sources): Add allocator.cc.
634 * src/Makefile.in: Regenerate.
635 * testsuite/20_util/allocator/1.cc: Split second test into...
636 * testsuite/20_util/allocator/8230.cc: ...this.
637 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
638 typedef to use std::allocatore. Format.
639 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
641 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
642 __throw_bad_alloc calls. Don't include <memory>.
643 * include/ext/malloc_allocator.h: Remove <memory> include.
644 * include/ext/new_allocator.h (new_allocator): Same.
645 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
646 declaration. Switch __alloc to _Alloc.
647 * include/ext/hashtable.h: Remove __alloc.
648 * include/backward/alloc.h: Only inject allocator, not
649 implementation details.
651 * include/ext/mt_allocator.h: Replace free with delete.
653 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
655 * src/globals_io.cc: Change to __gnu_internal namespace.
656 * src/globals_locale.cc: Same.
657 * src/locale_init.cc: Same.
658 * src/ios_init.cc: Same.
660 2004-01-28 Stefan Olsson <stefan@snon.net>
662 * include/ext/mt_allocator.h: Replaced all malloc() calls with
663 operator new(). Added support for the env variable
664 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
665 one in allocate() as well). Fix typos.
667 2004-01-28 Paolo Carlini <pcarlini@suse.de>
669 * include/bits/basic_string.h (_S_create(size_t,
670 const _Alloc&): Change signature to take two size_type
672 * include/bits/basic_string.tcc (_S_construct(_InIterator,
673 _InIterator, const _Alloc&, input_iterator_tag)): Update
675 (_S_construct(_InIterator, _InIterator, const _Alloc&,
676 forward_iterator_tag)): Likewise.
677 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
678 (_M_mutate(size_type, size_type, size_type)): Don't
679 implement the exponential growth policy, demand it to
680 _S_create, update call and simplify.
681 (_M_clone(const _Alloc&, size_type)): Likewise.
682 (_S_create(size_type, size_type, const _Alloc&)): Implement
683 the growth policy, simplify otherwise.
685 * include/bits/basic_string.h (_Rep::operator[]): Tweak
686 signature to take a size_type, consistently with the other
689 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
691 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
692 delete declarations, add include and test variable.
694 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
696 * include/bits/codecvt.h, include/bits/locale_facets.h,
697 include/bits/postypes.h, include/bits/stl_bvector.h,
698 include/bits/stl_multiset.h, include/bits/stl_set.h,
699 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
700 include/std/std_complex.h: Document.
702 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
705 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
706 iword/pword selector.
707 (ios_base::iword, ios_base::pword): Use it.
708 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
709 iword or pword member on alloc failure.
710 * testsuite/27_io/ios_base/storage/11584.cc: New test.
712 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
713 PJ Darcy <darcypj@us.ibm.com>
715 * configure.host: Add support for *-tpf.
716 * crossconfig.m4: Likewise.
717 * configure: Regenerate.
718 * config/os/tpf: New directory.
719 * config/os/tpf/os_defines.h: New file.
720 * config/os/tpf/ctype_base.h: Likewise.
721 * config/os/tpf/ctype_inline.h: Likewise.
722 * config/os/tpf/ctype_noninline.h: Likewise.
724 2004-01-27 Paolo Carlini <pcarlini@suse.de>
727 * include/bits/sstream.tcc: Guard use of extern template.
729 2004-01-27 Paolo Carlini <pcarlini@suse.de>
731 * include/bits/basic_string.tcc
732 (basic_string(const basic_string&, size_type, size_type),
733 basic_string(const basic_string&, size_type, size_type,
734 const _Alloc&)): Avoid unnecessarily constructing iterators.
736 2004-01-26 Paolo Carlini <pcarlini@suse.de>
738 * config/locale/generic/c_locale.cc: Fix throw messages
739 to use the __N marker.
740 * config/locale/gnu/c_locale.cc: Likewise.
741 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
743 * docs/html/17_intro/C++STYLE: Likewise.
744 * include/bits/basic_ios.tcc: Likewise.
745 * include/bits/fstream.tcc: Likewise.
746 * include/bits/vector.tcc: Likewise.
747 * include/ext/ropeimpl.h: Likewise.
748 * include/std/std_bitset.h: Likewise.
749 * src/ios.cc: Likewise.
750 * src/locale.cc: Likewise.
751 * src/localename.cc: Likewise.
753 2004-01-26 Paolo Carlini <pcarlini@suse.de>
755 * include/bits/basic_string.h (_M_replace_aux): Use the
756 __N marker in throw message.
757 * include/bits/basic_string.tcc (assign(const _CharT*,
758 size_type), insert(size_type, const _CharT*, size_type),
759 replace(size_type, size_type, const _CharT*, size_type),
760 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
763 * include/bits/basic_string.h, include/bits/basic_string.tcc:
764 Fold overlong lines, minor formatting changes.
766 2004-01-26 Paolo Carlini <pcarlini@suse.de>
768 * include/bits/basic_string.h (replace(iterator, iterator,
769 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
770 (replace(iterator, iterator, const _CharT*)): Ditto.
771 (replace(iterator, iterator, const _CharT*, size_type)):
772 Add missing _GLIBCXX_DEBUG_PEDASSERT.
774 2004-01-26 Paolo Carlini <pcarlini@suse.de>
776 * include/bits/basic_string.tcc (replace(size_type,
777 size_type, const _CharT*, size_type)): Implement optimized
778 in-place algorithm for non-overlapping ranges.
779 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
780 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
782 * include/bits/basic_string.tcc (insert(size_type,
783 const _CharT*, size_type)): Tweak slightly.
785 2004-01-26 Andreas Schwab <schwab@suse.de>
787 * config/locale/gnu/monetary_members.cc: Restore locale before
788 rethrowing exception.
790 2004-01-25 Paolo Carlini <pcarlini@suse.de>
792 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
794 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
797 * include/bits/basic_string.tcc: Very minor tweaks.
799 2004-01-25 Paolo Carlini <pcarlini@suse.de>
801 * testsuite/performance/string_append.cc: Increase number
804 2004-01-25 Paolo Carlini <pcarlini@suse.de>
806 * include/bits/basic_string.h (erase(size_type, size_type),
807 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
808 instead, thus avoiding redundant check for length_error.
810 * include/bits/basic_string.h: Tweak some comments.
812 2004-01-24 Paolo Carlini <pcarlini@suse.de>
814 * include/bits/basic_string.tcc (operator+(const _CharT*,
815 const basic_string&)): No need to go through the append
816 taking two iterators.
818 2004-01-24 Paolo Carlini <pcarlini@suse.de>
820 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
821 Revert last change to use std::min: machine language is worse.
822 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
823 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
824 (find_last_not_of(_CharT, size_type)): Ditto.
826 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
827 size_type)): Discard the value returned by _M_check.
828 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
829 (append(const basic_string&, size_type, size_type)): Ditto.
830 (copy(_CharT*, size_type, size_type)): Ditto.
831 (compare(size_type, size_type, const basic_string&)): Ditto.
832 (compare(size_type, size_type, const basic_string&,
833 size_type, size_type)): Ditto.
834 (compare(size_type, size_type, const _CharT*)): Ditto.
835 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
837 2004-01-24 Paolo Carlini <pcarlini@suse.de>
839 * include/bits/basic_string.h (insert(size_type,
840 const basic_string&, size_type, size_type)): Define inline here.
841 * include/bits/basic_string.tcc (insert(size_type,
842 const basic_string&, size_type, size_type)): Move inline.
844 2004-01-24 Paolo Carlini <pcarlini@suse.de>
846 * include/bits/basic_string.h (assign(const basic_string&,
847 size_type, size_type)): Define inline here.
848 (replace(size_type, size_type, const basic_string&,
849 size_type, size_type)): Ditto.
850 (_M_replace_dispatch(iterator, iterator, _InputIterator,
851 _InputIterator, __false_type)): Only declare.
852 (_M_replace(iterator, iterator, _InputIterator,
853 _InputIterator)): Remove.
854 * include/bits/basic_string.tcc (assign(const basic_string&,
855 size_type, size_type)): Move inline.
856 (replace(size_type, size_type, const basic_string&,
857 size_type, size_type)): Ditto.
858 (_M_replace_dispatch(iterator, iterator, _InputIterator,
859 _InputIterator, __false_type)): Define, now does also what
860 _M_replace did before.
861 * src/string-inst.cc (_M_replace): Don't instantiate.
863 * include/bits/basic_string.tcc (find(const _CharT*,
864 size_type, size_type)): Tidy.
865 (rfind(_CharT, size_type)): Ditto.
866 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
867 (find_first_not_of(_CharT, size_type)): Ditto.
868 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
869 (find_last_not_of(_CharT, size_type)): Ditto.
871 2004-01-23 Paolo Carlini <pcarlini@suse.de>
874 * include/debug/bitset (operator|=): Fix typo.
875 * testsuite/23_containers/bitset/operations/13838.cc: New.
877 2004-01-23 Paolo Carlini <pcarlini@suse.de>
879 * include/bits/basic_string.tcc (insert(size_type,
880 const _CharT*, size_type __n)): Fix length_error check.
881 (replace(size_type, size_type, const _CharT*, size_type):
882 Ditto; call _M_replace_safe.
883 (_M_replace_aux(size_type, size_type, size_type, _CharT):
884 Fix length_error check.
885 (_M_replace(iterator, iterator, _InputIterator,
886 _InputIterator)): Ditto, tweak.
887 (_M_replace_safe(size_type, size_type, const _CharT*,
888 size_type)): Remove length_error check.
890 * include/bits/basic_string.tcc (append(const basic_string&),
891 append(const basic_string&, size_type, size_type)): Tweak
894 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
895 size_type)): If __n == 0 don't call traits::copy.
897 2004-01-23 Stefan Olsson <stefan@snon.net>
899 * include/ext/mt_allocator.h: Reduce lock contention.
901 2004-01-23 Paolo Carlini <pcarlini@suse.de>
904 * include/bits/fstream.tcc (underflow): Remove unused
906 * include/bits/streambuf_iterator.h (equal): Ditto.
907 * include/bits/locale_facets.h (_M_convert_from_char):
910 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
913 * config/linker-map.gnu (nan): Delete.
914 * libmath/mathconf.h (NAN, nan): Delete.
915 * linkage.m4 (nan): Don't check for it.
916 * libmath/nan.c: Delete file.
918 * config.h.in, configure: Regenerate.
920 2004-01-23 Paolo Carlini <pcarlini@suse.de>
922 * include/bits/basic_string.h (push_back(_CharT)):
924 (insert(size_type, const basic_string&)): Trivial tweak.
925 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
926 (insert(iterator, _CharT)): Ditto.
927 (erase(size_type, size_type)): Ditto.
928 (erase(iterator)): Ditto.
929 (erase(iterator, iterator)): Ditto.
930 (replace(size_type, size_type, size_type, _CharT)): Ditto.
932 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
935 * testsuite/performance/allocator_map_thread.cc: New test.
937 2004-01-22 Paolo Carlini <pcarlini@suse.de>
939 * include/bits/locale_facets.tcc
940 (money_put::do_put(..., long double)): Use the basic_string
941 constructor for char arrays, not that for C-strings, to pass
942 __digits to do_put(..., const string_type&): __ws isn't
945 2004-01-22 Paolo Carlini <pcarlini@suse.de>
947 * include/bits/basic_string.h (_M_replace_safe): Change
948 signatures to take size_types and const _CharT*.
949 (_M_replace_aux): Likewise, takes size_types instead of
951 (append(size_type, _CharT)): Update call.
952 (assign(size_type, _CharT)): Ditto.
953 (replace(iterator, iterator, size_type, _CharT)): Ditto.
954 (_M_replace_dispatch(iterator, iterator, _Integer,
955 _Integer, __true_type)): Ditto.
956 * include/bits/basic_string.tcc (assign(const _CharT*,
958 (insert(size_type, const _CharT*, size_type)): Ditto.
959 (replace(size_type, size_type, const _CharT*,
961 (_M_replace(iterator, iterator, _InputIterator,
962 _InputIterator)): Ditto.
963 (append(const basic_string&)): Ditto.
964 (append(const basic_string&, size_type, size_type): Ditto.
965 (append(const _CharT*, size_type): Ditto.
966 (_M_replace_safe, _M_replace_safe): Change definitions
967 accordingly, simplify.
968 * string-inst.cc (_M_replace_safe): Don't instantiate.
970 2004-01-21 Paolo Carlini <pcarlini@suse.de>
972 * include/bits/basic_string.tcc (append(const basic_string&)):
973 Revert previous change.
974 (append(const basic_string&, size_type, size_type)): Revert
975 previous change, use _M_check and _M_limit.
977 2004-01-21 Paolo Carlini <pcarlini@suse.de>
979 * include/bits/basic_string.h (_M_check): Change to return
980 a checked __pos and take an additional const char* argument.
981 (_M_fold): Rename to _M_limit, change to return a size_type,
982 corresponding to the __off limited to the actual length.
983 (insert(size_type, size_type, _CharT)): Update call, call
985 (insert(iterator, _CharT)): Call replace(iterator, iterator,
986 size_type, _CharT) instead.
987 (erase(size_type, size_type)): Update calls.
988 (replace(size_type, size_type, size_type, _CharT)): Ditto.
989 (substr(size_type, size_type)): Use _M_check.
990 * include/bits/basic_string.tcc (basic_string(const basic_string&,
991 size_type, size_type)): Update calls.
992 (basic_string(const basic_string&, size_type, size_type,
993 const _Alloc&)): Ditto.
994 (assign(const basic_string&, size_type, size_type)): Use the
995 new _M_check and _M_limit.
996 (insert(size_type, const basic_string&, size_type, size_type):
998 (insert(size_type, const _CharT*, size_type)): Ditto.
999 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
1000 (replace(size_type, size_type, const basic_string&,
1001 size_type, size_type)): Ditto.
1002 (append(const basic_string&)): Ditto.
1003 (append(const basic_string&, size_type, size_type)): Ditto.
1004 (copy(_CharT*, size_type, size_type)): Ditto.
1005 (compare(size_type, size_type, const basic_string&)): Ditto.
1006 (compare(size_type, size_type, const basic_string&,size_type,
1008 (compare(size_type, size_type, const _CharT*)): Ditto.
1009 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1011 2004-01-19 Stefan Olsson <stefan@snon.net>
1013 * include/ext/mt_allocator.h: If a thread, when it dies, still has
1014 memory on it's freelist this memory is not returned to global
1015 list. Simplification of deallocate so that memory is always
1016 returned to the calling thread id's freelist instead of to
1017 global. Fix typos. Add volatile where appropriate.
1019 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
1021 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
1022 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
1023 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
1025 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1027 * src/debug.cc: Make sure all the names are prefixed with
1028 double (or single) underscore.
1030 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1032 * src/debug.cc: Trivial formatting change.
1034 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1036 * include/bits/basic_string.tcc (_S_construct(size_type,
1037 _CharT, const _Alloc&)): Remove redundant try/catch.
1038 (_M_mutate(size_type, size_type, size_type)): Ditto.
1039 (_M_clone(const _Alloc&, size_type)): Ditto.
1041 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1043 * include/bits/basic_string.h (c_str()): Simplify, due to
1044 21.3.4 the internal representation is always kept null-terminated.
1045 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
1046 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
1047 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
1050 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1052 * include/bits/basic_string.h (append(size_type, _CharT)):
1053 Moved inline, just call _M_replace_aux, no source iterators at
1054 risk of being clobbered.
1055 (assign(size_type, _CharT)): Call directly _M_replace_aux.
1056 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1057 input_iterator_tag)): Remove fifth unused argument.
1058 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1059 _InputIterator, __false_type)): Update call.
1060 * include/bits/basic_string.tcc (replace(size_type, size_type,
1061 const _CharT*, size_type)): Update call.
1062 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
1063 throw string literal.
1064 (_M_replace_safe(iterator, iterator, _ForwardIterator,
1065 _ForwardIterator)): Likewise.
1066 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1067 input_iterator_tag)): Remove fifth unused argument.
1068 (append(size_type __n, _CharT __c)): Move inline.
1069 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
1070 const C*, const C*, input_iterator_tag)): Remove fifth unused
1073 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
1075 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
1076 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
1078 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
1080 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
1083 2004-01-15 Stefan Olsson <stefan@snon.net>
1085 * include/ext/mt_allocator.h: Reuse thread id's as soon as
1086 possible by changing the behaviour of thread_freelist to do
1087 push_front when threads die instead of push_back.
1089 2004-01-14 Paolo Carlini <pcarlini@suse.de>
1091 * include/bits/locale_facets.h (struct __numpunct_cache):
1092 Add member _M_grouping_size, caching the length of _M_grouping.
1093 (__numpunct_cache<>::_M_cache): Assign the latter.
1094 (__verify_grouping): Move declaration...
1095 * include/bits/locale_facets.tcc (__verify_grouping):
1096 ... here, change signature to take a const char* and a size_t
1097 for the grouping; not a template anymore.
1098 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
1099 Likewise change signature and tweak consistently.
1100 (num_get::_M_extract_float, num_get::_M_extract_int,
1101 num_put::_M_insert_int, num_put::_M_insert_float,
1102 money_get::do_get(string_type&), money_get::do_put(string_type)):
1104 * config/locale/generic/numeric_members.cc
1105 (numpunct<>::_M_initialize_numpunct): Assign the new member.
1106 * config/locale/gnu/numeric_members.cc
1107 (numpunct<>::_M_initialize_numpunct): Likewise.
1108 * src/locale-inst.cc (__add_grouping): Tweak signature.
1109 (__verify_grouping): Don't instantiate, not a template anymore.
1111 * include/bits/locale_facets.h: Rename _M_truename_len ->
1112 _M_truename_size, _M_falsename_len -> _M_falsename_size.
1113 * include/bits/locale_facets.tcc: Likewise.
1114 * config/locale/generic/numeric_members.cc: Likewise.
1115 * config/locale/gnu/numeric_members.cc: Likewise.
1117 2004-01-14 Stefan Olsson <stefan@snon.net>
1119 * include/ext/mt_allocator.h: Fixups.
1120 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
1121 * testsuite/performance/allocator_thread.cc: Same.
1123 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1125 * testsuite/performance/ifstream_extract_float.cc: Add higher
1127 * testsuite/performance/ofstream_insert_float.cc: Same.
1129 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1131 * src/locale-misc-inst.cc (__convert_from_v(long),
1132 __convert_from_v(unsigned long), __convert_from_v(long long),
1133 __convert_from_v(unsigned long long)): Remove, unused.
1135 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1137 * testsuite/performance/ifstream_extract_float.cc: New.
1138 * testsuite/performance/ofstream_insert_float.cc: Float generation
1141 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
1142 * 20_util/auto_ptr/1.cc: ...this.
1143 * 20_util/auto_ptr/2.cc: Same.
1144 * 20_util/auto_ptr/3.cc: Same.
1145 * 20_util/auto_ptr/3946.cc: Same.
1146 * 20_util/auto_ptr/4.cc: Same.
1147 * 20_util/auto_ptr/5.cc: Same.
1148 * 20_util/auto_ptr/6.cc: Same.
1149 * 20_util/auto_ptr/7.cc: Same.
1150 * 20_util/auto_ptr/assign_neg.cc
1151 * 20_util/pairs.cc: Break into...
1152 * 20_util/pair/1.cc: ...this.
1153 * 20_util/pair/2.cc: Same.
1154 * 20_util/pair/3.cc: Same.
1155 * 20_util/pair/4.cc: Same.
1157 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1159 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
1160 Set correctly just basefield, the only group that matters.
1162 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1164 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
1165 (_Rope_rep_base): Inherit directly from the rope allocator;
1166 use rebinding instead of _Alloc_traits; pick up data member
1167 from _Rope_rep_alloc_base.
1168 (_Rope_alloc_base): Eliminate.
1169 (_Rope_base): Inherit directly from the rope allocator; use
1170 rebinding instead of _Alloc_traits; pick up data member from
1172 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
1173 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
1175 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1178 * include/bits/basic_string.tcc (compare(size_type, size_type,
1179 const _CharT*, size_type)): Implement correctly the resolution
1180 of DR 5: basically, s is a char array, -not- a C string.
1181 * include/bits/basic_string.h: Tweak some comments.
1182 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
1183 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
1185 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1187 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
1190 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1192 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
1194 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
1197 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1199 * include/bits/locale_facets.h (struct __numpunct_cache):
1200 Add members _M_truename_len and _M_falsename_len, caching
1201 the lengths of _M_truename and _M_falsename.
1202 (__numpunct_cache<>::_M_cache): Assign the latter.
1203 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
1204 num_put::do_put(bool)): Use the new members, thus avoiding
1205 computing string lengths again and again.
1206 * config/locale/generic/numeric_members.cc
1207 (numpunct<>::_M_initialize_numpunct): Assign the new members.
1208 * config/locale/gnu/numeric_members.cc
1209 (numpunct<>::_M_initialize_numpunct): Likewise.
1211 2004-01-12 Mark Mitchell <mark@codesourcery.com>
1213 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1214 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1216 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1217 and remove Cygwin XFAIL.
1218 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1219 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1220 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1221 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1223 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1224 * testsuite/27_io/objects/char/7.cc: Likewise.
1225 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1226 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1227 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1229 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1231 * include/std/std_complex.h (std::complex<>::real): Return a
1232 reference. Add non-const overload.
1233 (std::complex<>::real): Likewise.
1234 (std::real): Likewise.
1235 (std::imag): Likewise.
1236 (std::operator+): Tidy.
1237 (std::operator-): Likewise.
1238 (std::operator*): Likewise.
1239 (std::operator/): Likewise.
1240 (std::operator>>): Likewise.
1242 2004-01-11 Paolo Carlini <pcarlini@suse.de>
1245 * include/bits/fstream.tcc (imbue): Exploit the external
1246 buffer to imbue 'on the fly' a new locale and convert its
1247 remainder with the new codecvt facet.
1248 (underflow): Tweak slightly to deal with this special case.
1249 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1250 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1251 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1252 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1253 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
1255 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1257 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1260 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1263 * include/bits/locale_classes.h (class locale): Fix category
1265 * testsuite/22_locale/locale/13630.cc: Add.
1267 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1269 * include/bits/locale_facets.h: Make a name really dependent. This
1270 will be needed when Core Issue 224 is implemented.
1272 2004-01-09 Paolo Carlini <pcarlini@suse.de>
1274 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1275 * testsuite/performance/allocator_thread.cc: Likewise.
1277 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1279 * crossconfig.m4: Add LFS, io bits to linux cross config.
1280 * acconfig.h: Remove obsolete bits, reorder.
1281 * config.h.in: Regenerate.
1285 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
1287 * include/bits/stl_list.h:
1288 * include/bits/list.tc:
1290 Performance enhancements for destructor, push_front(),
1291 push_back(), pop_front(), pop_back(), sort()
1292 Eliminated static_casts where possible.
1293 Moved code out of header files into new src/list.cc
1294 implementation file for library where possible.
1295 Remove inheritance from iterator class and create separate
1296 classes for non-constant and constant iterators.
1297 * include/bits/stl_tree.h (_Rb_tree class):
1299 Only erase contents in destructor.
1300 Eliminate unnecessary initialization in assignment operator.
1301 Optimize for the nominal case by not checking whether
1302 container is empty in clear().
1303 Re-order test in _M_insert() to improve performance.
1304 Move initialization of new node's left & right pointers to
1305 src/tree.cc to where new node's colour is initialized
1306 and to reduce the amount of inline code.
1307 Use _M_leftmost() and _M_end() to improve readability where
1309 Create separate classes for non-constant and constant
1310 iterators to clarify code, avoid extra template parameters and
1311 casting away constness.
1313 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1315 * src/Makefile.am (sources): Add list.cc, tree.cc.
1316 * src/stl_tree.cc: Move to...
1317 * src/tree.cc: ...here.
1319 * config/linker-map.gnu: Tweaks.
1320 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1321 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1323 * bits/stl_vector.h: Column wrap comments.
1325 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
1327 (re-open) PR libstdc++/12658
1328 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1329 (locale::global): Likewise.
1331 2004-01-07 Paolo Carlini <pcarlini@suse.de>
1333 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1334 Remove redundant #include.
1335 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1336 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1337 re-enable normal testing.
1338 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1340 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1341 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1343 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1345 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1347 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1349 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1351 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1353 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1355 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1356 More properly, #include <locale>.
1357 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1358 Remove redundant #include.
1359 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1360 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1361 redundant DejaGnu directive.
1362 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1365 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
1366 Stefan Olsson <stefan@snon.net>
1368 * scripts/check_performance: Use -pthread.
1369 * testsuite/performance/allocator.cc: Tweaks, add list.
1370 * testsuite/performance/allocator_thread.cc: New.
1372 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
1374 * include/bits/locale_facets.h: Document public classes and
1376 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1379 2004-01-06 Paolo Carlini <pcarlini@suse.de>
1381 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1382 Remove redundant #includes.
1383 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1385 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1387 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1388 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1389 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1390 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1391 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1392 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1393 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1394 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1395 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1396 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1397 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1398 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1399 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1400 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1401 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1403 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1405 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1407 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1409 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1411 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1412 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1413 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1415 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1417 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1418 Remove redundant #includes.
1419 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1421 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1423 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1425 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1427 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1429 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1431 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1433 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1435 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1437 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1439 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1441 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1444 2004-01-04 Mark Mitchell <mark@codesourcery.com>
1447 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
1449 * testsuite/27_io/basic_fstream/4.cc: Likewise.
1450 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
1451 * testsuite/27_io/basic_ios/4.cc: Likewise.
1452 * testsuite/27_io/basic_iostream/4.cc: Likewise.
1453 * testsuite/27_io/basic_istream/4.cc: Likewise.
1454 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
1455 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
1456 * testsuite/27_io/basic_ostream/4.cc: Likewise.
1457 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
1458 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
1459 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
1461 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1463 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
1464 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
1465 always use double underscored names.
1466 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
1468 * include/bits/locale_facets.h (struct __numpunct_cache):
1469 Dimension _M_atoms_out and _M_atoms_in one position smaller.
1470 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out