OSDN Git Service

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