OSDN Git Service

5159a49eb181a32eaee2f854e25aa6fc99f32704
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-11-19  Chris Jefferson  <chris@bubblescope.net>
2
3         * include/bits/stl_list.h (list::back, list::back const):
4         Don't decrement temporary.
5
6 2004-11-19  Paolo Carlini  <pcarlini@suse.de>
7
8         * include/bits/stl_deque.h (deque::front, deque::front const,
9         deque::back, deque::back const): Slightly tweak for stylistic
10         consistency.
11
12 2004-11-18  Paolo Carlini  <pcarlini@suse.de>
13
14         * testsuite/26_numerics/numeric/sum_diff.cc: Use VERIFY.
15         * testsuite/ext/array_allocator/1.cc: Likewise.
16         * testsuite/ext/array_allocator/2.cc: Likewise.
17         * testsuite/ext/array_allocator/3.cc: Likewise.
18         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
19
20 2004-11-18  Paolo Carlini  <pcarlini@suse.de>
21
22         * include/bits/locale_facets.tcc (num_get<>::do_get(void*&)):
23         If the failbit is set, don't set it again.
24         (money_get<>::_M_extract): Minor stylistic tweak: consistently
25         with the other functions, take care of eofbit at the end.
26
27 2004-11-18  Paolo Carlini  <pcarlini@suse.de>
28
29         DR 434. bitset::to_string() hard to use [Ready]
30         * include/std/std_bitset.h (to_string): Add three overloads, taking
31         fewer template arguments.
32         * docs/html/ext/howto.html: Add an entry for DR 434.
33         * testsuite/23_containers/bitset/to_string/1.cc: New.
34
35 2004-11-17  Paolo Carlini  <pcarlini@suse.de>
36
37         * include/bits/istream.tcc (getline(basic_istream<>&, basic_string<>&,
38         _CharT)): Remove temporary kludge for libstdc++/15002.
39         * include/std/std_streambuf.h (class basic_streambuf): Declare
40         getline(basic_istream<>&, basic_string<>&, _CharT) as friend.
41         * include/bits/basic_string.h (getline(basic_istream<>&,
42         basic_string<>&, _CharT)): Declare optimized specializations for
43         char and wchar_t, using protected members of basic_streambuf.
44         * src/istream.cc: Define the latter.
45
46 2004-11-16  Jonathan Wakely  <redi@gcc.gnu.org>
47
48         * docs/html/19_diagnostics/howto.html: Document change from
49         _GLIBCPP_CONCEPT_CHECKS to _GLIBCXX_CONCEPT_CHECKS in 3.4.
50
51 2004-11-16  Matthias Klose  <doko@debian.org>
52
53         * docs/doxygen/user.cfg.in: Set HAVE_DOT to NO.
54
55 2004-11-16  Matthias Klose  <doko@debian.org>
56
57         * Makefile.am (doxygen, doxygen-maint, doxygen-man): Use host_alias
58         instead of build_alias.
59         * docs/doxygen/run_doxygen: Likewise.
60         * docs/doxygen/user.cfg.in: Likewise.
61         * Makefile.in: Regenerate.
62
63 2004-11-15  Paolo Carlini  <pcarlini@suse.de>
64
65         * include/bits/streambuf.tcc (__copy_streambufs): Provide
66         a generic version of the function, not using the protected
67         members of basic_streambuf.
68         * include/std/std_streambuf.h (__copy_streambufs): Declare
69         optimized specializations for char and wchar_t.
70         * src/streambuf.cc: New file, define the latter.
71         * src/Makefile.am: Add.
72         * src/Makefile.in: Regenerate.
73
74 2004-11-15  Matthias Klose  <doko@debian.org>
75
76         * docs/doxygen/run_doxygen: Add --build_alias option,
77         substitute it in docs/doxygen/user.cfg.in.
78         * docs/doxygen/user.cfg.in: Use build_alias.
79         * Makefile.am: Pass --build_alias to run_doxygen
80         * Makefile.in: Regenerate.
81
82 2004-11-15  Benjamin Kosnik  <bkoz@redhat.com>
83
84         * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.4.
85
86 2004-11-15  Paolo Carlini  <pcarlini@suse.de>
87
88         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 33.
89
90 2004-11-14  Paolo Carlini  <pcarlini@suse.de>
91
92         * include/bits/streambuf_iterator.h (istreambuf_iterator::_M_get):
93         Slightly tweak for clarity (also leads to measurably better code).
94
95 2004-11-12  Andrew Pinski  <pinskia@physics.uc.edu>
96
97         PR other/14264
98         * testsuite/lib/libstdc++.exp: Set LC_ALL and LANG to C.
99
100 2004-11-09  Paolo Carlini  <pcarlini@suse.de>
101
102         * include/bits/locale_facets.tcc (time_get<>::do_get_weekday,
103         time_get<>::do_get_monthname): Absolutely avoid dereferencing
104         end iterators.
105
106         * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
107         Minor tweak.    
108
109 2004-11-08  Benjamin Kosnik  <bkoz@redhat.com>
110             Doug Gregor  <dgregor@cs.indiana.edu>
111
112         PR libstdc++/17664
113         * src/debug.cc : Just use one mutex.
114
115 2004-11-08  Benjamin Kosnik  <bkoz@redhat.com>
116
117         * configure.ac (libtool_VERSION): To 6:4:0.
118         * configure: Regenerate.
119
120         * config/linker-map.gnu: Slide new symbols into GLIBCXX_3.4.4.
121
122         * docs/doxygen/user.cfg.in: Add more extension files.
123
124 2004-11-08  Paolo Carlini  <pcarlini@suse.de>
125
126         * include/bits/streambuf_iterator.h (class istreambuf_iterator):
127         Consistently use _M_c to cache the current char, i.e., not only
128         when operator++(int) is involved; change _M_c to mutable.
129         (_M_get()): Always save the return value of _M_sbuf->sgetc() into
130         _M_c.
131         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Fix
132         (long standing) typo.
133         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
134         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
135         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
136
137 2004-11-08  Paolo Carlini  <pcarlini@suse.de>
138
139         * include/bits/istream.tcc (getline(char_type*, streamsize,
140         char_type), ignore(streamsize), ignore(streamsize, int_type)):
141         Restore a generic version of the functions, not using the
142         protected members of basic_streambuf.
143         * include/std/std_istream.h (getline(char_type*, streamsize,
144         char_type), ignore(streamsize), ignore(streamsize, int_type)):
145         Declare optimized specializations for char and wchar_t.
146         * src/istream.cc: New file, define the latter.
147         * src/Makefile.am: Add.
148         * src/Makefile.in: Regenerate.
149
150 2004-11-07  Paolo Carlini  <pcarlini@suse.de>
151
152         * testsuite/performance/27_io/ifstream_getline-2.cc: New.
153
154 2004-11-05  Benjamin Kosnik  <bkoz@redhat.com>
155
156         PR libstdc++/17218
157         PR libstdc++/17223
158         * docs/doxygen/filter: Remove.
159         * docs/doxygen/filter.sed: Remove.
160         * docs/doxygen/mainpage.html: Add link to functions.
161         * docs/doxygen/run_doxygen: Changes due to new source filtering.
162         * docs/doxygen/user.cfg.in: Update to doxygen 1.3.9.1, tweak.
163         * include/bits/allocator.h: Tweaks for doxygen.
164         * include/bits/char_traits.h: Same.
165         * include/bits/codecvt.h: Same.
166         * include/bits/concurrence.h: Same.
167         * include/bits/locale_facets.h: Same.
168         * include/ext/array_allocator.h: Same.
169         * include/ext/debug_allocator.h: Same.
170         * include/ext/malloc_allocator.h: Same.
171         * include/ext/mt_allocator.h: Same.
172         * include/ext/new_allocator.h: Same.
173         * include/ext/pool_allocator.h: Same.
174         * include/ext/stdio_sync_filebuf.h: Same.
175         * include/std/std_memory.h: Same.
176         * include/tr1/array: Same.
177         * include/tr1/tuple: Same.
178         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
179         * config/os/gnu-linux/ctype_base.h: Same.
180
181 2004-11-04  Paolo Carlini  <pcarlini@suse.de>
182
183         * include/bits/locale_facets.tcc (num_get<>::do_get(bool&)):
184         Evaluate __beg == __end the exact strict minimum number of times.
185
186 2004-11-03  Jonathan Wakely  <redi@gcc.gnu.org>
187
188         * include/bits/stl_numeric.h (partial_sum, adjacent_difference):
189         Avoid dereferencing two times __first in the prologue.
190  
191 2004-11-03  Paolo Carlini  <pcarlini@suse.de>
192
193         * include/bits/stl_numeric.h: Trivial formatting fixes.
194
195 2004-11-03  Benjamin Kosnik  <bkoz@redhat.com>
196
197         * include/bits/c++config: Spacing.
198         * libsupc++/del_op.cc: Include c++config.h.
199         * libsupc++/del_opnt.cc: Same.
200         * libsupc++/del_opv.cc: Same.
201         * libsupc++/del_opvnt.cc: Same.
202         * libsupc++/new_op.cc: Same.
203         * libsupc++/new_opnt.cc: Same.
204         * libsupc++/new_opv.cc: Same.
205         * libsupc++/new_opvnt.cc: Same.
206
207 2004-11-03  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
208
209         * config/os/bsd/darwin/os_defines.h
210         (_GLIBCXX_WEAK_DEFINITION): Define.
211         * include/bits/c++config (_GLIBCXX_WEAK_DEFINITION): Define.
212         * libsupc++/del_op.cc (operator delete(void *)): Use
213         _GLIBCXX_WEAK_DEFINITION.
214         * libsupc++/del_opnt.cc
215         (operator delete(void *, const std::nothrow_t&)): Same.
216         * libsupc++/del_opv.cc (operator delete[](void *)): Same.
217         * libsupc++/del_opvnt.cc
218         (operator delete[](void *, const std::nothrow_t&)): Same.
219         * libsupc++/new_op.cc (operator new(std::size_t)): Same.
220         * libsupc++/new_opnt.cc
221         (operator new(std::size_t, const std::nothrow_t&)): Same
222         * libsupc++/new_opv.cc (operator new[](std::size_t)): Same.
223         * libsupc++/new_opvnt.cc
224         (operator new[](std::size_t, const std::nothrow_t&)): Same.
225
226 2004-11-02  Paolo Carlini  <pcarlini@suse.de>
227
228         * include/bits/locale_facets.tcc (num_get<>::_M_extract_int):
229         Evaluate *__beg the exact strict minimum number of times; likewise
230         for __beg != __end; slightly simplify main parsing loop.
231
232 2004-11-02  Benjamin Kosnik  <bkoz@redhat.com>
233             Lothar Werzinger  <lothar@xcerla.com>
234         
235         PR libstdc++/17664
236         * src/debug.cc: Include concurrence, use mutexes.
237         (_Safe_iterator_base::_M_attach): Here. 
238         (_Safe_iterator_base::_M_detach): Here. 
239         
240 2004-11-02  Benjamin Kosnik  <bkoz@redhat.com>
241
242         PR libstdc++/17922
243         * include/bits/ios_base.h : Add enum values.
244         * testsuite/testsuite_hooks.h (bitmask_operators): Add function.
245         * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: New.
246         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: New.
247         * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: New.
248         * testsuite/27_io/ios_base/types/iostate/case_label.cc: New.
249         * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: New.
250         * testsuite/27_io/ios_base/types/openmode/case_label.cc: New.
251         * testsuite/27_io/ios_base/types/seekdir/case_label.cc: New.
252
253         * config/io/c_io_stdio.h (__ios_flags): Mark deprecated.
254         * src/ios.cc: Same.
255
256         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
257         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
258
259 2004-11-01  Momchil Velikov  <velco@fadata.bg>
260
261         PR libstdc++/18185
262         * libsupc++/eh_globals.cc (get_globals_dtor): Delete unhandled
263         exceptions.
264         * testsuite/thread/18185.cc: New.
265         
266 2004-11-01  Chris Jefferson  <chris@bubblescope.net>
267
268         PR libstdc++/18159
269         * include/tr1/tuple (get(pair)): Change occurrences of _I to _Int.
270         (get(const pair)): Likewise.
271
272 2004-11-01  Paolo Carlini  <pcarlini@suse.de>
273
274         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
275         Evaluate *__beg the exact strict minimum number of times; likewise
276         for __beg != __end; in the main parsing loop, call ++__beg in two
277         places only. The former is also a correctness issue, because,
278         according to the standard (22.2.2.1.2, Stage 2), 'in' shall be
279         dereferenced only one time for each increment.
280
281 2004-10-31  Benjamin Kosnik  <bkoz@redhat.com>
282
283         PR c++/16728
284         * testsuite/23_containers/set/modifiers/16728.cc: New.
285
286 2004-10-30  Paolo Carlini  <pcarlini@suse.de>
287
288         * include/ext/bitmap_allocator.h (allocate(size_type)): Minor tweak.
289
290         * testsuite/ext/bitmap_allocator/check_delete.cc: New.
291         * testsuite/ext/bitmap_allocator/check_new.cc: Likewise.
292
293 2004-10-29  Geoffrey Keating  <geoffk@apple.com>
294
295         * configure.host (darwin*): Set os_include_dir to a separate directory
296         for Darwin.
297         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale kind,
298         'darwin'.
299         * config/locale/darwin/ctype_members.cc: New.
300         * config/os/bsd/darwin/ctype_base.h: New.
301         * config/os/bsd/darwin/ctype_inline.h: New.
302         * config/os/bsd/darwin/ctype_noninline.h: New.
303         * config/os/bsd/darwin/os_defines.h: New.
304
305         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Only xfail
306         on Linux.
307
308 2004-10-29  Chris Jefferson  <chris@bubblescope.net>
309
310         * include/bit/stl_algo.h (find_first_of(,,,,pred)):
311         Remove invalid EqualOpConcept.
312         * testsuite/25_algorithms/find_first_of/concept_check_1.cc: New.
313
314 2004-10-29  Benjamin Kosnik  <bkoz@redhat.com>
315
316         * testsuite/testsuite_allocator.h (check_delete): New.
317         (check_new): Simplify.
318         * testsuite/ext/array_allocator/check_delete.cc: New.
319         * testsuite/ext/array_allocator/check_new.cc: Simplify.
320         * testsuite/ext/debug_allocator/check_delete.cc: New.
321         * testsuite/ext/debug_allocator/check_new.cc: Simplify.
322         * testsuite/ext/malloc_allocator/check_delete.cc: New.
323         * testsuite/ext/malloc_allocator/check_new.cc: Simplify.
324         * testsuite/ext/mt_allocator/check_delete.cc: New.
325         * testsuite/ext/mt_allocator/check_new.cc: Simplify.
326         * testsuite/ext/new_allocator/check_delete.cc: New.
327         * testsuite/ext/new_allocator/check_new.cc: Simplify.
328         * testsuite/ext/pool_allocator/check_delete.cc: New.
329         * testsuite/ext/pool_allocator/check_new.cc: Simplify.
330
331 2004-10-28  Chris Jefferson  <chris@bubblescope.net>
332
333         PR libstdc++/18159
334         * include/tr1/tuple: Fix, change formatting.
335
336 2004-10-28  Benjamin Kosnik  <bkoz@redhat.com>
337
338         * include/ext/mt_allocator.h (__common_pool_policy): Add template
339         template parameter for pool class type.
340         (__per_type_pool_policy): Same.
341         (__mt_allocator): Don't inherit policy. Qualify policy_type calls.
342         * testsuite/ext/mt_allocator/check_deallocate_null.cc: Fix.
343         * testsuite/ext/mt_allocator/check_deallocate_null_thread.cc: Same.
344         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
345         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
346         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
347         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
348         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Same.
349         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
350         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
351         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
352         * testsuite/ext/mt_allocator/instantiate.cc: Same.
353         * testsuite/ext/mt_allocator/tune-1.cc: Same.
354         * testsuite/ext/mt_allocator/tune-2.cc: Same.
355         * testsuite/ext/mt_allocator/tune-3.cc: Same.
356         * testsuite/ext/mt_allocator/tune-4.cc: Same.
357
358 2004-10-28  Paolo Carlini  <pcarlini@suse.de>
359
360         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
361         Cache *__beg in __c when parsing exponent sign too.
362         (num_get<>::do_get(..., bool&)): Cache *__beg.
363         (money_get<>::_M_extract)): Likewise, in money_base::value.
364
365 2004-10-27  Paolo Carlini  <pcarlini@suse.de>
366
367         * include/bits/basic_string.h (assign(const basic_string&)):
368         Move out of line...
369         * include/bits/basic_string.tcc: ... here.
370
371 2004-10-27  Paolo Carlini  <pcarlini@suse.de>
372
373         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
374         Move out of line...
375         * include/bits/basic_string.tcc: ... here.
376
377 2004-10-26  Paolo Carlini  <pcarlini@suse.de>
378
379         * include/bits/basic_string.h (append(const basic_string&),
380         append(size_type, _CharT)): Move out of line...
381         * include/bits/basic_string.tcc: ... here.
382
383 2004-10-26  Paolo Carlini  <pcarlini@suse.de>
384
385         * include/bits/basic_string.h (erase(size_type, size_type),
386         erase(iterator), erase(iterator, iterator)): Call _M_mutate
387         instead of _M_replace_safe, equivalent when the fourth argument
388         is zero and simpler.
389
390 2004-10-26  Benjamin Kosnik  <bkoz@redhat.com>
391
392         * include/ext/array_allocator.h (array::allocate): Check for valid
393         array object, use its size member function directly.
394         * testsuite/ext/array_allocator/3.cc: New.
395         * docs/html/20_util/allocator.html: Add docs.
396         
397 2004-10-25  Geoffrey Keating  <geoffk@apple.com>
398
399         * configure.host (darwin*): Build libstdc++ single module
400         and flat namespace.
401         * libsupc++/new_op.cc (new): Make weak.
402         * libsupc++/new_opnt.cc (new): Make weak.
403         * libsupc++/new_opv.cc (new): Make weak.
404         * libsupc++/new_opvnt.cc (new): Make weak.
405         * libsupc++/delete_op.cc (delete): Make weak.
406         * libsupc++/delete_opnt.cc (delete): Make weak.
407         * libsupc++/delete_opv.cc (delete): Make weak.
408         * libsupc++/delete_opvnt.cc (delete): Make weak.
409
410 2004-10-25  Benjamin Kosnik  <bkoz@redhat.com>
411
412         * testsuite/Makefile.am (GLIBCXX_INCLUDES): Add.
413         (AUTOMAKE_OPTIONS): Add nostdinc.
414         * testsuite/Makefile.in: Regenerate.
415         * scripts/testsuite_flags.in (build-includes): Remove redundant
416         search for libsupc++.
417         * fragment.am: Clean.
418         
419 2004-10-25  Benjamin Kosnik  <bkoz@redhat.com>
420
421         * include/Makefile.am (tr1_headers): Add tuple.
422         * include/Makefile.in: Regenerate.
423
424 2004-10-25  Chris Jefferson  <chris@bubblescope.net>
425
426         * include/tr1/tuple: Implementation of tuple from library TR.
427         * testsuite/tr1/6_containers/tuple/tuple_element.cc: New.
428         * testsuite/tr1/6_containers/tuple/tuple_size.cc: New.
429         * testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
430         New.
431         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: New.
432         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: New.
433         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: New.
434         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc: 
435         New.
436         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: New.
437         * testsuite/tr1/6_containers/tuple/element_access/get.cc: New.
438
439 2004-10-25  Paolo Carlini  <pcarlini@suse.de>
440         
441         * include/bits/basic_string.h (_Rep::_M_is_safe): Move to
442         basic_string as _M_disjunct, adjust to take only __s.
443         * include/bits/basic_string.tcc: Adjust consistently callers. 
444
445 2004-10-25  Paolo Carlini  <pcarlini@suse.de>
446
447         * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
448         Adjust bit missing from the previous commit.
449
450 2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
451
452         PR other/18138
453         * testsuite/lib/libstdc++.exp: Accept more than one multilib libgcc.
454
455 2004-10-25  Paolo Carlini  <pcarlini@suse.de>
456
457         * include/bits/basic_string.h (_Rep::_M_is_safe, _M_check_length,
458         _M_move, _M_copy, _M_assign): New, use througout.
459         (operator+=(_CharT)): Define in terms of push_back.
460         (append(const basic_string&)): Define here, inline, and simplify,
461         don't use the full _M_replace_safe.
462         (append(size_type, _CharT)): Likewise, don't use _M_replace_aux.
463         (push_back): Likewise.
464         (assign(const basic_string&)): Define here, inline.
465         * include/bits/basic_string.tcc (append(const _CharT* s, size_type):
466         Fix: when s points inside the _Rep, upon reallocation (reserve) we
467         were copying from deallocated memory.
468         (append(const basic_string&, size_type, size_type)): Simplify,
469         don't use _M_replace_safe.
470         (replace(size_type, size_type, const _CharT*, size_type)): Slightly
471         tweak.
472         (reserve): Likewise.
473         * testsuite/21_strings/basic_string/append/char/2.cc: New.
474         * testsuite/21_strings/basic_string/append/char/3.cc: Likewise.
475         * testsuite/21_strings/basic_string/append/wchar_t/2.cc: Likewise.
476         * testsuite/21_strings/basic_string/append/wchar_t/3.cc: Likewise.
477
478         * testsuite/21_strings/basic_string/assign/char/3.cc: Remove junk.
479         * testsuite/21_strings/basic_string/assign/wchar_t/3.cc: Likewise.
480
481 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
482
483         * testsuite/ext/mt_allocator/deallocate_global-2.c:
484         s/value_t/value_type/. s/traits_t/traits_type/.
485         s/policy_t/policy_type/. s/allocator_t/allocator_type/.
486         s/string_t/string_type/. s/list_t/list_type/.
487         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Likewise.
488         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Likewise.
489         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Likewise.
490         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Likewise.
491         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Likewise.
492         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Likewise.
493         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Likewise.
494
495 2004-10-21  Benjamin Kosnik  <bkoz@redhat.com>
496
497         * include/tr1/array (array): Make safe for zero-sized arrays.
498         (array::end): Return one past the end.
499         (array::at): Use __throw_out_of_range, include functexcept.h.
500         (operator==): Implement.
501         (operator!=): Same.
502         (operator<): Same.
503         (operator>): Same.
504         (operator>=): Same.
505         (operator<=): Same.
506         * testsuite/tr1/6_containers/array/capacity/(empty.cc,
507         max_size.cc, size.cc): New.
508         * testsuite/tr1/6_containers/array/comparison_operators/(equal.cc,
509         greater.cc, greater_or_equal.cc, less.cc, less_or_equal.cc,
510         not_equal): New.
511         * testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc: 
512         New.
513         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc: 
514         New.
515         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc: New.
516         * testsuite/tr1/6_containers/array/requirements/(contiguous.cc,
517         instantiate, typedefs, zero_size_arrays): New.
518
519 2004-10-21  Paolo Carlini  <pcarlini@suse.de>
520             Benjamin Kosnik  <bkoz@redhat.com>
521
522         * include/bits/basic_string.h (_M_set_length_and_sharable): New.
523         * include/bits/basic_string.tcc (_S_construct, assign(const _CharT*,
524         size_type), _M_mutate, _M_clone): Use it.
525         (_Rep::_S_create): Don't set/call _M_length/_M_set_sharable here.
526
527 2004-10-21  Paolo Carlini  <pcarlini@suse.de>
528             Dhruv Matani  <dhruvbird@gmx.net>
529             Nathan Myers  <ncm@cantrip.org>
530
531         * include/bits/vector.tcc (_M_insert_aux, _M_fill_insert,
532         _M_range_insert): Check at the outset that we are not trying
533         to exceed max_size, then deal properly with __len overflows.
534         * testsuite/23_containers/vector/modifiers/insert/1.cc: New.
535         
536         * testsuite/testsuite_allocator.h: Remove redundant include.
537
538 2004-10-20  Paolo Carlini  <pcarlini@suse.de>
539
540         * include/ext/bitmap_allocator.h (allocate): Throw std::bad_alloc
541         when n > max_size().
542         * include/ext/malloc_allocator.h (allocate): Likewise.
543         * include/ext/mt_allocator.h (allocate): Likewise.
544         * include/ext/new_allocator.h (allocate): Likewise.
545         * include/ext/array_allocator.h: Use __throw_bad_alloc().
546         * include/ext/pool_allocator.h: Use __builtin_expect.
547         * testsuite/ext/array_allocator/check_allocate_max_size.cc: New.
548         * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: Likewise.
549         * testsuite/ext/malloc_allocator/check_allocate_max_size.cc: Likewise.
550         * testsuite/ext/mt_allocator/check_allocate_max_size.cc: Likewise.
551         * testsuite/ext/new_allocator/check_allocate_max_size.cc: Likewise.
552         * testsuite/ext/pool_allocator/check_allocate_max_size.cc: Likewise.
553         * testsuite/testsuite_allocator.h (check_allocate_max_size): New test.
554
555 2004-10-19  Paolo Carlini  <pcarlini@suse.de>
556
557         * testsuite/performance/20_util/allocator/list_sort_search.cc:
558         Include <ext/new_allocator.h>.
559         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
560
561 2004-10-18  Paolo Carlini  <pcarlini@suse.de>
562
563         * include/bits/basic_string.tcc (_M_mutate): Do not reallocate
564         unnecessarily when _M_rep() == &_S_empty_rep() and __new_size
565         == capacity() (== 0): is ok to just leave everything unchanged.
566
567         * include/bits/basic_string.h: Minor formatting fixes.
568         * include/bits/basic_string.tcc: Likewise.
569
570 2004-10-17  Benjamin Kosnik  <bkoz@redhat.com>
571
572         * include/ext/mt_allocator.h (__pool::_M_get_align): New.
573         (__mt_alloc::allocate): Use it.
574         * src/mt_allocator.cc (__pool::_M_reclaim_block): Use it.
575         (__pool::_M_reserve_block): Simplify block allocation.
576         
577 2004-10-17  Dhruv Matani  <dhruvbird@gmx.net>
578             Paolo Carlini  <pcarlini@suse.de>
579                 
580         * include/ext/bitmap_allocator.h: Change unsigned int -> size_t: this
581         makes the code 64-bit correct and also fixes (together with using at
582         the beginning a bitmap 2 * size_t bytes wide) alignment issues: now
583         8 is guaranteed, easily tunable to 16 via _BALLOC_ALIGN_BYTES.
584         Fix pthread-rope7.cc fail by nulling out __mini_vector<> destructor.
585         * src/bitmap_allocator.cc: Change to size_t.
586         * config/linker-map.gnu: Adjust.
587
588 2004-10-16  Benjamin Kosnik  <bkoz@redhat.com>
589
590         * include/tr1/array: Don't use layout_type.
591
592 2004-10-16  Sashan Govender  <sashang@gmail.com>
593
594         * include/tr1/array (array::end const): Fix casting from iterator
595         to const_iterator.
596         
597 2004-10-15  Paolo Carlini  <pcarlini@suse.de>
598
599         * include/ext/bitmap_allocator.h: Qualify ::operator delete.
600         * src/bitmap_allocator.cc: Likewise.
601         * src/mt_allocator.cc: Use ::operator delete, not delete,
602         consistently with ::operator new.
603
604         * include/ext/bitmap_allocator.h (deallocate): Check for null
605         pointer.
606         * testsuite/ext/bitmap_allocator/check_deallocate_null.cc: New.
607         * testsuite/testsuite_allocator.h (check_deallocate_null): Add test.
608
609 2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>
610
611         * include/ext/mt_allocator.h (__mt_alloc::deallocate): Check for
612         null pointer.
613         * include/ext/pool_allocator.h (debug_allocator::deallocate):
614         Check pointer value.
615         * include/ext/debug_allocator.h (debug_allocator::deallocate):
616         Throw exceptions, don't abort.
617         * include/ext/array_allocator.h
618         (array_allocator_base::deallocate): Remove unused parameters.
619         * testsuite/testsuite_allocator.h (check_deallocate_null): New.
620         * testsuite/ext/mt_allocator/check_deallocate_null.cc: New.
621         * testsuite/ext/mt_allocator/check_deallocate_null_thread.cc: New.
622         * testsuite/ext/array_allocator/check_deallocate_null.cc: New.
623         * testsuite/ext/debug_allocator/check_deallocate_null.cc: New.
624         * testsuite/ext/malloc_allocator/check_deallocate_null.cc: New.
625         * testsuite/ext/new_allocator/check_deallocate_null.cc: New.
626         * testsuite/ext/pool_allocator/check_deallocate_null.cc: New.
627
628         * testsuite/testsuite_allocator.h (check_new): Add instance argument.
629         * testsuite/ext/array_allocator/check_new.cc: New.
630         
631 2004-10-14  Paolo Carlini  <pcarlini@suse.de>
632
633         * include/ext/bitmap_allocator.h (bitmap_allocator::_Alloc_block):
634         Rename __unused to __M_unused.
635
636 2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>
637
638         * testsuite/ext/headers.cc: Add includes, compile only.
639         * testsuite/ext/hash_map.cc: Move to...
640         * testsuite/ext/hash_map/1.cc: ...here.
641         * testsuite/ext/14648.cc: Move to...
642         * testsuite/ext/hash_map/14648.cc: ...here.
643         * testsuite/ext/hash_map/instantiate.cc: Add.
644         * testsuite/ext/hash_set.cc: Move to...
645         * testsuite/ext/hash_set/1.cc: ...here.
646         * testsuite/ext/hash_set_explicit_instantiation.cc: Move to...
647         * testsuite/ext/hash_set/instantiate.cc: ...here.
648         * testsuite/ext/hash_check_construct_destroy.cc: Move to...
649         * testsuite/ext/hash_set/check_construct_destroy.cc: ...here.
650         * testsuite/ext/slist_check_construct_destroy.cc: Move to...
651         * testsuite/ext/slist/check_construct_destroy.cc: ...here.
652         * testsuite/ext/slist_explicit_instantiation.cc: Move to...
653         * testsuite/ext/slist/instantiate.cc: ...here.
654         
655 2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>
656
657         * include/ext/mt_allocator.h: Tweaks.
658         * src/mt_allocator.cc: Same.
659
660 2004-10-14  Dhruv Matani  <dhruvbird@gmx.net>
661
662         * ext/bitmap_allocator.h: Clean-up add/remove functions.
663         * src/bitmap_allocator.cc: New file. Contains the out-of-line
664         function definitions, static initialization of variables, and
665         explicit instantiations needed for the allocator.
666         * src/Makefile.am: Add.
667         * src/Makefile.in: Regenerate.
668         * config/linker.map.gnu: Add the necessary symbols.
669
670 2004-10-13  Paolo Carlini  <pcarlini@suse.de>
671
672         * include/bits/basic_string.tcc (_S_create): Use consistently
673         the exponential policy, simplify.
674         * testsuite/performance/21_strings/string_append_2.cc: New.
675
676         * include/ext/array_allocator.h (allocate): Fix bad_alloc check.
677         * testsuite/ext/array_allocator/2.cc: Fix wrt 64-bit archs (in
678         that case sizeof(_Rep) == 24).
679
680 2004-10-12  Paolo Carlini  <pcarlini@suse.de>
681
682         PR libstdc++/17948
683         * include/bits/stl_tree.h (erase(iterator, iterator)): Revert
684         wrong commit of 2004-10-07.
685         
686 2004-10-12  Scott Snyder  <snyder@fnal.gov>
687
688         PR libstdc++/17948
689         * testsuite/23_containers/set/modifiers/17948.cc: New.
690
691 2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>
692
693         * include/bits/stl_deque.h: Correct for over-long lines.
694
695 2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>
696
697         PR libstdc++/17937
698         * include/ext/mt_allocator.h (__pool::_M_destroy): New.
699         * src/mt_allocator.cc (__pool::~__pool): Change definitions to
700         _M_destroy.
701         * acconfig.h: Remove _GLIBCXX_USE___CXA_ATEXIT.
702         * acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): Remove.
703         * configure.ac: Remove call to GLIBCXX_ENABLE_CXA_EXIT.
704         * configure: Regenerate.
705         * config/linker-map.gnu: Tweak exports.
706         * docs/html/ext/mt_allocator.html: Update docs.
707         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Fix.
708         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Fix.       
709         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Fix.
710         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Fix.
711         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Fix.
712         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Fix.
713         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Fix.
714         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Fix.
715
716 2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>
717
718         PR libstdc++/16614 continued.
719         * include/ext/mt_allocator.h
720         (__per_type_pool_policy::_S_get_pool): Use saner defaults based on
721         specific type characteristics.
722         (__pool_base): Add constructor that takes a _Tune argument.
723         (__pool): Same.
724         * testsuite/ext/mt_allocator/tune-2.cc: Adjust default.
725         * testsuite/ext/mt_allocator/tune-4.cc: Same.
726         * testsuite/ext/mt_allocator/tune-3.cc: Same.
727
728 2004-10-11  Joachim Kuebart  <kuebart@mathematik.uni-ulm.de>
729             Paolo Carlini  <pcarlini@suse.de>
730
731         * src/pool_allocator.cc (__pool_alloc_base::_M_allocate_chunk):
732         Deal properly with exceptions thrown by ::operator new(size_t).
733         * testsuite/ext/pool_allocator/allocate_chunk.cc: New.
734
735         * include/ext/pool_allocator.h: Include <cstdlib>.
736
737 2004-10-10  Benjamin Kosnik  <bkoz@redhat.com>
738
739         * include/bits/functexcept.h: Add guards.
740
741         * acinclude.m4 (GLIBCXX_ENABLE_THREADS): Tweak test.
742         * configure: Regenerate.
743         
744 2004-10-10  Paolo Carlini  <pcarlini@suse.de>
745
746         * config/locale/gnu/monetary_members.cc (_S_construct_pattern):
747         Give __ret a default value, thus avoiding spurious warnings.
748
749         * testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: Open either
750         words or linux.words, otherwise exit.
751         * testsuite/performance/27_io/ifstream_getline.cc: Slighlty tweak.
752
753 2004-10-09  Paolo Carlini  <pcarlini@suse.de>
754
755         * include/std/std_memory.h (__get_temporary_buffer): Don't use
756         INT_MAX, prefer numeric_limits<ptrdiff_t>::max(), ok on 64-bit
757         platforms too.
758         * testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust dg-error
759         line numbers.
760
761 2004-10-08  Benjamin Kosnik  <bkoz@redhat.com>
762
763         * acconfig.h: Add _GLIBCXX_USE___CXA_ATEXIT.
764         * acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): New.
765         * configure.ac: Call GLIBCXX_ENABLE_CXA_EXIT.
766         * configure: Regenerate.
767         * src/mt_allocator.cc (__pool::~__pool): Make conditional on
768         _GLIBCXX_USE___CXA_ATEXIT macro.
769         * docs/html/ext/mt_allocator.html: Add note about deallocation.
770         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Guard checks
771         with _GLIBCXX_USE___CXA_ATEXIT.
772         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
773         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
774         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
775         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
776         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
777         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
778         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
779         
780 2004-10-07  Phil Edwards  <phil@codesourcery.com>
781
782         * testsuite/lib/libstdc++.exp:  Update list of undefined functions.
783
784 2004-10-07  Paolo Carlini  <pcarlini@suse.de>
785
786         * include/bits/list.tcc (operator=): Avoid iterator postincrement.
787         * include/bits/stl_tree.h (erase(iterator, iterator)): Likewise.
788
789 2004-10-07  Benjamin Kosnik  <bkoz@redhat.com>
790
791         * include/tr1: New.
792         * include/tr1/array: New.
793         * include/Makefile.am (tr1_headers): New.
794         (stamp-tr1): New.
795         (install-headers): New.
796         (allstamped): Add stamp-tr1.
797
798         * include/ext/array_allocator.h: New.
799         * include/Makefile.am: Add.
800         * include/Makefile.in: Regenerate.
801         * testsuite/ext/array_allocator/1.cc: New.
802         * testsuite/ext/array_allocator/2.cc: New.
803
804 2004-10-07  Richard Earnshaw  <rearnsha@arm.com>
805
806         * testsuite/lib/libstdc++.exp (libstdc++_exit): New proc.
807
808 2004-10-07  Roger Sayle  <roger@eyesopen.com>
809
810         PR libstdc++/17850
811         * configure.ac: Newlib does not provide strtold.
812         * configure: Regenerate.
813
814 2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
815
816         * acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
817         (GLIBCXX_CONFIGURE_TESTSUITE): Use it.
818         * configure: Regenerated.
819         * testsuite/Makefile.am (CLEANFILES): Add TEST for
820         check-performance executables.
821         (stamp_thread): New.
822         (all-local): Use it.
823         * testsuite/Makefile.in: Regenerate.
824         * scripts/create_testsuite_files: Filter thread tests.
825
826         * testsuite/thread/pthread1.cc: Remove macro conditionals: this
827         file will only be run by thread enabled configurations.
828         * testsuite/thread/pthread7-rope.cc: Same, add rope_type typedef.
829         * testsuite/thread/pthread6.cc: Same.
830         * testsuite/thread/pthread5.cc: Same.
831         * testsuite/thread/pthread4.cc: Same.
832         * testsuite/thread/pthread3.cc: Same.
833         * testsuite/thread/pthread2.cc: Same.
834
835         * testsuite/ext/mt_allocator/instantiate.cc: Add in __GTHREADS guard.
836         * testsuite/ext/mt_allocator/deallocate_global-1.cc: Move to...
837         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: ...here.
838         * testsuite/ext/mt_allocator/deallocate_global-3.cc: Move to...
839         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: ...here. 
840         * testsuite/ext/mt_allocator/deallocate_local-1.cc: Move to...
841         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: ...here.
842         * testsuite/ext/mt_allocator/deallocate_local-3.cc: Move to...
843         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: ...here.
844
845 2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
846             Paolo Carlini  <pcarlini@suse.de>
847
848         PR libstdc++/17780
849         * src/mt_allocator.cc (__pool<true>::_M_reserve_block): Revert
850         to old locking order.
851
852 2004-10-06  Paolo Carlini  <pcarlini@suse.de>
853
854         * include/std/std_sstream.h (_M_sync): When the caller is
855         setbuf, don't trust _M_string.capacity() to be the size of
856         the buffer area, use _M_string.size() in this case.
857         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: New.
858         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
859
860         * include/bits/sstream.tcc (overflow): Avoid calling string::assign
861         unnecessarily when the current _M_string is empty.
862
863 2004-10-06  Paolo Carlini  <pcarlini@suse.de>
864
865         * include/bits/stl_algo.h (__reverse(bidirectional_iterator_tag)):
866         Avoid iterator postincrement.
867         (__rotate): Likewise.
868
869         * include/bits/stl_algo.h: Minor formatting tweaks.
870
871 2004-10-06  Christopher Jefferson <caj@cs.york.ac.uk>
872
873         * include/bits/stl_algo.h (__reverse(random_access_iterator_tag)):
874         Avoid iterator postincrement; fix swapping middle element with
875         itself on odd-length inputs.
876
877 2004-10-05  Benjamin Kosnik  <bkoz@redhat.com>
878
879         PR libstdc++/17780
880         * include/ext/mt_allocator.h (__pool_base::_Tune): Add default
881         options as compile-time constant enums.
882         (__pool_base::_Tune::is_default): New.
883         (__pool_base::_Block_address): New.
884         (__pool_base): Rearrange data members.
885         (__pool::_M_reserve_memory): To _M_reserve_block.
886         (__pool::_M_reclaim_memory): To _M_reclaim_block.       
887         (__pool::_Bin_record): Add _Block_address data member.
888         (__pool<false>): Add _M_thread_freelist_initial.
889         (__pool::~__pool): Declare.     
890         (__common_pool_policy): Move static data member to...
891         (__common_pool_policy::_S_get_pool): ...here, make static local.
892         (__per_type_pool_policy): Move static data member to...
893         (__per_type_pool_policy::_S_get_pool): ...here, make static local.
894         (__mt_alloc::__mt_alloc): Call __policy_type::_S_get_pool.
895         Remove static member definitions. Use define for __default_policy.
896         * src/mt_allocator.cc: Same.
897         * config/linker-map.gnu: Don't export _S_get_pool. Renames.
898         * testsuite/ext/new_allocator: New.
899         * testsuite/ext/new_allocator/instantiate.cc: New.
900         * testsuite/ext/new_allocator/check_new.cc: New.
901         * testsuite/ext/new_allocator/deallocate_global.cc: New.
902         * testsuite/ext/new_allocator/deallocate_local.cc: New.
903         * testsuite/ext/mt_allocator/instantiate.cc: Instantiate all
904         template arguments.
905         * testsuite/ext/mt_allocator/deallocate_global-1.cc: New.
906         * testsuite/ext/mt_allocator/deallocate_global-2.cc: New.
907         * testsuite/ext/mt_allocator/deallocate_global-3.cc: New.
908         * testsuite/ext/mt_allocator/deallocate_global-4.cc: New.
909         * testsuite/ext/mt_allocator/deallocate_local-1.cc: New.
910         * testsuite/ext/mt_allocator/deallocate_local-2.cc: New.
911         * testsuite/ext/mt_allocator/deallocate_local-3.cc: New.
912         * testsuite/ext/mt_allocator/deallocate_local-4.cc: New.
913         * testsuite/ext/mt_allocator/deallocate.cc: New.
914         * testsuite/ext/malloc_allocator/deallocate.cc: New.    
915         * testsuite/ext/malloc_allocator/deallocate_global.cc: New.
916         * testsuite/ext/malloc_allocator/deallocate_local.cc: New.
917         
918 2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
919
920         * configure.host (abi_baseline_pair): Define for s390-*-linux* and
921         s390x-*-linux*.
922         * config/abi/s390-linux-gnu/baseline_symbols.txt: Add missing symbols.
923         * config/abi/s390x-linux-gnu/baseline_symbols.txt: New file.
924
925 2004-10-05  Christopher Jefferson  <caj@cs.york.ac.uk>
926
927         * include/bits/stl_algobase.h (iter_swap): delegate to swap via
928         __iter_swap when iterator's value_types are equal.
929         (struct __iter_swap): New.
930
931 2004-10-04  Benjamin Kosnik  <bkoz@redhat.com>
932
933         * configure.ac (libtool_VERSION): To 6:3:0.
934         * configure: Regnerate.
935         * testsuite/testsuite_abi.cc (check_version): Add 3.4.3.
936
937 2004-10-04  Roger Sayle  <roger@eyesopen.com>
938             Eric Botcazou  <ebotcazou@libertysurf.fr>
939
940         PR libstdc++/17505
941         * config/linker-map.gnu: Synchronize the current list of stub
942         functions from libmath.
943
944 2004-10-03  Roger Sayle  <roger@eyesopen.com>
945
946         * config/locale/generic/c_locale.cc (__convert_to_v): Use
947         _GLIBCXX_HAVE_STRTOF instead _GLIBCXX_USE_C99 to check for strtof.
948         Likewise, use _GLIBCXX_HAVE_STRTOLD instead of _GLIBCXX_USE_C99
949         to check for presence of strtold.
950
951 2004-10-03  Paolo Carlini  <pcarlini@suse.de>
952
953         * include/bits/stl_list.h: Trivial formatting fixes.
954         * include/bits/stl_tree.h: Likewise.
955
956 2004-10-03  Paolo Carlini  <pcarlini@suse.de>
957
958         * include/bits/sstream.tcc (seekpos): In case of success, just
959         return __sp.
960
961 2004-10-01  Paolo Carlini  <pcarlini@suse.de>
962
963         * include/bits/sstream.tcc (pbackfail): Implement correctly
964         27.7.1.3/2, bullet 2: if mode & ios_base::out is false do not
965         write in the buffer.
966         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: New.
967         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
968         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
969         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
970         * testsuite/27_io/basic_istream/putback/char/1.cc: Tweak consistently.
971
972 2004-10-01  Paolo Carlini  <pcarlini@suse.de>
973
974         * include/bits/sstream.tcc (seekpos): Minor rearrangement of two
975         conditionals consistently with seekoff.
976         * include/std/std_sstream.h (setbuf): Avoid a string temporary.
977         (_M_sync): Simplify a bit, clean-up comment.
978
979 2004-09-30  Paolo Carlini  <pcarlini@suse.de>
980
981         PR libstdc++/10975 (DR 453)
982         * include/bits/sstream.tcc (seekoff): Don't fail if __beg == 0
983         and __off == 0.
984         * docs/html/ext/howto.html: Add an entry for DR 453.
985         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: New.
986         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
987         * testsuite/27_io/basic_istream/tellg/char/1.cc: Tweak consistently.
988         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
989         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
990         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc: Fix and
991         move to...
992         * testsuite/27_io/basic_istream/seekp/char/2346-fstream.cc: ... here.
993         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc: Fix and
994         move to...
995         * testsuite/27_io/basic_istream/seekp/char/2346-sstream.cc: ... here.
996
997 2004-09-29  Paolo Carlini  <pcarlini@suse.de>
998
999         * include/std/std_sstream.h (basic_stringbuf(ios_base::openmode)):
1000         Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.
1001         (str()): Slightly tweak, protect from pptr() == 0.
1002         (_M_update_egptr()): Likewise.
1003         * include/bits/sstream.tcc (ssekoff, seekpos): In order to check
1004         for an empty buffer use __beg instead of _M_string.capacity().
1005         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: New.
1006         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1007
1008         * testsuite/27_io/basic_filebuf/cons/char/1.cc: New.
1009         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
1010         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Update.
1011         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1012
1013 2004-09-29  Paolo Carlini  <pcarlini@suse.de>
1014             Benjamin Kosnik  <bkoz@redhat.com>
1015         
1016         * testsuite/testsuite_io.h (class constraint_buf): New, extended
1017         and templatized version of constraint_filebuf; add typedefs for
1018         streambuf/stringbuf/filebuf and wchar_t counterparts.
1019
1020 2004-09-28  Paolo Carlini  <pcarlini@suse.de>
1021
1022         PR libstdc++/16612
1023         * include/bits/basic_string.h (_M_dispose, _M_refcopy,
1024         basic_string()): When _GLIBCXX_FULLY_DYNAMIC_STRING is defined,
1025         don't deal with _S_empty_rep.
1026         * include/bits/basic_string.tcc (_S_construct, _M_destroy,
1027         _M_leak_hard, _M_mutate): Likewise.
1028         * acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): New.
1029         * acconfig.h: Add corresponding undef.  
1030         * configure.ac: Use GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING.
1031         * docs/html/configopts.html: Document --enable-fully-dynamic-string.
1032         * configure: Regenerate.
1033         * config.h.in: Likewise.
1034
1035 2004-09-28  Benjamin Kosnik  <bkoz@redhat.com>
1036             Paolo Carlini  <pcarlini@suse.de>
1037
1038         * testsuite/21_strings/basic_string/operations/char/1.cc: New.
1039         * testsuite/21_strings/basic_string/operations/wchar_t/1.cc: New.
1040         * testsuite/21_strings/basic_string/element_access/char/empty.cc: New.
1041         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc: 
1042         New.
1043
1044 2004-09-28  Paolo Carlini  <pcarlini@suse.de>
1045
1046         * README: Remove obsolete entry about include/c_shadow.
1047
1048 2004-09-24  H.J. Lu  <hongjiu.lu@intel.com>
1049
1050         PR libstdc++/17469
1051         * testsuite/lib/libstdc++.exp: Don't use global ld_library_path.
1052
1053 2004-09-24  Paolo Carlini  <pcarlini@suse.de>
1054
1055         * src/localename.cc (locale::locale(const char*)): Minor tweaks:
1056         rename a variable, move an assignment.
1057         (locale::_Impl::_Impl(const char*, size_t)): Likewise, minor tweak.
1058
1059 2004-09-24  Paul Brook  <paul@codesourcery.com>
1060
1061         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL more arm
1062         simulator targets.
1063         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
1064         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Ditto.
1065         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Ditto.
1066         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Ditto.
1067         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Ditto.
1068         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Ditto.
1069
1070 2004-09-23  Zack Weinberg  <zack@codesourcery.com>
1071
1072         * testsuite/20_util/memory/auto_ptr/assign_neg.cc
1073         * testsuite/23_containers/map/operators/1_neg.cc
1074         * testsuite/23_containers/set/operators/1_neg.cc:
1075         Update locations and/or regexps of dg-error markers.
1076
1077 2004-09-23  P.J. Darcy  <darcypj@us.ibm.com>
1078
1079         * include/Makefile.am (thread_host_headers): Add gthr-tpf.h.
1080         Add rule to build ${host_builddir}/gthr-tpf.h.
1081         * include/Makefile.in: Regenerate.
1082
1083 2004-09-23  Paolo Carlini  <pcarlini@suse.de>
1084             Magnus Fromreide  <magfr@lysator.liu.se>
1085
1086         * include/bits/boost_concept_check.h (struct _SequenceConcept):
1087         Remove wrong requirement, i.e., not present in Table 67.
1088
1089 2004-09-21  Paolo Carlini  <pcarlini@suse.de>
1090
1091         PR libstdc++/12882 (cont)
1092         * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fstat64 too.
1093         * configure: Regenerate.
1094         * config/io/basic_file_stdio.cc (__basic_file<>::showmanyc): When
1095         _GLIBCXX_USE_LFS use fstat64 and lseek64, thus providing a non
1096         trivial showmanyc for large files too.
1097
1098 2004-09-17  Jonathan Wakely  <redi@gcc.gnu.org>
1099
1100         * include/bits/stl_algo.h (remove): Remove too restrictive
1101         concept-check.
1102
1103 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
1104
1105         * include/bits/fstream.tcc (xsgetn): Slightly tweak conditional,
1106         as per Nathan's original suggestion.
1107
1108 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
1109
1110         * testsuite/ext/mt_allocator/tune-1.cc: Use VERIFY, clean
1111         up a bit.
1112         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
1113         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
1114         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
1115
1116 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
1117             Andrea Arcangeli  <andrea@suse.de>
1118
1119         * config/io/basic_file_stdio.cc (__basic_file<>::close)): Don't
1120         call unnecessarily sync, that is fflush: the library, since 3.4.0
1121         does not use buffered fread/fwrite.
1122         * include/bits/fstream.tcc (basic_filebuf<>::overflow): Likewise.
1123
1124 2004-09-15  Mark Mitchell  <mark@codesourcery.com>
1125
1126         * config/cpu/arm/cxxabi_tweaks.h (__cxa_cdtor_return_type):
1127         Define.
1128         * config/cpu/generic/cxxabi_tweaks.h (__cxa_cdtor_return_type):
1129         Define.
1130         * libsupc++/cxxabi.h (__cxa_cdtor_return_type): New type.
1131         (__cxa_vec_new): Use it.
1132         (__cxa_vec_new2): Likewise.
1133         (__cxa_vec_new3): Likewise.
1134         (__cxa_vec_cdtor): Likewise.
1135         (__cxa_vec_cctor): Likeiwse.
1136         (__cxa_vec_dtor): Likewise.
1137         (__cxa_vec_cleanup): Likewise.
1138         (__cxa_vec_delete2): Likewise.
1139         (__cxa_vec_delete3): Likewise.
1140         * libsupc++/vec.cc (__cxa_vec_new): Likewise.
1141         (__cxa_vec_new2): Likewise.
1142         (__cxa_vec_new3): Likewise.
1143         (__cxa_vec_cdtor): Likewise.
1144         (__cxa_vec_cctor): Likeiwse.
1145         (__cxa_vec_dtor): Likewise.
1146         (__cxa_vec_cleanup): Likewise.
1147         (__cxa_vec_delete2): Likewise.
1148         (__cxa_vec_delete3): Likewise.
1149         (__aeabi_vec_ctor_nocookie_nodtor): New function.
1150         (__aeabi_vec_ctor_cookie_nodtor): Likewise.
1151         (__aeabi_vec_cctor_nocookie_nodtor): Likewise.
1152         (__aeabi_vec_new_cookie_noctor): Likewise.
1153         (__aeabi_vec_new_nocookie): Likewise.
1154         (__aeabi_vec_new_cookie_nodtor): Likewise.
1155         (__aeabi_vec_new_cookie): Likewise.
1156         (__aeabi_vec_dtor): Likewise.
1157         (__aeabi_vec_dtor_cookie): Likewise.
1158         (__aeabi_vec_delete): Likewise.
1159         (__aeabi_vec_delete3): Likewise.
1160         (__aeabi_vec_delete3_nodtor): Likewise.
1161         (__aeabi_atexit): Likewise.
1162
1163 2004-09-14  Nathan Myers  <ncm@cantrip.org>
1164
1165         * include/bits/fstream.tcc (xsgetn): Slightly tweak the recent fix
1166         for 11722: copy can replace move; the common case is __avail == 0.
1167
1168 2004-09-14  Paolo Carlini  <pcarlini@suse.de>
1169
1170         * include/bits/cpp_type_traits.h: Rename __is_trivially_copyable
1171         to __is_scalar, more clear and consistent with "tr1" naming.
1172         * include/bits/stl_algobase.h: Update consistently throughout.
1173
1174 2004-09-13  Paolo Carlini  <pcarlini@suse.de>
1175
1176         PR libstdc++/11722
1177         * include/std/std_fstream.h (xsgetn): Declare only.
1178         * include/bits/fstream.tcc (xsgetn): Define, optimize for the
1179         always_noconv() case: when __n > __buflen, copy the available
1180         buffer and issue a direct read.
1181         * testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New.
1182
1183         * include/bits/fstream.tcc (xsputn): Minor tweak, reorder a
1184         conditional.
1185
1186 2004-09-13  Hans-Peter Nilsson  <hp@bitrange.com>
1187
1188         * testsuite/lib/libstdc++.exp: Use gcc wrapper.exp and call
1189         libstdc++_maybe_build_wrapper instead of using local code.
1190
1191 2004-09-08  Benjamin Kosnik  <bkoz@redhat.com>
1192
1193         * config/linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.
1194
1195 2004-09-03  Jan Beulich  <jbeulich@novell.com>
1196
1197         * crossconfig.m4: Add NetWare as a target.
1198         * configure: Regenerate.
1199
1200 2004-09-02  Mark Mitchell  <mark@codesourcery.com>
1201
1202         * libsupc++/typeinfo: Honor __GXX_MERGED_TYPEINFO_NAMES if already
1203         defined.
1204
1205 2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
1206             Simon Richter  <Simon.Richter@hogyros.de>
1207
1208         PR libstdc++/16715
1209         * include/bits/istream.tcc: Add extern template for iostream
1210         char and wchar_t instantiations.
1211
1212 2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
1213             Leland Wang  <llwang@infor.org>
1214
1215         PR libstdc++/17259
1216         * include/ext/ropeimpl.h (rope::_S_compare): Use
1217         _Rope_constants::_S_leaf.
1218
1219 2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
1220
1221         PR libstdc++/16848
1222         * include/Makefile.am (ext_headers): Remove demangle.h.
1223         * include/Makefile.in: Regenerate.
1224         * include/ext/demangle.h: Remove.
1225
1226 2004-09-01  Benjamin Kosnik  <bkoz@redhat.com>
1227
1228         PR libstdc++/16614
1229         * include/ext/mt_allocator.h (__mt_base): Not type dependent,
1230         split into..
1231         (__pool): New, specialize.
1232         (__common_pool): New, static bits here.
1233         (__per_type_pool): New, and here.
1234         (__mt_alloc_base): New.
1235         (__mt_alloc): Add template parameter, inherit from it.
1236         * src/allocator.cc: Split this...
1237         * src/allocator-inst.cc: And this...
1238         * src/pool_allocator.cc: ...into this.
1239         * src/mt_allocator.cc: ... and this. Add definitions for
1240         __mt_base.
1241         * src/Makefile.am (sources): Split allocator.cc to
1242         pool_allocator.cc and mt_allocator.cc.
1243         * src/Makefile.in: Regenerate.
1244         * config/linker-map.gnu: Add symbols.
1245         * docs/html/ext/mt_allocator.html: Document new design.
1246         * testsuite/ext/mt_allocator/tune-1.cc: New.
1247         * testsuite/ext/mt_allocator/tune-2.cc: New.
1248         * testsuite/ext/mt_allocator/tune-3.cc: New.
1249         * testsuite/ext/mt_allocator/tune-4.cc: New.
1250
1251         * testsuite/testsuite_allocator.h (__gnu_test::check_new): New.
1252         * testsuite/ext/allocators.cc: Use check_new, split into...
1253         * testsuite/ext/mt_allocator/check_new.cc: this.
1254         * testsuite/ext/pool_allocator/check_new.cc: this.
1255         * testsuite/ext/malloc_allocator/check_new.cc: this.
1256         * testsuite/ext/debug_allocator/check_new.cc: this.
1257         * testsuite/ext/mt_allocator/instantiate.cc: this.
1258         * testsuite/ext/pool_allocator/instantiate.cc: this.
1259         * testsuite/ext/malloc_allocator/instantiate.cc: this.
1260         * testsuite/ext/debug_allocator/instantiate.cc: this.
1261
1262 2004-08-30  Phil Edwards  <phil@codesourcery.com>
1263
1264         * docs/html/install.html:  Update locales list (from Paolo).
1265         Remove other redundant information and point to the GCC install
1266         documentation.
1267
1268 2004-08-30  Benjamin Kosnik  <bkoz@redhat.com>
1269
1270         * include/ext/pool_allocator.h: Rename __pool_base to
1271         __pool_alloc_base.
1272         * src/allocator.cc: Same.
1273         * config/linker-map.gnu: Same.
1274
1275 2004-08-30  Paolo Carlini  <pcarlini@suse.de>
1276             Kenneth C. Schalk  <ken@xorian.net>
1277
1278         PR libstdc++/17215
1279         * config/io/basic_file_stdio.cc (__basic_file<char>::close()):
1280         Check the return value of fclose/sync, loop on EINTR.
1281         (__basic_file<char>::sys_open): Likewise, for sync.
1282
1283 2004-08-29  Paolo Carlini  <pcarlini@suse.de>
1284
1285         * include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format,
1286         case 'S'): Allow for at least one leap-second (as per C99, 7.23.1
1287         and 7.23.3.5), two if !_GLIBCXX_USE_C99.
1288         * testsuite/22_locale/time_get/get_time/char/4.cc: New.
1289         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
1290
1291 2004-08-27  Jason Merrill  <jason@redhat.com>
1292
1293         PR c++/13684
1294         * libsupc++/guard.cc (static_mutex): Internal class implementing a
1295         recursive mutex which controls initialization of local statics.
1296         (__gnu_cxx::recursive_init): New exception class.
1297         (__cxa_guard_acquire): Deal with locking and recursion detection.
1298         (acquire_1, __cxa_guard_abort, __cxa_guard_release): Likewise.
1299
1300 2004-08-27  Matthias Klose  <doko@debian.org>
1301
1302         * configure.host: For mips*-*-linux* update cpu_include_dir
1303         after atomicity_dir is set.
1304
1305 2004-08-27  Matthias Klose  <doko@debian.org>
1306
1307         * config/abi/arm-linux-gnu/baseline_symbols.txt: New.
1308         * config/abi/mips-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1309         * configure.host: Set abi_baseline_pair for arm*-*-linux* and
1310         mips*-*-linux*.
1311
1312 2004-08-27  Paolo Carlini  <pcarlini@suse.de>
1313
1314         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: New.
1315         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
1316         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
1317         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
1318         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
1319
1320         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Minor
1321         formatting fixes.
1322         * testsuite/27_io/manipulators/adjustfield/char/2.cc: Likewise.
1323         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
1324         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
1325         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1326
1327 2004-08-25  Paolo Carlini  <pcarlini@suse.de>
1328
1329         PR libstdc++/17038 (partial)
1330         * include/bits/locale_facets.tcc (time_put<>::do_put): Increase
1331         __maxlen to 128.
1332         * include/bits/locale_facets.h (class __timepunct): Add FIXME
1333         comment about _M_put.
1334         * config/locale/generic/time_members.cc (_M_put): Always null
1335         terminate __s.
1336         * config/locale/gnu/time_members.cc (_M_put): Likewise.
1337         * testsuite/22_locale/time_put/put/char/17038.cc: New.
1338         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: New.
1339
1340 2004-08-24  Paolo Carlini  <pcarlini@suse.de>
1341
1342         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: New.
1343         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1344         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
1345         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
1346         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
1347         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
1348
1349         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Trim excess
1350         newlines.
1351         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1352
1353 2004-08-22  Matthias Klose  <doko@debian.org>
1354
1355         * config/abi/m68k-linux-gnu/baseline_symbols.txt: New.
1356         * config/abi/sparc-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1357
1358 2004-08-23  Paolo Carlini  <pcarlini@suse.de>
1359
1360         * configure.ac: Specify version 1.9.1 in AM_INIT_AUTOMAKE.
1361         * aclocal.m4: Regenerate with automake-1.9.1.
1362         * configure: Regenerate.
1363         * Makefile.in: Likewise.
1364         * include/Makefile.in: Likewise.
1365         * libmath/Makefile.in: Likewise.
1366         * libsupc++/Makefile.in: Likewise.
1367         * po/Makefile.in: Likewise.
1368         * src/Makefile.in: Likewise.
1369         * testsuite/Makefile.in: Likewise.
1370
1371 2004-08-22  Paolo Carlini  <pcarlini@suse.de>
1372
1373         * include/bits/locale_facets.tcc (num_put<>::do_put(bool)): Cast
1374         to a signed type, long according to the resolution of DR 359.
1375         * testsuite/22_locale/num_put/put/char/9.cc: New.
1376         * testsuite/22_locale/num_put/put/wchar_t/9.cc: New.
1377
1378         * include/bits/locale_facets.tcc (num_put<>::do_put(const void*)):
1379         Simplify a bit: no need to clear showpos.
1380
1381 2004-08-21  Paolo Carlini  <pcarlini@suse.de>
1382
1383         * include/bits/char_traits.h (struct _Char_traits_match): Remove,
1384         unused.
1385
1386 2004-08-21  Paolo Carlini  <pcarlini@suse.de>
1387
1388         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Use proper
1389         wchar_t type for the fill argument; minor formatting tweaks.
1390         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
1391         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
1392         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
1393         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
1394         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
1395         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
1396
1397 2004-08-21  Paolo Carlini  <pcarlini@suse.de>
1398
1399         * include/bits/basic_ios.tcc (basic_ios<>::copyfmt): Don't deal
1400         with _M_word != _M_local_word two times, redundantly.
1401
1402 2004-08-20  Jason Merrill  <jason@redhat.com>
1403
1404         * include/Makefile.am (${host_builddir}/gthr.h): Don't add
1405         _GLIBCXX_ to #pragma lines.
1406         * include/Makefile.in: Update.
1407
1408 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
1409
1410         PR libstdc++/7219 (continued)
1411         * include/bits/ios_base.h (class ios_base): Expose Annex D.6
1412         typedefs by default.
1413         * testsuite/27_io/types/1.cc: Remove #if _GLIBCXX_DEPRECATED.
1414         * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak dg-error
1415         line number.
1416         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
1417
1418 2004-08-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1419
1420         * cpu/hppa/atomicity.h (__exchange_and_add, __atomic_add): Add memory
1421         barrier to locking asm.
1422
1423 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
1424
1425         * include/c_std/cmath.tcc (__cmath_power): Revert previous commit:
1426         actually the warning is a front-end bug (c++/17120).
1427
1428 2004-08-20  Matthias Klose  <doko@debian.org>
1429
1430         * config/abi/s390-linux-gnu/baseline_symbols.txt: New.
1431
1432 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
1433
1434         * include/c_std/cmath.tcc (__cmath_power): Suppress assignment
1435         used as truth value warning.
1436
1437 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
1438
1439         * config/abi/x86_64-linux-gnu/32/baseline_symbols.txt: Add 32 bit
1440         baseline.
1441
1442 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
1443
1444         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Fix it.
1445
1446 2004-08-19  Benjamin Kosnik  <bkoz@redhat.com>
1447
1448         * testsuite/22_locale/time_put/put/char/3.cc (test03): Don't check
1449         timezone.
1450         * testsuite/22_locale/time_put/put/wchar_t/3.cc (test03): Same.
1451
1452 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
1453
1454         * testsuite/performance/20_util/allocator/insert.cc: For std::map
1455         instantiate the allocator for a correct pair type.
1456         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
1457         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
1458         * testsuite/performance/20_util/allocator/producer_consumer.cc:
1459         Likewise.
1460
1461         * testsuite/performance/20_util/allocator/list_sort_search.cc: Very
1462         minor formatting fixes.
1463         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
1464
1465 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
1466
1467         * testsuite/22_locale/time_put/put/char/1.cc: Add VERIFY on the
1468         results.
1469         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
1470         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
1471         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
1472         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
1473         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
1474         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
1475         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
1476
1477 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
1478
1479         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1480
1481 2004-08-18  Matthias Klose  <doko@debian.org>
1482
1483         * config/abi/hppa-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1484         * config/abi/i386-linux-gnu/baseline_symbols.txt: New.
1485         * config/abi/powerpc-linux-gnu/baseline_symbols.txt: New.
1486
1487 2004-08-17  Paolo Carlini  <pcarlini@suse.de>
1488
1489         * config/abi/alpha-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1490
1491 2004-08-17  Paolo Carlini  <pcarlini@suse.de>
1492
1493         * config/abi/ia64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1494
1495 2004-08-17  Benjamin Kosnik  <bkoz@redhat.com>
1496
1497         * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1498
1499 2004-08-16  Paolo Carlini  <pcarlini@suse.de>
1500
1501         * include/bits/indirect_array.h: Trivial formatting fixes.
1502         * include/bits/valarray_after.h: Likewise.
1503         * include/bits/valarray_array.h: Likewise.
1504         * src/valarray-inst.cc: Likewise.
1505
1506 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
1507
1508         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Remove junk.
1509         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
1510         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
1511
1512         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: New.
1513         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
1514         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
1515         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
1516         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
1517
1518 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
1519
1520         * include/bits/deque.tcc: Trivial formatting fixes.
1521
1522 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
1523
1524         * include/bits/deque.tcc: Trivial formatting fixes.
1525
1526         * include/bits/locale_facets.tcc (num_get<>::do_get(&bool)):
1527         Remove unneded typedef.
1528
1529         * include/bits/locale_facets.tcc: Very minor tweaks.
1530
1531         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Use proper
1532         type for the fill argument.
1533         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
1534         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
1535         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
1536         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
1537         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
1538         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
1539         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
1540         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
1541
1542 2004-08-13  Paolo Carlini  <pcarlini@suse.de>
1543
1544         * src/debug.cc (_Error_formatter::_M_print_string): Fix thinko,
1545         memmove is not needed, memcpy suffices.
1546
1547 2004-08-13  Paolo Carlini  <pcarlini@suse.de>
1548
1549         * include/std/std_fstream.h (class basic_ifstream,
1550         class basic_ofstream, class basic_fstream): Add const overloads
1551         of is_open, as per DR 365 [WP].
1552         * docs/html/ext/howto.html: Add an entry for DR 365.
1553
1554 2004-08-12  Paolo Carlini  <pcarlini@suse.de>
1555
1556         * configure.ac: Specify version 1.8.5 in AM_INIT_AUTOMAKE.
1557
1558 2004-08-12  Paolo Carlini  <pcarlini@suse.de>
1559
1560         PR libstdc++/16956
1561         * include/bits/sstream.tcc (basic_stringbuf<>::seekoff): Add __off
1562         to the returned value, reorganize a bit.
1563         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: New.
1564         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: New.
1565
1566         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Remove junk.
1567         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1568         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
1569         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
1570
1571 2004-08-12  Paul Brook  <paul@codesourcery.com>
1572
1573         * config/cpu/arm/cxxabi_tweaks.h: Define __cxa_vec_ctor_return and
1574         _GLIBCXX_CXA_VEC_CTOR_RETURN.
1575         * config/cpu/generic/cxxabi_tweaks.h: Ditto.
1576         * libsupc++/cxxabi.h (__cxa_vec_ctor, __cxa_vec_cctor): Use
1577         __cxa_vec_ctor_return.
1578         * libsupc++/vec.cc (__cxa_vec_ctor, __cxa_vec_cctor): Ditto.
1579         Use _GLIBCXX_CXA_VEC_CTOR_RETURN.
1580
1581 2004-08-12  Kelley Cook  <kcook@gcc.gnu.org>
1582
1583         * Makefile.in, aclocal.m4, configure, include/Makefile.in,
1584         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
1585         src/Makefile.in, testsuite/Makefile.in: Regenerate
1586
1587 2004-08-12  Jan Beulich  <jbeulich@novell.com>
1588
1589         * config/locale/generic/ctype_members.cc
1590         (ctype<wchar_t>::_M_convert_to_wmask): Default case must not use 0 as
1591         initializer for return value, as that is invalid for enumerated types.
1592         * config/locale/gnu/ctype_members.cc
1593         (ctype<wchar_t>::_M_convert_to_wmask): Likewise.
1594
1595 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
1596
1597         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Fix typo.
1598
1599 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
1600
1601         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Declare test
1602         variable.
1603         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Ditto.
1604         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Remove junk.
1605         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Ditto.
1606         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Ditto.
1607         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Ditto.
1608         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Ditto.
1609         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Ditto.
1610         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Ditto.
1611         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Ditto.
1612         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Ditto.
1613         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Ditto.
1614         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Ditto.
1615         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Ditto.
1616         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Ditto.
1617         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Ditto.
1618         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Ditto.
1619         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Ditto.
1620         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Ditto.
1621         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Ditto.
1622         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Ditto.
1623         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Ditto.
1624
1625 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
1626             Petur Runolfsson  <peturr02@ru.is>
1627
1628         PR libstdc++/16959
1629         * src/ios_init.cc (ios_base::sync_with_stdio): Make sure the
1630         standard streams are constructed.
1631         * testsuite/27_io/ios_base/sync_with_stdio/16959.cc: New.
1632
1633 2004-08-09  Paolo Carlini  <pcarlini@suse.de>
1634
1635         * include/bits/stl_bvector.h: Trivial formatting fixes.
1636
1637 2004-08-09  Paolo Carlini  <pcarlini@suse.de>
1638
1639         * src/ios.cc (ios_base::_M_grow_words): Uglify the names.
1640
1641 2004-08-07  Jonathan Wakely  <redi@gcc.gnu.org>
1642             Paolo Carlini  <pcarlini@suse.de>
1643
1644         * src/debug.cc (_Error_formatter::_M_print_string): In order
1645         to print individual words from __string, _M_format_word can't
1646         be called since may be just sprintf, thus ignoring completely
1647         __n: instead, use memmove and append '\0' by hand.
1648
1649 2004-08-07  Paolo Carlini  <pcarlini@suse.de>
1650
1651         * config/locale/generic/c_locale.h (__convert_from_v): Don't
1652         use a default for __prec, assume __prec >= 0 and simplify.
1653         * config/locale/gnu/c_locale.h (__convert_from_v): Likewise.
1654         * include/bits/locale_facets.tcc (money_put<>::do_put(long double)):
1655         Pass format "%.*Lf" + precision == 0, equivalent to "%.0Lf".
1656
1657 2004-08-04  Phil Edwards  <phil@codesourcery.com>
1658
1659         * docs/html/configopts.html:  Emphasize that options change.
1660         * docs/html/17_intro/configury.html:  Update links.
1661
1662 2004-08-03  Paolo Carlini  <pcarlini@suse.de>
1663
1664         * include/bits/list.tcc: Trivial formatting fixes.
1665
1666 2004-08-03  Mark Mitchell  <mark@codesourcery.com>
1667
1668         * libsupc++/new_op.cc: Update comments.
1669         * libsupc++/del_op.cc: Likewise.
1670
1671 2004-08-02  Mark Mitchell  <mark@codesourcery.com>
1672
1673         * libsupc++/cxxabi.h: Make all declarations have default
1674         visibility.
1675         * libsupc++/exception: Likewise.
1676         * libsupc++/new: Likewise.
1677         * libsupc++/typeinfo: Likewise.
1678         * libsupc++/unwind-cxx.h: Likewise.
1679         * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Put it into
1680         the __cxxabiv1 namespace.
1681         (__cxa_free_exception): Likewise.
1682         * libsupc++/eh_aux_runtime.cc (__cxa_bad_cast): Likewise.
1683         (__cxa_bad_typeid): Likewise.
1684         * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise.
1685         (__cxa_end_catch): Likewise.
1686         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Likewise.
1687         (__cxa_get_globals): Likewise.
1688         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
1689         (__cxa_rethrow): Likewise.
1690         * libsupc++/pure.cc (__cxa_pure_virtual): Likewise.
1691         * libsupc++/eh_type.cc: Include <cxxabi.h>.
1692
1693         * Makefile.am (hosted_source): Add libmath and testsuite.
1694         (SUBDIRS): Remove them.
1695         * acinclude.m4: (GLIBCXX_ENABLED_HOSTED): Default to freestanding
1696         on arm*-*-symbianelf*.
1697         * crossconfig.m4: Add arm*-*-symbianelf* support.
1698         * include/c_std/std/std_cstdlib.h (stdlib.h): Do not include it
1699         when freestanding.  Do not bring names into std:: namespace with
1700         "using" when freestanding.  Declare required functions and macros
1701         when freestanding.
1702         * libsupc++/Makefile.am (c_sources): Do not include cp-demangle.c
1703         when freestanding.
1704         * libsupc++/del_op.cc: Declare "free" only when freestanding.
1705         * libsupc++/eh_alloc.cc (cstring): Include it only when hosted.
1706         (malloc): Declare when freestanding.
1707         (free): Likewise.
1708         (memset): Likewise.
1709         (__cxa_allocate_exception): Call malloc, not std::malloc.  Likewise
1710         for memset.
1711         (__cxa_free_exception): Likewise for free.
1712         * libsupc++/new_op.cc: Declare "malloc" when freestanding.
1713         * libsupc++/pure.cc (writestr): Define to nothing when
1714         freestanding.
1715         * libsupc++/vterminate.cc: Do not define anything when
1716         freestanding.
1717         * Makefile.in: Regenerated.
1718         * aclocal.m4: Likewise.
1719         * configure: Likewise.
1720         * include/Makefile.in: Likewise.
1721         * libmath/Makefile.in: Likewise.
1722         * libsupc++/Makefile.in: Likewise.
1723         * po/Makefile.in: Likewise.
1724         * src/Makefile.in: Likewise.
1725         * testsuite/Makefile.in: Likewise.
1726
1727 2004-08-01  Matt Austern  <austern@apple.com>
1728
1729         PR libstdc++/16844
1730         * include/bits/stl_list.h (_M_create_node): Remove unused
1731         zero-argument version.
1732         * include/ext/slist (_M_create_node): Pass two arguments to
1733         allocator's construct() member function.
1734         * testsuite/23_containers/deque/explicit_instantiation.cc: New.
1735         * testsuite/23_containers/list/explicit_instantiation.cc: New.
1736         * testsuite/23_containers/vector/explicit_instantiation.cc: New.
1737         * testsuite/23_containers/map/explicit_instantiation.cc: New.
1738         * testsuite/23_containers/set/explicit_instantiation.cc: New.
1739         * testsuite/23_containers/multimap/explicit_instantiation.cc: New.
1740         * testsuite/23_containers/multiset/explicit_instantiation.cc: New.
1741         * testsuite/ext/hash_set_explicit_instantiation.cc: New.
1742         * testsuite/ext/slist_explicit_instantiation.cc: New.
1743
1744 2004-07-30  Paolo Carlini  <pcarlini@suse.de>
1745
1746         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1747         num_get<>::_M_extract_int): In the main parsing loop delay the
1748         life of __q to the actual use point.
1749
1750 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
1751
1752         PR libstdc++/14220
1753         * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
1754         Don't clip the precision passed down to __convert_from_v:
1755         22.2.2.2.2 nowhere says so.
1756         * testsuite/22_locale/num_put/put/char/14220.cc: New.
1757         * testsuite/22_locale/num_put/put/wchar_t/14220.c: Likewise.
1758
1759 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
1760
1761         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 31.
1762
1763 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
1764             Petur Runolfsson  <peturr02@ru.is>
1765
1766         PR libstdc++/12658 (continued)
1767         * src/locale_init.cc (locale::locale, locale::global): Use
1768         a single locale_mutex instead of two separate mutexes.
1769
1770 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
1771
1772         PR libstdc++/16813
1773         * include/debug/map.h (insert(_InputIterator, _InputIterator)):
1774         Fix typo.
1775         * testsuite/23_containers/map/insert/16813.cc: New.
1776
1777 2004-07-29  Phil Edwards  <phil@codesourcery.com>
1778
1779         * docs/html/faq/index.html:  Update version references.  Make
1780         clear that code from SGI has diverged greatly.  Remove references
1781         to library snapshots and what's-new sections.
1782         * docs/html/faq/index.txt:  Regenerate.
1783
1784 2004-07-28  Matt Austern  <austern@apple.com>
1785
1786         * include/bits/stl_construct.h (_Destroy): New three-argument
1787         overload that takes an allocator argument.  Another inline
1788         three-argument overload that takes std::allocator and dispatches
1789         to the two-argument version.
1790         * include/bits/stl_uninitialized.h (__uninitialized_fill_n_aux):
1791         Change return type to void to match uninitialized_fill_n.
1792         (__uninitialized_copy_a_): New function.  Like uninitialized_copy
1793         except that it takes an allocator and uses it for construct and
1794         destroy.  If the allocator is std::allocator, dispatches to
1795         uninitialized_copy.
1796         (__uninitialized_fill_a): Likewise.
1797         (__uninitialized_fill_n_a): Likewise.
1798         (__uninitialized_copy_copy): Give it an allocator argument.
1799         (__uninitialized_fill_copy): Likewise.
1800         (__uninitialized_copy_fill): Likewise.
1801         * include/bits/deque.tcc: Use new forms defined in stl_construct.h
1802         and stl_uninitialized.h.  Replace use of single-argument _Construct
1803         and _Destroy with use of allocator's construct and destroy methods.
1804         * include/bits/list.tcc: Likewise.
1805         * include/bits/stl_deque.h: Likewise.
1806         * include/bits/stl_list.h: Likewise.
1807         * include/bits/stl_tree.h: Likewise.
1808         * include/bits/stl_vector.h: Likewise.
1809         * include/bits/vector.tcc: Likewise.
1810         * include/ext/hashtable.h: Use rebind so that allocator_type
1811         has correct type for a container's allocator.  Replace use of
1812         single-argument _Construct and _Destroy with use of allocator's
1813         construct and destroy methods.
1814         * include/ext/memory (__uninitialized_copy_n_a): New function.
1815         Like uninitialized_copy_n except that it takes an extra parameter,
1816         an allocator, and uses it for construct and destroy operations.
1817         * include/ext/rope: Use new forms defined in stl_construct.h,
1818         stl_uninitialized.h, and ext/memory.  Replace use of single-argument
1819         _Construct and _Destroy with allocator construct and destroy methods.
1820         * include/ext/ropeimpl.h: Likewise.
1821         * include/ext/slist.h: Likewise.
1822         * testsuite/testsuite_allocator.h (check_construct_destroy): New.
1823         * testsuite/testsuite_allocator.cc (check_construct_destroy): New.
1824         * testsuite/23_containers/deque/check_construct_destroy.cc: New.
1825         * testsuite/23_containers/list/check_construct_destroy.cc: New.
1826         * testsuite/23_containers/set/check_construct_destroy.cc: New.
1827         * testsuite/23_containers/vector/check_construct_destroy.cc: New.
1828         * testsuite/ext/hash_check_construct_destroy.cc: New.
1829         * testsuite/ext/slist_check_construct_destroy.cc: New.
1830
1831 2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
1832
1833         2003-10-01  Eric Christopher  <echristo@redhat.com>
1834         * config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
1835         constraint.
1836         2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
1837         * config/cpu/sh/atomicity.h: New.  Use movli and movco on SH4a.
1838
1839 2004-07-23  Benjamin Kosnik  <bkoz@redhat.com>
1840
1841         PR libstdc++/16678
1842         * include/bits/locale_facets.tcc: Fix for -Werror.
1843
1844 2004-07-23  Jonathan Wakely  <redi@gcc.gnu.org>
1845
1846         * docs/html/debug.html: Say debug mode only available since 3.4.0.
1847
1848 2004-07-21  Benjamin Kosnik  <bkoz@redhat.com>
1849
1850         * docs/doxygen/mainpage.html: Clarify links.
1851         * docs/doxygen/stdheader.cc: Add files.
1852         * docs/doxygen/style.css: Remove bolds, add h2, h3 styles.
1853         * docs/doxygen/user.cfg.in: New options, wrap.
1854
1855 2004-07-20  Danny Smith  <dannysmith@users.sourceforge.net>
1856
1857         * include/c_std/std_cwchar.h (wcsstr): Correct signature.
1858
1859 2004-07-19  Benjamin Kosnik  <bkoz@redhat.com>
1860
1861         PR libstdc++/15488
1862         * testsuite/lib/libstdc++.exp (v3-copy-files): Revert.
1863
1864 2004-07-17  Richard Sandiford  <rsandifo@redhat.com>
1865
1866         PR bootstrap/16469
1867         * scripts/create_testsuite_files: Pass -print to find.
1868
1869 2004-07-15  Paolo Carlini  <pcarlini@suse.de>
1870
1871         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 30.
1872         * docs/html/ext/howto.html: Tweak entries for DRs 167/253/389/402.
1873
1874 2004-07-15  Jakub Jelinek  <jakub@redhat.com>
1875
1876         PR libstdc++/14697
1877         * acinclude.m4 (glibcxx_shared_libgcc): Correct
1878         glibcxx_shared_libgcc test for multilibs.
1879         * configure: Rebuilt.
1880
1881 2004-07-14  Paolo Carlini  <pcarlini@suse.de>
1882
1883         PR libstdc++/16505
1884         * include/bits/stl_uninitialized.h (uninitialized_fill_n): Fix
1885         the signature to return void, as per 20.4.4.3.
1886         * include/bits/stl_vector.h (vector::vector(size_type,
1887         const value_type&, const allocator_type&), vector::vector(size_type),
1888         vector::_M_initialize_dispatch): Adjust callers.
1889         * include/bits/vector.tcc (vector<>::_M_fill_assign,
1890         vector<>::_M_fill_insert): Likewise.
1891         * testsuite/20_util/memory/16505.cc: New.
1892
1893 2004-07-14  Paolo Carlini  <pcarlini@suse.de>
1894
1895         * testsuite/22_locale/locale/cons/12658_thread-1.cc,
1896         12658_thread-2.cc: Use __gnu_test::try_named_locale.
1897
1898 2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
1899
1900         * docs/html/ext/mt_allocator.html: Add docs for _Tune.
1901         * include/ext/mt_allocator.h (__mt_alloc::_S_get_options): Make public.
1902         (__mt_alloc::_S_set_options): Same.
1903         Add to comments.
1904
1905 2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
1906
1907         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add allocator defaults
1908         for linux.
1909         * configure: Regenerated.
1910
1911 2004-07-13  Paolo Carlini  <pcarlini@suse.de>
1912
1913         * testsuite/22_locale/locale/cons/12658_thread.cc: Move/rename
1914         to 12658_thread-1.cc and xfail.
1915         * testsuite/22_locale/locale/cons/12658_thread-2.c: New, much
1916         simpler version of 12658_thread-1.cc, still failing on 3_3 and
1917         not failing on 3_4/mainline - both on single processor and
1918         multiprocessor machines.
1919
1920 2004-07-12  Benjamin Kosnik  <bkoz@redhat.com>
1921
1922         * docs/html/abi.html: Remove non-public qualification.
1923
1924         * include/bits/concurrence.h: Tweak comments.
1925
1926 2004-07-11  Paolo Carlini  <pcarlini@suse.de>
1927
1928         Add wchar_t counterparts of the basic_streambbuf<char> tests.
1929         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: New.
1930         * testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc, 9322.cc:
1931         Likewise.
1932         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/9701-3.cc: Likewise.
1933         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc, 2.cc,
1934         3599.cc: Likewise.
1935         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
1936         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
1937         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
1938         * testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise.
1939         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc, 1057.cc:
1940         Likewise.
1941         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
1942
1943         * testsuite/27_io/basic_streambuf/imbue/char/1.cc, 9322.cc: Minor
1944         tweaks.
1945         * testsuite/27_io/basic_streambuf/overflow/char/2.cc, 3599.cc:
1946         Likewise.
1947         * testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise.
1948         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
1949
1950 2004-07-11  Phil Edwards  <phil@codesourcery.com>
1951
1952         * acinclude.m4:  Cosmetic shell syntax fixes.
1953         * configure.ac:  Bring comment inline with reality.
1954         * configure.host:  Both of the above.  Move 'arm' case to right
1955         place in host_cpu switch.
1956         * aclocal.m4, configure:  Regenerate.
1957
1958 2004-07-09  Paolo Carlini  <pcarlini@suse.de>
1959
1960         Add wchar_t counterparts of the basic_stringbuf<char> tests.
1961         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc, 9322.cc: New.
1962         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
1963         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc, 2.cc,
1964         3599.cc, 9988.cc: Likewise.
1965         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc, 9825.cc:
1966         Likewise.
1967         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc:
1968         Likewise.
1969         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc, 3.cc:
1970         Likewise.
1971         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc, 2.cc, 3.cc:
1972         Likewise.
1973         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
1974         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
1975         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
1976         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc, 9425.cc:
1977         Likewise.
1978         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc, 1057.cc,
1979         9404-1.cc: Likewise.
1980         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc, 1057.cc,
1981         9404-2.cc: Likewise.
1982         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc, 2.cc, 3.cc,
1983         3955.cc: Likewise.
1984         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
1985         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
1986
1987 2004-07-08  Paolo Carlini  <pcarlini@suse.de>
1988
1989         * include/bits/gslice.h: Trivial formatting fixes.
1990         * include/bits/gslice_array.h: Likewise.
1991         * include/bits/indirect_array.h: Likewise.
1992         * include/bits/mask_array.h: Likewise.
1993         * include/bits/slice_array.h: Likewise.
1994         * include/bits/valarray_after.h: Likewise.
1995         * include/bits/valarray_array.h: Likewise.
1996         * include/bits/valarray_before.h: Likewise.
1997         * include/std/std_valarray.h: Likewise.
1998
1999 2004-07-08  Benjamin Kosnik  <bkoz@redhat.com>
2000
2001         PR c++/16169
2002         * include/bits/basic_string.h (basic_string::operator=): Revert.
2003
2004 2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
2005
2006         * configure.ac (libtool_VERSION): To 6:2:0.
2007         * configure: Regenerated.
2008
2009         * testsuite/testsuite_abi.cc (check_version): Add 3.4.2.
2010
2011 2004-07-07  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
2012
2013         PR libstdc++/16411
2014         * config/linker-map.gnu: Add stdio_sync_filebuf::file exports.
2015
2016 2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
2017
2018         * docs/html/abi.html: Updates for 3.4.1 release. Add summary of
2019         -Weffc++ issues.
2020
2021 2004-07-07  Paolo Carlini  <pcarlini@suse.de>
2022
2023         PR libstdc++/16401
2024         * include/bits/sstream.tcc (overflow): When reallocating _M_string
2025         use an exponential grow policy.
2026         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: New.
2027         * testsuite/performance/27_io/stringbuf_overflow.cc: New.
2028
2029 2004-07-06  Anssi Hannula  <anssi.hannula@mbnet.fi>
2030
2031         PR libstdc++/15928
2032         * crossconfig.m4: Add in bits for djgpp.
2033         * configure: Regenerate.
2034
2035 2004-07-05  Jonathan Wakely  <redi@gcc.gnu.org>
2036
2037         * testsuite/23_containers/{set,multiset}/14340.cc: Fix typos in
2038         instantiation of set and multiset (functor param given as int).
2039
2040 2004-07-04  Paolo Carlini  <pcarlini@suse.de>
2041
2042         * include/bits/basic_string.h: Trivial formatting fixes and/or
2043         const-ification of some variables.
2044         * include/bits/deque.tcc: Likewise.
2045         * include/bits/stl_algobase.h: Likewise.
2046         * include/bits/stl_bvector.h: Likewise.
2047         * include/bits/stl_construct.h: Likewise.
2048         * include/bits/stl_deque.h: Likewise.
2049         * include/bits/stl_pair.h: Likewise.
2050         * include/bits/stl_vector.h: Likewise.
2051         * include/bits/vector.tcc: Likewise.
2052
2053 2004-07-04  Paolo Carlini  <pcarlini@suse.de>
2054
2055         * testsuite/25_algorithms/copy/1.cc: Add instantiations for
2056         systems with no COMDAT or weak support.
2057         * testsuite/25_algorithms/copy/2.cc: Likewise.
2058         * testsuite/25_algorithms/copy/3.cc: Likewise.
2059         * testsuite/25_algorithms/copy/4.cc: Likewise.
2060
2061 2004-07-03  Paul Brook  <paul@codesourcery.com>
2062
2063         * configure.ac: Set ABI_TWEAKS_SRCDIR.
2064         * configure.host: Set abi_tweaks_dir.  Check for atomicity.h when
2065         setting atomicity_dir.  Override type_cpu for arm based targets.
2066         * include/Makefile.am (host_headers): Add cxxabi_tweaks.h.
2067         * libsupc++/cxxabi.h: Include bits/cxxabi.h. Don't declare __guard.
2068         * libsupc++/guard.cc: Use definitions from cxxabi_tweaks.h.
2069         * libsupc++/vec.cc: Ditto.
2070         * config/cpu/arm/cxxabi_tweaks.h: New file.
2071         * config/cpu/generic/cxxabi_tweaks.h: New file.
2072         * */Makefile.in: Regenerate.
2073         * configure: Regenerate.
2074
2075 2004-07-02  Paolo Carlini  <pcarlini@suse.de>
2076
2077         * include/bits/type_traits.h (_Is_normal_iterator): Move...
2078         * include/bits/cpp_type_traits.h: ... here, renamed to
2079         __is_normal_iterator and consistent with the other traits.
2080         * include/bits/stl_algobase.h (__copy_ni1, __copy_ni2): Convert
2081         to the struct __copy_normal and three specializations.
2082         (__copy_backward_output_normal_iterator,
2083         __copy_backward_input_normal_iterator): Likewise, convert to
2084         the struct __copy_backward_normal and three specializations.
2085         (copy, copy_backward): Use the latter.
2086         (__copy_aux, __copy_backward_aux): Very minor tweaks.
2087
2088 2004-07-01  Paolo Carlini  <pcarlini@suse.de>
2089
2090         * include/bits/stl_algobase.h (__copy_trivial): Remove.
2091         (__copy_aux2): Rewrite as __copy_aux to use __is_pointer,
2092         __is_trivially_copyable, __are_same and __copy::copy.
2093         (__copy): Rewrite as a class template and two specializations.
2094         (__copy_ni2): Simplify, just call __copy_aux.
2095
2096         * include/bits/stl_algobase.h (__copy_backward_aux): Add __are_same
2097         check.
2098         * testsuite/25_algorithms/copy/1.cc, 2.cc, 3.cc, 4.cc: Test also
2099         for destination value type != source value type.
2100
2101 2004-07-01  Benjamin Kosnik  <bkoz@redhat.com>
2102             Per Bothner  <per@bothner.com>
2103             Mohan Embar  <gnustuff@thisiscool.com>
2104
2105         PR libstdc++/16248
2106         * include/bits/concurrence.h (__glibcxx_mutex_type): New.
2107         (__glibcxx_mutex): Encapsulate mutex init function into type for
2108         threaded configurations without __GTHREAD_MUTEX_INIT.
2109         (lock::lock): Make device member a reference.
2110         (lock::~lock): Same.
2111         * include/ext/pool_allocator.h (__pool_base::_M_get_mutex): Change
2112         to mutex_type.
2113         * src/allocator.cc: Same.
2114
2115 2004-06-30  Brad Spencer  <spencer@infointeractive.com>
2116
2117         * include/ext/mt_allocator.h: Handle allocations at static
2118         initialization that happen before _S_options is (automatically)
2119         constructed; set _S_init even if _M_force_new is true.
2120
2121 2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
2122
2123         * config/linker-map.gnu: Revert new exports.
2124
2125 2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
2126             Stuart Anderson  <anderson@netsweng.com>
2127
2128         * config/linker-map.gnu: Add destructor exports for abstract base
2129         classes to conform to LSB.
2130
2131 2004-06-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2132             Paolo Carlini  <pcarlini@suse.de>
2133
2134         * include/bits/cpp_type_traits.h: Add __is_pointer and
2135         __is_trivially_copyable.
2136         * include/bits/stl_algobase.h (fill, fill_n): Slightly
2137         tweak to use the latter.
2138         (__copy_backward_dispatch): Remove.
2139         (__copy_backward_aux): Rewrite to use __is_pointer and
2140         __is_trivially_copyable and __copy_backward::copy_b.
2141         (__copy_backward): Rewrite as a class template and two
2142         specializations.
2143
2144 2004-06-30  Paolo Carlini  <pcarlini@suse.de>
2145
2146         * testsuite/25_algorithms/copy.cc: Move to...
2147         * testsuite/25_algorithms/copy/1.cc: ... here, extend.
2148         * testsuite/25_algorithms/copy/2.cc: New.
2149         * testsuite/25_algorithms/copy/3.cc: New.
2150         * testsuite/25_algorithms/copy/4.cc: New.
2151
2152 2004-06-29  Paul Brook  <paul@codesourcery.com>
2153
2154         * libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the
2155         element size in the cookie.
2156
2157 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
2158
2159         * include/bits/cpp_type_traits.h: Move the additions to
2160         namespace __gnu_internal outside of namespace std; trivial
2161         formatting fixes.
2162
2163 2004-06-28  Benjamin Kosnik  <bkoz@redhat.com>
2164
2165         * include/debug/safe_base.h (__gnu_debug::_Safe_sequence_base):
2166         Revert -Weffc++ changes that defined copy ctory and or assignment
2167         operator.
2168         * libsupc++/tinfo.cc (__upcast_result): Same.
2169
2170 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
2171
2172         * src/localename.cc (locale::_Impl::_Impl): Slightly improve
2173         the algorithm used to name the categories.
2174
2175 2004-06-28  Paolo Bonzini  <bonzini@gnu.org>
2176
2177         * include/Makefile.am: Give a .gch extension to
2178         the PCH files, not only to the directory.
2179         * include/Makefile.in: Regenerate.
2180
2181 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
2182
2183         * config/locale/gnu/monetary_members.cc
2184         (moneypunct<wchar_t>::_M_initialize_moneypunct): Clean up
2185         assignments of _M_decimal_point and _M_thousands_sep.
2186
2187 2004-06-27  Paolo Carlini  <pcarlini@suse.de>
2188
2189         * docs/html/17_intro/contribute.html: Update some links.
2190         * docs/html/17_intro/porting-howto.html: Likewise.
2191         * docs/html/17_intro/porting-howto.xml: Likewise.
2192         * docs/html/18_support/howto.html: Likewise.
2193         * docs/html/21_strings/howto.html: Likewise.
2194         * docs/html/27_io/howto.html: Likewise.
2195         * docs/html/configopts.html: Likewise.
2196         * docs/html/ext/howto.html: Likewise.
2197         * docs/html/faq/index.html: Likewise.
2198         * docs/html/install.html: Don't mention 2.x compilers.
2199
2200 2004-06-27  Paolo Carlini  <pcarlini@suse.de>
2201
2202         * include/ext/rope: Trivial formatting fixes.
2203         * include/ext/ropeimpl.h: Likewise.
2204
2205 2004-06-26  Paolo Carlini  <pcarlini@suse.de>
2206
2207         PR libstdc++/16210
2208         * acinclude.m4 (GLIBCXX_ENABLE_LONG_LONG): Do not check for the
2209         availability of strto(u)ll, not used anymore in the iostreams.
2210         * configure: Regenerate.
2211
2212 2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
2213
2214         PR libstdc++/16182
2215         * linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Revert to
2216         AC_DEFINE_UNQUOTED.
2217         * configure: Regenerate.
2218
2219 2004-06-25  Paul Brook  <paul@codesourcery.com>
2220
2221         * libsupc++/cxxabi.h: Define __ARM_EABI__
2222         (__guard): Use it.
2223         * libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto.
2224
2225 2004-06-25  Paul Brook  <paul@codesourcery.com>
2226
2227         * include/bits/concurrence.h: Still create mutex object when
2228         single-threaded.
2229
2230 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2231
2232         * include/bits/stl_algobase.h (fill, fill_n): Revert last
2233         change: actually we need to copy construct an object of type
2234         _Tp, not of type iterator_traits<>::value_type, therefore the
2235         code is ok.
2236
2237 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2238
2239         * include/bits/stl_algobase.h (fill, fill_n): Tighten the
2240         dispatch: use iterator_traits<>::value_type, not _Tp.
2241
2242 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2243
2244         * testsuite/25_algorithms/fill/1.cc: Tweak instantiations.
2245         * testsuite/25_algorithms/fill/2.cc: Likewise.
2246
2247 2004-06-25  Dan Nicolaescu  <dann@ics.uci.edu>
2248             Paolo Carlini  <pcarlini@suse.de>
2249
2250         * include/bits/stl_algobase.h (__fill, __fill_n): New helpers
2251         for fill and fill_n, respectively: when copying is cheap, use a
2252         temporary to avoid a memory read in each iteration.
2253
2254 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2255
2256         * testsuite/25_algorithms/fill/1.cc: New.
2257         * testsuite/25_algorithms/fill/2.cc: Likewise.
2258
2259 2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
2260
2261         * include/debug/formatter.h (__gnu_debug::_Error_formatter):
2262         Remove copy constructor and assignment operator.
2263
2264 2004-06-24  Benjamin Kosnik  <bkoz@redhat.com>
2265
2266         * include/bits/concurrence.h (__gnu_cxx::lock): New.
2267         * include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
2268         (__pool_base::_M_get_mutex): New.
2269         * include/bits/allocator.h: Tweak.
2270         * src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
2271         * config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
2272         * include/bits/stl_threads.h: Remove.
2273         * include/Makefile.am: Also here.
2274         * include/Makefile.in: Regenerate.
2275
2276         * src/locale_init.cc: Use __gnu_cxx::lock.
2277
2278         * src/allocator.cc: Move all instantiations...
2279         * src/allocator-inst.cc: ...here.
2280
2281 2004-06-23  Andrew Pinski  <apinski@apple.com>
2282
2283         * linkage.m4: Remove check for libmx.
2284         * configure: Regenerate.
2285
2286 2004-06-23  Paolo Carlini  <pcarlini@suse.de>
2287
2288         PR libstdc++/16154
2289         * include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
2290         Don't require the _DefaultConstructibleConcept.
2291         (struct _ForwardIteratorConcept): Require it here.
2292
2293 2004-06-22  Alexandre Oliva  <aoliva@redhat.com>
2294
2295         * include/bits/istream.tcc (getline): Make sure arguments passed
2296         to min/max have the same type.
2297         * include/bits/locale_facets.tcc (__verify_grouping): Likewise.
2298         * include/bits/stl_deque.h (_Deque_base::_Deque_base): Likewise.
2299
2300 2004-06-22  Benjamin Kosnik  <bkoz@redhat.com>
2301
2302         * docs/html/abi.html: Update links.
2303
2304 2004-06-22  Paolo Carlini  <pcarlini@suse.de>
2305
2306         * testsuite/26_numerics/complex_inserters_extractors.cc,
2307         complex_value.cc, buggy_complex.cc: Move to...
2308         * testsuite/26_numerics/complex/: ... here.
2309         * testsuite/26_numerics/c99_classification_macros_c++.cc,
2310         c99_classification_macros_c.cc, c_math.cc, c_math_dynamic.cc,
2311         fabs_inline.cc: Move to...
2312         * testsuite/26_numerics/cmath/: ... here.
2313         * testsuite/26_numerics/binary_closure.cc, slice.cc,
2314         slice_array_assignment.cc, valarray.cc, valarray_const_bracket.cc,
2315         valarray_name_lookup.cc, valarray_operators.cc,
2316         valarray_subset_assignment.cc: Move to...
2317         * testsuite/26_numerics/valarray/: ... here (new dir).
2318         * testsuite/26_numerics/sum_diff.cc: Move to...
2319         * testsuite/26_numerics/numeric/: ... here (new dir).
2320
2321 2004-06-22  Paolo Carlini  <pcarlini@suse.de>
2322
2323         * include/std/std_istream.h (ignore(streamsize __n = 1,
2324         int_type __delim = traits_type::eof())): Split into...
2325         (ignore(), ignore(streamsize __n), ignore(streamsize __n,
2326         int_type __delim)): The first two can be much more simpler
2327         and efficient than the fully general case; also, the last
2328         two can take advantage of the same mechanism already used
2329         for getline.
2330         * include/bits/istream.tcc (ignore(streamsize __n = 1,
2331         int_type __delim = traits_type::eof()): Remove.
2332         (ignore(), ignore(streamsize __n), ignore(streamsize __n,
2333         int_type __delim)): New.
2334
2335 2004-06-21  Loren J. Rittle  <ljrittle@acm.org>
2336
2337         * config/linker-map.gnu: Use wildcards for
2338         __basic_file::sys_open(FILE*, _Ios_Openmode).
2339
2340 2004-06-20  Paolo Carlini  <pcarlini@suse.de>
2341
2342         * testsuite/27_io/basic_istream/ignore/char/3.cc: New.
2343
2344 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
2345
2346         * include/ext/mt_allocator (__mt_alloc<>::_Tune): Add _M_align,
2347         the alignment requested.
2348         (__mt_alloc<>::_Tune::_Tune): Tweak consistently.
2349         (__mt_alloc<>::allocate): Use it instead of sizeof(_Block_record).
2350         (__mt_alloc<>::deallocate): Likewise.
2351
2352 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
2353
2354         PR libstdc++/16020
2355         * include/debug/safe_base.h
2356         (_Safe_sequence_base::_Safe_sequence_base(const _Safe_sequence_base&),
2357         _Safe_sequence_base::operator=): Provide definitions.
2358         * testsuite/23_containers/bitset/cons/16020.cc: New.
2359
2360 2004-06-18  Benjamin Kosnik  <bkoz@redhat.com>
2361
2362         * include/ext/pool_allocator.h: Qualify __throw_bad_alloc.
2363         (__pool_base): Remove unused template parameter.  Add
2364         protected. Move lock data into __pool_base::_Lock. Remove static
2365         on member functions.
2366         (__pool_base::_M_get_free_list): New.
2367         (__pool_alloc): Move _S_force new here.
2368         * src/allocator.cc: Move out of line __pool_base definitions here.
2369         * config/linker-map.gnu: Export bits from __pool_base.
2370
2371 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
2372
2373         * config/locale/gnu/numeric_members.cc
2374         (numpunct<wchar_t>::_M_initialize_numpunct): Clean up
2375         assignments of _M_decimal_point and _M_thousands_sep.
2376         * config/locale/gnu/time_members.cc
2377         (__timepunct<wchar_t>::_M_initialize_timepunct): Clean up
2378         and reformat assignments of date and time fields.
2379
2380 2004-06-16  Paolo Carlini  <pcarlini@suse.de>
2381
2382         * include/ext/rope (rope(_CharT, const allocator_type&)): Fix
2383         to use _Data_allocate.
2384         * include/ext/ropeimpl.h (rope<>::_S_leaf_concat_char_iter): Likewise.
2385         (rope<>::_S_substring): Likewise.
2386         (rope<>::rope(size_t, _CharT, const allocator_type&)): Likewise.
2387         (rope<>::c_str()): Likewise.
2388         (rope<>::replace_with_c_str()): Likewise.
2389
2390         * include/ext/ropeimpl.h (_Rope_iterator_base<>::_S_setbuf):
2391         Correctly qualify _S_leaf, _S_function, etc., with _Rope_constants::,
2392         not _RopeRep.
2393         (_Rope_iterator_base<>::_S_setcache): Likewise.
2394         (_Rope_iterator_base<>::_S_setcache_for_incr): Likewise.
2395         (rope<>::_S_substring): Likewise.
2396         (rope<>::_S_dump): Likewise.
2397         (rope<>::_S_fetch_ptr): Likewise.
2398         (rope<>::_S_compare): Likewise.
2399         (rope<>::replace_with_c_str()): Likewise.
2400
2401         * testsuite/ext/rope.cc: Rename to testsuite/ext/rope/1.cc.
2402         * testsuite/ext/rope/2.cc: New.
2403
2404 2004-06-16  Paolo Carlini  <pcarlini@suse.de>
2405             Matt Austern  <austern@apple.com>
2406
2407         * testsuite/ext/rope/3.cc: New.
2408
2409 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
2410
2411         * acinclude.m4: Remove useless multilib configury.
2412         * Makefile.am: Remove useless multilib rules.
2413         * aclocal.m4: Regenerate.
2414         * Makefile.in: Regenerate.
2415         * configure: Regenerate.
2416
2417 2004-06-15  Paolo Carlini  <pcarlini@suse.de>
2418
2419         * include/ext/hashtable.h: Trivial formatting fixes.
2420         * include/ext/rb_tree: Likewise.
2421
2422 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
2423
2424         * include/ext/hash_map: Trivial formatting fixes.
2425         * include/ext/hash_set: Likewise.
2426         * include/ext/memory: Likewise.
2427         * include/ext/numeric: Likewise.
2428
2429 2004-06-14  Benjamin Kosnik  <bkoz@redhat.com>
2430
2431         * Makefile.in: Regenerate with automake 1.8.5.
2432         * aclocal.m4: Same.
2433         * include/Makefile.in: Same.
2434         * libmath/Makefile.in: Same.
2435         * libsupc++/Makefile.in: Same.
2436         * po/Makefile.in: Same.
2437         * src/Makefile.in: Same.
2438         * testsuite/Makefile.in: Same.
2439
2440 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
2441
2442         * include/ext/slist: Trivial formatting fixes.
2443
2444 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
2445
2446         * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
2447         Don't use the 'magic number' 10 in the computation of __minlen;
2448         never access __name past __minlen; in the loop over __i3, don't
2449         decrease __nmatches and increase __i3 at once, only either of
2450         the two; tidy.
2451
2452 2004-06-13  Paolo Carlini  <pcarlini@suse.de>
2453
2454         * include/bits/locale_facets.tcc (time_get<>::do_get_time,
2455         time_get<>::do_get_date): Use only once _M_extract_via_format,
2456         instead of going through "%X"/"%x" and calling it two times
2457         (+ using widen).
2458
2459 2004-06-12  Paolo Carlini  <pcarlini@suse.de>
2460
2461         * include/ext/algorithm: Trivial formatting fixes.
2462         * include/ext/functional: Likewise.
2463         * include/ext/hash_fun.h: Likewise.
2464         * include/ext/iterator: Likewise.
2465
2466 2004-06-12  Paolo Carlini  <pcarlini@suse.de>
2467
2468         * include/bits/basic_string.tcc (find(const _CharT*, size_type,
2469         size_type)): Reimplement using std::search.
2470         * src/string-inst.cc: Instantiate std::search for char/wchar_t.
2471
2472 2004-06-12  Dhruv Matani  <dhruvbird@gmx.net>
2473
2474         * testsuite/performance/21_strings/string_find.cc: New.
2475
2476 2004-06-10  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
2477
2478         * include/bits/istream.tcc (istream::ignore): Fix for -Wuninitialized.
2479
2480 2004-06-10  Jan van Dijk  <jan@etpmod.phys.tue.nl>
2481
2482         * include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
2483         this function return a value.
2484
2485 2004-06-09  Paolo Carlini  <pcarlini@suse.de>
2486
2487         PR libstdc++/15775
2488         * include/bits/stl_deque.h: Consistently with stl_set.h, define
2489         pointer as allocator's pointer, likewise for reference,
2490         const_pointer, and const_reference.
2491         * include/bits/stl_list.h: Likewise.
2492         * include/bits/stl_map.h: Likewise.
2493         * include/bits/stl_multimap.h: Likewise.
2494         * include/bits/stl_vector.h: Likewise.
2495
2496 2004-06-09  Benjamin Kosnik  <bkoz@redhat.com>
2497
2498         * crossconfig.m4: Remove signbit, signbitf, signbitl.
2499         * linkage.m4: Comment LIBMATHOBJS, tweak others.  AC_DEFINES for
2500         builtin math functions instead of AC_DEFINE_UNQUOTED.
2501         * configure: Regenerate.
2502
2503 2004-06-08  Benjamin Kosnik  <bkoz@redhat.com>
2504
2505         * docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
2506         * docs/doxygen/mainpage.html: Remove links.
2507
2508 2004-06-08  Jason Merrill  <jason@redhat.com>
2509
2510         * config/linker-map.gnu: Use wildcards for
2511         __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
2512
2513 2004-06-08  Paolo Carlini  <pcarlini@suse.de>
2514
2515         * include/ext/pool_allocator.h: Convert to a global free-list,
2516         as per the original SGI/HP design: move the implementation
2517         details to struct __pool_base, from which __pool_alloc derives.
2518         * src/allocator.cc: Instantiate __pool_base.
2519
2520 2004-06-07  Dhruv Matani  <dhruvbird@gmx.net>
2521             Paolo Carlini  <pcarlini@suse.de>
2522
2523         * testsuite/testsuite_performance.h
2524         (resource_counter::allocated_memory): Make it return the right
2525         number of bytes requested by the allocators/application. This is
2526         the sbrk+mmaped memory.
2527
2528 2004-06-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2529
2530         * include/std/std_complex.h (log): Tidy.
2531
2532 2004-05-31  Benjamin Kosnik  <bkoz@redhat.com>
2533
2534         * config/linker-map.gnu (GLIBCXX_3.4.1): Add.
2535         * testsuite/testsuite_abi.cc: Same.
2536         * configure.ac (libtool_VERSION): Bump to 6:1:0.
2537         * configure: Regenerate.
2538         * aclocal.m4: Regenerate.
2539
2540 2004-05-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2541
2542         * include/std/std_complex.h (complex<_Tp>): Properly indent
2543         to follow C++STYLE.
2544         (complex<>::__rep): New.
2545         (__complex_abs): New.  Dispatch to built-ins.
2546         (abs): Use them.
2547         (__complex_arg): New. Dispatch to built-ins.
2548         (arg): Use it.
2549         (__complex_cos): New. Dispatch to built-ins.
2550         (cos): Use it.
2551         (__complex_cosh): New. Dispatch to built-ins.
2552         (cosh): Use it.
2553         (__complex_exp): New. Dispatch to built-ins.
2554         (exp): Use it.
2555         (__complex_log): New. Dispatch to built-ins.
2556         (log): Use it.
2557         (__complex_sin): New. Dispatch to built-ins.
2558         (sin): Use it.
2559         (__complex_sinh): New. Dispatch to built-ins.
2560         (sinh): Use it.
2561         (__complex_sqrt): New. Dispatch to built-ins.
2562         (sqrt): Use it.
2563         (__complex_tan): New. Dispatch to built-ins.
2564         (tan): Use it.
2565         (__complex_tanh): New. Dispatch to built-ins.
2566         (tanh): Use it.
2567         (__complex_pow): New. Dispatch to built-ins.
2568         (pow): Use it.
2569
2570 2004-05-29  Richard B. Kreckel  <Richard.Kreckel@Framatome-ANP.com>
2571             Benjamin Kosnik  <bkoz@redhat.com>
2572
2573         PR libstdc++/14600
2574         * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
2575         * include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
2576         * config/io/basic_file_stdio.cc (__basic_file::file): New.
2577         * config/io/basic_file_stdio.h: Define.
2578
2579 2004-05-27  Benjamin Kosnik  <bkoz@redhat.com>
2580
2581         PR libstdc++/15675
2582         * docs/html/documentation.html: Update doxygen links for 3.4.0.
2583
2584 2004-05-27  Jan Beulich  <jbeulich@novell.com>
2585
2586         * scripts/create_testsuite_files: Tweak.
2587
2588 2004-05-25  Benjamin Kosnik  <bkoz@redhat.com>
2589
2590         PR libstdc++/15489
2591         * scripts/create_testsuite_files: Revert xtype change, add non-GNU
2592         bits to do the same thing.
2593
2594 2004-05-24  Paolo Carlini  <pcarlini@suse.de>
2595
2596         * include/bits/istream.tcc (ignore): Correctly deal with
2597         n == numeric_limits<streamsize>::max().
2598         * testsuite/27_io/basic_istream/ignore/char/2.cc: New.
2599
2600         * include/bits/istream.tcc (basic_istream<>::getline): Prefer
2601         '_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
2602         __n == numeric_limits<>::min().
2603
2604         * include/bits/istream.tcc: Minor tweaks.
2605
2606         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
2607         Tighten.
2608         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
2609         Likewise.
2610         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
2611         Likewise.
2612         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
2613         Likewise.
2614         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
2615
2616 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
2617
2618         PR libstdc++/12854
2619         Fixups for -Weffc++.
2620         * include/bits/basic_string.h (basic_string::operator=): Return
2621         pointer to this instead of result of assign. Although redundant,
2622         this doesn't impact resultant codegen.
2623
2624         * include/bits/locale_facets.h (__numpunct_cache): Declare
2625         assignment opxserator and copy constructor private.
2626         (__timepunct_cache): Same.
2627         (__moneypunct_cache): Same.
2628         (collate): Use member initialization list for _M_c_locale_collate.
2629         * config/locale/gnu/messages_members.h: Same.
2630         * config/locale/gnu/time_members.h (__timepunct): Same.
2631         * src/codecvt.cc: Use member initialization list to initialize
2632         _M_c_locale_codecvt.
2633         * src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
2634         * config/os/gnu-linux/ctype_noninline.h: Same.
2635         * src/locale.cc (_Impl): Same.
2636         * src/locale_init.cc: Same.
2637         * src/localename.cc: Same.
2638
2639         * include/bits/basic_ios.h (basic_ios): Complete member
2640         initialization list.
2641         * include/bits/istream.tcc (basic_istream::sentry): Same.
2642         * include/bits/ostream.tcc (basic_ostream::sentry): Same.
2643         * include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
2644         _M_pback to member initialization list.
2645         * include/std/std_streambuf.h: Same.
2646         * include/std/std_sstream.h: Same, for _M_mode.
2647         * src/ios.cc (ios_base): Same.
2648
2649         * include/ext/rope: Make derived classes match exception
2650
2651          specifications. Add copy constructors and assignment operators.
2652
2653         * include/debug/safe_base.h (_Safe_sequence_base): Declare copy
2654         constructor and assignment operator protected.
2655         (_Safe_iterator_base): Same.
2656         * include/debug/formatter.h (_Error_formatter): Define copy
2657         constructor and assignment operator.
2658
2659         * include/backward/strstream: Declare assignment operator and copy
2660         constructor private.
2661
2662 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
2663
2664         * testsuite/testsuite_hooks.h (func_callback): Declare copy
2665         constructor and assignment operator private.
2666         * testsuite/23_containers/deque/cons/clear_allocator.cc: Match
2667         exception specifications of base class.
2668         * testsuite/23_containers/list/cons/clear_allocator.cc: Same.
2669         * testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
2670         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
2671
2672 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
2673
2674         * libsupc++/cxxabi.h: Remove duplicated and useless public and
2675         private keywords in class declarations. Format. Use
2676         stddef.h. Expose declarations to "C" compilation.
2677         * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
2678         assignment operator.
2679         (__dyncast_result): Same.
2680         * libsupc++/vec.cc (uncatch_exception): Same, use member
2681         initialization list.
2682
2683 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
2684
2685         * testsuite/abi_check.cc: Add unistd.h.
2686
2687 2004-05-22  Paolo Carlini  <pcarlini@suse.de>
2688
2689         PR libstdc++/15565
2690         * include/bits/locale_facets.tcc (__int_to_char(unsigned long),
2691         __int_to_char(unsigned long long)): Showpos is not relevant
2692         for unsigned types.
2693         * testsuite/22_locale/num_put/put/char/15565.cc: New.
2694         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.
2695
2696         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
2697         char.
2698         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
2699         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
2700         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2701         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
2702         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
2703         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
2704
2705 2004-05-21  Matthias Klose  <doko@debian.org>
2706
2707         * docs/doxygen/run_doxygen:  Bump required version.
2708
2709 2004-05-21  Benjamin Kosnik  <bkoz@redhat.com>
2710
2711         * docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
2712         * docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
2713
2714 2004-05-21  Paolo Carlini  <pcarlini@suse.de>
2715
2716         * include/bits/istream.tcc (ignore): Remove redundant line.
2717         (readsome): Tidy, closely following 27.6.1.3, p30.
2718
2719 2004-05-20  Paolo Carlini  <pcarlini@suse.de>
2720
2721         * include/bits/istream.tcc (operator>>(basic_istream<>&,
2722         basic_string<>&)): Use a temporary buffer, thus avoiding
2723         reallocation for common case.
2724         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
2725         New.
2726         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
2727         Likewise.
2728
2729         * include/bits/istream.tcc: Const-ification of a few variables.
2730
2731         * include/bits/ostream.tcc: Trivial formatting fixes and
2732         const-ification of some variables.
2733
2734 2004-05-20  Benjamin Kosnik  <bkoz@redhat.com>
2735
2736         PR libstdc++/15123
2737         PR libstdc++/13928
2738         * docs/doxygen/Intro.3: Remove Allocators.3.
2739         Add new extension headers, extension namespace list.
2740         * docs/doxygen/run_doxygen (problematic): Remove Allocators.3
2741         Rename GLIBCXXSTD names to std::. Rename __gnu_debug to
2742         __gnu_debug::. Remove __policy_ renames.
2743         * docs/doxygen/guide.html: Add dot note.
2744         * docs/doxygen/stdheader.cc: Edit, add files.
2745         * docs/doxygen/user.cfg.in: Regenerate with Doxygen 1.3.7.
2746
2747 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
2748
2749         * include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
2750
2751 2004-05-18  Jan Beulich  <jbeulich@novell.com>
2752
2753         PR libstdc++/15489
2754         * scripts/create_testsuite_files: Also find source files through
2755         symbolic links.
2756
2757 2004-05-18  Jan Beulich  <jbeulich@novell.com>
2758
2759         PR libstdc++/15488
2760         * testsuite/lib/libstdc++.exp: Make test files writable.
2761
2762 2004-05-18  Paolo Carlini  <pcarlini@suse.de>
2763
2764         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
2765         tweaks.
2766
2767 2004-05-18  Dhruv Matani  <dhruvbird@gmx.net>
2768
2769         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Re-write
2770         allocation loop which removes blocks from the global free list
2771         from O(N) to O(1) when the required blocks are <= the number
2772         available.
2773
2774 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
2775
2776         * include/ext/enc_filebuf.h: Move concept-check macro to class scope.
2777
2778 2004-05-17  Benjamin Kosnik  <bkoz@redhat.com>
2779
2780         * testsuite/testsuite_hooks.h (__gnu_test::conversion): New class.
2781         * testsuite/23_containers/deque/14340.cc: New.
2782         * testsuite/23_containers/list/14340.cc: New.
2783         * testsuite/23_containers/map/14340.cc: New.
2784         * testsuite/23_containers/multimap/14340.cc: New.
2785         * testsuite/23_containers/multiset/14340.cc: New.
2786         * testsuite/23_containers/set/14340.cc: New.
2787         * testsuite/23_containers/vector/14340.cc: New.
2788
2789 2004-05-17  Douglas Gregor   <gregod@cs.rpi.edu>
2790
2791         PR libstdc++/14340
2792         * include/debug/safe_iterator.h (_Safe_iterator converting
2793         constructor): Only allow declaration to instantiate when the
2794         incoming _Safe_iterator has exactly the right iterator type.
2795
2796 2004-05-17  Jonathan Wakely  <redi@gcc.gnu.org>
2797
2798         * include/bits/boost_concept_check.h: Fix old attribute syntax.
2799         * testsuite/23_containers/map/modifiers/swap.cc: Define operator<
2800         to pass concept-checks.
2801         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
2802         * testsuite/23_containers/set/modifiers/swap.cc: Same.
2803         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
2804
2805 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
2806
2807         * include/std/std_bitset.h: Minor formatting fixes.
2808
2809 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
2810
2811         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
2812         Consistently update __bin._M_free[0].
2813         (__mt_alloc<>::allocate): When __bin._M_first[0] != NULL use
2814         __bin._M_free[0] to simplify the while loop (i.e., the number
2815         of iterations becomes known at the outset).
2816
2817 2004-05-15  Paolo Carlini  <pcarlini@suse.de>
2818
2819         * include/std/std_bitset.h: Trivial formatting fixes.
2820
2821 2004-05-14  Paolo Carlini  <pcarlini@suse.de>
2822             Ivan Godard  <igodard@pacbell.net>
2823
2824         PR libstdc++/15361
2825         * include/std/std_bitset.h (_Base_bitset<_Nw>::_M_do_find_next): Fix.
2826         * testsuite/23_containers/bitset/ext/15361.cc: New.
2827
2828 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2829
2830         PR libstdc++/15046
2831         * crossconfig.m4: Add C99 math bits for linux crosses.
2832         * configure: Regenerate.
2833
2834 2004-05-13  Simon Marshall <simon.marshall@misys.com>
2835             Benjamin Kosnik  <bkoz@redhat.com>
2836
2837         PR libstdc++/15090
2838         * include/bits/locale_facets.h: Fix for -fno-for-scope.
2839         * include/debug/safe_sequence.h: Same.
2840         * include/debug/safe_iterator.tcc: Same.
2841         * src/debug.cc: Same.
2842         * src/locale.cc: Same.
2843         * src/locale_init.cc: Same.
2844         * src/localename.cc: Same.
2845         * config/locale/gnu/ctype_members.cc: Same.
2846         * config/locale/gnu/numeric_members.cc: Same.
2847         * testsuite/testsuite_abi.cc: Same.
2848         * testsuite/testsuite_hooks.cc: Same.
2849
2850 2004-05-13  Jonathan Wakely  <redi@gcc.gnu.org>
2851
2852         * docs/html/abi.html: Document effect of -fabi-version on value
2853         of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
2854         Fix markup.
2855
2856 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2857
2858         PR libstdc++/15074
2859         * docs/html/faq/index.html: Update docs for libsupc++ usage.
2860
2861 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2862
2863         PR libstdc++/15412
2864         * include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
2865         __gnu_internal.
2866         (_GLIBCXX_mutex_address): Same.
2867         (_GLIBCXX_once): Same.
2868         (_GLIBCXX_mutex_init): Same.
2869         (_GLIBCXX_mutex_address_init): Same.
2870
2871 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2872
2873         * docs/html/abi.html: New.
2874         * docs/html/abi.txt: Remove.
2875         * docs/html/documentation.html: Add link.
2876         * testsuite/Makefile.am: Add files.
2877         * testsuite/Makefile.in: Regenerated.
2878         * testsuite/abi_check.cc: Move and modify code into...
2879         * testsuite/testsuite_abi.cc: Add.
2880         * testsuite/testsuite_abi.h: Add.
2881
2882         * docs/html/17_intro/TODO: Update.
2883         * include/bits/stl_pair.h: Format.
2884
2885 2004-05-06  Matthias Klose  <doko@debian.org>
2886
2887         * include/backward/iterator.h:  Add GPL copyright info,
2888         with exception clause.
2889         * include/bits/boost_concept_check.h: Likewise.
2890         * include
2891         * libsupc++/tinfo.h: Likewise.
2892         * po/string_literals.cc: Likewise.
2893
2894 2004-05-03  Andreas Tobler  <a.tobler@schweiz.ch>
2895
2896         * acinclude.m4: Replace -W with more speaking -Wextra.
2897         * configure: Rebuilt.
2898
2899 2004-05-03  Paolo Carlini  <pcarlini@suse.de>
2900
2901         Optimize locale::_M_impl->_M_names for the most common cases:
2902         !_M_names[0] means unnamed; !_M_names[1] means all the categories
2903         the same name (_M_names[0] && _M_names[1] means that the full set
2904         of _M_names must be processed, the general case).
2905         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
2906         Tweak, saving work when !_M_names[1].
2907         (locale::locale(const locale&, _Facet*): Simplify: now just setting
2908         _M_names[0] = 0 means unnamed.
2909         * src/locale.cc (locale::operator==): Deal first with the common,
2910         easy cases, otherwise fall back to locale::name().
2911         (locale::name()): Tweak, if !_M_names[0] just return "*".
2912         (locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
2913         copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
2914         * src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
2915         * src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
2916         Simplify when !std::strchr, just updating _M_names[0]; clean up.
2917         (locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
2918         for the general case (full set of names), then do the usual work;
2919         clean up.
2920
2921         * src/locale.cc (locale::name()): Reserve space in __ret.
2922         * src/locale_init.cc (locale::global(const locale&)): Save
2923         the name in a temporary.
2924         * src/localename.cc (locale::locale(const char*)): Reserve space
2925         in __str.
2926
2927 2004-04-29  Paolo Carlini  <pcarlini@suse.de>
2928
2929         * src/locale.cc (locale::operator==): Always avoid constructing
2930         locale::name(), directly compare pairs of _M_names.
2931
2932 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
2933
2934         * include/bits/istream.tcc: Fix comment.
2935
2936 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
2937
2938         * include/bits/stl_vector.h: Trivial formatting fixes.
2939         * include/bits/vector.tcc: Likewise.
2940
2941 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
2942
2943         PR libstdc++/15002 (continued again)
2944         * include/bits/istream.tcc (getline(basic_istream<>&,
2945         basic_string<>&, _CharT)): Use a temporary buffer, thus
2946         avoiding reallocation for common case.
2947
2948         * include/bits/basic_string.tcc (_S_construct(_InIterator,
2949         _InIterator, const _Alloc&, input_iterator_tag)): Tweak size
2950         of temporary buffer to a power of two.
2951
2952         * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
2953
2954 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
2955
2956         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
2957         New.
2958         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
2959         Likewise.
2960         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
2961
2962 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
2963             Petur Runolfsson  <peturr02@ru.is>
2964
2965         PR libstdc++/15002 (continued)
2966         * include/bits/istream.tcc (basic_istream<>::getline(char_type*,
2967         streamsize, char_type)): Use traits::find/copy in a loop to speed
2968         up greatly the function in the common case (I/O buffer size >> 1).
2969
2970 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
2971
2972         * testsuite/27_io/basic_istream/getline/char/4.cc: New.
2973
2974         * include/bits/istream.tcc (getline(basic_istream<>&,
2975         basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
2976         of sbumpc(), consistently with the other functions, thus also
2977         dealing correctly with the case of exceeded string::max_size().
2978
2979 2004-04-24  Matthias Klose  <doko@debian.org>
2980
2981         Jonathan Wakely  <cow@compsoc.man.ac.uk>
2982         * docs/html/configopts.html: Fix reference to allocator config option.
2983
2984 2004-04-23  Andrew Pinski  <pinskia@physics.uc.edu>
2985
2986         * linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
2987         * configure: Regenerate.
2988
2989 2004-04-23  Daniel Jacobowitz  <drow@mvista.com>
2990
2991         PR libstdc++/15047, libstdc++/11610
2992         * testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
2993         (libstdc++_init): Don't pass outdir to v3-copy-files.
2994
2995 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
2996
2997         * include/bits/deque.tcc: Trivial formatting fixes.
2998         * include/bits/stl_deque.h: Likewise.
2999         * include/bits/stl_list.h: Likewise.
3000         * include/bits/stl_tree.h: Likewise.
3001
3002 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
3003             Andrew Pinski  <pinskia@physics.uc.edu>
3004
3005         * include/bits/basic_string.tcc (_M_mutate): Don't compute
3006         __src unnecessarily.
3007
3008 2004-04-19  Benjamin Kosnik  <bkoz@redhat.com>
3009
3010         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
3011         Clarify assertion, set test variable to false before assert.
3012         * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
3013         * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
3014         * testsuite/27_io/ios_base/storage/2.cc: Same.
3015
3016         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
3017         function returns.
3018         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
3019         * testsuite/27_io/fpos/14320-3.cc: Same.
3020
3021         * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
3022         * testsuite/27_io/fpos/1.cc: Same.
3023         * testsuite/27_io/basic_stringstream/2.cc: Same.
3024         * testsuite/27_io/basic_stringbuf/4.cc: Same.
3025         * testsuite/27_io/basic_stringbuf/1.cc: Same.
3026         * testsuite/27_io/basic_stringbuf/2.cc: Same.
3027         * testsuite/27_io/basic_streambuf/2.cc: Same.
3028         * testsuite/27_io/basic_ostringstream/2.cc: Same.
3029         * testsuite/27_io/basic_ostream/2.cc: Same.
3030         * testsuite/27_io/basic_ofstream/2.cc: Same.
3031         * testsuite/27_io/basic_istringstream/2.cc: Same.
3032         * testsuite/27_io/basic_istream/2.cc: Same.
3033         * testsuite/27_io/basic_iostream/2.cc: Same.
3034         * testsuite/27_io/basic_ios/2.cc: Same.
3035         * testsuite/27_io/basic_ifstream/2.cc: Same.
3036         * testsuite/27_io/basic_fstream/2.cc: Same.
3037         * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
3038
3039         * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
3040         unsigned against zero.
3041         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
3042         * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
3043
3044         * testsuite/18_support/new_delete_placement.cc: Initialize
3045         variables before first use.
3046         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
3047         * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
3048         * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
3049         * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
3050         Same.
3051         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
3052         * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
3053         Same.
3054         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
3055         * testsuite/27_io/types/2.cc: Same.
3056
3057         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
3058         file name.
3059         * testsuite/27_io/fpos/14775.cc: Same.
3060
3061 2004-04-19  Paolo Carlini  <pcarlini@suse.de>
3062
3063         PR libstdc++/15002 (partial)
3064         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
3065         Special case __n2 == 1, not calling traits_type::assign/copy.
3066
3067 2004-04-17  Benjamin Kosnik  <bkoz@redhat.com>
3068
3069         * include/bits/stl_bvector.h: Use _M_impl._M_start.
3070
3071 2004-04-16  Benjamin Kosnik  <bkoz@redhat.com>
3072
3073         * include/bits/c++config (_GLIBCXX_STD): New.
3074         * src/list.cc: Use it.
3075         * include/std/std_bitset.h: Same.
3076         * include/bits/vector.tcc: Same.
3077         * include/bits/stl_set.h: Same.
3078         * include/bits/stl_multiset.h: Same.
3079         * include/bits/stl_multimap.h: Same.
3080         * include/bits/stl_map.h: Same.
3081         * include/bits/stl_list.h: Same.
3082         * include/bits/stl_vector.h: Same.
3083         * include/bits/stl_bvector.h: Same.
3084         * include/bits/stl_deque.h: Same.
3085         * include/bits/deque.tcc: Same.
3086         * include/bits/list.tcc: Same.
3087         * include/debug/vector: Same.
3088         * include/debug/set.h: Same.
3089         * include/debug/multiset.h: Same.
3090         * include/debug/multimap.h: Same.
3091         * include/debug/map.h: Same.
3092         * include/debug/list: Same.
3093         * include/debug/deque: Same.
3094         * include/debug/bitset: Same.
3095         * include/debug/formatter.h (__gnu_debug): Remove using directive.
3096         Add using declaration for std::type_info.
3097         * include/debug/safe_iterator.h: Add using declaration for
3098         std::iterator_traits and std::pair.
3099         * src/debug_list.cc: New.
3100         * src/Makefile.am: Add debug_list.cc.
3101         * src/Makefile.in: Regenerate.
3102         * config/linker-map.gnu: Add _List_node_base exports for std and
3103         __gnu_norm.
3104
3105         * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
3106         idiom that other containers use.
3107         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
3108
3109 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
3110
3111         PR libstdc++/14975
3112         * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
3113         in case of error.
3114         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
3115         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
3116
3117 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
3118
3119         * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
3120         used anymore.
3121         * config.h.in: Regenerate.
3122
3123 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
3124
3125         * config/locale/generic/monetary_members.cc
3126         (moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
3127         btowc unnecessarily, just cast to wchar_t (the concerned chars
3128         all belong to the basic character set).
3129         * config/locale/generic/numeric_members.cc
3130         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
3131         * config/locale/gnu/monetary_members.cc
3132         (moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
3133         * config/locale/gnu/numeric_members.cc
3134         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
3135
3136 2004-04-15  Paolo Carlini  <pcarlini@suse.de>
3137
3138         * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
3139         avoid constructing unnecessarily this->name().
3140
3141 2004-04-14  Zack Weinberg  <zack@codesourcery.com>
3142
3143         * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
3144         Change definition of CXX to use $(shell) instead of backticks.
3145         * testsuite/Makefile.in: Regenerate.
3146
3147 2004-04-12  Dhruv Matani  <dhruvbird@gmx.net>
3148
3149         * testsuite/performance/20_util/allocator/list_sort_search.cc:
3150         Minor formatting fixes.
3151         * testsuite/performance/20_util/allocator/map_mt_find.cc:
3152         Likewise.
3153
3154 2004-04-12  Paolo Carlini <pcarlini@suse.de>
3155
3156         * config/locale/gnu/numeric_members.cc
3157         (numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
3158         in __uselocale, since btowc is called for chars belonging to
3159         the basic character set.
3160
3161 2004-04-09  Paolo Carlini  <pcarlini@suse.de>
3162
3163         * testsuite/22_locale/messages/members/char/1.cc: Remove junk.
3164         * testsuite/22_locale/messages/members/char/2.cc: Ditto.
3165         * testsuite/22_locale/messages/members/char/3.cc: Ditto.
3166         * testsuite/22_locale/num_get/get/char/1.cc: Ditto.
3167         * testsuite/22_locale/num_get/get/char/2.cc: Ditto.
3168         * testsuite/22_locale/num_get/get/char/3.cc: Ditto.
3169         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
3170         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
3171         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
3172         * testsuite/22_locale/num_put/put/char/1.cc: Ditto.
3173         * testsuite/22_locale/num_put/put/char/2.cc: Ditto.
3174         * testsuite/22_locale/num_put/put/char/3.cc: Ditto.
3175         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
3176         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
3177         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
3178         * testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
3179         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
3180
3181 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
3182
3183         * config/locale/generic/time_members.cc
3184         (__timepunct<char>::_M_initialize_timepunct,
3185         __timepunct<wchar_t>::_M_initialize_timepunct): the correct
3186         _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
3187         * config/locale/gnu/time_members.cc
3188         (__timepunct<char>::_M_initialize_timepunct,
3189         __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
3190         * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
3191         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
3192
3193         * testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
3194         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
3195         * testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
3196         * testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
3197         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
3198         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
3199         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
3200         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
3201         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
3202         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
3203         * testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
3204         * testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
3205         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
3206         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
3207         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
3208         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
3209         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
3210         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
3211         * testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
3212         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
3213         * testsuite/22_locale/time_put/put/char/1.cc: Ditto.
3214         * testsuite/22_locale/time_put/put/char/2.cc: Ditto.
3215         * testsuite/22_locale/time_put/put/char/3.cc: Ditto.
3216         * testsuite/22_locale/time_put/put/char/4.cc: Ditto.
3217         * testsuite/22_locale/time_put/put/char/5.cc: Ditto.
3218         * testsuite/22_locale/time_put/put/char/6.cc: Ditto.
3219         * testsuite/22_locale/time_put/put/char/7.cc: Ditto.
3220         * testsuite/22_locale/time_put/put/char/8.cc: Ditto.
3221         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
3222         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
3223         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
3224         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
3225         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
3226         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
3227         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
3228         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
3229
3230         * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
3231
3232 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
3233
3234         * config/locale/gnu/monetary_members.cc
3235         (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
3236         _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
3237         and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
3238         _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
3239         * config/locale/gnu/numeric_members.cc
3240         (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
3241         and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
3242
3243 2004-04-06  Benjamin Kosnik  <bkoz@redhat.com>
3244
3245         Fixups for EDG front end.
3246         * include/ext/rope: Instead of non-existent function
3247         _Data_allocate, use allocator's allocate. Use this.
3248         (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
3249         enumerations from _Rope_RopeRep here.
3250         * include/ext/ropeimpl.h: Same.
3251         * src/ext-inst.cc (_S_min_len): Fix up definition.
3252
3253         * config/locale/gnu/ctype_members.cc: Qualify base class members
3254         with this.
3255         * config/locale/generic/ctype_members.cc: Same.
3256         * config/locale/gnu/messages_members.h: Same.
3257         * config/locale/generic/messages_members.h: Same.
3258         * src/ctype.cc: Same.
3259         * include/bits/codecvt.h: Same.
3260
3261         * include/bits/boost_concept_check.h: Declare.
3262         (__error_type_must_be_an_unsigned_integer_type): Remove this.
3263         (__error_type_must_be_an_integer_type): Remove this.
3264         (__error_type_must_be_a_signed_integer_type): Remove this.
3265
3266         * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
3267
3268         * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
3269         specification to definition.
3270         (__cxa_allocate_exception): Same.
3271         * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
3272         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
3273         (__cxa_get_globals): Same.
3274
3275         * libsupc++/del_op.cc: Add comment about freestanding.
3276
3277 2004-04-05  Paolo Carlini  <pcarlini@suse.de>
3278
3279         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
3280         The critical section is actually very small, only two assignments.
3281
3282 2004-04-04  Paolo Carlini  <pcarlini@suse.de>
3283             Petur Runolfsson  <peturr02@ru.is>
3284
3285         * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
3286         adapted from libstdc++/11378.
3287
3288 2004-04-03  Paolo Carlini  <pcarlini@suse.de>
3289
3290         * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
3291         some duplicated code.
3292         (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
3293         in the single threaded case.
3294         * testsuite/performance/20_util/allocator/list_sort_search.cc:
3295         Reorder and renumber the tests consistently with the other testfiles.
3296         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
3297         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
3298         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
3299
3300 2004-04-02  Paolo Carlini  <pcarlini@suse.de>
3301
3302         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
3303         Rearrange arithmetic to avoid computing two divisions at
3304         each deallocation.
3305
3306 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
3307
3308         * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
3309         Streamline the second half, wrapping it in a single
3310         '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
3311         conditionals inside loops.
3312
3313 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
3314
3315         PR libstdc++/14775
3316         * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
3317         * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
3318         GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
3319         to _GLIBCXX_RES_LIMITS.
3320         (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
3321         HAVE_LIMIT_*.
3322         * testsuite/testsuite_hooks.h: Declare set_file_limit.
3323         * testsuite/testsuite_hooks.cc: Define it, using getrlimit
3324         and setrlimit(RLIMIT_FSIZE).
3325         * testsuite/27_io/fpos/14775.cc: New.
3326         * config.h.in: Regenerate.
3327         * configure: Likewise.
3328
3329 2004-03-31  Paolo Carlini  <pcarlini@suse.de>
3330
3331         * config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
3332         In v3 uses of sscanf, the special floating-point numbers INF,
3333         INFINITY, etc., cannot occur in input, therefore, if the latter
3334         is too large, ERANGE is always stored in errno, no need of finitel.
3335
3336 2004-03-30  Benjamin Kosnik  <bkoz@redhat.com>
3337
3338         PR libstdc++/14783
3339         * include/bits/stl_tree.h: Adjust initialization list order.
3340
3341 2004-03-29  Loren J. Rittle  <ljrittle@acm.org>
3342
3343         * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
3344
3345 2004-03-29  Paolo Carlini  <pcarlini@suse.de>
3346
3347         * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
3348         on allocator behavior, the memory pointed by data2 may well be not
3349         trashed.
3350
3351 2004-03-28  Chavdar Botev  <cbotev@yahoo.com>
3352
3353         PR libstdc++/14245
3354         * include/bits/basic_string.tcc
3355         (basic_string::basic_string(const basic_string&)): Pass to
3356         _Rep::_M_grab the actual allocator of the string being constructed
3357         not the default constructed one.
3358
3359 2004-03-27  Benjamin Kosnik  <bkoz@redhat.com>
3360
3361         libstdc++ PR/13598
3362         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
3363         (__enc_traits::_M_destroy): New.
3364         (__enc_traits::~__enc_traits): Use it.
3365         (__enc_traits::operator=): Use _M_destroy, _M_init.
3366         (__enc_traits::__enc_traits): Same.
3367
3368 2004-03-27  Petur Runolfsson  <peturr02@ru.is>
3369
3370         * testsuite/ext/enc_filebuf/char/13598.cc: New.
3371
3372 2004-03-27  Paolo Carlini  <pcarlini@suse.de>
3373
3374         * include/ext/mt_allocator.h: Uglify consistently names of
3375         variables, members and classes; tidy.
3376
3377 2004-03-27  Dhruv Matani  <dhruvbird@gmx.net>
3378
3379         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
3380         Deallocation loop rewrote.
3381
3382 2004-03-26  Paolo Carlini  <pcarlini@suse.de>
3383
3384         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
3385         __mt_alloc<>::deallocate): Protect two instances of
3386         block->thread_id with __GTHREADS.
3387
3388 2004-03-25  Gawain Bolton  <gp.bolton@computer.org>
3389
3390         * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
3391         default argument in constructors.
3392         (_Rb_tree::_M_empty_initialize): Remove.
3393
3394 2004-03-25  Benjamin Kosnik  <bkoz@redhat.com>
3395
3396         * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
3397         * testsuite/23_containers/set/operators/1_neg.cc: Same.
3398
3399 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
3400
3401         * include/bits/cpp_type_traits.h: Changed __is_pod
3402         completely. Now, it does not use any of the previous type_traits
3403         to detect the pod types, and it also detects function pointers as
3404         POD types.
3405
3406         * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
3407         which encapsulates the internal implementation of an rb_tree. Made
3408         the allocator a base class of this class instead of the rb_tree,
3409         which was not conforming. This _Rb_tree_impl class is also
3410         specialized on whether the _Compare parameter is a POD type or
3411         not. If so, then it maintains the comparison function as a data
3412         member, otherwise it makes the _Compare parameter a base class of
3413         itself. Also, _M_key_compare is now a function instead of a data
3414         member, so that the above trick can work properly. Delegated the
3415         initialization of the other data members to this newly created
3416         class. Also, now other member functions of rb_tree must refer to
3417         _M_key_compare as _M_impl._M_key_compare(). The other data members
3418         (*) can be referenced to as _M_impl.(*), where
3419         (*) includes _M_header, and _M_node_count.
3420
3421 2004-03-25  Paolo Carlini  <pcarlini@suse.de>
3422
3423         * include/ext/mt_allocator.h (__mt_alloc<>::tune):
3424         Add _M_min_bin, the size in bytes of the smallest bin.
3425         (__mt_alloc<>::tune()): Tweak accordingly.
3426         (__mt_alloc<>::tune(size_t, ...)): Likewise.
3427         (__mt_alloc<>::block_record): Change to a union: members next
3428         and thread_id are never used at the same time.
3429         (__mt_alloc<>::allocate): Update consistently.
3430         (__mt_alloc<>::deallocate): Likewise.
3431         (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
3432         _S_bin_size for the configurable _M_min_size.
3433
3434 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
3435
3436         * include/bits/stl_list.h: Created a _List_impl class and made it
3437         derive from the allocator, instead of the list deriving from the
3438         allocator class, which was not conformant. Changed all references
3439         from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
3440         as above (changed all references to the concerned variables).
3441
3442 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
3443
3444         * include/bits/stl_deque.h: Created a _Deque_impl class and made
3445         it derive from the allocator, instead of the deque deriving from
3446         the allocator class, which was not conformant. Changed all
3447         references to the _M_start, _M_finish, _M_map, and _M_map_size to
3448         _M_impl.*.
3449         (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
3450         qualification in 2 places where it was missing.
3451         (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
3452         above.
3453         * include/bits/deque.tcc: Same as above (changed all references to
3454         the concerned variables).
3455
3456 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
3457
3458         * include/bits/stl_vector.h: Created a _Vector_impl class and made
3459         it derive from the allocator, instead of the _Vector_base class,
3460         deriving from the allocator which was not conformant. Changed all
3461         references to the _M_start, _M_finish, and _M_end_of_storage to
3462         _M_impl.*.
3463         * include/bits/vector.tcc: Same as above (changed all references
3464         to the concerned variables).
3465
3466 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
3467
3468         * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
3469         * testsuite/23_containers/list/cons/clear_allocator.cc: New.
3470         * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
3471
3472 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
3473
3474         * include/ext/malloc_allocator.h: Fixed the construct function to
3475         call global placement new instead of assignment. Added a check
3476         after the return from malloc to check whether returned pointer is
3477         NULL, and if so, throw std::bad_alloc().
3478         * include/ext/debug_allocator.h: Added a check in the deallocate
3479         function to check whether the user has passed a NULL pointer or
3480         not.
3481
3482 2004-03-24  Benjamin Kosnik  <bkoz@redhat.com>
3483
3484         * docs/html/20_util/allocator.html: Add bitmap_allocator links.
3485
3486 2004-03-24  Andreas Schwab  <schwab@suse.de>
3487
3488         * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
3489         warning from IA64 assembler.
3490
3491 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
3492
3493         * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
3494         function call __builtin_ctz instead of the while loop.
3495         (allocate) -> If condition has __builtin_expect.
3496         (deallocate) -> Ditto.
3497         Renamed a few left-over variables and typedefs according to the
3498         C++STYLE mentioned in the documentation.
3499         Protected calls to __gthread* by __gthread_active_p(), whose value
3500         is cached in the local variable __threads_active.
3501
3502 2004-03-24  Felix Yen  <fwy@alumni.brown.edu>
3503
3504         * testsuite/performance/20_util/allocator/producer_consumer.cc:
3505         Use linear algorithm for producer.
3506
3507 2004-03-24  Paolo Carlini  <pcarlini@suse.de>
3508
3509         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
3510         __mt_alloc<>::deallocate): Avoid redundant conditionals.
3511
3512 2004-03-23  Benjamin Kosnik  <bkoz@redhat.com>
3513
3514         * include/bits/locale_facets.h: Tweaks for 80 column.
3515         (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
3516         (__moneypunct_cache::_M_cache): Same.
3517         (num_get): Don't inherit from __num_base.
3518         (num_put): Same.
3519         (money_get): Don't inherit from money_base.
3520         (money_put): Same.
3521         (__timepunct::_M_am_pm_format): New.
3522         (time_get::_M_extract_num): Return iterator, use ios_base as argument.
3523         (time_get::_M_extract_name): Same.
3524         (time_get::_M_extract_via_format): Same.
3525         * include/bits/locale_facets.tcc: Tweaks for 80 column.
3526         Use _M_getloc instead of getloc.
3527         * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
3528         * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
3529         * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
3530
3531 2004-03-22  Paolo Carlini  <pcarlini@suse.de>
3532
3533         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
3534         * configure: Regenerate.
3535         * config/allocator/pool_allocator_base.h: New.
3536         * include/ext/pool_allocator.h: Convert to a standard-conforming
3537         allocator.
3538         * src/allocator.cc: Tweak instantiations.
3539         * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
3540         * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
3541         * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
3542         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
3543         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
3544         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
3545
3546 2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
3547
3548         * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
3549         inline" and attribute-unused.  Qualify parameter __mem with
3550         "volatile".
3551         (__exchange_and_add): Ditto.  Add back memory clobber to asm.
3552
3553 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
3554
3555         * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
3556         Remove junk.
3557         * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
3558         Likewise.
3559         * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
3560         Likewise.
3561         * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
3562         Likewise.
3563         * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
3564         Likewise.
3565         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
3566         Likewise.
3567         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
3568         Likewise.
3569         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
3570         Likewise.
3571         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
3572         Likewise.
3573         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
3574         Likewise.
3575
3576 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
3577
3578         * include/std/std_valarray.h: Document DR389 [Ready].
3579         * docs/html/ext/howto.html: Add an entry for DR389.
3580
3581 2004-03-19  Michael Eager  <eager@mvista.com>
3582
3583         * config/cpu/mips/atomicity.h:  Prevent reg loads between LL and
3584         SC instructions.
3585
3586 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
3587
3588         * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
3589         static_cast-s.
3590         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
3591         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
3592         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
3593         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
3594         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
3595         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
3596         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
3597         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
3598         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
3599
3600 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
3601             Petur Runolfsson  <peturr02@ru.is>
3602
3603         PR libstdc++/12077
3604         * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
3605         no way to find out the conversion used by the underlying FILE*.
3606         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
3607         * testsuite/27_io/objects/char/9.cc: Tweak.
3608
3609 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
3610
3611         PR libstdc++/14648
3612         * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
3613         memory allocation/deallocation calls.
3614         * testsuite/ext/14648.cc: New.
3615
3616 2004-03-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
3617
3618         PR libstdc++/14647
3619         * include/backward/bvector.h (bit_vector): Allocator is in std
3620         namespace.
3621
3622 2004-03-19  Phil Edwards  <phil@codesourcery.com>
3623
3624         * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT):  Set LIBICONV,
3625         not libiconv.  SUBST this variable as well.
3626         * testsuite/Makefile.am (site.exp):  New target, based on that
3627         created by automake.  Also set libiconv.
3628
3629         * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
3630         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
3631         testsuite/Makefile.in:  Regenerate.
3632
3633 2004-03-16  Benjamin Kosnik  <bkoz@redhat.com>
3634
3635         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
3636         new_allocator for all hosts.
3637         * configure: Regenerate.
3638
3639 2004-03-16  Paolo Carlini  <pcarlini@suse.de>
3640
3641         * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
3642         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
3643
3644 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
3645
3646         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3647         Adjust the logic underlying the parsing of symbol to deal
3648         correctly with an optional sign component (i.e., when either
3649         negative_sign or positive_sign is empty)
3650         * testsuite/22_locale/money_get/get/char/19.cc: New.
3651         * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
3652
3653 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
3654
3655         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3656         Do not accept an incomplete currency symbol.
3657         * testsuite/22_locale/money_get/get/char/18.cc: New.
3658         * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
3659
3660 2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>
3661
3662         * config/allocator: New.
3663         * config/allocator/bitmap_allocator_base.h: New.
3664         * config/allocator/malloc_allocator_base.h: New.
3665         * config/allocator/mt_allocator_base.h: New.
3666         * config/allocator/new_allocator_base.h: New.
3667         * include/bits/allocator.h: Include c++allocator.h.
3668         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
3669         * aclocal.m4: Regenerate.
3670         * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
3671         * configure: Regenerate.
3672         * include/Makefile.am (host_headers_extra): Add c++allocator.h.
3673         * include/Makefile.in: Regenerate.
3674         * docs/html/configopts.html: Add enable-libstdcxx-allocator.
3675
3676 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
3677
3678         * include/bits/allocator.h: Revert.
3679
3680 2004-03-12  Paolo Carlini  <pcarlini@suse.de>
3681
3682         * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
3683         * include/bits/gslice_array.h: Add comment about DR 253.
3684         * include/bits/indirect_array.h: Likewise.
3685         * include/bits/mask_array.h: Likewise.
3686         * include/bits/slice_array.h: Likewise.
3687
3688 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
3689
3690         * testsuite/20_util/allocator/14176.cc: New.
3691         * include/ext/mt_allocator.h: Formatting fixes.
3692
3693 2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>
3694
3695         * include/Makefile.am (ext_headers): Add
3696         ${ext_srcdir}/bitmap_allocator.h .
3697         * include/Makefile.in: Regenerate.
3698         * docs/html/ext/ballocator_doc.txt: New file.
3699         * include/ext/bitmap_allocator.h: New file.
3700         * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
3701         test.
3702         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
3703         * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
3704         test for the bitmap_allocator<>.
3705         * testsuite/performance/20_util/allocator/insert.cc: Likewise.
3706         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
3707         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
3708
3709 2004-03-11  Paolo Carlini  <pcarlini@suse.de>
3710
3711         * include/std/std_complex.h (pow(const complex&, const _Tp&),
3712         pow(const _Tp&, const complex&), pow(const complex&,
3713         const complex&)): Fully qualify with std:: a few calls.
3714         * testsuite/26_numerics/complex/13450.cc: Minor tweak.
3715
3716 2004-03-11  Steven Bosscher  <stevenb@suse.de>
3717
3718         PR libstdc++/11706
3719         * include/c_std/cmath.tcc (__cmath_power): Define inline.
3720
3721 2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
3722
3723         * configure.ac: Bump AC_PREREQ to 2.59.
3724
3725 2004-03-10  Paolo Carlini  <pcarlini@suse.de>
3726
3727         * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
3728
3729 2004-03-10  Paul Kienzle  <pkienzle@nist.gov>
3730             Paolo Carlini  <pcarlini@suse.de>
3731
3732         PR libstdc++/13450
3733         * include/std/std_complex.h (pow(const complex&, const _Tp&),
3734         pow(const _Tp&, const complex&)): Use cmath pow only when safe.
3735         * testsuite/26_numerics/complex/13450.cc: New.
3736
3737         * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
3738         * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
3739
3740 2004-03-10  Jerry Quinn  <jlquinn@optonline.net>
3741
3742         PR libstdc++/3247
3743         * include/bits/gslice_array.h (gslice_array()): Make public.
3744         (operator=(gslice_array)): Make public.  Implement.
3745         * include/bits/indirect_array.h (indirect_array()): Make public.
3746         * include/bits/mask_array.h (mask_array()): Make public.
3747         (operator=(mask_array)): Make public.  Implement.
3748         * include/bits/valarray_array.tcc (__valarray_copy):
3749         Comment.  Add versions for gslice_array and mask_array.
3750         * testsuite/26_numerics/valarray_subset_assignment.cc:  New test.
3751
3752 2004-03-09  Benjamin Kosnik  <bkoz@redhat.com>
3753
3754         * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
3755         non-weak systems.
3756         * testsuite/23_containers/vector/modifiers/swap.cc: Same.
3757         * testsuite/23_containers/set/modifiers/swap.cc: Same.
3758         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
3759         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
3760         * testsuite/23_containers/map/modifiers/swap.cc: Same.
3761         * testsuite/23_containers/list/modifiers/swap.cc: Same.
3762
3763         * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
3764
3765 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
3766
3767         PR c++/13658
3768         * testsuite/23_containers/deque/modifiers/swap.cc: New.
3769         * testsuite/23_containers/list/modifiers/swap.cc: New.
3770         * testsuite/23_containers/map/modifiers/swap.cc: New.
3771         * testsuite/23_containers/multimap/modifiers/swap.cc: New.
3772         * testsuite/23_containers/multiset/modifiers/swap.cc: New.
3773         * testsuite/23_containers/set/modifiers/swap.cc: New.
3774         * testsuite/23_containers/vector/modifiers/swap.cc: New.
3775
3776 2004-03-08  Petur Runolfsson  <peturr02@ru.is>
3777
3778         PR libstdc++/12658
3779         * testsuite/22_locale/locale/cons/12658_thread.cc: New.
3780
3781 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
3782
3783         * docs/html/ext/howto.html: Add entry for DR 103 [WP].
3784         * include/bits/stl_multiset.h: Add comment about DR 103.
3785         * include/bits/stl_set.h: Likewise.
3786
3787 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
3788
3789         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3790         The value _space_ indicates that at least one space is required
3791         at that position.
3792         * testsuite/22_locale/money_get/get/char/17.cc: New.
3793         * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
3794
3795         * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
3796         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
3797
3798         * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
3799         Remove redundant conditional on __str.size().
3800
3801 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
3802
3803         * include/bits/allocator.h: Switch defaults to mt_alloc.
3804
3805 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
3806
3807         * include/ext/mt_allocator.h (_S_initialize): If
3808         !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
3809
3810 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
3811
3812         PR libstdc++/12658
3813         * src/locale_init.cc (locale::locale): Lock critical regions with
3814         external mutexes.
3815         (locale::global): Same.
3816         * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
3817         Add in once bits for cases without __GTHREAD_MUTEX_INIT.
3818         (__glibcxx_mutex_lock): Same.
3819
3820         * config/cpu/generic/atomicity.h: Remove
3821         _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
3822         * src/misc-inst.cc: Move all locking bits out of this file.
3823
3824         * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
3825         * src/misc-inst.cc: Same.
3826         * config/cpu/hppa/atomicity.h: Same.
3827
3828         * config/linker-map.gnu: Remove types in the signature of atomic
3829         exports, as they may vary.
3830
3831 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
3832
3833         * include/bits/locale_facets.tcc: Tweak the comment preceding
3834         has_facet: doesn't throw.
3835
3836 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
3837
3838         * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
3839         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
3840         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
3841         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
3842         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
3843         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
3844         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
3845         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
3846
3847 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
3848
3849         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
3850         num_get<>::_M_extract_int, num_get<>::do_get(bool&),
3851         __pad<>::_S_pad): Prefer plain operator== to traits::eq().
3852         * testsuite/testsuite_character.h (struct __gnu_test::character):
3853         Provide operator==.
3854         * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
3855         Likewise.
3856
3857 2004-03-05  Paolo Carlini  <pcarlini@suse.de>
3858
3859         * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
3860
3861 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
3862
3863         * testsuite/23_containers/multiset/insert/1.cc: Test result string.
3864
3865         * testsuite/23_containers/bitset/invalidation/1.cc: Main always
3866         returns 0.
3867         * testsuite/23_containers/deque/invalidation/4.cc: Same.
3868         * testsuite/23_containers/list/invalidation/1.cc: Same.
3869         * testsuite/23_containers/list/invalidation/2.cc: Same.
3870         * testsuite/23_containers/list/invalidation/3.cc: Same.
3871         * testsuite/23_containers/list/invalidation/4.cc: Same.
3872         * testsuite/23_containers/map/invalidation/2.cc: Same.
3873         * testsuite/23_containers/multimap/invalidation/1.cc: Same.
3874         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
3875         * testsuite/23_containers/multiset/invalidation/1.cc: Same.
3876         * testsuite/23_containers/multiset/invalidation/2.cc: Same.