1 2004-03-24 Felix Yen <fwy@alumni.brown.edu>
3 * testsuite/performance/20_util/allocator/producer_consumer.cc:
4 Use linear algorithm for producer.
6 2004-03-24 Paolo Carlini <pcarlini@suse.de>
8 * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
9 __mt_alloc<>::deallocate): Avoid redundant conditionals.
11 2004-03-23 Benjamin Kosnik <bkoz@redhat.com>
13 * include/bits/locale_facets.h: Tweaks for 80 column.
14 (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
15 (__moneypunct_cache::_M_cache): Same.
16 (num_get): Don't inherit from __num_base.
18 (money_get): Don't inherit from money_base.
20 (__timepunct::_M_am_pm_format): New.
21 (time_get::_M_extract_num): Return iterator, use ios_base as argument.
22 (time_get::_M_extract_name): Same.
23 (time_get::_M_extract_via_format): Same.
24 * include/bits/locale_facets.tcc: Tweaks for 80 column.
25 Use _M_getloc instead of getloc.
26 * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
27 * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
28 * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
30 2004-03-22 Paolo Carlini <pcarlini@suse.de>
32 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
33 * configure: Regenerate.
34 * config/allocator/pool_allocator_base.h: New.
35 * include/ext/pool_allocator.h: Convert to a standard-conforming
37 * src/allocator.cc: Tweak instantiations.
38 * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
39 * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
40 * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
41 * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
42 * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
43 * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
45 2004-03-22 Hans-Peter Nilsson <hp@axis.com>
47 * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
48 inline" and attribute-unused. Qualify parameter __mem with
50 (__exchange_and_add): Ditto. Add back memory clobber to asm.
52 2004-03-20 Paolo Carlini <pcarlini@suse.de>
54 * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
56 * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
58 * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
60 * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
62 * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
64 * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
66 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
68 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
70 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
72 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
75 2004-03-20 Paolo Carlini <pcarlini@suse.de>
77 * include/std/std_valarray.h: Document DR389 [Ready].
78 * docs/html/ext/howto.html: Add an entry for DR389.
80 2004-03-19 Michael Eager <eager@mvista.com>
82 * config/cpu/mips/atomicity.h: Prevent reg loads between LL and
85 2004-03-19 Paolo Carlini <pcarlini@suse.de>
87 * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
89 * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
90 * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
91 * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
92 * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
93 * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
94 * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
95 * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
96 * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
97 * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
99 2004-03-19 Paolo Carlini <pcarlini@suse.de>
100 Petur Runolfsson <peturr02@ru.is>
103 * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
104 no way to find out the conversion used by the underlying FILE*.
105 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
106 * testsuite/27_io/objects/char/9.cc: Tweak.
108 2004-03-19 Paolo Carlini <pcarlini@suse.de>
111 * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
112 memory allocation/deallocation calls.
113 * testsuite/ext/14648.cc: New.
115 2004-03-19 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
118 * include/backward/bvector.h (bit_vector): Allocator is in std
121 2004-03-19 Phil Edwards <phil@codesourcery.com>
123 * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT): Set LIBICONV,
124 not libiconv. SUBST this variable as well.
125 * testsuite/Makefile.am (site.exp): New target, based on that
126 created by automake. Also set libiconv.
128 * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
129 libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
130 testsuite/Makefile.in: Regenerate.
132 2004-03-16 Benjamin Kosnik <bkoz@redhat.com>
134 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
135 new_allocator for all hosts.
136 * configure: Regenerate.
138 2004-03-16 Paolo Carlini <pcarlini@suse.de>
140 * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
141 * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
143 2004-03-15 Paolo Carlini <pcarlini@suse.de>
145 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
146 Adjust the logic underlying the parsing of symbol to deal
147 correctly with an optional sign component (i.e., when either
148 negative_sign or positive_sign is empty)
149 * testsuite/22_locale/money_get/get/char/19.cc: New.
150 * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
152 2004-03-15 Paolo Carlini <pcarlini@suse.de>
154 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
155 Do not accept an incomplete currency symbol.
156 * testsuite/22_locale/money_get/get/char/18.cc: New.
157 * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
159 2004-03-13 Benjamin Kosnik <bkoz@redhat.com>
161 * config/allocator: New.
162 * config/allocator/bitmap_allocator_base.h: New.
163 * config/allocator/malloc_allocator_base.h: New.
164 * config/allocator/mt_allocator_base.h: New.
165 * config/allocator/new_allocator_base.h: New.
166 * include/bits/allocator.h: Include c++allocator.h.
167 * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
168 * aclocal.m4: Regenerate.
169 * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
170 * configure: Regenerate.
171 * include/Makefile.am (host_headers_extra): Add c++allocator.h.
172 * include/Makefile.in: Regenerate.
173 * docs/html/configopts.html: Add enable-libstdcxx-allocator.
175 2004-03-12 Benjamin Kosnik <bkoz@redhat.com>
177 * include/bits/allocator.h: Revert.
179 2004-03-12 Paolo Carlini <pcarlini@suse.de>
181 * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
182 * include/bits/gslice_array.h: Add comment about DR 253.
183 * include/bits/indirect_array.h: Likewise.
184 * include/bits/mask_array.h: Likewise.
185 * include/bits/slice_array.h: Likewise.
187 2004-03-12 Benjamin Kosnik <bkoz@redhat.com>
189 * testsuite/20_util/allocator/14176.cc: New.
190 * include/ext/mt_allocator.h: Formatting fixes.
192 2004-03-11 Dhruv Matani <dhruvbird@HotPOP.com>
194 * include/Makefile.am (ext_headers): Add
195 ${ext_srcdir}/bitmap_allocator.h .
196 * include/Makefile.in: Regenerate.
197 * docs/html/ext/ballocator_doc.txt: New file.
198 * include/ext/bitmap_allocator.h: New file.
199 * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
201 * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
202 * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
203 test for the bitmap_allocator<>.
204 * testsuite/performance/20_util/allocator/insert.cc: Likewise.
205 * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
206 * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
208 2004-03-11 Paolo Carlini <pcarlini@suse.de>
210 * include/std/std_complex.h (pow(const complex&, const _Tp&),
211 pow(const _Tp&, const complex&), pow(const complex&,
212 const complex&)): Fully qualify with std:: a few calls.
213 * testsuite/26_numerics/complex/13450.cc: Minor tweak.
215 2004-03-11 Steven Bosscher <stevenb@suse.de>
218 * include/c_std/cmath.tcc (__cmath_power): Define inline.
220 2004-03-10 Kelley Cook <kcook@gcc.gnu.org>
222 * configure.ac: Bump AC_PREREQ to 2.59.
224 2004-03-10 Paolo Carlini <pcarlini@suse.de>
226 * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
228 2004-03-10 Paul Kienzle <pkienzle@nist.gov>
229 Paolo Carlini <pcarlini@suse.de>
232 * include/std/std_complex.h (pow(const complex&, const _Tp&),
233 pow(const _Tp&, const complex&)): Use cmath pow only when safe.
234 * testsuite/26_numerics/complex/13450.cc: New.
236 * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
237 * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
239 2004-03-10 Jerry Quinn <jlquinn@optonline.net>
242 * include/bits/gslice_array.h (gslice_array()): Make public.
243 (operator=(gslice_array)): Make public. Implement.
244 * include/bits/indirect_array.h (indirect_array()): Make public.
245 * include/bits/mask_array.h (mask_array()): Make public.
246 (operator=(mask_array)): Make public. Implement.
247 * include/bits/valarray_array.tcc (__valarray_copy):
248 Comment. Add versions for gslice_array and mask_array.
249 * testsuite/26_numerics/valarray_subset_assignment.cc: New test.
251 2004-03-09 Benjamin Kosnik <bkoz@redhat.com>
253 * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
255 * testsuite/23_containers/vector/modifiers/swap.cc: Same.
256 * testsuite/23_containers/set/modifiers/swap.cc: Same.
257 * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
258 * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
259 * testsuite/23_containers/map/modifiers/swap.cc: Same.
260 * testsuite/23_containers/list/modifiers/swap.cc: Same.
262 * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
264 2004-03-08 Benjamin Kosnik <bkoz@redhat.com>
267 * testsuite/23_containers/deque/modifiers/swap.cc: New.
268 * testsuite/23_containers/list/modifiers/swap.cc: New.
269 * testsuite/23_containers/map/modifiers/swap.cc: New.
270 * testsuite/23_containers/multimap/modifiers/swap.cc: New.
271 * testsuite/23_containers/multiset/modifiers/swap.cc: New.
272 * testsuite/23_containers/set/modifiers/swap.cc: New.
273 * testsuite/23_containers/vector/modifiers/swap.cc: New.
275 2004-03-08 Petur Runolfsson <peturr02@ru.is>
278 * testsuite/22_locale/locale/cons/12658_thread.cc: New.
280 2004-03-08 Paolo Carlini <pcarlini@suse.de>
282 * docs/html/ext/howto.html: Add entry for DR 103 [WP].
283 * include/bits/stl_multiset.h: Add comment about DR 103.
284 * include/bits/stl_set.h: Likewise.
286 2004-03-08 Paolo Carlini <pcarlini@suse.de>
288 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
289 The value _space_ indicates that at least one space is required
291 * testsuite/22_locale/money_get/get/char/17.cc: New.
292 * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
294 * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
295 * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
297 * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
298 Remove redundant conditional on __str.size().
300 2004-03-08 Benjamin Kosnik <bkoz@redhat.com>
302 * include/bits/allocator.h: Switch defaults to mt_alloc.
304 2004-03-06 Benjamin Kosnik <bkoz@redhat.com>
306 * include/ext/mt_allocator.h (_S_initialize): If
307 !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
309 2004-03-06 Benjamin Kosnik <bkoz@redhat.com>
312 * src/locale_init.cc (locale::locale): Lock critical regions with
314 (locale::global): Same.
315 * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
316 Add in once bits for cases without __GTHREAD_MUTEX_INIT.
317 (__glibcxx_mutex_lock): Same.
319 * config/cpu/generic/atomicity.h: Remove
320 _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
321 * src/misc-inst.cc: Move all locking bits out of this file.
323 * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
324 * src/misc-inst.cc: Same.
325 * config/cpu/hppa/atomicity.h: Same.
327 * config/linker-map.gnu: Remove types in the signature of atomic
328 exports, as they may vary.
330 2004-03-06 Paolo Carlini <pcarlini@suse.de>
332 * include/bits/locale_facets.tcc: Tweak the comment preceding
333 has_facet: doesn't throw.
335 2004-03-06 Paolo Carlini <pcarlini@suse.de>
337 * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
338 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
339 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
340 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
341 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
342 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
343 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
344 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
346 2004-03-06 Paolo Carlini <pcarlini@suse.de>
348 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
349 num_get<>::_M_extract_int, num_get<>::do_get(bool&),
350 __pad<>::_S_pad): Prefer plain operator== to traits::eq().
351 * testsuite/testsuite_character.h (struct __gnu_test::character):
353 * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
356 2004-03-05 Paolo Carlini <pcarlini@suse.de>
358 * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
360 2004-03-04 Benjamin Kosnik <bkoz@redhat.com>
362 * testsuite/23_containers/multiset/insert/1.cc: Test result string.
364 * testsuite/23_containers/bitset/invalidation/1.cc: Main always
366 * testsuite/23_containers/deque/invalidation/4.cc: Same.
367 * testsuite/23_containers/list/invalidation/1.cc: Same.
368 * testsuite/23_containers/list/invalidation/2.cc: Same.
369 * testsuite/23_containers/list/invalidation/3.cc: Same.
370 * testsuite/23_containers/list/invalidation/4.cc: Same.
371 * testsuite/23_containers/map/invalidation/2.cc: Same.
372 * testsuite/23_containers/multimap/invalidation/1.cc: Same.
373 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
374 * testsuite/23_containers/multiset/invalidation/1.cc: Same.
375 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
376 * testsuite/23_containers/set/invalidation/1.cc: Same.
377 * testsuite/23_containers/set/invalidation/2.cc: Same.
378 * testsuite/23_containers/vector/invalidation/1.cc: Same.
379 * testsuite/23_containers/vector/invalidation/2.cc: Same.
380 * testsuite/23_containers/vector/invalidation/3.cc: Same.
381 * testsuite/23_containers/vector/invalidation/4.cc: Same.
383 2004-03-04 Paolo Carlini <pcarlini@suse.de>
385 * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
387 * testsuite/lib/libstdc++.exp: Don't add it conditionally to
389 * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
391 * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
392 * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
393 * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
394 * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
395 * testsuite/23_containers/vector/resize/1.cc: Likewise.
396 * testsuite/26_numerics/complex_value.cc: Likewise.
397 * testsuite/27_io/ios_base/storage/1.cc: Likewise.
398 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
399 * testsuite/27_io/ios_base/storage/3.cc: Likewise.
400 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
401 * testsuite/27_io/objects/char/5.cc: Likewise.
402 * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
403 * testsuite/backward/11460.cc: Likewise.
404 * testsuite/thread/pthread7-rope.cc: Likewise.
406 * testsuite/21_strings/basic_string/compare/char/1.cc: Add
407 missing test variable.
408 * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
409 missing test variable.
411 2004-03-04 Benjamin Kosnik <bkoz@redhat.com>
413 * testsuite/20_util/allocator/1.cc: Provide explicit
414 instantiations for non-weak systems.
415 * testsuite/20_util/binders.cc: Same.
416 * testsuite/20_util/allocator/8230.cc: Same.
417 * testsuite/20_util/allocator/10378.cc: Same.
418 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
419 * testsuite/22_locale/ctype/is/char/2.cc: Same.
420 * testsuite/thread/pthread7-rope.cc: Same.
421 * testsuite/thread/pthread6.cc: Same.
422 * testsuite/thread/pthread5.cc: Same.
423 * testsuite/thread/pthread4.cc: Same.
424 * testsuite/thread/pthread1.cc: Same.
425 * testsuite/ext/rope.cc: Same.
426 * testsuite/ext/hash_set.cc: Same.
427 * testsuite/ext/hash_map.cc: Same.
428 * testsuite/ext/concept_checks.cc: Same.
429 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
430 * testsuite/25_algorithms/unique/2.cc: Same.
431 * testsuite/25_algorithms/unique/1.cc: Same.
432 * testsuite/25_algorithms/rotate.cc: Same.
433 * testsuite/25_algorithms/min_max.cc: Same.
434 * testsuite/25_algorithms/equal.cc: Same.
435 * testsuite/24_iterators/rel_ops.cc: Same.
436 * testsuite/24_iterators/iterator.cc: Same.
437 * testsuite/24_iterators/insert_iterator.cc: Same.
438 * testsuite/24_iterators/front_insert_iterator.cc: Same.
439 * testsuite/24_iterators/back_insert_iterator.cc: Same.
440 * testsuite/23_containers/vector/resize/1.cc: Same.
441 * testsuite/23_containers/vector/modifiers/2.cc: Same.
442 * testsuite/23_containers/vector/modifiers/1.cc: Same.
443 * testsuite/23_containers/vector/invalidation/4.cc: Same.
444 * testsuite/23_containers/vector/invalidation/3.cc: Same.
445 * testsuite/23_containers/vector/invalidation/2.cc: Same.
446 * testsuite/23_containers/vector/invalidation/1.cc: Same.
447 * testsuite/23_containers/vector/element_access/1.cc: Same.
448 * testsuite/23_containers/vector/cons/6513.cc: Same.
449 * testsuite/23_containers/vector/cons/3.cc: Same.
450 * testsuite/23_containers/vector/cons/2.cc: Same.
451 * testsuite/23_containers/vector/cons/1.cc: Same.
452 * testsuite/23_containers/vector/capacity/8230.cc: Same.
453 * testsuite/23_containers/vector/capacity/1.cc: Same.
454 * testsuite/23_containers/vector/bool/6886.cc: Same.
455 * testsuite/23_containers/stack/members/7158.cc: Same.
456 * testsuite/23_containers/set/invalidation/2.cc: Same.
457 * testsuite/23_containers/set/invalidation/1.cc: Same.
458 * testsuite/23_containers/queue/members/7157.cc: Same.
459 * testsuite/23_containers/priority_queue/members/7161.cc: Same.
460 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
461 * testsuite/23_containers/multiset/invalidation/2.cc: Same.
462 * testsuite/23_containers/multiset/insert/1.cc: Same.
463 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
464 * testsuite/23_containers/multimap/invalidation/2.cc: Same.
465 * testsuite/23_containers/map/operators/1.cc: Same.
466 * testsuite/23_containers/map/invalidation/2.cc: Same.
467 * testsuite/23_containers/map/invalidation/1.cc: Same.
468 * testsuite/23_containers/map/insert/1.cc: Same.
469 * testsuite/23_containers/list/operators/4.cc: Same.
470 * testsuite/23_containers/list/operators/3.cc: Same.
471 * testsuite/23_containers/list/operators/2.cc: Same.
472 * testsuite/23_containers/list/operators/1.cc: Same.
473 * testsuite/23_containers/list/modifiers/3.cc: Same.
474 * testsuite/23_containers/list/modifiers/2.cc: Same.
475 * testsuite/23_containers/list/modifiers/1.cc: Same.
476 * testsuite/23_containers/list/invalidation/4.cc: Same.
477 * testsuite/23_containers/list/invalidation/3.cc: Same.
478 * testsuite/23_containers/list/invalidation/2.cc: Same.
479 * testsuite/23_containers/list/invalidation/1.cc: Same.
480 * testsuite/23_containers/list/cons/9.cc: Same.
481 * testsuite/23_containers/list/cons/8.cc: Same.
482 * testsuite/23_containers/list/cons/7.cc: Same.
483 * testsuite/23_containers/list/cons/6.cc: Same.
484 * testsuite/23_containers/list/cons/5.cc: Same.
485 * testsuite/23_containers/list/cons/4.cc: Same.
486 * testsuite/23_containers/list/cons/3.cc: Same.
487 * testsuite/23_containers/list/cons/2.cc: Same.
488 * testsuite/23_containers/list/cons/1.cc: Same.
489 * testsuite/23_containers/list/capacity/1.cc: Same.
490 * testsuite/23_containers/deque/operators/1.cc: Same.
491 * testsuite/23_containers/deque/invalidation/4.cc: Same.
492 * testsuite/23_containers/deque/invalidation/3.cc: Same.
493 * testsuite/23_containers/deque/invalidation/2.cc: Same.
494 * testsuite/23_containers/deque/invalidation/1.cc: Same.
495 * testsuite/23_containers/deque/cons/2.cc: Same.
496 * testsuite/23_containers/deque/cons/1.cc: Same.
498 * src/allocator.cc: Add char, wchar_t instantiations
499 to match extern template declarations in memory.h.
501 2004-03-03 Paolo Carlini <pcarlini@suse.de>
503 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
504 Fix warning regression.
506 2004-03-03 Paolo Carlini <pcarlini@suse.de>
508 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
509 Deal properly with empty __digits and negative frac_digits,
512 2004-03-03 Jonathan Wakely <redi@gcc.gnu.org>
514 * docs/html/documentation.html: Regenerate.
516 2004-03-02 Paolo Carlini <pcarlini@suse.de>
519 * include/bits/postypes.h (class streamoff): Remove, now
520 streamoff is just typedef a 64 bit signed integer type.
521 (class fpos): Tweak consistently.
522 * testsuite/27_io/fpos/14320-1.cc: New.
523 * testsuite/27_io/fpos/14320-2.cc: New.
524 * testsuite/27_io/fpos/14320-3.cc: New.
525 * testsuite/27_io/fpos/14320-4.cc: New.
526 * testsuite/27_io/fpos/14320-5.cc: New.
527 * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
529 2004-03-02 Paolo Carlini <pcarlini@suse.de>
531 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
532 Reorganize a bit the main parsing loop, thus early detecting
533 an empty value component.
534 * testsuite/22_locale/money_get/get/char/16.cc: New.
535 * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
537 2004-03-02 Benjamin Kosnik <bkoz@redhat.com>
539 Support automake 1.8.2
540 * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
541 * po/Makefile.am (EXTRA_DIST): New.
542 * po/Makefile.in: Regenerate.
544 * include/Makefile.in: Same.
545 * libmath/Makefile.in: Same.
546 * libsupc++/Makefile.in: Same.
547 * src/Makefile.in: Same.
548 * testsuite/Makefile.in: Same.
550 * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
551 __GXX_WEAK__ instead of SUPPORTS_WEAK.
552 (${host_builddir}/gthr-default.h): Same.
553 (${host_builddir}/gthr.h): Same.
554 * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
555 _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
557 * aclocal.m4: Regenerate.
558 * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
559 * config.h.in: Regenerate.
562 2004-03-01 Benjamin Kosnik <bkoz@redhat.com>
564 Support autoconf 2.59
565 * acinclude.m4: Quote correctly.
566 * aclocal.m4: Regenerate.
569 2004-03-01 Benjamin Kosnik <bkoz@redhat.com>
571 * docs/html/test.html: Add multilib RUNTESTFLAGS example.
573 * docs/html/18_support/howto.html: Add bit about writing to
574 stderr, mostly by Zack.
576 2004-03-01 Paolo Carlini <pcarlini@suse.de>
578 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
579 money_get<>::do_get(string_type&)): ... and two more.
581 2004-03-01 Paolo Carlini <pcarlini@suse.de>
583 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
584 Fix thinkos in the switch from string_type& to string& as last
587 2004-03-01 Paolo Carlini <pcarlini@suse.de>
589 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
590 Also when parsing exponent sign, first look for thousands_sep
591 and decimal_point; tweak a bit.
592 * testsuite/22_locale/num_get/get/char/15.cc: New.
593 * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
595 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
596 num_get<>::_M_extract_int): Reorder some conditionals.
598 2004-03-01 Paolo Carlini <pcarlini@suse.de>
600 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
601 Consistently with numpunct, enforce the requirements in
602 22.2.6.3, p3 for the thousands separators; tweak a bit.
603 * testsuite/22_locale/money_get/get/char/15.cc: New.
604 * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
606 2004-03-01 David Billinghurst <David.Billinghurst@riotinto.com>
608 * testsuite/lib/libstdc++.exp (v3-list-tests): Use
609 testsuite_files from correct multilib blddir when running
612 2004-02-29 Phil Edwards <phil@codesourcery.com>
614 * testsuite/Makefile.am (check-abi, check-abi-verbose): Copy
615 the summary file to the logfile.
616 * testsuite/Makefile.in: Regenerate.
618 2004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
620 * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
622 * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
623 __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
625 2004-02-28 Paolo Carlini <pcarlini@suse.de>
627 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
628 According to 22.2.3.1, p2, 'units' may be followed by 'e' with
629 no 'decimal-point' in the middle: in this case too we must fix
630 up __found_grouping; slightly tweak.
631 * testsuite/22_locale/num_get/get/char/14.cc: New.
632 * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
634 2004-02-27 Eric Christopher <echristo@redhat.com>
635 Phil Edwards <phil@codesourcery.com>
637 * testsuite/22_locale/collate/compare/wchar_t/2.cc,
638 testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
639 testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
640 testsuite/22_locale/collate/hash/wchar_t/2.cc,
641 testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
642 testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
643 testsuite/22_locale/collate/transform/wchar_t/2.cc,
644 testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
645 testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
646 Use dg-require-iconv.
647 * testsuite/lib/libstdc++.exp: Load target-supports.exp.
649 2004-02-27 Phil Edwards <phil@codesourcery.com>
650 Eric Christopher <echristo@redhat.com>
652 * testsuite/config/default.exp: Update with comments.
653 (${tool}_target_compile): New wrapper routine.
654 * testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
655 * testsuite/lib/libstdc++.exp: Update with comments and cosmetic
657 (load_gcc_lib, v3track): New routines.
658 (v3-init): Rename to libstdc++_init.
659 * testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
660 Move DEFAULT_CXXFLAGS handling into libstdc++_init.
662 2004-02-27 Benjamin Kosnik <bkoz@redhat.com>
664 * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
666 * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
668 * config/os/irix/irix5.2/atomicity.h: Merge..
669 * config/os/irix/irix6.5/atomicity.h: Merge..
670 * config/os/irix/atomicity.h: ...into this.
671 * config/os/irix/atomic_word.h: New.
672 * configure.host: Set atomic_word_dir for irix.
674 * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
675 * i386/atomicity.h: Same.
676 * m68k/atomicity.h: Same.
677 * sparc/atomicity.h: Same.
679 2004-02-27 David Edelsohn <edelsohn@gnu.org>
681 * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
682 static, and inline keywords.
684 2004-02-27 Paolo Carlini <pcarlini@suse.de>
686 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
687 num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
688 call reserve on the __tmp_gruping string.
689 (num_get<>::_M_extract_float): Don't append unnecessarily a
690 char() to the returned string.
691 * include/bits/locale_facets.tcc: Trivial reformattings.
693 2004-02-27 Paolo Carlini <pcarlini@suse.de>
695 * include/bits/locale_facets.h (money_get<>::_M_extract):
696 Change signature: now takes a plain string&.
697 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
698 Update consistently the definition; use the moneypunct cache
699 to parse the value; use swap to change __units.
700 (money_get<>::do_get(long double&)): Update call of _M_extract,
701 avoid ctype::narrow, not correct wrt the standard.
702 (money_get<>::do_get(string_type&)): Likewise, update call
703 of _M_extract, use ctype::widen.
704 * src/locale-inst.cc: Tweak instantiations of _M_extract.
706 2004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
708 * testsuite/demangle/abi_examples/01.cc: Expect error -2.
709 * testsuite/demangle/abi_examples/02.cc: Likewise.
710 * testsuite/demangle/regression/cw-11.cc: Likewise.
711 * testsuite/demangle/regression/cw-16.cc: Change two expected
712 results to match libiberty demangler output.
714 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
717 * libsupc++/Makefile.am: Use libiberty demangler.
718 (c_sources): Add cp-demangle.c.
719 * libsupc++/Makefile.in: Regenerate.
720 * src/Makefile.am (sources): Remove demangle.cc.
721 * src/Makefile.in: Regenerate.
722 * include/Makefile.am (bits_headers): Move demangle.h.
723 (ext_headers): ...here.
724 * include/Makefile.in: Regenerate.
725 * include/bits/demangle.h: Move...
726 * include/ext/demangle.h: ...here.
727 * src/demangle.cc: Remove.
729 2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
731 * include/bits/demangle.h: Add type template parameter to all
732 templates with just an Allocator template parameter.
734 2004-02-25 Benjamin Kosnik <bkoz@redhat.com>
736 * include/bits/atomicity.h: New, forward declarations for __atomic_add
737 and __exchange_and_add.
738 * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
739 * config/cpu/cris/atomic_word.h: Same.
740 * config/cpu/sparc/atomic_word.h: Same.
741 * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
742 Qualifiy with __gnu_cxx.
743 (_Callback_list::_M_add_reference): Same.
744 * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
745 (locale::facet::_M_remove_reference): Same.
746 (locale::_Impl::_M_add_reference): Add.
747 (locale::_Impl::_M_remove_reference): Same.
748 * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
749 (basic_string::_Rep::_M_dispose): Same.
750 * src/ios.cc (ios_base::xalloc): Same.
751 * src/ios_init.cc (ios_base::Init::Init): Same.
752 (ios_base::Init::~Init): Same.
753 * src/locale.cc (locale::id::_M_id): Same.
754 * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
755 static, and inline keywords.
756 * config/cpu/alpha/atomicity.h: Same.
757 * config/cpu/cris/atomicity.h: Same.
758 * config/cpu/generic/atomicity.h: Same.
759 * config/cpu/hppa/atomicity.h: Same.
760 * config/cpu/i386/atomicity.h: Same.
761 * config/cpu/ia64/atomicity.h: Same.
762 * config/cpu/m68k/atomicity.h: Same.
763 * config/cpu/mips/atomicity.h: Same.
764 * config/cpu/powerpc/atomicity.h: Same.
765 * config/cpu/s390/atomicity.h: Same.
766 * config/cpu/sparc/atomicity.h: Same.
768 * src/Makefile.am (host_sources): Add atomicity.cc.
769 (atomicity.cc): New rule.
770 * src/Makefile.in: Regenerate.
771 * include/Makefile.am (host_headers): Remove host atomicity.h.
772 (host_headers): Add atomic_word.h.
773 (bits_headers): Add bits atomicity.h.
774 Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
775 * include/Makefile.in: Regenerate.
776 * configure.host (atomic_word_dir): Add.
777 * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
778 ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
779 * configure: Regenerate.
780 * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
782 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
783 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
785 2004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
787 * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
788 docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
789 Fix markup, more <link> tags.
791 2004-02-25 Carlo Wood <carlo@alinoe.com>
794 namespace __gnu_cxx::demangler
795 (session<Allocator>::qualifier_list_Allocator): Add
796 (session<Allocator>::M_qualifier_list_alloc): Add
797 (session<Allocator>::decode_type_with_postfix):
798 Use M_qualifier_list_alloc instead of calling operator new/delete.
800 2004-02-24 Paolo Carlini <pcarlini@suse.de>
803 * include/bits/postypes.h (class streamoff): Add operator++(),
804 operator++(int), operator--() and operator--(int).
805 * testsuite/27_io/fpos/14252.cc: New.
807 2004-02-24 Richard Sandiford <rsandifo@redhat.com>
809 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
810 error in handling of hex constants.
812 2004-02-24 Paolo Carlini <pcarlini@suse.de>
814 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
815 Prefer basic_string::append to operator+= and a temporary.
817 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
819 * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
820 Only use fputs, not write.
822 2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
824 * include/ext/malloc_allocator.h: Add operators ==, !=.
825 * include/ext/new_allocator.h: Add operators ==, !=.
826 * include/ext/mt_allocator.h (__mt_alloc::tune): New.
827 (__mt_alloc::_S_get_options): New.
828 (__mt_alloc::_S_set_options): New.
829 (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
830 (__mt_alloc::_S_no_of_bins): To _S_bin_size.
831 Move functions out of line, simplify, format.
832 * src/allocator.cc: Simplify explicit instantiations.
833 * include/bits/allocator.h: Tweak.
835 2004-02-22 Paolo Carlini <pcarlini@suse.de>
837 * include/bits/locale_facets.tcc (money_put<>::_M_insert):
838 Restructure formatting of value component, first dealing with
839 the non-decimal digits; use reserve.
841 2004-02-22 Paolo Carlini <pcarlini@suse.de>
843 * include/bits/locale_facets.h (class money_get): Inherit
844 from money_base too; tweak declaration of _M_extract, now
845 parameterized on _Intl too.
846 * include/bits/locale_facets.tcc (money_get<>::_M_extract):
847 Update definition to use the cache; call reserve on __res to
848 avoid multiple reallocations; fix parsing of sign component
849 according to 22.2.6.1.2, p3.
850 (money_get<>::do_get(long double&),
851 money_get<>::do_get(string_type&)): Update calls of _M_extract.
852 * src/locale-inst.cc: Add instantiations of
853 money_get::_M_extract<false> and money_get::_M_extract<true>.
854 * testsuite/22_locale/money_get/get/char/14.cc: New.
855 * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
857 2004-02-21 Mark Mitchell <mark@codesourcery.com>
859 * libsupc++/vterminate.cc
860 (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
862 * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
864 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
865 not set RLIMIT_AS on HP-UX.
867 2004-02-21 Mark Mitchell <mark@codesourcery.com>
869 * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
870 not set RLIMIT_AS on HP-UX.
872 2004-02-21 Paolo Carlini <pcarlini@suse.de>
874 * include/bits/locale_facets.h (class money_base): Add { _S_minus,
875 _S_zero, _S_end } enum, _S_atoms.
876 (struct __moneypunct_cache<>): Parameterize on _Intl too; add
877 _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
878 _M_negative_sign_size, _M_atoms; tweak constructor consistently.
879 (__moneypunct_cache<>::~__moneypunct_cache): Update.
880 (__moneypunct_cache<>::_M_cache): Fill the cache.
881 (class moneypunct): Tweak __cache_type typedef.
882 (class money_put): Inherit from money_base too; tweak declaration
883 of _M_insert, now parameterized on _Intl.
884 * include/bits/locale_facets.tcc
885 (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
886 (money_put<>::_M_insert): Update definition to use the cache;
887 call reserve on __res to avoid multiple reallocations.
888 (money_put<>::do_put(long double),
889 money_put<>::do_put(const string_type&): Update calls of _M_insert.
890 * config/locale/generic/monetary_members.cc
891 (moneypunct<char, true>::_M_initialize_moneypunct,
892 moneypunct<char, false>::_M_initialize_moneypunct,
893 moneypunct<wchar_t, true>::_M_initialize_moneypunct,
894 moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
895 * config/locale/gnu/monetary_members.cc: Likewise.
896 * config/locale/gnu/monetary_members.cc
897 (moneypunct<wchar_t, true>::~moneypunct(),
898 moneypunct<wchar_t, false>::~moneypunct()): Likewise.
899 * src/globals_locale.cc: Tweak fake_money_cache_c.
900 * src/locale-inst.cc: Add instantiations for
901 money_put::_M_insert<false> and money_put::_M_insert<true> and
902 __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
903 * src/locale_facets.cc: Define money_base::_S_atoms.
904 * src/locale_init.cc: Update placement new of
905 __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
906 __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
908 * config/locale/generic/numeric_members.cc: Clean up.
909 * config/locale/gnu/numeric_members.cc: Likewise.
910 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
911 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
912 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
913 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
914 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
915 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
917 2004-02-20 Mark Mitchell <mark@codesourcery.com>
919 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
920 FIFO for writing with ios_base::in|ios_base::out.
921 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
922 * testsuite/27_io/objects/char/7.cc: Likewise.
923 * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
926 2004-02-19 David Edelsohn <edelsohn@gnu.org>
928 * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
929 from iso-8859-1 to ISO8859-1.
930 * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
931 * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
932 * 22_locale/collate/hash/wchar_t/2.cc: Same.
933 * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
934 * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
935 * 22_locale/collate/transform/wchar_t/2.cc: Same.
936 * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
937 * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
939 2004-02-18 Paolo Carlini <pcarlini@suse.de>
941 * include/bits/locale_facets.h (money_get<>::_M_extract):
942 New, helper for do_get.
943 (money_put<>::_M_insert): Likewise, for do_put.
944 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
945 money_put<>::_M_insert): Define.
946 (money_get<>::do_get(long double&), money_get<>::do_get(
947 string_type&), money_put::do_put(long double),
948 money_put::do_put(const string_type&)): Use the helpers.
950 2004-02-18 Paolo Carlini <pcarlini@suse.de>
952 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
953 Rewrite, avoiding recursion.
954 (__gnu_internal::xwrite): Minor tweaks.
956 2004-02-17 Stefan Olsson <stefan@xapa.se>
958 * include/ext/mt_allocator.h: Removed the last
959 pointer. Deallocated blocks are now added to the front of
960 freelists as proposed by Felix Yen. This gives roughly 10%
961 performance boost and saves some memory.
962 * docs/html/ext/mt_allocator.html: Change due to that deallocated
963 blocks now are added to the front of freelists. The reason to this
964 approach is also explained.
966 2004-02-17 Paolo Carlini <pcarlini@suse.de>
968 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
969 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
970 grouping fidelity conditional.
972 2004-02-16 Paolo Carlini <pcarlini@suse.de>
974 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
975 Qualify exception with std::.
976 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
977 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
978 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
979 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
980 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
982 2004-02-16 Paolo Carlini <pcarlini@suse.de>
984 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
985 for now that the catch block is not reached.
986 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
988 2004-02-16 Paolo Carlini <pcarlini@suse.de>
990 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
991 Fix parsing of the remaining sign characters.
992 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
993 the input is scanned 'til eof.
994 * 22_locale/money_get/get/char/4.cc: Likewise.
995 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
996 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
997 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
998 not do_pos_format: the former is the only one that matters during
1000 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
1002 * 22_locale/money_get/get/char/6.cc: Minor tweak.
1003 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
1005 2004-02-15 David Asher <david.asher@cavium.com>
1008 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
1009 access __olds beyond __oldlen.
1011 2004-02-14 Paolo Carlini <pcarlini@suse.de>
1013 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
1014 sure the exception is actually thrown.
1015 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1016 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1017 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1019 2004-02-14 Paolo Carlini <pcarlini@suse.de>
1022 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
1023 In case of conversion errors, throw ios_failure; simplify.
1024 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
1025 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
1026 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
1027 previously we didn't throw in case of conversion errors, instead
1028 just returned eof().
1029 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1030 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1031 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1033 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
1034 Trivial simplification of a conditional.
1036 2004-02-12 Paolo Carlini <pcarlini@suse.de>
1038 PR libstdc++/13731 (final part: writev)
1039 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
1040 New, a wrapper around writev() handling partial writes.
1041 (__basic_file<char>::xwrite): Move to __gnu_internal and make
1043 (__basic_file<char>::xsputn): Update call.
1044 (__basic_file<char>::xsputn_2): Likewise.
1045 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
1046 Don't declare, now static.
1048 2004-02-11 Stefan Olsson <stefan@xapa.se>
1050 * docs/html/ext/mt_allocator.html: New.
1052 2004-02-11 Benjamin Kosnik <bkoz@redhat.com>
1054 * docs/html/20_util/allocator.html: New file, consolidate
1055 allocator information here. Revamp.
1056 * docs/html/documentation.html: Change links.
1057 * docs/html/20_util/howto.html: Same.
1058 * docs/html/ext/howto.html: Same.
1060 2004-02-11 Paolo Carlini <pcarlini@suse.de>
1062 PR libstdc++/13731 (first part: write)
1063 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
1065 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
1066 Define it: a wrapper around write() handling partial write.
1067 (__basic_file<char>::xsputn): Use it.
1068 (__basic_file<char>::xsputn_2): Likewise.
1070 2004-02-11 Paolo Carlini <pcarlini@suse.de>
1071 Petur Runolfsson <peturr02@ru.is>
1074 * include/std/std_istream.h (operator>>(__istream_type& (*)
1075 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
1076 operator>>(ios_base& (*)(ios_base&))): Declare inline.
1077 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
1078 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
1079 operator<<(ios_base& (*) (ios_base&))): Likewise.
1080 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
1082 2004-02-10 Loren J. Rittle <ljrittle@acm.org>
1085 * config/linker-map.gnu: Add typeinfo and typeinfo name for
1086 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
1089 * config/linker-map.gnu: Add typeinfo and typeinfo name for
1090 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
1092 2004-02-09 Loren J. Rittle <ljrittle@acm.org>
1094 * include/ext/pool_allocator.h: Include c++config.h.
1096 2004-02-09 Stefan Olsson <stefan@xapa.se>
1098 * include/ext/mt_allocator.h: thread_id is unused in non threaded
1099 applications and now has a ifdef to remove it completely on
1100 compilers without thread support. Include stdlib.h due to a
1101 compiler warning on getenv().
1103 2004-02-09 Paul Brook <paul@codesourcery.com>
1105 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
1107 2004-02-09 Paolo Carlini <pcarlini@suse.de>
1110 * src/locale_init.cc (locale::global(const locale&)): Use
1111 locale::name() in order to decide whether calling setlocale.
1112 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
1114 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
1115 Avoid computing &= unnecessarily.
1117 2004-02-09 James E Wilson <wilson@specifixinc.com>
1120 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
1121 __builtin_extend_pointer.
1123 2004-02-09 Paolo Carlini <pcarlini@suse.de>
1126 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
1127 Don't leave dangling pointers.
1128 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
1129 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
1130 facet is needed in the final test.
1132 2004-02-09 Bernardo Innocenti <bernie@develer.com>
1134 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
1135 * configure: Regenerate.
1137 2004-02-08 Richard Henderson <rth@redhat.com>
1140 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
1141 uncaughtExceptions during nested catch rethrow.
1142 * testsuite/18_support/14026.cc: New.
1144 2004-02-08 Paolo Carlini <pcarlini@suse.de>
1146 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
1147 When working in place remember to set the state to sharable
1148 (otherwise, _M_mutate does it).
1150 2004-02-08 Bernardo Innocenti <bernie@develer.com>
1152 * include/bits/allocator.h, include/bits/basic_ios.h,
1153 include/bits/basic_ios.tcc, include/bits/basic_string.h,
1154 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
1155 include/bits/char_traits.h, include/bits/codecvt.h,
1156 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
1157 include/bits/demangle.h, include/bits/deque.tcc,
1158 include/bits/fstream.tcc, include/bits/functexcept.h,
1159 include/bits/gslice.h, include/bits/gslice_array.h,
1160 include/bits/indirect_array.h, include/bits/ios_base.h,
1161 include/bits/istream.tcc, include/bits/list.tcc,
1162 include/bits/locale_classes.h, include/bits/locale_facets.h,
1163 include/bits/locale_facets.tcc, include/bits/localefwd.h,
1164 include/bits/mask_array.h, include/bits/ostream.tcc,
1165 include/bits/postypes.h, include/bits/slice_array.h,
1166 include/bits/sstream.tcc, include/bits/stl_algo.h,
1167 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
1168 include/bits/stl_construct.h, include/bits/stl_deque.h,
1169 include/bits/stl_function.h, include/bits/stl_heap.h,
1170 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
1171 include/bits/stl_list.h, include/bits/stl_map.h,
1172 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
1173 include/bits/stl_numeric.h, include/bits/stl_pair.h,
1174 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
1175 include/bits/stl_relops.h, include/bits/stl_set.h,
1176 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
1177 include/bits/stl_threads.h, include/bits/stl_tree.h,
1178 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
1179 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
1180 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
1181 include/bits/type_traits.h, include/bits/valarray_after.h,
1182 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
1183 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
1184 trailing whitespace.
1186 2004-02-06 Paolo Carlini <pcarlini@suse.de>
1188 * include/bits/basic_string.h: Fix comment.
1190 2004-02-06 Paolo Carlini <pcarlini@suse.de>
1192 * include/bits/stl_construct.h: Wrap overlong lines, reformat
1193 according to the coding standards.
1194 * include/bits/stl_pair.h: Likewise.
1195 * include/bits/stl_raw_storage_iter.h: Likewise.
1196 * include/bits/stl_stack.h: Likewise.
1197 * include/bits/stl_uninitialized.h: Likewise.
1198 * include/bits/stream_iterator.h: Likewise.
1199 * include/bits/streambuf_iterator.h: Likewise.
1200 * include/bits/type_traits.h: Likewise.
1202 2004-02-06 Paolo Carlini <pcarlini@suse.de>
1204 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
1207 2004-02-05 Loren J. Rittle <ljrittle@acm.org>
1209 * scripts/check_performance: Support PCH.
1211 * scripts/check_performance (CXX): Add -DNOTHREAD.
1212 * testsuite/performance/20_util/allocator/insert.cc: Integrate
1213 threaded tests from insert_insert.cc. Tweak iterations,
1214 remove special cases.
1215 * testsuite/performance/20_util/allocator/insert_insert.cc:
1216 Make all tests single-threaded. Tweak iterations.
1217 * testsuite/performance/20_util/allocator/map_thread.cc:
1219 * testsuite/performance/20_util/allocator/producer_consumer.cc:
1222 2004-02-05 Geoffrey Keating <geoffk@apple.com>
1226 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
1227 'gcc-lib'. Add comment about poorly-named variables.
1228 * aclocal.m4: Regenerate.
1229 * configure: Regenerate.
1231 2004-02-05 Paolo Carlini <pcarlini@suse.de>
1233 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
1234 Thousands-sep are always optional; thousands-sep are not allowed
1235 after the decimal_point.
1236 * testsuite/22_locale/money_get/get/char/12.cc: New.
1237 * testsuite/22_locale/money_get/get/char/13.cc: New.
1238 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
1239 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
1241 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
1242 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
1243 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
1244 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
1245 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
1246 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
1247 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
1248 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
1250 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
1252 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
1254 2004-02-05 Richard Sandiford <rsandifo@redhat.com>
1256 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
1258 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
1259 it to decide whether FIONREAD should take an off_t or int argument.
1261 2004-02-05 Paolo Carlini <pcarlini@suse.de>
1263 * include/bits/stl_function.h: Minor formatting changes.
1265 2004-02-04 Zack Weinberg <zack@codesourcery.com>
1267 Revert previous change to config/abi/*/baseline_symbols.txt.
1269 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
1270 Zack Weinberg <zack@codesourcery.com>
1272 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
1274 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
1275 (__basic_file<char>::_M_open_mode): Delete.
1276 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
1278 * testsuite/27_io/basic_filebuf/close/char/9964.cc
1279 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
1280 Correct flags to filebuf::open calls.
1282 * config/abi/alpha-freebsd5/baseline_symbols.txt
1283 * config/abi/alpha-linux-gnu/baseline_symbols.txt
1284 * config/abi/hppa-linux-gnu/baseline_symbols.txt
1285 * config/abi/i386-freebsd4/baseline_symbols.txt
1286 * config/abi/i386-freebsd5/baseline_symbols.txt
1287 * config/abi/i486-linux-gnu/baseline_symbols.txt
1288 * config/abi/ia64-linux-gnu/baseline_symbols.txt
1289 * config/abi/mips-linux-gnu/baseline_symbols.txt
1290 * config/abi/sparc-freebsd5/baseline_symbols.txt
1291 * config/abi/sparc-linux-gnu/baseline_symbols.txt
1292 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
1293 Remove entry for __basic_file<char>::_M_open_mode.
1295 2004-02-04 Loren J. Rittle <ljrittle@acm.org>
1297 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
1299 2004-02-04 Felix Yen <fwy@alumni.brown.edu>
1301 * testsuite/performance/20_util/producer_consumer.cc: New.
1302 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
1304 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
1306 * testsuite/performance/20_util/allocator.cc: Move to..
1307 * testsuite/performance/20_util/allocator/insert.cc: ...here.
1308 * testsuite/performance/20_util/allocator_thread.cc: Move to...
1309 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
1310 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
1311 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
1313 2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
1315 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
1316 * docs/html/faq/index.txt: Regenerate.
1318 2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
1320 * include/ext/debug_allocator.h: _M_extra now stands for the
1321 number of extra objects instead of the number of extra bytes.
1322 (debug_allocator::allocate): Adjust.
1323 (debug_allocator::deallocate): Adjust.
1325 * include/ext/pool_allocator.h: Fix typo.
1327 2004-02-03 Felix Yen <fwy@alumni.brown.edu>
1328 Benjamin Kosnik <bkoz@redhat.com>
1330 * testsuite/performance/20_util/allocator.cc: Add map,
1332 * testsuite/performance/20_util/allocator_thread.cc: Same.
1334 2004-02-03 Paolo Carlini <pcarlini@suse.de>
1336 * include/bits/basic_string.h (insert(iterator)): Remove,
1337 non-standard and already scheduled for removal.
1339 2004-02-03 Paolo Carlini <pcarlini@suse.de>
1341 * include/bits/stl_iterator_base_funcs.h: Minor formatting
1342 and indentation tweaks.
1343 * include/bits/stl_iterator_base_types.h: Likewise.
1344 * include/bits/stl_list.h: Likewise.
1345 * include/bits/stl_map.h: Likewise.
1346 * include/bits/stl_tempbuf.h: Likewise.
1348 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
1350 * include/bits/gslice.h, include/bits/gslice_array.h,
1351 include/bits/indirect_array.h, include/bits/mask_array.h,
1352 include/bits/slice_array.h, include/bits/stl_numeric.h,
1353 include/std/std_valarray.h: Update copyright years.
1355 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
1357 * include/bits/gslice.h (gslice): Document.
1358 * include/bits/gslice_array.h (gslice_array): Document.
1359 * include/bits/indirect_array (indirect_array): Document.
1360 * include/bits/mask_array (mask_array): Document.
1361 * include/bits/slice_array.h (slice,slice_array): Document.
1362 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
1363 adjacent_difference): Document
1364 * include/std/std_valarray.h (valarray): Document.
1366 2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
1368 * docs/html/19_diagnostics/howto.html: Move verbose terminate
1370 * docs/html/18_support/howto.html: Here.
1371 * docs/html/documentation.html: Add reference here.
1373 2004-02-02 Paolo Carlini <pcarlini@suse.de>
1375 * config/locale/gnu/c++locale_internal.h: Remove prototypes
1376 of no longer used GLIBC thread locale functions.
1378 2004-02-02 Eric Christopher <echristo@redhat.com>
1379 Zack Weinberg <zack@codesourcery.com>
1381 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
1383 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
1384 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
1385 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
1386 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
1387 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
1388 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
1389 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
1390 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
1393 2004-02-02 Paolo Carlini <pcarlini@suse.de>
1395 * include/bits/stl_function.h: Additional minor tweaks.
1396 * include/bits/stl_multiset.h: Likewise.
1398 * include/bits/stl_queue.h: Minor tweaks.
1400 2004-02-02 Paolo Carlini <pcarlini@suse.de>
1402 PR libstdc++/13976 (continued)
1403 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
1404 Make the second parameter unnamed, to void unused parameter
1406 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
1408 2004-02-02 Paolo Carlini <pcarlini@suse.de>
1411 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
1412 Make the second parameter unnamed, to void unused parameter
1414 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
1415 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
1417 2004-02-01 Paolo Carlini <pcarlini@suse.de>
1419 * include/bits/stl_algo.h: Additional minor tweaks.
1420 * include/bits/stl_map.h: Likewise.
1421 * include/bits/stl_multimap.h: Likewise.
1422 * include/bits/stl_multiset.h: Likewise.
1423 * include/bits/stl_set.h: Likewise.
1424 * include/bits/stl_tree.h: Likewise.
1426 2004-02-01 Paolo Carlini <pcarlini@suse.de>
1428 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
1431 2004-02-01 Paolo Carlini <pcarlini@suse.de>
1433 * include/bits/stl_function.h: Additional minor tweaks.
1435 2004-02-01 Paolo Carlini <pcarlini@suse.de>
1437 * include/bits/deque.tcc: Wrap overlong lines, constify
1438 a few variables, reformat according to the coding standards.
1439 * include/bits/list.tcc: Likewise.
1440 * include/bits/stl_deque.h: Likewise.
1441 * include/bits/stl_function.h: Likewise.
1442 * include/bits/stl_iterator.h: Likewise.
1443 * include/bits/stl_iterator_base_funcs.h: Likewise.
1444 * include/bits/stl_iterator_base_types.h: Likewise.
1445 * include/bits/stl_list.h: Likewise.
1446 * include/bits/stl_map.h: Likewise.
1447 * include/bits/stl_multimap.h: Likewise.
1448 * include/bits/stl_multiset.h: Likewise.
1449 * include/bits/stl_relops.h: Likewise.
1450 * include/bits/stl_set.h: Likewise.
1452 2004-02-01 Paolo Carlini <pcarlini@suse.de>
1454 * include/bits/stl_bvector.h: Wrap overlong lines, constify
1455 a few variables, reformat according to the coding standards.
1456 * include/bits/stl_tree.h: Likewise.
1458 2004-01-31 Paolo Carlini <pcarlini@suse.de>
1460 * include/bits/stl_algo.h: Minor additional reformat, add
1462 * include/bits/stl_algobase.h: Add copyright year.
1464 2004-01-31 Paolo Carlini <pcarlini@suse.de>
1466 * include/bits/stl_algo.h: Wrap overlong lines, constify
1467 a few variables, reformat according to the coding standards.
1468 * include/bits/stl_algobase.h: Likewise.
1469 * include/bits/stl_heap.h: Likewise.
1471 2004-01-31 Paolo Carlini <pcarlini@suse.de>
1473 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
1475 * include/bits/basic_string.h: Fix two comments.
1477 2004-01-31 Per Bothner <per@bothner.com>
1479 * include/ext/mt_allocator.h
1480 (__mt_alloc::_S_thread_freelist_mutex): Guard with
1481 __GTHREAD_MUTEX_INIT.
1483 2004-01-31 Paolo Carlini <pcarlini@suse.de>
1485 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
1487 2004-01-30 Paolo Carlini <pcarlini@suse.de>
1489 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
1490 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
1491 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
1493 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
1495 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
1496 Don't use clear, but instead assign. Use insert.
1498 2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
1500 * src/demangle.cc: Add instantiations.
1501 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
1502 * src/Makefile.in: Regenerate.
1504 2004-01-30 David Edelsohn <edelsohn@gnu.org>
1506 * src/allocator.cc: Protect _S_get_thread_id() and
1507 _S_thread_key_destr() with #ifdef __GTHREADS.
1509 2004-01-30 Paolo Carlini <pcarlini@suse.de>
1511 Reshuffle performance testsuite.
1512 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
1513 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
1514 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
1515 fstream_seek_write.cc, ifstream_extract_float.cc,
1516 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
1517 list_create_fill_sort.cc, map_create_fill.cc,
1518 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
1519 ofstream_insert_float.cc, ofstream_insert_int.cc,
1520 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
1521 wchar_t_out.cc: Split into...
1522 * testsuite/performance/20_util/allocator.cc: New.
1523 * testsuite/performance/20_util/allocator_map_thread.cc: New.
1524 * testsuite/performance/20_util/allocator_thread.cc: New.
1525 * testsuite/performance/21_strings/string_append: New.
1526 * testsuite/performance/22_locale/is_wchar_t.cc: New.
1527 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
1528 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
1529 * testsuite/performance/22_locale/wchar_t_in.cc: New.
1530 * testsuite/performance/22_locale/wchar_t_length.cc: New.
1531 * testsuite/performance/22_locale/wchar_t_out.cc: New.
1532 * testsuite/performance/23_containers/container_benchmark.cc: New.
1533 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
1534 * testsuite/performance/23_containers/map_create_fill.cc: New.
1535 * testsuite/performance/26_numerics/complex_norm.cc: New.
1536 * testsuite/performance/27_io/cout_insert_int.cc: New.
1537 * testsuite/performance/27_io/filebuf_copy.cc: New.
1538 * testsuite/performance/27_io/filebuf_sputc.cc: New.
1539 * testsuite/performance/27_io/fstream_seek_write.cc: New.
1540 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
1541 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
1542 * testsuite/performance/27_io/ifstream_getline.cc: New.
1543 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
1544 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
1546 2004-01-30 Paolo Carlini <pcarlini@suse.de>
1548 * include/bits/basic_string.tcc (_Rep::_S_create):
1549 Never allocate a string bigger than max_size(); always keep
1550 __capacity and __size in sync to avoid memory leaks at
1553 2004-01-30 Paolo Carlini <pcarlini@suse.de>
1555 * include/bits/basic_string.tcc (_S_construct(_InIterator,
1556 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
1557 the double loop, streamline.
1559 * include/bits/basic_string.tcc: Very minor tweaks.
1561 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
1563 * scripts/check_performance: Only compile with $THREAD_FLAG
1564 when test is marked to require it. Allow multiple
1565 compilations/executions of marked tests.
1566 * testsuite/testsuite_performance.h (report_performance):
1567 Report dynamic thread support status.
1568 (report_header): Likewise.
1569 * testsuite/performance/allocator.cc: Stabilize iteration
1570 count. Support more allocators. Mark each allocator test to
1571 run and report independently.
1572 * testsuite/performance/allocator_map_thread.cc: Likewise.
1573 * testsuite/performance/allocator_thread.cc: Likewise.
1575 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
1577 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
1578 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
1579 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
1580 std::get_temporary_buffer() instead of duplicating its code.
1581 Update to C++STYLE conventions.
1582 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
1583 new() instead of std::malloc().
1584 (return_temporary_buffer): Use ::operator delete() instead of
1587 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
1589 * include/bits/allocator.h: Temporary switch to new_allocator as
1590 the default to unjam bootstraps.
1592 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
1594 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
1595 * include/Makefile.in: Regenerate.
1596 * include/bits/allocator_traits.h: Remove.
1597 * include/bits/allocator.h: Remove allocator_traits.h include, and
1599 (allocator): Empty base class, inherit from the underlying allocator.
1600 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
1601 * src/allocator.cc: ...here. New. For the underlying allocators.
1602 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
1603 * config/linker-map.gnu: Remove __pool_alloc bits.
1604 * src/Makefile.am (sources): Add allocator.cc.
1605 * src/Makefile.in: Regenerate.
1606 * testsuite/20_util/allocator/1.cc: Split second test into...
1607 * testsuite/20_util/allocator/8230.cc: ...this.
1608 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
1609 typedef to use std::allocatore. Format.
1610 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
1612 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
1613 __throw_bad_alloc calls. Don't include <memory>.
1614 * include/ext/malloc_allocator.h: Remove <memory> include.
1615 * include/ext/new_allocator.h (new_allocator): Same.
1616 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
1617 declaration. Switch __alloc to _Alloc.
1618 * include/ext/hashtable.h: Remove __alloc.
1619 * include/backward/alloc.h: Only inject allocator, not
1620 implementation details.
1622 * include/ext/mt_allocator.h: Replace free with delete.
1624 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
1626 * src/globals_io.cc: Change to __gnu_internal namespace.
1627 * src/globals_locale.cc: Same.
1628 * src/locale_init.cc: Same.
1629 * src/ios_init.cc: Same.
1631 2004-01-28 Stefan Olsson <stefan@snon.net>
1633 * include/ext/mt_allocator.h: Replaced all malloc() calls with
1634 operator new(). Added support for the env variable
1635 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
1636 one in allocate() as well). Fix typos.
1638 2004-01-28 Paolo Carlini <pcarlini@suse.de>
1640 * include/bits/basic_string.h (_S_create(size_t,
1641 const _Alloc&): Change signature to take two size_type
1643 * include/bits/basic_string.tcc (_S_construct(_InIterator,
1644 _InIterator, const _Alloc&, input_iterator_tag)): Update
1646 (_S_construct(_InIterator, _InIterator, const _Alloc&,
1647 forward_iterator_tag)): Likewise.
1648 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
1649 (_M_mutate(size_type, size_type, size_type)): Don't
1650 implement the exponential growth policy, demand it to
1651 _S_create, update call and simplify.
1652 (_M_clone(const _Alloc&, size_type)): Likewise.
1653 (_S_create(size_type, size_type, const _Alloc&)): Implement
1654 the growth policy, simplify otherwise.
1656 * include/bits/basic_string.h (_Rep::operator[]): Tweak
1657 signature to take a size_type, consistently with the other
1660 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
1662 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
1663 delete declarations, add include and test variable.
1665 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
1667 * include/bits/codecvt.h, include/bits/locale_facets.h,
1668 include/bits/postypes.h, include/bits/stl_bvector.h,
1669 include/bits/stl_multiset.h, include/bits/stl_set.h,
1670 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
1671 include/std/std_complex.h: Document.
1673 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
1676 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
1677 iword/pword selector.
1678 (ios_base::iword, ios_base::pword): Use it.
1679 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
1680 iword or pword member on alloc failure.
1681 * testsuite/27_io/ios_base/storage/11584.cc: New test.
1683 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
1684 PJ Darcy <darcypj@us.ibm.com>
1686 * configure.host: Add support for *-tpf.
1687 * crossconfig.m4: Likewise.
1688 * configure: Regenerate.
1689 * config/os/tpf: New directory.
1690 * config/os/tpf/os_defines.h: New file.
1691 * config/os/tpf/ctype_base.h: Likewise.
1692 * config/os/tpf/ctype_inline.h: Likewise.
1693 * config/os/tpf/ctype_noninline.h: Likewise.
1695 2004-01-27 Paolo Carlini <pcarlini@suse.de>
1698 * include/bits/sstream.tcc: Guard use of extern template.
1700 2004-01-27 Paolo Carlini <pcarlini@suse.de>
1702 * include/bits/basic_string.tcc
1703 (basic_string(const basic_string&, size_type, size_type),
1704 basic_string(const basic_string&, size_type, size_type,
1705 const _Alloc&)): Avoid unnecessarily constructing iterators.
1707 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1709 * config/locale/generic/c_locale.cc: Fix throw messages
1710 to use the __N marker.
1711 * config/locale/gnu/c_locale.cc: Likewise.
1712 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
1714 * docs/html/17_intro/C++STYLE: Likewise.
1715 * include/bits/basic_ios.tcc: Likewise.
1716 * include/bits/fstream.tcc: Likewise.
1717 * include/bits/vector.tcc: Likewise.
1718 * include/ext/ropeimpl.h: Likewise.
1719 * include/std/std_bitset.h: Likewise.
1720 * src/ios.cc: Likewise.
1721 * src/locale.cc: Likewise.
1722 * src/localename.cc: Likewise.
1724 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1726 * include/bits/basic_string.h (_M_replace_aux): Use the
1727 __N marker in throw message.
1728 * include/bits/basic_string.tcc (assign(const _CharT*,
1729 size_type), insert(size_type, const _CharT*, size_type),
1730 replace(size_type, size_type, const _CharT*, size_type),
1731 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
1734 * include/bits/basic_string.h, include/bits/basic_string.tcc:
1735 Fold overlong lines, minor formatting changes.
1737 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1739 * include/bits/basic_string.h (replace(iterator, iterator,
1740 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
1741 (replace(iterator, iterator, const _CharT*)): Ditto.
1742 (replace(iterator, iterator, const _CharT*, size_type)):
1743 Add missing _GLIBCXX_DEBUG_PEDASSERT.
1745 2004-01-26 Paolo Carlini <pcarlini@suse.de>
1747 * include/bits/basic_string.tcc (replace(size_type,
1748 size_type, const _CharT*, size_type)): Implement optimized
1749 in-place algorithm for non-overlapping ranges.
1750 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
1751 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
1753 * include/bits/basic_string.tcc (insert(size_type,
1754 const _CharT*, size_type)): Tweak slightly.
1756 2004-01-26 Andreas Schwab <schwab@suse.de>
1758 * config/locale/gnu/monetary_members.cc: Restore locale before
1759 rethrowing exception.
1761 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1763 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1765 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
1768 * include/bits/basic_string.tcc: Very minor tweaks.
1770 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1772 * testsuite/performance/string_append.cc: Increase number
1775 2004-01-25 Paolo Carlini <pcarlini@suse.de>
1777 * include/bits/basic_string.h (erase(size_type, size_type),
1778 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
1779 instead, thus avoiding redundant check for length_error.
1781 * include/bits/basic_string.h: Tweak some comments.
1783 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1785 * include/bits/basic_string.tcc (operator+(const _CharT*,
1786 const basic_string&)): No need to go through the append
1787 taking two iterators.
1789 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1791 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
1792 Revert last change to use std::min: machine language is worse.
1793 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
1794 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1795 (find_last_not_of(_CharT, size_type)): Ditto.
1797 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
1798 size_type)): Discard the value returned by _M_check.
1799 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
1800 (append(const basic_string&, size_type, size_type)): Ditto.
1801 (copy(_CharT*, size_type, size_type)): Ditto.
1802 (compare(size_type, size_type, const basic_string&)): Ditto.
1803 (compare(size_type, size_type, const basic_string&,
1804 size_type, size_type)): Ditto.
1805 (compare(size_type, size_type, const _CharT*)): Ditto.
1806 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1808 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1810 * include/bits/basic_string.h (insert(size_type,
1811 const basic_string&, size_type, size_type)): Define inline here.
1812 * include/bits/basic_string.tcc (insert(size_type,
1813 const basic_string&, size_type, size_type)): Move inline.
1815 2004-01-24 Paolo Carlini <pcarlini@suse.de>
1817 * include/bits/basic_string.h (assign(const basic_string&,
1818 size_type, size_type)): Define inline here.
1819 (replace(size_type, size_type, const basic_string&,
1820 size_type, size_type)): Ditto.
1821 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1822 _InputIterator, __false_type)): Only declare.
1823 (_M_replace(iterator, iterator, _InputIterator,
1824 _InputIterator)): Remove.
1825 * include/bits/basic_string.tcc (assign(const basic_string&,
1826 size_type, size_type)): Move inline.
1827 (replace(size_type, size_type, const basic_string&,
1828 size_type, size_type)): Ditto.
1829 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1830 _InputIterator, __false_type)): Define, now does also what
1831 _M_replace did before.
1832 * src/string-inst.cc (_M_replace): Don't instantiate.
1834 * include/bits/basic_string.tcc (find(const _CharT*,
1835 size_type, size_type)): Tidy.
1836 (rfind(_CharT, size_type)): Ditto.
1837 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
1838 (find_first_not_of(_CharT, size_type)): Ditto.
1839 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1840 (find_last_not_of(_CharT, size_type)): Ditto.
1842 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1845 * include/debug/bitset (operator|=): Fix typo.
1846 * testsuite/23_containers/bitset/operations/13838.cc: New.
1848 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1850 * include/bits/basic_string.tcc (insert(size_type,
1851 const _CharT*, size_type __n)): Fix length_error check.
1852 (replace(size_type, size_type, const _CharT*, size_type):
1853 Ditto; call _M_replace_safe.
1854 (_M_replace_aux(size_type, size_type, size_type, _CharT):
1855 Fix length_error check.
1856 (_M_replace(iterator, iterator, _InputIterator,
1857 _InputIterator)): Ditto, tweak.
1858 (_M_replace_safe(size_type, size_type, const _CharT*,
1859 size_type)): Remove length_error check.
1861 * include/bits/basic_string.tcc (append(const basic_string&),
1862 append(const basic_string&, size_type, size_type)): Tweak
1865 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
1866 size_type)): If __n == 0 don't call traits::copy.
1868 2004-01-23 Stefan Olsson <stefan@snon.net>
1870 * include/ext/mt_allocator.h: Reduce lock contention.
1872 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1875 * include/bits/fstream.tcc (underflow): Remove unused
1877 * include/bits/streambuf_iterator.h (equal): Ditto.
1878 * include/bits/locale_facets.h (_M_convert_from_char):
1881 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1884 * config/linker-map.gnu (nan): Delete.
1885 * libmath/mathconf.h (NAN, nan): Delete.
1886 * linkage.m4 (nan): Don't check for it.
1887 * libmath/nan.c: Delete file.
1889 * config.h.in, configure: Regenerate.
1891 2004-01-23 Paolo Carlini <pcarlini@suse.de>
1893 * include/bits/basic_string.h (push_back(_CharT)):
1894 Call _M_replace_aux.
1895 (insert(size_type, const basic_string&)): Trivial tweak.
1896 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
1897 (insert(iterator, _CharT)): Ditto.
1898 (erase(size_type, size_type)): Ditto.
1899 (erase(iterator)): Ditto.
1900 (erase(iterator, iterator)): Ditto.
1901 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1903 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
1906 * testsuite/performance/allocator_map_thread.cc: New test.
1908 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1910 * include/bits/locale_facets.tcc
1911 (money_put::do_put(..., long double)): Use the basic_string
1912 constructor for char arrays, not that for C-strings, to pass
1913 __digits to do_put(..., const string_type&): __ws isn't
1916 2004-01-22 Paolo Carlini <pcarlini@suse.de>
1918 * include/bits/basic_string.h (_M_replace_safe): Change
1919 signatures to take size_types and const _CharT*.
1920 (_M_replace_aux): Likewise, takes size_types instead of
1922 (append(size_type, _CharT)): Update call.
1923 (assign(size_type, _CharT)): Ditto.
1924 (replace(iterator, iterator, size_type, _CharT)): Ditto.
1925 (_M_replace_dispatch(iterator, iterator, _Integer,
1926 _Integer, __true_type)): Ditto.
1927 * include/bits/basic_string.tcc (assign(const _CharT*,
1929 (insert(size_type, const _CharT*, size_type)): Ditto.
1930 (replace(size_type, size_type, const _CharT*,
1932 (_M_replace(iterator, iterator, _InputIterator,
1933 _InputIterator)): Ditto.
1934 (append(const basic_string&)): Ditto.
1935 (append(const basic_string&, size_type, size_type): Ditto.
1936 (append(const _CharT*, size_type): Ditto.
1937 (_M_replace_safe, _M_replace_safe): Change definitions
1938 accordingly, simplify.
1939 * string-inst.cc (_M_replace_safe): Don't instantiate.
1941 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1943 * include/bits/basic_string.tcc (append(const basic_string&)):
1944 Revert previous change.
1945 (append(const basic_string&, size_type, size_type)): Revert
1946 previous change, use _M_check and _M_limit.
1948 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1950 * include/bits/basic_string.h (_M_check): Change to return
1951 a checked __pos and take an additional const char* argument.
1952 (_M_fold): Rename to _M_limit, change to return a size_type,
1953 corresponding to the __off limited to the actual length.
1954 (insert(size_type, size_type, _CharT)): Update call, call
1956 (insert(iterator, _CharT)): Call replace(iterator, iterator,
1957 size_type, _CharT) instead.
1958 (erase(size_type, size_type)): Update calls.
1959 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1960 (substr(size_type, size_type)): Use _M_check.
1961 * include/bits/basic_string.tcc (basic_string(const basic_string&,
1962 size_type, size_type)): Update calls.
1963 (basic_string(const basic_string&, size_type, size_type,
1964 const _Alloc&)): Ditto.
1965 (assign(const basic_string&, size_type, size_type)): Use the
1966 new _M_check and _M_limit.
1967 (insert(size_type, const basic_string&, size_type, size_type):
1969 (insert(size_type, const _CharT*, size_type)): Ditto.
1970 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
1971 (replace(size_type, size_type, const basic_string&,
1972 size_type, size_type)): Ditto.
1973 (append(const basic_string&)): Ditto.
1974 (append(const basic_string&, size_type, size_type)): Ditto.
1975 (copy(_CharT*, size_type, size_type)): Ditto.
1976 (compare(size_type, size_type, const basic_string&)): Ditto.
1977 (compare(size_type, size_type, const basic_string&,size_type,
1979 (compare(size_type, size_type, const _CharT*)): Ditto.
1980 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1982 2004-01-19 Stefan Olsson <stefan@snon.net>
1984 * include/ext/mt_allocator.h: If a thread, when it dies, still has
1985 memory on it's freelist this memory is not returned to global
1986 list. Simplification of deallocate so that memory is always
1987 returned to the calling thread id's freelist instead of to
1988 global. Fix typos. Add volatile where appropriate.
1990 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
1992 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
1993 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
1994 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
1996 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1998 * src/debug.cc: Make sure all the names are prefixed with
1999 double (or single) underscore.
2001 2004-01-19 Paolo Carlini <pcarlini@suse.de>
2003 * src/debug.cc: Trivial formatting change.
2005 2004-01-19 Paolo Carlini <pcarlini@suse.de>
2007 * include/bits/basic_string.tcc (_S_construct(size_type,
2008 _CharT, const _Alloc&)): Remove redundant try/catch.
2009 (_M_mutate(size_type, size_type, size_type)): Ditto.
2010 (_M_clone(const _Alloc&, size_type)): Ditto.
2012 2004-01-18 Paolo Carlini <pcarlini@suse.de>
2014 * include/bits/basic_string.h (c_str()): Simplify, due to
2015 21.3.4 the internal representation is always kept null-terminated.
2016 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
2017 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
2018 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
2021 2004-01-18 Paolo Carlini <pcarlini@suse.de>
2023 * include/bits/basic_string.h (append(size_type, _CharT)):
2024 Moved inline, just call _M_replace_aux, no source iterators at
2025 risk of being clobbered.
2026 (assign(size_type, _CharT)): Call directly _M_replace_aux.
2027 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
2028 input_iterator_tag)): Remove fifth unused argument.
2029 (_M_replace_dispatch(iterator, iterator, _InputIterator,
2030 _InputIterator, __false_type)): Update call.
2031 * include/bits/basic_string.tcc (replace(size_type, size_type,
2032 const _CharT*, size_type)): Update call.
2033 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
2034 throw string literal.
2035 (_M_replace_safe(iterator, iterator, _ForwardIterator,
2036 _ForwardIterator)): Likewise.
2037 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
2038 input_iterator_tag)): Remove fifth unused argument.
2039 (append(size_type __n, _CharT __c)): Move inline.
2040 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
2041 const C*, const C*, input_iterator_tag)): Remove fifth unused
2044 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
2046 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
2047 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
2049 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
2051 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
2054 2004-01-15 Stefan Olsson <stefan@snon.net>
2056 * include/ext/mt_allocator.h: Reuse thread id's as soon as
2057 possible by changing the behaviour of thread_freelist to do
2058 push_front when threads die instead of push_back.
2060 2004-01-14 Paolo Carlini <pcarlini@suse.de>
2062 * include/bits/locale_facets.h (struct __numpunct_cache):
2063 Add member _M_grouping_size, caching the length of _M_grouping.
2064 (__numpunct_cache<>::_M_cache): Assign the latter.
2065 (__verify_grouping): Move declaration...
2066 * include/bits/locale_facets.tcc (__verify_grouping):
2067 ... here, change signature to take a const char* and a size_t
2068 for the grouping; not a template anymore.
2069 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
2070 Likewise change signature and tweak consistently.
2071 (num_get::_M_extract_float, num_get::_M_extract_int,
2072 num_put::_M_insert_int, num_put::_M_insert_float,
2073 money_get::do_get(string_type&), money_get::do_put(string_type)):
2075 * config/locale/generic/numeric_members.cc
2076 (numpunct<>::_M_initialize_numpunct): Assign the new member.
2077 * config/locale/gnu/numeric_members.cc
2078 (numpunct<>::_M_initialize_numpunct): Likewise.
2079 * src/locale-inst.cc (__add_grouping): Tweak signature.
2080 (__verify_grouping): Don't instantiate, not a template anymore.
2082 * include/bits/locale_facets.h: Rename _M_truename_len ->
2083 _M_truename_size, _M_falsename_len -> _M_falsename_size.
2084 * include/bits/locale_facets.tcc: Likewise.
2085 * config/locale/generic/numeric_members.cc: Likewise.
2086 * config/locale/gnu/numeric_members.cc: Likewise.
2088 2004-01-14 Stefan Olsson <stefan@snon.net>
2090 * include/ext/mt_allocator.h: Fixups.
2091 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
2092 * testsuite/performance/allocator_thread.cc: Same.
2094 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
2096 * testsuite/performance/ifstream_extract_float.cc: Add higher
2098 * testsuite/performance/ofstream_insert_float.cc: Same.
2100 2004-01-13 Paolo Carlini <pcarlini@suse.de>
2102 * src/locale-misc-inst.cc (__convert_from_v(long),
2103 __convert_from_v(unsigned long), __convert_from_v(long long),
2104 __convert_from_v(unsigned long long)): Remove, unused.
2106 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
2108 * testsuite/performance/ifstream_extract_float.cc: New.
2109 * testsuite/performance/ofstream_insert_float.cc: Float generation
2112 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
2113 * 20_util/auto_ptr/1.cc: ...this.
2114 * 20_util/auto_ptr/2.cc: Same.
2115 * 20_util/auto_ptr/3.cc: Same.
2116 * 20_util/auto_ptr/3946.cc: Same.
2117 * 20_util/auto_ptr/4.cc: Same.
2118 * 20_util/auto_ptr/5.cc: Same.
2119 * 20_util/auto_ptr/6.cc: Same.
2120 * 20_util/auto_ptr/7.cc: Same.
2121 * 20_util/auto_ptr/assign_neg.cc
2122 * 20_util/pairs.cc: Break into...
2123 * 20_util/pair/1.cc: ...this.
2124 * 20_util/pair/2.cc: Same.
2125 * 20_util/pair/3.cc: Same.
2126 * 20_util/pair/4.cc: Same.
2128 2004-01-13 Paolo Carlini <pcarlini@suse.de>
2130 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
2131 Set correctly just basefield, the only group that matters.
2133 2004-01-13 Paolo Carlini <pcarlini@suse.de>
2135 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
2136 (_Rope_rep_base): Inherit directly from the rope allocator;
2137 use rebinding instead of _Alloc_traits; pick up data member
2138 from _Rope_rep_alloc_base.
2139 (_Rope_alloc_base): Eliminate.
2140 (_Rope_base): Inherit directly from the rope allocator; use
2141 rebinding instead of _Alloc_traits; pick up data member from
2143 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
2144 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
2146 2004-01-13 Paolo Carlini <pcarlini@suse.de>
2149 * include/bits/basic_string.tcc (compare(size_type, size_type,
2150 const _CharT*, size_type)): Implement correctly the resolution
2151 of DR 5: basically, s is a char array, -not- a C string.
2152 * include/bits/basic_string.h: Tweak some comments.
2153 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
2154 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
2156 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
2158 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
2161 2004-01-12 Paolo Carlini <pcarlini@suse.de>
2163 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
2165 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
2168 2004-01-12 Paolo Carlini <pcarlini@suse.de>
2170 * include/bits/locale_facets.h (struct __numpunct_cache):
2171 Add members _M_truename_len and _M_falsename_len, caching
2172 the lengths of _M_truename and _M_falsename.
2173 (__numpunct_cache<>::_M_cache): Assign the latter.
2174 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
2175 num_put::do_put(bool)): Use the new members, thus avoiding
2176 computing string lengths again and again.
2177 * config/locale/generic/numeric_members.cc
2178 (numpunct<>::_M_initialize_numpunct): Assign the new members.
2179 * config/locale/gnu/numeric_members.cc
2180 (numpunct<>::_M_initialize_numpunct): Likewise.
2182 2004-01-12 Mark Mitchell <mark@codesourcery.com>
2184 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
2185 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
2187 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
2188 and remove Cygwin XFAIL.
2189 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
2190 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
2191 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
2192 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
2194 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
2195 * testsuite/27_io/objects/char/7.cc: Likewise.
2196 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
2197 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
2198 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
2200 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
2202 * include/std/std_complex.h (std::complex<>::real): Return a
2203 reference. Add non-const overload.
2204 (std::complex<>::real): Likewise.
2205 (std::real): Likewise.
2206 (std::imag): Likewise.
2207 (std::operator+): Tidy.
2208 (std::operator-): Likewise.
2209 (std::operator*): Likewise.
2210 (std::operator/): Likewise.
2211 (std::operator>>): Likewise.
2213 2004-01-11 Paolo Carlini <pcarlini@suse.de>
2216 * include/bits/fstream.tcc (imbue): Exploit the external
2217 buffer to imbue 'on the fly' a new locale and convert its
2218 remainder with the new codecvt facet.
2219 (underflow): Tweak slightly to deal with this special case.
2220 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
2221 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
2222 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
2223 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
2224 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
2226 2004-01-10 Paolo Carlini <pcarlini@suse.de>
2228 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
2231 2004-01-10 Paolo Carlini <pcarlini@suse.de>
2234 * include/bits/locale_classes.h (class locale): Fix category
2236 * testsuite/22_locale/locale/13630.cc: Add.
2238 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2240 * include/bits/locale_facets.h: Make a name really dependent. This
2241 will be needed when Core Issue 224 is implemented.
2243 2004-01-09 Paolo Carlini <pcarlini@suse.de>
2245 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
2246 * testsuite/performance/allocator_thread.cc: Likewise.
2248 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
2250 * crossconfig.m4: Add LFS, io bits to linux cross config.
2251 * acconfig.h: Remove obsolete bits, reorder.
2252 * config.h.in: Regenerate.
2256 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
2258 * include/bits/stl_list.h:
2259 * include/bits/list.tc:
2261 Performance enhancements for destructor, push_front(),
2262 push_back(), pop_front(), pop_back(), sort()
2263 Eliminated static_casts where possible.
2264 Moved code out of header files into new src/list.cc
2265 implementation file for library where possible.
2266 Remove inheritance from iterator class and create separate
2267 classes for non-constant and constant iterators.
2268 * include/bits/stl_tree.h (_Rb_tree class):
2270 Only erase contents in destructor.
2271 Eliminate unnecessary initialization in assignment operator.
2272 Optimize for the nominal case by not checking whether
2273 container is empty in clear().
2274 Re-order test in _M_insert() to improve performance.
2275 Move initialization of new node's left & right pointers to
2276 src/tree.cc to where new node's colour is initialized
2277 and to reduce the amount of inline code.
2278 Use _M_leftmost() and _M_end() to improve readability where
2280 Create separate classes for non-constant and constant
2281 iterators to clarify code, avoid extra template parameters and
2282 casting away constness.
2284 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
2286 * src/Makefile.am (sources): Add list.cc, tree.cc.
2287 * src/stl_tree.cc: Move to...
2288 * src/tree.cc: ...here.
2290 * config/linker-map.gnu: Tweaks.
2291 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
2292 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
2294 * bits/stl_vector.h: Column wrap comments.
2296 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
2298 (re-open) PR libstdc++/12658
2299 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
2300 (locale::global): Likewise.
2302 2004-01-07 Paolo Carlini <pcarlini@suse.de>
2304 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
2305 Remove redundant #include.
2306 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
2307 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
2308 re-enable normal testing.
2309 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
2311 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
2312 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
2314 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
2316 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
2318 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
2320 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
2322 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
2324 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
2326 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
2327 More properly, #include <locale>.
2328 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
2329 Remove redundant #include.
2330 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
2331 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
2332 redundant DejaGnu directive.
2333 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
2336 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
2337 Stefan Olsson <stefan@snon.net>
2339 * scripts/check_performance: Use -pthread.
2340 * testsuite/performance/allocator.cc: Tweaks, add list.
2341 * testsuite/performance/allocator_thread.cc: New.
2343 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
2345 * include/bits/locale_facets.h: Document public classes and
2347 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
2350 2004-01-06 Paolo Carlini <pcarlini@suse.de>
2352 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
2353 Remove redundant #includes.
2354 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
2356 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
2358 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
2359 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
2360 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
2361 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
2362 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
2363 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
2364 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
2365 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
2366 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
2367 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
2368 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
2369 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
2370 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
2371 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
2372 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
2374 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
2376 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
2378 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
2380 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
2382 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
2383 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
2384 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
2386 2004-01-04 Paolo Carlini <pcarlini@suse.de>
2388 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
2389 Remove redundant #includes.
2390 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
2392 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
2394 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
2396 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
2398 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
2400 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
2402 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
2404 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
2406 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
2408 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
2410 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
2412 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
2415 2004-01-04 Mark Mitchell <mark@codesourcery.com>
2418 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
2420 * testsuite/27_io/basic_fstream/4.cc: Likewise.
2421 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
2422 * testsuite/27_io/basic_ios/4.cc: Likewise.
2423 * testsuite/27_io/basic_iostream/4.cc: Likewise.
2424 * testsuite/27_io/basic_istream/4.cc: Likewise.
2425 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
2426 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
2427 * testsuite/27_io/basic_ostream/4.cc: Likewise.
2428 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
2429 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
2430 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
2432 2004-01-04 Paolo Carlini <pcarlini@suse.de>
2434 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
2435 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
2436 always use double underscored names.
2437 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
2439 * include/bits/locale_facets.h (struct __numpunct_cache):
2440 Dimension _M_atoms_out and _M_atoms_in one position smaller.
2441 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out