1 2004-02-18 Paolo Carlini <pcarlini@suse.de>
3 * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
4 Rewrite, avoiding recursion.
5 (__gnu_internal::xwrite): Minor tweaks.
7 2004-02-17 Stefan Olsson <stefan@xapa.se>
9 * include/ext/mt_allocator.h: Removed the last
10 pointer. Deallocated blocks are now added to the front of
11 freelists as proposed by Felix Yen. This gives roughly 10%
12 performance boost and saves some memory.
13 * docs/html/ext/mt_allocator.html: Change due to that deallocated
14 blocks now are added to the front of freelists. The reason to this
15 approach is also explained.
17 2004-02-17 Paolo Carlini <pcarlini@suse.de>
19 * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
20 num_get<>::_M_extract_int, money_get<>::do_get): Simplify
21 grouping fidelity conditional.
23 2004-02-16 Paolo Carlini <pcarlini@suse.de>
25 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
26 Qualify exception with std::.
27 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
28 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
29 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
30 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
31 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
33 2004-02-16 Paolo Carlini <pcarlini@suse.de>
35 * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
36 for now that the catch block is not reached.
37 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
39 2004-02-16 Paolo Carlini <pcarlini@suse.de>
41 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
42 Fix parsing of the remaining sign characters.
43 * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
44 the input is scanned 'til eof.
45 * 22_locale/money_get/get/char/4.cc: Likewise.
46 * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
47 * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
48 * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
49 not do_pos_format: the former is the only one that matters during
51 * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
53 * 22_locale/money_get/get/char/6.cc: Minor tweak.
54 * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
56 2004-02-15 David Asher <david.asher@cavium.com>
59 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
60 access __olds beyond __oldlen.
62 2004-02-14 Paolo Carlini <pcarlini@suse.de>
64 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
65 sure the exception is actually thrown.
66 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
67 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
68 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
70 2004-02-14 Paolo Carlini <pcarlini@suse.de>
73 * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
74 In case of conversion errors, throw ios_failure; simplify.
75 * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
76 * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
77 * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
78 previously we didn't throw in case of conversion errors, instead
80 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
81 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
82 * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
84 * include/bits/fstream.tcc (basic_filebuf<>::overflow):
85 Trivial simplification of a conditional.
87 2004-02-12 Paolo Carlini <pcarlini@suse.de>
89 PR libstdc++/13731 (final part: writev)
90 * config/io/basic_file_stdio.cc (__gnu_internal::xwrite):
91 New, a wrapper around writev() handling partial writes.
92 (__basic_file<char>::xwrite): Move to __gnu_internal and make
94 (__basic_file<char>::xsputn): Update call.
95 (__basic_file<char>::xsputn_2): Likewise.
96 * config/io/basic_file_stdio.h (__basic_file<char>::write):
97 Don't declare, now static.
99 2004-02-11 Stefan Olsson <stefan@xapa.se>
101 * docs/html/ext/mt_allocator.html: New.
103 2004-02-11 Benjamin Kosnik <bkoz@redhat.com>
105 * docs/html/20_util/allocator.html: New file, consolidate
106 allocator information here. Revamp.
107 * docs/html/documentation.html: Change links.
108 * docs/html/20_util/howto.html: Same.
109 * docs/html/ext/howto.html: Same.
111 2004-02-11 Paolo Carlini <pcarlini@suse.de>
113 PR libstdc++/13731 (first part: write)
114 * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
116 * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
117 Define it: a wrapper around write() handling partial write.
118 (__basic_file<char>::xsputn): Use it.
119 (__basic_file<char>::xsputn_2): Likewise.
121 2004-02-11 Paolo Carlini <pcarlini@suse.de>
122 Petur Runolfsson <peturr02@ru.is>
125 * include/std/std_istream.h (operator>>(__istream_type& (*)
126 (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
127 operator>>(ios_base& (*)(ios_base&))): Declare inline.
128 * include/std/std_ostream.h (operator<<(__ostream_type& (*)
129 (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
130 operator<<(ios_base& (*) (ios_base&))): Likewise.
131 * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
133 2004-02-10 Loren J. Rittle <ljrittle@acm.org>
136 * config/linker-map.gnu: Add typeinfo and typeinfo name for
137 __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
140 * config/linker-map.gnu: Add typeinfo and typeinfo name for
141 __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
143 2004-02-09 Loren J. Rittle <ljrittle@acm.org>
145 * include/ext/pool_allocator.h: Include c++config.h.
147 2004-02-09 Stefan Olsson <stefan@xapa.se>
149 * include/ext/mt_allocator.h: thread_id is unused in non threaded
150 applications and now has a ifdef to remove it completely on
151 compilers without thread support. Include stdlib.h due to a
152 compiler warning on getenv().
154 2004-02-09 Paul Brook <paul@codesourcery.com>
156 * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
158 2004-02-09 Paolo Carlini <pcarlini@suse.de>
161 * src/locale_init.cc (locale::global(const locale&)): Use
162 locale::name() in order to decide whether calling setlocale.
163 * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
165 * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
166 Avoid computing &= unnecessarily.
168 2004-02-09 James E Wilson <wilson@specifixinc.com>
171 * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
172 __builtin_extend_pointer.
174 2004-02-09 Paolo Carlini <pcarlini@suse.de>
177 * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
178 Don't leave dangling pointers.
179 * testsuite/27_io/basic_ios/imbue/14072.cc: New.
180 * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
181 facet is needed in the final test.
183 2004-02-09 Bernardo Innocenti <bernie@develer.com>
185 * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
186 * configure: Regenerate.
188 2004-02-08 Richard Henderson <rth@redhat.com>
191 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
192 uncaughtExceptions during nested catch rethrow.
193 * testsuite/18_support/14026.cc: New.
195 2004-02-08 Paolo Carlini <pcarlini@suse.de>
197 * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
198 When working in place remember to set the state to sharable
199 (otherwise, _M_mutate does it).
201 2004-02-08 Bernardo Innocenti <bernie@develer.com>
203 * include/bits/allocator.h, include/bits/basic_ios.h,
204 include/bits/basic_ios.tcc, include/bits/basic_string.h,
205 include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
206 include/bits/char_traits.h, include/bits/codecvt.h,
207 include/bits/concurrence.h, include/bits/cpp_type_traits.h,
208 include/bits/demangle.h, include/bits/deque.tcc,
209 include/bits/fstream.tcc, include/bits/functexcept.h,
210 include/bits/gslice.h, include/bits/gslice_array.h,
211 include/bits/indirect_array.h, include/bits/ios_base.h,
212 include/bits/istream.tcc, include/bits/list.tcc,
213 include/bits/locale_classes.h, include/bits/locale_facets.h,
214 include/bits/locale_facets.tcc, include/bits/localefwd.h,
215 include/bits/mask_array.h, include/bits/ostream.tcc,
216 include/bits/postypes.h, include/bits/slice_array.h,
217 include/bits/sstream.tcc, include/bits/stl_algo.h,
218 include/bits/stl_algobase.h, include/bits/stl_bvector.h,
219 include/bits/stl_construct.h, include/bits/stl_deque.h,
220 include/bits/stl_function.h, include/bits/stl_heap.h,
221 include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
222 include/bits/stl_list.h, include/bits/stl_map.h,
223 include/bits/stl_multimap.h, include/bits/stl_multiset.h,
224 include/bits/stl_numeric.h, include/bits/stl_pair.h,
225 include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
226 include/bits/stl_relops.h, include/bits/stl_set.h,
227 include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
228 include/bits/stl_threads.h, include/bits/stl_tree.h,
229 include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
230 include/bits/stream_iterator.h, include/bits/streambuf.tcc,
231 include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
232 include/bits/type_traits.h, include/bits/valarray_after.h,
233 include/bits/valarray_array.h, include/bits/valarray_array.tcc,
234 include/bits/valarray_before.h, include/bits/vector.tcc: Remove
237 2004-02-06 Paolo Carlini <pcarlini@suse.de>
239 * include/bits/basic_string.h: Fix comment.
241 2004-02-06 Paolo Carlini <pcarlini@suse.de>
243 * include/bits/stl_construct.h: Wrap overlong lines, reformat
244 according to the coding standards.
245 * include/bits/stl_pair.h: Likewise.
246 * include/bits/stl_raw_storage_iter.h: Likewise.
247 * include/bits/stl_stack.h: Likewise.
248 * include/bits/stl_uninitialized.h: Likewise.
249 * include/bits/stream_iterator.h: Likewise.
250 * include/bits/streambuf_iterator.h: Likewise.
251 * include/bits/type_traits.h: Likewise.
253 2004-02-06 Paolo Carlini <pcarlini@suse.de>
255 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
258 2004-02-05 Loren J. Rittle <ljrittle@acm.org>
260 * scripts/check_performance: Support PCH.
262 * scripts/check_performance (CXX): Add -DNOTHREAD.
263 * testsuite/performance/20_util/allocator/insert.cc: Integrate
264 threaded tests from insert_insert.cc. Tweak iterations,
265 remove special cases.
266 * testsuite/performance/20_util/allocator/insert_insert.cc:
267 Make all tests single-threaded. Tweak iterations.
268 * testsuite/performance/20_util/allocator/map_thread.cc:
270 * testsuite/performance/20_util/allocator/producer_consumer.cc:
273 2004-02-05 Geoffrey Keating <geoffk@apple.com>
277 * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
278 'gcc-lib'. Add comment about poorly-named variables.
279 * aclocal.m4: Regenerate.
280 * configure: Regenerate.
282 2004-02-05 Paolo Carlini <pcarlini@suse.de>
284 * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
285 Thousands-sep are always optional; thousands-sep are not allowed
286 after the decimal_point.
287 * testsuite/22_locale/money_get/get/char/12.cc: New.
288 * testsuite/22_locale/money_get/get/char/13.cc: New.
289 * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
290 * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
292 * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
293 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
294 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
295 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
296 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
297 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
298 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
299 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
301 * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
303 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
305 2004-02-05 Richard Sandiford <rsandifo@redhat.com>
307 * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
309 * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
310 it to decide whether FIONREAD should take an off_t or int argument.
312 2004-02-05 Paolo Carlini <pcarlini@suse.de>
314 * include/bits/stl_function.h: Minor formatting changes.
316 2004-02-04 Zack Weinberg <zack@codesourcery.com>
318 Revert previous change to config/abi/*/baseline_symbols.txt.
320 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
321 Zack Weinberg <zack@codesourcery.com>
323 * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
325 (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
326 (__basic_file<char>::_M_open_mode): Delete.
327 * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
329 * testsuite/27_io/basic_filebuf/close/char/9964.cc
330 * testsuite/27_io/basic_filebuf/open/char/9507.cc:
331 Correct flags to filebuf::open calls.
333 * config/abi/alpha-freebsd5/baseline_symbols.txt
334 * config/abi/alpha-linux-gnu/baseline_symbols.txt
335 * config/abi/hppa-linux-gnu/baseline_symbols.txt
336 * config/abi/i386-freebsd4/baseline_symbols.txt
337 * config/abi/i386-freebsd5/baseline_symbols.txt
338 * config/abi/i486-linux-gnu/baseline_symbols.txt
339 * config/abi/ia64-linux-gnu/baseline_symbols.txt
340 * config/abi/mips-linux-gnu/baseline_symbols.txt
341 * config/abi/sparc-freebsd5/baseline_symbols.txt
342 * config/abi/sparc-linux-gnu/baseline_symbols.txt
343 * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
344 Remove entry for __basic_file<char>::_M_open_mode.
346 2004-02-04 Loren J. Rittle <ljrittle@acm.org>
348 * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
350 2004-02-04 Felix Yen <fwy@alumni.brown.edu>
352 * testsuite/performance/20_util/producer_consumer.cc: New.
353 * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
355 2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
357 * testsuite/performance/20_util/allocator.cc: Move to..
358 * testsuite/performance/20_util/allocator/insert.cc: ...here.
359 * testsuite/performance/20_util/allocator_thread.cc: Move to...
360 * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
361 * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
362 * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
364 2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
366 * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
367 * docs/html/faq/index.txt: Regenerate.
369 2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
371 * include/ext/debug_allocator.h: _M_extra now stands for the
372 number of extra objects instead of the number of extra bytes.
373 (debug_allocator::allocate): Adjust.
374 (debug_allocator::deallocate): Adjust.
376 * include/ext/pool_allocator.h: Fix typo.
378 2004-02-03 Felix Yen <fwy@alumni.brown.edu>
379 Benjamin Kosnik <bkoz@redhat.com>
381 * testsuite/performance/20_util/allocator.cc: Add map,
383 * testsuite/performance/20_util/allocator_thread.cc: Same.
385 2004-02-03 Paolo Carlini <pcarlini@suse.de>
387 * include/bits/basic_string.h (insert(iterator)): Remove,
388 non-standard and already scheduled for removal.
390 2004-02-03 Paolo Carlini <pcarlini@suse.de>
392 * include/bits/stl_iterator_base_funcs.h: Minor formatting
393 and indentation tweaks.
394 * include/bits/stl_iterator_base_types.h: Likewise.
395 * include/bits/stl_list.h: Likewise.
396 * include/bits/stl_map.h: Likewise.
397 * include/bits/stl_tempbuf.h: Likewise.
399 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
401 * include/bits/gslice.h, include/bits/gslice_array.h,
402 include/bits/indirect_array.h, include/bits/mask_array.h,
403 include/bits/slice_array.h, include/bits/stl_numeric.h,
404 include/std/std_valarray.h: Update copyright years.
406 2004-02-02 Jerry Quinn <jlquinn@optonline.net>
408 * include/bits/gslice.h (gslice): Document.
409 * include/bits/gslice_array.h (gslice_array): Document.
410 * include/bits/indirect_array (indirect_array): Document.
411 * include/bits/mask_array (mask_array): Document.
412 * include/bits/slice_array.h (slice,slice_array): Document.
413 * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
414 adjacent_difference): Document
415 * include/std/std_valarray.h (valarray): Document.
417 2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
419 * docs/html/19_diagnostics/howto.html: Move verbose terminate
421 * docs/html/18_support/howto.html: Here.
422 * docs/html/documentation.html: Add reference here.
424 2004-02-02 Paolo Carlini <pcarlini@suse.de>
426 * config/locale/gnu/c++locale_internal.h: Remove prototypes
427 of no longer used GLIBC thread locale functions.
429 2004-02-02 Eric Christopher <echristo@redhat.com>
430 Zack Weinberg <zack@codesourcery.com>
432 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
434 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
435 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
436 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
437 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
438 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
439 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
440 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
441 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
444 2004-02-02 Paolo Carlini <pcarlini@suse.de>
446 * include/bits/stl_function.h: Additional minor tweaks.
447 * include/bits/stl_multiset.h: Likewise.
449 * include/bits/stl_queue.h: Minor tweaks.
451 2004-02-02 Paolo Carlini <pcarlini@suse.de>
453 PR libstdc++/13976 (continued)
454 * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
455 Make the second parameter unnamed, to void unused parameter
457 * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
459 2004-02-02 Paolo Carlini <pcarlini@suse.de>
462 * include/ext/malloc_allocator.h (malloc_allocator::allocate):
463 Make the second parameter unnamed, to void unused parameter
465 * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
466 * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
468 2004-02-01 Paolo Carlini <pcarlini@suse.de>
470 * include/bits/stl_algo.h: Additional minor tweaks.
471 * include/bits/stl_map.h: Likewise.
472 * include/bits/stl_multimap.h: Likewise.
473 * include/bits/stl_multiset.h: Likewise.
474 * include/bits/stl_set.h: Likewise.
475 * include/bits/stl_tree.h: Likewise.
477 2004-02-01 Paolo Carlini <pcarlini@suse.de>
479 * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
482 2004-02-01 Paolo Carlini <pcarlini@suse.de>
484 * include/bits/stl_function.h: Additional minor tweaks.
486 2004-02-01 Paolo Carlini <pcarlini@suse.de>
488 * include/bits/deque.tcc: Wrap overlong lines, constify
489 a few variables, reformat according to the coding standards.
490 * include/bits/list.tcc: Likewise.
491 * include/bits/stl_deque.h: Likewise.
492 * include/bits/stl_function.h: Likewise.
493 * include/bits/stl_iterator.h: Likewise.
494 * include/bits/stl_iterator_base_funcs.h: Likewise.
495 * include/bits/stl_iterator_base_types.h: Likewise.
496 * include/bits/stl_list.h: Likewise.
497 * include/bits/stl_map.h: Likewise.
498 * include/bits/stl_multimap.h: Likewise.
499 * include/bits/stl_multiset.h: Likewise.
500 * include/bits/stl_relops.h: Likewise.
501 * include/bits/stl_set.h: Likewise.
503 2004-02-01 Paolo Carlini <pcarlini@suse.de>
505 * include/bits/stl_bvector.h: Wrap overlong lines, constify
506 a few variables, reformat according to the coding standards.
507 * include/bits/stl_tree.h: Likewise.
509 2004-01-31 Paolo Carlini <pcarlini@suse.de>
511 * include/bits/stl_algo.h: Minor additional reformat, add
513 * include/bits/stl_algobase.h: Add copyright year.
515 2004-01-31 Paolo Carlini <pcarlini@suse.de>
517 * include/bits/stl_algo.h: Wrap overlong lines, constify
518 a few variables, reformat according to the coding standards.
519 * include/bits/stl_algobase.h: Likewise.
520 * include/bits/stl_heap.h: Likewise.
522 2004-01-31 Paolo Carlini <pcarlini@suse.de>
524 * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
526 * include/bits/basic_string.h: Fix two comments.
528 2004-01-31 Per Bothner <per@bothner.com>
530 * include/ext/mt_allocator.h
531 (__mt_alloc::_S_thread_freelist_mutex): Guard with
532 __GTHREAD_MUTEX_INIT.
534 2004-01-31 Paolo Carlini <pcarlini@suse.de>
536 * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
538 2004-01-30 Paolo Carlini <pcarlini@suse.de>
540 * testsuite/21_strings/basic_string/cons/char/6.cc: New.
541 * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
542 * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
544 2004-01-30 Felix Yen <fwy@alumni.brown.edu>
546 * testsuite/performance/20_util/allocator_thread.cc (do_loop):
547 Don't use clear, but instead assign. Use insert.
549 2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
551 * src/demangle.cc: Add instantiations.
552 * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
553 * src/Makefile.in: Regenerate.
555 2004-01-30 David Edelsohn <edelsohn@gnu.org>
557 * src/allocator.cc: Protect _S_get_thread_id() and
558 _S_thread_key_destr() with #ifdef __GTHREADS.
560 2004-01-30 Paolo Carlini <pcarlini@suse.de>
562 Reshuffle performance testsuite.
563 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
564 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
565 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
566 fstream_seek_write.cc, ifstream_extract_float.cc,
567 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
568 list_create_fill_sort.cc, map_create_fill.cc,
569 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
570 ofstream_insert_float.cc, ofstream_insert_int.cc,
571 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
572 wchar_t_out.cc: Split into...
573 * testsuite/performance/20_util/allocator.cc: New.
574 * testsuite/performance/20_util/allocator_map_thread.cc: New.
575 * testsuite/performance/20_util/allocator_thread.cc: New.
576 * testsuite/performance/21_strings/string_append: New.
577 * testsuite/performance/22_locale/is_wchar_t.cc: New.
578 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
579 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
580 * testsuite/performance/22_locale/wchar_t_in.cc: New.
581 * testsuite/performance/22_locale/wchar_t_length.cc: New.
582 * testsuite/performance/22_locale/wchar_t_out.cc: New.
583 * testsuite/performance/23_containers/container_benchmark.cc: New.
584 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
585 * testsuite/performance/23_containers/map_create_fill.cc: New.
586 * testsuite/performance/26_numerics/complex_norm.cc: New.
587 * testsuite/performance/27_io/cout_insert_int.cc: New.
588 * testsuite/performance/27_io/filebuf_copy.cc: New.
589 * testsuite/performance/27_io/filebuf_sputc.cc: New.
590 * testsuite/performance/27_io/fstream_seek_write.cc: New.
591 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
592 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
593 * testsuite/performance/27_io/ifstream_getline.cc: New.
594 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
595 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
597 2004-01-30 Paolo Carlini <pcarlini@suse.de>
599 * include/bits/basic_string.tcc (_Rep::_S_create):
600 Never allocate a string bigger than max_size(); always keep
601 __capacity and __size in sync to avoid memory leaks at
604 2004-01-30 Paolo Carlini <pcarlini@suse.de>
606 * include/bits/basic_string.tcc (_S_construct(_InIterator,
607 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
608 the double loop, streamline.
610 * include/bits/basic_string.tcc: Very minor tweaks.
612 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
614 * scripts/check_performance: Only compile with $THREAD_FLAG
615 when test is marked to require it. Allow multiple
616 compilations/executions of marked tests.
617 * testsuite/testsuite_performance.h (report_performance):
618 Report dynamic thread support status.
619 (report_header): Likewise.
620 * testsuite/performance/allocator.cc: Stabilize iteration
621 count. Support more allocators. Mark each allocator test to
622 run and report independently.
623 * testsuite/performance/allocator_map_thread.cc: Likewise.
624 * testsuite/performance/allocator_thread.cc: Likewise.
626 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
628 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
629 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
630 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
631 std::get_temporary_buffer() instead of duplicating its code.
632 Update to C++STYLE conventions.
633 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
634 new() instead of std::malloc().
635 (return_temporary_buffer): Use ::operator delete() instead of
638 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
640 * include/bits/allocator.h: Temporary switch to new_allocator as
641 the default to unjam bootstraps.
643 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
645 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
646 * include/Makefile.in: Regenerate.
647 * include/bits/allocator_traits.h: Remove.
648 * include/bits/allocator.h: Remove allocator_traits.h include, and
650 (allocator): Empty base class, inherit from the underlying allocator.
651 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
652 * src/allocator.cc: ...here. New. For the underlying allocators.
653 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
654 * config/linker-map.gnu: Remove __pool_alloc bits.
655 * src/Makefile.am (sources): Add allocator.cc.
656 * src/Makefile.in: Regenerate.
657 * testsuite/20_util/allocator/1.cc: Split second test into...
658 * testsuite/20_util/allocator/8230.cc: ...this.
659 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
660 typedef to use std::allocatore. Format.
661 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
663 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
664 __throw_bad_alloc calls. Don't include <memory>.
665 * include/ext/malloc_allocator.h: Remove <memory> include.
666 * include/ext/new_allocator.h (new_allocator): Same.
667 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
668 declaration. Switch __alloc to _Alloc.
669 * include/ext/hashtable.h: Remove __alloc.
670 * include/backward/alloc.h: Only inject allocator, not
671 implementation details.
673 * include/ext/mt_allocator.h: Replace free with delete.
675 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
677 * src/globals_io.cc: Change to __gnu_internal namespace.
678 * src/globals_locale.cc: Same.
679 * src/locale_init.cc: Same.
680 * src/ios_init.cc: Same.
682 2004-01-28 Stefan Olsson <stefan@snon.net>
684 * include/ext/mt_allocator.h: Replaced all malloc() calls with
685 operator new(). Added support for the env variable
686 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
687 one in allocate() as well). Fix typos.
689 2004-01-28 Paolo Carlini <pcarlini@suse.de>
691 * include/bits/basic_string.h (_S_create(size_t,
692 const _Alloc&): Change signature to take two size_type
694 * include/bits/basic_string.tcc (_S_construct(_InIterator,
695 _InIterator, const _Alloc&, input_iterator_tag)): Update
697 (_S_construct(_InIterator, _InIterator, const _Alloc&,
698 forward_iterator_tag)): Likewise.
699 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
700 (_M_mutate(size_type, size_type, size_type)): Don't
701 implement the exponential growth policy, demand it to
702 _S_create, update call and simplify.
703 (_M_clone(const _Alloc&, size_type)): Likewise.
704 (_S_create(size_type, size_type, const _Alloc&)): Implement
705 the growth policy, simplify otherwise.
707 * include/bits/basic_string.h (_Rep::operator[]): Tweak
708 signature to take a size_type, consistently with the other
711 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
713 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
714 delete declarations, add include and test variable.
716 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
718 * include/bits/codecvt.h, include/bits/locale_facets.h,
719 include/bits/postypes.h, include/bits/stl_bvector.h,
720 include/bits/stl_multiset.h, include/bits/stl_set.h,
721 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
722 include/std/std_complex.h: Document.
724 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
727 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
728 iword/pword selector.
729 (ios_base::iword, ios_base::pword): Use it.
730 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
731 iword or pword member on alloc failure.
732 * testsuite/27_io/ios_base/storage/11584.cc: New test.
734 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
735 PJ Darcy <darcypj@us.ibm.com>
737 * configure.host: Add support for *-tpf.
738 * crossconfig.m4: Likewise.
739 * configure: Regenerate.
740 * config/os/tpf: New directory.
741 * config/os/tpf/os_defines.h: New file.
742 * config/os/tpf/ctype_base.h: Likewise.
743 * config/os/tpf/ctype_inline.h: Likewise.
744 * config/os/tpf/ctype_noninline.h: Likewise.
746 2004-01-27 Paolo Carlini <pcarlini@suse.de>
749 * include/bits/sstream.tcc: Guard use of extern template.
751 2004-01-27 Paolo Carlini <pcarlini@suse.de>
753 * include/bits/basic_string.tcc
754 (basic_string(const basic_string&, size_type, size_type),
755 basic_string(const basic_string&, size_type, size_type,
756 const _Alloc&)): Avoid unnecessarily constructing iterators.
758 2004-01-26 Paolo Carlini <pcarlini@suse.de>
760 * config/locale/generic/c_locale.cc: Fix throw messages
761 to use the __N marker.
762 * config/locale/gnu/c_locale.cc: Likewise.
763 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
765 * docs/html/17_intro/C++STYLE: Likewise.
766 * include/bits/basic_ios.tcc: Likewise.
767 * include/bits/fstream.tcc: Likewise.
768 * include/bits/vector.tcc: Likewise.
769 * include/ext/ropeimpl.h: Likewise.
770 * include/std/std_bitset.h: Likewise.
771 * src/ios.cc: Likewise.
772 * src/locale.cc: Likewise.
773 * src/localename.cc: Likewise.
775 2004-01-26 Paolo Carlini <pcarlini@suse.de>
777 * include/bits/basic_string.h (_M_replace_aux): Use the
778 __N marker in throw message.
779 * include/bits/basic_string.tcc (assign(const _CharT*,
780 size_type), insert(size_type, const _CharT*, size_type),
781 replace(size_type, size_type, const _CharT*, size_type),
782 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
785 * include/bits/basic_string.h, include/bits/basic_string.tcc:
786 Fold overlong lines, minor formatting changes.
788 2004-01-26 Paolo Carlini <pcarlini@suse.de>
790 * include/bits/basic_string.h (replace(iterator, iterator,
791 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
792 (replace(iterator, iterator, const _CharT*)): Ditto.
793 (replace(iterator, iterator, const _CharT*, size_type)):
794 Add missing _GLIBCXX_DEBUG_PEDASSERT.
796 2004-01-26 Paolo Carlini <pcarlini@suse.de>
798 * include/bits/basic_string.tcc (replace(size_type,
799 size_type, const _CharT*, size_type)): Implement optimized
800 in-place algorithm for non-overlapping ranges.
801 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
802 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
804 * include/bits/basic_string.tcc (insert(size_type,
805 const _CharT*, size_type)): Tweak slightly.
807 2004-01-26 Andreas Schwab <schwab@suse.de>
809 * config/locale/gnu/monetary_members.cc: Restore locale before
810 rethrowing exception.
812 2004-01-25 Paolo Carlini <pcarlini@suse.de>
814 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
816 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
819 * include/bits/basic_string.tcc: Very minor tweaks.
821 2004-01-25 Paolo Carlini <pcarlini@suse.de>
823 * testsuite/performance/string_append.cc: Increase number
826 2004-01-25 Paolo Carlini <pcarlini@suse.de>
828 * include/bits/basic_string.h (erase(size_type, size_type),
829 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
830 instead, thus avoiding redundant check for length_error.
832 * include/bits/basic_string.h: Tweak some comments.
834 2004-01-24 Paolo Carlini <pcarlini@suse.de>
836 * include/bits/basic_string.tcc (operator+(const _CharT*,
837 const basic_string&)): No need to go through the append
838 taking two iterators.
840 2004-01-24 Paolo Carlini <pcarlini@suse.de>
842 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
843 Revert last change to use std::min: machine language is worse.
844 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
845 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
846 (find_last_not_of(_CharT, size_type)): Ditto.
848 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
849 size_type)): Discard the value returned by _M_check.
850 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
851 (append(const basic_string&, size_type, size_type)): Ditto.
852 (copy(_CharT*, size_type, size_type)): Ditto.
853 (compare(size_type, size_type, const basic_string&)): Ditto.
854 (compare(size_type, size_type, const basic_string&,
855 size_type, size_type)): Ditto.
856 (compare(size_type, size_type, const _CharT*)): Ditto.
857 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
859 2004-01-24 Paolo Carlini <pcarlini@suse.de>
861 * include/bits/basic_string.h (insert(size_type,
862 const basic_string&, size_type, size_type)): Define inline here.
863 * include/bits/basic_string.tcc (insert(size_type,
864 const basic_string&, size_type, size_type)): Move inline.
866 2004-01-24 Paolo Carlini <pcarlini@suse.de>
868 * include/bits/basic_string.h (assign(const basic_string&,
869 size_type, size_type)): Define inline here.
870 (replace(size_type, size_type, const basic_string&,
871 size_type, size_type)): Ditto.
872 (_M_replace_dispatch(iterator, iterator, _InputIterator,
873 _InputIterator, __false_type)): Only declare.
874 (_M_replace(iterator, iterator, _InputIterator,
875 _InputIterator)): Remove.
876 * include/bits/basic_string.tcc (assign(const basic_string&,
877 size_type, size_type)): Move inline.
878 (replace(size_type, size_type, const basic_string&,
879 size_type, size_type)): Ditto.
880 (_M_replace_dispatch(iterator, iterator, _InputIterator,
881 _InputIterator, __false_type)): Define, now does also what
882 _M_replace did before.
883 * src/string-inst.cc (_M_replace): Don't instantiate.
885 * include/bits/basic_string.tcc (find(const _CharT*,
886 size_type, size_type)): Tidy.
887 (rfind(_CharT, size_type)): Ditto.
888 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
889 (find_first_not_of(_CharT, size_type)): Ditto.
890 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
891 (find_last_not_of(_CharT, size_type)): Ditto.
893 2004-01-23 Paolo Carlini <pcarlini@suse.de>
896 * include/debug/bitset (operator|=): Fix typo.
897 * testsuite/23_containers/bitset/operations/13838.cc: New.
899 2004-01-23 Paolo Carlini <pcarlini@suse.de>
901 * include/bits/basic_string.tcc (insert(size_type,
902 const _CharT*, size_type __n)): Fix length_error check.
903 (replace(size_type, size_type, const _CharT*, size_type):
904 Ditto; call _M_replace_safe.
905 (_M_replace_aux(size_type, size_type, size_type, _CharT):
906 Fix length_error check.
907 (_M_replace(iterator, iterator, _InputIterator,
908 _InputIterator)): Ditto, tweak.
909 (_M_replace_safe(size_type, size_type, const _CharT*,
910 size_type)): Remove length_error check.
912 * include/bits/basic_string.tcc (append(const basic_string&),
913 append(const basic_string&, size_type, size_type)): Tweak
916 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
917 size_type)): If __n == 0 don't call traits::copy.
919 2004-01-23 Stefan Olsson <stefan@snon.net>
921 * include/ext/mt_allocator.h: Reduce lock contention.
923 2004-01-23 Paolo Carlini <pcarlini@suse.de>
926 * include/bits/fstream.tcc (underflow): Remove unused
928 * include/bits/streambuf_iterator.h (equal): Ditto.
929 * include/bits/locale_facets.h (_M_convert_from_char):
932 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
935 * config/linker-map.gnu (nan): Delete.
936 * libmath/mathconf.h (NAN, nan): Delete.
937 * linkage.m4 (nan): Don't check for it.
938 * libmath/nan.c: Delete file.
940 * config.h.in, configure: Regenerate.
942 2004-01-23 Paolo Carlini <pcarlini@suse.de>
944 * include/bits/basic_string.h (push_back(_CharT)):
946 (insert(size_type, const basic_string&)): Trivial tweak.
947 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
948 (insert(iterator, _CharT)): Ditto.
949 (erase(size_type, size_type)): Ditto.
950 (erase(iterator)): Ditto.
951 (erase(iterator, iterator)): Ditto.
952 (replace(size_type, size_type, size_type, _CharT)): Ditto.
954 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
957 * testsuite/performance/allocator_map_thread.cc: New test.
959 2004-01-22 Paolo Carlini <pcarlini@suse.de>
961 * include/bits/locale_facets.tcc
962 (money_put::do_put(..., long double)): Use the basic_string
963 constructor for char arrays, not that for C-strings, to pass
964 __digits to do_put(..., const string_type&): __ws isn't
967 2004-01-22 Paolo Carlini <pcarlini@suse.de>
969 * include/bits/basic_string.h (_M_replace_safe): Change
970 signatures to take size_types and const _CharT*.
971 (_M_replace_aux): Likewise, takes size_types instead of
973 (append(size_type, _CharT)): Update call.
974 (assign(size_type, _CharT)): Ditto.
975 (replace(iterator, iterator, size_type, _CharT)): Ditto.
976 (_M_replace_dispatch(iterator, iterator, _Integer,
977 _Integer, __true_type)): Ditto.
978 * include/bits/basic_string.tcc (assign(const _CharT*,
980 (insert(size_type, const _CharT*, size_type)): Ditto.
981 (replace(size_type, size_type, const _CharT*,
983 (_M_replace(iterator, iterator, _InputIterator,
984 _InputIterator)): Ditto.
985 (append(const basic_string&)): Ditto.
986 (append(const basic_string&, size_type, size_type): Ditto.
987 (append(const _CharT*, size_type): Ditto.
988 (_M_replace_safe, _M_replace_safe): Change definitions
989 accordingly, simplify.
990 * string-inst.cc (_M_replace_safe): Don't instantiate.
992 2004-01-21 Paolo Carlini <pcarlini@suse.de>
994 * include/bits/basic_string.tcc (append(const basic_string&)):
995 Revert previous change.
996 (append(const basic_string&, size_type, size_type)): Revert
997 previous change, use _M_check and _M_limit.
999 2004-01-21 Paolo Carlini <pcarlini@suse.de>
1001 * include/bits/basic_string.h (_M_check): Change to return
1002 a checked __pos and take an additional const char* argument.
1003 (_M_fold): Rename to _M_limit, change to return a size_type,
1004 corresponding to the __off limited to the actual length.
1005 (insert(size_type, size_type, _CharT)): Update call, call
1007 (insert(iterator, _CharT)): Call replace(iterator, iterator,
1008 size_type, _CharT) instead.
1009 (erase(size_type, size_type)): Update calls.
1010 (replace(size_type, size_type, size_type, _CharT)): Ditto.
1011 (substr(size_type, size_type)): Use _M_check.
1012 * include/bits/basic_string.tcc (basic_string(const basic_string&,
1013 size_type, size_type)): Update calls.
1014 (basic_string(const basic_string&, size_type, size_type,
1015 const _Alloc&)): Ditto.
1016 (assign(const basic_string&, size_type, size_type)): Use the
1017 new _M_check and _M_limit.
1018 (insert(size_type, const basic_string&, size_type, size_type):
1020 (insert(size_type, const _CharT*, size_type)): Ditto.
1021 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
1022 (replace(size_type, size_type, const basic_string&,
1023 size_type, size_type)): Ditto.
1024 (append(const basic_string&)): Ditto.
1025 (append(const basic_string&, size_type, size_type)): Ditto.
1026 (copy(_CharT*, size_type, size_type)): Ditto.
1027 (compare(size_type, size_type, const basic_string&)): Ditto.
1028 (compare(size_type, size_type, const basic_string&,size_type,
1030 (compare(size_type, size_type, const _CharT*)): Ditto.
1031 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1033 2004-01-19 Stefan Olsson <stefan@snon.net>
1035 * include/ext/mt_allocator.h: If a thread, when it dies, still has
1036 memory on it's freelist this memory is not returned to global
1037 list. Simplification of deallocate so that memory is always
1038 returned to the calling thread id's freelist instead of to
1039 global. Fix typos. Add volatile where appropriate.
1041 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
1043 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
1044 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
1045 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
1047 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1049 * src/debug.cc: Make sure all the names are prefixed with
1050 double (or single) underscore.
1052 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1054 * src/debug.cc: Trivial formatting change.
1056 2004-01-19 Paolo Carlini <pcarlini@suse.de>
1058 * include/bits/basic_string.tcc (_S_construct(size_type,
1059 _CharT, const _Alloc&)): Remove redundant try/catch.
1060 (_M_mutate(size_type, size_type, size_type)): Ditto.
1061 (_M_clone(const _Alloc&, size_type)): Ditto.
1063 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1065 * include/bits/basic_string.h (c_str()): Simplify, due to
1066 21.3.4 the internal representation is always kept null-terminated.
1067 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
1068 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
1069 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
1072 2004-01-18 Paolo Carlini <pcarlini@suse.de>
1074 * include/bits/basic_string.h (append(size_type, _CharT)):
1075 Moved inline, just call _M_replace_aux, no source iterators at
1076 risk of being clobbered.
1077 (assign(size_type, _CharT)): Call directly _M_replace_aux.
1078 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1079 input_iterator_tag)): Remove fifth unused argument.
1080 (_M_replace_dispatch(iterator, iterator, _InputIterator,
1081 _InputIterator, __false_type)): Update call.
1082 * include/bits/basic_string.tcc (replace(size_type, size_type,
1083 const _CharT*, size_type)): Update call.
1084 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
1085 throw string literal.
1086 (_M_replace_safe(iterator, iterator, _ForwardIterator,
1087 _ForwardIterator)): Likewise.
1088 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
1089 input_iterator_tag)): Remove fifth unused argument.
1090 (append(size_type __n, _CharT __c)): Move inline.
1091 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
1092 const C*, const C*, input_iterator_tag)): Remove fifth unused
1095 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
1097 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
1098 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
1100 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
1102 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
1105 2004-01-15 Stefan Olsson <stefan@snon.net>
1107 * include/ext/mt_allocator.h: Reuse thread id's as soon as
1108 possible by changing the behaviour of thread_freelist to do
1109 push_front when threads die instead of push_back.
1111 2004-01-14 Paolo Carlini <pcarlini@suse.de>
1113 * include/bits/locale_facets.h (struct __numpunct_cache):
1114 Add member _M_grouping_size, caching the length of _M_grouping.
1115 (__numpunct_cache<>::_M_cache): Assign the latter.
1116 (__verify_grouping): Move declaration...
1117 * include/bits/locale_facets.tcc (__verify_grouping):
1118 ... here, change signature to take a const char* and a size_t
1119 for the grouping; not a template anymore.
1120 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
1121 Likewise change signature and tweak consistently.
1122 (num_get::_M_extract_float, num_get::_M_extract_int,
1123 num_put::_M_insert_int, num_put::_M_insert_float,
1124 money_get::do_get(string_type&), money_get::do_put(string_type)):
1126 * config/locale/generic/numeric_members.cc
1127 (numpunct<>::_M_initialize_numpunct): Assign the new member.
1128 * config/locale/gnu/numeric_members.cc
1129 (numpunct<>::_M_initialize_numpunct): Likewise.
1130 * src/locale-inst.cc (__add_grouping): Tweak signature.
1131 (__verify_grouping): Don't instantiate, not a template anymore.
1133 * include/bits/locale_facets.h: Rename _M_truename_len ->
1134 _M_truename_size, _M_falsename_len -> _M_falsename_size.
1135 * include/bits/locale_facets.tcc: Likewise.
1136 * config/locale/generic/numeric_members.cc: Likewise.
1137 * config/locale/gnu/numeric_members.cc: Likewise.
1139 2004-01-14 Stefan Olsson <stefan@snon.net>
1141 * include/ext/mt_allocator.h: Fixups.
1142 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
1143 * testsuite/performance/allocator_thread.cc: Same.
1145 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1147 * testsuite/performance/ifstream_extract_float.cc: Add higher
1149 * testsuite/performance/ofstream_insert_float.cc: Same.
1151 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1153 * src/locale-misc-inst.cc (__convert_from_v(long),
1154 __convert_from_v(unsigned long), __convert_from_v(long long),
1155 __convert_from_v(unsigned long long)): Remove, unused.
1157 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
1159 * testsuite/performance/ifstream_extract_float.cc: New.
1160 * testsuite/performance/ofstream_insert_float.cc: Float generation
1163 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
1164 * 20_util/auto_ptr/1.cc: ...this.
1165 * 20_util/auto_ptr/2.cc: Same.
1166 * 20_util/auto_ptr/3.cc: Same.
1167 * 20_util/auto_ptr/3946.cc: Same.
1168 * 20_util/auto_ptr/4.cc: Same.
1169 * 20_util/auto_ptr/5.cc: Same.
1170 * 20_util/auto_ptr/6.cc: Same.
1171 * 20_util/auto_ptr/7.cc: Same.
1172 * 20_util/auto_ptr/assign_neg.cc
1173 * 20_util/pairs.cc: Break into...
1174 * 20_util/pair/1.cc: ...this.
1175 * 20_util/pair/2.cc: Same.
1176 * 20_util/pair/3.cc: Same.
1177 * 20_util/pair/4.cc: Same.
1179 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1181 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
1182 Set correctly just basefield, the only group that matters.
1184 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1186 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
1187 (_Rope_rep_base): Inherit directly from the rope allocator;
1188 use rebinding instead of _Alloc_traits; pick up data member
1189 from _Rope_rep_alloc_base.
1190 (_Rope_alloc_base): Eliminate.
1191 (_Rope_base): Inherit directly from the rope allocator; use
1192 rebinding instead of _Alloc_traits; pick up data member from
1194 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
1195 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
1197 2004-01-13 Paolo Carlini <pcarlini@suse.de>
1200 * include/bits/basic_string.tcc (compare(size_type, size_type,
1201 const _CharT*, size_type)): Implement correctly the resolution
1202 of DR 5: basically, s is a char array, -not- a C string.
1203 * include/bits/basic_string.h: Tweak some comments.
1204 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
1205 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
1207 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1209 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
1212 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1214 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
1216 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
1219 2004-01-12 Paolo Carlini <pcarlini@suse.de>
1221 * include/bits/locale_facets.h (struct __numpunct_cache):
1222 Add members _M_truename_len and _M_falsename_len, caching
1223 the lengths of _M_truename and _M_falsename.
1224 (__numpunct_cache<>::_M_cache): Assign the latter.
1225 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
1226 num_put::do_put(bool)): Use the new members, thus avoiding
1227 computing string lengths again and again.
1228 * config/locale/generic/numeric_members.cc
1229 (numpunct<>::_M_initialize_numpunct): Assign the new members.
1230 * config/locale/gnu/numeric_members.cc
1231 (numpunct<>::_M_initialize_numpunct): Likewise.
1233 2004-01-12 Mark Mitchell <mark@codesourcery.com>
1235 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1236 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1238 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1239 and remove Cygwin XFAIL.
1240 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1241 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1242 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1243 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1245 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1246 * testsuite/27_io/objects/char/7.cc: Likewise.
1247 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1248 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1249 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1251 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
1253 * include/std/std_complex.h (std::complex<>::real): Return a
1254 reference. Add non-const overload.
1255 (std::complex<>::real): Likewise.
1256 (std::real): Likewise.
1257 (std::imag): Likewise.
1258 (std::operator+): Tidy.
1259 (std::operator-): Likewise.
1260 (std::operator*): Likewise.
1261 (std::operator/): Likewise.
1262 (std::operator>>): Likewise.
1264 2004-01-11 Paolo Carlini <pcarlini@suse.de>
1267 * include/bits/fstream.tcc (imbue): Exploit the external
1268 buffer to imbue 'on the fly' a new locale and convert its
1269 remainder with the new codecvt facet.
1270 (underflow): Tweak slightly to deal with this special case.
1271 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1272 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1273 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1274 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1275 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
1277 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1279 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1282 2004-01-10 Paolo Carlini <pcarlini@suse.de>
1285 * include/bits/locale_classes.h (class locale): Fix category
1287 * testsuite/22_locale/locale/13630.cc: Add.
1289 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1291 * include/bits/locale_facets.h: Make a name really dependent. This
1292 will be needed when Core Issue 224 is implemented.
1294 2004-01-09 Paolo Carlini <pcarlini@suse.de>
1296 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1297 * testsuite/performance/allocator_thread.cc: Likewise.
1299 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1301 * crossconfig.m4: Add LFS, io bits to linux cross config.
1302 * acconfig.h: Remove obsolete bits, reorder.
1303 * config.h.in: Regenerate.
1307 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
1309 * include/bits/stl_list.h:
1310 * include/bits/list.tc:
1312 Performance enhancements for destructor, push_front(),
1313 push_back(), pop_front(), pop_back(), sort()
1314 Eliminated static_casts where possible.
1315 Moved code out of header files into new src/list.cc
1316 implementation file for library where possible.
1317 Remove inheritance from iterator class and create separate
1318 classes for non-constant and constant iterators.
1319 * include/bits/stl_tree.h (_Rb_tree class):
1321 Only erase contents in destructor.
1322 Eliminate unnecessary initialization in assignment operator.
1323 Optimize for the nominal case by not checking whether
1324 container is empty in clear().
1325 Re-order test in _M_insert() to improve performance.
1326 Move initialization of new node's left & right pointers to
1327 src/tree.cc to where new node's colour is initialized
1328 and to reduce the amount of inline code.
1329 Use _M_leftmost() and _M_end() to improve readability where
1331 Create separate classes for non-constant and constant
1332 iterators to clarify code, avoid extra template parameters and
1333 casting away constness.
1335 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
1337 * src/Makefile.am (sources): Add list.cc, tree.cc.
1338 * src/stl_tree.cc: Move to...
1339 * src/tree.cc: ...here.
1341 * config/linker-map.gnu: Tweaks.
1342 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1343 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1345 * bits/stl_vector.h: Column wrap comments.
1347 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
1349 (re-open) PR libstdc++/12658
1350 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1351 (locale::global): Likewise.
1353 2004-01-07 Paolo Carlini <pcarlini@suse.de>
1355 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1356 Remove redundant #include.
1357 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1358 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1359 re-enable normal testing.
1360 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1362 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1363 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1365 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1367 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1369 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1371 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1373 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1375 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1377 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1378 More properly, #include <locale>.
1379 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1380 Remove redundant #include.
1381 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1382 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1383 redundant DejaGnu directive.
1384 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1387 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
1388 Stefan Olsson <stefan@snon.net>
1390 * scripts/check_performance: Use -pthread.
1391 * testsuite/performance/allocator.cc: Tweaks, add list.
1392 * testsuite/performance/allocator_thread.cc: New.
1394 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
1396 * include/bits/locale_facets.h: Document public classes and
1398 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1401 2004-01-06 Paolo Carlini <pcarlini@suse.de>
1403 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1404 Remove redundant #includes.
1405 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1407 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1409 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1410 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1411 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1412 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1413 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1414 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1415 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1416 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1417 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1418 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1419 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1420 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1421 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1422 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1423 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1425 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1427 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1429 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1431 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1433 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1434 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1435 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1437 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1439 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1440 Remove redundant #includes.
1441 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1443 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1445 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1447 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1449 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1451 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1453 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1455 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1457 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1459 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1461 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1463 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1466 2004-01-04 Mark Mitchell <mark@codesourcery.com>
1469 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
1471 * testsuite/27_io/basic_fstream/4.cc: Likewise.
1472 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
1473 * testsuite/27_io/basic_ios/4.cc: Likewise.
1474 * testsuite/27_io/basic_iostream/4.cc: Likewise.
1475 * testsuite/27_io/basic_istream/4.cc: Likewise.
1476 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
1477 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
1478 * testsuite/27_io/basic_ostream/4.cc: Likewise.
1479 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
1480 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
1481 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
1483 2004-01-04 Paolo Carlini <pcarlini@suse.de>
1485 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
1486 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
1487 always use double underscored names.
1488 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
1490 * include/bits/locale_facets.h (struct __numpunct_cache):
1491 Dimension _M_atoms_out and _M_atoms_in one position smaller.
1492 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out