OSDN Git Service

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