OSDN Git Service

2004-02-06 Paolo Carlini <pcarlini@suse.de>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
2
3         * include/bits/basic_string.h: Fix comment.
4
5 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
6
7         * include/bits/stl_construct.h: Wrap overlong lines, reformat
8         according to the coding standards.
9         * include/bits/stl_pair.h: Likewise.
10         * include/bits/stl_raw_storage_iter.h: Likewise.
11         * include/bits/stl_stack.h: Likewise.
12         * include/bits/stl_uninitialized.h: Likewise.
13         * include/bits/stream_iterator.h: Likewise.
14         * include/bits/streambuf_iterator.h: Likewise.
15         * include/bits/type_traits.h: Likewise.
16
17 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
18
19         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
20         Adjust timings.
21
22 2004-02-05  Loren J. Rittle  <ljrittle@acm.org>
23
24         * scripts/check_performance: Support PCH.
25
26         * scripts/check_performance (CXX): Add -DNOTHREAD.
27         * testsuite/performance/20_util/allocator/insert.cc: Integrate
28         threaded tests from insert_insert.cc.  Tweak iterations,
29         remove special cases.
30         * testsuite/performance/20_util/allocator/insert_insert.cc:
31         Make all tests single-threaded. Tweak iterations.
32         * testsuite/performance/20_util/allocator/map_thread.cc:
33         Tweak iterations.
34         * testsuite/performance/20_util/allocator/producer_consumer.cc:
35         Likewise.
36
37 2004-02-05  Geoffrey Keating  <geoffk@apple.com>
38
39         PR 12179
40         * .cvsignore: New.
41         * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
42         'gcc-lib'.  Add comment about poorly-named variables.
43         * aclocal.m4: Regenerate.
44         * configure: Regenerate.
45
46 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
47
48         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
49         Thousands-sep are always optional; thousands-sep are not allowed
50         after the decimal_point.
51         * testsuite/22_locale/money_get/get/char/12.cc: New.
52         * testsuite/22_locale/money_get/get/char/13.cc: New.
53         * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
54         * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
55
56         * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
57         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
58         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
59         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
60         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
61         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
62         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
63         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
64
65         * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
66         the standard.
67         * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
68
69 2004-02-05  Richard Sandiford  <rsandifo@redhat.com>
70
71         * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
72         Define.
73         * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
74         it to decide whether FIONREAD should take an off_t or int argument.
75
76 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
77
78         * include/bits/stl_function.h: Minor formatting changes.
79
80 2004-02-04  Zack Weinberg  <zack@codesourcery.com>
81
82         Revert previous change to config/abi/*/baseline_symbols.txt.
83
84 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
85             Zack Weinberg  <zack@codesourcery.com>
86
87         * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
88         New function.
89         (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
90         (__basic_file<char>::_M_open_mode): Delete.
91         * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
92
93         * testsuite/27_io/basic_filebuf/close/char/9964.cc
94         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
95         Correct flags to filebuf::open calls.
96
97         * config/abi/alpha-freebsd5/baseline_symbols.txt
98         * config/abi/alpha-linux-gnu/baseline_symbols.txt
99         * config/abi/hppa-linux-gnu/baseline_symbols.txt
100         * config/abi/i386-freebsd4/baseline_symbols.txt
101         * config/abi/i386-freebsd5/baseline_symbols.txt
102         * config/abi/i486-linux-gnu/baseline_symbols.txt
103         * config/abi/ia64-linux-gnu/baseline_symbols.txt
104         * config/abi/mips-linux-gnu/baseline_symbols.txt
105         * config/abi/sparc-freebsd5/baseline_symbols.txt
106         * config/abi/sparc-linux-gnu/baseline_symbols.txt
107         * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
108         Remove entry for __basic_file<char>::_M_open_mode.
109
110 2004-02-04  Loren J. Rittle  <ljrittle@acm.org>
111
112         * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
113
114 2004-02-04  Felix Yen  <fwy@alumni.brown.edu>
115
116         * testsuite/performance/20_util/producer_consumer.cc: New.
117         * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
118
119 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
120
121         * testsuite/performance/20_util/allocator.cc: Move to..
122         * testsuite/performance/20_util/allocator/insert.cc: ...here.
123         * testsuite/performance/20_util/allocator_thread.cc: Move to...
124         * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
125         * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
126         * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
127
128 2004-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
129
130         * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
131         * docs/html/faq/index.txt: Regenerate.
132
133 2004-02-04  Dhruv Matani  <dhruvbird@gmx.net>
134
135         * include/ext/debug_allocator.h: _M_extra now stands for the
136         number of extra objects instead of the number of extra bytes.
137         (debug_allocator::allocate): Adjust.
138         (debug_allocator::deallocate): Adjust.
139
140         * include/ext/pool_allocator.h: Fix typo.
141
142 2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
143             Benjamin Kosnik  <bkoz@redhat.com>
144
145         * testsuite/performance/20_util/allocator.cc: Add map,
146         deque, set tests.
147         * testsuite/performance/20_util/allocator_thread.cc: Same.
148
149 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
150
151         * include/bits/basic_string.h (insert(iterator)): Remove,
152         non-standard and already scheduled for removal.
153
154 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
155
156         * include/bits/stl_iterator_base_funcs.h: Minor formatting
157         and indentation tweaks.
158         * include/bits/stl_iterator_base_types.h: Likewise.
159         * include/bits/stl_list.h: Likewise.
160         * include/bits/stl_map.h: Likewise.
161         * include/bits/stl_tempbuf.h: Likewise.
162
163 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
164
165         * include/bits/gslice.h, include/bits/gslice_array.h,
166         include/bits/indirect_array.h, include/bits/mask_array.h,
167         include/bits/slice_array.h, include/bits/stl_numeric.h,
168         include/std/std_valarray.h:  Update copyright years.
169
170 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
171
172         * include/bits/gslice.h (gslice):  Document.
173         * include/bits/gslice_array.h (gslice_array):  Document.
174         * include/bits/indirect_array (indirect_array):  Document.
175         * include/bits/mask_array (mask_array):  Document.
176         * include/bits/slice_array.h (slice,slice_array):  Document.
177         * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
178         adjacent_difference):  Document
179         * include/std/std_valarray.h (valarray):  Document.
180
181 2004-02-02  Benjamin Kosnik  <bkoz@redhat.com>
182
183         * docs/html/19_diagnostics/howto.html: Move verbose terminate
184         documentation...
185         * docs/html/18_support/howto.html: Here.
186         * docs/html/documentation.html: Add reference here.
187
188 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
189
190         * config/locale/gnu/c++locale_internal.h: Remove prototypes
191         of no longer used GLIBC thread locale functions.
192
193 2004-02-02  Eric Christopher  <echristo@redhat.com>
194             Zack Weinberg  <zack@codesourcery.com>
195
196         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
197         -finput-charset.
198         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
199         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
200         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
201         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
202         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
203         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
204         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
205         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
206         Ditto.
207
208 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
209
210         * include/bits/stl_function.h: Additional minor tweaks.
211         * include/bits/stl_multiset.h: Likewise.
212
213         * include/bits/stl_queue.h: Minor tweaks.
214
215 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
216
217         PR libstdc++/13976 (continued)
218         * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
219         Make the second parameter unnamed, to void unused parameter
220         warnings.
221         * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
222
223 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
224
225         PR libstdc++/13976
226         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
227         Make the second parameter unnamed, to void unused parameter
228         warnings.
229         * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
230         * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
231
232 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
233
234         * include/bits/stl_algo.h: Additional minor tweaks.
235         * include/bits/stl_map.h: Likewise.
236         * include/bits/stl_multimap.h: Likewise.
237         * include/bits/stl_multiset.h: Likewise.
238         * include/bits/stl_set.h: Likewise.
239         * include/bits/stl_tree.h: Likewise.
240
241 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
242
243         * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
244         Remove, unused.
245
246 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
247
248         * include/bits/stl_function.h: Additional minor tweaks.
249
250 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
251
252         * include/bits/deque.tcc: Wrap overlong lines, constify
253         a few variables, reformat according to the coding standards.
254         * include/bits/list.tcc: Likewise.
255         * include/bits/stl_deque.h: Likewise.
256         * include/bits/stl_function.h: Likewise.
257         * include/bits/stl_iterator.h: Likewise.
258         * include/bits/stl_iterator_base_funcs.h: Likewise.
259         * include/bits/stl_iterator_base_types.h: Likewise.
260         * include/bits/stl_list.h: Likewise.
261         * include/bits/stl_map.h: Likewise.
262         * include/bits/stl_multimap.h: Likewise.
263         * include/bits/stl_multiset.h: Likewise.
264         * include/bits/stl_relops.h: Likewise.
265         * include/bits/stl_set.h: Likewise.
266
267 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
268
269         * include/bits/stl_bvector.h: Wrap overlong lines, constify
270         a few variables, reformat according to the coding standards.
271         * include/bits/stl_tree.h: Likewise.
272
273 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
274
275         * include/bits/stl_algo.h: Minor additional reformat, add
276         copyright year.
277         * include/bits/stl_algobase.h: Add copyright year.
278
279 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
280
281         * include/bits/stl_algo.h: Wrap overlong lines, constify
282         a few variables, reformat according to the coding standards.
283         * include/bits/stl_algobase.h: Likewise.
284         * include/bits/stl_heap.h: Likewise.
285
286 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
287
288         * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
289
290         * include/bits/basic_string.h: Fix two comments.
291
292 2004-01-31  Per Bothner  <per@bothner.com>
293
294         * include/ext/mt_allocator.h
295         (__mt_alloc::_S_thread_freelist_mutex): Guard with
296         __GTHREAD_MUTEX_INIT.
297
298 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
299
300         * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
301
302 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
303
304         * testsuite/21_strings/basic_string/cons/char/6.cc: New.
305         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
306         * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
307
308 2004-01-30  Felix Yen  <fwy@alumni.brown.edu>
309
310         * testsuite/performance/20_util/allocator_thread.cc (do_loop):
311         Don't use clear, but instead assign. Use insert.
312
313 2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>
314
315         * src/demangle.cc: Add instantiations.
316         * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
317         * src/Makefile.in: Regenerate.
318
319 2004-01-30  David Edelsohn  <edelsohn@gnu.org>
320
321         * src/allocator.cc: Protect _S_get_thread_id() and
322         _S_thread_key_destr() with #ifdef __GTHREADS.
323
324 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
325
326         Reshuffle performance testsuite.
327         * testsuite/performance/allocator.cc, allocator_map_thread.cc,
328         allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
329         cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
330         fstream_seek_write.cc, ifstream_extract_float.cc,
331         ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
332         list_create_fill_sort.cc, map_create_fill.cc,
333         narrow_widen_char.cc, narrow_widen_wchar_t.cc,
334         ofstream_insert_float.cc, ofstream_insert_int.cc,
335         string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
336         wchar_t_out.cc: Split into...
337         * testsuite/performance/20_util/allocator.cc: New.
338         * testsuite/performance/20_util/allocator_map_thread.cc: New.
339         * testsuite/performance/20_util/allocator_thread.cc: New.
340         * testsuite/performance/21_strings/string_append: New.
341         * testsuite/performance/22_locale/is_wchar_t.cc: New.
342         * testsuite/performance/22_locale/narrow_widen_char.cc: New.
343         * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
344         * testsuite/performance/22_locale/wchar_t_in.cc: New.
345         * testsuite/performance/22_locale/wchar_t_length.cc: New.
346         * testsuite/performance/22_locale/wchar_t_out.cc: New.
347         * testsuite/performance/23_containers/container_benchmark.cc: New.
348         * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
349         * testsuite/performance/23_containers/map_create_fill.cc: New.
350         * testsuite/performance/26_numerics/complex_norm.cc: New.
351         * testsuite/performance/27_io/cout_insert_int.cc: New.
352         * testsuite/performance/27_io/filebuf_copy.cc: New.
353         * testsuite/performance/27_io/filebuf_sputc.cc: New.
354         * testsuite/performance/27_io/fstream_seek_write.cc: New.
355         * testsuite/performance/27_io/ifstream_extract_float.cc: New.
356         * testsuite/performance/27_io/ifstream_extract_int.cc: New.
357         * testsuite/performance/27_io/ifstream_getline.cc: New.
358         * testsuite/performance/27_io/ofstream_insert_float.cc: New.
359         * testsuite/performance/27_io/ofstream_insert_int.cc: New.
360
361 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
362
363         * include/bits/basic_string.tcc (_Rep::_S_create):
364         Never allocate a string bigger than max_size(); always keep
365         __capacity and __size in sync to avoid memory leaks at
366         deallocation time.
367
368 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
369
370         * include/bits/basic_string.tcc (_S_construct(_InIterator,
371         _InIterator, const _Alloc&, input_iterator_tag)): Simplify
372         the double loop, streamline.
373
374         * include/bits/basic_string.tcc: Very minor tweaks.
375
376 2004-01-30  Loren J. Rittle  <ljrittle@acm.org>
377
378         * scripts/check_performance: Only compile with $THREAD_FLAG
379         when test is marked to require it.  Allow multiple
380         compilations/executions of marked tests.
381         * testsuite/testsuite_performance.h (report_performance):
382         Report dynamic thread support status.
383         (report_header): Likewise.
384         * testsuite/performance/allocator.cc: Stabilize iteration
385         count.  Support more allocators.  Mark each allocator test to
386         run and report independently.
387         * testsuite/performance/allocator_map_thread.cc: Likewise.
388         * testsuite/performance/allocator_thread.cc: Likewise.
389
390 2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>
391
392         * config/local/generic/c_locale.h: Change ::malloc() to new char[].
393         * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
394         * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
395         std::get_temporary_buffer() instead of duplicating its code.
396         Update to C++STYLE conventions.
397         * include/std/std_memory.h (get_temporary_buffer): Use ::operator
398         new() instead of std::malloc().
399         (return_temporary_buffer): Use ::operator delete() instead of
400         std::free().
401
402 2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>
403
404         * include/bits/allocator.h: Temporary switch to new_allocator as
405         the default to unjam bootstraps.
406
407 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
408
409         * include/Makefile.am (bits_headers): Remove allocator_traits.h.
410         * include/Makefile.in: Regenerate.
411         * include/bits/allocator_traits.h: Remove.
412         * include/bits/allocator.h: Remove allocator_traits.h include, and
413         relevant comments.
414         (allocator): Empty base class, inherit from the underlying allocator.
415         * src/allocator-inst.cc: Move __pool_alloc instantiation to...
416         * src/allocator.cc: ...here. New. For the underlying allocators.
417         Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
418         * config/linker-map.gnu: Remove __pool_alloc bits.
419         * src/Makefile.am (sources): Add allocator.cc.
420         * src/Makefile.in: Regenerate.
421         * testsuite/20_util/allocator/1.cc: Split second test into...
422         * testsuite/20_util/allocator/8230.cc: ...this.
423         * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
424         typedef to use std::allocatore. Format.
425         * include/ext/pool_allocator.h: Remove allocator_traits.h include,
426         _Alloc_traits.
427         * include/ext/mt_allocator.h (__gnu_cxx): Qualify
428         __throw_bad_alloc calls. Don't include <memory>.
429         * include/ext/malloc_allocator.h: Remove <memory> include.
430         * include/ext/new_allocator.h (new_allocator): Same.
431         * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
432         declaration. Switch __alloc to _Alloc.
433         * include/ext/hashtable.h: Remove __alloc.
434         * include/backward/alloc.h: Only inject allocator, not
435         implementation details.
436
437         * include/ext/mt_allocator.h: Replace free with delete.
438
439 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
440
441         * src/globals_io.cc: Change to __gnu_internal namespace.
442         * src/globals_locale.cc: Same.
443         * src/locale_init.cc: Same.
444         * src/ios_init.cc: Same.
445
446 2004-01-28  Stefan Olsson  <stefan@snon.net>
447
448         * include/ext/mt_allocator.h: Replaced all malloc() calls with
449         operator new(). Added support for the env variable
450         GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
451         one in allocate() as well). Fix typos.
452
453 2004-01-28  Paolo Carlini  <pcarlini@suse.de>
454
455         * include/bits/basic_string.h (_S_create(size_t,
456         const _Alloc&): Change signature to take two size_type
457         arguments.
458         * include/bits/basic_string.tcc (_S_construct(_InIterator,
459         _InIterator, const _Alloc&, input_iterator_tag)): Update
460         call, tweak a bit.
461         (_S_construct(_InIterator, _InIterator, const _Alloc&,
462         forward_iterator_tag)): Likewise.
463         (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
464         (_M_mutate(size_type, size_type, size_type)): Don't
465         implement the exponential growth policy, demand it to
466         _S_create, update call and simplify.
467         (_M_clone(const _Alloc&, size_type)): Likewise.
468         (_S_create(size_type, size_type, const _Alloc&)): Implement
469         the growth policy, simplify otherwise.
470
471         * include/bits/basic_string.h (_Rep::operator[]): Tweak
472         signature to take a size_type, consistently with the other
473         members.
474
475 2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>
476
477         * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
478         delete declarations, add include and test variable.
479
480 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
481
482         * include/bits/codecvt.h, include/bits/locale_facets.h,
483         include/bits/postypes.h, include/bits/stl_bvector.h,
484         include/bits/stl_multiset.h, include/bits/stl_set.h,
485         include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
486         include/std/std_complex.h:  Document.
487
488 2004-01-27  Jerry Quinn  <jlquinn@optonline.net>
489
490         PR libstdc++/11584
491         * include/bits/ios_base.h (ios_base::_M_grow_words):  Add
492         iword/pword selector.
493         (ios_base::iword, ios_base::pword):  Use it.
494         * src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
495         iword or pword member on alloc failure.
496         * testsuite/27_io/ios_base/storage/11584.cc:  New test.
497
498 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
499             PJ Darcy  <darcypj@us.ibm.com>
500
501         * configure.host: Add support for *-tpf.
502         * crossconfig.m4: Likewise.
503         * configure: Regenerate.
504         * config/os/tpf: New directory.
505         * config/os/tpf/os_defines.h: New file.
506         * config/os/tpf/ctype_base.h: Likewise.
507         * config/os/tpf/ctype_inline.h: Likewise.
508         * config/os/tpf/ctype_noninline.h: Likewise.
509
510 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
511
512         PR libstdc++/13884
513         * include/bits/sstream.tcc: Guard use of extern template.
514
515 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
516
517         * include/bits/basic_string.tcc
518         (basic_string(const basic_string&, size_type, size_type),
519         basic_string(const basic_string&, size_type, size_type,
520         const _Alloc&)): Avoid unnecessarily constructing iterators.
521
522 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
523
524         * config/locale/generic/c_locale.cc: Fix throw messages
525         to use the __N marker.
526         * config/locale/gnu/c_locale.cc: Likewise.
527         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
528         Likewise.
529         * docs/html/17_intro/C++STYLE: Likewise.
530         * include/bits/basic_ios.tcc: Likewise.
531         * include/bits/fstream.tcc: Likewise.
532         * include/bits/vector.tcc: Likewise.
533         * include/ext/ropeimpl.h: Likewise.
534         * include/std/std_bitset.h: Likewise.
535         * src/ios.cc: Likewise.
536         * src/locale.cc: Likewise.
537         * src/localename.cc: Likewise.
538
539 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
540
541         * include/bits/basic_string.h (_M_replace_aux): Use the
542         __N marker in throw message.
543         * include/bits/basic_string.tcc (assign(const _CharT*,
544         size_type), insert(size_type, const _CharT*, size_type),
545         replace(size_type, size_type, const _CharT*, size_type),
546         reserve, _Rep::_S_create, resize, _M_replace_dispatch):
547         Likewise.
548
549         * include/bits/basic_string.h, include/bits/basic_string.tcc:
550         Fold overlong lines, minor formatting changes.
551
552 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
553
554         * include/bits/basic_string.h (replace(iterator, iterator,
555         const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
556         (replace(iterator, iterator, const _CharT*)): Ditto.
557         (replace(iterator, iterator, const _CharT*, size_type)):
558         Add missing _GLIBCXX_DEBUG_PEDASSERT.
559
560 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
561
562         * include/bits/basic_string.tcc (replace(size_type,
563         size_type, const _CharT*, size_type)): Implement optimized
564         in-place algorithm for non-overlapping ranges.
565         * testsuite/21_strings/basic_string/replace/char/6.cc: New.
566         * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
567
568         * include/bits/basic_string.tcc (insert(size_type,
569         const _CharT*, size_type)): Tweak slightly.
570
571 2004-01-26  Andreas Schwab  <schwab@suse.de>
572
573         * config/locale/gnu/monetary_members.cc: Restore locale before
574         rethrowing exception.
575
576 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
577
578         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
579         Define inline here.
580         * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
581         Move inline.
582
583         * include/bits/basic_string.tcc: Very minor tweaks.
584
585 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
586
587         * testsuite/performance/string_append.cc: Increase number
588         of iterations.
589
590 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
591
592         * include/bits/basic_string.h (erase(size_type, size_type),
593         erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
594         instead, thus avoiding redundant check for length_error.
595
596         * include/bits/basic_string.h: Tweak some comments.
597
598 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
599
600         * include/bits/basic_string.tcc (operator+(const _CharT*,
601         const basic_string&)): No need to go through the append
602         taking two iterators.
603
604 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
605
606         * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
607         Revert last change to use std::min: machine language is worse.
608         (find_last_of(const _CharT*, size_type, size_type)): Ditto.
609         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
610         (find_last_not_of(_CharT, size_type)): Ditto.
611
612         * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
613         size_type)): Discard the value returned by _M_check.
614         (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
615         (append(const basic_string&, size_type, size_type)): Ditto.
616         (copy(_CharT*, size_type, size_type)): Ditto.
617         (compare(size_type, size_type, const basic_string&)): Ditto.
618         (compare(size_type, size_type, const basic_string&,
619         size_type, size_type)): Ditto.
620         (compare(size_type, size_type, const _CharT*)): Ditto.
621         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
622
623 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
624
625         * include/bits/basic_string.h (insert(size_type,
626         const basic_string&, size_type, size_type)): Define inline here.
627         * include/bits/basic_string.tcc (insert(size_type,
628         const basic_string&, size_type, size_type)): Move inline.
629
630 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
631
632         * include/bits/basic_string.h (assign(const basic_string&,
633         size_type, size_type)): Define inline here.
634         (replace(size_type, size_type, const basic_string&,
635         size_type, size_type)): Ditto.
636         (_M_replace_dispatch(iterator, iterator, _InputIterator,
637         _InputIterator, __false_type)): Only declare.
638         (_M_replace(iterator, iterator, _InputIterator,
639         _InputIterator)): Remove.
640         * include/bits/basic_string.tcc (assign(const basic_string&,
641         size_type, size_type)): Move inline.
642         (replace(size_type, size_type, const basic_string&,
643         size_type, size_type)): Ditto.
644         (_M_replace_dispatch(iterator, iterator, _InputIterator,
645         _InputIterator, __false_type)): Define, now does also what
646         _M_replace did before.
647         * src/string-inst.cc (_M_replace): Don't instantiate.
648
649         * include/bits/basic_string.tcc (find(const _CharT*,
650         size_type, size_type)): Tidy.
651         (rfind(_CharT, size_type)): Ditto.
652         (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
653         (find_first_not_of(_CharT, size_type)): Ditto.
654         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
655         (find_last_not_of(_CharT, size_type)): Ditto.
656
657 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
658
659         PR libstdc++/13838
660         * include/debug/bitset (operator|=): Fix typo.
661         * testsuite/23_containers/bitset/operations/13838.cc: New.
662
663 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
664
665         * include/bits/basic_string.tcc (insert(size_type,
666         const _CharT*, size_type __n)): Fix length_error check.
667         (replace(size_type, size_type, const _CharT*, size_type):
668         Ditto; call _M_replace_safe.
669         (_M_replace_aux(size_type, size_type, size_type, _CharT):
670         Fix length_error check.
671         (_M_replace(iterator, iterator, _InputIterator,
672         _InputIterator)): Ditto, tweak.
673         (_M_replace_safe(size_type, size_type, const _CharT*,
674         size_type)): Remove length_error check.
675
676         * include/bits/basic_string.tcc (append(const basic_string&),
677         append(const basic_string&, size_type, size_type)): Tweak
678         comment.
679
680         * include/bits/basic_string.tcc (copy(_CharT*, size_type,
681         size_type)): If __n == 0 don't call traits::copy.
682
683 2004-01-23  Stefan Olsson  <stefan@snon.net>
684
685         * include/ext/mt_allocator.h: Reduce lock contention.
686
687 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
688
689         PR libstdc++/13831
690         * include/bits/fstream.tcc (underflow): Remove unused
691         variable.
692         * include/bits/streambuf_iterator.h (equal): Ditto.
693         * include/bits/locale_facets.h (_M_convert_from_char):
694         Ditto.
695
696 2004-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
697
698         PR c/13814
699         * config/linker-map.gnu (nan): Delete.
700         * libmath/mathconf.h (NAN, nan): Delete.
701         * linkage.m4 (nan): Don't check for it.
702         * libmath/nan.c: Delete file.
703
704         * config.h.in, configure: Regenerate.
705
706 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
707
708         * include/bits/basic_string.h (push_back(_CharT)):
709         Call _M_replace_aux.
710         (insert(size_type, const basic_string&)): Trivial tweak.
711         (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
712         (insert(iterator, _CharT)): Ditto.
713         (erase(size_type, size_type)): Ditto.
714         (erase(iterator)): Ditto.
715         (erase(iterator, iterator)): Ditto.
716         (replace(size_type, size_type, size_type, _CharT)): Ditto.
717
718 2004-01-23  Loren J. Rittle  <ljrittle@acm.org>
719
720         libstdc++/13823
721         * testsuite/performance/allocator_map_thread.cc: New test.
722
723 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
724
725         * include/bits/locale_facets.tcc
726         (money_put::do_put(..., long double)): Use the basic_string
727         constructor for char arrays, not that for C-strings, to pass
728         __digits to do_put(..., const string_type&): __ws isn't
729         null-terminated.
730
731 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
732
733         * include/bits/basic_string.h (_M_replace_safe): Change
734         signatures to take size_types and const _CharT*.
735         (_M_replace_aux): Likewise, takes size_types instead of
736         iterators.
737         (append(size_type, _CharT)): Update call.
738         (assign(size_type, _CharT)): Ditto.
739         (replace(iterator, iterator, size_type, _CharT)): Ditto.
740         (_M_replace_dispatch(iterator, iterator, _Integer,
741         _Integer, __true_type)): Ditto.
742         * include/bits/basic_string.tcc (assign(const _CharT*,
743         size_type)): Ditto.
744         (insert(size_type, const _CharT*, size_type)): Ditto.
745         (replace(size_type, size_type, const _CharT*,
746         size_type)): Ditto.
747         (_M_replace(iterator, iterator, _InputIterator,
748         _InputIterator)): Ditto.
749         (append(const basic_string&)): Ditto.
750         (append(const basic_string&, size_type, size_type): Ditto.
751         (append(const _CharT*, size_type): Ditto.
752         (_M_replace_safe, _M_replace_safe): Change definitions
753         accordingly, simplify.
754         * string-inst.cc (_M_replace_safe): Don't instantiate.
755
756 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
757
758         * include/bits/basic_string.tcc (append(const basic_string&)):
759         Revert previous change.
760         (append(const basic_string&, size_type, size_type)): Revert
761         previous change, use _M_check and _M_limit.
762
763 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
764
765         * include/bits/basic_string.h (_M_check): Change to return
766         a checked __pos and take an additional const char* argument.
767         (_M_fold): Rename to _M_limit, change to return a size_type,
768         corresponding to the __off limited to the actual length.
769         (insert(size_type, size_type, _CharT)): Update call, call
770         replace.
771         (insert(iterator, _CharT)): Call replace(iterator, iterator,
772         size_type, _CharT) instead.
773         (erase(size_type, size_type)): Update calls.
774         (replace(size_type, size_type, size_type, _CharT)): Ditto.
775         (substr(size_type, size_type)): Use _M_check.
776         * include/bits/basic_string.tcc (basic_string(const basic_string&,
777         size_type, size_type)): Update calls.
778         (basic_string(const basic_string&, size_type, size_type,
779         const _Alloc&)): Ditto.
780         (assign(const basic_string&, size_type, size_type)): Use the
781         new _M_check and _M_limit.
782         (insert(size_type, const basic_string&, size_type, size_type):
783         Ditto.
784         (insert(size_type, const _CharT*, size_type)): Ditto.
785         (replace(size_type, size_type, const _CharT*, size_type): Ditto.
786         (replace(size_type, size_type, const basic_string&,
787         size_type, size_type)): Ditto.
788         (append(const basic_string&)): Ditto.
789         (append(const basic_string&, size_type, size_type)): Ditto.
790         (copy(_CharT*, size_type, size_type)): Ditto.
791         (compare(size_type, size_type, const basic_string&)): Ditto.
792         (compare(size_type, size_type, const basic_string&,size_type,
793         size_type)): Ditto.
794         (compare(size_type, size_type, const _CharT*)): Ditto.
795         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
796
797 2004-01-19  Stefan Olsson  <stefan@snon.net>
798
799         * include/ext/mt_allocator.h: If a thread, when it dies, still has
800         memory on it's freelist this memory is not returned to global
801         list. Simplification of deallocate so that memory is always
802         returned to the calling thread id's freelist instead of to
803         global. Fix typos. Add volatile where appropriate.
804
805 2004-01-19  Loren J. Rittle  <ljrittle@acm.org>
806
807         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
808         * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test.  Like -2 but
809         use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
810
811 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
812
813         * src/debug.cc: Make sure all the names are prefixed with
814         double (or single) underscore.
815
816 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
817
818         * src/debug.cc: Trivial formatting change.
819
820 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
821
822         * include/bits/basic_string.tcc (_S_construct(size_type,
823         _CharT, const _Alloc&)): Remove redundant try/catch.
824         (_M_mutate(size_type, size_type, size_type)): Ditto.
825         (_M_clone(const _Alloc&, size_type)): Ditto.
826
827 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
828
829         * include/bits/basic_string.h (c_str()): Simplify, due to
830         21.3.4 the internal representation is always kept null-terminated.
831         * include/bits/basic_string.tcc (_M_clone): Null-terminate.
832         * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
833         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
834         Ditto.
835
836 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
837
838         * include/bits/basic_string.h (append(size_type, _CharT)):
839         Moved inline, just call _M_replace_aux, no source iterators at
840         risk of being clobbered.
841         (assign(size_type, _CharT)): Call directly _M_replace_aux.
842         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
843         input_iterator_tag)): Remove fifth unused argument.
844         (_M_replace_dispatch(iterator, iterator, _InputIterator,
845         _InputIterator, __false_type)): Update call.
846         * include/bits/basic_string.tcc (replace(size_type, size_type,
847         const _CharT*, size_type)): Update call.
848         (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
849         throw string literal.
850         (_M_replace_safe(iterator, iterator, _ForwardIterator,
851         _ForwardIterator)): Likewise.
852         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
853         input_iterator_tag)): Remove fifth unused argument.
854         (append(size_type __n, _CharT __c)): Move inline.
855         * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
856         const C*, const C*, input_iterator_tag)): Remove fifth unused
857         argument.
858
859 2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>
860
861         * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
862         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
863
864 2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
865
866         * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
867         mkfifo for mingw32.
868
869 2004-01-15  Stefan Olsson  <stefan@snon.net>
870
871         * include/ext/mt_allocator.h: Reuse thread id's as soon as
872         possible by changing the behaviour of thread_freelist to do
873         push_front when threads die instead of push_back.
874
875 2004-01-14  Paolo Carlini  <pcarlini@suse.de>
876
877         * include/bits/locale_facets.h (struct __numpunct_cache):
878         Add member _M_grouping_size, caching the length of _M_grouping.
879         (__numpunct_cache<>::_M_cache): Assign the latter.
880         (__verify_grouping): Move declaration...
881         * include/bits/locale_facets.tcc (__verify_grouping):
882         ... here, change signature to take a const char* and a size_t
883         for the grouping; not a template anymore.
884         (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
885         Likewise change signature and tweak consistently.
886         (num_get::_M_extract_float, num_get::_M_extract_int,
887         num_put::_M_insert_int, num_put::_M_insert_float,
888         money_get::do_get(string_type&), money_get::do_put(string_type)):
889         Update callers.
890         * config/locale/generic/numeric_members.cc
891         (numpunct<>::_M_initialize_numpunct): Assign the new member.
892         * config/locale/gnu/numeric_members.cc
893         (numpunct<>::_M_initialize_numpunct): Likewise.
894         * src/locale-inst.cc (__add_grouping): Tweak signature.
895         (__verify_grouping): Don't instantiate, not a template anymore.
896
897         * include/bits/locale_facets.h: Rename _M_truename_len ->
898         _M_truename_size, _M_falsename_len -> _M_falsename_size.
899         * include/bits/locale_facets.tcc: Likewise.
900         * config/locale/generic/numeric_members.cc: Likewise.
901         * config/locale/gnu/numeric_members.cc: Likewise.
902
903 2004-01-14  Stefan Olsson  <stefan@snon.net>
904
905         * include/ext/mt_allocator.h: Fixups.
906         * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
907         * testsuite/performance/allocator_thread.cc: Same.
908
909 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
910
911         * testsuite/performance/ifstream_extract_float.cc: Add higher
912         precision tests.
913         * testsuite/performance/ofstream_insert_float.cc: Same.
914
915 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
916
917         * src/locale-misc-inst.cc (__convert_from_v(long),
918         __convert_from_v(unsigned long), __convert_from_v(long long),
919         __convert_from_v(unsigned long long)): Remove, unused.
920
921 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
922
923         * testsuite/performance/ifstream_extract_float.cc: New.
924         * testsuite/performance/ofstream_insert_float.cc: Float generation
925         matches above.
926
927         * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
928         * 20_util/auto_ptr/1.cc: ...this.
929         * 20_util/auto_ptr/2.cc: Same.
930         * 20_util/auto_ptr/3.cc: Same.
931         * 20_util/auto_ptr/3946.cc: Same.
932         * 20_util/auto_ptr/4.cc: Same.
933         * 20_util/auto_ptr/5.cc: Same.
934         * 20_util/auto_ptr/6.cc: Same.
935         * 20_util/auto_ptr/7.cc: Same.
936         * 20_util/auto_ptr/assign_neg.cc
937         * 20_util/pairs.cc: Break into...
938         * 20_util/pair/1.cc: ...this.
939         * 20_util/pair/2.cc: Same.
940         * 20_util/pair/3.cc: Same.
941         * 20_util/pair/4.cc: Same.
942
943 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
944
945         * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
946         Set correctly just basefield, the only group that matters.
947
948 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
949
950         * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
951         (_Rope_rep_base): Inherit directly from the rope allocator;
952         use rebinding instead of _Alloc_traits; pick up data member
953         from _Rope_rep_alloc_base.
954         (_Rope_alloc_base): Eliminate.
955         (_Rope_base): Inherit directly from the rope allocator; use
956         rebinding instead of _Alloc_traits; pick up data member from
957         _Rope_alloc_base.
958         (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
959         rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
960
961 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
962
963         PR libstdc++/13650
964         * include/bits/basic_string.tcc (compare(size_type, size_type,
965         const _CharT*, size_type)): Implement correctly the resolution
966         of DR 5: basically, s is a char array, -not- a C string.
967         * include/bits/basic_string.h: Tweak some comments.
968         * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
969         * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
970
971 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
972
973         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
974         Solaris.
975
976 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
977
978         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
979         Use try_mkfifo.
980         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
981         Likewise.
982
983 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
984
985         * include/bits/locale_facets.h (struct __numpunct_cache):
986         Add members _M_truename_len and _M_falsename_len, caching
987         the lengths of _M_truename and _M_falsename.
988         (__numpunct_cache<>::_M_cache): Assign the latter.
989         * include/bits/locale_facets.tcc (num_get::do_get(bool&),
990         num_put::do_put(bool)): Use the new members, thus avoiding
991         computing string lengths again and again.
992         * config/locale/generic/numeric_members.cc
993         (numpunct<>::_M_initialize_numpunct): Assign the new members.
994         * config/locale/gnu/numeric_members.cc
995         (numpunct<>::_M_initialize_numpunct): Likewise.
996
997 2004-01-12  Mark Mitchell  <mark@codesourcery.com>
998
999         * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
1000         * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
1001         it.
1002         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
1003         and remove Cygwin XFAIL.
1004         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
1005         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
1006         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
1007         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
1008         Likewise.
1009         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1010         * testsuite/27_io/objects/char/7.cc: Likewise.
1011         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
1012         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
1013         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
1014
1015 2004-01-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1016
1017         * include/std/std_complex.h (std::complex<>::real): Return a
1018         reference. Add non-const overload.
1019         (std::complex<>::real): Likewise.
1020         (std::real): Likewise.
1021         (std::imag): Likewise.
1022         (std::operator+): Tidy.
1023         (std::operator-): Likewise.
1024         (std::operator*): Likewise.
1025         (std::operator/): Likewise.
1026         (std::operator>>): Likewise.
1027
1028 2004-01-11  Paolo Carlini  <pcarlini@suse.de>
1029
1030         PR libstdc++/13582
1031         * include/bits/fstream.tcc (imbue): Exploit the external
1032         buffer to imbue 'on the fly' a new locale and convert its
1033         remainder with the new codecvt facet.
1034         (underflow): Tweak slightly to deal with this special case.
1035         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
1036         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
1037         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
1038         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
1039         * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
1040
1041 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
1042
1043         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1044         Import Revision 28.
1045
1046 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
1047
1048         PR libstdc++/13630
1049         * include/bits/locale_classes.h (class locale): Fix category
1050         typedef.
1051         * testsuite/22_locale/locale/13630.cc: Add.
1052
1053 2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
1054
1055         * include/bits/locale_facets.h: Make a name really dependent. This
1056         will be needed when Core Issue 224 is implemented.
1057
1058 2004-01-09  Paolo Carlini  <pcarlini@suse.de>
1059
1060         * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
1061         * testsuite/performance/allocator_thread.cc: Likewise.
1062
1063 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
1064
1065         * crossconfig.m4: Add LFS, io bits to linux cross config.
1066         * acconfig.h: Remove obsolete bits, reorder.
1067         * config.h.in: Regenerate.
1068         * aclocal.m4: Same.
1069         * configure: Same.
1070
1071 2004-01-07  Gawain Bolton  <gp.bolton@computer.org>
1072
1073         * include/bits/stl_list.h:
1074         * include/bits/list.tc:
1075         * src/list.cc:
1076         Performance enhancements for destructor, push_front(),
1077         push_back(), pop_front(), pop_back(), sort()
1078         Eliminated static_casts where possible.
1079         Moved code out of header files into new src/list.cc
1080         implementation file for library where possible.
1081         Remove inheritance from iterator class and create separate
1082         classes for non-constant and constant iterators.
1083         * include/bits/stl_tree.h (_Rb_tree class):
1084         * src/tree.cc:
1085         Only erase contents in destructor.
1086         Eliminate unnecessary initialization in assignment operator.
1087         Optimize for the nominal case by not checking whether
1088         container is empty in clear().
1089         Re-order test in _M_insert() to improve performance.
1090         Move initialization of new node's left & right pointers to
1091         src/tree.cc to where new node's colour is initialized
1092         and to reduce the amount of inline code.
1093         Use  _M_leftmost() and _M_end() to improve readability where
1094         appropriate.
1095         Create separate classes for non-constant and constant
1096         iterators to clarify code, avoid extra template parameters and
1097         casting away constness.
1098
1099 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
1100
1101         * src/Makefile.am (sources): Add list.cc, tree.cc.
1102         * src/stl_tree.cc: Move to...
1103         * src/tree.cc: ...here.
1104         * src/list.cc: Add.
1105         * config/linker-map.gnu: Tweaks.
1106         * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
1107         * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
1108
1109         * bits/stl_vector.h: Column wrap comments.
1110
1111 2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
1112
1113         (re-open) PR libstdc++/12658
1114         * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
1115         (locale::global): Likewise.
1116
1117 2004-01-07  Paolo Carlini  <pcarlini@suse.de>
1118
1119         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
1120         Remove redundant #include.
1121         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
1122         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
1123         re-enable normal testing.
1124         * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
1125         #include.
1126         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
1127         * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
1128         Likewise.
1129         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
1130         Likewise.
1131         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
1132         Likewise.
1133         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
1134         Likewise.
1135         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
1136         Likewise.
1137         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
1138         Likewise.
1139         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
1140         Likewise.
1141         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
1142         More properly, #include <locale>.
1143         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
1144         Remove redundant #include.
1145         * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
1146         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
1147         redundant DejaGnu directive.
1148         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
1149         redundant #include.
1150
1151 2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
1152             Stefan Olsson  <stefan@snon.net>
1153
1154         * scripts/check_performance: Use -pthread.
1155         * testsuite/performance/allocator.cc: Tweaks, add list.
1156         * testsuite/performance/allocator_thread.cc: New.
1157
1158 2004-01-06  Jerry Quinn  <jlquinn@optonline.net>
1159
1160         * include/bits/locale_facets.h: Document public classes and
1161         functions.
1162         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1163         Add comment.
1164
1165 2004-01-06  Paolo Carlini  <pcarlini@suse.de>
1166
1167         * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1168         Remove redundant #includes.
1169         * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1170         Likewise.
1171         * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1172         Likewise.
1173         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1174         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1175         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1176         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1177         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1178         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1179         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1180         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1181         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1182         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1183         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1184         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1185         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1186         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1187         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1188         Likewise.
1189         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1190         Likewise.
1191         * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1192         Likewise.
1193         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1194         Likewise.
1195         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1196         Likewise.
1197         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1198         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1199         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1200
1201 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
1202
1203         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1204         Remove redundant #includes.
1205         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1206         Likewise.
1207         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1208         Likewise.
1209         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1210         Likewise.
1211         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1212         Likewise.
1213         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1214         Likewise.
1215         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1216         Likewise.
1217         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1218         Likewise.
1219         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1220         Likewise.
1221         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1222         Likewise.
1223         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1224         Likewise.
1225         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1226         Likewise.
1227         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1228         Likewise.
1229
1230 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
1231
1232         PR c++/12226
1233         * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
1234         constructor.
1235         * testsuite/27_io/basic_fstream/4.cc: Likewise.
1236         * testsuite/27_io/basic_ifstream/4.cc: Likewise.
1237         * testsuite/27_io/basic_ios/4.cc: Likewise.
1238         * testsuite/27_io/basic_iostream/4.cc: Likewise.
1239         * testsuite/27_io/basic_istream/4.cc: Likewise.
1240         * testsuite/27_io/basic_istingstream/4.cc: Likewise.
1241         * testsuite/27_io/basic_ofstream/4.cc: Likewise.
1242         * testsuite/27_io/basic_ostream/4.cc: Likewise.
1243         * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
1244         * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
1245         * testsuite/27_io/basic_stringstream/4.cc: Likewise.
1246
1247 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
1248
1249         * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
1250         Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
1251         always use double underscored names.
1252         * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
1253         Likewise.
1254         * include/bits/locale_facets.h (struct __numpunct_cache):
1255         Dimension _M_atoms_out and _M_atoms_in one position smaller.
1256         (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
1257         and _M_atoms_in.