OSDN Git Service

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