1 2004-01-30 Paolo Carlini <pcarlini@suse.de>
3 Reshuffle performance testsuite.
4 * testsuite/performance/allocator.cc, allocator_map_thread.cc,
5 allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
6 cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
7 fstream_seek_write.cc, ifstream_extract_float.cc,
8 ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
9 list_create_fill_sort.cc, map_create_fill.cc,
10 narrow_widen_char.cc, narrow_widen_wchar_t.cc,
11 ofstream_insert_float.cc, ofstream_insert_int.cc,
12 string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
13 wchar_t_out.cc: Split into...
14 * testsuite/performance/20_util/allocator.cc: New.
15 * testsuite/performance/20_util/allocator_map_thread.cc: New.
16 * testsuite/performance/20_util/allocator_thread.cc: New.
17 * testsuite/performance/21_strings/string_append: New.
18 * testsuite/performance/22_locale/is_wchar_t.cc: New.
19 * testsuite/performance/22_locale/narrow_widen_char.cc: New.
20 * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
21 * testsuite/performance/22_locale/wchar_t_in.cc: New.
22 * testsuite/performance/22_locale/wchar_t_length.cc: New.
23 * testsuite/performance/22_locale/wchar_t_out.cc: New.
24 * testsuite/performance/23_containers/container_benchmark.cc: New.
25 * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
26 * testsuite/performance/23_containers/map_create_fill.cc: New.
27 * testsuite/performance/26_numerics/complex_norm.cc: New.
28 * testsuite/performance/27_io/cout_insert_int.cc: New.
29 * testsuite/performance/27_io/filebuf_copy.cc: New.
30 * testsuite/performance/27_io/filebuf_sputc.cc: New.
31 * testsuite/performance/27_io/fstream_seek_write.cc: New.
32 * testsuite/performance/27_io/ifstream_extract_float.cc: New.
33 * testsuite/performance/27_io/ifstream_extract_int.cc: New.
34 * testsuite/performance/27_io/ifstream_getline.cc: New.
35 * testsuite/performance/27_io/ofstream_insert_float.cc: New.
36 * testsuite/performance/27_io/ofstream_insert_int.cc: New.
38 2004-01-30 Paolo Carlini <pcarlini@suse.de>
40 * include/bits/basic_string.tcc (_Rep::_S_create):
41 Never allocate a string bigger than max_size(); always keep
42 __capacity and __size in sync to avoid memory leaks at
45 2004-01-30 Paolo Carlini <pcarlini@suse.de>
47 * include/bits/basic_string.tcc (_S_construct(_InIterator,
48 _InIterator, const _Alloc&, input_iterator_tag)): Simplify
49 the double loop, streamline.
51 * include/bits/basic_string.tcc: Very minor tweaks.
53 2004-01-30 Loren J. Rittle <ljrittle@acm.org>
55 * scripts/check_performance: Only compile with $THREAD_FLAG
56 when test is marked to require it. Allow multiple
57 compilations/executions of marked tests.
58 * testsuite/testsuite_performance.h (report_performance):
59 Report dynamic thread support status.
60 (report_header): Likewise.
61 * testsuite/performance/allocator.cc: Stabilize iteration
62 count. Support more allocators. Mark each allocator test to
63 run and report independently.
64 * testsuite/performance/allocator_map_thread.cc: Likewise.
65 * testsuite/performance/allocator_thread.cc: Likewise.
67 2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
69 * config/local/generic/c_locale.h: Change ::malloc() to new char[].
70 * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
71 * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
72 std::get_temporary_buffer() instead of duplicating its code.
73 Update to C++STYLE conventions.
74 * include/std/std_memory.h (get_temporary_buffer): Use ::operator
75 new() instead of std::malloc().
76 (return_temporary_buffer): Use ::operator delete() instead of
79 2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
81 * include/bits/allocator.h: Temporary switch to new_allocator as
82 the default to unjam bootstraps.
84 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
86 * include/Makefile.am (bits_headers): Remove allocator_traits.h.
87 * include/Makefile.in: Regenerate.
88 * include/bits/allocator_traits.h: Remove.
89 * include/bits/allocator.h: Remove allocator_traits.h include, and
91 (allocator): Empty base class, inherit from the underlying allocator.
92 * src/allocator-inst.cc: Move __pool_alloc instantiation to...
93 * src/allocator.cc: ...here. New. For the underlying allocators.
94 Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
95 * config/linker-map.gnu: Remove __pool_alloc bits.
96 * src/Makefile.am (sources): Add allocator.cc.
97 * src/Makefile.in: Regenerate.
98 * testsuite/20_util/allocator/1.cc: Split second test into...
99 * testsuite/20_util/allocator/8230.cc: ...this.
100 * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
101 typedef to use std::allocatore. Format.
102 * include/ext/pool_allocator.h: Remove allocator_traits.h include,
104 * include/ext/mt_allocator.h (__gnu_cxx): Qualify
105 __throw_bad_alloc calls. Don't include <memory>.
106 * include/ext/malloc_allocator.h: Remove <memory> include.
107 * include/ext/new_allocator.h (new_allocator): Same.
108 * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
109 declaration. Switch __alloc to _Alloc.
110 * include/ext/hashtable.h: Remove __alloc.
111 * include/backward/alloc.h: Only inject allocator, not
112 implementation details.
114 * include/ext/mt_allocator.h: Replace free with delete.
116 2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
118 * src/globals_io.cc: Change to __gnu_internal namespace.
119 * src/globals_locale.cc: Same.
120 * src/locale_init.cc: Same.
121 * src/ios_init.cc: Same.
123 2004-01-28 Stefan Olsson <stefan@snon.net>
125 * include/ext/mt_allocator.h: Replaced all malloc() calls with
126 operator new(). Added support for the env variable
127 GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
128 one in allocate() as well). Fix typos.
130 2004-01-28 Paolo Carlini <pcarlini@suse.de>
132 * include/bits/basic_string.h (_S_create(size_t,
133 const _Alloc&): Change signature to take two size_type
135 * include/bits/basic_string.tcc (_S_construct(_InIterator,
136 _InIterator, const _Alloc&, input_iterator_tag)): Update
138 (_S_construct(_InIterator, _InIterator, const _Alloc&,
139 forward_iterator_tag)): Likewise.
140 (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
141 (_M_mutate(size_type, size_type, size_type)): Don't
142 implement the exponential growth policy, demand it to
143 _S_create, update call and simplify.
144 (_M_clone(const _Alloc&, size_type)): Likewise.
145 (_S_create(size_type, size_type, const _Alloc&)): Implement
146 the growth policy, simplify otherwise.
148 * include/bits/basic_string.h (_Rep::operator[]): Tweak
149 signature to take a size_type, consistently with the other
152 2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
154 * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
155 delete declarations, add include and test variable.
157 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
159 * include/bits/codecvt.h, include/bits/locale_facets.h,
160 include/bits/postypes.h, include/bits/stl_bvector.h,
161 include/bits/stl_multiset.h, include/bits/stl_set.h,
162 include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
163 include/std/std_complex.h: Document.
165 2004-01-27 Jerry Quinn <jlquinn@optonline.net>
168 * include/bits/ios_base.h (ios_base::_M_grow_words): Add
169 iword/pword selector.
170 (ios_base::iword, ios_base::pword): Use it.
171 * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
172 iword or pword member on alloc failure.
173 * testsuite/27_io/ios_base/storage/11584.cc: New test.
175 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
176 PJ Darcy <darcypj@us.ibm.com>
178 * configure.host: Add support for *-tpf.
179 * crossconfig.m4: Likewise.
180 * configure: Regenerate.
181 * config/os/tpf: New directory.
182 * config/os/tpf/os_defines.h: New file.
183 * config/os/tpf/ctype_base.h: Likewise.
184 * config/os/tpf/ctype_inline.h: Likewise.
185 * config/os/tpf/ctype_noninline.h: Likewise.
187 2004-01-27 Paolo Carlini <pcarlini@suse.de>
190 * include/bits/sstream.tcc: Guard use of extern template.
192 2004-01-27 Paolo Carlini <pcarlini@suse.de>
194 * include/bits/basic_string.tcc
195 (basic_string(const basic_string&, size_type, size_type),
196 basic_string(const basic_string&, size_type, size_type,
197 const _Alloc&)): Avoid unnecessarily constructing iterators.
199 2004-01-26 Paolo Carlini <pcarlini@suse.de>
201 * config/locale/generic/c_locale.cc: Fix throw messages
202 to use the __N marker.
203 * config/locale/gnu/c_locale.cc: Likewise.
204 * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
206 * docs/html/17_intro/C++STYLE: Likewise.
207 * include/bits/basic_ios.tcc: Likewise.
208 * include/bits/fstream.tcc: Likewise.
209 * include/bits/vector.tcc: Likewise.
210 * include/ext/ropeimpl.h: Likewise.
211 * include/std/std_bitset.h: Likewise.
212 * src/ios.cc: Likewise.
213 * src/locale.cc: Likewise.
214 * src/localename.cc: Likewise.
216 2004-01-26 Paolo Carlini <pcarlini@suse.de>
218 * include/bits/basic_string.h (_M_replace_aux): Use the
219 __N marker in throw message.
220 * include/bits/basic_string.tcc (assign(const _CharT*,
221 size_type), insert(size_type, const _CharT*, size_type),
222 replace(size_type, size_type, const _CharT*, size_type),
223 reserve, _Rep::_S_create, resize, _M_replace_dispatch):
226 * include/bits/basic_string.h, include/bits/basic_string.tcc:
227 Fold overlong lines, minor formatting changes.
229 2004-01-26 Paolo Carlini <pcarlini@suse.de>
231 * include/bits/basic_string.h (replace(iterator, iterator,
232 const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
233 (replace(iterator, iterator, const _CharT*)): Ditto.
234 (replace(iterator, iterator, const _CharT*, size_type)):
235 Add missing _GLIBCXX_DEBUG_PEDASSERT.
237 2004-01-26 Paolo Carlini <pcarlini@suse.de>
239 * include/bits/basic_string.tcc (replace(size_type,
240 size_type, const _CharT*, size_type)): Implement optimized
241 in-place algorithm for non-overlapping ranges.
242 * testsuite/21_strings/basic_string/replace/char/6.cc: New.
243 * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
245 * include/bits/basic_string.tcc (insert(size_type,
246 const _CharT*, size_type)): Tweak slightly.
248 2004-01-26 Andreas Schwab <schwab@suse.de>
250 * config/locale/gnu/monetary_members.cc: Restore locale before
251 rethrowing exception.
253 2004-01-25 Paolo Carlini <pcarlini@suse.de>
255 * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
257 * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
260 * include/bits/basic_string.tcc: Very minor tweaks.
262 2004-01-25 Paolo Carlini <pcarlini@suse.de>
264 * testsuite/performance/string_append.cc: Increase number
267 2004-01-25 Paolo Carlini <pcarlini@suse.de>
269 * include/bits/basic_string.h (erase(size_type, size_type),
270 erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
271 instead, thus avoiding redundant check for length_error.
273 * include/bits/basic_string.h: Tweak some comments.
275 2004-01-24 Paolo Carlini <pcarlini@suse.de>
277 * include/bits/basic_string.tcc (operator+(const _CharT*,
278 const basic_string&)): No need to go through the append
279 taking two iterators.
281 2004-01-24 Paolo Carlini <pcarlini@suse.de>
283 * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
284 Revert last change to use std::min: machine language is worse.
285 (find_last_of(const _CharT*, size_type, size_type)): Ditto.
286 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
287 (find_last_not_of(_CharT, size_type)): Ditto.
289 * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
290 size_type)): Discard the value returned by _M_check.
291 (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
292 (append(const basic_string&, size_type, size_type)): Ditto.
293 (copy(_CharT*, size_type, size_type)): Ditto.
294 (compare(size_type, size_type, const basic_string&)): Ditto.
295 (compare(size_type, size_type, const basic_string&,
296 size_type, size_type)): Ditto.
297 (compare(size_type, size_type, const _CharT*)): Ditto.
298 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
300 2004-01-24 Paolo Carlini <pcarlini@suse.de>
302 * include/bits/basic_string.h (insert(size_type,
303 const basic_string&, size_type, size_type)): Define inline here.
304 * include/bits/basic_string.tcc (insert(size_type,
305 const basic_string&, size_type, size_type)): Move inline.
307 2004-01-24 Paolo Carlini <pcarlini@suse.de>
309 * include/bits/basic_string.h (assign(const basic_string&,
310 size_type, size_type)): Define inline here.
311 (replace(size_type, size_type, const basic_string&,
312 size_type, size_type)): Ditto.
313 (_M_replace_dispatch(iterator, iterator, _InputIterator,
314 _InputIterator, __false_type)): Only declare.
315 (_M_replace(iterator, iterator, _InputIterator,
316 _InputIterator)): Remove.
317 * include/bits/basic_string.tcc (assign(const basic_string&,
318 size_type, size_type)): Move inline.
319 (replace(size_type, size_type, const basic_string&,
320 size_type, size_type)): Ditto.
321 (_M_replace_dispatch(iterator, iterator, _InputIterator,
322 _InputIterator, __false_type)): Define, now does also what
323 _M_replace did before.
324 * src/string-inst.cc (_M_replace): Don't instantiate.
326 * include/bits/basic_string.tcc (find(const _CharT*,
327 size_type, size_type)): Tidy.
328 (rfind(_CharT, size_type)): Ditto.
329 (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
330 (find_first_not_of(_CharT, size_type)): Ditto.
331 (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
332 (find_last_not_of(_CharT, size_type)): Ditto.
334 2004-01-23 Paolo Carlini <pcarlini@suse.de>
337 * include/debug/bitset (operator|=): Fix typo.
338 * testsuite/23_containers/bitset/operations/13838.cc: New.
340 2004-01-23 Paolo Carlini <pcarlini@suse.de>
342 * include/bits/basic_string.tcc (insert(size_type,
343 const _CharT*, size_type __n)): Fix length_error check.
344 (replace(size_type, size_type, const _CharT*, size_type):
345 Ditto; call _M_replace_safe.
346 (_M_replace_aux(size_type, size_type, size_type, _CharT):
347 Fix length_error check.
348 (_M_replace(iterator, iterator, _InputIterator,
349 _InputIterator)): Ditto, tweak.
350 (_M_replace_safe(size_type, size_type, const _CharT*,
351 size_type)): Remove length_error check.
353 * include/bits/basic_string.tcc (append(const basic_string&),
354 append(const basic_string&, size_type, size_type)): Tweak
357 * include/bits/basic_string.tcc (copy(_CharT*, size_type,
358 size_type)): If __n == 0 don't call traits::copy.
360 2004-01-23 Stefan Olsson <stefan@snon.net>
362 * include/ext/mt_allocator.h: Reduce lock contention.
364 2004-01-23 Paolo Carlini <pcarlini@suse.de>
367 * include/bits/fstream.tcc (underflow): Remove unused
369 * include/bits/streambuf_iterator.h (equal): Ditto.
370 * include/bits/locale_facets.h (_M_convert_from_char):
373 2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
376 * config/linker-map.gnu (nan): Delete.
377 * libmath/mathconf.h (NAN, nan): Delete.
378 * linkage.m4 (nan): Don't check for it.
379 * libmath/nan.c: Delete file.
381 * config.h.in, configure: Regenerate.
383 2004-01-23 Paolo Carlini <pcarlini@suse.de>
385 * include/bits/basic_string.h (push_back(_CharT)):
387 (insert(size_type, const basic_string&)): Trivial tweak.
388 (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
389 (insert(iterator, _CharT)): Ditto.
390 (erase(size_type, size_type)): Ditto.
391 (erase(iterator)): Ditto.
392 (erase(iterator, iterator)): Ditto.
393 (replace(size_type, size_type, size_type, _CharT)): Ditto.
395 2004-01-23 Loren J. Rittle <ljrittle@acm.org>
398 * testsuite/performance/allocator_map_thread.cc: New test.
400 2004-01-22 Paolo Carlini <pcarlini@suse.de>
402 * include/bits/locale_facets.tcc
403 (money_put::do_put(..., long double)): Use the basic_string
404 constructor for char arrays, not that for C-strings, to pass
405 __digits to do_put(..., const string_type&): __ws isn't
408 2004-01-22 Paolo Carlini <pcarlini@suse.de>
410 * include/bits/basic_string.h (_M_replace_safe): Change
411 signatures to take size_types and const _CharT*.
412 (_M_replace_aux): Likewise, takes size_types instead of
414 (append(size_type, _CharT)): Update call.
415 (assign(size_type, _CharT)): Ditto.
416 (replace(iterator, iterator, size_type, _CharT)): Ditto.
417 (_M_replace_dispatch(iterator, iterator, _Integer,
418 _Integer, __true_type)): Ditto.
419 * include/bits/basic_string.tcc (assign(const _CharT*,
421 (insert(size_type, const _CharT*, size_type)): Ditto.
422 (replace(size_type, size_type, const _CharT*,
424 (_M_replace(iterator, iterator, _InputIterator,
425 _InputIterator)): Ditto.
426 (append(const basic_string&)): Ditto.
427 (append(const basic_string&, size_type, size_type): Ditto.
428 (append(const _CharT*, size_type): Ditto.
429 (_M_replace_safe, _M_replace_safe): Change definitions
430 accordingly, simplify.
431 * string-inst.cc (_M_replace_safe): Don't instantiate.
433 2004-01-21 Paolo Carlini <pcarlini@suse.de>
435 * include/bits/basic_string.tcc (append(const basic_string&)):
436 Revert previous change.
437 (append(const basic_string&, size_type, size_type)): Revert
438 previous change, use _M_check and _M_limit.
440 2004-01-21 Paolo Carlini <pcarlini@suse.de>
442 * include/bits/basic_string.h (_M_check): Change to return
443 a checked __pos and take an additional const char* argument.
444 (_M_fold): Rename to _M_limit, change to return a size_type,
445 corresponding to the __off limited to the actual length.
446 (insert(size_type, size_type, _CharT)): Update call, call
448 (insert(iterator, _CharT)): Call replace(iterator, iterator,
449 size_type, _CharT) instead.
450 (erase(size_type, size_type)): Update calls.
451 (replace(size_type, size_type, size_type, _CharT)): Ditto.
452 (substr(size_type, size_type)): Use _M_check.
453 * include/bits/basic_string.tcc (basic_string(const basic_string&,
454 size_type, size_type)): Update calls.
455 (basic_string(const basic_string&, size_type, size_type,
456 const _Alloc&)): Ditto.
457 (assign(const basic_string&, size_type, size_type)): Use the
458 new _M_check and _M_limit.
459 (insert(size_type, const basic_string&, size_type, size_type):
461 (insert(size_type, const _CharT*, size_type)): Ditto.
462 (replace(size_type, size_type, const _CharT*, size_type): Ditto.
463 (replace(size_type, size_type, const basic_string&,
464 size_type, size_type)): Ditto.
465 (append(const basic_string&)): Ditto.
466 (append(const basic_string&, size_type, size_type)): Ditto.
467 (copy(_CharT*, size_type, size_type)): Ditto.
468 (compare(size_type, size_type, const basic_string&)): Ditto.
469 (compare(size_type, size_type, const basic_string&,size_type,
471 (compare(size_type, size_type, const _CharT*)): Ditto.
472 (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
474 2004-01-19 Stefan Olsson <stefan@snon.net>
476 * include/ext/mt_allocator.h: If a thread, when it dies, still has
477 memory on it's freelist this memory is not returned to global
478 list. Simplification of deallocate so that memory is always
479 returned to the calling thread id's freelist instead of to
480 global. Fix typos. Add volatile where appropriate.
482 2004-01-19 Loren J. Rittle <ljrittle@acm.org>
484 * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
485 * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
486 use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
488 2004-01-19 Paolo Carlini <pcarlini@suse.de>
490 * src/debug.cc: Make sure all the names are prefixed with
491 double (or single) underscore.
493 2004-01-19 Paolo Carlini <pcarlini@suse.de>
495 * src/debug.cc: Trivial formatting change.
497 2004-01-19 Paolo Carlini <pcarlini@suse.de>
499 * include/bits/basic_string.tcc (_S_construct(size_type,
500 _CharT, const _Alloc&)): Remove redundant try/catch.
501 (_M_mutate(size_type, size_type, size_type)): Ditto.
502 (_M_clone(const _Alloc&, size_type)): Ditto.
504 2004-01-18 Paolo Carlini <pcarlini@suse.de>
506 * include/bits/basic_string.h (c_str()): Simplify, due to
507 21.3.4 the internal representation is always kept null-terminated.
508 * include/bits/basic_string.tcc (_M_clone): Null-terminate.
509 * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
510 * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
513 2004-01-18 Paolo Carlini <pcarlini@suse.de>
515 * include/bits/basic_string.h (append(size_type, _CharT)):
516 Moved inline, just call _M_replace_aux, no source iterators at
517 risk of being clobbered.
518 (assign(size_type, _CharT)): Call directly _M_replace_aux.
519 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
520 input_iterator_tag)): Remove fifth unused argument.
521 (_M_replace_dispatch(iterator, iterator, _InputIterator,
522 _InputIterator, __false_type)): Update call.
523 * include/bits/basic_string.tcc (replace(size_type, size_type,
524 const _CharT*, size_type)): Update call.
525 (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
526 throw string literal.
527 (_M_replace_safe(iterator, iterator, _ForwardIterator,
528 _ForwardIterator)): Likewise.
529 (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
530 input_iterator_tag)): Remove fifth unused argument.
531 (append(size_type __n, _CharT __c)): Move inline.
532 * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
533 const C*, const C*, input_iterator_tag)): Remove fifth unused
536 2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
538 * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
539 * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
541 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
543 * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
546 2004-01-15 Stefan Olsson <stefan@snon.net>
548 * include/ext/mt_allocator.h: Reuse thread id's as soon as
549 possible by changing the behaviour of thread_freelist to do
550 push_front when threads die instead of push_back.
552 2004-01-14 Paolo Carlini <pcarlini@suse.de>
554 * include/bits/locale_facets.h (struct __numpunct_cache):
555 Add member _M_grouping_size, caching the length of _M_grouping.
556 (__numpunct_cache<>::_M_cache): Assign the latter.
557 (__verify_grouping): Move declaration...
558 * include/bits/locale_facets.tcc (__verify_grouping):
559 ... here, change signature to take a const char* and a size_t
560 for the grouping; not a template anymore.
561 (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
562 Likewise change signature and tweak consistently.
563 (num_get::_M_extract_float, num_get::_M_extract_int,
564 num_put::_M_insert_int, num_put::_M_insert_float,
565 money_get::do_get(string_type&), money_get::do_put(string_type)):
567 * config/locale/generic/numeric_members.cc
568 (numpunct<>::_M_initialize_numpunct): Assign the new member.
569 * config/locale/gnu/numeric_members.cc
570 (numpunct<>::_M_initialize_numpunct): Likewise.
571 * src/locale-inst.cc (__add_grouping): Tweak signature.
572 (__verify_grouping): Don't instantiate, not a template anymore.
574 * include/bits/locale_facets.h: Rename _M_truename_len ->
575 _M_truename_size, _M_falsename_len -> _M_falsename_size.
576 * include/bits/locale_facets.tcc: Likewise.
577 * config/locale/generic/numeric_members.cc: Likewise.
578 * config/locale/gnu/numeric_members.cc: Likewise.
580 2004-01-14 Stefan Olsson <stefan@snon.net>
582 * include/ext/mt_allocator.h: Fixups.
583 * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
584 * testsuite/performance/allocator_thread.cc: Same.
586 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
588 * testsuite/performance/ifstream_extract_float.cc: Add higher
590 * testsuite/performance/ofstream_insert_float.cc: Same.
592 2004-01-13 Paolo Carlini <pcarlini@suse.de>
594 * src/locale-misc-inst.cc (__convert_from_v(long),
595 __convert_from_v(unsigned long), __convert_from_v(long long),
596 __convert_from_v(unsigned long long)): Remove, unused.
598 2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
600 * testsuite/performance/ifstream_extract_float.cc: New.
601 * testsuite/performance/ofstream_insert_float.cc: Float generation
604 * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
605 * 20_util/auto_ptr/1.cc: ...this.
606 * 20_util/auto_ptr/2.cc: Same.
607 * 20_util/auto_ptr/3.cc: Same.
608 * 20_util/auto_ptr/3946.cc: Same.
609 * 20_util/auto_ptr/4.cc: Same.
610 * 20_util/auto_ptr/5.cc: Same.
611 * 20_util/auto_ptr/6.cc: Same.
612 * 20_util/auto_ptr/7.cc: Same.
613 * 20_util/auto_ptr/assign_neg.cc
614 * 20_util/pairs.cc: Break into...
615 * 20_util/pair/1.cc: ...this.
616 * 20_util/pair/2.cc: Same.
617 * 20_util/pair/3.cc: Same.
618 * 20_util/pair/4.cc: Same.
620 2004-01-13 Paolo Carlini <pcarlini@suse.de>
622 * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
623 Set correctly just basefield, the only group that matters.
625 2004-01-13 Paolo Carlini <pcarlini@suse.de>
627 * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
628 (_Rope_rep_base): Inherit directly from the rope allocator;
629 use rebinding instead of _Alloc_traits; pick up data member
630 from _Rope_rep_alloc_base.
631 (_Rope_alloc_base): Eliminate.
632 (_Rope_base): Inherit directly from the rope allocator; use
633 rebinding instead of _Alloc_traits; pick up data member from
635 (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
636 rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
638 2004-01-13 Paolo Carlini <pcarlini@suse.de>
641 * include/bits/basic_string.tcc (compare(size_type, size_type,
642 const _CharT*, size_type)): Implement correctly the resolution
643 of DR 5: basically, s is a char array, -not- a C string.
644 * include/bits/basic_string.h: Tweak some comments.
645 * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
646 * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
648 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
650 * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
653 2004-01-12 Paolo Carlini <pcarlini@suse.de>
655 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
657 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
660 2004-01-12 Paolo Carlini <pcarlini@suse.de>
662 * include/bits/locale_facets.h (struct __numpunct_cache):
663 Add members _M_truename_len and _M_falsename_len, caching
664 the lengths of _M_truename and _M_falsename.
665 (__numpunct_cache<>::_M_cache): Assign the latter.
666 * include/bits/locale_facets.tcc (num_get::do_get(bool&),
667 num_put::do_put(bool)): Use the new members, thus avoiding
668 computing string lengths again and again.
669 * config/locale/generic/numeric_members.cc
670 (numpunct<>::_M_initialize_numpunct): Assign the new members.
671 * config/locale/gnu/numeric_members.cc
672 (numpunct<>::_M_initialize_numpunct): Likewise.
674 2004-01-12 Mark Mitchell <mark@codesourcery.com>
676 * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
677 * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
679 * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
680 and remove Cygwin XFAIL.
681 * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
682 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
683 * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
684 * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
686 * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
687 * testsuite/27_io/objects/char/7.cc: Likewise.
688 * testsuite/27_io/objects/char/9661-1.cc: Likewise.
689 * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
690 * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
692 2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
694 * include/std/std_complex.h (std::complex<>::real): Return a
695 reference. Add non-const overload.
696 (std::complex<>::real): Likewise.
697 (std::real): Likewise.
698 (std::imag): Likewise.
699 (std::operator+): Tidy.
700 (std::operator-): Likewise.
701 (std::operator*): Likewise.
702 (std::operator/): Likewise.
703 (std::operator>>): Likewise.
705 2004-01-11 Paolo Carlini <pcarlini@suse.de>
708 * include/bits/fstream.tcc (imbue): Exploit the external
709 buffer to imbue 'on the fly' a new locale and convert its
710 remainder with the new codecvt facet.
711 (underflow): Tweak slightly to deal with this special case.
712 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
713 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
714 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
715 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
716 * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
718 2004-01-10 Paolo Carlini <pcarlini@suse.de>
720 * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
723 2004-01-10 Paolo Carlini <pcarlini@suse.de>
726 * include/bits/locale_classes.h (class locale): Fix category
728 * testsuite/22_locale/locale/13630.cc: Add.
730 2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
732 * include/bits/locale_facets.h: Make a name really dependent. This
733 will be needed when Core Issue 224 is implemented.
735 2004-01-09 Paolo Carlini <pcarlini@suse.de>
737 * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
738 * testsuite/performance/allocator_thread.cc: Likewise.
740 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
742 * crossconfig.m4: Add LFS, io bits to linux cross config.
743 * acconfig.h: Remove obsolete bits, reorder.
744 * config.h.in: Regenerate.
748 2004-01-07 Gawain Bolton <gp.bolton@computer.org>
750 * include/bits/stl_list.h:
751 * include/bits/list.tc:
753 Performance enhancements for destructor, push_front(),
754 push_back(), pop_front(), pop_back(), sort()
755 Eliminated static_casts where possible.
756 Moved code out of header files into new src/list.cc
757 implementation file for library where possible.
758 Remove inheritance from iterator class and create separate
759 classes for non-constant and constant iterators.
760 * include/bits/stl_tree.h (_Rb_tree class):
762 Only erase contents in destructor.
763 Eliminate unnecessary initialization in assignment operator.
764 Optimize for the nominal case by not checking whether
765 container is empty in clear().
766 Re-order test in _M_insert() to improve performance.
767 Move initialization of new node's left & right pointers to
768 src/tree.cc to where new node's colour is initialized
769 and to reduce the amount of inline code.
770 Use _M_leftmost() and _M_end() to improve readability where
772 Create separate classes for non-constant and constant
773 iterators to clarify code, avoid extra template parameters and
774 casting away constness.
776 2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
778 * src/Makefile.am (sources): Add list.cc, tree.cc.
779 * src/stl_tree.cc: Move to...
780 * src/tree.cc: ...here.
782 * config/linker-map.gnu: Tweaks.
783 * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
784 * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
786 * bits/stl_vector.h: Column wrap comments.
788 2004-01-07 Loren J. Rittle <ljrittle@acm.org>
790 (re-open) PR libstdc++/12658
791 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
792 (locale::global): Likewise.
794 2004-01-07 Paolo Carlini <pcarlini@suse.de>
796 * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
797 Remove redundant #include.
798 * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
799 * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
800 re-enable normal testing.
801 * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
803 * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
804 * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
806 * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
808 * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
810 * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
812 * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
814 * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
816 * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
818 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
819 More properly, #include <locale>.
820 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
821 Remove redundant #include.
822 * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
823 * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
824 redundant DejaGnu directive.
825 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
828 2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
829 Stefan Olsson <stefan@snon.net>
831 * scripts/check_performance: Use -pthread.
832 * testsuite/performance/allocator.cc: Tweaks, add list.
833 * testsuite/performance/allocator_thread.cc: New.
835 2004-01-06 Jerry Quinn <jlquinn@optonline.net>
837 * include/bits/locale_facets.h: Document public classes and
839 * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
842 2004-01-06 Paolo Carlini <pcarlini@suse.de>
844 * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
845 Remove redundant #includes.
846 * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
848 * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
850 * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
851 * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
852 * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
853 * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
854 * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
855 * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
856 * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
857 * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
858 * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
859 * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
860 * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
861 * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
862 * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
863 * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
864 * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
866 * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
868 * testsuite/27_io/basic_istream/readsome/char/8258.cc:
870 * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
872 * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
874 * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
875 * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
876 * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
878 2004-01-04 Paolo Carlini <pcarlini@suse.de>
880 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
881 Remove redundant #includes.
882 * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
884 * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
886 * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
888 * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
890 * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
892 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
894 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
896 * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
898 * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
900 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
902 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
904 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
907 2004-01-04 Mark Mitchell <mark@codesourcery.com>
910 * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
912 * testsuite/27_io/basic_fstream/4.cc: Likewise.
913 * testsuite/27_io/basic_ifstream/4.cc: Likewise.
914 * testsuite/27_io/basic_ios/4.cc: Likewise.
915 * testsuite/27_io/basic_iostream/4.cc: Likewise.
916 * testsuite/27_io/basic_istream/4.cc: Likewise.
917 * testsuite/27_io/basic_istingstream/4.cc: Likewise.
918 * testsuite/27_io/basic_ofstream/4.cc: Likewise.
919 * testsuite/27_io/basic_ostream/4.cc: Likewise.
920 * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
921 * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
922 * testsuite/27_io/basic_stringstream/4.cc: Likewise.
924 2004-01-04 Paolo Carlini <pcarlini@suse.de>
926 * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
927 Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
928 always use double underscored names.
929 * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
931 * include/bits/locale_facets.h (struct __numpunct_cache):
932 Dimension _M_atoms_out and _M_atoms_in one position smaller.
933 (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out