1 2004-02-18 Paolo Carlini <pcarlini@suse.de>
3 * include/bits/locale_facets.h (money_get<>::_M_extract):
4 New, helper for do_get.
5 (money_put<>::_M_insert): Likewise, for do_put.
6 * include/bits/locale_facets.tcc (money_get<>::_M_extract,
7 money_put<>::_M_insert): Define.
8 (money_get<>::do_get(long double&), money_get<>::do_get(
9 string_type&), money_put::do_put(long double),
10 money_put::do_put(const string_type&)): Use the helpers.
12 2004-02-18 Paolo Carlini <pcarlini@suse.de>
14 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
15 Rewrite, avoiding recursion.
16 (__gnu_internal::xwrite): Minor tweaks.
18 2004-02-17 Stefan Olsson <stefan@xapa.se>
20 * include/ext/mt_allocator.h: Removed the last
21 pointer. Deallocated blocks are now added to the front of
22 freelists as proposed by Felix Yen. This gives roughly 10%
23 performance boost and saves some memory.
24 * docs/html/ext/mt_allocator.html: Change due to that deallocated
25 blocks now are added to the front of freelists. The reason to this
26 approach is also explained.
28 2004-02-17 Paolo Carlini <pcarlini@suse.de>
30 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
31 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
32 grouping fidelity conditional.
34 2004-02-16 Paolo Carlini <pcarlini@suse.de>
36 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
37 Qualify exception with std::.
38 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
39 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
40 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
41 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
42 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
44 2004-02-16 Paolo Carlini <pcarlini@suse.de>
46 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
47 for now that the catch block is not reached.
48 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
50 2004-02-16 Paolo Carlini <pcarlini@suse.de>
52 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
53 Fix parsing of the remaining sign characters.
54 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
55 the input is scanned 'til eof.
56 * 22_locale/money_get/get/char/4.cc: Likewise.
57 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
58 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
59 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
60 not do_pos_format: the former is the only one that matters during
62 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
64 * 22_locale/money_get/get/char/6.cc: Minor tweak.
65 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
67 2004-02-15 David Asher <david.asher@cavium.com>
70 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
71 access __olds beyond __oldlen.
73 2004-02-14 Paolo Carlini <pcarlini@suse.de>
75 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
76 sure the exception is actually thrown.
77 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
78 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
79 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
81 2004-02-14 Paolo Carlini <pcarlini@suse.de>
84 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
85 In case of conversion errors, throw ios_failure; simplify.
86 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
87 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
88 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
89 previously we didn't throw in case of conversion errors, instead
91 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
92 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
93 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
95 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
96 Trivial simplification of a conditional.
98 2004-02-12 Paolo Carlini <pcarlini@suse.de>
100 PR libstdc++/13731 (final part: writev)
101 * config/io/basic_file_stdio.cc (__gnu_internal::xwrite):
102 New, a wrapper around writev() handling partial writes.
103 (__basic_file<char>::xwrite): Move to __gnu_internal and make
105 (__basic_file<char>::xsputn): Update call.
106 (__basic_file<char>::xsputn_2): Likewise.
107 * config/io/basic_file_stdio.h (__basic_file<char>::write):
108 Don't declare, now static.
110 2004-02-11 Stefan Olsson <stefan@xapa.se>
112 * docs/html/ext/mt_allocator.html: New.
114 2004-02-11 Benjamin Kosnik <bkoz@redhat.com>
116 * docs/html/20_util/allocator.html: New file, consolidate
117 allocator information here. Revamp.
118 * docs/html/documentation.html: Change links.
119 * docs/html/20_util/howto.html: Same.
120 * docs/html/ext/howto.html: Same.
122 2004-02-11 Paolo Carlini <pcarlini@suse.de>
124 PR libstdc++/13731 (first part: write)
125 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
127 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
128 Define it: a wrapper around write() handling partial write.
129 (__basic_file<char>::xsputn): Use it.
130 (__basic_file<char>::xsputn_2): Likewise.
132 2004-02-11 Paolo Carlini <pcarlini@suse.de>
133 Petur Runolfsson <peturr02@ru.is>
136 * include/std/std_istream.h (operator>>(__istream_type& (*)
137 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
138 operator>>(ios_base& (*)(ios_base&))): Declare inline.
139 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
140 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
141 operator<<(ios_base& (*) (ios_base&))): Likewise.
142 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
144 2004-02-10 Loren J. Rittle <ljrittle@acm.org>
147 * config/linker-map.gnu: Add typeinfo and typeinfo name for
148 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
151 * config/linker-map.gnu: Add typeinfo and typeinfo name for
152 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
154 2004-02-09 Loren J. Rittle <ljrittle@acm.org>
156 * include/ext/pool_allocator.h: Include c++config.h.
158 2004-02-09 Stefan Olsson <stefan@xapa.se>
160 * include/ext/mt_allocator.h: thread_id is unused in non threaded
161 applications and now has a ifdef to remove it completely on
162 compilers without thread support. Include stdlib.h due to a
163 compiler warning on getenv().
165 2004-02-09 Paul Brook <paul@codesourcery.com>
167 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
169 2004-02-09 Paolo Carlini <pcarlini@suse.de>
172 * src/locale_init.cc (locale::global(const locale&)): Use
173 locale::name() in order to decide whether calling setlocale.
174 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
176 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
177 Avoid computing &= unnecessarily.
179 2004-02-09 James E Wilson <wilson@specifixinc.com>
182 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
183 __builtin_extend_pointer.
185 2004-02-09 Paolo Carlini <pcarlini@suse.de>
188 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
189 Don't leave dangling pointers.
190 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
191 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
192 facet is needed in the final test.
194 2004-02-09 Bernardo Innocenti <bernie@develer.com>
196 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
197 * configure: Regenerate.
199 2004-02-08 Richard Henderson <rth@redhat.com>
202 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
203 uncaughtExceptions during nested catch rethrow.
204 * testsuite/18_support/14026.cc: New.
206 2004-02-08 Paolo Carlini <pcarlini@suse.de>
208 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
209 When working in place remember to set the state to sharable
210 (otherwise, _M_mutate does it).
212 2004-02-08 Bernardo Innocenti <bernie@develer.com>
214 * include/bits/allocator.h, include/bits/basic_ios.h,
215 include/bits/basic_ios.tcc, include/bits/basic_string.h,
216 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
217 include/bits/char_traits.h, include/bits/codecvt.h,
218 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
219 include/bits/demangle.h, include/bits/deque.tcc,
220 include/bits/fstream.tcc, include/bits/functexcept.h,
221 include/bits/gslice.h, include/bits/gslice_array.h,
222 include/bits/indirect_array.h, include/bits/ios_base.h,
223 include/bits/istream.tcc, include/bits/list.tcc,
224 include/bits/locale_classes.h, include/bits/locale_facets.h,
225 include/bits/locale_facets.tcc, include/bits/localefwd.h,
226 include/bits/mask_array.h, include/bits/ostream.tcc,
227 include/bits/postypes.h, include/bits/slice_array.h,
228 include/bits/sstream.tcc, include/bits/stl_algo.h,
229 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
230 include/bits/stl_construct.h, include/bits/stl_deque.h,
231 include/bits/stl_function.h, include/bits/stl_heap.h,
232 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
233 include/bits/stl_list.h, include/bits/stl_map.h,
234 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
235 include/bits/stl_numeric.h, include/bits/stl_pair.h,
236 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
237 include/bits/stl_relops.h, include/bits/stl_set.h,
238 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
239 include/bits/stl_threads.h, include/bits/stl_tree.h,
240 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
241 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
242 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
243 include/bits/type_traits.h, include/bits/valarray_after.h,
244 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
245 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
248 2004-02-06 Paolo Carlini <pcarlini@suse.de>
250 * include/bits/basic_string.h: Fix comment.
252 2004-02-06 Paolo Carlini <pcarlini@suse.de>
254 * include/bits/stl_construct.h: Wrap overlong lines, reformat
255 according to the coding standards.
256 * include/bits/stl_pair.h: Likewise.
257 * include/bits/stl_raw_storage_iter.h: Likewise.
258 * include/bits/stl_stack.h: Likewise.
259 * include/bits/stl_uninitialized.h: Likewise.
260 * include/bits/stream_iterator.h: Likewise.
261 * include/bits/streambuf_iterator.h: Likewise.
262 * include/bits/type_traits.h: Likewise.
264 2004-02-06 Paolo Carlini <pcarlini@suse.de>
266 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
269 2004-02-05 Loren J. Rittle <ljrittle@acm.org>
271 * scripts/check_performance: Support PCH.
273 * scripts/check_performance (CXX): Add -DNOTHREAD.
274 * testsuite/performance/20_util/allocator/insert.cc: Integrate
275 threaded tests from insert_insert.cc. Tweak iterations,
276 remove special cases.
277 * testsuite/performance/20_util/allocator/insert_insert.cc:
278 Make all tests single-threaded. Tweak iterations.
279 * testsuite/performance/20_util/allocator/map_thread.cc:
281 * testsuite/performance/20_util/allocator/producer_consumer.cc:
284 2004-02-05 Geoffrey Keating <geoffk@apple.com>
288 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
289 'gcc-lib'. Add comment about poorly-named variables.
290 * aclocal.m4: Regenerate.
291 * configure: Regenerate.
293 2004-02-05 Paolo Carlini <pcarlini@suse.de>
295 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
296 Thousands-sep are always optional; thousands-sep are not allowed
297 after the decimal_point.
298 * testsuite/22_locale/money_get/get/char/12.cc: New.
299 * testsuite/22_locale/money_get/get/char/13.cc: New.
300 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
301 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
303 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
304 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
305 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
306 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
307 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
308 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
309 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
310 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
312 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
314 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
316 2004-02-05 Richard Sandiford <rsandifo@redhat.com>
318 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
320 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
321 it to decide whether FIONREAD should take an off_t or int argument.
323 2004-02-05 Paolo Carlini <pcarlini@suse.de>
325 * include/bits/stl_function.h: Minor formatting changes.
327 2004-02-04 Zack Weinberg <zack@codesourcery.com>
329 Revert previous change to config/abi/*/baseline_symbols.txt.
331 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
332 Zack Weinberg <zack@codesourcery.com>
334 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
336 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
337 (__basic_file<char>::_M_open_mode): Delete.
338 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
340 * testsuite/27_io/basic_filebuf/close/char/9964.cc
341 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
342 Correct flags to filebuf::open calls.
344 * config/abi/alpha-freebsd5/baseline_symbols.txt
345 * config/abi/alpha-linux-gnu/baseline_symbols.txt
346 * config/abi/hppa-linux-gnu/baseline_symbols.txt
347 * config/abi/i386-freebsd4/baseline_symbols.txt
348 * config/abi/i386-freebsd5/baseline_symbols.txt
349 * config/abi/i486-linux-gnu/baseline_symbols.txt
350 * config/abi/ia64-linux-gnu/baseline_symbols.txt
351 * config/abi/mips-linux-gnu/baseline_symbols.txt
352 * config/abi/sparc-freebsd5/baseline_symbols.txt
353 * config/abi/sparc-linux-gnu/baseline_symbols.txt
354 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
355 Remove entry for __basic_file<char>::_M_open_mode.
357 2004-02-04 Loren J. Rittle <ljrittle@acm.org>
359 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
361 2004-02-04 Felix Yen <fwy@alumni.brown.edu>
363 * testsuite/performance/20_util/producer_consumer.cc: New.
364 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
366 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
368 * testsuite/performance/20_util/allocator.cc: Move to..
369 * testsuite/performance/20_util/allocator/insert.cc: ...here.
370 * testsuite/performance/20_util/allocator_thread.cc: Move to...
371 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
372 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
373 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
375 2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
377 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
378 * docs/html/faq/index.txt: Regenerate.
380 2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
382 * include/ext/debug_allocator.h: _M_extra now stands for the
383 number of extra objects instead of the number of extra bytes.
384 (debug_allocator::allocate): Adjust.
385 (debug_allocator::deallocate): Adjust.
387 * include/ext/pool_allocator.h: Fix typo.
389 2004-02-03 Felix Yen <fwy@alumni.brown.edu>
390 Benjamin Kosnik <bkoz@redhat.com>
392 * testsuite/performance/20_util/allocator.cc: Add map,
394 * testsuite/performance/20_util/allocator_thread.cc: Same.
396 2004-02-03 Paolo Carlini <pcarlini@suse.de>
398 * include/bits/basic_string.h (insert(iterator)): Remove,
399 non-standard and already scheduled for removal.
401 2004-02-03 Paolo Carlini <pcarlini@suse.de>
403 * include/bits/stl_iterator_base_funcs.h: Minor formatting
404 and indentation tweaks.
405 * include/bits/stl_iterator_base_types.h: Likewise.
406 * include/bits/stl_list.h: Likewise.
407 * include/bits/stl_map.h: Likewise.
408 * include/bits/stl_tempbuf.h: Likewise.
410 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
412 * include/bits/gslice.h, include/bits/gslice_array.h,
413 include/bits/indirect_array.h, include/bits/mask_array.h,
414 include/bits/slice_array.h, include/bits/stl_numeric.h,
415 include/std/std_valarray.h: Update copyright years.
417 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
419 * include/bits/gslice.h (gslice): Document.
420 * include/bits/gslice_array.h (gslice_array): Document.
421 * include/bits/indirect_array (indirect_array): Document.
422 * include/bits/mask_array (mask_array): Document.
423 * include/bits/slice_array.h (slice,slice_array): Document.
424 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
425 adjacent_difference): Document
426 * include/std/std_valarray.h (valarray): Document.
428 2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
430 * docs/html/19_diagnostics/howto.html: Move verbose terminate
432 * docs/html/18_support/howto.html: Here.
433 * docs/html/documentation.html: Add reference here.
435 2004-02-02 Paolo Carlini <pcarlini@suse.de>
437 * config/locale/gnu/c++locale_internal.h: Remove prototypes
438 of no longer used GLIBC thread locale functions.
440 2004-02-02 Eric Christopher <echristo@redhat.com>
441 Zack Weinberg <zack@codesourcery.com>
443 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
445 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
446 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
447 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
448 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
449 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
450 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
451 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
452 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
455 2004-02-02 Paolo Carlini <pcarlini@suse.de>
457 * include/bits/stl_function.h: Additional minor tweaks.
458 * include/bits/stl_multiset.h: Likewise.
460 * include/bits/stl_queue.h: Minor tweaks.
462 2004-02-02 Paolo Carlini <pcarlini@suse.de>
464 PR libstdc++/13976 (continued)
465 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
466 Make the second parameter unnamed, to void unused parameter
468 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
470 2004-02-02 Paolo Carlini <pcarlini@suse.de>
473 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
474 Make the second parameter unnamed, to void unused parameter
476 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
477 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
479 2004-02-01 Paolo Carlini <pcarlini@suse.de>
481 * include/bits/stl_algo.h: Additional minor tweaks.
482 * include/bits/stl_map.h: Likewise.
483 * include/bits/stl_multimap.h: Likewise.
484 * include/bits/stl_multiset.h: Likewise.
485 * include/bits/stl_set.h: Likewise.
486 * include/bits/stl_tree.h: Likewise.
488 2004-02-01 Paolo Carlini <pcarlini@suse.de>
490 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
493 2004-02-01 Paolo Carlini <pcarlini@suse.de>
495 * include/bits/stl_function.h: Additional minor tweaks.
497 2004-02-01 Paolo Carlini <pcarlini@suse.de>
499 * include/bits/deque.tcc: Wrap overlong lines, constify
500 a few variables, reformat according to the coding standards.
501 * include/bits/list.tcc: Likewise.
502 * include/bits/stl_deque.h: Likewise.
503 * include/bits/stl_function.h: Likewise.
504 * include/bits/stl_iterator.h: Likewise.
505 * include/bits/stl_iterator_base_funcs.h: Likewise.
506 * include/bits/stl_iterator_base_types.h: Likewise.
507 * include/bits/stl_list.h: Likewise.
508 * include/bits/stl_map.h: Likewise.
509 * include/bits/stl_multimap.h: Likewise.
510 * include/bits/stl_multiset.h: Likewise.
511 * include/bits/stl_relops.h: Likewise.
512 * include/bits/stl_set.h: Likewise.
514 2004-02-01 Paolo Carlini <pcarlini@suse.de>
516 * include/bits/stl_bvector.h: Wrap overlong lines, constify
517 a few variables, reformat according to the coding standards.
518 * include/bits/stl_tree.h: Likewise.
520 2004-01-31 Paolo Carlini <pcarlini@suse.de>
522 * include/bits/stl_algo.h: Minor additional reformat, add
524 * include/bits/stl_algobase.h: Add copyright year.
526 2004-01-31 Paolo Carlini <pcarlini@suse.de>
528 * include/bits/stl_algo.h: Wrap overlong lines, constify
529 a few variables, reformat according to the coding standards.
530 * include/bits/stl_algobase.h: Likewise.
531 * include/bits/stl_heap.h: Likewise.
533 2004-01-31 Paolo Carlini <pcarlini@suse.de>
535 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
537 * include/bits/basic_string.h: Fix two comments.
539 2004-01-31 Per Bothner <per@bothner.com>
541 * include/ext/mt_allocator.h
542 (__mt_alloc::_S_thread_freelist_mutex): Guard with
543 __GTHREAD_MUTEX_INIT.
545 2004-01-31 Paolo Carlini <pcarlini@suse.de>
547 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
549 2004-01-30 Paolo Carlini <pcarlini@suse.de>
551 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
552 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
553 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
555 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
557 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
558 Don't use clear, but instead assign. Use insert.
560 2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
562 * src/demangle.cc: Add instantiations.
563 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
564 * src/Makefile.in: Regenerate.
566 2004-01-30 David Edelsohn <edelsohn@gnu.org>
568 * src/allocator.cc: Protect _S_get_thread_id() and
569 _S_thread_key_destr() with #ifdef __GTHREADS.
571 2004-01-30 Paolo Carlini <pcarlini@suse.de>
573 Reshuffle performance testsuite.
574 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
575 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
576 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
577 fstream_seek_write.cc, ifstream_extract_float.cc,
578 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
579 list_create_fill_sort.cc, map_create_fill.cc,
580 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
581 ofstream_insert_float.cc, ofstream_insert_int.cc,
582 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
583 wchar_t_out.cc: Split into...
584 * testsuite/performance/20_util/allocator.cc: New.
585 * testsuite/performance/20_util/allocator_map_thread.cc: New.
586 * testsuite/performance/20_util/allocator_thread.cc: New.
587 * testsuite/performance/21_strings/string_append: New.
588 * testsuite/performance/22_locale/is_wchar_t.cc: New.
589 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
590 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
591 * testsuite/performance/22_locale/wchar_t_in.cc: New.
592 * testsuite/performance/22_locale/wchar_t_length.cc: New.
593 * testsuite/performance/22_locale/wchar_t_out.cc: New.
594 * testsuite/performance/23_containers/container_benchmark.cc: New.
595 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
596 * testsuite/performance/23_containers/map_create_fill.cc: New.
597 * testsuite/performance/26_numerics/complex_norm.cc: New.
598 * testsuite/performance/27_io/cout_insert_int.cc: New.
599 * testsuite/performance/27_io/filebuf_copy.cc: New.
600 * testsuite/performance/27_io/filebuf_sputc.cc: New.
601 * testsuite/performance/27_io/fstream_seek_write.cc: New.
602 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
603 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
604 * testsuite/performance/27_io/ifstream_getline.cc: New.
605 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
606 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
608 2004-01-30 Paolo Carlini <pcarlini@suse.de>
610 * include/bits/basic_string.tcc (_Rep::_S_create):
611 Never allocate a string bigger than max_size(); always keep
612 __capacity and __size in sync to avoid memory leaks at
615 2004-01-30 Paolo Carlini <pcarlini@suse.de>
617 * include/bits/basic_string.tcc (_S_construct(_InIterator,
618 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
619 the double loop, streamline.
621 * include/bits/basic_string.tcc: Very minor tweaks.
623 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
625 * scripts/check_performance: Only compile with $THREAD_FLAG
626 when test is marked to require it. Allow multiple
627 compilations/executions of marked tests.
628 * testsuite/testsuite_performance.h (report_performance):
629 Report dynamic thread support status.
630 (report_header): Likewise.
631 * testsuite/performance/allocator.cc: Stabilize iteration
632 count. Support more allocators. Mark each allocator test to
633 run and report independently.
634 * testsuite/performance/allocator_map_thread.cc: Likewise.
635 * testsuite/performance/allocator_thread.cc: Likewise.
637 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
639 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
640 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
641 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
642 std::get_temporary_buffer() instead of duplicating its code.
643 Update to C++STYLE conventions.
644 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
645 new() instead of std::malloc().
646 (return_temporary_buffer): Use ::operator delete() instead of
649 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
651 * include/bits/allocator.h: Temporary switch to new_allocator as
652 the default to unjam bootstraps.
654 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
656 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
657 * include/Makefile.in: Regenerate.
658 * include/bits/allocator_traits.h: Remove.
659 * include/bits/allocator.h: Remove allocator_traits.h include, and
661 (allocator): Empty base class, inherit from the underlying allocator.
662 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
663 * src/allocator.cc: ...here. New. For the underlying allocators.
664 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
665 * config/linker-map.gnu: Remove __pool_alloc bits.
666 * src/Makefile.am (sources): Add allocator.cc.
667 * src/Makefile.in: Regenerate.
668 * testsuite/20_util/allocator/1.cc: Split second test into...
669 * testsuite/20_util/allocator/8230.cc: ...this.
670 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
671 typedef to use std::allocatore. Format.
672 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
674 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
675 __throw_bad_alloc calls. Don't include <memory>.
676 * include/ext/malloc_allocator.h: Remove <memory> include.
677 * include/ext/new_allocator.h (new_allocator): Same.
678 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
679 declaration. Switch __alloc to _Alloc.
680 * include/ext/hashtable.h: Remove __alloc.
681 * include/backward/alloc.h: Only inject allocator, not
682 implementation details.
684 * include/ext/mt_allocator.h: Replace free with delete.
686 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
688 * src/globals_io.cc: Change to __gnu_internal namespace.
689 * src/globals_locale.cc: Same.
690 * src/locale_init.cc: Same.
691 * src/ios_init.cc: Same.
693 2004-01-28 Stefan Olsson <stefan@snon.net>
695 * include/ext/mt_allocator.h: Replaced all malloc() calls with
696 operator new(). Added support for the env variable
697 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
698 one in allocate() as well). Fix typos.
700 2004-01-28 Paolo Carlini <pcarlini@suse.de>
702 * include/bits/basic_string.h (_S_create(size_t,
703 const _Alloc&): Change signature to take two size_type
705 * include/bits/basic_string.tcc (_S_construct(_InIterator,
706 _InIterator, const _Alloc&, input_iterator_tag)): Update
708 (_S_construct(_InIterator, _InIterator, const _Alloc&,
709 forward_iterator_tag)): Likewise.
710 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
711 (_M_mutate(size_type, size_type, size_type)): Don't
712 implement the exponential growth policy, demand it to
713 _S_create, update call and simplify.
714 (_M_clone(const _Alloc&, size_type)): Likewise.
715 (_S_create(size_type, size_type, const _Alloc&)): Implement
716 the growth policy, simplify otherwise.
718 * include/bits/basic_string.h (_Rep::operator[]): Tweak
719 signature to take a size_type, consistently with the other
722 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
724 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
725 delete declarations, add include and test variable.
727 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
729 * include/bits/codecvt.h, include/bits/locale_facets.h,
730 include/bits/postypes.h, include/bits/stl_bvector.h,
731 include/bits/stl_multiset.h, include/bits/stl_set.h,
732 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
733 include/std/std_complex.h: Document.
735 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
738 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
739 iword/pword selector.
740 (ios_base::iword, ios_base::pword): Use it.
741 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
742 iword or pword member on alloc failure.
743 * testsuite/27_io/ios_base/storage/11584.cc: New test.
745 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
746 PJ Darcy <darcypj@us.ibm.com>
748 * configure.host: Add support for *-tpf.
749 * crossconfig.m4: Likewise.
750 * configure: Regenerate.
751 * config/os/tpf: New directory.
752 * config/os/tpf/os_defines.h: New file.
753 * config/os/tpf/ctype_base.h: Likewise.
754 * config/os/tpf/ctype_inline.h: Likewise.
755 * config/os/tpf/ctype_noninline.h: Likewise.
757 2004-01-27 Paolo Carlini <pcarlini@suse.de>
760 * include/bits/sstream.tcc: Guard use of extern template.
762 2004-01-27 Paolo Carlini <pcarlini@suse.de>
764 * include/bits/basic_string.tcc
765 (basic_string(const basic_string&, size_type, size_type),
766 basic_string(const basic_string&, size_type, size_type,
767 const _Alloc&)): Avoid unnecessarily constructing iterators.
769 2004-01-26 Paolo Carlini <pcarlini@suse.de>
771 * config/locale/generic/c_locale.cc: Fix throw messages
772 to use the __N marker.
773 * config/locale/gnu/c_locale.cc: Likewise.
774 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
776 * docs/html/17_intro/C++STYLE: Likewise.
777 * include/bits/basic_ios.tcc: Likewise.
778 * include/bits/fstream.tcc: Likewise.
779 * include/bits/vector.tcc: Likewise.
780 * include/ext/ropeimpl.h: Likewise.
781 * include/std/std_bitset.h: Likewise.
782 * src/ios.cc: Likewise.
783 * src/locale.cc: Likewise.
784 * src/localename.cc: Likewise.
786 2004-01-26 Paolo Carlini <pcarlini@suse.de>
788 * include/bits/basic_string.h (_M_replace_aux): Use the
789 __N marker in throw message.
790 * include/bits/basic_string.tcc (assign(const _CharT*,
791 size_type), insert(size_type, const _CharT*, size_type),
792 replace(size_type, size_type, const _CharT*, size_type),
793 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
796 * include/bits/basic_string.h, include/bits/basic_string.tcc:
797 Fold overlong lines, minor formatting changes.
799 2004-01-26 Paolo Carlini <pcarlini@suse.de>
801 * include/bits/basic_string.h (replace(iterator, iterator,
802 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
803 (replace(iterator, iterator, const _CharT*)): Ditto.
804 (replace(iterator, iterator, const _CharT*, size_type)):
805 Add missing _GLIBCXX_DEBUG_PEDASSERT.
807 2004-01-26 Paolo Carlini <pcarlini@suse.de>
809 * include/bits/basic_string.tcc (replace(size_type,
810 size_type, const _CharT*, size_type)): Implement optimized
811 in-place algorithm for non-overlapping ranges.
812 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
813 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
815 * include/bits/basic_string.tcc (insert(size_type,
816 const _CharT*, size_type)): Tweak slightly.
818 2004-01-26 Andreas Schwab <schwab@suse.de>
820 * config/locale/gnu/monetary_members.cc: Restore locale before
821 rethrowing exception.
823 2004-01-25 Paolo Carlini <pcarlini@suse.de>
825 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
827 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
830 * include/bits/basic_string.tcc: Very minor tweaks.
832 2004-01-25 Paolo Carlini <pcarlini@suse.de>
834 * testsuite/performance/string_append.cc: Increase number
837 2004-01-25 Paolo Carlini <pcarlini@suse.de>
839 * include/bits/basic_string.h (erase(size_type, size_type),
840 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
841 instead, thus avoiding redundant check for length_error.
843 * include/bits/basic_string.h: Tweak some comments.
845 2004-01-24 Paolo Carlini <pcarlini@suse.de>
847 * include/bits/basic_string.tcc (operator+(const _CharT*,
848 const basic_string&)): No need to go through the append
849 taking two iterators.
851 2004-01-24 Paolo Carlini <pcarlini@suse.de>
853 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
854 Revert last change to use std::min: machine language is worse.
855 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
856 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
857 (find_last_not_of(_CharT, size_type)): Ditto.
859 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
860 size_type)): Discard the value returned by _M_check.
861 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
862 (append(const basic_string&, size_type, size_type)): Ditto.
863 (copy(_CharT*, size_type, size_type)): Ditto.
864 (compare(size_type, size_type, const basic_string&)): Ditto.
865 (compare(size_type, size_type, const basic_string&,
866 size_type, size_type)): Ditto.
867 (compare(size_type, size_type, const _CharT*)): Ditto.
868 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
870 2004-01-24 Paolo Carlini <pcarlini@suse.de>
872 * include/bits/basic_string.h (insert(size_type,
873 const basic_string&, size_type, size_type)): Define inline here.
874 * include/bits/basic_string.tcc (insert(size_type,
875 const basic_string&, size_type, size_type)): Move inline.
877 2004-01-24 Paolo Carlini <pcarlini@suse.de>
879 * include/bits/basic_string.h (assign(const basic_string&,
880 size_type, size_type)): Define inline here.
881 (replace(size_type, size_type, const basic_string&,
882 size_type, size_type)): Ditto.
883 (_M_replace_dispatch(iterator, iterator, _InputIterator,
884 _InputIterator, __false_type)): Only declare.
885 (_M_replace(iterator, iterator, _InputIterator,
886 _InputIterator)): Remove.
887 * include/bits/basic_string.tcc (assign(const basic_string&,
888 size_type, size_type)): Move inline.
889 (replace(size_type, size_type, const basic_string&,
890 size_type, size_type)): Ditto.
891 (_M_replace_dispatch(iterator, iterator, _InputIterator,
892 _InputIterator, __false_type)): Define, now does also what
893 _M_replace did before.
894 * src/string-inst.cc (_M_replace): Don't instantiate.
896 * include/bits/basic_string.tcc (find(const _CharT*,
897 size_type, size_type)): Tidy.
898 (rfind(_CharT, size_type)): Ditto.
899 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
900 (find_first_not_of(_CharT, size_type)): Ditto.
901 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
902 (find_last_not_of(_CharT, size_type)): Ditto.
904 2004-01-23 Paolo Carlini <pcarlini@suse.de>
907 * include/debug/bitset (operator|=): Fix typo.
908 * testsuite/23_containers/bitset/operations/13838.cc: New.
910 2004-01-23 Paolo Carlini <pcarlini@suse.de>
912 * include/bits/basic_string.tcc (insert(size_type,
913 const _CharT*, size_type __n)): Fix length_error check.
914 (replace(size_type, size_type, const _CharT*, size_type):
915 Ditto; call _M_replace_safe.
916 (_M_replace_aux(size_type, size_type, size_type, _CharT):
917 Fix length_error check.
918 (_M_replace(iterator, iterator, _InputIterator,
919 _InputIterator)): Ditto, tweak.
920 (_M_replace_safe(size_type, size_type, const _CharT*,
921 size_type)): Remove length_error check.
923 * include/bits/basic_string.tcc (append(const basic_string&),
924 append(const basic_string&, size_type, size_type)): Tweak
927 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
928 size_type)): If __n == 0 don't call traits::copy.
930 2004-01-23 Stefan Olsson <stefan@snon.net>
932 * include/ext/mt_allocator.h: Reduce lock contention.
934 2004-01-23 Paolo Carlini <pcarlini@suse.de>
937 * include/bits/fstream.tcc (underflow): Remove unused
939 * include/bits/streambuf_iterator.h (equal): Ditto.
940 * include/bits/locale_facets.h (_M_convert_from_char):
943 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
946 * config/linker-map.gnu (nan): Delete.
947 * libmath/mathconf.h (NAN, nan): Delete.
948 * linkage.m4 (nan): Don't check for it.
949 * libmath/nan.c: Delete file.
951 * config.h.in, configure: Regenerate.
953 2004-01-23 Paolo Carlini <pcarlini@suse.de>
955 * include/bits/basic_string.h (push_back(_CharT)):
957 (insert(size_type, const basic_string&)): Trivial tweak.
958 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
959 (insert(iterator, _CharT)): Ditto.
960 (erase(size_type, size_type)): Ditto.
961 (erase(iterator)): Ditto.
962 (erase(iterator, iterator)): Ditto.
963 (replace(size_type, size_type, size_type, _CharT)): Ditto.
965 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
968 * testsuite/performance/allocator_map_thread.cc: New test.
970 2004-01-22 Paolo Carlini <pcarlini@suse.de>
972 * include/bits/locale_facets.tcc
973 (money_put::do_put(..., long double)): Use the basic_string
974 constructor for char arrays, not that for C-strings, to pass
975 __digits to do_put(..., const string_type&): __ws isn't
978 2004-01-22 Paolo Carlini <pcarlini@suse.de>
980 * include/bits/basic_string.h (_M_replace_safe): Change
981 signatures to take size_types and const _CharT*.
982 (_M_replace_aux): Likewise, takes size_types instead of
984 (append(size_type, _CharT)): Update call.
985 (assign(size_type, _CharT)): Ditto.
986 (replace(iterator, iterator, size_type, _CharT)): Ditto.
987 (_M_replace_dispatch(iterator, iterator, _Integer,
988 _Integer, __true_type)): Ditto.
989 * include/bits/basic_string.tcc (assign(const _CharT*,
991 (insert(size_type, const _CharT*, size_type)): Ditto.
992 (replace(size_type, size_type, const _CharT*,
994 (_M_replace(iterator, iterator, _InputIterator,
995 _InputIterator)): Ditto.
996 (append(const basic_string&)): Ditto.
997 (append(const basic_string&, size_type, size_type): Ditto.
998 (append(const _CharT*, size_type): Ditto.
999 (_M_replace_safe, _M_replace_safe): Change definitions
1000 accordingly, simplify.
1001 * string-inst.cc (_M_replace_safe): Don't instantiate.
1003 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1005 * include/bits/basic_string.tcc (append(const basic_string&)):
1006 Revert previous change.
1007 (append(const basic_string&, size_type, size_type)): Revert
1008 previous change, use _M_check and _M_limit.
1010 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1012 * include/bits/basic_string.h (_M_check): Change to return
1013 a checked __pos and take an additional const char* argument.
1014 (_M_fold): Rename to _M_limit, change to return a size_type,
1015 corresponding to the __off limited to the actual length.
1016 (insert(size_type, size_type, _CharT)): Update call, call
1018 (insert(iterator, _CharT)): Call replace(iterator, iterator,
1019 size_type, _CharT) instead.
1020 (erase(size_type, size_type)): Update calls.
1021 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1022 (substr(size_type, size_type)): Use _M_check.
1023 * include/bits/basic_string.tcc (basic_string(const basic_string&,
1024 size_type, size_type)): Update calls.
1025 (basic_string(const basic_string&, size_type, size_type,
1026 const _Alloc&)): Ditto.
1027 (assign(const basic_string&, size_type, size_type)): Use the
1028 new _M_check and _M_limit.
1029 (insert(size_type, const basic_string&, size_type, size_type):
1031 (insert(size_type, const _CharT*, size_type)): Ditto.
1032 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
1033 (replace(size_type, size_type, const basic_string&,
1034 size_type, size_type)): Ditto.
1035 (append(const basic_string&)): Ditto.
1036 (append(const basic_string&, size_type, size_type)): Ditto.
1037 (copy(_CharT*, size_type, size_type)): Ditto.
1038 (compare(size_type, size_type, const basic_string&)): Ditto.
1039 (compare(size_type, size_type, const basic_string&,size_type,
1041 (compare(size_type, size_type, const _CharT*)): Ditto.
1042 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1044 2004-01-19 Stefan Olsson <stefan@snon.net>
1046 * include/ext/mt_allocator.h: If a thread, when it dies, still has
1047 memory on it's freelist this memory is not returned to global
1048 list. Simplification of deallocate so that memory is always
1049 returned to the calling thread id's freelist instead of to
1050 global. Fix typos. Add volatile where appropriate.
1052 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
1054 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
1055 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
1056 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
1058 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1060 * src/debug.cc: Make sure all the names are prefixed with
1061 double (or single) underscore.
1063 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1065 * src/debug.cc: Trivial formatting change.
1067 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1069 * include/bits/basic_string.tcc (_S_construct(size_type,
1070 _CharT, const _Alloc&)): Remove redundant try/catch.
1071 (_M_mutate(size_type, size_type, size_type)): Ditto.
1072 (_M_clone(const _Alloc&, size_type)): Ditto.
1074 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1076 * include/bits/basic_string.h (c_str()): Simplify, due to
1077 21.3.4 the internal representation is always kept null-terminated.
1078 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
1079 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
1080 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
1083 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1085 * include/bits/basic_string.h (append(size_type, _CharT)):
1086 Moved inline, just call _M_replace_aux, no source iterators at
1087 risk of being clobbered.
1088 (assign(size_type, _CharT)): Call directly _M_replace_aux.
1089 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1090 input_iterator_tag)): Remove fifth unused argument.
1091 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1092 _InputIterator, __false_type)): Update call.
1093 * include/bits/basic_string.tcc (replace(size_type, size_type,
1094 const _CharT*, size_type)): Update call.
1095 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
1096 throw string literal.
1097 (_M_replace_safe(iterator, iterator, _ForwardIterator,
1098 _ForwardIterator)): Likewise.
1099 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1100 input_iterator_tag)): Remove fifth unused argument.
1101 (append(size_type __n, _CharT __c)): Move inline.
1102 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
1103 const C*, const C*, input_iterator_tag)): Remove fifth unused
1106 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
1108 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
1109 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
1111 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
1113 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
1116 2004-01-15 Stefan Olsson <stefan@snon.net>
1118 * include/ext/mt_allocator.h: Reuse thread id's as soon as
1119 possible by changing the behaviour of thread_freelist to do
1120 push_front when threads die instead of push_back.
1122 2004-01-14 Paolo Carlini <pcarlini@suse.de>
1124 * include/bits/locale_facets.h (struct __numpunct_cache):
1125 Add member _M_grouping_size, caching the length of _M_grouping.
1126 (__numpunct_cache<>::_M_cache): Assign the latter.
1127 (__verify_grouping): Move declaration...
1128 * include/bits/locale_facets.tcc (__verify_grouping):
1129 ... here, change signature to take a const char* and a size_t
1130 for the grouping; not a template anymore.
1131 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
1132 Likewise change signature and tweak consistently.
1133 (num_get::_M_extract_float, num_get::_M_extract_int,
1134 num_put::_M_insert_int, num_put::_M_insert_float,
1135 money_get::do_get(string_type&), money_get::do_put(string_type)):
1137 * config/locale/generic/numeric_members.cc
1138 (numpunct<>::_M_initialize_numpunct): Assign the new member.
1139 * config/locale/gnu/numeric_members.cc
1140 (numpunct<>::_M_initialize_numpunct): Likewise.
1141 * src/locale-inst.cc (__add_grouping): Tweak signature.
1142 (__verify_grouping): Don't instantiate, not a template anymore.
1144 * include/bits/locale_facets.h: Rename _M_truename_len ->
1145 _M_truename_size, _M_falsename_len -> _M_falsename_size.
1146 * include/bits/locale_facets.tcc: Likewise.
1147 * config/locale/generic/numeric_members.cc: Likewise.
1148 * config/locale/gnu/numeric_members.cc: Likewise.
1150 2004-01-14 Stefan Olsson <stefan@snon.net>
1152 * include/ext/mt_allocator.h: Fixups.
1153 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
1154 * testsuite/performance/allocator_thread.cc: Same.
1156 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1158 * testsuite/performance/ifstream_extract_float.cc: Add higher
1160 * testsuite/performance/ofstream_insert_float.cc: Same.
1162 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1164 * src/locale-misc-inst.cc (__convert_from_v(long),
1165 __convert_from_v(unsigned long), __convert_from_v(long long),
1166 __convert_from_v(unsigned long long)): Remove, unused.
1168 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1170 * testsuite/performance/ifstream_extract_float.cc: New.
1171 * testsuite/performance/ofstream_insert_float.cc: Float generation
1174 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
1175 * 20_util/auto_ptr/1.cc: ...this.
1176 * 20_util/auto_ptr/2.cc: Same.
1177 * 20_util/auto_ptr/3.cc: Same.
1178 * 20_util/auto_ptr/3946.cc: Same.
1179 * 20_util/auto_ptr/4.cc: Same.
1180 * 20_util/auto_ptr/5.cc: Same.
1181 * 20_util/auto_ptr/6.cc: Same.
1182 * 20_util/auto_ptr/7.cc: Same.
1183 * 20_util/auto_ptr/assign_neg.cc
1184 * 20_util/pairs.cc: Break into...
1185 * 20_util/pair/1.cc: ...this.
1186 * 20_util/pair/2.cc: Same.
1187 * 20_util/pair/3.cc: Same.
1188 * 20_util/pair/4.cc: Same.
1190 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1192 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
1193 Set correctly just basefield, the only group that matters.
1195 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1197 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
1198 (_Rope_rep_base): Inherit directly from the rope allocator;
1199 use rebinding instead of _Alloc_traits; pick up data member
1200 from _Rope_rep_alloc_base.
1201 (_Rope_alloc_base): Eliminate.
1202 (_Rope_base): Inherit directly from the rope allocator; use
1203 rebinding instead of _Alloc_traits; pick up data member from
1205 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
1206 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
1208 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1211 * include/bits/basic_string.tcc (compare(size_type, size_type,
1212 const _CharT*, size_type)): Implement correctly the resolution
1213 of DR 5: basically, s is a char array, -not- a C string.
1214 * include/bits/basic_string.h: Tweak some comments.
1215 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
1216 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
1218 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1220 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
1223 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1225 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
1227 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
1230 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1232 * include/bits/locale_facets.h (struct __numpunct_cache):
1233 Add members _M_truename_len and _M_falsename_len, caching
1234 the lengths of _M_truename and _M_falsename.
1235 (__numpunct_cache<>::_M_cache): Assign the latter.
1236 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
1237 num_put::do_put(bool)): Use the new members, thus avoiding
1238 computing string lengths again and again.
1239 * config/locale/generic/numeric_members.cc
1240 (numpunct<>::_M_initialize_numpunct): Assign the new members.
1241 * config/locale/gnu/numeric_members.cc
1242 (numpunct<>::_M_initialize_numpunct): Likewise.
1244 2004-01-12 Mark Mitchell <mark@codesourcery.com>
1246 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1247 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1249 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1250 and remove Cygwin XFAIL.
1251 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1252 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1253 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1254 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1256 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1257 * testsuite/27_io/objects/char/7.cc: Likewise.
1258 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1259 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1260 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1262 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1264 * include/std/std_complex.h (std::complex<>::real): Return a
1265 reference. Add non-const overload.
1266 (std::complex<>::real): Likewise.
1267 (std::real): Likewise.
1268 (std::imag): Likewise.
1269 (std::operator+): Tidy.
1270 (std::operator-): Likewise.
1271 (std::operator*): Likewise.
1272 (std::operator/): Likewise.
1273 (std::operator>>): Likewise.
1275 2004-01-11 Paolo Carlini <pcarlini@suse.de>
1278 * include/bits/fstream.tcc (imbue): Exploit the external
1279 buffer to imbue 'on the fly' a new locale and convert its
1280 remainder with the new codecvt facet.
1281 (underflow): Tweak slightly to deal with this special case.
1282 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1283 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1284 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1285 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1286 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
1288 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1290 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1293 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1296 * include/bits/locale_classes.h (class locale): Fix category
1298 * testsuite/22_locale/locale/13630.cc: Add.
1300 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1302 * include/bits/locale_facets.h: Make a name really dependent. This
1303 will be needed when Core Issue 224 is implemented.
1305 2004-01-09 Paolo Carlini <pcarlini@suse.de>
1307 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1308 * testsuite/performance/allocator_thread.cc: Likewise.
1310 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1312 * crossconfig.m4: Add LFS, io bits to linux cross config.
1313 * acconfig.h: Remove obsolete bits, reorder.
1314 * config.h.in: Regenerate.
1318 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
1320 * include/bits/stl_list.h:
1321 * include/bits/list.tc:
1323 Performance enhancements for destructor, push_front(),
1324 push_back(), pop_front(), pop_back(), sort()
1325 Eliminated static_casts where possible.
1326 Moved code out of header files into new src/list.cc
1327 implementation file for library where possible.
1328 Remove inheritance from iterator class and create separate
1329 classes for non-constant and constant iterators.
1330 * include/bits/stl_tree.h (_Rb_tree class):
1332 Only erase contents in destructor.
1333 Eliminate unnecessary initialization in assignment operator.
1334 Optimize for the nominal case by not checking whether
1335 container is empty in clear().
1336 Re-order test in _M_insert() to improve performance.
1337 Move initialization of new node's left & right pointers to
1338 src/tree.cc to where new node's colour is initialized
1339 and to reduce the amount of inline code.
1340 Use _M_leftmost() and _M_end() to improve readability where
1342 Create separate classes for non-constant and constant
1343 iterators to clarify code, avoid extra template parameters and
1344 casting away constness.
1346 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1348 * src/Makefile.am (sources): Add list.cc, tree.cc.
1349 * src/stl_tree.cc: Move to...
1350 * src/tree.cc: ...here.
1352 * config/linker-map.gnu: Tweaks.
1353 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1354 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1356 * bits/stl_vector.h: Column wrap comments.
1358 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
1360 (re-open) PR libstdc++/12658
1361 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1362 (locale::global): Likewise.
1364 2004-01-07 Paolo Carlini <pcarlini@suse.de>
1366 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1367 Remove redundant #include.
1368 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1369 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1370 re-enable normal testing.
1371 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1373 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1374 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1376 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1378 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1380 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1382 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1384 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1386 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1388 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1389 More properly, #include <locale>.
1390 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1391 Remove redundant #include.
1392 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1393 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1394 redundant DejaGnu directive.
1395 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1398 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
1399 Stefan Olsson <stefan@snon.net>
1401 * scripts/check_performance: Use -pthread.
1402 * testsuite/performance/allocator.cc: Tweaks, add list.
1403 * testsuite/performance/allocator_thread.cc: New.
1405 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
1407 * include/bits/locale_facets.h: Document public classes and
1409 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1412 2004-01-06 Paolo Carlini <pcarlini@suse.de>
1414 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1415 Remove redundant #includes.
1416 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1418 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1420 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1421 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1422 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1423 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1424 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1425 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1426 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1427 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1428 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1429 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1430 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1431 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1432 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1433 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1434 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1436 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1438 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1440 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1442 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1444 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1445 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1446 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1448 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1450 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1451 Remove redundant #includes.
1452 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1454 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1456 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1458 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1460 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1462 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1464 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1466 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1468 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1470 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1472 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1474 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1477 2004-01-04 Mark Mitchell <mark@codesourcery.com>
1480 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
1482 * testsuite/27_io/basic_fstream/4.cc: Likewise.
1483 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
1484 * testsuite/27_io/basic_ios/4.cc: Likewise.
1485 * testsuite/27_io/basic_iostream/4.cc: Likewise.
1486 * testsuite/27_io/basic_istream/4.cc: Likewise.
1487 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
1488 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
1489 * testsuite/27_io/basic_ostream/4.cc: Likewise.
1490 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
1491 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
1492 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
1494 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1496 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
1497 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
1498 always use double underscored names.
1499 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
1501 * include/bits/locale_facets.h (struct __numpunct_cache):
1502 Dimension _M_atoms_out and _M_atoms_in one position smaller.
1503 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out