OSDN Git Service

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