OSDN Git Service

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