OSDN Git Service

2004-04-21 Paolo Carlini <pcarlini@suse.de>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
2
3         * include/bits/deque.tcc: Trivial formatting fixes.
4         * include/bits/stl_deque.h: Likewise.
5         * include/bits/stl_list.h: Likewise.
6         * include/bits/stl_tree.h: Likewise.
7
8 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
9             Andrew Pinski  <pinskia@physics.uc.edu>
10
11         * include/bits/basic_string.tcc (_M_mutate): Don't compute
12         __src unnecessarily.
13
14 2004-04-19  Benjamin Kosnik  <bkoz@redhat.com>
15
16         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc: 
17         Clarify assertion, set test variable to false before assert.
18         * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
19         * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
20         * testsuite/27_io/ios_base/storage/2.cc: Same.
21         
22         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
23         function returns.
24         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
25         * testsuite/27_io/fpos/14320-3.cc: Same.
26         
27         * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
28         * testsuite/27_io/fpos/1.cc: Same.
29         * testsuite/27_io/basic_stringstream/2.cc: Same.
30         * testsuite/27_io/basic_stringbuf/4.cc: Same.
31         * testsuite/27_io/basic_stringbuf/1.cc: Same.
32         * testsuite/27_io/basic_stringbuf/2.cc: Same.
33         * testsuite/27_io/basic_streambuf/2.cc: Same.
34         * testsuite/27_io/basic_ostringstream/2.cc: Same.
35         * testsuite/27_io/basic_ostream/2.cc: Same.
36         * testsuite/27_io/basic_ofstream/2.cc: Same.
37         * testsuite/27_io/basic_istringstream/2.cc: Same.
38         * testsuite/27_io/basic_istream/2.cc: Same.
39         * testsuite/27_io/basic_iostream/2.cc: Same.
40         * testsuite/27_io/basic_ios/2.cc: Same.
41         * testsuite/27_io/basic_ifstream/2.cc: Same.
42         * testsuite/27_io/basic_fstream/2.cc: Same.
43         * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
44
45         * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
46         unsigned against zero.
47         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
48         * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
49
50         * testsuite/18_support/new_delete_placement.cc: Initialize
51         variables before first use.
52         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
53         * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
54         * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
55         * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc: 
56         Same.
57         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
58         * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc: 
59         Same.
60         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
61         * testsuite/27_io/types/2.cc: Same.
62
63         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
64         file name.      
65         * testsuite/27_io/fpos/14775.cc: Same.
66         
67 2004-04-19  Paolo Carlini  <pcarlini@suse.de>
68
69         PR libstdc++/15002 (partial)
70         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
71         Special case __n2 == 1, not calling traits_type::assign/copy. 
72
73 2004-04-17  Benjamin Kosnik  <bkoz@redhat.com>
74
75         * include/bits/stl_bvector.h: Use _M_impl._M_start.
76         
77 2004-04-16  Benjamin Kosnik  <bkoz@redhat.com>
78         
79         * include/bits/c++config (_GLIBCXX_STD): New.
80         * src/list.cc: Use it.
81         * include/std/std_bitset.h: Same.
82         * include/bits/vector.tcc: Same.
83         * include/bits/stl_set.h: Same.
84         * include/bits/stl_multiset.h: Same.
85         * include/bits/stl_multimap.h: Same.
86         * include/bits/stl_map.h: Same.
87         * include/bits/stl_list.h: Same.
88         * include/bits/stl_vector.h: Same.
89         * include/bits/stl_bvector.h: Same.
90         * include/bits/stl_deque.h: Same.
91         * include/bits/deque.tcc: Same.
92         * include/bits/list.tcc: Same.
93         * include/debug/vector: Same.
94         * include/debug/set.h: Same.
95         * include/debug/multiset.h: Same.
96         * include/debug/multimap.h: Same.
97         * include/debug/map.h: Same.
98         * include/debug/list: Same.
99         * include/debug/deque: Same.
100         * include/debug/bitset: Same.   
101         * include/debug/formatter.h (__gnu_debug): Remove using directive.
102         Add using declaration for std::type_info.
103         * include/debug/safe_iterator.h: Add using declaration for
104         std::iterator_traits and std::pair.
105         * src/debug_list.cc: New.
106         * src/Makefile.am: Add debug_list.cc.
107         * src/Makefile.in: Regenerate.
108         * config/linker-map.gnu: Add _List_node_base exports for std and
109         __gnu_norm.
110
111         * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
112         idiom that other containers use.
113         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
114                         
115 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
116
117         PR libstdc++/14975
118         * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
119         in case of error.
120         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
121         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
122
123 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
124
125         * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
126         used anymore.
127         * config.h.in: Regenerate.
128
129 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
130
131         * config/locale/generic/monetary_members.cc
132         (moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
133         btowc unnecessarily, just cast to wchar_t (the concerned chars
134         all belong to the basic character set).
135         * config/locale/generic/numeric_members.cc
136         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
137         * config/locale/gnu/monetary_members.cc
138         (moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
139         * config/locale/gnu/numeric_members.cc
140         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
141
142 2004-04-15  Paolo Carlini  <pcarlini@suse.de>
143
144         * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
145         avoid constructing unnecessarily this->name().
146
147 2004-04-14  Zack Weinberg  <zack@codesourcery.com>
148
149         * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
150         Change definition of CXX to use $(shell) instead of backticks.
151         * testsuite/Makefile.in: Regenerate.
152
153 2004-04-12  Dhruv Matani  <dhruvbird@gmx.net>
154
155         * testsuite/performance/20_util/allocator/list_sort_search.cc:
156         Minor formatting fixes.
157         * testsuite/performance/20_util/allocator/map_mt_find.cc:
158         Likewise.
159
160 2004-04-12  Paolo Carlini <pcarlini@suse.de>
161
162         * config/locale/gnu/numeric_members.cc
163         (numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
164         in __uselocale, since btowc is called for chars belonging to
165         the basic character set.
166
167 2004-04-09  Paolo Carlini  <pcarlini@suse.de>
168
169         * testsuite/22_locale/messages/members/char/1.cc: Remove junk.
170         * testsuite/22_locale/messages/members/char/2.cc: Ditto.
171         * testsuite/22_locale/messages/members/char/3.cc: Ditto.
172         * testsuite/22_locale/num_get/get/char/1.cc: Ditto.
173         * testsuite/22_locale/num_get/get/char/2.cc: Ditto.
174         * testsuite/22_locale/num_get/get/char/3.cc: Ditto.
175         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
176         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
177         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
178         * testsuite/22_locale/num_put/put/char/1.cc: Ditto.
179         * testsuite/22_locale/num_put/put/char/2.cc: Ditto.
180         * testsuite/22_locale/num_put/put/char/3.cc: Ditto.
181         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
182         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
183         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
184         * testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
185         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
186
187 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
188
189         * config/locale/generic/time_members.cc
190         (__timepunct<char>::_M_initialize_timepunct,
191         __timepunct<wchar_t>::_M_initialize_timepunct): the correct
192         _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
193         * config/locale/gnu/time_members.cc
194         (__timepunct<char>::_M_initialize_timepunct,
195         __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
196         * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
197         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
198
199         * testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
200         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
201         * testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
202         * testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
203         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
204         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
205         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
206         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
207         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
208         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
209         * testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
210         * testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
211         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
212         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
213         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
214         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
215         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
216         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
217         * testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
218         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
219         * testsuite/22_locale/time_put/put/char/1.cc: Ditto.
220         * testsuite/22_locale/time_put/put/char/2.cc: Ditto.
221         * testsuite/22_locale/time_put/put/char/3.cc: Ditto.
222         * testsuite/22_locale/time_put/put/char/4.cc: Ditto.
223         * testsuite/22_locale/time_put/put/char/5.cc: Ditto.
224         * testsuite/22_locale/time_put/put/char/6.cc: Ditto.
225         * testsuite/22_locale/time_put/put/char/7.cc: Ditto.
226         * testsuite/22_locale/time_put/put/char/8.cc: Ditto.
227         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
228         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
229         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
230         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
231         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
232         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
233         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
234         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
235
236         * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
237
238 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
239
240         * config/locale/gnu/monetary_members.cc
241         (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
242         _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
243         and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
244         _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
245         * config/locale/gnu/numeric_members.cc
246         (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
247         and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
248
249 2004-04-06  Benjamin Kosnik  <bkoz@redhat.com>
250
251         Fixups for EDG front end.
252         * include/ext/rope: Instead of non-existent function
253         _Data_allocate, use allocator's allocate. Use this.
254         (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
255         enumerations from _Rope_RopeRep here.
256         * include/ext/ropeimpl.h: Same.
257         * src/ext-inst.cc (_S_min_len): Fix up definition.
258
259         * config/locale/gnu/ctype_members.cc: Qualify base class members
260         with this.
261         * config/locale/generic/ctype_members.cc: Same.
262         * config/locale/gnu/messages_members.h: Same.
263         * config/locale/generic/messages_members.h: Same.
264         * src/ctype.cc: Same.
265         * include/bits/codecvt.h: Same.
266
267         * include/bits/boost_concept_check.h: Declare.
268         (__error_type_must_be_an_unsigned_integer_type): Remove this.
269         (__error_type_must_be_an_integer_type): Remove this.
270         (__error_type_must_be_a_signed_integer_type): Remove this.
271
272         * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
273
274         * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
275         specification to definition.
276         (__cxa_allocate_exception): Same.
277         * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
278         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
279         (__cxa_get_globals): Same.
280
281         * libsupc++/del_op.cc: Add comment about freestanding.
282
283 2004-04-05  Paolo Carlini  <pcarlini@suse.de>
284
285         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
286         The critical section is actually very small, only two assignments.
287
288 2004-04-04  Paolo Carlini  <pcarlini@suse.de>
289             Petur Runolfsson  <peturr02@ru.is>
290
291         * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
292         adapted from libstdc++/11378.
293
294 2004-04-03  Paolo Carlini  <pcarlini@suse.de>
295
296         * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
297         some duplicated code.
298         (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
299         in the single threaded case.
300         * testsuite/performance/20_util/allocator/list_sort_search.cc:
301         Reorder and renumber the tests consistently with the other testfiles.
302         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
303         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
304         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
305
306 2004-04-02  Paolo Carlini  <pcarlini@suse.de>
307
308         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
309         Rearrange arithmetic to avoid computing two divisions at
310         each deallocation.
311
312 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
313
314         * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
315         Streamline the second half, wrapping it in a single
316         '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
317         conditionals inside loops.
318
319 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
320
321         PR libstdc++/14775
322         * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
323         * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
324         GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
325         to _GLIBCXX_RES_LIMITS.
326         (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
327         HAVE_LIMIT_*.
328         * testsuite/testsuite_hooks.h: Declare set_file_limit.
329         * testsuite/testsuite_hooks.cc: Define it, using getrlimit
330         and setrlimit(RLIMIT_FSIZE).
331         * testsuite/27_io/fpos/14775.cc: New.
332         * config.h.in: Regenerate.
333         * configure: Likewise.
334
335 2004-03-31  Paolo Carlini  <pcarlini@suse.de>
336
337         * config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
338         In v3 uses of sscanf, the special floating-point numbers INF,
339         INFINITY, etc., cannot occur in input, therefore, if the latter
340         is too large, ERANGE is always stored in errno, no need of finitel.
341
342 2004-03-30  Benjamin Kosnik  <bkoz@redhat.com>
343
344         PR libstdc++/14783
345         * include/bits/stl_tree.h: Adjust initialization list order.
346
347 2004-03-29  Loren J. Rittle  <ljrittle@acm.org>
348
349         * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
350
351 2004-03-29  Paolo Carlini  <pcarlini@suse.de>
352
353         * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
354         on allocator behavior, the memory pointed by data2 may well be not
355         trashed.
356
357 2004-03-28  Chavdar Botev  <cbotev@yahoo.com>
358
359         PR libstdc++/14245
360         * include/bits/basic_string.tcc
361         (basic_string::basic_string(const basic_string&)): Pass to
362         _Rep::_M_grab the actual allocator of the string being constructed
363         not the default constructed one.
364
365 2004-03-27  Benjamin Kosnik  <bkoz@redhat.com>
366
367         libstdc++ PR/13598
368         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
369         (__enc_traits::_M_destroy): New.
370         (__enc_traits::~__enc_traits): Use it.
371         (__enc_traits::operator=): Use _M_destroy, _M_init.
372         (__enc_traits::__enc_traits): Same.
373
374 2004-03-27  Petur Runolfsson  <peturr02@ru.is>
375
376         * testsuite/ext/enc_filebuf/char/13598.cc: New.
377
378 2004-03-27  Paolo Carlini  <pcarlini@suse.de>
379
380         * include/ext/mt_allocator.h: Uglify consistently names of
381         variables, members and classes; tidy.
382
383 2004-03-27  Dhruv Matani  <dhruvbird@gmx.net>
384
385         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
386         Deallocation loop rewrote.
387
388 2004-03-26  Paolo Carlini  <pcarlini@suse.de>
389
390         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
391         __mt_alloc<>::deallocate): Protect two instances of
392         block->thread_id with __GTHREADS.
393
394 2004-03-25  Gawain Bolton  <gp.bolton@computer.org>
395
396         * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
397         default argument in constructors.
398         (_Rb_tree::_M_empty_initialize): Remove.
399
400 2004-03-25  Benjamin Kosnik  <bkoz@redhat.com>
401
402         * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
403         * testsuite/23_containers/set/operators/1_neg.cc: Same.
404
405 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
406
407         * include/bits/cpp_type_traits.h: Changed __is_pod
408         completely. Now, it does not use any of the previous type_traits
409         to detect the pod types, and it also detects function pointers as
410         POD types.
411
412         * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
413         which encapsulates the internal implementation of an rb_tree. Made
414         the allocator a base class of this class instead of the rb_tree,
415         which was not conforming. This _Rb_tree_impl class is also
416         specialized on whether the _Compare parameter is a POD type or
417         not. If so, then it maintains the comparison function as a data
418         member, otherwise it makes the _Compare parameter a base class of
419         itself. Also, _M_key_compare is now a function instead of a data
420         member, so that the above trick can work properly. Delegated the
421         initialization of the other data members to this newly created
422         class. Also, now other member functions of rb_tree must refer to
423         _M_key_compare as _M_impl._M_key_compare(). The other data members
424         (*) can be referenced to as _M_impl.(*), where
425         (*) includes _M_header, and _M_node_count.
426
427 2004-03-25  Paolo Carlini  <pcarlini@suse.de>
428
429         * include/ext/mt_allocator.h (__mt_alloc<>::tune):
430         Add _M_min_bin, the size in bytes of the smallest bin.
431         (__mt_alloc<>::tune()): Tweak accordingly.
432         (__mt_alloc<>::tune(size_t, ...)): Likewise.
433         (__mt_alloc<>::block_record): Change to a union: members next
434         and thread_id are never used at the same time.
435         (__mt_alloc<>::allocate): Update consistently.
436         (__mt_alloc<>::deallocate): Likewise.
437         (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
438         _S_bin_size for the configurable _M_min_size.
439
440 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
441
442         * include/bits/stl_list.h: Created a _List_impl class and made it
443         derive from the allocator, instead of the list deriving from the
444         allocator class, which was not conformant. Changed all references
445         from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
446         as above (changed all references to the concerned variables).
447
448 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
449
450         * include/bits/stl_deque.h: Created a _Deque_impl class and made
451         it derive from the allocator, instead of the deque deriving from
452         the allocator class, which was not conformant. Changed all
453         references to the _M_start, _M_finish, _M_map, and _M_map_size to
454         _M_impl.*.
455         (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
456         qualification in 2 places where it was missing.
457         (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
458         above.
459         * include/bits/deque.tcc: Same as above (changed all references to
460         the concerned variables).
461
462 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
463
464         * include/bits/stl_vector.h: Created a _Vector_impl class and made
465         it derive from the allocator, instead of the _Vector_base class,
466         deriving from the allocator which was not conformant. Changed all
467         references to the _M_start, _M_finish, and _M_end_of_storage to
468         _M_impl.*.
469         * include/bits/vector.tcc: Same as above (changed all references
470         to the concerned variables).
471
472 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
473
474         * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
475         * testsuite/23_containers/list/cons/clear_allocator.cc: New.
476         * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
477
478 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
479
480         * include/ext/malloc_allocator.h: Fixed the construct function to
481         call global placement new instead of assignment. Added a check
482         after the return from malloc to check whether returned pointer is
483         NULL, and if so, throw std::bad_alloc().
484         * include/ext/debug_allocator.h: Added a check in the deallocate
485         function to check whether the user has passed a NULL pointer or
486         not.
487
488 2004-03-24  Benjamin Kosnik  <bkoz@redhat.com>
489
490         * docs/html/20_util/allocator.html: Add bitmap_allocator links.
491
492 2004-03-24  Andreas Schwab  <schwab@suse.de>
493
494         * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
495         warning from IA64 assembler.
496
497 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
498
499         * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
500         function call __builtin_ctz instead of the while loop.
501         (allocate) -> If condition has __builtin_expect.
502         (deallocate) -> Ditto.
503         Renamed a few left-over variables and typedefs according to the
504         C++STYLE mentioned in the documentation.
505         Protected calls to __gthread* by __gthread_active_p(), whose value
506         is cached in the local variable __threads_active.
507
508 2004-03-24  Felix Yen  <fwy@alumni.brown.edu>
509
510         * testsuite/performance/20_util/allocator/producer_consumer.cc:
511         Use linear algorithm for producer.
512
513 2004-03-24  Paolo Carlini  <pcarlini@suse.de>
514
515         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
516         __mt_alloc<>::deallocate): Avoid redundant conditionals.
517
518 2004-03-23  Benjamin Kosnik  <bkoz@redhat.com>
519
520         * include/bits/locale_facets.h: Tweaks for 80 column.
521         (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
522         (__moneypunct_cache::_M_cache): Same.
523         (num_get): Don't inherit from __num_base.
524         (num_put): Same.
525         (money_get): Don't inherit from money_base.
526         (money_put): Same.
527         (__timepunct::_M_am_pm_format): New.
528         (time_get::_M_extract_num): Return iterator, use ios_base as argument.
529         (time_get::_M_extract_name): Same.
530         (time_get::_M_extract_via_format): Same.
531         * include/bits/locale_facets.tcc: Tweaks for 80 column.
532         Use _M_getloc instead of getloc.
533         * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
534         * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
535         * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
536
537 2004-03-22  Paolo Carlini  <pcarlini@suse.de>
538
539         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
540         * configure: Regenerate.
541         * config/allocator/pool_allocator_base.h: New.
542         * include/ext/pool_allocator.h: Convert to a standard-conforming
543         allocator.
544         * src/allocator.cc: Tweak instantiations.
545         * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
546         * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
547         * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
548         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
549         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
550         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
551
552 2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
553
554         * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
555         inline" and attribute-unused.  Qualify parameter __mem with
556         "volatile".
557         (__exchange_and_add): Ditto.  Add back memory clobber to asm.
558
559 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
560
561         * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
562         Remove junk.
563         * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
564         Likewise.
565         * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
566         Likewise.
567         * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
568         Likewise.
569         * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
570         Likewise.
571         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
572         Likewise.
573         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
574         Likewise.
575         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
576         Likewise.
577         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
578         Likewise.
579         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
580         Likewise.
581
582 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
583
584         * include/std/std_valarray.h: Document DR389 [Ready].
585         * docs/html/ext/howto.html: Add an entry for DR389.
586
587 2004-03-19  Michael Eager  <eager@mvista.com>
588
589         * config/cpu/mips/atomicity.h:  Prevent reg loads between LL and
590         SC instructions.
591
592 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
593
594         * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
595         static_cast-s.
596         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
597         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
598         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
599         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
600         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
601         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
602         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
603         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
604         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
605
606 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
607             Petur Runolfsson  <peturr02@ru.is>
608
609         PR libstdc++/12077
610         * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
611         no way to find out the conversion used by the underlying FILE*.
612         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
613         * testsuite/27_io/objects/char/9.cc: Tweak.
614
615 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
616
617         PR libstdc++/14648
618         * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
619         memory allocation/deallocation calls.
620         * testsuite/ext/14648.cc: New.
621
622 2004-03-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
623
624         PR libstdc++/14647
625         * include/backward/bvector.h (bit_vector): Allocator is in std
626         namespace.
627
628 2004-03-19  Phil Edwards  <phil@codesourcery.com>
629
630         * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT):  Set LIBICONV,
631         not libiconv.  SUBST this variable as well.
632         * testsuite/Makefile.am (site.exp):  New target, based on that
633         created by automake.  Also set libiconv.
634
635         * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
636         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
637         testsuite/Makefile.in:  Regenerate.
638
639 2004-03-16  Benjamin Kosnik  <bkoz@redhat.com>
640
641         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
642         new_allocator for all hosts.
643         * configure: Regenerate.
644
645 2004-03-16  Paolo Carlini  <pcarlini@suse.de>
646
647         * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
648         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
649
650 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
651
652         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
653         Adjust the logic underlying the parsing of symbol to deal
654         correctly with an optional sign component (i.e., when either
655         negative_sign or positive_sign is empty)
656         * testsuite/22_locale/money_get/get/char/19.cc: New.
657         * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
658
659 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
660
661         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
662         Do not accept an incomplete currency symbol.
663         * testsuite/22_locale/money_get/get/char/18.cc: New.
664         * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
665
666 2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>
667
668         * config/allocator: New.
669         * config/allocator/bitmap_allocator_base.h: New.
670         * config/allocator/malloc_allocator_base.h: New.
671         * config/allocator/mt_allocator_base.h: New.
672         * config/allocator/new_allocator_base.h: New.
673         * include/bits/allocator.h: Include c++allocator.h.
674         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
675         * aclocal.m4: Regenerate.
676         * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
677         * configure: Regenerate.
678         * include/Makefile.am (host_headers_extra): Add c++allocator.h.
679         * include/Makefile.in: Regenerate.
680         * docs/html/configopts.html: Add enable-libstdcxx-allocator.
681
682 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
683
684         * include/bits/allocator.h: Revert.
685
686 2004-03-12  Paolo Carlini  <pcarlini@suse.de>
687
688         * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
689         * include/bits/gslice_array.h: Add comment about DR 253.
690         * include/bits/indirect_array.h: Likewise.
691         * include/bits/mask_array.h: Likewise.
692         * include/bits/slice_array.h: Likewise.
693
694 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
695
696         * testsuite/20_util/allocator/14176.cc: New.
697         * include/ext/mt_allocator.h: Formatting fixes.
698
699 2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>
700
701         * include/Makefile.am (ext_headers): Add
702         ${ext_srcdir}/bitmap_allocator.h .
703         * include/Makefile.in: Regenerate.
704         * docs/html/ext/ballocator_doc.txt: New file.
705         * include/ext/bitmap_allocator.h: New file.
706         * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
707         test.
708         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
709         * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
710         test for the bitmap_allocator<>.
711         * testsuite/performance/20_util/allocator/insert.cc: Likewise.
712         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
713         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
714
715 2004-03-11  Paolo Carlini  <pcarlini@suse.de>
716
717         * include/std/std_complex.h (pow(const complex&, const _Tp&),
718         pow(const _Tp&, const complex&), pow(const complex&,
719         const complex&)): Fully qualify with std:: a few calls.
720         * testsuite/26_numerics/complex/13450.cc: Minor tweak.
721
722 2004-03-11  Steven Bosscher  <stevenb@suse.de>
723
724         PR libstdc++/11706
725         * include/c_std/cmath.tcc (__cmath_power): Define inline.
726
727 2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
728
729         * configure.ac: Bump AC_PREREQ to 2.59.
730
731 2004-03-10  Paolo Carlini  <pcarlini@suse.de>
732
733         * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
734
735 2004-03-10  Paul Kienzle  <pkienzle@nist.gov>
736             Paolo Carlini  <pcarlini@suse.de>
737
738         PR libstdc++/13450
739         * include/std/std_complex.h (pow(const complex&, const _Tp&),
740         pow(const _Tp&, const complex&)): Use cmath pow only when safe.
741         * testsuite/26_numerics/complex/13450.cc: New.
742
743         * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
744         * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
745
746 2004-03-10  Jerry Quinn  <jlquinn@optonline.net>
747
748         PR libstdc++/3247
749         * include/bits/gslice_array.h (gslice_array()): Make public.
750         (operator=(gslice_array)): Make public.  Implement.
751         * include/bits/indirect_array.h (indirect_array()): Make public.
752         * include/bits/mask_array.h (mask_array()): Make public.
753         (operator=(mask_array)): Make public.  Implement.
754         * include/bits/valarray_array.tcc (__valarray_copy):
755         Comment.  Add versions for gslice_array and mask_array.
756         * testsuite/26_numerics/valarray_subset_assignment.cc:  New test.
757
758 2004-03-09  Benjamin Kosnik  <bkoz@redhat.com>
759
760         * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
761         non-weak systems.
762         * testsuite/23_containers/vector/modifiers/swap.cc: Same.
763         * testsuite/23_containers/set/modifiers/swap.cc: Same.
764         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
765         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
766         * testsuite/23_containers/map/modifiers/swap.cc: Same.
767         * testsuite/23_containers/list/modifiers/swap.cc: Same.
768
769         * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
770
771 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
772
773         PR c++/13658
774         * testsuite/23_containers/deque/modifiers/swap.cc: New.
775         * testsuite/23_containers/list/modifiers/swap.cc: New.
776         * testsuite/23_containers/map/modifiers/swap.cc: New.
777         * testsuite/23_containers/multimap/modifiers/swap.cc: New.
778         * testsuite/23_containers/multiset/modifiers/swap.cc: New.
779         * testsuite/23_containers/set/modifiers/swap.cc: New.
780         * testsuite/23_containers/vector/modifiers/swap.cc: New.
781
782 2004-03-08  Petur Runolfsson  <peturr02@ru.is>
783
784         PR libstdc++/12658
785         * testsuite/22_locale/locale/cons/12658_thread.cc: New.
786
787 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
788
789         * docs/html/ext/howto.html: Add entry for DR 103 [WP].
790         * include/bits/stl_multiset.h: Add comment about DR 103.
791         * include/bits/stl_set.h: Likewise.
792
793 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
794
795         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
796         The value _space_ indicates that at least one space is required
797         at that position.
798         * testsuite/22_locale/money_get/get/char/17.cc: New.
799         * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
800
801         * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
802         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
803
804         * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
805         Remove redundant conditional on __str.size().
806
807 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
808
809         * include/bits/allocator.h: Switch defaults to mt_alloc.
810
811 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
812
813         * include/ext/mt_allocator.h (_S_initialize): If
814         !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
815
816 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
817
818         PR libstdc++/12658
819         * src/locale_init.cc (locale::locale): Lock critical regions with
820         external mutexes.
821         (locale::global): Same.
822         * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
823         Add in once bits for cases without __GTHREAD_MUTEX_INIT.
824         (__glibcxx_mutex_lock): Same.
825
826         * config/cpu/generic/atomicity.h: Remove
827         _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
828         * src/misc-inst.cc: Move all locking bits out of this file.
829
830         * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
831         * src/misc-inst.cc: Same.
832         * config/cpu/hppa/atomicity.h: Same.
833
834         * config/linker-map.gnu: Remove types in the signature of atomic
835         exports, as they may vary.
836
837 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
838
839         * include/bits/locale_facets.tcc: Tweak the comment preceding
840         has_facet: doesn't throw.
841
842 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
843
844         * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
845         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
846         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
847         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
848         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
849         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
850         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
851         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
852
853 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
854
855         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
856         num_get<>::_M_extract_int, num_get<>::do_get(bool&),
857         __pad<>::_S_pad): Prefer plain operator== to traits::eq().
858         * testsuite/testsuite_character.h (struct __gnu_test::character):
859         Provide operator==.
860         * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
861         Likewise.
862
863 2004-03-05  Paolo Carlini  <pcarlini@suse.de>
864
865         * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
866
867 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
868
869         * testsuite/23_containers/multiset/insert/1.cc: Test result string.
870
871         * testsuite/23_containers/bitset/invalidation/1.cc: Main always
872         returns 0.
873         * testsuite/23_containers/deque/invalidation/4.cc: Same.
874         * testsuite/23_containers/list/invalidation/1.cc: Same.
875         * testsuite/23_containers/list/invalidation/2.cc: Same.
876         * testsuite/23_containers/list/invalidation/3.cc: Same.
877         * testsuite/23_containers/list/invalidation/4.cc: Same.
878         * testsuite/23_containers/map/invalidation/2.cc: Same.
879         * testsuite/23_containers/multimap/invalidation/1.cc: Same.
880         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
881         * testsuite/23_containers/multiset/invalidation/1.cc: Same.
882         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
883         * testsuite/23_containers/set/invalidation/1.cc: Same.
884         * testsuite/23_containers/set/invalidation/2.cc: Same.
885         * testsuite/23_containers/vector/invalidation/1.cc: Same.
886         * testsuite/23_containers/vector/invalidation/2.cc: Same.
887         * testsuite/23_containers/vector/invalidation/3.cc: Same.
888         * testsuite/23_containers/vector/invalidation/4.cc: Same.
889
890 2004-03-04  Paolo Carlini  <pcarlini@suse.de>
891
892         * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
893         CXXFLAGS_save.
894         * testsuite/lib/libstdc++.exp: Don't add it conditionally to
895         DEFAULT_CXXFLAGS.
896         * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
897         from the dg-options.
898         * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
899         * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
900         * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
901         * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
902         * testsuite/23_containers/vector/resize/1.cc: Likewise.
903         * testsuite/26_numerics/complex_value.cc: Likewise.
904         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
905         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
906         * testsuite/27_io/ios_base/storage/3.cc: Likewise.
907         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
908         * testsuite/27_io/objects/char/5.cc: Likewise.
909         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
910         * testsuite/backward/11460.cc: Likewise.
911         * testsuite/thread/pthread7-rope.cc: Likewise.
912
913         * testsuite/21_strings/basic_string/compare/char/1.cc: Add
914         missing test variable.
915         * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
916         missing test variable.
917
918 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
919
920         * testsuite/20_util/allocator/1.cc: Provide explicit
921         instantiations for non-weak systems.
922         * testsuite/20_util/binders.cc: Same.
923         * testsuite/20_util/allocator/8230.cc: Same.
924         * testsuite/20_util/allocator/10378.cc: Same.
925         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
926         * testsuite/22_locale/ctype/is/char/2.cc: Same.
927         * testsuite/thread/pthread7-rope.cc: Same.
928         * testsuite/thread/pthread6.cc: Same.
929         * testsuite/thread/pthread5.cc: Same.
930         * testsuite/thread/pthread4.cc: Same.
931         * testsuite/thread/pthread1.cc: Same.
932         * testsuite/ext/rope.cc: Same.
933         * testsuite/ext/hash_set.cc: Same.
934         * testsuite/ext/hash_map.cc: Same.
935         * testsuite/ext/concept_checks.cc: Same.
936         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
937         * testsuite/25_algorithms/unique/2.cc: Same.
938         * testsuite/25_algorithms/unique/1.cc: Same.
939         * testsuite/25_algorithms/rotate.cc: Same.
940         * testsuite/25_algorithms/min_max.cc: Same.
941         * testsuite/25_algorithms/equal.cc: Same.
942         * testsuite/24_iterators/rel_ops.cc: Same.
943         * testsuite/24_iterators/iterator.cc: Same.
944         * testsuite/24_iterators/insert_iterator.cc: Same.
945         * testsuite/24_iterators/front_insert_iterator.cc: Same.
946         * testsuite/24_iterators/back_insert_iterator.cc: Same.
947         * testsuite/23_containers/vector/resize/1.cc: Same.
948         * testsuite/23_containers/vector/modifiers/2.cc: Same.
949         * testsuite/23_containers/vector/modifiers/1.cc: Same.
950         * testsuite/23_containers/vector/invalidation/4.cc: Same.
951         * testsuite/23_containers/vector/invalidation/3.cc: Same.
952         * testsuite/23_containers/vector/invalidation/2.cc: Same.
953         * testsuite/23_containers/vector/invalidation/1.cc: Same.
954         * testsuite/23_containers/vector/element_access/1.cc: Same.
955         * testsuite/23_containers/vector/cons/6513.cc: Same.
956         * testsuite/23_containers/vector/cons/3.cc: Same.
957         * testsuite/23_containers/vector/cons/2.cc: Same.
958         * testsuite/23_containers/vector/cons/1.cc: Same.
959         * testsuite/23_containers/vector/capacity/8230.cc: Same.
960         * testsuite/23_containers/vector/capacity/1.cc: Same.
961         * testsuite/23_containers/vector/bool/6886.cc: Same.
962         * testsuite/23_containers/stack/members/7158.cc: Same.
963         * testsuite/23_containers/set/invalidation/2.cc: Same.
964         * testsuite/23_containers/set/invalidation/1.cc: Same.
965         * testsuite/23_containers/queue/members/7157.cc: Same.
966         * testsuite/23_containers/priority_queue/members/7161.cc: Same.
967         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
968         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
969         * testsuite/23_containers/multiset/insert/1.cc: Same.
970         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
971         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
972         * testsuite/23_containers/map/operators/1.cc: Same.
973         * testsuite/23_containers/map/invalidation/2.cc: Same.
974         * testsuite/23_containers/map/invalidation/1.cc: Same.
975         * testsuite/23_containers/map/insert/1.cc: Same.
976         * testsuite/23_containers/list/operators/4.cc: Same.
977         * testsuite/23_containers/list/operators/3.cc: Same.
978         * testsuite/23_containers/list/operators/2.cc: Same.
979         * testsuite/23_containers/list/operators/1.cc: Same.
980         * testsuite/23_containers/list/modifiers/3.cc: Same.
981         * testsuite/23_containers/list/modifiers/2.cc: Same.
982         * testsuite/23_containers/list/modifiers/1.cc: Same.
983         * testsuite/23_containers/list/invalidation/4.cc: Same.
984         * testsuite/23_containers/list/invalidation/3.cc: Same.
985         * testsuite/23_containers/list/invalidation/2.cc: Same.
986         * testsuite/23_containers/list/invalidation/1.cc: Same.
987         * testsuite/23_containers/list/cons/9.cc: Same.
988         * testsuite/23_containers/list/cons/8.cc: Same.
989         * testsuite/23_containers/list/cons/7.cc: Same.
990         * testsuite/23_containers/list/cons/6.cc: Same.
991         * testsuite/23_containers/list/cons/5.cc: Same.
992         * testsuite/23_containers/list/cons/4.cc: Same.
993         * testsuite/23_containers/list/cons/3.cc: Same.
994         * testsuite/23_containers/list/cons/2.cc: Same.
995         * testsuite/23_containers/list/cons/1.cc: Same.
996         * testsuite/23_containers/list/capacity/1.cc: Same.
997         * testsuite/23_containers/deque/operators/1.cc: Same.
998         * testsuite/23_containers/deque/invalidation/4.cc: Same.
999         * testsuite/23_containers/deque/invalidation/3.cc: Same.
1000         * testsuite/23_containers/deque/invalidation/2.cc: Same.
1001         * testsuite/23_containers/deque/invalidation/1.cc: Same.
1002         * testsuite/23_containers/deque/cons/2.cc: Same.
1003         * testsuite/23_containers/deque/cons/1.cc: Same.
1004
1005         * src/allocator.cc: Add char, wchar_t instantiations
1006         to match extern template declarations in memory.h.
1007
1008 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
1009
1010         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1011         Fix warning regression.
1012
1013 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
1014
1015         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1016         Deal properly with empty __digits and negative frac_digits,
1017         clean-up a bit.
1018
1019 2004-03-03  Jonathan Wakely  <redi@gcc.gnu.org>
1020
1021         * docs/html/documentation.html: Regenerate.
1022
1023 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
1024
1025         PR libstdc++/14320
1026         * include/bits/postypes.h (class streamoff): Remove, now
1027         streamoff is just typedef a 64 bit signed integer type.
1028         (class fpos): Tweak consistently.
1029         * testsuite/27_io/fpos/14320-1.cc: New.
1030         * testsuite/27_io/fpos/14320-2.cc: New.
1031         * testsuite/27_io/fpos/14320-3.cc: New.
1032         * testsuite/27_io/fpos/14320-4.cc: New.
1033         * testsuite/27_io/fpos/14320-5.cc: New.
1034         * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
1035
1036 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
1037
1038         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1039         Reorganize a bit the main parsing loop, thus early detecting
1040         an empty value component.
1041         * testsuite/22_locale/money_get/get/char/16.cc: New.
1042         * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
1043
1044 2004-03-02  Benjamin Kosnik  <bkoz@redhat.com>
1045
1046         Support automake 1.8.2
1047         * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
1048         * po/Makefile.am (EXTRA_DIST): New.
1049         * po/Makefile.in: Regenerate.
1050         * Makefile.in: Same.
1051         * include/Makefile.in: Same.
1052         * libmath/Makefile.in: Same.
1053         * libsupc++/Makefile.in: Same.
1054         * src/Makefile.in: Same.
1055         * testsuite/Makefile.in: Same.
1056
1057         * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
1058         __GXX_WEAK__ instead of SUPPORTS_WEAK.
1059         (${host_builddir}/gthr-default.h): Same.
1060         (${host_builddir}/gthr.h): Same.
1061         * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
1062         _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
1063         -fno-weak.
1064         * aclocal.m4: Regenerate.
1065         * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
1066         * config.h.in: Regenerate.
1067         * configure: Same.
1068
1069 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
1070
1071         Support autoconf 2.59
1072         * acinclude.m4: Quote correctly.
1073         * aclocal.m4: Regenerate.
1074         * linkage.m4: Same.
1075
1076 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
1077
1078         * docs/html/test.html: Add multilib RUNTESTFLAGS example.
1079
1080         * docs/html/18_support/howto.html: Add bit about writing to
1081         stderr, mostly by Zack.
1082
1083 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1084
1085         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
1086         money_get<>::do_get(string_type&)): ... and two more.
1087
1088 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1089
1090         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1091         Fix thinkos in the switch from string_type& to string& as last
1092         argument.
1093
1094 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1095
1096         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1097         Also when parsing exponent sign, first look for thousands_sep
1098         and decimal_point; tweak a bit.
1099         * testsuite/22_locale/num_get/get/char/15.cc: New.
1100         * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
1101
1102         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1103         num_get<>::_M_extract_int): Reorder some conditionals.
1104
1105 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1106
1107         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1108         Consistently with numpunct, enforce the requirements in
1109         22.2.6.3, p3 for the thousands separators; tweak a bit.
1110         * testsuite/22_locale/money_get/get/char/15.cc: New.
1111         * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
1112
1113 2004-03-01  David Billinghurst <David.Billinghurst@riotinto.com>
1114
1115         * testsuite/lib/libstdc++.exp (v3-list-tests): Use
1116         testsuite_files from correct multilib blddir when running
1117         testsuite.
1118
1119 2004-02-29  Phil Edwards  <phil@codesourcery.com>
1120
1121         * testsuite/Makefile.am (check-abi, check-abi-verbose):  Copy
1122         the summary file to the logfile.
1123         * testsuite/Makefile.in:  Regenerate.
1124
1125 2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1126
1127         * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
1128         volatile.
1129         * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
1130         __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
1131
1132 2004-02-28  Paolo Carlini  <pcarlini@suse.de>
1133
1134         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1135         According to 22.2.3.1, p2, 'units' may be followed by 'e' with
1136         no 'decimal-point' in the middle: in this case too we must fix
1137         up __found_grouping; slightly tweak.
1138         * testsuite/22_locale/num_get/get/char/14.cc: New.
1139         * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
1140
1141 2004-02-27  Eric Christopher  <echristo@redhat.com>
1142             Phil Edwards  <phil@codesourcery.com>
1143
1144         * testsuite/22_locale/collate/compare/wchar_t/2.cc,
1145         testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
1146         testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
1147         testsuite/22_locale/collate/hash/wchar_t/2.cc,
1148         testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
1149         testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
1150         testsuite/22_locale/collate/transform/wchar_t/2.cc,
1151         testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
1152         testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
1153         Use dg-require-iconv.
1154         * testsuite/lib/libstdc++.exp:  Load target-supports.exp.
1155
1156 2004-02-27  Phil Edwards  <phil@codesourcery.com>
1157             Eric Christopher  <echristo@redhat.com>
1158
1159         * testsuite/config/default.exp:  Update with comments.
1160         (${tool}_target_compile):  New wrapper routine.
1161         * testsuite/lib/dg-options.exp:  New file, with dg-require-iconv.
1162         * testsuite/lib/libstdc++.exp:  Update with comments and cosmetic
1163         fixes.
1164         (load_gcc_lib, v3track):  New routines.
1165         (v3-init):  Rename to libstdc++_init.
1166         * testsuite/libstdc++-dg/normal.exp:  No longer call v3-init.
1167         Move DEFAULT_CXXFLAGS handling into libstdc++_init.
1168
1169 2004-02-27  Benjamin Kosnik  <bkoz@redhat.com>
1170
1171         * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
1172
1173         * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
1174
1175         * config/os/irix/irix5.2/atomicity.h: Merge..
1176         * config/os/irix/irix6.5/atomicity.h: Merge..
1177         * config/os/irix/atomicity.h: ...into this.
1178         * config/os/irix/atomic_word.h: New.
1179         * configure.host: Set atomic_word_dir for irix.
1180
1181         * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
1182         * i386/atomicity.h: Same.
1183         * m68k/atomicity.h: Same.
1184         * sparc/atomicity.h: Same.
1185
1186 2004-02-27  David Edelsohn  <edelsohn@gnu.org>
1187
1188         * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
1189         static, and inline keywords.
1190
1191 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
1192
1193         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1194         num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
1195         call reserve on the __tmp_gruping string.
1196         (num_get<>::_M_extract_float): Don't append unnecessarily a
1197         char() to the returned string.
1198         * include/bits/locale_facets.tcc: Trivial reformattings.
1199
1200 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
1201
1202         * include/bits/locale_facets.h (money_get<>::_M_extract):
1203         Change signature: now takes a plain string&.
1204         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1205         Update consistently the definition; use the moneypunct cache
1206         to parse the value; use swap to change __units.
1207         (money_get<>::do_get(long double&)): Update call of _M_extract,
1208         avoid ctype::narrow, not correct wrt the standard.
1209         (money_get<>::do_get(string_type&)): Likewise, update call
1210         of _M_extract, use ctype::widen.
1211         * src/locale-inst.cc: Tweak instantiations of _M_extract.
1212
1213 2004-02-26  Ian Lance Taylor  <ian@wasabisystems.com>
1214
1215         * testsuite/demangle/abi_examples/01.cc: Expect error -2.
1216         * testsuite/demangle/abi_examples/02.cc: Likewise.
1217         * testsuite/demangle/regression/cw-11.cc: Likewise.
1218         * testsuite/demangle/regression/cw-16.cc: Change two expected
1219         results to match libiberty demangler output.
1220
1221 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
1222
1223         PR libstdc++/10246
1224         * libsupc++/Makefile.am: Use libiberty demangler.
1225         (c_sources): Add cp-demangle.c.
1226         * libsupc++/Makefile.in: Regenerate.
1227         * src/Makefile.am (sources): Remove demangle.cc.
1228         * src/Makefile.in: Regenerate.
1229         * include/Makefile.am (bits_headers): Move demangle.h.
1230         (ext_headers): ...here.
1231         * include/Makefile.in: Regenerate.
1232         * include/bits/demangle.h: Move...
1233         * include/ext/demangle.h: ...here.
1234         * src/demangle.cc: Remove.
1235
1236 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
1237
1238         * include/bits/demangle.h: Add type template parameter to all
1239         templates with just an Allocator template parameter.
1240
1241 2004-02-25  Benjamin Kosnik  <bkoz@redhat.com>
1242
1243         * include/bits/atomicity.h: New, forward declarations for __atomic_add
1244         and __exchange_and_add.
1245         * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
1246         * config/cpu/cris/atomic_word.h: Same.
1247         * config/cpu/sparc/atomic_word.h: Same.
1248         * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
1249         Qualifiy with __gnu_cxx.
1250         (_Callback_list::_M_add_reference): Same.
1251         * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
1252         (locale::facet::_M_remove_reference): Same.
1253         (locale::_Impl::_M_add_reference): Add.
1254         (locale::_Impl::_M_remove_reference): Same.
1255         * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
1256         (basic_string::_Rep::_M_dispose): Same.
1257         * src/ios.cc (ios_base::xalloc): Same.
1258         * src/ios_init.cc (ios_base::Init::Init): Same.
1259         (ios_base::Init::~Init): Same.
1260         * src/locale.cc (locale::id::_M_id): Same.
1261         * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
1262         static, and inline keywords.
1263         * config/cpu/alpha/atomicity.h: Same.
1264         * config/cpu/cris/atomicity.h: Same.
1265         * config/cpu/generic/atomicity.h: Same.
1266         * config/cpu/hppa/atomicity.h: Same.
1267         * config/cpu/i386/atomicity.h: Same.
1268         * config/cpu/ia64/atomicity.h: Same.
1269         * config/cpu/m68k/atomicity.h: Same.
1270         * config/cpu/mips/atomicity.h: Same.
1271         * config/cpu/powerpc/atomicity.h: Same.
1272         * config/cpu/s390/atomicity.h: Same.
1273         * config/cpu/sparc/atomicity.h: Same.
1274
1275         * src/Makefile.am (host_sources): Add atomicity.cc.
1276         (atomicity.cc): New rule.
1277         * src/Makefile.in: Regenerate.
1278         * include/Makefile.am (host_headers): Remove host atomicity.h.
1279         (host_headers): Add atomic_word.h.
1280         (bits_headers): Add bits atomicity.h.
1281         Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
1282         * include/Makefile.in: Regenerate.
1283         * configure.host (atomic_word_dir): Add.
1284         * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
1285         ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
1286         * configure: Regenerate.
1287         * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
1288
1289         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
1290         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
1291
1292 2004-02-25  Jonathan Wakely  <redi@gcc.gnu.org>
1293
1294         * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
1295         docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
1296         Fix markup, more <link> tags.
1297
1298 2004-02-25  Carlo Wood  <carlo@alinoe.com>
1299
1300         * bits/demangle.h
1301         namespace __gnu_cxx::demangler
1302         (session<Allocator>::qualifier_list_Allocator): Add
1303         (session<Allocator>::M_qualifier_list_alloc): Add
1304         (session<Allocator>::decode_type_with_postfix):
1305         Use M_qualifier_list_alloc instead of calling operator new/delete.
1306
1307 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
1308
1309         PR libstdc++/14252
1310         * include/bits/postypes.h (class streamoff): Add operator++(),
1311         operator++(int), operator--() and operator--(int).
1312         * testsuite/27_io/fpos/14252.cc: New.
1313
1314 2004-02-24  Richard Sandiford  <rsandifo@redhat.com>
1315
1316         * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
1317         error in handling of hex constants.
1318
1319 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
1320
1321         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1322         Prefer basic_string::append to operator+= and a temporary.
1323
1324 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
1325
1326         * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
1327         Only use fputs, not write.
1328
1329 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
1330
1331         * include/ext/malloc_allocator.h: Add operators ==, !=.
1332         * include/ext/new_allocator.h: Add operators ==, !=.
1333         * include/ext/mt_allocator.h (__mt_alloc::tune): New.
1334         (__mt_alloc::_S_get_options): New.
1335         (__mt_alloc::_S_set_options): New.
1336         (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
1337         (__mt_alloc::_S_no_of_bins): To _S_bin_size.
1338         Move functions out of line, simplify, format.
1339         * src/allocator.cc: Simplify explicit instantiations.
1340         * include/bits/allocator.h: Tweak.
1341
1342 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
1343
1344         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1345         Restructure formatting of value component, first dealing with
1346         the non-decimal digits; use reserve.
1347
1348 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
1349
1350         * include/bits/locale_facets.h (class money_get): Inherit
1351         from money_base too; tweak declaration of _M_extract, now
1352         parameterized on _Intl too.
1353         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1354         Update definition to use the cache; call reserve on __res to
1355         avoid multiple reallocations; fix parsing of sign component
1356         according to 22.2.6.1.2, p3.
1357         (money_get<>::do_get(long double&),
1358         money_get<>::do_get(string_type&)): Update calls of _M_extract.
1359         * src/locale-inst.cc:  Add instantiations of
1360         money_get::_M_extract<false> and money_get::_M_extract<true>.
1361         * testsuite/22_locale/money_get/get/char/14.cc: New.
1362         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
1363
1364 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
1365
1366         * libsupc++/vterminate.cc
1367         (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
1368         calls to terminate.
1369         * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
1370
1371         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
1372         not set RLIMIT_AS on HP-UX.
1373
1374 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
1375
1376         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
1377         not set RLIMIT_AS on HP-UX.
1378
1379 2004-02-21  Paolo Carlini  <pcarlini@suse.de>
1380
1381         * include/bits/locale_facets.h (class money_base): Add { _S_minus,
1382         _S_zero, _S_end } enum, _S_atoms.
1383         (struct __moneypunct_cache<>): Parameterize on _Intl too; add
1384         _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
1385         _M_negative_sign_size, _M_atoms; tweak constructor consistently.
1386         (__moneypunct_cache<>::~__moneypunct_cache): Update.
1387         (__moneypunct_cache<>::_M_cache): Fill the cache.
1388         (class moneypunct): Tweak __cache_type typedef.
1389         (class money_put): Inherit from money_base too; tweak declaration
1390         of _M_insert, now parameterized on _Intl.
1391         * include/bits/locale_facets.tcc
1392         (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
1393         (money_put<>::_M_insert): Update definition to use the cache;
1394         call reserve on __res to avoid multiple reallocations.
1395         (money_put<>::do_put(long double),
1396         money_put<>::do_put(const string_type&): Update calls of _M_insert.
1397         * config/locale/generic/monetary_members.cc
1398         (moneypunct<char, true>::_M_initialize_moneypunct,
1399         moneypunct<char, false>::_M_initialize_moneypunct,
1400         moneypunct<wchar_t, true>::_M_initialize_moneypunct,
1401         moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
1402         * config/locale/gnu/monetary_members.cc: Likewise.
1403         * config/locale/gnu/monetary_members.cc
1404         (moneypunct<wchar_t, true>::~moneypunct(),
1405         moneypunct<wchar_t, false>::~moneypunct()): Likewise.
1406         * src/globals_locale.cc: Tweak fake_money_cache_c.
1407         * src/locale-inst.cc: Add instantiations for
1408         money_put::_M_insert<false> and money_put::_M_insert<true> and
1409         __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
1410         * src/locale_facets.cc: Define money_base::_S_atoms.
1411         * src/locale_init.cc: Update placement new of
1412         __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
1413         __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
1414
1415         * config/locale/generic/numeric_members.cc: Clean up.
1416         * config/locale/gnu/numeric_members.cc: Likewise.
1417         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
1418         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
1419         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
1420         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
1421         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
1422         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
1423
1424 2004-02-20  Mark Mitchell  <mark@codesourcery.com>
1425
1426         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
1427         FIFO for writing with ios_base::in|ios_base::out.
1428         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1429         * testsuite/27_io/objects/char/7.cc: Likewise.
1430         * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
1431         with "r+".
1432
1433 2004-02-19  David Edelsohn  <edelsohn@gnu.org>
1434
1435         * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
1436         from iso-8859-1 to ISO8859-1.
1437         * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
1438         * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
1439         * 22_locale/collate/hash/wchar_t/2.cc: Same.
1440         * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
1441         * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
1442         * 22_locale/collate/transform/wchar_t/2.cc: Same.
1443         * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
1444         * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
1445
1446 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
1447
1448         * include/bits/locale_facets.h (money_get<>::_M_extract):
1449         New, helper for do_get.
1450         (money_put<>::_M_insert): Likewise, for do_put.
1451         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
1452         money_put<>::_M_insert): Define.
1453         (money_get<>::do_get(long double&), money_get<>::do_get(
1454         string_type&), money_put::do_put(long double),
1455         money_put::do_put(const string_type&)): Use the helpers.
1456
1457 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
1458
1459         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
1460         Rewrite, avoiding recursion.
1461         (__gnu_internal::xwrite): Minor tweaks.
1462
1463 2004-02-17  Stefan Olsson  <stefan@xapa.se>
1464
1465         * include/ext/mt_allocator.h: Removed the last
1466         pointer. Deallocated blocks are now added to the front of
1467         freelists as proposed by Felix Yen.  This gives roughly 10%
1468         performance boost and saves some memory.
1469         * docs/html/ext/mt_allocator.html: Change due to that deallocated
1470         blocks now are added to the front of freelists. The reason to this
1471         approach is also explained.
1472
1473 2004-02-17  Paolo Carlini  <pcarlini@suse.de>
1474
1475         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1476         num_get<>::_M_extract_int, money_get<>::do_get): Simplify
1477         grouping fidelity conditional.
1478
1479 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
1480
1481         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
1482         Qualify exception with std::.
1483         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
1484         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
1485         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1486         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1487         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1488
1489 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
1490
1491         * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
1492         for now that the catch block is not reached.
1493         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
1494
1495 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
1496
1497         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
1498         Fix parsing of the remaining sign characters.
1499         * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
1500         the input is scanned 'til eof.
1501         * 22_locale/money_get/get/char/4.cc: Likewise.
1502         * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
1503         * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
1504         * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
1505         not do_pos_format: the former is the only one that matters during
1506         input.
1507         * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
1508
1509         * 22_locale/money_get/get/char/6.cc: Minor tweak.
1510         * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
1511
1512 2004-02-15  David Asher  <david.asher@cavium.com>
1513
1514         PR libstdc++/11352
1515         * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
1516         access __olds beyond __oldlen.
1517
1518 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
1519
1520         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
1521         sure the exception is actually thrown.
1522         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1523         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1524         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1525
1526 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
1527
1528         PR libstdc++/13858
1529         * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
1530         In case of conversion errors, throw ios_failure; simplify.
1531         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
1532         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
1533         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
1534         previously we didn't throw in case of conversion errors, instead
1535         just returned eof().
1536         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1537         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1538         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1539
1540         * include/bits/fstream.tcc (basic_filebuf<>::overflow):
1541         Trivial simplification of a conditional.
1542
1543 2004-02-12  Paolo Carlini  <pcarlini@suse.de>
1544
1545         PR libstdc++/13731 (final part: writev)
1546         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
1547         New, a wrapper around writev() handling partial writes.
1548         (__basic_file<char>::xwrite): Move to __gnu_internal and make
1549         static.
1550         (__basic_file<char>::xsputn): Update call.
1551         (__basic_file<char>::xsputn_2): Likewise.
1552         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
1553         Don't declare, now static.
1554
1555 2004-02-11  Stefan Olsson  <stefan@xapa.se>
1556
1557         * docs/html/ext/mt_allocator.html: New.
1558
1559 2004-02-11  Benjamin Kosnik  <bkoz@redhat.com>
1560
1561         * docs/html/20_util/allocator.html: New file, consolidate
1562         allocator information here. Revamp.
1563         * docs/html/documentation.html: Change links.
1564         * docs/html/20_util/howto.html: Same.
1565         * docs/html/ext/howto.html: Same.
1566
1567 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
1568
1569         PR libstdc++/13731 (first part: write)
1570         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
1571         New, declare.
1572         * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
1573         Define it: a wrapper around write() handling partial write.
1574         (__basic_file<char>::xsputn): Use it.
1575         (__basic_file<char>::xsputn_2): Likewise.
1576
1577 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
1578             Petur Runolfsson  <peturr02@ru.is>
1579
1580         PR libstdc++/14078
1581         * include/std/std_istream.h (operator>>(__istream_type& (*)
1582         (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
1583         operator>>(ios_base& (*)(ios_base&))): Declare inline.
1584         * include/std/std_ostream.h (operator<<(__ostream_type& (*)
1585         (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
1586         operator<<(ios_base& (*) (ios_base&))): Likewise.
1587         * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
1588
1589 2004-02-10  Loren J. Rittle  <ljrittle@acm.org>
1590
1591         PR libstdc++/14098
1592         * config/linker-map.gnu: Add typeinfo and typeinfo name for
1593         __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
1594
1595         PR libstdc++/14097
1596         * config/linker-map.gnu: Add typeinfo and typeinfo name for
1597         __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
1598
1599 2004-02-09  Loren J. Rittle  <ljrittle@acm.org>
1600
1601         * include/ext/pool_allocator.h: Include c++config.h.
1602
1603 2004-02-09  Stefan Olsson  <stefan@xapa.se>
1604
1605         * include/ext/mt_allocator.h: thread_id is unused in non threaded
1606         applications and now has a ifdef to remove it completely on
1607         compilers without thread support. Include stdlib.h due to a
1608         compiler warning on getenv().
1609
1610 2004-02-09  Paul Brook  <paul@codesourcery.com>
1611
1612         * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
1613
1614 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
1615
1616         PR libstdc++/14071
1617         * src/locale_init.cc (locale::global(const locale&)): Use
1618         locale::name() in order to decide whether calling setlocale.
1619         * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
1620
1621         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
1622         Avoid computing &= unnecessarily.
1623
1624 2004-02-09  James E Wilson  <wilson@specifixinc.com>
1625
1626         PR libstdc++/5625
1627         * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
1628         __builtin_extend_pointer.
1629
1630 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
1631
1632         PR libstdc++/14072
1633         * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
1634         Don't leave dangling pointers.
1635         * testsuite/27_io/basic_ios/imbue/14072.cc: New.
1636         * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
1637         facet is needed in the final test.
1638
1639 2004-02-09  Bernardo Innocenti  <bernie@develer.com>
1640
1641         * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
1642         * configure: Regenerate.
1643
1644 2004-02-08  Richard Henderson  <rth@redhat.com>
1645
1646         PR libstdc++/14026
1647         * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
1648         uncaughtExceptions during nested catch rethrow.
1649         * testsuite/18_support/14026.cc: New.
1650
1651 2004-02-08  Paolo Carlini  <pcarlini@suse.de>
1652
1653         * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
1654         When working in place remember to set the state to sharable
1655         (otherwise, _M_mutate does it).
1656
1657 2004-02-08  Bernardo Innocenti  <bernie@develer.com>
1658
1659         * include/bits/allocator.h, include/bits/basic_ios.h,
1660         include/bits/basic_ios.tcc, include/bits/basic_string.h,
1661         include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
1662         include/bits/char_traits.h, include/bits/codecvt.h,
1663         include/bits/concurrence.h, include/bits/cpp_type_traits.h,
1664         include/bits/demangle.h, include/bits/deque.tcc,
1665         include/bits/fstream.tcc, include/bits/functexcept.h,
1666         include/bits/gslice.h, include/bits/gslice_array.h,
1667         include/bits/indirect_array.h, include/bits/ios_base.h,
1668         include/bits/istream.tcc, include/bits/list.tcc,
1669         include/bits/locale_classes.h, include/bits/locale_facets.h,
1670         include/bits/locale_facets.tcc, include/bits/localefwd.h,
1671         include/bits/mask_array.h, include/bits/ostream.tcc,
1672         include/bits/postypes.h, include/bits/slice_array.h,
1673         include/bits/sstream.tcc, include/bits/stl_algo.h,
1674         include/bits/stl_algobase.h, include/bits/stl_bvector.h,
1675         include/bits/stl_construct.h, include/bits/stl_deque.h,
1676         include/bits/stl_function.h, include/bits/stl_heap.h,
1677         include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
1678         include/bits/stl_list.h, include/bits/stl_map.h,
1679         include/bits/stl_multimap.h, include/bits/stl_multiset.h,
1680         include/bits/stl_numeric.h, include/bits/stl_pair.h,
1681         include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
1682         include/bits/stl_relops.h, include/bits/stl_set.h,
1683         include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
1684         include/bits/stl_threads.h, include/bits/stl_tree.h,
1685         include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
1686         include/bits/stream_iterator.h, include/bits/streambuf.tcc,
1687         include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
1688         include/bits/type_traits.h, include/bits/valarray_after.h,
1689         include/bits/valarray_array.h, include/bits/valarray_array.tcc,
1690         include/bits/valarray_before.h, include/bits/vector.tcc: Remove
1691         trailing whitespace.
1692
1693 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
1694
1695         * include/bits/basic_string.h: Fix comment.
1696
1697 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
1698
1699         * include/bits/stl_construct.h: Wrap overlong lines, reformat
1700         according to the coding standards.
1701         * include/bits/stl_pair.h: Likewise.
1702         * include/bits/stl_raw_storage_iter.h: Likewise.
1703         * include/bits/stl_stack.h: Likewise.
1704         * include/bits/stl_uninitialized.h: Likewise.
1705         * include/bits/stream_iterator.h: Likewise.
1706         * include/bits/streambuf_iterator.h: Likewise.
1707         * include/bits/type_traits.h: Likewise.
1708
1709 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
1710
1711         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
1712         Adjust timings.
1713
1714 2004-02-05  Loren J. Rittle  <ljrittle@acm.org>
1715
1716         * scripts/check_performance: Support PCH.
1717
1718         * scripts/check_performance (CXX): Add -DNOTHREAD.
1719         * testsuite/performance/20_util/allocator/insert.cc: Integrate
1720         threaded tests from insert_insert.cc.  Tweak iterations,
1721         remove special cases.
1722         * testsuite/performance/20_util/allocator/insert_insert.cc:
1723         Make all tests single-threaded. Tweak iterations.
1724         * testsuite/performance/20_util/allocator/map_thread.cc:
1725         Tweak iterations.
1726         * testsuite/performance/20_util/allocator/producer_consumer.cc:
1727         Likewise.
1728
1729 2004-02-05  Geoffrey Keating  <geoffk@apple.com>
1730
1731         PR 12179
1732         * .cvsignore: New.
1733         * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
1734         'gcc-lib'.  Add comment about poorly-named variables.
1735         * aclocal.m4: Regenerate.
1736         * configure: Regenerate.
1737
1738 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
1739
1740         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
1741         Thousands-sep are always optional; thousands-sep are not allowed
1742         after the decimal_point.
1743         * testsuite/22_locale/money_get/get/char/12.cc: New.
1744         * testsuite/22_locale/money_get/get/char/13.cc: New.
1745         * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
1746         * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
1747
1748         * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
1749         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
1750         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
1751         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
1752         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
1753         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
1754         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
1755         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
1756
1757         * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
1758         the standard.
1759         * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
1760
1761 2004-02-05  Richard Sandiford  <rsandifo@redhat.com>
1762
1763         * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
1764         Define.
1765         * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
1766         it to decide whether FIONREAD should take an off_t or int argument.
1767
1768 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
1769
1770         * include/bits/stl_function.h: Minor formatting changes.
1771
1772 2004-02-04  Zack Weinberg  <zack@codesourcery.com>
1773
1774         Revert previous change to config/abi/*/baseline_symbols.txt.
1775
1776 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
1777             Zack Weinberg  <zack@codesourcery.com>
1778
1779         * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
1780         New function.
1781         (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
1782         (__basic_file<char>::_M_open_mode): Delete.
1783         * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
1784
1785         * testsuite/27_io/basic_filebuf/close/char/9964.cc
1786         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
1787         Correct flags to filebuf::open calls.
1788
1789         * config/abi/alpha-freebsd5/baseline_symbols.txt
1790         * config/abi/alpha-linux-gnu/baseline_symbols.txt
1791         * config/abi/hppa-linux-gnu/baseline_symbols.txt
1792         * config/abi/i386-freebsd4/baseline_symbols.txt
1793         * config/abi/i386-freebsd5/baseline_symbols.txt
1794         * config/abi/i486-linux-gnu/baseline_symbols.txt
1795         * config/abi/ia64-linux-gnu/baseline_symbols.txt
1796         * config/abi/mips-linux-gnu/baseline_symbols.txt
1797         * config/abi/sparc-freebsd5/baseline_symbols.txt
1798         * config/abi/sparc-linux-gnu/baseline_symbols.txt
1799         * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
1800         Remove entry for __basic_file<char>::_M_open_mode.
1801
1802 2004-02-04  Loren J. Rittle  <ljrittle@acm.org>
1803
1804         * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
1805
1806 2004-02-04  Felix Yen  <fwy@alumni.brown.edu>
1807
1808         * testsuite/performance/20_util/producer_consumer.cc: New.
1809         * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
1810
1811 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
1812
1813         * testsuite/performance/20_util/allocator.cc: Move to..
1814         * testsuite/performance/20_util/allocator/insert.cc: ...here.
1815         * testsuite/performance/20_util/allocator_thread.cc: Move to...
1816         * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
1817         * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
1818         * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
1819
1820 2004-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
1821
1822         * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
1823         * docs/html/faq/index.txt: Regenerate.
1824
1825 2004-02-04  Dhruv Matani  <dhruvbird@gmx.net>
1826
1827         * include/ext/debug_allocator.h: _M_extra now stands for the
1828         number of extra objects instead of the number of extra bytes.
1829         (debug_allocator::allocate): Adjust.
1830         (debug_allocator::deallocate): Adjust.
1831
1832         * include/ext/pool_allocator.h: Fix typo.
1833
1834 2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
1835             Benjamin Kosnik  <bkoz@redhat.com>
1836
1837         * testsuite/performance/20_util/allocator.cc: Add map,
1838         deque, set tests.
1839         * testsuite/performance/20_util/allocator_thread.cc: Same.
1840
1841 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
1842
1843         * include/bits/basic_string.h (insert(iterator)): Remove,
1844         non-standard and already scheduled for removal.
1845
1846 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
1847
1848         * include/bits/stl_iterator_base_funcs.h: Minor formatting
1849         and indentation tweaks.
1850         * include/bits/stl_iterator_base_types.h: Likewise.
1851         * include/bits/stl_list.h: Likewise.
1852         * include/bits/stl_map.h: Likewise.
1853         * include/bits/stl_tempbuf.h: Likewise.
1854
1855 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
1856
1857         * include/bits/gslice.h, include/bits/gslice_array.h,
1858         include/bits/indirect_array.h, include/bits/mask_array.h,
1859         include/bits/slice_array.h, include/bits/stl_numeric.h,
1860         include/std/std_valarray.h:  Update copyright years.
1861
1862 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
1863
1864         * include/bits/gslice.h (gslice):  Document.
1865         * include/bits/gslice_array.h (gslice_array):  Document.
1866         * include/bits/indirect_array (indirect_array):  Document.
1867         * include/bits/mask_array (mask_array):  Document.
1868         * include/bits/slice_array.h (slice,slice_array):  Document.
1869         * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
1870         adjacent_difference):  Document
1871         * include/std/std_valarray.h (valarray):  Document.
1872
1873 2004-02-02  Benjamin Kosnik  <bkoz@redhat.com>
1874
1875         * docs/html/19_diagnostics/howto.html: Move verbose terminate
1876         documentation...
1877         * docs/html/18_support/howto.html: Here.
1878         * docs/html/documentation.html: Add reference here.
1879
1880 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
1881
1882         * config/locale/gnu/c++locale_internal.h: Remove prototypes
1883         of no longer used GLIBC thread locale functions.
1884
1885 2004-02-02  Eric Christopher  <echristo@redhat.com>
1886             Zack Weinberg  <zack@codesourcery.com>
1887
1888         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
1889         -finput-charset.
1890         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
1891         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
1892         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
1893         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
1894         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
1895         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
1896         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
1897         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
1898         Ditto.
1899
1900 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
1901
1902         * include/bits/stl_function.h: Additional minor tweaks.
1903         * include/bits/stl_multiset.h: Likewise.
1904
1905         * include/bits/stl_queue.h: Minor tweaks.
1906
1907 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
1908
1909         PR libstdc++/13976 (continued)
1910         * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
1911         Make the second parameter unnamed, to void unused parameter
1912         warnings.
1913         * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
1914
1915 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
1916
1917         PR libstdc++/13976
1918         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
1919         Make the second parameter unnamed, to void unused parameter
1920         warnings.
1921         * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
1922         * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
1923
1924 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
1925
1926         * include/bits/stl_algo.h: Additional minor tweaks.
1927         * include/bits/stl_map.h: Likewise.
1928         * include/bits/stl_multimap.h: Likewise.
1929         * include/bits/stl_multiset.h: Likewise.
1930         * include/bits/stl_set.h: Likewise.
1931         * include/bits/stl_tree.h: Likewise.
1932
1933 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
1934
1935         * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
1936         Remove, unused.
1937
1938 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
1939
1940         * include/bits/stl_function.h: Additional minor tweaks.
1941
1942 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
1943
1944         * include/bits/deque.tcc: Wrap overlong lines, constify
1945         a few variables, reformat according to the coding standards.
1946         * include/bits/list.tcc: Likewise.
1947         * include/bits/stl_deque.h: Likewise.
1948         * include/bits/stl_function.h: Likewise.
1949         * include/bits/stl_iterator.h: Likewise.
1950         * include/bits/stl_iterator_base_funcs.h: Likewise.
1951         * include/bits/stl_iterator_base_types.h: Likewise.
1952         * include/bits/stl_list.h: Likewise.
1953         * include/bits/stl_map.h: Likewise.
1954         * include/bits/stl_multimap.h: Likewise.
1955         * include/bits/stl_multiset.h: Likewise.
1956         * include/bits/stl_relops.h: Likewise.
1957         * include/bits/stl_set.h: Likewise.
1958
1959 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
1960
1961         * include/bits/stl_bvector.h: Wrap overlong lines, constify
1962         a few variables, reformat according to the coding standards.
1963         * include/bits/stl_tree.h: Likewise.
1964
1965 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
1966
1967         * include/bits/stl_algo.h: Minor additional reformat, add
1968         copyright year.
1969         * include/bits/stl_algobase.h: Add copyright year.
1970
1971 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
1972
1973         * include/bits/stl_algo.h: Wrap overlong lines, constify
1974         a few variables, reformat according to the coding standards.
1975         * include/bits/stl_algobase.h: Likewise.
1976         * include/bits/stl_heap.h: Likewise.
1977
1978 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
1979
1980         * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
1981
1982         * include/bits/basic_string.h: Fix two comments.
1983
1984 2004-01-31  Per Bothner  <per@bothner.com>
1985
1986         * include/ext/mt_allocator.h
1987         (__mt_alloc::_S_thread_freelist_mutex): Guard with
1988         __GTHREAD_MUTEX_INIT.
1989
1990 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
1991
1992         * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
1993
1994 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
1995
1996         * testsuite/21_strings/basic_string/cons/char/6.cc: New.
1997         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
1998         * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
1999
2000 2004-01-30  Felix Yen  <fwy@alumni.brown.edu>
2001
2002         * testsuite/performance/20_util/allocator_thread.cc (do_loop):
2003         Don't use clear, but instead assign. Use insert.
2004
2005 2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>
2006
2007         * src/demangle.cc: Add instantiations.
2008         * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
2009         * src/Makefile.in: Regenerate.
2010
2011 2004-01-30  David Edelsohn  <edelsohn@gnu.org>
2012
2013         * src/allocator.cc: Protect _S_get_thread_id() and
2014         _S_thread_key_destr() with #ifdef __GTHREADS.
2015
2016 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
2017
2018         Reshuffle performance testsuite.
2019         * testsuite/performance/allocator.cc, allocator_map_thread.cc,
2020         allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
2021         cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
2022         fstream_seek_write.cc, ifstream_extract_float.cc,
2023         ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
2024         list_create_fill_sort.cc, map_create_fill.cc,
2025         narrow_widen_char.cc, narrow_widen_wchar_t.cc,
2026         ofstream_insert_float.cc, ofstream_insert_int.cc,
2027         string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
2028         wchar_t_out.cc: Split into...
2029         * testsuite/performance/20_util/allocator.cc: New.
2030         * testsuite/performance/20_util/allocator_map_thread.cc: New.
2031         * testsuite/performance/20_util/allocator_thread.cc: New.
2032         * testsuite/performance/21_strings/string_append: New.
2033         * testsuite/performance/22_locale/is_wchar_t.cc: New.
2034         * testsuite/performance/22_locale/narrow_widen_char.cc: New.
2035         * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
2036         * testsuite/performance/22_locale/wchar_t_in.cc: New.
2037         * testsuite/performance/22_locale/wchar_t_length.cc: New.
2038         * testsuite/performance/22_locale/wchar_t_out.cc: New.
2039         * testsuite/performance/23_containers/container_benchmark.cc: New.
2040         * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
2041         * testsuite/performance/23_containers/map_create_fill.cc: New.
2042         * testsuite/performance/26_numerics/complex_norm.cc: New.
2043         * testsuite/performance/27_io/cout_insert_int.cc: New.
2044         * testsuite/performance/27_io/filebuf_copy.cc: New.
2045         * testsuite/performance/27_io/filebuf_sputc.cc: New.
2046         * testsuite/performance/27_io/fstream_seek_write.cc: New.
2047         * testsuite/performance/27_io/ifstream_extract_float.cc: New.
2048         * testsuite/performance/27_io/ifstream_extract_int.cc: New.
2049         * testsuite/performance/27_io/ifstream_getline.cc: New.
2050         * testsuite/performance/27_io/ofstream_insert_float.cc: New.
2051         * testsuite/performance/27_io/ofstream_insert_int.cc: New.
2052
2053 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
2054
2055         * include/bits/basic_string.tcc (_Rep::_S_create):
2056         Never allocate a string bigger than max_size(); always keep
2057         __capacity and __size in sync to avoid memory leaks at
2058         deallocation time.
2059
2060 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
2061
2062         * include/bits/basic_string.tcc (_S_construct(_InIterator,
2063         _InIterator, const _Alloc&, input_iterator_tag)): Simplify
2064         the double loop, streamline.
2065
2066         * include/bits/basic_string.tcc: Very minor tweaks.
2067
2068 2004-01-30  Loren J. Rittle  <ljrittle@acm.org>
2069
2070         * scripts/check_performance: Only compile with $THREAD_FLAG
2071         when test is marked to require it.  Allow multiple
2072         compilations/executions of marked tests.
2073         * testsuite/testsuite_performance.h (report_performance):
2074         Report dynamic thread support status.
2075         (report_header): Likewise.
2076         * testsuite/performance/allocator.cc: Stabilize iteration
2077         count.  Support more allocators.  Mark each allocator test to
2078         run and report independently.
2079         * testsuite/performance/allocator_map_thread.cc: Likewise.
2080         * testsuite/performance/allocator_thread.cc: Likewise.
2081
2082 2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>
2083
2084         * config/local/generic/c_locale.h: Change ::malloc() to new char[].
2085         * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
2086         * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
2087         std::get_temporary_buffer() instead of duplicating its code.
2088         Update to C++STYLE conventions.
2089         * include/std/std_memory.h (get_temporary_buffer): Use ::operator
2090         new() instead of std::malloc().
2091         (return_temporary_buffer): Use ::operator delete() instead of
2092         std::free().
2093
2094 2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>
2095
2096         * include/bits/allocator.h: Temporary switch to new_allocator as
2097         the default to unjam bootstraps.
2098
2099 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
2100
2101         * include/Makefile.am (bits_headers): Remove allocator_traits.h.
2102         * include/Makefile.in: Regenerate.
2103         * include/bits/allocator_traits.h: Remove.
2104         * include/bits/allocator.h: Remove allocator_traits.h include, and
2105         relevant comments.
2106         (allocator): Empty base class, inherit from the underlying allocator.
2107         * src/allocator-inst.cc: Move __pool_alloc instantiation to...
2108         * src/allocator.cc: ...here. New. For the underlying allocators.
2109         Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
2110         * config/linker-map.gnu: Remove __pool_alloc bits.
2111         * src/Makefile.am (sources): Add allocator.cc.
2112         * src/Makefile.in: Regenerate.
2113         * testsuite/20_util/allocator/1.cc: Split second test into...
2114         * testsuite/20_util/allocator/8230.cc: ...this.
2115         * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
2116         typedef to use std::allocatore. Format.
2117         * include/ext/pool_allocator.h: Remove allocator_traits.h include,
2118         _Alloc_traits.
2119         * include/ext/mt_allocator.h (__gnu_cxx): Qualify
2120         __throw_bad_alloc calls. Don't include <memory>.
2121         * include/ext/malloc_allocator.h: Remove <memory> include.
2122         * include/ext/new_allocator.h (new_allocator): Same.
2123         * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
2124         declaration. Switch __alloc to _Alloc.
2125         * include/ext/hashtable.h: Remove __alloc.
2126         * include/backward/alloc.h: Only inject allocator, not
2127         implementation details.
2128
2129         * include/ext/mt_allocator.h: Replace free with delete.
2130
2131 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
2132
2133         * src/globals_io.cc: Change to __gnu_internal namespace.
2134         * src/globals_locale.cc: Same.
2135         * src/locale_init.cc: Same.
2136         * src/ios_init.cc: Same.
2137
2138 2004-01-28  Stefan Olsson  <stefan@snon.net>
2139
2140         * include/ext/mt_allocator.h: Replaced all malloc() calls with
2141         operator new(). Added support for the env variable
2142         GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
2143         one in allocate() as well). Fix typos.
2144
2145 2004-01-28  Paolo Carlini  <pcarlini@suse.de>
2146
2147         * include/bits/basic_string.h (_S_create(size_t,
2148         const _Alloc&): Change signature to take two size_type
2149         arguments.
2150         * include/bits/basic_string.tcc (_S_construct(_InIterator,
2151         _InIterator, const _Alloc&, input_iterator_tag)): Update
2152         call, tweak a bit.
2153         (_S_construct(_InIterator, _InIterator, const _Alloc&,
2154         forward_iterator_tag)): Likewise.
2155         (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
2156         (_M_mutate(size_type, size_type, size_type)): Don't
2157         implement the exponential growth policy, demand it to
2158         _S_create, update call and simplify.
2159         (_M_clone(const _Alloc&, size_type)): Likewise.
2160         (_S_create(size_type, size_type, const _Alloc&)): Implement
2161         the growth policy, simplify otherwise.
2162
2163         * include/bits/basic_string.h (_Rep::operator[]): Tweak
2164         signature to take a size_type, consistently with the other
2165         members.
2166
2167 2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>
2168
2169         * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
2170         delete declarations, add include and test variable.
2171
2172 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
2173
2174         * include/bits/codecvt.h, include/bits/locale_facets.h,
2175         include/bits/postypes.h, include/bits/stl_bvector.h,
2176         include/bits/stl_multiset.h, include/bits/stl_set.h,
2177         include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
2178         include/std/std_complex.h:  Document.
2179
2180 2004-01-27  Jerry Quinn  <jlquinn@optonline.net>
2181
2182         PR libstdc++/11584
2183         * include/bits/ios_base.h (ios_base::_M_grow_words):  Add
2184         iword/pword selector.
2185         (ios_base::iword, ios_base::pword):  Use it.
2186         * src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
2187         iword or pword member on alloc failure.
2188         * testsuite/27_io/ios_base/storage/11584.cc:  New test.
2189
2190 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
2191             PJ Darcy  <darcypj@us.ibm.com>
2192
2193         * configure.host: Add support for *-tpf.
2194         * crossconfig.m4: Likewise.
2195         * configure: Regenerate.
2196         * config/os/tpf: New directory.
2197         * config/os/tpf/os_defines.h: New file.
2198         * config/os/tpf/ctype_base.h: Likewise.
2199         * config/os/tpf/ctype_inline.h: Likewise.
2200         * config/os/tpf/ctype_noninline.h: Likewise.
2201
2202 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
2203
2204         PR libstdc++/13884
2205         * include/bits/sstream.tcc: Guard use of extern template.
2206
2207 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
2208
2209         * include/bits/basic_string.tcc
2210         (basic_string(const basic_string&, size_type, size_type),
2211         basic_string(const basic_string&, size_type, size_type,
2212         const _Alloc&)): Avoid unnecessarily constructing iterators.
2213
2214 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2215
2216         * config/locale/generic/c_locale.cc: Fix throw messages
2217         to use the __N marker.
2218         * config/locale/gnu/c_locale.cc: Likewise.
2219         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
2220         Likewise.
2221         * docs/html/17_intro/C++STYLE: Likewise.
2222         * include/bits/basic_ios.tcc: Likewise.
2223         * include/bits/fstream.tcc: Likewise.
2224         * include/bits/vector.tcc: Likewise.
2225         * include/ext/ropeimpl.h: Likewise.
2226         * include/std/std_bitset.h: Likewise.
2227         * src/ios.cc: Likewise.
2228         * src/locale.cc: Likewise.
2229         * src/localename.cc: Likewise.
2230
2231 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2232
2233         * include/bits/basic_string.h (_M_replace_aux): Use the
2234         __N marker in throw message.
2235         * include/bits/basic_string.tcc (assign(const _CharT*,
2236         size_type), insert(size_type, const _CharT*, size_type),
2237         replace(size_type, size_type, const _CharT*, size_type),
2238         reserve, _Rep::_S_create, resize, _M_replace_dispatch):
2239         Likewise.
2240
2241         * include/bits/basic_string.h, include/bits/basic_string.tcc:
2242         Fold overlong lines, minor formatting changes.
2243
2244 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2245
2246         * include/bits/basic_string.h (replace(iterator, iterator,
2247         const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
2248         (replace(iterator, iterator, const _CharT*)): Ditto.
2249         (replace(iterator, iterator, const _CharT*, size_type)):
2250         Add missing _GLIBCXX_DEBUG_PEDASSERT.
2251
2252 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2253
2254         * include/bits/basic_string.tcc (replace(size_type,
2255         size_type, const _CharT*, size_type)): Implement optimized
2256         in-place algorithm for non-overlapping ranges.
2257         * testsuite/21_strings/basic_string/replace/char/6.cc: New.
2258         * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
2259
2260         * include/bits/basic_string.tcc (insert(size_type,
2261         const _CharT*, size_type)): Tweak slightly.
2262
2263 2004-01-26  Andreas Schwab  <schwab@suse.de>
2264
2265         * config/locale/gnu/monetary_members.cc: Restore locale before
2266         rethrowing exception.
2267
2268 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
2269
2270         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
2271         Define inline here.
2272         * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
2273         Move inline.
2274
2275         * include/bits/basic_string.tcc: Very minor tweaks.
2276
2277 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
2278
2279         * testsuite/performance/string_append.cc: Increase number
2280         of iterations.
2281
2282 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
2283
2284         * include/bits/basic_string.h (erase(size_type, size_type),
2285         erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
2286         instead, thus avoiding redundant check for length_error.
2287
2288         * include/bits/basic_string.h: Tweak some comments.
2289
2290 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2291
2292         * include/bits/basic_string.tcc (operator+(const _CharT*,
2293         const basic_string&)): No need to go through the append
2294         taking two iterators.
2295
2296 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2297
2298         * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
2299         Revert last change to use std::min: machine language is worse.
2300         (find_last_of(const _CharT*, size_type, size_type)): Ditto.
2301         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
2302         (find_last_not_of(_CharT, size_type)): Ditto.
2303
2304         * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
2305         size_type)): Discard the value returned by _M_check.
2306         (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
2307         (append(const basic_string&, size_type, size_type)): Ditto.
2308         (copy(_CharT*, size_type, size_type)): Ditto.
2309         (compare(size_type, size_type, const basic_string&)): Ditto.
2310         (compare(size_type, size_type, const basic_string&,
2311         size_type, size_type)): Ditto.
2312         (compare(size_type, size_type, const _CharT*)): Ditto.
2313         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
2314
2315 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2316
2317         * include/bits/basic_string.h (insert(size_type,
2318         const basic_string&, size_type, size_type)): Define inline here.
2319         * include/bits/basic_string.tcc (insert(size_type,
2320         const basic_string&, size_type, size_type)): Move inline.
2321
2322 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2323
2324         * include/bits/basic_string.h (assign(const basic_string&,
2325         size_type, size_type)): Define inline here.
2326         (replace(size_type, size_type, const basic_string&,
2327         size_type, size_type)): Ditto.
2328         (_M_replace_dispatch(iterator, iterator, _InputIterator,
2329         _InputIterator, __false_type)): Only declare.
2330         (_M_replace(iterator, iterator, _InputIterator,
2331         _InputIterator)): Remove.
2332         * include/bits/basic_string.tcc (assign(const basic_string&,
2333         size_type, size_type)): Move inline.
2334         (replace(size_type, size_type, const basic_string&,
2335         size_type, size_type)): Ditto.
2336         (_M_replace_dispatch(iterator, iterator, _InputIterator,
2337         _InputIterator, __false_type)): Define, now does also what
2338         _M_replace did before.
2339         * src/string-inst.cc (_M_replace): Don't instantiate.
2340
2341         * include/bits/basic_string.tcc (find(const _CharT*,
2342         size_type, size_type)): Tidy.
2343         (rfind(_CharT, size_type)): Ditto.
2344         (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
2345         (find_first_not_of(_CharT, size_type)): Ditto.
2346         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
2347         (find_last_not_of(_CharT, size_type)): Ditto.
2348
2349 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2350
2351         PR libstdc++/13838
2352         * include/debug/bitset (operator|=): Fix typo.
2353         * testsuite/23_containers/bitset/operations/13838.cc: New.
2354
2355 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2356
2357         * include/bits/basic_string.tcc (insert(size_type,
2358         const _CharT*, size_type __n)): Fix length_error check.
2359         (replace(size_type, size_type, const _CharT*, size_type):
2360         Ditto; call _M_replace_safe.
2361         (_M_replace_aux(size_type, size_type, size_type, _CharT):
2362         Fix length_error check.
2363         (_M_replace(iterator, iterator, _InputIterator,
2364         _InputIterator)): Ditto, tweak.
2365         (_M_replace_safe(size_type, size_type, const _CharT*,
2366         size_type)): Remove length_error check.
2367
2368         * include/bits/basic_string.tcc (append(const basic_string&),
2369         append(const basic_string&, size_type, size_type)): Tweak
2370         comment.
2371
2372         * include/bits/basic_string.tcc (copy(_CharT*, size_type,
2373         size_type)): If __n == 0 don't call traits::copy.
2374
2375 2004-01-23  Stefan Olsson  <stefan@snon.net>
2376
2377         * include/ext/mt_allocator.h: Reduce lock contention.
2378
2379 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2380
2381         PR libstdc++/13831
2382         * include/bits/fstream.tcc (underflow): Remove unused
2383         variable.
2384         * include/bits/streambuf_iterator.h (equal): Ditto.
2385         * include/bits/locale_facets.h (_M_convert_from_char):
2386         Ditto.
2387
2388 2004-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2389
2390         PR c/13814
2391         * config/linker-map.gnu (nan): Delete.
2392         * libmath/mathconf.h (NAN, nan): Delete.
2393         * linkage.m4 (nan): Don't check for it.
2394         * libmath/nan.c: Delete file.
2395
2396         * config.h.in, configure: Regenerate.
2397
2398 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2399
2400         * include/bits/basic_string.h (push_back(_CharT)):
2401         Call _M_replace_aux.
2402         (insert(size_type, const basic_string&)): Trivial tweak.
2403         (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
2404         (insert(iterator, _CharT)): Ditto.
2405         (erase(size_type, size_type)): Ditto.
2406         (erase(iterator)): Ditto.
2407         (erase(iterator, iterator)): Ditto.
2408         (replace(size_type, size_type, size_type, _CharT)): Ditto.
2409
2410 2004-01-23  Loren J. Rittle  <ljrittle@acm.org>
2411
2412         libstdc++/13823
2413         * testsuite/performance/allocator_map_thread.cc: New test.
2414
2415 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
2416
2417         * include/bits/locale_facets.tcc
2418         (money_put::do_put(..., long double)): Use the basic_string
2419         constructor for char arrays, not that for C-strings, to pass
2420         __digits to do_put(..., const string_type&): __ws isn't
2421         null-terminated.
2422
2423 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
2424
2425         * include/bits/basic_string.h (_M_replace_safe): Change
2426         signatures to take size_types and const _CharT*.
2427         (_M_replace_aux): Likewise, takes size_types instead of
2428         iterators.
2429         (append(size_type, _CharT)): Update call.
2430         (assign(size_type, _CharT)): Ditto.
2431         (replace(iterator, iterator, size_type, _CharT)): Ditto.
2432         (_M_replace_dispatch(iterator, iterator, _Integer,
2433         _Integer, __true_type)): Ditto.
2434         * include/bits/basic_string.tcc (assign(const _CharT*,
2435         size_type)): Ditto.
2436         (insert(size_type, const _CharT*, size_type)): Ditto.
2437         (replace(size_type, size_type, const _CharT*,
2438         size_type)): Ditto.
2439         (_M_replace(iterator, iterator, _InputIterator,
2440         _InputIterator)): Ditto.
2441         (append(const basic_string&)): Ditto.
2442         (append(const basic_string&, size_type, size_type): Ditto.
2443         (append(const _CharT*, size_type): Ditto.
2444         (_M_replace_safe, _M_replace_safe): Change definitions
2445         accordingly, simplify.
2446         * string-inst.cc (_M_replace_safe): Don't instantiate.
2447
2448 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
2449
2450         * include/bits/basic_string.tcc (append(const basic_string&)):
2451         Revert previous change.
2452         (append(const basic_string&, size_type, size_type)): Revert
2453         previous change, use _M_check and _M_limit.
2454
2455 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
2456
2457         * include/bits/basic_string.h (_M_check): Change to return
2458         a checked __pos and take an additional const char* argument.
2459         (_M_fold): Rename to _M_limit, change to return a size_type,
2460         corresponding to the __off limited to the actual length.
2461         (insert(size_type, size_type, _CharT)): Update call, call
2462         replace.
2463         (insert(iterator, _CharT)): Call replace(iterator, iterator,
2464         size_type, _CharT) instead.
2465         (erase(size_type, size_type)): Update calls.
2466         (replace(size_type, size_type, size_type, _CharT)): Ditto.
2467         (substr(size_type, size_type)): Use _M_check.
2468         * include/bits/basic_string.tcc (basic_string(const basic_string&,
2469         size_type, size_type)): Update calls.
2470         (basic_string(const basic_string&, size_type, size_type,
2471         const _Alloc&)): Ditto.
2472         (assign(const basic_string&, size_type, size_type)): Use the
2473         new _M_check and _M_limit.
2474         (insert(size_type, const basic_string&, size_type, size_type):
2475         Ditto.
2476         (insert(size_type, const _CharT*, size_type)): Ditto.
2477         (replace(size_type, size_type, const _CharT*, size_type): Ditto.
2478         (replace(size_type, size_type, const basic_string&,
2479         size_type, size_type)): Ditto.
2480         (append(const basic_string&)): Ditto.
2481         (append(const basic_string&, size_type, size_type)): Ditto.
2482         (copy(_CharT*, size_type, size_type)): Ditto.
2483         (compare(size_type, size_type, const basic_string&)): Ditto.
2484         (compare(size_type, size_type, const basic_string&,size_type,
2485         size_type)): Ditto.
2486         (compare(size_type, size_type, const _CharT*)): Ditto.
2487         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
2488
2489 2004-01-19  Stefan Olsson  <stefan@snon.net>
2490
2491         * include/ext/mt_allocator.h: If a thread, when it dies, still has
2492         memory on it's freelist this memory is not returned to global
2493         list. Simplification of deallocate so that memory is always
2494         returned to the calling thread id's freelist instead of to
2495         global. Fix typos. Add volatile where appropriate.
2496
2497 2004-01-19  Loren J. Rittle  <ljrittle@acm.org>
2498
2499         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
2500         * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test.  Like -2 but
2501         use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
2502
2503 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
2504
2505         * src/debug.cc: Make sure all the names are prefixed with
2506         double (or single) underscore.
2507
2508 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
2509
2510         * src/debug.cc: Trivial formatting change.
2511
2512 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
2513
2514         * include/bits/basic_string.tcc (_S_construct(size_type,
2515         _CharT, const _Alloc&)): Remove redundant try/catch.
2516         (_M_mutate(size_type, size_type, size_type)): Ditto.
2517         (_M_clone(const _Alloc&, size_type)): Ditto.
2518
2519 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
2520
2521         * include/bits/basic_string.h (c_str()): Simplify, due to
2522         21.3.4 the internal representation is always kept null-terminated.
2523         * include/bits/basic_string.tcc (_M_clone): Null-terminate.
2524         * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
2525         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
2526         Ditto.
2527
2528 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
2529
2530         * include/bits/basic_string.h (append(size_type, _CharT)):
2531         Moved inline, just call _M_replace_aux, no source iterators at
2532         risk of being clobbered.
2533         (assign(size_type, _CharT)): Call directly _M_replace_aux.
2534         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
2535         input_iterator_tag)): Remove fifth unused argument.
2536         (_M_replace_dispatch(iterator, iterator, _InputIterator,
2537         _InputIterator, __false_type)): Update call.
2538         * include/bits/basic_string.tcc (replace(size_type, size_type,
2539         const _CharT*, size_type)): Update call.
2540         (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
2541         throw string literal.
2542         (_M_replace_safe(iterator, iterator, _ForwardIterator,
2543         _ForwardIterator)): Likewise.
2544         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
2545         input_iterator_tag)): Remove fifth unused argument.
2546         (append(size_type __n, _CharT __c)): Move inline.
2547         * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
2548         const C*, const C*, input_iterator_tag)): Remove fifth unused
2549         argument.
2550
2551 2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>
2552
2553         * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
2554         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
2555
2556 2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
2557
2558         * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
2559         mkfifo for mingw32.
2560
2561 2004-01-15  Stefan Olsson  <stefan@snon.net>
2562
2563         * include/ext/mt_allocator.h: Reuse thread id's as soon as
2564         possible by changing the behaviour of thread_freelist to do
2565         push_front when threads die instead of push_back.
2566
2567 2004-01-14  Paolo Carlini  <pcarlini@suse.de>
2568
2569         * include/bits/locale_facets.h (struct __numpunct_cache):
2570         Add member _M_grouping_size, caching the length of _M_grouping.
2571         (__numpunct_cache<>::_M_cache): Assign the latter.
2572         (__verify_grouping): Move declaration...
2573         * include/bits/locale_facets.tcc (__verify_grouping):
2574         ... here, change signature to take a const char* and a size_t
2575         for the grouping; not a template anymore.
2576         (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
2577         Likewise change signature and tweak consistently.
2578         (num_get::_M_extract_float, num_get::_M_extract_int,
2579         num_put::_M_insert_int, num_put::_M_insert_float,
2580         money_get::do_get(string_type&), money_get::do_put(string_type)):
2581         Update callers.
2582         * config/locale/generic/numeric_members.cc
2583         (numpunct<>::_M_initialize_numpunct): Assign the new member.
2584         * config/locale/gnu/numeric_members.cc
2585         (numpunct<>::_M_initialize_numpunct): Likewise.
2586         * src/locale-inst.cc (__add_grouping): Tweak signature.
2587         (__verify_grouping): Don't instantiate, not a template anymore.
2588
2589         * include/bits/locale_facets.h: Rename _M_truename_len ->
2590         _M_truename_size, _M_falsename_len -> _M_falsename_size.
2591         * include/bits/locale_facets.tcc: Likewise.
2592         * config/locale/generic/numeric_members.cc: Likewise.
2593         * config/locale/gnu/numeric_members.cc: Likewise.
2594
2595 2004-01-14  Stefan Olsson  <stefan@snon.net>
2596
2597         * include/ext/mt_allocator.h: Fixups.
2598         * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
2599         * testsuite/performance/allocator_thread.cc: Same.
2600
2601 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
2602
2603         * testsuite/performance/ifstream_extract_float.cc: Add higher
2604         precision tests.
2605         * testsuite/performance/ofstream_insert_float.cc: Same.
2606
2607 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
2608
2609         * src/locale-misc-inst.cc (__convert_from_v(long),
2610         __convert_from_v(unsigned long), __convert_from_v(long long),
2611         __convert_from_v(unsigned long long)): Remove, unused.
2612
2613 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
2614
2615         * testsuite/performance/ifstream_extract_float.cc: New.
2616         * testsuite/performance/ofstream_insert_float.cc: Float generation
2617         matches above.
2618
2619         * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
2620         * 20_util/auto_ptr/1.cc: ...this.
2621         * 20_util/auto_ptr/2.cc: Same.
2622         * 20_util/auto_ptr/3.cc: Same.
2623         * 20_util/auto_ptr/3946.cc: Same.
2624         * 20_util/auto_ptr/4.cc: Same.
2625         * 20_util/auto_ptr/5.cc: Same.
2626         * 20_util/auto_ptr/6.cc: Same.
2627         * 20_util/auto_ptr/7.cc: Same.
2628         * 20_util/auto_ptr/assign_neg.cc
2629         * 20_util/pairs.cc: Break into...
2630         * 20_util/pair/1.cc: ...this.
2631         * 20_util/pair/2.cc: Same.
2632         * 20_util/pair/3.cc: Same.
2633         * 20_util/pair/4.cc: Same.
2634
2635 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
2636
2637         * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
2638         Set correctly just basefield, the only group that matters.
2639
2640 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
2641
2642         * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
2643         (_Rope_rep_base): Inherit directly from the rope allocator;
2644         use rebinding instead of _Alloc_traits; pick up data member
2645         from _Rope_rep_alloc_base.
2646         (_Rope_alloc_base): Eliminate.
2647         (_Rope_base): Inherit directly from the rope allocator; use
2648         rebinding instead of _Alloc_traits; pick up data member from
2649         _Rope_alloc_base.
2650         (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
2651         rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
2652
2653 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
2654
2655         PR libstdc++/13650
2656         * include/bits/basic_string.tcc (compare(size_type, size_type,
2657         const _CharT*, size_type)): Implement correctly the resolution
2658         of DR 5: basically, s is a char array, -not- a C string.
2659         * include/bits/basic_string.h: Tweak some comments.
2660         * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
2661         * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
2662
2663 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
2664
2665         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
2666         Solaris.
2667
2668 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
2669
2670         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
2671         Use try_mkfifo.
2672         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
2673         Likewise.
2674
2675 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
2676
2677         * include/bits/locale_facets.h (struct __numpunct_cache):
2678         Add members _M_truename_len and _M_falsename_len, caching
2679         the lengths of _M_truename and _M_falsename.
2680         (__numpunct_cache<>::_M_cache): Assign the latter.
2681         * include/bits/locale_facets.tcc (num_get::do_get(bool&),
2682         num_put::do_put(bool)): Use the new members, thus avoiding
2683         computing string lengths again and again.
2684         * config/locale/generic/numeric_members.cc
2685         (numpunct<>::_M_initialize_numpunct): Assign the new members.
2686         * config/locale/gnu/numeric_members.cc
2687         (numpunct<>::_M_initialize_numpunct): Likewise.
2688
2689 2004-01-12  Mark Mitchell  <mark@codesourcery.com>
2690
2691         * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
2692         * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
2693         it.
2694         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
2695         and remove Cygwin XFAIL.
2696         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
2697         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
2698         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
2699         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
2700         Likewise.
2701         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
2702         * testsuite/27_io/objects/char/7.cc: Likewise.
2703         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
2704         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
2705         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
2706
2707 2004-01-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2708
2709         * include/std/std_complex.h (std::complex<>::real): Return a
2710         reference. Add non-const overload.
2711         (std::complex<>::real): Likewise.
2712         (std::real): Likewise.
2713         (std::imag): Likewise.
2714         (std::operator+): Tidy.
2715         (std::operator-): Likewise.
2716         (std::operator*): Likewise.
2717         (std::operator/): Likewise.
2718         (std::operator>>): Likewise.
2719
2720 2004-01-11  Paolo Carlini  <pcarlini@suse.de>
2721
2722         PR libstdc++/13582
2723         * include/bits/fstream.tcc (imbue): Exploit the external
2724         buffer to imbue 'on the fly' a new locale and convert its
2725         remainder with the new codecvt facet.
2726         (underflow): Tweak slightly to deal with this special case.
2727         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
2728         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
2729         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
2730         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
2731         * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
2732
2733 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
2734
2735         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
2736         Import Revision 28.
2737
2738 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
2739
2740         PR libstdc++/13630
2741         * include/bits/locale_classes.h (class locale): Fix category
2742         typedef.
2743         * testsuite/22_locale/locale/13630.cc: Add.
2744
2745 2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
2746
2747         * include/bits/locale_facets.h: Make a name really dependent. This
2748         will be needed when Core Issue 224 is implemented.
2749
2750 2004-01-09  Paolo Carlini  <pcarlini@suse.de>
2751
2752         * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
2753         * testsuite/performance/allocator_thread.cc: Likewise.
2754
2755 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
2756
2757         * crossconfig.m4: Add LFS, io bits to linux cross config.
2758         * acconfig.h: Remove obsolete bits, reorder.
2759         * config.h.in: Regenerate.
2760         * aclocal.m4: Same.
2761         * configure: Same.
2762
2763 2004-01-07  Gawain Bolton  <gp.bolton@computer.org>
2764
2765         * include/bits/stl_list.h:
2766         * include/bits/list.tc:
2767         * src/list.cc:
2768         Performance enhancements for destructor, push_front(),
2769         push_back(), pop_front(), pop_back(), sort()
2770         Eliminated static_casts where possible.
2771         Moved code out of header files into new src/list.cc
2772         implementation file for library where possible.
2773         Remove inheritance from iterator class and create separate
2774         classes for non-constant and constant iterators.
2775         * include/bits/stl_tree.h (_Rb_tree class):
2776         * src/tree.cc:
2777         Only erase contents in destructor.
2778         Eliminate unnecessary initialization in assignment operator.
2779         Optimize for the nominal case by not checking whether
2780         container is empty in clear().
2781         Re-order test in _M_insert() to improve performance.
2782         Move initialization of new node's left & right pointers to
2783         src/tree.cc to where new node's colour is initialized
2784         and to reduce the amount of inline code.
2785         Use  _M_leftmost() and _M_end() to improve readability where
2786         appropriate.
2787         Create separate classes for non-constant and constant
2788         iterators to clarify code, avoid extra template parameters and
2789         casting away constness.
2790
2791 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
2792
2793         * src/Makefile.am (sources): Add list.cc, tree.cc.
2794         * src/stl_tree.cc: Move to...
2795         * src/tree.cc: ...here.
2796         * src/list.cc: Add.
2797         * config/linker-map.gnu: Tweaks.
2798         * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
2799         * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
2800
2801         * bits/stl_vector.h: Column wrap comments.
2802
2803 2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
2804
2805         (re-open) PR libstdc++/12658
2806         * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
2807         (locale::global): Likewise.
2808
2809 2004-01-07  Paolo Carlini  <pcarlini@suse.de>
2810
2811         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
2812         Remove redundant #include.
2813         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
2814         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
2815         re-enable normal testing.
2816         * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
2817         #include.
2818         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
2819         * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
2820         Likewise.
2821         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
2822         Likewise.
2823         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
2824         Likewise.
2825         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
2826         Likewise.
2827         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
2828         Likewise.
2829         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
2830         Likewise.
2831         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
2832         Likewise.
2833         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
2834         More properly, #include <locale>.
2835         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
2836         Remove redundant #include.
2837         * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
2838         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
2839         redundant DejaGnu directive.
2840         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
2841         redundant #include.
2842
2843 2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
2844             Stefan Olsson  <stefan@snon.net>
2845
2846         * scripts/check_performance: Use -pthread.
2847         * testsuite/performance/allocator.cc: Tweaks, add list.
2848         * testsuite/performance/allocator_thread.cc: New.
2849
2850 2004-01-06  Jerry Quinn  <jlquinn@optonline.net>
2851
2852         * include/bits/locale_facets.h: Document public classes and
2853         functions.
2854         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
2855         Add comment.
2856
2857 2004-01-06  Paolo Carlini  <pcarlini@suse.de>
2858
2859         * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
2860         Remove redundant #includes.
2861         * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
2862         Likewise.
2863         * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
2864         Likewise.
2865         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
2866         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
2867         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
2868         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
2869         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
2870         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
2871         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
2872         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
2873         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
2874         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
2875         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
2876         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
2877         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
2878         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
2879         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
2880         Likewise.
2881         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
2882         Likewise.
2883         * testsuite/27_io/basic_istream/readsome/char/8258.cc:
2884         Likewise.
2885         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
2886         Likewise.
2887         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
2888         Likewise.
2889         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
2890         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
2891         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
2892
2893 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
2894
2895         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
2896         Remove redundant #includes.
2897         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
2898         Likewise.
2899         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
2900         Likewise.
2901         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
2902         Likewise.
2903         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
2904         Likewise.
2905         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
2906         Likewise.
2907         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
2908         Likewise.
2909         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
2910         Likewise.
2911         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
2912         Likewise.
2913         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
2914         Likewise.
2915         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
2916         Likewise.
2917         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
2918         Likewise.
2919         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
2920         Likewise.
2921
2922 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
2923
2924         PR c++/12226
2925         * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
2926         constructor.
2927         * testsuite/27_io/basic_fstream/4.cc: Likewise.
2928         * testsuite/27_io/basic_ifstream/4.cc: Likewise.
2929         * testsuite/27_io/basic_ios/4.cc: Likewise.
2930         * testsuite/27_io/basic_iostream/4.cc: Likewise.
2931         * testsuite/27_io/basic_istream/4.cc: Likewise.
2932         * testsuite/27_io/basic_istingstream/4.cc: Likewise.
2933         * testsuite/27_io/basic_ofstream/4.cc: Likewise.
2934         * testsuite/27_io/basic_ostream/4.cc: Likewise.
2935         * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
2936         * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
2937         * testsuite/27_io/basic_stringstream/4.cc: Likewise.
2938
2939 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
2940
2941         * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
2942         Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
2943         always use double underscored names.
2944         * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
2945         Likewise.
2946         * include/bits/locale_facets.h (struct __numpunct_cache):
2947         Dimension _M_atoms_out and _M_atoms_in one position smaller.
2948         (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
2949         and _M_atoms_in.