OSDN Git Service

2004-08-20 Matthias Klose <doko@debian.org>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-08-20  Matthias Klose  <doko@debian.org>
2
3         * config/abi/s390-linux-gnu/baseline_symbols.txt: New.
4
5 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
6
7         * include/c_std/cmath.tcc (__cmath_power): Suppress assignment
8         used as truth value warning.
9
10 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
11
12         * config/abi/x86_64-linux-gnu/32/baseline_symbols.txt: Add 32 bit
13         baseline.
14
15 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
16
17         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Fix it.
18
19 2004-08-19  Benjamin Kosnik  <bkoz@redhat.com>
20
21         * testsuite/22_locale/time_put/put/char/3.cc (test03): Don't check
22         timezone.
23         * testsuite/22_locale/time_put/put/wchar_t/3.cc (test03): Same.
24
25 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
26
27         * testsuite/performance/20_util/allocator/insert.cc: For std::map
28         instantiate the allocator for a correct pair type.
29         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
30         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
31         * testsuite/performance/20_util/allocator/producer_consumer.cc:
32         Likewise.
33
34         * testsuite/performance/20_util/allocator/list_sort_search.cc: Very
35         minor formatting fixes.
36         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
37
38 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
39
40         * testsuite/22_locale/time_put/put/char/1.cc: Add VERIFY on the
41         results.
42         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
43         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
44         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
45         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
46         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
47         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
48         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
49  
50 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
51
52         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
53
54 2004-08-18  Matthias Klose  <doko@debian.org>
55
56         * config/abi/hppa-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
57         * config/abi/i386-linux-gnu/baseline_symbols.txt: New.
58         * config/abi/powerpc-linux-gnu/baseline_symbols.txt: New.
59
60 2004-08-17  Paolo Carlini  <pcarlini@suse.de>
61
62         * config/abi/alpha-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
63
64 2004-08-17  Paolo Carlini  <pcarlini@suse.de>
65
66         * config/abi/ia64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
67
68 2004-08-17  Benjamin Kosnik  <bkoz@redhat.com>
69
70         * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
71
72 2004-08-16  Paolo Carlini  <pcarlini@suse.de>
73
74         * include/bits/indirect_array.h: Trivial formatting fixes.
75         * include/bits/valarray_after.h: Likewise.
76         * include/bits/valarray_array.h: Likewise.
77         * src/valarray-inst.cc: Likewise.
78
79 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
80
81         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Remove junk.
82         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
83         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
84
85         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: New.
86         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
87         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
88         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
89         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
90
91 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
92
93         * include/bits/deque.tcc: Trivial formatting fixes.
94
95 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
96
97         * include/bits/deque.tcc: Trivial formatting fixes.
98
99         * include/bits/locale_facets.tcc (num_get<>::do_get(&bool)):
100         Remove unneded typedef.
101
102         * include/bits/locale_facets.tcc: Very minor tweaks.
103
104         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Use proper
105         type for the fill argument.
106         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
107         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
108         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
109         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
110         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
111         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
112         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
113         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
114
115 2004-08-13  Paolo Carlini  <pcarlini@suse.de>
116         
117         * src/debug.cc (_Error_formatter::_M_print_string): Fix thinko,
118         memmove is not needed, memcpy suffices.
119
120 2004-08-13  Paolo Carlini  <pcarlini@suse.de>
121
122         * include/std/std_fstream.h (class basic_ifstream,
123         class basic_ofstream, class basic_fstream): Add const overloads
124         of is_open, as per DR 365 [WP].
125         * docs/html/ext/howto.html: Add an entry for DR 365.
126
127 2004-08-12  Paolo Carlini  <pcarlini@suse.de>
128
129         * configure.ac: Specify version 1.8.5 in AM_INIT_AUTOMAKE.
130
131 2004-08-12  Paolo Carlini  <pcarlini@suse.de>
132
133         PR libstdc++/16956
134         * include/bits/sstream.tcc (basic_stringbuf<>::seekoff): Add __off
135         to the returned value, reorganize a bit.
136         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: New.
137         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: New.
138
139         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Remove junk.
140         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
141         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
142         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
143
144 2004-08-12  Paul Brook  <paul@codesourcery.com>
145
146         * config/cpu/arm/cxxabi_tweaks.h: Define __cxa_vec_ctor_return and
147         _GLIBCXX_CXA_VEC_CTOR_RETURN.
148         * config/cpu/generic/cxxabi_tweaks.h: Ditto.
149         * libsupc++/cxxabi.h (__cxa_vec_ctor, __cxa_vec_cctor): Use
150         __cxa_vec_ctor_return.
151         * libsupc++/vec.cc (__cxa_vec_ctor, __cxa_vec_cctor): Ditto.
152         Use _GLIBCXX_CXA_VEC_CTOR_RETURN.
153
154 2004-08-12  Kelley Cook  <kcook@gcc.gnu.org>
155
156         * Makefile.in, aclocal.m4, configure, include/Makefile.in,
157         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
158         src/Makefile.in, testsuite/Makefile.in: Regenerate
159
160 2004-08-12  Jan Beulich  <jbeulich@novell.com>
161
162         * config/locale/generic/ctype_members.cc
163         (ctype<wchar_t>::_M_convert_to_wmask): Default case must not use 0 as
164         initializer for return value, as that is invalid for enumerated types.
165         * config/locale/gnu/ctype_members.cc
166         (ctype<wchar_t>::_M_convert_to_wmask): Likewise.
167
168 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
169
170         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Fix typo.
171
172 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
173         
174         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Declare test
175         variable.
176         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Ditto.
177         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Remove junk.
178         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Ditto.
179         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Ditto.
180         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Ditto.
181         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Ditto.
182         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Ditto.
183         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Ditto.
184         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Ditto.
185         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Ditto.
186         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Ditto.
187         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Ditto.
188         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Ditto.
189         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Ditto.
190         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Ditto.
191         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Ditto.
192         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Ditto.
193         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Ditto.
194         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Ditto.
195         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Ditto.
196         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Ditto.
197
198 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
199             Petur Runolfsson  <peturr02@ru.is>
200
201         PR libstdc++/16959
202         * src/ios_init.cc (ios_base::sync_with_stdio): Make sure the
203         standard streams are constructed.
204         * testsuite/27_io/ios_base/sync_with_stdio/16959.cc: New.
205
206 2004-08-09  Paolo Carlini  <pcarlini@suse.de>
207
208         * include/bits/stl_bvector.h: Trivial formatting fixes.
209
210 2004-08-09  Paolo Carlini  <pcarlini@suse.de>
211
212         * src/ios.cc (ios_base::_M_grow_words): Uglify the names.
213
214 2004-08-07  Jonathan Wakely  <redi@gcc.gnu.org>
215             Paolo Carlini  <pcarlini@suse.de>
216         
217         * src/debug.cc (_Error_formatter::_M_print_string): In order
218         to print individual words from __string, _M_format_word can't
219         be called since may be just sprintf, thus ignoring completely
220         __n: instead, use memmove and append '\0' by hand.
221
222 2004-08-07  Paolo Carlini  <pcarlini@suse.de>
223
224         * config/locale/generic/c_locale.h (__convert_from_v): Don't
225         use a default for __prec, assume __prec >= 0 and simplify.
226         * config/locale/gnu/c_locale.h (__convert_from_v): Likewise.
227         * include/bits/locale_facets.tcc (money_put<>::do_put(long double)):
228         Pass format "%.*Lf" + precision == 0, equivalent to "%.0Lf".
229
230 2004-08-04  Phil Edwards  <phil@codesourcery.com>
231
232         * docs/html/configopts.html:  Emphasize that options change.
233         * docs/html/17_intro/configury.html:  Update links.
234
235 2004-08-03  Paolo Carlini  <pcarlini@suse.de>
236
237         * include/bits/list.tcc: Trivial formatting fixes.
238
239 2004-08-03  Mark Mitchell  <mark@codesourcery.com>
240
241         * libsupc++/new_op.cc: Update comments.
242         * libsupc++/del_op.cc: Likewise.
243
244 2004-08-02  Mark Mitchell  <mark@codesourcery.com>
245
246         * libsupc++/cxxabi.h: Make all declarations have default
247         visibility.
248         * libsupc++/exception: Likewise.
249         * libsupc++/new: Likewise.
250         * libsupc++/typeinfo: Likewise.
251         * libsupc++/unwind-cxx.h: Likewise.
252         * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Put it into
253         the __cxxabiv1 namespace.
254         (__cxa_free_exception): Likewise.
255         * libsupc++/eh_aux_runtime.cc (__cxa_bad_cast): Likewise.
256         (__cxa_bad_typeid): Likewise.
257         * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise.
258         (__cxa_end_catch): Likewise.
259         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Likewise.
260         (__cxa_get_globals): Likewise.
261         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
262         (__cxa_rethrow): Likewise.
263         * libsupc++/pure.cc (__cxa_pure_virtual): Likewise.
264         * libsupc++/eh_type.cc: Include <cxxabi.h>.
265
266         * Makefile.am (hosted_source): Add libmath and testsuite.
267         (SUBDIRS): Remove them.
268         * acinclude.m4: (GLIBCXX_ENABLED_HOSTED): Default to freestanding
269         on arm*-*-symbianelf*.
270         * crossconfig.m4: Add arm*-*-symbianelf* support.
271         * include/c_std/std/std_cstdlib.h (stdlib.h): Do not include it
272         when freestanding.  Do not bring names into std:: namespace with
273         "using" when freestanding.  Declare required functions and macros
274         when freestanding. 
275         * libsupc++/Makefile.am (c_sources): Do not include cp-demangle.c
276         when freestanding.
277         * libsupc++/del_op.cc: Declare "free" only when freestanding.
278         * libsupc++/eh_alloc.cc (cstring): Include it only when hosted.
279         (malloc): Declare when freestanding.
280         (free): Likewise.
281         (memset): Likewise.
282         (__cxa_allocate_exception): Call malloc, not std::malloc.  Likewise
283         for memset.
284         (__cxa_free_exception): Likewise for free.
285         * libsupc++/new_op.cc: Declare "malloc" when freestanding.
286         * libsupc++/pure.cc (writestr): Define to nothing when
287         freestanding.
288         * libsupc++/vterminate.cc: Do not define anything when
289         freestanding.
290         * Makefile.in: Regenerated.
291         * aclocal.m4: Likewise.
292         * configure: Likewise.
293         * include/Makefile.in: Likewise.
294         * libmath/Makefile.in: Likewise.
295         * libsupc++/Makefile.in: Likewise.
296         * po/Makefile.in: Likewise.
297         * src/Makefile.in: Likewise.
298         * testsuite/Makefile.in: Likewise.
299         
300 2004-08-01  Matt Austern  <austern@apple.com>
301
302         PR libstdc++/16844
303         * include/bits/stl_list.h (_M_create_node): Remove unused 
304         zero-argument version.
305         * include/ext/slist (_M_create_node): Pass two arguments to
306         allocator's construct() member function.
307         * testsuite/23_containers/deque/explicit_instantiation.cc: New.
308         * testsuite/23_containers/list/explicit_instantiation.cc: New.
309         * testsuite/23_containers/vector/explicit_instantiation.cc: New.
310         * testsuite/23_containers/map/explicit_instantiation.cc: New.
311         * testsuite/23_containers/set/explicit_instantiation.cc: New.
312         * testsuite/23_containers/multimap/explicit_instantiation.cc: New.
313         * testsuite/23_containers/multiset/explicit_instantiation.cc: New.
314         * testsuite/ext/hash_set_explicit_instantiation.cc: New.
315         * testsuite/ext/slist_explicit_instantiation.cc: New.
316         
317 2004-07-30  Paolo Carlini  <pcarlini@suse.de>
318
319         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
320         num_get<>::_M_extract_int): In the main parsing loop delay the
321         life of __q to the actual use point.
322
323 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
324
325         PR libstdc++/14220
326         * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
327         Don't clip the precision passed down to __convert_from_v:
328         22.2.2.2.2 nowhere says so.
329         * testsuite/22_locale/num_put/put/char/14220.cc: New.
330         * testsuite/22_locale/num_put/put/wchar_t/14220.c: Likewise.
331
332 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
333
334         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 31.
335
336 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
337             Petur Runolfsson  <peturr02@ru.is>
338
339         PR libstdc++/12658 (continued)
340         * src/locale_init.cc (locale::locale, locale::global): Use
341         a single locale_mutex instead of two separate mutexes.
342
343 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
344
345         PR libstdc++/16813
346         * include/debug/map.h (insert(_InputIterator, _InputIterator)):
347         Fix typo.
348         * testsuite/23_containers/map/insert/16813.cc: New.
349
350 2004-07-29  Phil Edwards  <phil@codesourcery.com>
351
352         * docs/html/faq/index.html:  Update version references.  Make
353         clear that code from SGI has diverged greatly.  Remove references
354         to library snapshots and what's-new sections.
355         * docs/html/faq/index.txt:  Regenerate.
356
357 2004-07-28  Matt Austern  <austern@apple.com>
358
359         * include/bits/stl_construct.h (_Destroy): New three-argument
360         overload that takes an allocator argument.  Another inline
361         three-argument overload that takes std::allocator and dispatches
362         to the two-argument version.
363         * include/bits/stl_uninitialized.h (__uninitialized_fill_n_aux):
364         Change return type to void to match uninitialized_fill_n.
365         (__uninitialized_copy_a_): New function.  Like uninitialized_copy
366         except that it takes an allocator and uses it for construct and
367         destroy.  If the allocator is std::allocator, dispatches to
368         uninitialized_copy.
369         (__uninitialized_fill_a): Likewise.
370         (__uninitialized_fill_n_a): Likewise.
371         (__uninitialized_copy_copy): Give it an allocator argument.
372         (__uninitialized_fill_copy): Likewise.
373         (__uninitialized_copy_fill): Likewise.
374         * include/bits/deque.tcc: Use new forms defined in stl_construct.h
375         and stl_uninitialized.h.  Replace use of single-argument _Construct
376         and _Destroy with use of allocator's construct and destroy methods.
377         * include/bits/list.tcc: Likewise.
378         * include/bits/stl_deque.h: Likewise.
379         * include/bits/stl_list.h: Likewise.
380         * include/bits/stl_tree.h: Likewise.
381         * include/bits/stl_vector.h: Likewise.
382         * include/bits/vector.tcc: Likewise.
383         * include/ext/hashtable.h: Use rebind so that allocator_type
384         has correct type for a container's allocator.  Replace use of 
385         single-argument _Construct and _Destroy with use of allocator's 
386         construct and destroy methods.
387         * include/ext/memory (__uninitialized_copy_n_a): New function.
388         Like uninitialized_copy_n except that it takes an extra parameter,
389         an allocator, and uses it for construct and destroy operations.
390         * include/ext/rope: Use new forms defined in stl_construct.h,
391         stl_uninitialized.h, and ext/memory.  Replace use of single-argument 
392         _Construct and _Destroy with allocator construct and destroy methods.
393         * include/ext/ropeimpl.h: Likewise.
394         * include/ext/slist.h: Likewise.
395         * testsuite/testsuite_allocator.h (check_construct_destroy): New.
396         * testsuite/testsuite_allocator.cc (check_construct_destroy): New.
397         * testsuite/23_containers/deque/check_construct_destroy.cc: New.
398         * testsuite/23_containers/list/check_construct_destroy.cc: New.
399         * testsuite/23_containers/set/check_construct_destroy.cc: New.  
400         * testsuite/23_containers/vector/check_construct_destroy.cc: New. 
401         * testsuite/ext/hash_check_construct_destroy.cc: New.
402         * testsuite/ext/slist_check_construct_destroy.cc: New.
403         
404 2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
405
406         2003-10-01  Eric Christopher  <echristo@redhat.com>
407         * config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
408         constraint.
409         2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
410         * config/cpu/sh/atomicity.h: New.  Use movli and movco on SH4a.
411
412 2004-07-23  Benjamin Kosnik  <bkoz@redhat.com>
413
414         PR libstdc++/16678
415         * include/bits/locale_facets.tcc: Fix for -Werror.
416
417 2004-07-23  Jonathan Wakely  <redi@gcc.gnu.org>
418
419         * docs/html/debug.html: Say debug mode only available since 3.4.0.
420
421 2004-07-21  Benjamin Kosnik  <bkoz@redhat.com>
422
423         * docs/doxygen/mainpage.html: Clarify links.
424         * docs/doxygen/stdheader.cc: Add files.
425         * docs/doxygen/style.css: Remove bolds, add h2, h3 styles.
426         * docs/doxygen/user.cfg.in: New options, wrap.
427
428 2004-07-20  Danny Smith  <dannysmith@users.sourceforge.net>
429
430         * include/c_std/std_cwchar.h (wcsstr): Correct signature.
431
432 2004-07-19  Benjamin Kosnik  <bkoz@redhat.com>
433
434         PR libstdc++/15488
435         * testsuite/lib/libstdc++.exp (v3-copy-files): Revert.
436
437 2004-07-17  Richard Sandiford  <rsandifo@redhat.com>
438
439         PR bootstrap/16469
440         * scripts/create_testsuite_files: Pass -print to find.
441
442 2004-07-15  Paolo Carlini  <pcarlini@suse.de>
443
444         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 30.
445         * docs/html/ext/howto.html: Tweak entries for DRs 167/253/389/402.
446
447 2004-07-15  Jakub Jelinek  <jakub@redhat.com>
448
449         PR libstdc++/14697
450         * acinclude.m4 (glibcxx_shared_libgcc): Correct
451         glibcxx_shared_libgcc test for multilibs.
452         * configure: Rebuilt.
453
454 2004-07-14  Paolo Carlini  <pcarlini@suse.de>
455
456         PR libstdc++/16505
457         * include/bits/stl_uninitialized.h (uninitialized_fill_n): Fix
458         the signature to return void, as per 20.4.4.3.
459         * include/bits/stl_vector.h (vector::vector(size_type,
460         const value_type&, const allocator_type&), vector::vector(size_type),
461         vector::_M_initialize_dispatch): Adjust callers.
462         * include/bits/vector.tcc (vector<>::_M_fill_assign,
463         vector<>::_M_fill_insert): Likewise.
464         * testsuite/20_util/memory/16505.cc: New.
465
466 2004-07-14  Paolo Carlini  <pcarlini@suse.de>
467
468         * testsuite/22_locale/locale/cons/12658_thread-1.cc,
469         12658_thread-2.cc: Use __gnu_test::try_named_locale.
470
471 2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
472
473         * docs/html/ext/mt_allocator.html: Add docs for _Tune.
474         * include/ext/mt_allocator.h (__mt_alloc::_S_get_options): Make public.
475         (__mt_alloc::_S_set_options): Same.
476         Add to comments.
477
478 2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
479
480         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add allocator defaults
481         for linux.
482         * configure: Regenerated.
483
484 2004-07-13  Paolo Carlini  <pcarlini@suse.de>
485
486         * testsuite/22_locale/locale/cons/12658_thread.cc: Move/rename
487         to 12658_thread-1.cc and xfail.
488         * testsuite/22_locale/locale/cons/12658_thread-2.c: New, much
489         simpler version of 12658_thread-1.cc, still failing on 3_3 and
490         not failing on 3_4/mainline - both on single processor and
491         multiprocessor machines.
492
493 2004-07-12  Benjamin Kosnik  <bkoz@redhat.com>
494
495         * docs/html/abi.html: Remove non-public qualification.
496
497         * include/bits/concurrence.h: Tweak comments.
498
499 2004-07-11  Paolo Carlini  <pcarlini@suse.de>
500
501         Add wchar_t counterparts of the basic_streambbuf<char> tests.
502         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: New.
503         * testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc, 9322.cc:
504         Likewise.
505         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/9701-3.cc: Likewise.
506         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc, 2.cc,
507         3599.cc: Likewise.
508         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
509         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
510         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
511         * testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise.
512         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc, 1057.cc:
513         Likewise.
514         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
515
516         * testsuite/27_io/basic_streambuf/imbue/char/1.cc, 9322.cc: Minor
517         tweaks.
518         * testsuite/27_io/basic_streambuf/overflow/char/2.cc, 3599.cc:
519         Likewise.
520         * testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise.
521         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
522
523 2004-07-11  Phil Edwards  <phil@codesourcery.com>
524
525         * acinclude.m4:  Cosmetic shell syntax fixes.
526         * configure.ac:  Bring comment inline with reality.
527         * configure.host:  Both of the above.  Move 'arm' case to right
528         place in host_cpu switch.
529         * aclocal.m4, configure:  Regenerate.
530
531 2004-07-09  Paolo Carlini  <pcarlini@suse.de>
532
533         Add wchar_t counterparts of the basic_stringbuf<char> tests.
534         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc, 9322.cc: New.
535         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
536         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc, 2.cc,
537         3599.cc, 9988.cc: Likewise.
538         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc, 9825.cc:
539         Likewise.
540         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc:
541         Likewise.
542         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc, 3.cc:
543         Likewise.
544         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc, 2.cc, 3.cc:
545         Likewise.
546         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
547         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
548         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
549         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc, 9425.cc:
550         Likewise.
551         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc, 1057.cc,
552         9404-1.cc: Likewise.
553         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc, 1057.cc,
554         9404-2.cc: Likewise.
555         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc, 2.cc, 3.cc,
556         3955.cc: Likewise.
557         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
558         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
559
560 2004-07-08  Paolo Carlini  <pcarlini@suse.de>
561
562         * include/bits/gslice.h: Trivial formatting fixes.
563         * include/bits/gslice_array.h: Likewise.
564         * include/bits/indirect_array.h: Likewise.
565         * include/bits/mask_array.h: Likewise.
566         * include/bits/slice_array.h: Likewise.
567         * include/bits/valarray_after.h: Likewise.
568         * include/bits/valarray_array.h: Likewise.
569         * include/bits/valarray_before.h: Likewise.
570         * include/std/std_valarray.h: Likewise.
571
572 2004-07-08  Benjamin Kosnik  <bkoz@redhat.com>
573
574         PR c++/16169
575         * include/bits/basic_string.h (basic_string::operator=): Revert.
576
577 2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
578
579         * configure.ac (libtool_VERSION): To 6:2:0.
580         * configure: Regenerated.
581
582         * testsuite/testsuite_abi.cc (check_version): Add 3.4.2.
583         
584 2004-07-07  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
585
586         PR libstdc++/16411
587         * config/linker-map.gnu: Add stdio_sync_filebuf::file exports.
588
589 2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
590
591         * docs/html/abi.html: Updates for 3.4.1 release. Add summary of
592         -Weffc++ issues.
593
594 2004-07-07  Paolo Carlini  <pcarlini@suse.de>
595
596         PR libstdc++/16401
597         * include/bits/sstream.tcc (overflow): When reallocating _M_string
598         use an exponential grow policy.
599         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: New.
600         * testsuite/performance/27_io/stringbuf_overflow.cc: New.
601
602 2004-07-06  Anssi Hannula  <anssi.hannula@mbnet.fi>
603
604         PR libstdc++/15928
605         * crossconfig.m4: Add in bits for djgpp.
606         * configure: Regenerate.
607         
608 2004-07-05  Jonathan Wakely  <redi@gcc.gnu.org>
609
610         * testsuite/23_containers/{set,multiset}/14340.cc: Fix typos in
611         instantiation of set and multiset (functor param given as int).
612
613 2004-07-04  Paolo Carlini  <pcarlini@suse.de>
614
615         * include/bits/basic_string.h: Trivial formatting fixes and/or
616         const-ification of some variables.
617         * include/bits/deque.tcc: Likewise.
618         * include/bits/stl_algobase.h: Likewise.
619         * include/bits/stl_bvector.h: Likewise.
620         * include/bits/stl_construct.h: Likewise.
621         * include/bits/stl_deque.h: Likewise.
622         * include/bits/stl_pair.h: Likewise.
623         * include/bits/stl_vector.h: Likewise.
624         * include/bits/vector.tcc: Likewise.
625
626 2004-07-04  Paolo Carlini  <pcarlini@suse.de>
627
628         * testsuite/25_algorithms/copy/1.cc: Add instantiations for
629         systems with no COMDAT or weak support.
630         * testsuite/25_algorithms/copy/2.cc: Likewise.
631         * testsuite/25_algorithms/copy/3.cc: Likewise.
632         * testsuite/25_algorithms/copy/4.cc: Likewise.
633
634 2004-07-03  Paul Brook  <paul@codesourcery.com>
635
636         * configure.ac: Set ABI_TWEAKS_SRCDIR.
637         * configure.host: Set abi_tweaks_dir.  Check for atomicity.h when
638         setting atomicity_dir.  Override type_cpu for arm based targets.
639         * include/Makefile.am (host_headers): Add cxxabi_tweaks.h.
640         * libsupc++/cxxabi.h: Include bits/cxxabi.h. Don't declare __guard.
641         * libsupc++/guard.cc: Use definitions from cxxabi_tweaks.h.
642         * libsupc++/vec.cc: Ditto.
643         * config/cpu/arm/cxxabi_tweaks.h: New file.
644         * config/cpu/generic/cxxabi_tweaks.h: New file.
645         * */Makefile.in: Regenerate.
646         * configure: Regenerate.
647
648 2004-07-02  Paolo Carlini  <pcarlini@suse.de>
649
650         * include/bits/type_traits.h (_Is_normal_iterator): Move...
651         * include/bits/cpp_type_traits.h: ... here, renamed to
652         __is_normal_iterator and consistent with the other traits.
653         * include/bits/stl_algobase.h (__copy_ni1, __copy_ni2): Convert
654         to the struct __copy_normal and three specializations.
655         (__copy_backward_output_normal_iterator,
656         __copy_backward_input_normal_iterator): Likewise, convert to
657         the struct __copy_backward_normal and three specializations.
658         (copy, copy_backward): Use the latter.
659         (__copy_aux, __copy_backward_aux): Very minor tweaks.
660
661 2004-07-01  Paolo Carlini  <pcarlini@suse.de>
662
663         * include/bits/stl_algobase.h (__copy_trivial): Remove.
664         (__copy_aux2): Rewrite as __copy_aux to use __is_pointer,
665         __is_trivially_copyable, __are_same and __copy::copy.
666         (__copy): Rewrite as a class template and two specializations.
667         (__copy_ni2): Simplify, just call __copy_aux.
668         
669         * include/bits/stl_algobase.h (__copy_backward_aux): Add __are_same
670         check.
671         * testsuite/25_algorithms/copy/1.cc, 2.cc, 3.cc, 4.cc: Test also
672         for destination value type != source value type.
673
674 2004-07-01  Benjamin Kosnik  <bkoz@redhat.com>
675             Per Bothner  <per@bothner.com>
676             Mohan Embar  <gnustuff@thisiscool.com>
677
678         PR libstdc++/16248
679         * include/bits/concurrence.h (__glibcxx_mutex_type): New.
680         (__glibcxx_mutex): Encapsulate mutex init function into type for
681         threaded configurations without __GTHREAD_MUTEX_INIT.
682         (lock::lock): Make device member a reference.
683         (lock::~lock): Same.
684         * include/ext/pool_allocator.h (__pool_base::_M_get_mutex): Change
685         to mutex_type.
686         * src/allocator.cc: Same.
687         
688 2004-06-30  Brad Spencer  <spencer@infointeractive.com>
689
690         * include/ext/mt_allocator.h: Handle allocations at static
691         initialization that happen before _S_options is (automatically)
692         constructed; set _S_init even if _M_force_new is true.
693         
694 2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
695
696         * config/linker-map.gnu: Revert new exports.
697
698 2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
699             Stuart Anderson  <anderson@netsweng.com>
700         
701         * config/linker-map.gnu: Add destructor exports for abstract base
702         classes to conform to LSB.
703
704 2004-06-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
705             Paolo Carlini  <pcarlini@suse.de>
706
707         * include/bits/cpp_type_traits.h: Add __is_pointer and
708         __is_trivially_copyable.
709         * include/bits/stl_algobase.h (fill, fill_n): Slightly
710         tweak to use the latter.
711         (__copy_backward_dispatch): Remove.
712         (__copy_backward_aux): Rewrite to use __is_pointer and
713         __is_trivially_copyable and __copy_backward::copy_b.
714         (__copy_backward): Rewrite as a class template and two
715         specializations.
716
717 2004-06-30  Paolo Carlini  <pcarlini@suse.de>
718
719         * testsuite/25_algorithms/copy.cc: Move to...
720         * testsuite/25_algorithms/copy/1.cc: ... here, extend.
721         * testsuite/25_algorithms/copy/2.cc: New.
722         * testsuite/25_algorithms/copy/3.cc: New.
723         * testsuite/25_algorithms/copy/4.cc: New.
724
725 2004-06-29  Paul Brook  <paul@codesourcery.com>
726
727         * libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the
728         element size in the cookie.
729
730 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
731
732         * include/bits/cpp_type_traits.h: Move the additions to
733         namespace __gnu_internal outside of namespace std; trivial
734         formatting fixes.
735
736 2004-06-28  Benjamin Kosnik  <bkoz@redhat.com>
737
738         * include/debug/safe_base.h (__gnu_debug::_Safe_sequence_base):
739         Revert -Weffc++ changes that defined copy ctory and or assignment
740         operator.
741         * libsupc++/tinfo.cc (__upcast_result): Same.
742         
743 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
744
745         * src/localename.cc (locale::_Impl::_Impl): Slightly improve
746         the algorithm used to name the categories.
747
748 2004-06-28  Paolo Bonzini  <bonzini@gnu.org>
749
750         * include/Makefile.am: Give a .gch extension to
751         the PCH files, not only to the directory.
752         * include/Makefile.in: Regenerate.
753
754 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
755
756         * config/locale/gnu/monetary_members.cc
757         (moneypunct<wchar_t>::_M_initialize_moneypunct): Clean up
758         assignments of _M_decimal_point and _M_thousands_sep.
759
760 2004-06-27  Paolo Carlini  <pcarlini@suse.de>
761
762         * docs/html/17_intro/contribute.html: Update some links.
763         * docs/html/17_intro/porting-howto.html: Likewise.
764         * docs/html/17_intro/porting-howto.xml: Likewise.
765         * docs/html/18_support/howto.html: Likewise.
766         * docs/html/21_strings/howto.html: Likewise.
767         * docs/html/27_io/howto.html: Likewise.
768         * docs/html/configopts.html: Likewise.
769         * docs/html/ext/howto.html: Likewise.
770         * docs/html/faq/index.html: Likewise.
771         * docs/html/install.html: Don't mention 2.x compilers.
772
773 2004-06-27  Paolo Carlini  <pcarlini@suse.de>
774
775         * include/ext/rope: Trivial formatting fixes.
776         * include/ext/ropeimpl.h: Likewise.
777
778 2004-06-26  Paolo Carlini  <pcarlini@suse.de>
779
780         PR libstdc++/16210
781         * acinclude.m4 (GLIBCXX_ENABLE_LONG_LONG): Do not check for the
782         availability of strto(u)ll, not used anymore in the iostreams.
783         * configure: Regenerate.
784
785 2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
786
787         PR libstdc++/16182      
788         * linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Revert to
789         AC_DEFINE_UNQUOTED.
790         * configure: Regenerate.
791
792 2004-06-25  Paul Brook  <paul@codesourcery.com>
793
794         * libsupc++/cxxabi.h: Define __ARM_EABI__
795         (__guard): Use it.
796         * libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto.
797
798 2004-06-25  Paul Brook  <paul@codesourcery.com>
799
800         * include/bits/concurrence.h: Still create mutex object when
801         single-threaded.
802
803 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
804
805         * include/bits/stl_algobase.h (fill, fill_n): Revert last
806         change: actually we need to copy construct an object of type
807         _Tp, not of type iterator_traits<>::value_type, therefore the
808         code is ok.
809
810 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
811
812         * include/bits/stl_algobase.h (fill, fill_n): Tighten the
813         dispatch: use iterator_traits<>::value_type, not _Tp.
814
815 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
816
817         * testsuite/25_algorithms/fill/1.cc: Tweak instantiations.
818         * testsuite/25_algorithms/fill/2.cc: Likewise.
819
820 2004-06-25  Dan Nicolaescu  <dann@ics.uci.edu>
821             Paolo Carlini  <pcarlini@suse.de>
822
823         * include/bits/stl_algobase.h (__fill, __fill_n): New helpers
824         for fill and fill_n, respectively: when copying is cheap, use a
825         temporary to avoid a memory read in each iteration.
826
827 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
828
829         * testsuite/25_algorithms/fill/1.cc: New.
830         * testsuite/25_algorithms/fill/2.cc: Likewise.
831
832 2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
833
834         * include/debug/formatter.h (__gnu_debug::_Error_formatter):
835         Remove copy constructor and assignment operator.
836
837 2004-06-24  Benjamin Kosnik  <bkoz@redhat.com>
838
839         * include/bits/concurrence.h (__gnu_cxx::lock): New.
840         * include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
841         (__pool_base::_M_get_mutex): New.
842         * include/bits/allocator.h: Tweak.
843         * src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
844         * config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
845         * include/bits/stl_threads.h: Remove.
846         * include/Makefile.am: Also here.
847         * include/Makefile.in: Regenerate.
848
849         * src/locale_init.cc: Use __gnu_cxx::lock.
850
851         * src/allocator.cc: Move all instantiations...
852         * src/allocator-inst.cc: ...here.
853         
854 2004-06-23  Andrew Pinski  <apinski@apple.com>
855
856         * linkage.m4: Remove check for libmx.   
857         * configure: Regenerate.
858
859 2004-06-23  Paolo Carlini  <pcarlini@suse.de>
860
861         PR libstdc++/16154
862         * include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
863         Don't require the _DefaultConstructibleConcept.
864         (struct _ForwardIteratorConcept): Require it here.
865
866 2004-06-22  Alexandre Oliva  <aoliva@redhat.com>
867
868         * include/bits/istream.tcc (getline): Make sure arguments passed
869         to min/max have the same type.
870         * include/bits/locale_facets.tcc (__verify_grouping): Likewise.
871         * include/bits/stl_deque.h (_Deque_base::_Deque_base): Likewise.
872
873 2004-06-22  Benjamin Kosnik  <bkoz@redhat.com>
874
875         * docs/html/abi.html: Update links.
876
877 2004-06-22  Paolo Carlini  <pcarlini@suse.de>
878
879         * testsuite/26_numerics/complex_inserters_extractors.cc,
880         complex_value.cc, buggy_complex.cc: Move to...
881         * testsuite/26_numerics/complex/: ... here.
882         * testsuite/26_numerics/c99_classification_macros_c++.cc,
883         c99_classification_macros_c.cc, c_math.cc, c_math_dynamic.cc,
884         fabs_inline.cc: Move to...
885         * testsuite/26_numerics/cmath/: ... here.
886         * testsuite/26_numerics/binary_closure.cc, slice.cc,
887         slice_array_assignment.cc, valarray.cc, valarray_const_bracket.cc,
888         valarray_name_lookup.cc, valarray_operators.cc,
889         valarray_subset_assignment.cc: Move to...
890         * testsuite/26_numerics/valarray/: ... here (new dir).
891         * testsuite/26_numerics/sum_diff.cc: Move to...
892         * testsuite/26_numerics/numeric/: ... here (new dir).
893
894 2004-06-22  Paolo Carlini  <pcarlini@suse.de>
895
896         * include/std/std_istream.h (ignore(streamsize __n = 1,
897         int_type __delim = traits_type::eof())): Split into...
898         (ignore(), ignore(streamsize __n), ignore(streamsize __n,
899         int_type __delim)): The first two can be much more simpler
900         and efficient than the fully general case; also, the last
901         two can take advantage of the same mechanism already used
902         for getline.
903         * include/bits/istream.tcc (ignore(streamsize __n = 1,
904         int_type __delim = traits_type::eof()): Remove.
905         (ignore(), ignore(streamsize __n), ignore(streamsize __n,
906         int_type __delim)): New.
907
908 2004-06-21  Loren J. Rittle  <ljrittle@acm.org>
909
910         * config/linker-map.gnu: Use wildcards for
911         __basic_file::sys_open(FILE*, _Ios_Openmode).
912
913 2004-06-20  Paolo Carlini  <pcarlini@suse.de>
914
915         * testsuite/27_io/basic_istream/ignore/char/3.cc: New.
916
917 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
918
919         * include/ext/mt_allocator (__mt_alloc<>::_Tune): Add _M_align,
920         the alignment requested.
921         (__mt_alloc<>::_Tune::_Tune): Tweak consistently.
922         (__mt_alloc<>::allocate): Use it instead of sizeof(_Block_record).
923         (__mt_alloc<>::deallocate): Likewise.
924
925 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
926
927         PR libstdc++/16020
928         * include/debug/safe_base.h
929         (_Safe_sequence_base::_Safe_sequence_base(const _Safe_sequence_base&),
930         _Safe_sequence_base::operator=): Provide definitions.
931         * testsuite/23_containers/bitset/cons/16020.cc: New.
932
933 2004-06-18  Benjamin Kosnik  <bkoz@redhat.com>
934
935         * include/ext/pool_allocator.h: Qualify __throw_bad_alloc.
936         (__pool_base): Remove unused template parameter.  Add
937         protected. Move lock data into __pool_base::_Lock. Remove static
938         on member functions.
939         (__pool_base::_M_get_free_list): New.
940         (__pool_alloc): Move _S_force new here.
941         * src/allocator.cc: Move out of line __pool_base definitions here.
942         * config/linker-map.gnu: Export bits from __pool_base.
943         
944 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
945
946         * config/locale/gnu/numeric_members.cc
947         (numpunct<wchar_t>::_M_initialize_numpunct): Clean up
948         assignments of _M_decimal_point and _M_thousands_sep.
949         * config/locale/gnu/time_members.cc
950         (__timepunct<wchar_t>::_M_initialize_timepunct): Clean up
951         and reformat assignments of date and time fields.
952
953 2004-06-16  Paolo Carlini  <pcarlini@suse.de>
954
955         * include/ext/rope (rope(_CharT, const allocator_type&)): Fix
956         to use _Data_allocate.
957         * include/ext/ropeimpl.h (rope<>::_S_leaf_concat_char_iter): Likewise.
958         (rope<>::_S_substring): Likewise.
959         (rope<>::rope(size_t, _CharT, const allocator_type&)): Likewise.
960         (rope<>::c_str()): Likewise.
961         (rope<>::replace_with_c_str()): Likewise.
962
963         * include/ext/ropeimpl.h (_Rope_iterator_base<>::_S_setbuf):
964         Correctly qualify _S_leaf, _S_function, etc., with _Rope_constants::,
965         not _RopeRep.
966         (_Rope_iterator_base<>::_S_setcache): Likewise.
967         (_Rope_iterator_base<>::_S_setcache_for_incr): Likewise.
968         (rope<>::_S_substring): Likewise.
969         (rope<>::_S_dump): Likewise.
970         (rope<>::_S_fetch_ptr): Likewise.
971         (rope<>::_S_compare): Likewise.
972         (rope<>::replace_with_c_str()): Likewise.               
973
974         * testsuite/ext/rope.cc: Rename to testsuite/ext/rope/1.cc.
975         * testsuite/ext/rope/2.cc: New.
976
977 2004-06-16  Paolo Carlini  <pcarlini@suse.de>
978             Matt Austern  <austern@apple.com>
979
980         * testsuite/ext/rope/3.cc: New.
981
982 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
983
984         * acinclude.m4: Remove useless multilib configury.
985         * Makefile.am: Remove useless multilib rules.
986         * aclocal.m4: Regenerate.
987         * Makefile.in: Regenerate.
988         * configure: Regenerate.
989
990 2004-06-15  Paolo Carlini  <pcarlini@suse.de>
991
992         * include/ext/hashtable.h: Trivial formatting fixes.
993         * include/ext/rb_tree: Likewise.
994
995 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
996
997         * include/ext/hash_map: Trivial formatting fixes.
998         * include/ext/hash_set: Likewise.
999         * include/ext/memory: Likewise.
1000         * include/ext/numeric: Likewise.
1001
1002 2004-06-14  Benjamin Kosnik  <bkoz@redhat.com>
1003
1004         * Makefile.in: Regenerate with automake 1.8.5.
1005         * aclocal.m4: Same.
1006         * include/Makefile.in: Same.
1007         * libmath/Makefile.in: Same.
1008         * libsupc++/Makefile.in: Same.
1009         * po/Makefile.in: Same.
1010         * src/Makefile.in: Same.
1011         * testsuite/Makefile.in: Same.
1012
1013 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
1014
1015         * include/ext/slist: Trivial formatting fixes.
1016
1017 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
1018
1019         * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
1020         Don't use the 'magic number' 10 in the computation of __minlen;
1021         never access __name past __minlen; in the loop over __i3, don't
1022         decrease __nmatches and increase __i3 at once, only either of
1023         the two; tidy.
1024
1025 2004-06-13  Paolo Carlini  <pcarlini@suse.de>
1026
1027         * include/bits/locale_facets.tcc (time_get<>::do_get_time,
1028         time_get<>::do_get_date): Use only once _M_extract_via_format,
1029         instead of going through "%X"/"%x" and calling it two times
1030         (+ using widen).
1031
1032 2004-06-12  Paolo Carlini  <pcarlini@suse.de>
1033
1034         * include/ext/algorithm: Trivial formatting fixes.
1035         * include/ext/functional: Likewise.
1036         * include/ext/hash_fun.h: Likewise.
1037         * include/ext/iterator: Likewise.
1038
1039 2004-06-12  Paolo Carlini  <pcarlini@suse.de>
1040
1041         * include/bits/basic_string.tcc (find(const _CharT*, size_type,
1042         size_type)): Reimplement using std::search.
1043         * src/string-inst.cc: Instantiate std::search for char/wchar_t.
1044
1045 2004-06-12  Dhruv Matani  <dhruvbird@gmx.net>
1046
1047         * testsuite/performance/21_strings/string_find.cc: New.
1048
1049 2004-06-10  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
1050
1051         * include/bits/istream.tcc (istream::ignore): Fix for -Wuninitialized.
1052
1053 2004-06-10  Jan van Dijk  <jan@etpmod.phys.tue.nl>
1054
1055         * include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
1056         this function return a value.
1057
1058 2004-06-09  Paolo Carlini  <pcarlini@suse.de>
1059
1060         PR libstdc++/15775
1061         * include/bits/stl_deque.h: Consistently with stl_set.h, define
1062         pointer as allocator's pointer, likewise for reference,
1063         const_pointer, and const_reference.
1064         * include/bits/stl_list.h: Likewise.
1065         * include/bits/stl_map.h: Likewise.
1066         * include/bits/stl_multimap.h: Likewise.
1067         * include/bits/stl_vector.h: Likewise.
1068
1069 2004-06-09  Benjamin Kosnik  <bkoz@redhat.com>
1070
1071         * crossconfig.m4: Remove signbit, signbitf, signbitl.   
1072         * linkage.m4: Comment LIBMATHOBJS, tweak others.  AC_DEFINES for
1073         builtin math functions instead of AC_DEFINE_UNQUOTED.
1074         * configure: Regenerate.
1075         
1076 2004-06-08  Benjamin Kosnik  <bkoz@redhat.com>
1077
1078         * docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
1079         * docs/doxygen/mainpage.html: Remove links.
1080
1081 2004-06-08  Jason Merrill  <jason@redhat.com>
1082
1083         * config/linker-map.gnu: Use wildcards for
1084         __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
1085
1086 2004-06-08  Paolo Carlini  <pcarlini@suse.de>
1087
1088         * include/ext/pool_allocator.h: Convert to a global free-list,
1089         as per the original SGI/HP design: move the implementation
1090         details to struct __pool_base, from which __pool_alloc derives.
1091         * src/allocator.cc: Instantiate __pool_base.
1092
1093 2004-06-07  Dhruv Matani  <dhruvbird@gmx.net>
1094             Paolo Carlini  <pcarlini@suse.de>
1095
1096         * testsuite/testsuite_performance.h
1097         (resource_counter::allocated_memory): Make it return the right
1098         number of bytes requested by the allocators/application. This is
1099         the sbrk+mmaped memory.
1100
1101 2004-06-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1102
1103         * include/std/std_complex.h (log): Tidy.
1104
1105 2004-05-31  Benjamin Kosnik  <bkoz@redhat.com>
1106
1107         * config/linker-map.gnu (GLIBCXX_3.4.1): Add.
1108         * testsuite/testsuite_abi.cc: Same.
1109         * configure.ac (libtool_VERSION): Bump to 6:1:0.
1110         * configure: Regenerate.
1111         * aclocal.m4: Regenerate.
1112         
1113 2004-05-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1114
1115         * include/std/std_complex.h (complex<_Tp>): Properly indent
1116         to follow C++STYLE. 
1117         (complex<>::__rep): New.
1118         (__complex_abs): New.  Dispatch to built-ins.
1119         (abs): Use them.
1120         (__complex_arg): New. Dispatch to built-ins.
1121         (arg): Use it.
1122         (__complex_cos): New. Dispatch to built-ins.
1123         (cos): Use it.
1124         (__complex_cosh): New. Dispatch to built-ins.
1125         (cosh): Use it.
1126         (__complex_exp): New. Dispatch to built-ins.
1127         (exp): Use it.
1128         (__complex_log): New. Dispatch to built-ins.
1129         (log): Use it.
1130         (__complex_sin): New. Dispatch to built-ins.
1131         (sin): Use it.
1132         (__complex_sinh): New. Dispatch to built-ins.
1133         (sinh): Use it.
1134         (__complex_sqrt): New. Dispatch to built-ins.
1135         (sqrt): Use it.
1136         (__complex_tan): New. Dispatch to built-ins.
1137         (tan): Use it.
1138         (__complex_tanh): New. Dispatch to built-ins.
1139         (tanh): Use it.
1140         (__complex_pow): New. Dispatch to built-ins.
1141         (pow): Use it.
1142
1143 2004-05-29  Richard B. Kreckel  <Richard.Kreckel@Framatome-ANP.com>
1144             Benjamin Kosnik  <bkoz@redhat.com>
1145         
1146         PR libstdc++/14600
1147         * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
1148         * include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
1149         * config/io/basic_file_stdio.cc (__basic_file::file): New.
1150         * config/io/basic_file_stdio.h: Define.
1151
1152 2004-05-27  Benjamin Kosnik  <bkoz@redhat.com>
1153
1154         PR libstdc++/15675
1155         * docs/html/documentation.html: Update doxygen links for 3.4.0.
1156
1157 2004-05-27  Jan Beulich  <jbeulich@novell.com>
1158
1159         * scripts/create_testsuite_files: Tweak.
1160
1161 2004-05-25  Benjamin Kosnik  <bkoz@redhat.com>
1162
1163         PR libstdc++/15489
1164         * scripts/create_testsuite_files: Revert xtype change, add non-GNU
1165         bits to do the same thing.
1166
1167 2004-05-24  Paolo Carlini  <pcarlini@suse.de>
1168
1169         * include/bits/istream.tcc (ignore): Correctly deal with
1170         n == numeric_limits<streamsize>::max().
1171         * testsuite/27_io/basic_istream/ignore/char/2.cc: New.
1172
1173         * include/bits/istream.tcc (basic_istream<>::getline): Prefer
1174         '_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
1175         __n == numeric_limits<>::min().
1176
1177         * include/bits/istream.tcc: Minor tweaks.
1178
1179         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
1180         Tighten.
1181         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
1182         Likewise.
1183         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
1184         Likewise.
1185         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
1186         Likewise.
1187         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1188
1189 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
1190
1191         PR libstdc++/12854
1192         Fixups for -Weffc++.    
1193         * include/bits/basic_string.h (basic_string::operator=): Return
1194         pointer to this instead of result of assign. Although redundant,
1195         this doesn't impact resultant codegen.
1196         
1197         * include/bits/locale_facets.h (__numpunct_cache): Declare
1198         assignment opxserator and copy constructor private.
1199         (__timepunct_cache): Same.
1200         (__moneypunct_cache): Same.
1201         (collate): Use member initialization list for _M_c_locale_collate.
1202         * config/locale/gnu/messages_members.h: Same.
1203         * config/locale/gnu/time_members.h (__timepunct): Same. 
1204         * src/codecvt.cc: Use member initialization list to initialize
1205         _M_c_locale_codecvt.    
1206         * src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
1207         * config/os/gnu-linux/ctype_noninline.h: Same.
1208         * src/locale.cc (_Impl): Same.
1209         * src/locale_init.cc: Same.
1210         * src/localename.cc: Same.      
1211
1212         * include/bits/basic_ios.h (basic_ios): Complete member
1213         initialization list.
1214         * include/bits/istream.tcc (basic_istream::sentry): Same.
1215         * include/bits/ostream.tcc (basic_ostream::sentry): Same.
1216         * include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
1217         _M_pback to member initialization list.
1218         * include/std/std_streambuf.h: Same.
1219         * include/std/std_sstream.h: Same, for _M_mode.
1220         * src/ios.cc (ios_base): Same.
1221         
1222         * include/ext/rope: Make derived classes match exception
1223
1224          specifications. Add copy constructors and assignment operators.
1225
1226         * include/debug/safe_base.h (_Safe_sequence_base): Declare copy
1227         constructor and assignment operator protected.
1228         (_Safe_iterator_base): Same.
1229         * include/debug/formatter.h (_Error_formatter): Define copy
1230         constructor and assignment operator.
1231
1232         * include/backward/strstream: Declare assignment operator and copy
1233         constructor private.
1234
1235 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
1236
1237         * testsuite/testsuite_hooks.h (func_callback): Declare copy
1238         constructor and assignment operator private.    
1239         * testsuite/23_containers/deque/cons/clear_allocator.cc: Match
1240         exception specifications of base class.
1241         * testsuite/23_containers/list/cons/clear_allocator.cc: Same.
1242         * testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
1243         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
1244                 
1245 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
1246
1247         * libsupc++/cxxabi.h: Remove duplicated and useless public and
1248         private keywords in class declarations. Format. Use
1249         stddef.h. Expose declarations to "C" compilation.
1250         * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
1251         assignment operator.
1252         (__dyncast_result): Same.
1253         * libsupc++/vec.cc (uncatch_exception): Same, use member
1254         initialization list.
1255                  
1256 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
1257
1258         * testsuite/abi_check.cc: Add unistd.h.
1259
1260 2004-05-22  Paolo Carlini  <pcarlini@suse.de>
1261
1262         PR libstdc++/15565
1263         * include/bits/locale_facets.tcc (__int_to_char(unsigned long),
1264         __int_to_char(unsigned long long)): Showpos is not relevant
1265         for unsigned types.
1266         * testsuite/22_locale/num_put/put/char/15565.cc: New.
1267         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.
1268
1269         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
1270         char.
1271         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
1272         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
1273         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
1274         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
1275         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
1276         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
1277
1278 2004-05-21  Matthias Klose  <doko@debian.org>
1279  
1280         * docs/doxygen/run_doxygen:  Bump required version.
1281
1282 2004-05-21  Benjamin Kosnik  <bkoz@redhat.com>
1283
1284         * docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
1285         * docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
1286
1287 2004-05-21  Paolo Carlini  <pcarlini@suse.de>
1288
1289         * include/bits/istream.tcc (ignore): Remove redundant line.
1290         (readsome): Tidy, closely following 27.6.1.3, p30.
1291
1292 2004-05-20  Paolo Carlini  <pcarlini@suse.de>
1293
1294         * include/bits/istream.tcc (operator>>(basic_istream<>&,
1295         basic_string<>&)): Use a temporary buffer, thus avoiding
1296         reallocation for common case.
1297         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
1298         New.
1299         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
1300         Likewise.
1301
1302         * include/bits/istream.tcc: Const-ification of a few variables.
1303
1304         * include/bits/ostream.tcc: Trivial formatting fixes and
1305         const-ification of some variables.
1306
1307 2004-05-20  Benjamin Kosnik  <bkoz@redhat.com>
1308
1309         PR libstdc++/15123
1310         PR libstdc++/13928
1311         * docs/doxygen/Intro.3: Remove Allocators.3.
1312         Add new extension headers, extension namespace list.
1313         * docs/doxygen/run_doxygen (problematic): Remove Allocators.3
1314         Rename GLIBCXXSTD names to std::. Rename __gnu_debug to
1315         __gnu_debug::. Remove __policy_ renames.
1316         * docs/doxygen/guide.html: Add dot note.
1317         * docs/doxygen/stdheader.cc: Edit, add files.
1318         * docs/doxygen/user.cfg.in: Regenerate with Doxygen 1.3.7.
1319         
1320 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
1321
1322         * include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
1323
1324 2004-05-18  Jan Beulich  <jbeulich@novell.com>
1325  
1326         PR libstdc++/15489
1327         * scripts/create_testsuite_files: Also find source files through
1328           symbolic links.
1329
1330 2004-05-18  Jan Beulich  <jbeulich@novell.com>
1331
1332         PR libstdc++/15488
1333         * testsuite/lib/libstdc++.exp: Make test files writable.
1334
1335 2004-05-18  Paolo Carlini  <pcarlini@suse.de>
1336
1337         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
1338         tweaks.
1339
1340 2004-05-18  Dhruv Matani  <dhruvbird@gmx.net>
1341
1342         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Re-write
1343         allocation loop which removes blocks from the global free list
1344         from O(N) to O(1) when the required blocks are <= the number
1345         available.
1346
1347 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
1348
1349         * include/ext/enc_filebuf.h: Move concept-check macro to class scope.
1350
1351 2004-05-17  Benjamin Kosnik  <bkoz@redhat.com>
1352
1353         * testsuite/testsuite_hooks.h (__gnu_test::conversion): New class.
1354         * testsuite/23_containers/deque/14340.cc: New.
1355         * testsuite/23_containers/list/14340.cc: New.
1356         * testsuite/23_containers/map/14340.cc: New.
1357         * testsuite/23_containers/multimap/14340.cc: New.
1358         * testsuite/23_containers/multiset/14340.cc: New.
1359         * testsuite/23_containers/set/14340.cc: New.
1360         * testsuite/23_containers/vector/14340.cc: New.
1361
1362 2004-05-17  Douglas Gregor   <gregod@cs.rpi.edu>
1363
1364         PR libstdc++/14340 
1365         * include/debug/safe_iterator.h (_Safe_iterator converting 
1366         constructor): Only allow declaration to instantiate when the 
1367         incoming _Safe_iterator has exactly the right iterator type.
1368
1369 2004-05-17  Jonathan Wakely  <redi@gcc.gnu.org>
1370
1371         * include/bits/boost_concept_check.h: Fix old attribute syntax.
1372         * testsuite/23_containers/map/modifiers/swap.cc: Define operator<
1373         to pass concept-checks.
1374         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
1375         * testsuite/23_containers/set/modifiers/swap.cc: Same.
1376         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
1377
1378 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
1379
1380         * include/std/std_bitset.h: Minor formatting fixes.
1381
1382 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
1383
1384         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
1385         Consistently update __bin._M_free[0].
1386         (__mt_alloc<>::allocate): When __bin._M_first[0] != NULL use
1387         __bin._M_free[0] to simplify the while loop (i.e., the number
1388         of iterations becomes known at the outset).
1389
1390 2004-05-15  Paolo Carlini  <pcarlini@suse.de>
1391
1392         * include/std/std_bitset.h: Trivial formatting fixes.
1393
1394 2004-05-14  Paolo Carlini  <pcarlini@suse.de>
1395             Ivan Godard  <igodard@pacbell.net>
1396
1397         PR libstdc++/15361
1398         * include/std/std_bitset.h (_Base_bitset<_Nw>::_M_do_find_next): Fix.
1399         * testsuite/23_containers/bitset/ext/15361.cc: New.
1400
1401 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1402
1403         PR libstdc++/15046
1404         * crossconfig.m4: Add C99 math bits for linux crosses.
1405         * configure: Regenerate.
1406         
1407 2004-05-13  Simon Marshall <simon.marshall@misys.com>
1408             Benjamin Kosnik  <bkoz@redhat.com>
1409
1410         PR libstdc++/15090
1411         * include/bits/locale_facets.h: Fix for -fno-for-scope.
1412         * include/debug/safe_sequence.h: Same.
1413         * include/debug/safe_iterator.tcc: Same.
1414         * src/debug.cc: Same.
1415         * src/locale.cc: Same.
1416         * src/locale_init.cc: Same.
1417         * src/localename.cc: Same.
1418         * config/locale/gnu/ctype_members.cc: Same.
1419         * config/locale/gnu/numeric_members.cc: Same.
1420         * testsuite/testsuite_abi.cc: Same.
1421         * testsuite/testsuite_hooks.cc: Same.
1422         
1423 2004-05-13  Jonathan Wakely  <redi@gcc.gnu.org>
1424         
1425         * docs/html/abi.html: Document effect of -fabi-version on value
1426         of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
1427         Fix markup.
1428
1429 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1430
1431         PR libstdc++/15074      
1432         * docs/html/faq/index.html: Update docs for libsupc++ usage.
1433
1434 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1435
1436         PR libstdc++/15412
1437         * include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
1438         __gnu_internal.
1439         (_GLIBCXX_mutex_address): Same.
1440         (_GLIBCXX_once): Same.  
1441         (_GLIBCXX_mutex_init): Same.
1442         (_GLIBCXX_mutex_address_init): Same.
1443         
1444 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1445         
1446         * docs/html/abi.html: New.
1447         * docs/html/abi.txt: Remove.
1448         * docs/html/documentation.html: Add link.
1449         * testsuite/Makefile.am: Add files.
1450         * testsuite/Makefile.in: Regenerated.
1451         * testsuite/abi_check.cc: Move and modify code into...
1452         * testsuite/testsuite_abi.cc: Add.
1453         * testsuite/testsuite_abi.h: Add.
1454
1455         * docs/html/17_intro/TODO: Update.
1456         * include/bits/stl_pair.h: Format.
1457         
1458 2004-05-06  Matthias Klose  <doko@debian.org>
1459
1460         * include/backward/iterator.h:  Add GPL copyright info,
1461         with exception clause.
1462         * include/bits/boost_concept_check.h: Likewise.
1463         * include
1464         * libsupc++/tinfo.h: Likewise.
1465         * po/string_literals.cc: Likewise.
1466         
1467 2004-05-03  Andreas Tobler  <a.tobler@schweiz.ch>
1468
1469         * acinclude.m4: Replace -W with more speaking -Wextra.
1470         * configure: Rebuilt.
1471
1472 2004-05-03  Paolo Carlini  <pcarlini@suse.de>
1473
1474         Optimize locale::_M_impl->_M_names for the most common cases:
1475         !_M_names[0] means unnamed; !_M_names[1] means all the categories
1476         the same name (_M_names[0] && _M_names[1] means that the full set
1477         of _M_names must be processed, the general case).
1478         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
1479         Tweak, saving work when !_M_names[1].
1480         (locale::locale(const locale&, _Facet*): Simplify: now just setting
1481         _M_names[0] = 0 means unnamed.
1482         * src/locale.cc (locale::operator==): Deal first with the common,
1483         easy cases, otherwise fall back to locale::name().
1484         (locale::name()): Tweak, if !_M_names[0] just return "*".
1485         (locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
1486         copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
1487         * src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
1488         * src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
1489         Simplify when !std::strchr, just updating _M_names[0]; clean up.
1490         (locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
1491         for the general case (full set of names), then do the usual work;
1492         clean up.
1493
1494         * src/locale.cc (locale::name()): Reserve space in __ret.
1495         * src/locale_init.cc (locale::global(const locale&)): Save
1496         the name in a temporary.
1497         * src/localename.cc (locale::locale(const char*)): Reserve space
1498         in __str.
1499
1500 2004-04-29  Paolo Carlini  <pcarlini@suse.de>
1501
1502         * src/locale.cc (locale::operator==): Always avoid constructing
1503         locale::name(), directly compare pairs of _M_names.
1504
1505 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
1506
1507         * include/bits/istream.tcc: Fix comment.
1508
1509 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
1510
1511         * include/bits/stl_vector.h: Trivial formatting fixes.
1512         * include/bits/vector.tcc: Likewise.
1513
1514 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
1515
1516         PR libstdc++/15002 (continued again)
1517         * include/bits/istream.tcc (getline(basic_istream<>&,
1518         basic_string<>&, _CharT)): Use a temporary buffer, thus
1519         avoiding reallocation for common case.
1520
1521         * include/bits/basic_string.tcc (_S_construct(_InIterator,
1522         _InIterator, const _Alloc&, input_iterator_tag)): Tweak size
1523         of temporary buffer to a power of two.
1524
1525         * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
1526
1527 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
1528
1529         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
1530         New.
1531         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
1532         Likewise.
1533         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1534
1535 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
1536             Petur Runolfsson  <peturr02@ru.is>
1537
1538         PR libstdc++/15002 (continued)
1539         * include/bits/istream.tcc (basic_istream<>::getline(char_type*,
1540         streamsize, char_type)): Use traits::find/copy in a loop to speed
1541         up greatly the function in the common case (I/O buffer size >> 1).
1542
1543 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
1544
1545         * testsuite/27_io/basic_istream/getline/char/4.cc: New. 
1546
1547         * include/bits/istream.tcc (getline(basic_istream<>&,
1548         basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
1549         of sbumpc(), consistently with the other functions, thus also
1550         dealing correctly with the case of exceeded string::max_size().
1551
1552 2004-04-24  Matthias Klose  <doko@debian.org>
1553
1554         Jonathan Wakely  <cow@compsoc.man.ac.uk>
1555         * docs/html/configopts.html: Fix reference to allocator config option.
1556
1557 2004-04-23  Andrew Pinski  <pinskia@physics.uc.edu>
1558
1559         * linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
1560         * configure: Regenerate.
1561
1562 2004-04-23  Daniel Jacobowitz  <drow@mvista.com>
1563
1564         PR libstdc++/15047, libstdc++/11610
1565         * testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
1566         (libstdc++_init): Don't pass outdir to v3-copy-files.
1567
1568 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
1569
1570         * include/bits/deque.tcc: Trivial formatting fixes.
1571         * include/bits/stl_deque.h: Likewise.
1572         * include/bits/stl_list.h: Likewise.
1573         * include/bits/stl_tree.h: Likewise.
1574
1575 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
1576             Andrew Pinski  <pinskia@physics.uc.edu>
1577
1578         * include/bits/basic_string.tcc (_M_mutate): Don't compute
1579         __src unnecessarily.
1580
1581 2004-04-19  Benjamin Kosnik  <bkoz@redhat.com>
1582
1583         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc: 
1584         Clarify assertion, set test variable to false before assert.
1585         * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
1586         * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
1587         * testsuite/27_io/ios_base/storage/2.cc: Same.
1588         
1589         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
1590         function returns.
1591         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
1592         * testsuite/27_io/fpos/14320-3.cc: Same.
1593         
1594         * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
1595         * testsuite/27_io/fpos/1.cc: Same.
1596         * testsuite/27_io/basic_stringstream/2.cc: Same.
1597         * testsuite/27_io/basic_stringbuf/4.cc: Same.
1598         * testsuite/27_io/basic_stringbuf/1.cc: Same.
1599         * testsuite/27_io/basic_stringbuf/2.cc: Same.
1600         * testsuite/27_io/basic_streambuf/2.cc: Same.
1601         * testsuite/27_io/basic_ostringstream/2.cc: Same.
1602         * testsuite/27_io/basic_ostream/2.cc: Same.
1603         * testsuite/27_io/basic_ofstream/2.cc: Same.
1604         * testsuite/27_io/basic_istringstream/2.cc: Same.
1605         * testsuite/27_io/basic_istream/2.cc: Same.
1606         * testsuite/27_io/basic_iostream/2.cc: Same.
1607         * testsuite/27_io/basic_ios/2.cc: Same.
1608         * testsuite/27_io/basic_ifstream/2.cc: Same.
1609         * testsuite/27_io/basic_fstream/2.cc: Same.
1610         * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
1611
1612         * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
1613         unsigned against zero.
1614         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
1615         * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
1616
1617         * testsuite/18_support/new_delete_placement.cc: Initialize
1618         variables before first use.
1619         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
1620         * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
1621         * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
1622         * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc: 
1623         Same.
1624         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
1625         * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc: 
1626         Same.
1627         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
1628         * testsuite/27_io/types/2.cc: Same.
1629
1630         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
1631         file name.      
1632         * testsuite/27_io/fpos/14775.cc: Same.
1633         
1634 2004-04-19  Paolo Carlini  <pcarlini@suse.de>
1635
1636         PR libstdc++/15002 (partial)
1637         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1638         Special case __n2 == 1, not calling traits_type::assign/copy. 
1639
1640 2004-04-17  Benjamin Kosnik  <bkoz@redhat.com>
1641
1642         * include/bits/stl_bvector.h: Use _M_impl._M_start.
1643         
1644 2004-04-16  Benjamin Kosnik  <bkoz@redhat.com>
1645         
1646         * include/bits/c++config (_GLIBCXX_STD): New.
1647         * src/list.cc: Use it.
1648         * include/std/std_bitset.h: Same.
1649         * include/bits/vector.tcc: Same.
1650         * include/bits/stl_set.h: Same.
1651         * include/bits/stl_multiset.h: Same.
1652         * include/bits/stl_multimap.h: Same.
1653         * include/bits/stl_map.h: Same.
1654         * include/bits/stl_list.h: Same.
1655         * include/bits/stl_vector.h: Same.
1656         * include/bits/stl_bvector.h: Same.
1657         * include/bits/stl_deque.h: Same.
1658         * include/bits/deque.tcc: Same.
1659         * include/bits/list.tcc: Same.
1660         * include/debug/vector: Same.
1661         * include/debug/set.h: Same.
1662         * include/debug/multiset.h: Same.
1663         * include/debug/multimap.h: Same.
1664         * include/debug/map.h: Same.
1665         * include/debug/list: Same.
1666         * include/debug/deque: Same.
1667         * include/debug/bitset: Same.   
1668         * include/debug/formatter.h (__gnu_debug): Remove using directive.
1669         Add using declaration for std::type_info.
1670         * include/debug/safe_iterator.h: Add using declaration for
1671         std::iterator_traits and std::pair.
1672         * src/debug_list.cc: New.
1673         * src/Makefile.am: Add debug_list.cc.
1674         * src/Makefile.in: Regenerate.
1675         * config/linker-map.gnu: Add _List_node_base exports for std and
1676         __gnu_norm.
1677
1678         * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
1679         idiom that other containers use.
1680         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
1681                         
1682 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
1683
1684         PR libstdc++/14975
1685         * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
1686         in case of error.
1687         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
1688         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
1689
1690 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
1691
1692         * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
1693         used anymore.
1694         * config.h.in: Regenerate.
1695
1696 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
1697
1698         * config/locale/generic/monetary_members.cc
1699         (moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
1700         btowc unnecessarily, just cast to wchar_t (the concerned chars
1701         all belong to the basic character set).
1702         * config/locale/generic/numeric_members.cc
1703         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
1704         * config/locale/gnu/monetary_members.cc
1705         (moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
1706         * config/locale/gnu/numeric_members.cc
1707         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
1708
1709 2004-04-15  Paolo Carlini  <pcarlini@suse.de>
1710
1711         * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
1712         avoid constructing unnecessarily this->name().
1713
1714 2004-04-14  Zack Weinberg  <zack@codesourcery.com>
1715
1716         * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
1717         Change definition of CXX to use $(shell) instead of backticks.
1718         * testsuite/Makefile.in: Regenerate.
1719
1720 2004-04-12  Dhruv Matani  <dhruvbird@gmx.net>
1721
1722         * testsuite/performance/20_util/allocator/list_sort_search.cc:
1723         Minor formatting fixes.
1724         * testsuite/performance/20_util/allocator/map_mt_find.cc:
1725         Likewise.
1726
1727 2004-04-12  Paolo Carlini <pcarlini@suse.de>
1728
1729         * config/locale/gnu/numeric_members.cc
1730         (numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
1731         in __uselocale, since btowc is called for chars belonging to
1732         the basic character set.
1733
1734 2004-04-09  Paolo Carlini  <pcarlini@suse.de>
1735
1736         * testsuite/22_locale/messages/members/char/1.cc: Remove junk.
1737         * testsuite/22_locale/messages/members/char/2.cc: Ditto.
1738         * testsuite/22_locale/messages/members/char/3.cc: Ditto.
1739         * testsuite/22_locale/num_get/get/char/1.cc: Ditto.
1740         * testsuite/22_locale/num_get/get/char/2.cc: Ditto.
1741         * testsuite/22_locale/num_get/get/char/3.cc: Ditto.
1742         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
1743         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
1744         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
1745         * testsuite/22_locale/num_put/put/char/1.cc: Ditto.
1746         * testsuite/22_locale/num_put/put/char/2.cc: Ditto.
1747         * testsuite/22_locale/num_put/put/char/3.cc: Ditto.
1748         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
1749         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
1750         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
1751         * testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
1752         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
1753
1754 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
1755
1756         * config/locale/generic/time_members.cc
1757         (__timepunct<char>::_M_initialize_timepunct,
1758         __timepunct<wchar_t>::_M_initialize_timepunct): the correct
1759         _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
1760         * config/locale/gnu/time_members.cc
1761         (__timepunct<char>::_M_initialize_timepunct,
1762         __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
1763         * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
1764         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
1765
1766         * testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
1767         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
1768         * testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
1769         * testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
1770         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
1771         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
1772         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
1773         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
1774         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
1775         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
1776         * testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
1777         * testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
1778         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
1779         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
1780         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
1781         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
1782         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
1783         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
1784         * testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
1785         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
1786         * testsuite/22_locale/time_put/put/char/1.cc: Ditto.
1787         * testsuite/22_locale/time_put/put/char/2.cc: Ditto.
1788         * testsuite/22_locale/time_put/put/char/3.cc: Ditto.
1789         * testsuite/22_locale/time_put/put/char/4.cc: Ditto.
1790         * testsuite/22_locale/time_put/put/char/5.cc: Ditto.
1791         * testsuite/22_locale/time_put/put/char/6.cc: Ditto.
1792         * testsuite/22_locale/time_put/put/char/7.cc: Ditto.
1793         * testsuite/22_locale/time_put/put/char/8.cc: Ditto.
1794         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
1795         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
1796         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
1797         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
1798         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
1799         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
1800         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
1801         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
1802
1803         * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
1804
1805 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
1806
1807         * config/locale/gnu/monetary_members.cc
1808         (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
1809         _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
1810         and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
1811         _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
1812         * config/locale/gnu/numeric_members.cc
1813         (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
1814         and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
1815
1816 2004-04-06  Benjamin Kosnik  <bkoz@redhat.com>
1817
1818         Fixups for EDG front end.
1819         * include/ext/rope: Instead of non-existent function
1820         _Data_allocate, use allocator's allocate. Use this.
1821         (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
1822         enumerations from _Rope_RopeRep here.
1823         * include/ext/ropeimpl.h: Same.
1824         * src/ext-inst.cc (_S_min_len): Fix up definition.
1825
1826         * config/locale/gnu/ctype_members.cc: Qualify base class members
1827         with this.
1828         * config/locale/generic/ctype_members.cc: Same.
1829         * config/locale/gnu/messages_members.h: Same.
1830         * config/locale/generic/messages_members.h: Same.
1831         * src/ctype.cc: Same.
1832         * include/bits/codecvt.h: Same.
1833
1834         * include/bits/boost_concept_check.h: Declare.
1835         (__error_type_must_be_an_unsigned_integer_type): Remove this.
1836         (__error_type_must_be_an_integer_type): Remove this.
1837         (__error_type_must_be_a_signed_integer_type): Remove this.
1838
1839         * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
1840
1841         * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
1842         specification to definition.
1843         (__cxa_allocate_exception): Same.
1844         * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
1845         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
1846         (__cxa_get_globals): Same.
1847
1848         * libsupc++/del_op.cc: Add comment about freestanding.
1849
1850 2004-04-05  Paolo Carlini  <pcarlini@suse.de>
1851
1852         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
1853         The critical section is actually very small, only two assignments.
1854
1855 2004-04-04  Paolo Carlini  <pcarlini@suse.de>
1856             Petur Runolfsson  <peturr02@ru.is>
1857
1858         * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
1859         adapted from libstdc++/11378.
1860
1861 2004-04-03  Paolo Carlini  <pcarlini@suse.de>
1862
1863         * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
1864         some duplicated code.
1865         (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
1866         in the single threaded case.
1867         * testsuite/performance/20_util/allocator/list_sort_search.cc:
1868         Reorder and renumber the tests consistently with the other testfiles.
1869         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
1870         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
1871         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
1872
1873 2004-04-02  Paolo Carlini  <pcarlini@suse.de>
1874
1875         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
1876         Rearrange arithmetic to avoid computing two divisions at
1877         each deallocation.
1878
1879 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
1880
1881         * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
1882         Streamline the second half, wrapping it in a single
1883         '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
1884         conditionals inside loops.
1885
1886 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
1887
1888         PR libstdc++/14775
1889         * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
1890         * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
1891         GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
1892         to _GLIBCXX_RES_LIMITS.
1893         (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
1894         HAVE_LIMIT_*.
1895         * testsuite/testsuite_hooks.h: Declare set_file_limit.
1896         * testsuite/testsuite_hooks.cc: Define it, using getrlimit
1897         and setrlimit(RLIMIT_FSIZE).
1898         * testsuite/27_io/fpos/14775.cc: New.
1899         * config.h.in: Regenerate.
1900         * configure: Likewise.
1901
1902 2004-03-31  Paolo Carlini  <pcarlini@suse.de>
1903
1904         * config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
1905         In v3 uses of sscanf, the special floating-point numbers INF,
1906         INFINITY, etc., cannot occur in input, therefore, if the latter
1907         is too large, ERANGE is always stored in errno, no need of finitel.
1908
1909 2004-03-30  Benjamin Kosnik  <bkoz@redhat.com>
1910
1911         PR libstdc++/14783
1912         * include/bits/stl_tree.h: Adjust initialization list order.
1913
1914 2004-03-29  Loren J. Rittle  <ljrittle@acm.org>
1915
1916         * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
1917
1918 2004-03-29  Paolo Carlini  <pcarlini@suse.de>
1919
1920         * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
1921         on allocator behavior, the memory pointed by data2 may well be not
1922         trashed.
1923
1924 2004-03-28  Chavdar Botev  <cbotev@yahoo.com>
1925
1926         PR libstdc++/14245
1927         * include/bits/basic_string.tcc
1928         (basic_string::basic_string(const basic_string&)): Pass to
1929         _Rep::_M_grab the actual allocator of the string being constructed
1930         not the default constructed one.
1931
1932 2004-03-27  Benjamin Kosnik  <bkoz@redhat.com>
1933
1934         libstdc++ PR/13598
1935         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
1936         (__enc_traits::_M_destroy): New.
1937         (__enc_traits::~__enc_traits): Use it.
1938         (__enc_traits::operator=): Use _M_destroy, _M_init.
1939         (__enc_traits::__enc_traits): Same.
1940
1941 2004-03-27  Petur Runolfsson  <peturr02@ru.is>
1942
1943         * testsuite/ext/enc_filebuf/char/13598.cc: New.
1944
1945 2004-03-27  Paolo Carlini  <pcarlini@suse.de>
1946
1947         * include/ext/mt_allocator.h: Uglify consistently names of
1948         variables, members and classes; tidy.
1949
1950 2004-03-27  Dhruv Matani  <dhruvbird@gmx.net>
1951
1952         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
1953         Deallocation loop rewrote.
1954
1955 2004-03-26  Paolo Carlini  <pcarlini@suse.de>
1956
1957         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
1958         __mt_alloc<>::deallocate): Protect two instances of
1959         block->thread_id with __GTHREADS.
1960
1961 2004-03-25  Gawain Bolton  <gp.bolton@computer.org>
1962
1963         * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
1964         default argument in constructors.
1965         (_Rb_tree::_M_empty_initialize): Remove.
1966
1967 2004-03-25  Benjamin Kosnik  <bkoz@redhat.com>
1968
1969         * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
1970         * testsuite/23_containers/set/operators/1_neg.cc: Same.
1971
1972 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
1973
1974         * include/bits/cpp_type_traits.h: Changed __is_pod
1975         completely. Now, it does not use any of the previous type_traits
1976         to detect the pod types, and it also detects function pointers as
1977         POD types.
1978
1979         * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
1980         which encapsulates the internal implementation of an rb_tree. Made
1981         the allocator a base class of this class instead of the rb_tree,
1982         which was not conforming. This _Rb_tree_impl class is also
1983         specialized on whether the _Compare parameter is a POD type or
1984         not. If so, then it maintains the comparison function as a data
1985         member, otherwise it makes the _Compare parameter a base class of
1986         itself. Also, _M_key_compare is now a function instead of a data
1987         member, so that the above trick can work properly. Delegated the
1988         initialization of the other data members to this newly created
1989         class. Also, now other member functions of rb_tree must refer to
1990         _M_key_compare as _M_impl._M_key_compare(). The other data members
1991         (*) can be referenced to as _M_impl.(*), where
1992         (*) includes _M_header, and _M_node_count.
1993
1994 2004-03-25  Paolo Carlini  <pcarlini@suse.de>
1995
1996         * include/ext/mt_allocator.h (__mt_alloc<>::tune):
1997         Add _M_min_bin, the size in bytes of the smallest bin.
1998         (__mt_alloc<>::tune()): Tweak accordingly.
1999         (__mt_alloc<>::tune(size_t, ...)): Likewise.
2000         (__mt_alloc<>::block_record): Change to a union: members next
2001         and thread_id are never used at the same time.
2002         (__mt_alloc<>::allocate): Update consistently.
2003         (__mt_alloc<>::deallocate): Likewise.
2004         (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
2005         _S_bin_size for the configurable _M_min_size.
2006
2007 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
2008
2009         * include/bits/stl_list.h: Created a _List_impl class and made it
2010         derive from the allocator, instead of the list deriving from the
2011         allocator class, which was not conformant. Changed all references
2012         from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
2013         as above (changed all references to the concerned variables).
2014
2015 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
2016
2017         * include/bits/stl_deque.h: Created a _Deque_impl class and made
2018         it derive from the allocator, instead of the deque deriving from
2019         the allocator class, which was not conformant. Changed all
2020         references to the _M_start, _M_finish, _M_map, and _M_map_size to
2021         _M_impl.*.
2022         (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
2023         qualification in 2 places where it was missing.
2024         (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
2025         above.
2026         * include/bits/deque.tcc: Same as above (changed all references to
2027         the concerned variables).
2028
2029 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
2030
2031         * include/bits/stl_vector.h: Created a _Vector_impl class and made
2032         it derive from the allocator, instead of the _Vector_base class,
2033         deriving from the allocator which was not conformant. Changed all
2034         references to the _M_start, _M_finish, and _M_end_of_storage to
2035         _M_impl.*.
2036         * include/bits/vector.tcc: Same as above (changed all references
2037         to the concerned variables).
2038
2039 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
2040
2041         * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
2042         * testsuite/23_containers/list/cons/clear_allocator.cc: New.
2043         * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
2044
2045 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
2046
2047         * include/ext/malloc_allocator.h: Fixed the construct function to
2048         call global placement new instead of assignment. Added a check
2049         after the return from malloc to check whether returned pointer is
2050         NULL, and if so, throw std::bad_alloc().
2051         * include/ext/debug_allocator.h: Added a check in the deallocate
2052         function to check whether the user has passed a NULL pointer or
2053         not.
2054
2055 2004-03-24  Benjamin Kosnik  <bkoz@redhat.com>
2056
2057         * docs/html/20_util/allocator.html: Add bitmap_allocator links.
2058
2059 2004-03-24  Andreas Schwab  <schwab@suse.de>
2060
2061         * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
2062         warning from IA64 assembler.
2063
2064 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
2065
2066         * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
2067         function call __builtin_ctz instead of the while loop.
2068         (allocate) -> If condition has __builtin_expect.
2069         (deallocate) -> Ditto.
2070         Renamed a few left-over variables and typedefs according to the
2071         C++STYLE mentioned in the documentation.
2072         Protected calls to __gthread* by __gthread_active_p(), whose value
2073         is cached in the local variable __threads_active.
2074
2075 2004-03-24  Felix Yen  <fwy@alumni.brown.edu>
2076
2077         * testsuite/performance/20_util/allocator/producer_consumer.cc:
2078         Use linear algorithm for producer.
2079
2080 2004-03-24  Paolo Carlini  <pcarlini@suse.de>
2081
2082         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
2083         __mt_alloc<>::deallocate): Avoid redundant conditionals.
2084
2085 2004-03-23  Benjamin Kosnik  <bkoz@redhat.com>
2086
2087         * include/bits/locale_facets.h: Tweaks for 80 column.
2088         (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
2089         (__moneypunct_cache::_M_cache): Same.
2090         (num_get): Don't inherit from __num_base.
2091         (num_put): Same.
2092         (money_get): Don't inherit from money_base.
2093         (money_put): Same.
2094         (__timepunct::_M_am_pm_format): New.
2095         (time_get::_M_extract_num): Return iterator, use ios_base as argument.
2096         (time_get::_M_extract_name): Same.
2097         (time_get::_M_extract_via_format): Same.
2098         * include/bits/locale_facets.tcc: Tweaks for 80 column.
2099         Use _M_getloc instead of getloc.
2100         * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
2101         * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
2102         * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
2103
2104 2004-03-22  Paolo Carlini  <pcarlini@suse.de>
2105
2106         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
2107         * configure: Regenerate.
2108         * config/allocator/pool_allocator_base.h: New.
2109         * include/ext/pool_allocator.h: Convert to a standard-conforming
2110         allocator.
2111         * src/allocator.cc: Tweak instantiations.
2112         * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
2113         * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
2114         * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
2115         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
2116         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
2117         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
2118
2119 2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
2120
2121         * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
2122         inline" and attribute-unused.  Qualify parameter __mem with
2123         "volatile".
2124         (__exchange_and_add): Ditto.  Add back memory clobber to asm.
2125
2126 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
2127
2128         * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
2129         Remove junk.
2130         * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
2131         Likewise.
2132         * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
2133         Likewise.
2134         * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
2135         Likewise.
2136         * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
2137         Likewise.
2138         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
2139         Likewise.
2140         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
2141         Likewise.
2142         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
2143         Likewise.
2144         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
2145         Likewise.
2146         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
2147         Likewise.
2148
2149 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
2150
2151         * include/std/std_valarray.h: Document DR389 [Ready].
2152         * docs/html/ext/howto.html: Add an entry for DR389.
2153
2154 2004-03-19  Michael Eager  <eager@mvista.com>
2155
2156         * config/cpu/mips/atomicity.h:  Prevent reg loads between LL and
2157         SC instructions.
2158
2159 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
2160
2161         * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
2162         static_cast-s.
2163         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2164         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
2165         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
2166         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2167         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
2168         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2169         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
2170         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
2171         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2172
2173 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
2174             Petur Runolfsson  <peturr02@ru.is>
2175
2176         PR libstdc++/12077
2177         * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
2178         no way to find out the conversion used by the underlying FILE*.
2179         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
2180         * testsuite/27_io/objects/char/9.cc: Tweak.
2181
2182 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
2183
2184         PR libstdc++/14648
2185         * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
2186         memory allocation/deallocation calls.
2187         * testsuite/ext/14648.cc: New.
2188
2189 2004-03-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
2190
2191         PR libstdc++/14647
2192         * include/backward/bvector.h (bit_vector): Allocator is in std
2193         namespace.
2194
2195 2004-03-19  Phil Edwards  <phil@codesourcery.com>
2196
2197         * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT):  Set LIBICONV,
2198         not libiconv.  SUBST this variable as well.
2199         * testsuite/Makefile.am (site.exp):  New target, based on that
2200         created by automake.  Also set libiconv.
2201
2202         * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
2203         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
2204         testsuite/Makefile.in:  Regenerate.
2205
2206 2004-03-16  Benjamin Kosnik  <bkoz@redhat.com>
2207
2208         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
2209         new_allocator for all hosts.
2210         * configure: Regenerate.
2211
2212 2004-03-16  Paolo Carlini  <pcarlini@suse.de>
2213
2214         * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
2215         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2216
2217 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
2218
2219         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2220         Adjust the logic underlying the parsing of symbol to deal
2221         correctly with an optional sign component (i.e., when either
2222         negative_sign or positive_sign is empty)
2223         * testsuite/22_locale/money_get/get/char/19.cc: New.
2224         * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
2225
2226 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
2227
2228         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2229         Do not accept an incomplete currency symbol.
2230         * testsuite/22_locale/money_get/get/char/18.cc: New.
2231         * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
2232
2233 2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>
2234
2235         * config/allocator: New.
2236         * config/allocator/bitmap_allocator_base.h: New.
2237         * config/allocator/malloc_allocator_base.h: New.
2238         * config/allocator/mt_allocator_base.h: New.
2239         * config/allocator/new_allocator_base.h: New.
2240         * include/bits/allocator.h: Include c++allocator.h.
2241         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
2242         * aclocal.m4: Regenerate.
2243         * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
2244         * configure: Regenerate.
2245         * include/Makefile.am (host_headers_extra): Add c++allocator.h.
2246         * include/Makefile.in: Regenerate.
2247         * docs/html/configopts.html: Add enable-libstdcxx-allocator.
2248
2249 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
2250
2251         * include/bits/allocator.h: Revert.
2252
2253 2004-03-12  Paolo Carlini  <pcarlini@suse.de>
2254
2255         * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
2256         * include/bits/gslice_array.h: Add comment about DR 253.
2257         * include/bits/indirect_array.h: Likewise.
2258         * include/bits/mask_array.h: Likewise.
2259         * include/bits/slice_array.h: Likewise.
2260
2261 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
2262
2263         * testsuite/20_util/allocator/14176.cc: New.
2264         * include/ext/mt_allocator.h: Formatting fixes.
2265
2266 2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>
2267
2268         * include/Makefile.am (ext_headers): Add
2269         ${ext_srcdir}/bitmap_allocator.h .
2270         * include/Makefile.in: Regenerate.
2271         * docs/html/ext/ballocator_doc.txt: New file.
2272         * include/ext/bitmap_allocator.h: New file.
2273         * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
2274         test.
2275         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
2276         * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
2277         test for the bitmap_allocator<>.
2278         * testsuite/performance/20_util/allocator/insert.cc: Likewise.
2279         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
2280         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
2281
2282 2004-03-11  Paolo Carlini  <pcarlini@suse.de>
2283
2284         * include/std/std_complex.h (pow(const complex&, const _Tp&),
2285         pow(const _Tp&, const complex&), pow(const complex&,
2286         const complex&)): Fully qualify with std:: a few calls.
2287         * testsuite/26_numerics/complex/13450.cc: Minor tweak.
2288
2289 2004-03-11  Steven Bosscher  <stevenb@suse.de>
2290
2291         PR libstdc++/11706
2292         * include/c_std/cmath.tcc (__cmath_power): Define inline.
2293
2294 2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
2295
2296         * configure.ac: Bump AC_PREREQ to 2.59.
2297
2298 2004-03-10  Paolo Carlini  <pcarlini@suse.de>
2299
2300         * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
2301
2302 2004-03-10  Paul Kienzle  <pkienzle@nist.gov>
2303             Paolo Carlini  <pcarlini@suse.de>
2304
2305         PR libstdc++/13450
2306         * include/std/std_complex.h (pow(const complex&, const _Tp&),
2307         pow(const _Tp&, const complex&)): Use cmath pow only when safe.
2308         * testsuite/26_numerics/complex/13450.cc: New.
2309
2310         * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
2311         * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
2312
2313 2004-03-10  Jerry Quinn  <jlquinn@optonline.net>
2314
2315         PR libstdc++/3247
2316         * include/bits/gslice_array.h (gslice_array()): Make public.
2317         (operator=(gslice_array)): Make public.  Implement.
2318         * include/bits/indirect_array.h (indirect_array()): Make public.
2319         * include/bits/mask_array.h (mask_array()): Make public.
2320         (operator=(mask_array)): Make public.  Implement.
2321         * include/bits/valarray_array.tcc (__valarray_copy):
2322         Comment.  Add versions for gslice_array and mask_array.
2323         * testsuite/26_numerics/valarray_subset_assignment.cc:  New test.
2324
2325 2004-03-09  Benjamin Kosnik  <bkoz@redhat.com>
2326
2327         * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
2328         non-weak systems.
2329         * testsuite/23_containers/vector/modifiers/swap.cc: Same.
2330         * testsuite/23_containers/set/modifiers/swap.cc: Same.
2331         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
2332         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
2333         * testsuite/23_containers/map/modifiers/swap.cc: Same.
2334         * testsuite/23_containers/list/modifiers/swap.cc: Same.
2335
2336         * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
2337
2338 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
2339
2340         PR c++/13658
2341         * testsuite/23_containers/deque/modifiers/swap.cc: New.
2342         * testsuite/23_containers/list/modifiers/swap.cc: New.
2343         * testsuite/23_containers/map/modifiers/swap.cc: New.
2344         * testsuite/23_containers/multimap/modifiers/swap.cc: New.
2345         * testsuite/23_containers/multiset/modifiers/swap.cc: New.
2346         * testsuite/23_containers/set/modifiers/swap.cc: New.
2347         * testsuite/23_containers/vector/modifiers/swap.cc: New.
2348
2349 2004-03-08  Petur Runolfsson  <peturr02@ru.is>
2350
2351         PR libstdc++/12658
2352         * testsuite/22_locale/locale/cons/12658_thread.cc: New.
2353
2354 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
2355
2356         * docs/html/ext/howto.html: Add entry for DR 103 [WP].
2357         * include/bits/stl_multiset.h: Add comment about DR 103.
2358         * include/bits/stl_set.h: Likewise.
2359
2360 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
2361
2362         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2363         The value _space_ indicates that at least one space is required
2364         at that position.
2365         * testsuite/22_locale/money_get/get/char/17.cc: New.
2366         * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
2367
2368         * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
2369         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
2370
2371         * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
2372         Remove redundant conditional on __str.size().
2373
2374 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
2375
2376         * include/bits/allocator.h: Switch defaults to mt_alloc.
2377
2378 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
2379
2380         * include/ext/mt_allocator.h (_S_initialize): If
2381         !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
2382
2383 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
2384
2385         PR libstdc++/12658
2386         * src/locale_init.cc (locale::locale): Lock critical regions with
2387         external mutexes.
2388         (locale::global): Same.
2389         * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
2390         Add in once bits for cases without __GTHREAD_MUTEX_INIT.
2391         (__glibcxx_mutex_lock): Same.
2392
2393         * config/cpu/generic/atomicity.h: Remove
2394         _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
2395         * src/misc-inst.cc: Move all locking bits out of this file.
2396
2397         * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
2398         * src/misc-inst.cc: Same.
2399         * config/cpu/hppa/atomicity.h: Same.
2400
2401         * config/linker-map.gnu: Remove types in the signature of atomic
2402         exports, as they may vary.
2403
2404 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
2405
2406         * include/bits/locale_facets.tcc: Tweak the comment preceding
2407         has_facet: doesn't throw.
2408
2409 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
2410
2411         * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
2412         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2413         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2414         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2415         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2416         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2417         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2418         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2419
2420 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
2421
2422         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2423         num_get<>::_M_extract_int, num_get<>::do_get(bool&),
2424         __pad<>::_S_pad): Prefer plain operator== to traits::eq().
2425         * testsuite/testsuite_character.h (struct __gnu_test::character):
2426         Provide operator==.
2427         * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
2428         Likewise.
2429
2430 2004-03-05  Paolo Carlini  <pcarlini@suse.de>
2431
2432         * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
2433
2434 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
2435
2436         * testsuite/23_containers/multiset/insert/1.cc: Test result string.
2437
2438         * testsuite/23_containers/bitset/invalidation/1.cc: Main always
2439         returns 0.
2440         * testsuite/23_containers/deque/invalidation/4.cc: Same.
2441         * testsuite/23_containers/list/invalidation/1.cc: Same.
2442         * testsuite/23_containers/list/invalidation/2.cc: Same.
2443         * testsuite/23_containers/list/invalidation/3.cc: Same.
2444         * testsuite/23_containers/list/invalidation/4.cc: Same.
2445         * testsuite/23_containers/map/invalidation/2.cc: Same.
2446         * testsuite/23_containers/multimap/invalidation/1.cc: Same.
2447         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
2448         * testsuite/23_containers/multiset/invalidation/1.cc: Same.
2449         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
2450         * testsuite/23_containers/set/invalidation/1.cc: Same.
2451         * testsuite/23_containers/set/invalidation/2.cc: Same.
2452         * testsuite/23_containers/vector/invalidation/1.cc: Same.
2453         * testsuite/23_containers/vector/invalidation/2.cc: Same.
2454         * testsuite/23_containers/vector/invalidation/3.cc: Same.
2455         * testsuite/23_containers/vector/invalidation/4.cc: Same.
2456
2457 2004-03-04  Paolo Carlini  <pcarlini@suse.de>
2458
2459         * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
2460         CXXFLAGS_save.
2461         * testsuite/lib/libstdc++.exp: Don't add it conditionally to
2462         DEFAULT_CXXFLAGS.
2463         * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
2464         from the dg-options.
2465         * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
2466         * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
2467         * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
2468         * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
2469         * testsuite/23_containers/vector/resize/1.cc: Likewise.
2470         * testsuite/26_numerics/complex_value.cc: Likewise.
2471         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
2472         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
2473         * testsuite/27_io/ios_base/storage/3.cc: Likewise.
2474         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
2475         * testsuite/27_io/objects/char/5.cc: Likewise.
2476         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
2477         * testsuite/backward/11460.cc: Likewise.
2478         * testsuite/thread/pthread7-rope.cc: Likewise.
2479
2480         * testsuite/21_strings/basic_string/compare/char/1.cc: Add
2481         missing test variable.
2482         * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
2483         missing test variable.
2484
2485 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
2486
2487         * testsuite/20_util/allocator/1.cc: Provide explicit
2488         instantiations for non-weak systems.
2489         * testsuite/20_util/binders.cc: Same.
2490         * testsuite/20_util/allocator/8230.cc: Same.
2491         * testsuite/20_util/allocator/10378.cc: Same.
2492         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
2493         * testsuite/22_locale/ctype/is/char/2.cc: Same.
2494         * testsuite/thread/pthread7-rope.cc: Same.
2495         * testsuite/thread/pthread6.cc: Same.
2496         * testsuite/thread/pthread5.cc: Same.
2497         * testsuite/thread/pthread4.cc: Same.
2498         * testsuite/thread/pthread1.cc: Same.
2499         * testsuite/ext/rope.cc: Same.
2500         * testsuite/ext/hash_set.cc: Same.
2501         * testsuite/ext/hash_map.cc: Same.
2502         * testsuite/ext/concept_checks.cc: Same.
2503         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
2504         * testsuite/25_algorithms/unique/2.cc: Same.
2505         * testsuite/25_algorithms/unique/1.cc: Same.
2506         * testsuite/25_algorithms/rotate.cc: Same.
2507         * testsuite/25_algorithms/min_max.cc: Same.
2508         * testsuite/25_algorithms/equal.cc: Same.
2509         * testsuite/24_iterators/rel_ops.cc: Same.
2510         * testsuite/24_iterators/iterator.cc: Same.
2511         * testsuite/24_iterators/insert_iterator.cc: Same.
2512         * testsuite/24_iterators/front_insert_iterator.cc: Same.
2513         * testsuite/24_iterators/back_insert_iterator.cc: Same.
2514         * testsuite/23_containers/vector/resize/1.cc: Same.
2515         * testsuite/23_containers/vector/modifiers/2.cc: Same.
2516         * testsuite/23_containers/vector/modifiers/1.cc: Same.
2517         * testsuite/23_containers/vector/invalidation/4.cc: Same.
2518         * testsuite/23_containers/vector/invalidation/3.cc: Same.
2519         * testsuite/23_containers/vector/invalidation/2.cc: Same.
2520         * testsuite/23_containers/vector/invalidation/1.cc: Same.
2521         * testsuite/23_containers/vector/element_access/1.cc: Same.
2522         * testsuite/23_containers/vector/cons/6513.cc: Same.
2523         * testsuite/23_containers/vector/cons/3.cc: Same.
2524         * testsuite/23_containers/vector/cons/2.cc: Same.
2525         * testsuite/23_containers/vector/cons/1.cc: Same.
2526         * testsuite/23_containers/vector/capacity/8230.cc: Same.
2527         * testsuite/23_containers/vector/capacity/1.cc: Same.
2528         * testsuite/23_containers/vector/bool/6886.cc: Same.
2529         * testsuite/23_containers/stack/members/7158.cc: Same.
2530         * testsuite/23_containers/set/invalidation/2.cc: Same.
2531         * testsuite/23_containers/set/invalidation/1.cc: Same.
2532         * testsuite/23_containers/queue/members/7157.cc: Same.
2533         * testsuite/23_containers/priority_queue/members/7161.cc: Same.
2534         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
2535         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
2536         * testsuite/23_containers/multiset/insert/1.cc: Same.
2537         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
2538         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
2539         * testsuite/23_containers/map/operators/1.cc: Same.
2540         * testsuite/23_containers/map/invalidation/2.cc: Same.
2541         * testsuite/23_containers/map/invalidation/1.cc: Same.
2542         * testsuite/23_containers/map/insert/1.cc: Same.
2543         * testsuite/23_containers/list/operators/4.cc: Same.
2544         * testsuite/23_containers/list/operators/3.cc: Same.
2545         * testsuite/23_containers/list/operators/2.cc: Same.
2546         * testsuite/23_containers/list/operators/1.cc: Same.
2547         * testsuite/23_containers/list/modifiers/3.cc: Same.
2548         * testsuite/23_containers/list/modifiers/2.cc: Same.
2549         * testsuite/23_containers/list/modifiers/1.cc: Same.
2550         * testsuite/23_containers/list/invalidation/4.cc: Same.
2551         * testsuite/23_containers/list/invalidation/3.cc: Same.
2552         * testsuite/23_containers/list/invalidation/2.cc: Same.
2553         * testsuite/23_containers/list/invalidation/1.cc: Same.
2554         * testsuite/23_containers/list/cons/9.cc: Same.
2555         * testsuite/23_containers/list/cons/8.cc: Same.
2556         * testsuite/23_containers/list/cons/7.cc: Same.
2557         * testsuite/23_containers/list/cons/6.cc: Same.
2558         * testsuite/23_containers/list/cons/5.cc: Same.
2559         * testsuite/23_containers/list/cons/4.cc: Same.
2560         * testsuite/23_containers/list/cons/3.cc: Same.
2561         * testsuite/23_containers/list/cons/2.cc: Same.
2562         * testsuite/23_containers/list/cons/1.cc: Same.
2563         * testsuite/23_containers/list/capacity/1.cc: Same.
2564         * testsuite/23_containers/deque/operators/1.cc: Same.
2565         * testsuite/23_containers/deque/invalidation/4.cc: Same.
2566         * testsuite/23_containers/deque/invalidation/3.cc: Same.
2567         * testsuite/23_containers/deque/invalidation/2.cc: Same.
2568         * testsuite/23_containers/deque/invalidation/1.cc: Same.
2569         * testsuite/23_containers/deque/cons/2.cc: Same.
2570         * testsuite/23_containers/deque/cons/1.cc: Same.
2571
2572         * src/allocator.cc: Add char, wchar_t instantiations
2573         to match extern template declarations in memory.h.
2574
2575 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
2576
2577         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
2578         Fix warning regression.
2579
2580 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
2581
2582         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
2583         Deal properly with empty __digits and negative frac_digits,
2584         clean-up a bit.
2585
2586 2004-03-03  Jonathan Wakely  <redi@gcc.gnu.org>
2587
2588         * docs/html/documentation.html: Regenerate.
2589
2590 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
2591
2592         PR libstdc++/14320
2593         * include/bits/postypes.h (class streamoff): Remove, now
2594         streamoff is just typedef a 64 bit signed integer type.
2595         (class fpos): Tweak consistently.
2596         * testsuite/27_io/fpos/14320-1.cc: New.
2597         * testsuite/27_io/fpos/14320-2.cc: New.
2598         * testsuite/27_io/fpos/14320-3.cc: New.
2599         * testsuite/27_io/fpos/14320-4.cc: New.
2600         * testsuite/27_io/fpos/14320-5.cc: New.
2601         * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
2602
2603 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
2604
2605         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2606         Reorganize a bit the main parsing loop, thus early detecting
2607         an empty value component.
2608         * testsuite/22_locale/money_get/get/char/16.cc: New.
2609         * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
2610
2611 2004-03-02  Benjamin Kosnik  <bkoz@redhat.com>
2612
2613         Support automake 1.8.2
2614         * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
2615         * po/Makefile.am (EXTRA_DIST): New.
2616         * po/Makefile.in: Regenerate.
2617         * Makefile.in: Same.
2618         * include/Makefile.in: Same.
2619         * libmath/Makefile.in: Same.
2620         * libsupc++/Makefile.in: Same.
2621         * src/Makefile.in: Same.
2622         * testsuite/Makefile.in: Same.
2623
2624         * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
2625         __GXX_WEAK__ instead of SUPPORTS_WEAK.
2626         (${host_builddir}/gthr-default.h): Same.
2627         (${host_builddir}/gthr.h): Same.
2628         * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
2629         _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
2630         -fno-weak.
2631         * aclocal.m4: Regenerate.
2632         * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
2633         * config.h.in: Regenerate.
2634         * configure: Same.
2635
2636 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
2637
2638         Support autoconf 2.59
2639         * acinclude.m4: Quote correctly.
2640         * aclocal.m4: Regenerate.
2641         * linkage.m4: Same.
2642
2643 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
2644
2645         * docs/html/test.html: Add multilib RUNTESTFLAGS example.
2646
2647         * docs/html/18_support/howto.html: Add bit about writing to
2648         stderr, mostly by Zack.
2649
2650 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
2651
2652         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
2653         money_get<>::do_get(string_type&)): ... and two more.
2654
2655 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
2656
2657         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2658         Fix thinkos in the switch from string_type& to string& as last
2659         argument.
2660
2661 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
2662
2663         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
2664         Also when parsing exponent sign, first look for thousands_sep
2665         and decimal_point; tweak a bit.
2666         * testsuite/22_locale/num_get/get/char/15.cc: New.
2667         * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
2668
2669         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2670         num_get<>::_M_extract_int): Reorder some conditionals.
2671
2672 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
2673
2674         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2675         Consistently with numpunct, enforce the requirements in
2676         22.2.6.3, p3 for the thousands separators; tweak a bit.
2677         * testsuite/22_locale/money_get/get/char/15.cc: New.
2678         * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
2679
2680 2004-03-01  David Billinghurst <David.Billinghurst@riotinto.com>
2681
2682         * testsuite/lib/libstdc++.exp (v3-list-tests): Use
2683         testsuite_files from correct multilib blddir when running
2684         testsuite.
2685
2686 2004-02-29  Phil Edwards  <phil@codesourcery.com>
2687
2688         * testsuite/Makefile.am (check-abi, check-abi-verbose):  Copy
2689         the summary file to the logfile.
2690         * testsuite/Makefile.in:  Regenerate.
2691
2692 2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2693
2694         * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
2695         volatile.
2696         * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
2697         __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
2698
2699 2004-02-28  Paolo Carlini  <pcarlini@suse.de>
2700
2701         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
2702         According to 22.2.3.1, p2, 'units' may be followed by 'e' with
2703         no 'decimal-point' in the middle: in this case too we must fix
2704         up __found_grouping; slightly tweak.
2705         * testsuite/22_locale/num_get/get/char/14.cc: New.
2706         * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
2707
2708 2004-02-27  Eric Christopher  <echristo@redhat.com>
2709             Phil Edwards  <phil@codesourcery.com>
2710
2711         * testsuite/22_locale/collate/compare/wchar_t/2.cc,
2712         testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
2713         testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
2714         testsuite/22_locale/collate/hash/wchar_t/2.cc,
2715         testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
2716         testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
2717         testsuite/22_locale/collate/transform/wchar_t/2.cc,
2718         testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
2719         testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
2720         Use dg-require-iconv.
2721         * testsuite/lib/libstdc++.exp:  Load target-supports.exp.
2722
2723 2004-02-27  Phil Edwards  <phil@codesourcery.com>
2724             Eric Christopher  <echristo@redhat.com>
2725
2726         * testsuite/config/default.exp:  Update with comments.
2727         (${tool}_target_compile):  New wrapper routine.
2728         * testsuite/lib/dg-options.exp:  New file, with dg-require-iconv.
2729         * testsuite/lib/libstdc++.exp:  Update with comments and cosmetic
2730         fixes.
2731         (load_gcc_lib, v3track):  New routines.
2732         (v3-init):  Rename to libstdc++_init.
2733         * testsuite/libstdc++-dg/normal.exp:  No longer call v3-init.
2734         Move DEFAULT_CXXFLAGS handling into libstdc++_init.
2735
2736 2004-02-27  Benjamin Kosnik  <bkoz@redhat.com>
2737
2738         * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
2739
2740         * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
2741
2742         * config/os/irix/irix5.2/atomicity.h: Merge..
2743         * config/os/irix/irix6.5/atomicity.h: Merge..
2744         * config/os/irix/atomicity.h: ...into this.
2745         * config/os/irix/atomic_word.h: New.
2746         * configure.host: Set atomic_word_dir for irix.
2747
2748         * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
2749         * i386/atomicity.h: Same.
2750         * m68k/atomicity.h: Same.
2751         * sparc/atomicity.h: Same.
2752
2753 2004-02-27  David Edelsohn  <edelsohn@gnu.org>
2754
2755         * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
2756         static, and inline keywords.
2757
2758 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
2759
2760         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2761         num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
2762         call reserve on the __tmp_gruping string.
2763         (num_get<>::_M_extract_float): Don't append unnecessarily a
2764         char() to the returned string.
2765         * include/bits/locale_facets.tcc: Trivial reformattings.
2766
2767 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
2768
2769         * include/bits/locale_facets.h (money_get<>::_M_extract):
2770         Change signature: now takes a plain string&.
2771         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2772         Update consistently the definition; use the moneypunct cache
2773         to parse the value; use swap to change __units.
2774         (money_get<>::do_get(long double&)): Update call of _M_extract,
2775         avoid ctype::narrow, not correct wrt the standard.
2776         (money_get<>::do_get(string_type&)): Likewise, update call
2777         of _M_extract, use ctype::widen.
2778         * src/locale-inst.cc: Tweak instantiations of _M_extract.
2779
2780 2004-02-26  Ian Lance Taylor  <ian@wasabisystems.com>
2781
2782         * testsuite/demangle/abi_examples/01.cc: Expect error -2.
2783         * testsuite/demangle/abi_examples/02.cc: Likewise.
2784         * testsuite/demangle/regression/cw-11.cc: Likewise.
2785         * testsuite/demangle/regression/cw-16.cc: Change two expected
2786         results to match libiberty demangler output.
2787
2788 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
2789
2790         PR libstdc++/10246
2791         * libsupc++/Makefile.am: Use libiberty demangler.
2792         (c_sources): Add cp-demangle.c.
2793         * libsupc++/Makefile.in: Regenerate.
2794         * src/Makefile.am (sources): Remove demangle.cc.
2795         * src/Makefile.in: Regenerate.
2796         * include/Makefile.am (bits_headers): Move demangle.h.
2797         (ext_headers): ...here.
2798         * include/Makefile.in: Regenerate.
2799         * include/bits/demangle.h: Move...
2800         * include/ext/demangle.h: ...here.
2801         * src/demangle.cc: Remove.
2802
2803 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
2804
2805         * include/bits/demangle.h: Add type template parameter to all
2806         templates with just an Allocator template parameter.
2807
2808 2004-02-25  Benjamin Kosnik  <bkoz@redhat.com>
2809
2810         * include/bits/atomicity.h: New, forward declarations for __atomic_add
2811         and __exchange_and_add.
2812         * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
2813         * config/cpu/cris/atomic_word.h: Same.
2814         * config/cpu/sparc/atomic_word.h: Same.
2815         * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
2816         Qualifiy with __gnu_cxx.
2817         (_Callback_list::_M_add_reference): Same.
2818         * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
2819         (locale::facet::_M_remove_reference): Same.
2820         (locale::_Impl::_M_add_reference): Add.
2821         (locale::_Impl::_M_remove_reference): Same.
2822         * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
2823         (basic_string::_Rep::_M_dispose): Same.
2824         * src/ios.cc (ios_base::xalloc): Same.
2825         * src/ios_init.cc (ios_base::Init::Init): Same.
2826         (ios_base::Init::~Init): Same.
2827         * src/locale.cc (locale::id::_M_id): Same.
2828         * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
2829         static, and inline keywords.
2830         * config/cpu/alpha/atomicity.h: Same.
2831         * config/cpu/cris/atomicity.h: Same.
2832         * config/cpu/generic/atomicity.h: Same.
2833         * config/cpu/hppa/atomicity.h: Same.
2834         * config/cpu/i386/atomicity.h: Same.
2835         * config/cpu/ia64/atomicity.h: Same.
2836         * config/cpu/m68k/atomicity.h: Same.
2837         * config/cpu/mips/atomicity.h: Same.
2838         * config/cpu/powerpc/atomicity.h: Same.
2839         * config/cpu/s390/atomicity.h: Same.
2840         * config/cpu/sparc/atomicity.h: Same.
2841
2842         * src/Makefile.am (host_sources): Add atomicity.cc.
2843         (atomicity.cc): New rule.
2844         * src/Makefile.in: Regenerate.
2845         * include/Makefile.am (host_headers): Remove host atomicity.h.
2846         (host_headers): Add atomic_word.h.
2847         (bits_headers): Add bits atomicity.h.
2848         Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
2849         * include/Makefile.in: Regenerate.
2850         * configure.host (atomic_word_dir): Add.
2851         * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
2852         ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
2853         * configure: Regenerate.
2854         * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
2855
2856         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
2857         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
2858
2859 2004-02-25  Jonathan Wakely  <redi@gcc.gnu.org>
2860
2861         * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
2862         docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
2863         Fix markup, more <link> tags.
2864
2865 2004-02-25  Carlo Wood  <carlo@alinoe.com>
2866
2867         * bits/demangle.h
2868         namespace __gnu_cxx::demangler
2869         (session<Allocator>::qualifier_list_Allocator): Add
2870         (session<Allocator>::M_qualifier_list_alloc): Add
2871         (session<Allocator>::decode_type_with_postfix):
2872         Use M_qualifier_list_alloc instead of calling operator new/delete.
2873
2874 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
2875
2876         PR libstdc++/14252
2877         * include/bits/postypes.h (class streamoff): Add operator++(),
2878         operator++(int), operator--() and operator--(int).
2879         * testsuite/27_io/fpos/14252.cc: New.
2880
2881 2004-02-24  Richard Sandiford  <rsandifo@redhat.com>
2882
2883         * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
2884         error in handling of hex constants.
2885
2886 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
2887
2888         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
2889         Prefer basic_string::append to operator+= and a temporary.
2890
2891 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
2892
2893         * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
2894         Only use fputs, not write.
2895
2896 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
2897
2898         * include/ext/malloc_allocator.h: Add operators ==, !=.
2899         * include/ext/new_allocator.h: Add operators ==, !=.
2900         * include/ext/mt_allocator.h (__mt_alloc::tune): New.
2901         (__mt_alloc::_S_get_options): New.
2902         (__mt_alloc::_S_set_options): New.
2903         (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
2904         (__mt_alloc::_S_no_of_bins): To _S_bin_size.
2905         Move functions out of line, simplify, format.
2906         * src/allocator.cc: Simplify explicit instantiations.
2907         * include/bits/allocator.h: Tweak.
2908
2909 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
2910
2911         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
2912         Restructure formatting of value component, first dealing with
2913         the non-decimal digits; use reserve.
2914
2915 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
2916
2917         * include/bits/locale_facets.h (class money_get): Inherit
2918         from money_base too; tweak declaration of _M_extract, now
2919         parameterized on _Intl too.
2920         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2921         Update definition to use the cache; call reserve on __res to
2922         avoid multiple reallocations; fix parsing of sign component
2923         according to 22.2.6.1.2, p3.
2924         (money_get<>::do_get(long double&),
2925         money_get<>::do_get(string_type&)): Update calls of _M_extract.
2926         * src/locale-inst.cc:  Add instantiations of
2927         money_get::_M_extract<false> and money_get::_M_extract<true>.
2928         * testsuite/22_locale/money_get/get/char/14.cc: New.
2929         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
2930
2931 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
2932
2933         * libsupc++/vterminate.cc
2934         (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
2935         calls to terminate.
2936         * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
2937
2938         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
2939         not set RLIMIT_AS on HP-UX.
2940
2941 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
2942
2943         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
2944         not set RLIMIT_AS on HP-UX.
2945
2946 2004-02-21  Paolo Carlini  <pcarlini@suse.de>
2947
2948         * include/bits/locale_facets.h (class money_base): Add { _S_minus,
2949         _S_zero, _S_end } enum, _S_atoms.
2950         (struct __moneypunct_cache<>): Parameterize on _Intl too; add
2951         _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
2952         _M_negative_sign_size, _M_atoms; tweak constructor consistently.
2953         (__moneypunct_cache<>::~__moneypunct_cache): Update.
2954         (__moneypunct_cache<>::_M_cache): Fill the cache.
2955         (class moneypunct): Tweak __cache_type typedef.
2956         (class money_put): Inherit from money_base too; tweak declaration
2957         of _M_insert, now parameterized on _Intl.
2958         * include/bits/locale_facets.tcc
2959         (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
2960         (money_put<>::_M_insert): Update definition to use the cache;
2961         call reserve on __res to avoid multiple reallocations.
2962         (money_put<>::do_put(long double),
2963         money_put<>::do_put(const string_type&): Update calls of _M_insert.
2964         * config/locale/generic/monetary_members.cc
2965         (moneypunct<char, true>::_M_initialize_moneypunct,
2966         moneypunct<char, false>::_M_initialize_moneypunct,
2967         moneypunct<wchar_t, true>::_M_initialize_moneypunct,
2968         moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
2969         * config/locale/gnu/monetary_members.cc: Likewise.
2970         * config/locale/gnu/monetary_members.cc
2971         (moneypunct<wchar_t, true>::~moneypunct(),
2972         moneypunct<wchar_t, false>::~moneypunct()): Likewise.
2973         * src/globals_locale.cc: Tweak fake_money_cache_c.
2974         * src/locale-inst.cc: Add instantiations for
2975         money_put::_M_insert<false> and money_put::_M_insert<true> and
2976         __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
2977         * src/locale_facets.cc: Define money_base::_S_atoms.
2978         * src/locale_init.cc: Update placement new of
2979         __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
2980         __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
2981
2982         * config/locale/generic/numeric_members.cc: Clean up.
2983         * config/locale/gnu/numeric_members.cc: Likewise.
2984         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2985         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2986         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2987         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2988         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2989         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2990
2991 2004-02-20  Mark Mitchell  <mark@codesourcery.com>
2992
2993         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
2994         FIFO for writing with ios_base::in|ios_base::out.
2995         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
2996         * testsuite/27_io/objects/char/7.cc: Likewise.
2997         * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
2998         with "r+".
2999
3000 2004-02-19  David Edelsohn  <edelsohn@gnu.org>
3001
3002         * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
3003         from iso-8859-1 to ISO8859-1.
3004         * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
3005         * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
3006         * 22_locale/collate/hash/wchar_t/2.cc: Same.
3007         * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
3008         * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
3009         * 22_locale/collate/transform/wchar_t/2.cc: Same.
3010         * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
3011         * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
3012
3013 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
3014
3015         * include/bits/locale_facets.h (money_get<>::_M_extract):
3016         New, helper for do_get.
3017         (money_put<>::_M_insert): Likewise, for do_put.
3018         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
3019         money_put<>::_M_insert): Define.
3020         (money_get<>::do_get(long double&), money_get<>::do_get(
3021         string_type&), money_put::do_put(long double),
3022         money_put::do_put(const string_type&)): Use the helpers.
3023
3024 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
3025
3026         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
3027         Rewrite, avoiding recursion.
3028         (__gnu_internal::xwrite): Minor tweaks.
3029
3030 2004-02-17  Stefan Olsson  <stefan@xapa.se>
3031
3032         * include/ext/mt_allocator.h: Removed the last
3033         pointer. Deallocated blocks are now added to the front of
3034         freelists as proposed by Felix Yen.  This gives roughly 10%
3035         performance boost and saves some memory.
3036         * docs/html/ext/mt_allocator.html: Change due to that deallocated
3037         blocks now are added to the front of freelists. The reason to this
3038         approach is also explained.
3039
3040 2004-02-17  Paolo Carlini  <pcarlini@suse.de>
3041
3042         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
3043         num_get<>::_M_extract_int, money_get<>::do_get): Simplify
3044         grouping fidelity conditional.
3045
3046 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
3047
3048         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
3049         Qualify exception with std::.
3050         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
3051         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
3052         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
3053         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
3054         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
3055
3056 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
3057
3058         * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
3059         for now that the catch block is not reached.
3060         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
3061
3062 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
3063
3064         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
3065         Fix parsing of the remaining sign characters.
3066         * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
3067         the input is scanned 'til eof.
3068         * 22_locale/money_get/get/char/4.cc: Likewise.
3069         * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
3070         * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
3071         * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
3072         not do_pos_format: the former is the only one that matters during
3073         input.
3074         * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
3075
3076         * 22_locale/money_get/get/char/6.cc: Minor tweak.
3077         * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
3078
3079 2004-02-15  David Asher  <david.asher@cavium.com>
3080
3081         PR libstdc++/11352
3082         * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
3083         access __olds beyond __oldlen.
3084
3085 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
3086
3087         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
3088         sure the exception is actually thrown.
3089         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
3090         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
3091         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
3092
3093 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
3094
3095         PR libstdc++/13858
3096         * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
3097         In case of conversion errors, throw ios_failure; simplify.
3098         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
3099         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
3100         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
3101         previously we didn't throw in case of conversion errors, instead
3102         just returned eof().
3103         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
3104         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
3105         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
3106
3107         * include/bits/fstream.tcc (basic_filebuf<>::overflow):
3108         Trivial simplification of a conditional.
3109
3110 2004-02-12  Paolo Carlini  <pcarlini@suse.de>
3111
3112         PR libstdc++/13731 (final part: writev)
3113         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
3114         New, a wrapper around writev() handling partial writes.
3115         (__basic_file<char>::xwrite): Move to __gnu_internal and make
3116         static.
3117         (__basic_file<char>::xsputn): Update call.
3118         (__basic_file<char>::xsputn_2): Likewise.
3119         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
3120         Don't declare, now static.
3121
3122 2004-02-11  Stefan Olsson  <stefan@xapa.se>
3123
3124         * docs/html/ext/mt_allocator.html: New.
3125
3126 2004-02-11  Benjamin Kosnik  <bkoz@redhat.com>
3127
3128         * docs/html/20_util/allocator.html: New file, consolidate
3129         allocator information here. Revamp.
3130         * docs/html/documentation.html: Change links.
3131         * docs/html/20_util/howto.html: Same.
3132         * docs/html/ext/howto.html: Same.
3133
3134 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
3135
3136         PR libstdc++/13731 (first part: write)
3137         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
3138         New, declare.
3139         * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
3140         Define it: a wrapper around write() handling partial write.
3141         (__basic_file<char>::xsputn): Use it.
3142         (__basic_file<char>::xsputn_2): Likewise.
3143
3144 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
3145             Petur Runolfsson  <peturr02@ru.is>
3146
3147         PR libstdc++/14078
3148         * include/std/std_istream.h (operator>>(__istream_type& (*)
3149         (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
3150         operator>>(ios_base& (*)(ios_base&))): Declare inline.
3151         * include/std/std_ostream.h (operator<<(__ostream_type& (*)
3152         (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
3153         operator<<(ios_base& (*) (ios_base&))): Likewise.
3154         * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
3155
3156 2004-02-10  Loren J. Rittle  <ljrittle@acm.org>
3157
3158         PR libstdc++/14098
3159         * config/linker-map.gnu: Add typeinfo and typeinfo name for
3160         __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
3161
3162         PR libstdc++/14097
3163         * config/linker-map.gnu: Add typeinfo and typeinfo name for
3164         __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
3165
3166 2004-02-09  Loren J. Rittle  <ljrittle@acm.org>
3167
3168         * include/ext/pool_allocator.h: Include c++config.h.
3169
3170 2004-02-09  Stefan Olsson  <stefan@xapa.se>
3171
3172         * include/ext/mt_allocator.h: thread_id is unused in non threaded
3173         applications and now has a ifdef to remove it completely on
3174         compilers without thread support. Include stdlib.h due to a
3175         compiler warning on getenv().
3176
3177 2004-02-09  Paul Brook  <paul@codesourcery.com>
3178
3179         * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
3180
3181 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
3182
3183         PR libstdc++/14071
3184         * src/locale_init.cc (locale::global(const locale&)): Use
3185         locale::name() in order to decide whether calling setlocale.
3186         * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
3187
3188         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
3189         Avoid computing &= unnecessarily.
3190
3191 2004-02-09  James E Wilson  <wilson@specifixinc.com>
3192
3193         PR libstdc++/5625
3194         * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
3195         __builtin_extend_pointer.
3196
3197 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
3198
3199         PR libstdc++/14072
3200         * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
3201         Don't leave dangling pointers.
3202         * testsuite/27_io/basic_ios/imbue/14072.cc: New.
3203         * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
3204         facet is needed in the final test.
3205
3206 2004-02-09  Bernardo Innocenti  <bernie@develer.com>
3207
3208         * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
3209         * configure: Regenerate.
3210
3211 2004-02-08  Richard Henderson  <rth@redhat.com>
3212
3213         PR libstdc++/14026
3214         * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
3215         uncaughtExceptions during nested catch rethrow.
3216         * testsuite/18_support/14026.cc: New.
3217
3218 2004-02-08  Paolo Carlini  <pcarlini@suse.de>
3219
3220         * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
3221         When working in place remember to set the state to sharable
3222         (otherwise, _M_mutate does it).
3223
3224 2004-02-08  Bernardo Innocenti  <bernie@develer.com>
3225
3226         * include/bits/allocator.h, include/bits/basic_ios.h,
3227         include/bits/basic_ios.tcc, include/bits/basic_string.h,
3228         include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
3229         include/bits/char_traits.h, include/bits/codecvt.h,
3230         include/bits/concurrence.h, include/bits/cpp_type_traits.h,
3231         include/bits/demangle.h, include/bits/deque.tcc,
3232         include/bits/fstream.tcc, include/bits/functexcept.h,
3233         include/bits/gslice.h, include/bits/gslice_array.h,
3234         include/bits/indirect_array.h, include/bits/ios_base.h,
3235         include/bits/istream.tcc, include/bits/list.tcc,
3236         include/bits/locale_classes.h, include/bits/locale_facets.h,
3237         include/bits/locale_facets.tcc, include/bits/localefwd.h,
3238         include/bits/mask_array.h, include/bits/ostream.tcc,
3239         include/bits/postypes.h, include/bits/slice_array.h,
3240         include/bits/sstream.tcc, include/bits/stl_algo.h,
3241         include/bits/stl_algobase.h, include/bits/stl_bvector.h,
3242         include/bits/stl_construct.h, include/bits/stl_deque.h,
3243         include/bits/stl_function.h, include/bits/stl_heap.h,
3244         include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
3245         include/bits/stl_list.h, include/bits/stl_map.h,
3246         include/bits/stl_multimap.h, include/bits/stl_multiset.h,
3247         include/bits/stl_numeric.h, include/bits/stl_pair.h,
3248         include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
3249         include/bits/stl_relops.h, include/bits/stl_set.h,
3250         include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
3251         include/bits/stl_threads.h, include/bits/stl_tree.h,
3252         include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
3253         include/bits/stream_iterator.h, include/bits/streambuf.tcc,
3254         include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
3255         include/bits/type_traits.h, include/bits/valarray_after.h,
3256         include/bits/valarray_array.h, include/bits/valarray_array.tcc,
3257         include/bits/valarray_before.h, include/bits/vector.tcc: Remove
3258         trailing whitespace.
3259
3260 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
3261
3262         * include/bits/basic_string.h: Fix comment.
3263
3264 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
3265
3266         * include/bits/stl_construct.h: Wrap overlong lines, reformat
3267         according to the coding standards.
3268         * include/bits/stl_pair.h: Likewise.
3269         * include/bits/stl_raw_storage_iter.h: Likewise.
3270         * include/bits/stl_stack.h: Likewise.
3271         * include/bits/stl_uninitialized.h: Likewise.
3272         * include/bits/stream_iterator.h: Likewise.
3273         * include/bits/streambuf_iterator.h: Likewise.
3274         * include/bits/type_traits.h: Likewise.
3275
3276 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
3277
3278         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
3279         Adjust timings.
3280
3281 2004-02-05  Loren J. Rittle  <ljrittle@acm.org>
3282
3283         * scripts/check_performance: Support PCH.
3284
3285         * scripts/check_performance (CXX): Add -DNOTHREAD.
3286         * testsuite/performance/20_util/allocator/insert.cc: Integrate
3287         threaded tests from insert_insert.cc.  Tweak iterations,
3288         remove special cases.
3289         * testsuite/performance/20_util/allocator/insert_insert.cc:
3290         Make all tests single-threaded. Tweak iterations.
3291         * testsuite/performance/20_util/allocator/map_thread.cc:
3292         Tweak iterations.
3293         * testsuite/performance/20_util/allocator/producer_consumer.cc:
3294         Likewise.
3295
3296 2004-02-05  Geoffrey Keating  <geoffk@apple.com>
3297
3298         PR 12179
3299         * .cvsignore: New.
3300         * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
3301         'gcc-lib'.  Add comment about poorly-named variables.
3302         * aclocal.m4: Regenerate.
3303         * configure: Regenerate.
3304
3305 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
3306
3307         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
3308         Thousands-sep are always optional; thousands-sep are not allowed
3309         after the decimal_point.
3310         * testsuite/22_locale/money_get/get/char/12.cc: New.
3311         * testsuite/22_locale/money_get/get/char/13.cc: New.
3312         * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
3313         * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
3314
3315         * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
3316         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
3317         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
3318         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
3319         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
3320         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
3321         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
3322         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
3323
3324         * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
3325         the standard.
3326         * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
3327
3328 2004-02-05  Richard Sandiford  <rsandifo@redhat.com>
3329
3330         * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
3331         Define.
3332         * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
3333         it to decide whether FIONREAD should take an off_t or int argument.
3334
3335 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
3336
3337         * include/bits/stl_function.h: Minor formatting changes.
3338
3339 2004-02-04  Zack Weinberg  <zack@codesourcery.com>
3340
3341         Revert previous change to config/abi/*/baseline_symbols.txt.
3342
3343 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
3344             Zack Weinberg  <zack@codesourcery.com>
3345
3346         * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
3347         New function.
3348         (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
3349         (__basic_file<char>::_M_open_mode): Delete.
3350         * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
3351
3352         * testsuite/27_io/basic_filebuf/close/char/9964.cc
3353         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
3354         Correct flags to filebuf::open calls.
3355
3356         * config/abi/alpha-freebsd5/baseline_symbols.txt
3357         * config/abi/alpha-linux-gnu/baseline_symbols.txt
3358         * config/abi/hppa-linux-gnu/baseline_symbols.txt
3359         * config/abi/i386-freebsd4/baseline_symbols.txt
3360         * config/abi/i386-freebsd5/baseline_symbols.txt
3361         * config/abi/i486-linux-gnu/baseline_symbols.txt
3362         * config/abi/ia64-linux-gnu/baseline_symbols.txt
3363         * config/abi/mips-linux-gnu/baseline_symbols.txt
3364         * config/abi/sparc-freebsd5/baseline_symbols.txt
3365         * config/abi/sparc-linux-gnu/baseline_symbols.txt
3366         * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
3367         Remove entry for __basic_file<char>::_M_open_mode.
3368
3369 2004-02-04  Loren J. Rittle  <ljrittle@acm.org>
3370
3371         * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
3372
3373 2004-02-04  Felix Yen  <fwy@alumni.brown.edu>
3374
3375         * testsuite/performance/20_util/producer_consumer.cc: New.
3376         * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
3377
3378 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
3379
3380         * testsuite/performance/20_util/allocator.cc: Move to..
3381         * testsuite/performance/20_util/allocator/insert.cc: ...here.
3382         * testsuite/performance/20_util/allocator_thread.cc: Move to...
3383         * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
3384         * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
3385         * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
3386
3387 2004-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
3388
3389         * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
3390         * docs/html/faq/index.txt: Regenerate.
3391
3392 2004-02-04  Dhruv Matani  <dhruvbird@gmx.net>
3393
3394         * include/ext/debug_allocator.h: _M_extra now stands for the
3395         number of extra objects instead of the number of extra bytes.
3396         (debug_allocator::allocate): Adjust.
3397         (debug_allocator::deallocate): Adjust.
3398
3399         * include/ext/pool_allocator.h: Fix typo.
3400
3401 2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
3402             Benjamin Kosnik  <bkoz@redhat.com>
3403
3404         * testsuite/performance/20_util/allocator.cc: Add map,
3405         deque, set tests.
3406         * testsuite/performance/20_util/allocator_thread.cc: Same.
3407
3408 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
3409
3410         * include/bits/basic_string.h (insert(iterator)): Remove,
3411         non-standard and already scheduled for removal.
3412
3413 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
3414
3415         * include/bits/stl_iterator_base_funcs.h: Minor formatting
3416         and indentation tweaks.
3417         * include/bits/stl_iterator_base_types.h: Likewise.
3418         * include/bits/stl_list.h: Likewise.
3419         * include/bits/stl_map.h: Likewise.
3420         * include/bits/stl_tempbuf.h: Likewise.
3421
3422 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
3423
3424         * include/bits/gslice.h, include/bits/gslice_array.h,
3425         include/bits/indirect_array.h, include/bits/mask_array.h,
3426         include/bits/slice_array.h, include/bits/stl_numeric.h,
3427         include/std/std_valarray.h:  Update copyright years.
3428
3429 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
3430
3431         * include/bits/gslice.h (gslice):  Document.
3432         * include/bits/gslice_array.h (gslice_array):  Document.
3433         * include/bits/indirect_array (indirect_array):  Document.
3434         * include/bits/mask_array (mask_array):  Document.
3435         * include/bits/slice_array.h (slice,slice_array):  Document.
3436         * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
3437         adjacent_difference):  Document
3438         * include/std/std_valarray.h (valarray):  Document.
3439
3440 2004-02-02  Benjamin Kosnik  <bkoz@redhat.com>
3441
3442         * docs/html/19_diagnostics/howto.html: Move verbose terminate
3443         documentation...
3444         * docs/html/18_support/howto.html: Here.
3445         * docs/html/documentation.html: Add reference here.
3446
3447 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
3448
3449         * config/locale/gnu/c++locale_internal.h: Remove prototypes
3450         of no longer used GLIBC thread locale functions.
3451
3452 2004-02-02  Eric Christopher  <echristo@redhat.com>
3453             Zack Weinberg  <zack@codesourcery.com>
3454
3455         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
3456         -finput-charset.
3457         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
3458         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
3459         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
3460         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
3461         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
3462         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
3463         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
3464         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
3465         Ditto.
3466
3467 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
3468
3469         * include/bits/stl_function.h: Additional minor tweaks.
3470         * include/bits/stl_multiset.h: Likewise.
3471
3472         * include/bits/stl_queue.h: Minor tweaks.
3473
3474 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
3475
3476         PR libstdc++/13976 (continued)
3477         * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
3478         Make the second parameter unnamed, to void unused parameter
3479         warnings.
3480         * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
3481
3482 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
3483
3484         PR libstdc++/13976
3485         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
3486         Make the second parameter unnamed, to void unused parameter
3487         warnings.
3488         * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
3489         * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
3490
3491 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
3492
3493         * include/bits/stl_algo.h: Additional minor tweaks.
3494         * include/bits/stl_map.h: Likewise.
3495         * include/bits/stl_multimap.h: Likewise.
3496         * include/bits/stl_multiset.h: Likewise.
3497         * include/bits/stl_set.h: Likewise.
3498         * include/bits/stl_tree.h: Likewise.
3499
3500 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
3501
3502         * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
3503         Remove, unused.
3504
3505 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
3506
3507         * include/bits/stl_function.h: Additional minor tweaks.
3508
3509 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
3510
3511         * include/bits/deque.tcc: Wrap overlong lines, constify
3512         a few variables, reformat according to the coding standards.
3513         * include/bits/list.tcc: Likewise.
3514         * include/bits/stl_deque.h: Likewise.
3515         * include/bits/stl_function.h: Likewise.
3516         * include/bits/stl_iterator.h: Likewise.
3517         * include/bits/stl_iterator_base_funcs.h: Likewise.
3518         * include/bits/stl_iterator_base_types.h: Likewise.
3519         * include/bits/stl_list.h: Likewise.
3520         * include/bits/stl_map.h: Likewise.
3521         * include/bits/stl_multimap.h: Likewise.
3522         * include/bits/stl_multiset.h: Likewise.
3523         * include/bits/stl_relops.h: Likewise.
3524         * include/bits/stl_set.h: Likewise.
3525
3526 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
3527
3528         * include/bits/stl_bvector.h: Wrap overlong lines, constify
3529         a few variables, reformat according to the coding standards.
3530         * include/bits/stl_tree.h: Likewise.
3531
3532 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
3533
3534         * include/bits/stl_algo.h: Minor additional reformat, add
3535         copyright year.
3536         * include/bits/stl_algobase.h: Add copyright year.
3537
3538 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
3539
3540         * include/bits/stl_algo.h: Wrap overlong lines, constify
3541         a few variables, reformat according to the coding standards.
3542         * include/bits/stl_algobase.h: Likewise.
3543         * include/bits/stl_heap.h: Likewise.
3544
3545 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
3546
3547         * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
3548
3549         * include/bits/basic_string.h: Fix two comments.
3550
3551 2004-01-31  Per Bothner  <per@bothner.com>
3552
3553         * include/ext/mt_allocator.h
3554         (__mt_alloc::_S_thread_freelist_mutex): Guard with
3555         __GTHREAD_MUTEX_INIT.
3556
3557 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
3558
3559         * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
3560
3561 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
3562
3563         * testsuite/21_strings/basic_string/cons/char/6.cc: New.
3564         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
3565         * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
3566
3567 2004-01-30  Felix Yen  <fwy@alumni.brown.edu>
3568
3569         * testsuite/performance/20_util/allocator_thread.cc (do_loop):
3570         Don't use clear, but instead assign. Use insert.
3571
3572 2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>
3573
3574         * src/demangle.cc: Add instantiations.
3575         * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
3576         * src/Makefile.in: Regenerate.
3577
3578 2004-01-30  David Edelsohn  <edelsohn@gnu.org>
3579
3580         * src/allocator.cc: Protect _S_get_thread_id() and
3581         _S_thread_key_destr() with #ifdef __GTHREADS.
3582
3583 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
3584
3585         Reshuffle performance testsuite.
3586         * testsuite/performance/allocator.cc, allocator_map_thread.cc,
3587         allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
3588         cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
3589         fstream_seek_write.cc, ifstream_extract_float.cc,
3590         ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
3591         list_create_fill_sort.cc, map_create_fill.cc,
3592         narrow_widen_char.cc, narrow_widen_wchar_t.cc,
3593         ofstream_insert_float.cc, ofstream_insert_int.cc,
3594         string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
3595         wchar_t_out.cc: Split into...
3596         * testsuite/performance/20_util/allocator.cc: New.
3597         * testsuite/performance/20_util/allocator_map_thread.cc: New.
3598         * testsuite/performance/20_util/allocator_thread.cc: New.
3599         * testsuite/performance/21_strings/string_append: New.
3600         * testsuite/performance/22_locale/is_wchar_t.cc: New.
3601         * testsuite/performance/22_locale/narrow_widen_char.cc: New.
3602         * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
3603         * testsuite/performance/22_locale/wchar_t_in.cc: New.
3604         * testsuite/performance/22_locale/wchar_t_length.cc: New.
3605         * testsuite/performance/22_locale/wchar_t_out.cc: New.
3606         * testsuite/performance/23_containers/container_benchmark.cc: New.
3607         * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
3608         * testsuite/performance/23_containers/map_create_fill.cc: New.
3609         * testsuite/performance/26_numerics/complex_norm.cc: New.
3610         * testsuite/performance/27_io/cout_insert_int.cc: New.
3611         * testsuite/performance/27_io/filebuf_copy.cc: New.
3612         * testsuite/performance/27_io/filebuf_sputc.cc: New.
3613         * testsuite/performance/27_io/fstream_seek_write.cc: New.
3614         * testsuite/performance/27_io/ifstream_extract_float.cc: New.
3615         * testsuite/performance/27_io/ifstream_extract_int.cc: New.
3616         * testsuite/performance/27_io/ifstream_getline.cc: New.
3617         * testsuite/performance/27_io/ofstream_insert_float.cc: New.
3618         * testsuite/performance/27_io/ofstream_insert_int.cc: New.
3619
3620 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
3621
3622         * include/bits/basic_string.tcc (_Rep::_S_create):
3623         Never allocate a string bigger than max_size(); always keep
3624         __capacity and __size in sync to avoid memory leaks at
3625         deallocation time.
3626
3627 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
3628
3629         * include/bits/basic_string.tcc (_S_construct(_InIterator,
3630         _InIterator, const _Alloc&, input_iterator_tag)): Simplify
3631         the double loop, streamline.
3632
3633         * include/bits/basic_string.tcc: Very minor tweaks.
3634
3635 2004-01-30  Loren J. Rittle  <ljrittle@acm.org>
3636
3637         * scripts/check_performance: Only compile with $THREAD_FLAG
3638         when test is marked to require it.  Allow multiple
3639         compilations/executions of marked tests.
3640         * testsuite/testsuite_performance.h (report_performance):
3641         Report dynamic thread support status.
3642         (report_header): Likewise.
3643         * testsuite/performance/allocator.cc: Stabilize iteration
3644         count.  Support more allocators.  Mark each allocator test to
3645         run and report independently.
3646         * testsuite/performance/allocator_map_thread.cc: Likewise.
3647         * testsuite/performance/allocator_thread.cc: Likewise.
3648
3649 2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>
3650
3651         * config/local/generic/c_locale.h: Change ::malloc() to new char[].
3652         * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
3653         * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
3654         std::get_temporary_buffer() instead of duplicating its code.
3655         Update to C++STYLE conventions.
3656         * include/std/std_memory.h (get_temporary_buffer): Use ::operator
3657         new() instead of std::malloc().
3658         (return_temporary_buffer): Use ::operator delete() instead of
3659         std::free().
3660
3661 2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>
3662
3663         * include/bits/allocator.h: Temporary switch to new_allocator as
3664         the default to unjam bootstraps.
3665
3666 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
3667
3668         * include/Makefile.am (bits_headers): Remove allocator_traits.h.
3669         * include/Makefile.in: Regenerate.
3670         * include/bits/allocator_traits.h: Remove.
3671         * include/bits/allocator.h: Remove allocator_traits.h include, and
3672         relevant comments.
3673         (allocator): Empty base class, inherit from the underlying allocator.
3674         * src/allocator-inst.cc: Move __pool_alloc instantiation to...
3675         * src/allocator.cc: ...here. New. For the underlying allocators.
3676         Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
3677         * config/linker-map.gnu: Remove __pool_alloc bits.
3678         * src/Makefile.am (sources): Add allocator.cc.
3679         * src/Makefile.in: Regenerate.
3680         * testsuite/20_util/allocator/1.cc: Split second test into...
3681         * testsuite/20_util/allocator/8230.cc: ...this.
3682         * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
3683         typedef to use std::allocatore. Format.
3684         * include/ext/pool_allocator.h: Remove allocator_traits.h include,
3685         _Alloc_traits.
3686         * include/ext/mt_allocator.h (__gnu_cxx): Qualify
3687         __throw_bad_alloc calls. Don't include <memory>.
3688         * include/ext/malloc_allocator.h: Remove <memory> include.
3689         * include/ext/new_allocator.h (new_allocator): Same.
3690         * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
3691         declaration. Switch __alloc to _Alloc.
3692         * include/ext/hashtable.h: Remove __alloc.
3693         * include/backward/alloc.h: Only inject allocator, not
3694         implementation details.
3695
3696         * include/ext/mt_allocator.h: Replace free with delete.
3697
3698 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
3699
3700         * src/globals_io.cc: Change to __gnu_internal namespace.
3701         * src/globals_locale.cc: Same.
3702         * src/locale_init.cc: Same.
3703         * src/ios_init.cc: Same.
3704
3705 2004-01-28  Stefan Olsson  <stefan@snon.net>
3706
3707         * include/ext/mt_allocator.h: Replaced all malloc() calls with
3708         operator new(). Added support for the env variable
3709         GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
3710         one in allocate() as well). Fix typos.
3711
3712 2004-01-28  Paolo Carlini  <pcarlini@suse.de>
3713
3714         * include/bits/basic_string.h (_S_create(size_t,
3715         const _Alloc&): Change signature to take two size_type
3716         arguments.
3717         * include/bits/basic_string.tcc (_S_construct(_InIterator,
3718         _InIterator, const _Alloc&, input_iterator_tag)): Update
3719         call, tweak a bit.
3720         (_S_construct(_InIterator, _InIterator, const _Alloc&,
3721         forward_iterator_tag)): Likewise.
3722         (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
3723         (_M_mutate(size_type, size_type, size_type)): Don't
3724         implement the exponential growth policy, demand it to
3725         _S_create, update call and simplify.
3726         (_M_clone(const _Alloc&, size_type)): Likewise.
3727         (_S_create(size_type, size_type, const _Alloc&)): Implement
3728         the growth policy, simplify otherwise.
3729
3730         * include/bits/basic_string.h (_Rep::operator[]): Tweak
3731         signature to take a size_type, consistently with the other
3732         members.
3733
3734 2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>
3735
3736         * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
3737         delete declarations, add include and test variable.
3738
3739 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
3740
3741         * include/bits/codecvt.h, include/bits/locale_facets.h,
3742         include/bits/postypes.h, include/bits/stl_bvector.h,
3743         include/bits/stl_multiset.h, include/bits/stl_set.h,
3744         include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
3745         include/std/std_complex.h:  Document.
3746
3747 2004-01-27  Jerry Quinn  <jlquinn@optonline.net>
3748
3749         PR libstdc++/11584
3750         * include/bits/ios_base.h (ios_base::_M_grow_words):  Add
3751         iword/pword selector.
3752         (ios_base::iword, ios_base::pword):  Use it.
3753         * src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
3754         iword or pword member on alloc failure.
3755         * testsuite/27_io/ios_base/storage/11584.cc:  New test.
3756
3757 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
3758             PJ Darcy  <darcypj@us.ibm.com>
3759
3760         * configure.host: Add support for *-tpf.
3761         * crossconfig.m4: Likewise.
3762         * configure: Regenerate.
3763         * config/os/tpf: New directory.
3764         * config/os/tpf/os_defines.h: New file.
3765         * config/os/tpf/ctype_base.h: Likewise.
3766         * config/os/tpf/ctype_inline.h: Likewise.
3767         * config/os/tpf/ctype_noninline.h: Likewise.
3768
3769 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
3770
3771         PR libstdc++/13884
3772         * include/bits/sstream.tcc: Guard use of extern template.
3773
3774 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
3775
3776         * include/bits/basic_string.tcc
3777         (basic_string(const basic_string&, size_type, size_type),
3778         basic_string(const basic_string&, size_type, size_type,
3779         const _Alloc&)): Avoid unnecessarily constructing iterators.
3780
3781 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
3782
3783         * config/locale/generic/c_locale.cc: Fix throw messages
3784         to use the __N marker.
3785         * config/locale/gnu/c_locale.cc: Likewise.
3786         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
3787         Likewise.
3788         * docs/html/17_intro/C++STYLE: Likewise.
3789         * include/bits/basic_ios.tcc: Likewise.
3790         * include/bits/fstream.tcc: Likewise.
3791         * include/bits/vector.tcc: Likewise.
3792         * include/ext/ropeimpl.h: Likewise.
3793         * include/std/std_bitset.h: Likewise.
3794         * src/ios.cc: Likewise.
3795         * src/locale.cc: Likewise.
3796         * src/localename.cc: Likewise.
3797
3798 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
3799
3800         * include/bits/basic_string.h (_M_replace_aux): Use the
3801         __N marker in throw message.
3802         * include/bits/basic_string.tcc (assign(const _CharT*,
3803         size_type), insert(size_type, const _CharT*, size_type),
3804         replace(size_type, size_type, const _CharT*, size_type),
3805         reserve, _Rep::_S_create, resize, _M_replace_dispatch):
3806         Likewise.
3807
3808         * include/bits/basic_string.h, include/bits/basic_string.tcc:
3809         Fold overlong lines, minor formatting changes.
3810
3811 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
3812
3813         * include/bits/basic_string.h (replace(iterator, iterator,
3814         const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
3815         (replace(iterator, iterator, const _CharT*)): Ditto.
3816         (replace(iterator, iterator, const _CharT*, size_type)):
3817         Add missing _GLIBCXX_DEBUG_PEDASSERT.
3818
3819 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
3820
3821         * include/bits/basic_string.tcc (replace(size_type,
3822         size_type, const _CharT*, size_type)): Implement optimized
3823         in-place algorithm for non-overlapping ranges.
3824         * testsuite/21_strings/basic_string/replace/char/6.cc: New.
3825         * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
3826
3827         * include/bits/basic_string.tcc (insert(size_type,
3828         const _CharT*, size_type)): Tweak slightly.
3829
3830 2004-01-26  Andreas Schwab  <schwab@suse.de>
3831
3832         * config/locale/gnu/monetary_members.cc: Restore locale before
3833         rethrowing exception.
3834
3835 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
3836
3837         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
3838         Define inline here.
3839         * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
3840         Move inline.
3841
3842         * include/bits/basic_string.tcc: Very minor tweaks.
3843
3844 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
3845
3846         * testsuite/performance/string_append.cc: Increase number
3847         of iterations.
3848
3849 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
3850
3851         * include/bits/basic_string.h (erase(size_type, size_type),
3852         erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
3853         instead, thus avoiding redundant check for length_error.
3854
3855         * include/bits/basic_string.h: Tweak some comments.
3856
3857 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
3858
3859         * include/bits/basic_string.tcc (operator+(const _CharT*,
3860         const basic_string&)): No need to go through the append
3861         taking two iterators.
3862
3863 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
3864
3865         * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
3866         Revert last change to use std::min: machine language is worse.
3867         (find_last_of(const _CharT*, size_type, size_type)): Ditto.
3868         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
3869         (find_last_not_of(_CharT, size_type)): Ditto.
3870
3871         * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
3872         size_type)): Discard the value returned by _M_check.
3873         (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
3874         (append(const basic_string&, size_type, size_type)): Ditto.
3875         (copy(_CharT*, size_type, size_type)): Ditto.
3876         (compare(size_type, size_type, const basic_string&)): Ditto.
3877         (compare(size_type, size_type, const basic_string&,
3878         size_type, size_type)): Ditto.
3879         (compare(size_type, size_type, const _CharT*)): Ditto.
3880         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
3881
3882 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
3883
3884         * include/bits/basic_string.h (insert(size_type,
3885         const basic_string&, size_type, size_type)): Define inline here.
3886         * include/bits/basic_string.tcc (insert(size_type,
3887         const basic_string&, size_type, size_type)): Move inline.
3888
3889 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
3890
3891         * include/bits/basic_string.h (assign(const basic_string&,
3892         size_type, size_type)): Define inline here.
3893         (replace(size_type, size_type, const basic_string&,
3894         size_type, size_type)): Ditto.
3895         (_M_replace_dispatch(iterator, iterator, _InputIterator,
3896         _InputIterator, __false_type)): Only declare.
3897         (_M_replace(iterator, iterator, _InputIterator,
3898         _InputIterator)): Remove.
3899         * include/bits/basic_string.tcc (assign(const basic_string&,
3900         size_type, size_type)): Move inline.
3901         (replace(size_type, size_type, const basic_string&,
3902         size_type, size_type)): Ditto.
3903         (_M_replace_dispatch(iterator, iterator, _InputIterator,
3904         _InputIterator, __false_type)): Define, now does also what
3905         _M_replace did before.
3906         * src/string-inst.cc (_M_replace): Don't instantiate.
3907
3908         * include/bits/basic_string.tcc (find(const _CharT*,
3909         size_type, size_type)): Tidy.
3910         (rfind(_CharT, size_type)): Ditto.
3911         (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
3912         (find_first_not_of(_CharT, size_type)): Ditto.
3913         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
3914         (find_last_not_of(_CharT, size_type)): Ditto.
3915
3916 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
3917
3918         PR libstdc++/13838
3919         * include/debug/bitset (operator|=): Fix typo.
3920         * testsuite/23_containers/bitset/operations/13838.cc: New.
3921
3922 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
3923
3924         * include/bits/basic_string.tcc (insert(size_type,
3925         const _CharT*, size_type __n)): Fix length_error check.
3926         (replace(size_type, size_type, const _CharT*, size_type):
3927         Ditto; call _M_replace_safe.
3928         (_M_replace_aux(size_type, size_type, size_type, _CharT):
3929         Fix length_error check.
3930         (_M_replace(iterator, iterator, _InputIterator,
3931         _InputIterator)): Ditto, tweak.
3932         (_M_replace_safe(size_type, size_type, const _CharT*,
3933         size_type)): Remove length_error check.
3934
3935         * include/bits/basic_string.tcc (append(const basic_string&),
3936         append(const basic_string&, size_type, size_type)): Tweak
3937         comment.
3938
3939         * include/bits/basic_string.tcc (copy(_CharT*, size_type,
3940         size_type)): If __n == 0 don't call traits::copy.
3941
3942 2004-01-23  Stefan Olsson  <stefan@snon.net>
3943
3944         * include/ext/mt_allocator.h: Reduce lock contention.
3945
3946 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
3947
3948         PR libstdc++/13831
3949         * include/bits/fstream.tcc (underflow): Remove unused
3950         variable.
3951         * include/bits/streambuf_iterator.h (equal): Ditto.
3952         * include/bits/locale_facets.h (_M_convert_from_char):
3953         Ditto.
3954
3955 2004-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3956
3957         PR c/13814
3958         * config/linker-map.gnu (nan): Delete.
3959         * libmath/mathconf.h (NAN, nan): Delete.
3960         * linkage.m4 (nan): Don't check for it.
3961         * libmath/nan.c: Delete file.
3962
3963         * config.h.in, configure: Regenerate.
3964
3965 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
3966
3967         * include/bits/basic_string.h (push_back(_CharT)):
3968         Call _M_replace_aux.
3969         (insert(size_type, const basic_string&)): Trivial tweak.
3970         (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
3971         (insert(iterator, _CharT)): Ditto.
3972         (erase(size_type, size_type)): Ditto.
3973         (erase(iterator)): Ditto.
3974         (erase(iterator, iterator)): Ditto.
3975         (replace(size_type, size_type, size_type, _CharT)): Ditto.
3976
3977 2004-01-23  Loren J. Rittle  <ljrittle@acm.org>
3978
3979         libstdc++/13823
3980         * testsuite/performance/allocator_map_thread.cc: New test.
3981
3982 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
3983
3984         * include/bits/locale_facets.tcc
3985         (money_put::do_put(..., long double)): Use the basic_string
3986         constructor for char arrays, not that for C-strings, to pass
3987         __digits to do_put(..., const string_type&): __ws isn't
3988         null-terminated.
3989
3990 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
3991
3992         * include/bits/basic_string.h (_M_replace_safe): Change
3993         signatures to take size_types and const _CharT*.
3994         (_M_replace_aux): Likewise, takes size_types instead of
3995         iterators.
3996         (append(size_type, _CharT)): Update call.
3997         (assign(size_type, _CharT)): Ditto.
3998         (replace(iterator, iterator, size_type, _CharT)): Ditto.
3999         (_M_replace_dispatch(iterator, iterator, _Integer,
4000         _Integer, __true_type)): Ditto.
4001         * include/bits/basic_string.tcc (assign(const _CharT*,
4002         size_type)): Ditto.
4003         (insert(size_type, const _CharT*, size_type)): Ditto.
4004         (replace(size_type, size_type, const _CharT*,
4005         size_type)): Ditto.
4006         (_M_replace(iterator, iterator, _InputIterator,
4007         _InputIterator)): Ditto.
4008         (append(const basic_string&)): Ditto.
4009         (append(const basic_string&, size_type, size_type): Ditto.
4010         (append(const _CharT*, size_type): Ditto.
4011         (_M_replace_safe, _M_replace_safe): Change definitions
4012         accordingly, simplify.
4013         * string-inst.cc (_M_replace_safe): Don't instantiate.
4014
4015 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
4016
4017         * include/bits/basic_string.tcc (append(const basic_string&)):
4018         Revert previous change.
4019         (append(const basic_string&, size_type, size_type)): Revert
4020         previous change, use _M_check and _M_limit.
4021
4022 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
4023
4024         * include/bits/basic_string.h (_M_check): Change to return
4025         a checked __pos and take an additional const char* argument.
4026         (_M_fold): Rename to _M_limit, change to return a size_type,
4027         corresponding to the __off limited to the actual length.
4028         (insert(size_type, size_type, _CharT)): Update call, call
4029         replace.
4030         (insert(iterator, _CharT)): Call replace(iterator, iterator,
4031         size_type, _CharT) instead.
4032         (erase(size_type, size_type)): Update calls.
4033         (replace(size_type, size_type, size_type, _CharT)): Ditto.
4034         (substr(size_type, size_type)): Use _M_check.
4035         * include/bits/basic_string.tcc (basic_string(const basic_string&,
4036         size_type, size_type)): Update calls.
4037         (basic_string(const basic_string&, size_type, size_type,
4038         const _Alloc&)): Ditto.
4039         (assign(const basic_string&, size_type, size_type)): Use the
4040         new _M_check and _M_limit.
4041         (insert(size_type, const basic_string&, size_type, size_type):
4042         Ditto.
4043         (insert(size_type, const _CharT*, size_type)): Ditto.
4044         (replace(size_type, size_type, const _CharT*, size_type): Ditto.
4045         (replace(size_type, size_type, const basic_string&,
4046         size_type, size_type)): Ditto.
4047         (append(const basic_string&)): Ditto.
4048         (append(const basic_string&, size_type, size_type)): Ditto.
4049         (copy(_CharT*, size_type, size_type)): Ditto.
4050         (compare(size_type, size_type, const basic_string&)): Ditto.
4051         (compare(size_type, size_type, const basic_string&,size_type,
4052         size_type)): Ditto.
4053         (compare(size_type, size_type, const _CharT*)): Ditto.
4054         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
4055
4056 2004-01-19  Stefan Olsson  <stefan@snon.net>
4057
4058         * include/ext/mt_allocator.h: If a thread, when it dies, still has
4059         memory on it's freelist this memory is not returned to global
4060         list. Simplification of deallocate so that memory is always
4061         returned to the calling thread id's freelist instead of to
4062         global. Fix typos. Add volatile where appropriate.
4063
4064 2004-01-19  Loren J. Rittle  <ljrittle@acm.org>
4065
4066         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
4067         * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test.  Like -2 but
4068         use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
4069
4070 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
4071
4072         * src/debug.cc: Make sure all the names are prefixed with
4073         double (or single) underscore.
4074
4075 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
4076
4077         * src/debug.cc: Trivial formatting change.
4078
4079 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
4080
4081         * include/bits/basic_string.tcc (_S_construct(size_type,
4082         _CharT, const _Alloc&)): Remove redundant try/catch.
4083         (_M_mutate(size_type, size_type, size_type)): Ditto.
4084         (_M_clone(const _Alloc&, size_type)): Ditto.
4085
4086 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
4087
4088         * include/bits/basic_string.h (c_str()): Simplify, due to
4089         21.3.4 the internal representation is always kept null-terminated.
4090         * include/bits/basic_string.tcc (_M_clone): Null-terminate.
4091         * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
4092         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
4093         Ditto.
4094
4095 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
4096
4097         * include/bits/basic_string.h (append(size_type, _CharT)):
4098         Moved inline, just call _M_replace_aux, no source iterators at
4099         risk of being clobbered.
4100         (assign(size_type, _CharT)): Call directly _M_replace_aux.
4101         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
4102         input_iterator_tag)): Remove fifth unused argument.
4103         (_M_replace_dispatch(iterator, iterator, _InputIterator,
4104         _InputIterator, __false_type)): Update call.
4105         * include/bits/basic_string.tcc (replace(size_type, size_type,
4106         const _CharT*, size_type)): Update call.
4107         (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
4108         throw string literal.
4109         (_M_replace_safe(iterator, iterator, _ForwardIterator,
4110         _ForwardIterator)): Likewise.
4111         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
4112         input_iterator_tag)): Remove fifth unused argument.
4113         (append(size_type __n, _CharT __c)): Move inline.
4114         * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
4115         const C*, const C*, input_iterator_tag)): Remove fifth unused
4116         argument.
4117
4118 2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>
4119
4120         * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
4121         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
4122
4123 2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
4124
4125         * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
4126         mkfifo for mingw32.
4127
4128 2004-01-15  Stefan Olsson  <stefan@snon.net>
4129
4130         * include/ext/mt_allocator.h: Reuse thread id's as soon as
4131         possible by changing the behaviour of thread_freelist to do
4132         push_front when threads die instead of push_back.
4133
4134 2004-01-14  Paolo Carlini  <pcarlini@suse.de>
4135
4136         * include/bits/locale_facets.h (struct __numpunct_cache):
4137         Add member _M_grouping_size, caching the length of _M_grouping.
4138         (__numpunct_cache<>::_M_cache): Assign the latter.
4139         (__verify_grouping): Move declaration...
4140         * include/bits/locale_facets.tcc (__verify_grouping):
4141         ... here, change signature to take a const char* and a size_t
4142         for the grouping; not a template anymore.
4143         (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
4144         Likewise change signature and tweak consistently.
4145         (num_get::_M_extract_float, num_get::_M_extract_int,
4146         num_put::_M_insert_int, num_put::_M_insert_float,
4147         money_get::do_get(string_type&), money_get::do_put(string_type)):
4148         Update callers.
4149         * config/locale/generic/numeric_members.cc
4150         (numpunct<>::_M_initialize_numpunct): Assign the new member.
4151         * config/locale/gnu/numeric_members.cc
4152         (numpunct<>::_M_initialize_numpunct): Likewise.
4153         * src/locale-inst.cc (__add_grouping): Tweak signature.
4154         (__verify_grouping): Don't instantiate, not a template anymore.
4155
4156         * include/bits/locale_facets.h: Rename _M_truename_len ->
4157         _M_truename_size, _M_falsename_len -> _M_falsename_size.
4158         * include/bits/locale_facets.tcc: Likewise.
4159         * config/locale/generic/numeric_members.cc: Likewise.
4160         * config/locale/gnu/numeric_members.cc: Likewise.
4161
4162 2004-01-14  Stefan Olsson  <stefan@snon.net>
4163
4164         * include/ext/mt_allocator.h: Fixups.
4165         * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
4166         * testsuite/performance/allocator_thread.cc: Same.
4167
4168 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
4169
4170         * testsuite/performance/ifstream_extract_float.cc: Add higher
4171         precision tests.
4172         * testsuite/performance/ofstream_insert_float.cc: Same.
4173
4174 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
4175
4176         * src/locale-misc-inst.cc (__convert_from_v(long),
4177         __convert_from_v(unsigned long), __convert_from_v(long long),
4178         __convert_from_v(unsigned long long)): Remove, unused.
4179
4180 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
4181
4182         * testsuite/performance/ifstream_extract_float.cc: New.
4183         * testsuite/performance/ofstream_insert_float.cc: Float generation
4184         matches above.
4185
4186         * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
4187         * 20_util/auto_ptr/1.cc: ...this.
4188         * 20_util/auto_ptr/2.cc: Same.
4189         * 20_util/auto_ptr/3.cc: Same.
4190         * 20_util/auto_ptr/3946.cc: Same.
4191         * 20_util/auto_ptr/4.cc: Same.
4192         * 20_util/auto_ptr/5.cc: Same.
4193         * 20_util/auto_ptr/6.cc: Same.
4194         * 20_util/auto_ptr/7.cc: Same.
4195         * 20_util/auto_ptr/assign_neg.cc
4196         * 20_util/pairs.cc: Break into...
4197         * 20_util/pair/1.cc: ...this.
4198         * 20_util/pair/2.cc: Same.
4199         * 20_util/pair/3.cc: Same.
4200         * 20_util/pair/4.cc: Same.
4201
4202 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
4203
4204         * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
4205         Set correctly just basefield, the only group that matters.
4206
4207 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
4208
4209         * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
4210         (_Rope_rep_base): Inherit directly from the rope allocator;
4211         use rebinding instead of _Alloc_traits; pick up data member
4212         from _Rope_rep_alloc_base.
4213         (_Rope_alloc_base): Eliminate.
4214         (_Rope_base): Inherit directly from the rope allocator; use
4215         rebinding instead of _Alloc_traits; pick up data member from
4216         _Rope_alloc_base.
4217         (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
4218         rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
4219
4220 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
4221
4222         PR libstdc++/13650
4223         * include/bits/basic_string.tcc (compare(size_type, size_type,
4224         const _CharT*, size_type)): Implement correctly the resolution
4225         of DR 5: basically, s is a char array, -not- a C string.
4226         * include/bits/basic_string.h: Tweak some comments.
4227         * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
4228         * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
4229
4230 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
4231
4232         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
4233         Solaris.
4234
4235 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
4236
4237         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
4238         Use try_mkfifo.
4239         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
4240         Likewise.
4241
4242 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
4243
4244         * include/bits/locale_facets.h (struct __numpunct_cache):
4245         Add members _M_truename_len and _M_falsename_len, caching
4246         the lengths of _M_truename and _M_falsename.
4247         (__numpunct_cache<>::_M_cache): Assign the latter.
4248         * include/bits/locale_facets.tcc (num_get::do_get(bool&),
4249         num_put::do_put(bool)): Use the new members, thus avoiding
4250         computing string lengths again and again.
4251         * config/locale/generic/numeric_members.cc
4252         (numpunct<>::_M_initialize_numpunct): Assign the new members.
4253         * config/locale/gnu/numeric_members.cc
4254         (numpunct<>::_M_initialize_numpunct): Likewise.
4255
4256 2004-01-12  Mark Mitchell  <mark@codesourcery.com>
4257
4258         * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
4259         * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
4260         it.
4261         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
4262         and remove Cygwin XFAIL.
4263         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4264         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4265         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
4266         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
4267         Likewise.
4268         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4269         * testsuite/27_io/objects/char/7.cc: Likewise.
4270         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4271         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4272         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4273
4274 2004-01-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4275
4276         * include/std/std_complex.h (std::complex<>::real): Return a
4277         reference. Add non-const overload.
4278         (std::complex<>::real): Likewise.
4279         (std::real): Likewise.
4280         (std::imag): Likewise.
4281         (std::operator+): Tidy.
4282         (std::operator-): Likewise.
4283         (std::operator*): Likewise.
4284         (std::operator/): Likewise.
4285         (std::operator>>): Likewise.
4286
4287 2004-01-11  Paolo Carlini  <pcarlini@suse.de>
4288
4289         PR libstdc++/13582
4290         * include/bits/fstream.tcc (imbue): Exploit the external
4291         buffer to imbue 'on the fly' a new locale and convert its
4292         remainder with the new codecvt facet.
4293         (underflow): Tweak slightly to deal with this special case.
4294         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
4295         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
4296         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
4297         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
4298         * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
4299
4300 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
4301
4302         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
4303         Import Revision 28.
4304
4305 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
4306
4307         PR libstdc++/13630
4308         * include/bits/locale_classes.h (class locale): Fix category
4309         typedef.
4310         * testsuite/22_locale/locale/13630.cc: Add.
4311
4312 2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
4313
4314         * include/bits/locale_facets.h: Make a name really dependent. This
4315         will be needed when Core Issue 224 is implemented.
4316
4317 2004-01-09  Paolo Carlini  <pcarlini@suse.de>
4318
4319         * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
4320         * testsuite/performance/allocator_thread.cc: Likewise.
4321
4322 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
4323
4324         * crossconfig.m4: Add LFS, io bits to linux cross config.
4325         * acconfig.h: Remove obsolete bits, reorder.
4326         * config.h.in: Regenerate.
4327         * aclocal.m4: Same.
4328         * configure: Same.
4329
4330 2004-01-07  Gawain Bolton  <gp.bolton@computer.org>
4331
4332         * include/bits/stl_list.h:
4333         * include/bits/list.tc:
4334         * src/list.cc:
4335         Performance enhancements for destructor, push_front(),
4336         push_back(), pop_front(), pop_back(), sort()
4337         Eliminated static_casts where possible.
4338         Moved code out of header files into new src/list.cc
4339         implementation file for library where possible.
4340         Remove inheritance from iterator class and create separate
4341         classes for non-constant and constant iterators.
4342         * include/bits/stl_tree.h (_Rb_tree class):
4343         * src/tree.cc:
4344         Only erase contents in destructor.
4345         Eliminate unnecessary initialization in assignment operator.
4346         Optimize for the nominal case by not checking whether
4347         container is empty in clear().
4348         Re-order test in _M_insert() to improve performance.
4349         Move initialization of new node's left & right pointers to
4350         src/tree.cc to where new node's colour is initialized
4351         and to reduce the amount of inline code.
4352         Use  _M_leftmost() and _M_end() to improve readability where
4353         appropriate.
4354         Create separate classes for non-constant and constant
4355         iterators to clarify code, avoid extra template parameters and
4356         casting away constness.
4357
4358 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
4359
4360         * src/Makefile.am (sources): Add list.cc, tree.cc.
4361         * src/stl_tree.cc: Move to...
4362         * src/tree.cc: ...here.
4363         * src/list.cc: Add.
4364         * config/linker-map.gnu: Tweaks.
4365         * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
4366         * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
4367
4368         * bits/stl_vector.h: Column wrap comments.
4369
4370 2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
4371
4372         (re-open) PR libstdc++/12658
4373         * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
4374         (locale::global): Likewise.
4375
4376 2004-01-07  Paolo Carlini  <pcarlini@suse.de>
4377
4378         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
4379         Remove redundant #include.
4380         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
4381         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
4382         re-enable normal testing.
4383         * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
4384         #include.
4385         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
4386         * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
4387         Likewise.
4388         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
4389         Likewise.
4390         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
4391         Likewise.
4392         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
4393         Likewise.
4394         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
4395         Likewise.
4396         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
4397         Likewise.
4398         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
4399         Likewise.
4400         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
4401         More properly, #include <locale>.
4402         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
4403         Remove redundant #include.
4404         * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
4405         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
4406         redundant DejaGnu directive.
4407         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
4408         redundant #include.
4409
4410 2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
4411             Stefan Olsson  <stefan@snon.net>
4412
4413         * scripts/check_performance: Use -pthread.
4414         * testsuite/performance/allocator.cc: Tweaks, add list.
4415         * testsuite/performance/allocator_thread.cc: New.
4416
4417 2004-01-06  Jerry Quinn  <jlquinn@optonline.net>
4418
4419         * include/bits/locale_facets.h: Document public classes and
4420         functions.
4421         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
4422         Add comment.
4423
4424 2004-01-06  Paolo Carlini  <pcarlini@suse.de>
4425
4426         * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
4427         Remove redundant #includes.
4428         * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
4429         Likewise.
4430         * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
4431         Likewise.
4432         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
4433         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
4434         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
4435         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
4436         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
4437         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
4438         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
4439         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
4440         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
4441         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
4442         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
4443         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
4444         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
4445         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
4446         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
4447         Likewise.
4448         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
4449         Likewise.
4450         * testsuite/27_io/basic_istream/readsome/char/8258.cc:
4451         Likewise.
4452         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
4453         Likewise.
4454         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
4455         Likewise.
4456         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
4457         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
4458         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
4459
4460 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
4461
4462         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
4463         Remove redundant #includes.
4464         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
4465         Likewise.
4466         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
4467         Likewise.
4468         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
4469         Likewise.
4470         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
4471         Likewise.
4472         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
4473         Likewise.
4474         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
4475         Likewise.
4476         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
4477         Likewise.
4478         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
4479         Likewise.
4480         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
4481         Likewise.
4482         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
4483         Likewise.
4484         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
4485         Likewise.
4486         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
4487         Likewise.
4488
4489 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
4490
4491         PR c++/12226
4492         * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
4493         constructor.
4494         * testsuite/27_io/basic_fstream/4.cc: Likewise.
4495         * testsuite/27_io/basic_ifstream/4.cc: Likewise.
4496         * testsuite/27_io/basic_ios/4.cc: Likewise.
4497         * testsuite/27_io/basic_iostream/4.cc: Likewise.
4498         * testsuite/27_io/basic_istream/4.cc: Likewise.
4499         * testsuite/27_io/basic_istingstream/4.cc: Likewise.
4500         * testsuite/27_io/basic_ofstream/4.cc: Likewise.
4501         * testsuite/27_io/basic_ostream/4.cc: Likewise.
4502         * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
4503         * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
4504         * testsuite/27_io/basic_stringstream/4.cc: Likewise.
4505
4506 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
4507
4508         * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
4509         Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
4510         always use double underscored names.
4511         * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
4512         Likewise.
4513         * include/bits/locale_facets.h (struct __numpunct_cache):
4514         Dimension _M_atoms_out and _M_atoms_in one position smaller.
4515         (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
4516         and _M_atoms_in.