OSDN Git Service

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