OSDN Git Service

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