OSDN Git Service

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