OSDN Git Service

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