Update to 4.8.2.
[platform/upstream/gcc48.git] / libstdc++-v3 / ChangeLog-2006
1 2006-12-29  Paolo Carlini  <pcarlini@suse.de>
2
3         PR libstdc++/30226
4         * config/abi/pre/gnu.ver: Do not export ctype<char>::widen.
5
6 2006-12-28  Paolo Carlini  <pcarlini@suse.de>
7
8         * include/tr1/array (array<>::_M_at): Remove.
9         (array<>::_M_check): Add.
10         (array<>::at): Use the latter.
11
12 2006-12-22  Paolo Carlini  <pcarlini@suse.de>
13
14         DR 541, [WP].
15         * include/std/memory (auto_ptr<void>): Add specialization.
16         * testsuite/tr1/2_general_utilities/memory/shared_ptr/
17         assign/dr541.cc: New.
18         * testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust
19         dg-error markers.
20         * docs/html/ext/howto.html: Add an entry for DR 541.
21
22 2006-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23
24         * docs/html/27_io/howto.html: Fix typos.
25         * docs/html/24_iterators/howto.html: Likewise.
26         * docs/html/18_support/howto.html: Likewise.
27         * docs/html/21_strings/howto.html: Likewise.
28         * docs/html/ext/howto.html: Likewise.
29         * docs/html/ext/ballocator_doc.html: Likewise.
30         * docs/html/17_intro/porting-howto.xml: Likewise.
31         * docs/html/17_intro/howto.html: Likewise.
32         * docs/html/22_locale/howto.html: Likewise.
33         * docs/html/faq/index.html: Likewise.
34         * docs/doxygen/tables.html: Likewise.
35
36 2006-12-13  Ian Lance Taylor  <iant@google.com>
37
38         PR c++/19564
39         PR c++/19756
40         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
41         Add parentheses around && within || to avoid warning.
42         (num_get<>::_M_extract_int): Likewise.
43         (money_get<>::_M_extract): Likewise.
44         (num_get<>::do_get(iter_type, iter_type, ios_base&,
45         ios_base::iostate&, void*&)): Add parentheses around & within | to
46         avoid warning.
47         (num_put<>::do_put(iter_type, ios_base&, char_type, const void*)):
48         Likewise.
49         * include/bits/streambuf_iterator.h (istreambuf_iterator::equal):
50         Add parentheses around && within || to avoid warning.
51         * libsupc++/tinfo.cc (__do_dyncast): Likewise.
52         * src/locale.cc (locale::_S_normalize_category): Likewise.
53         * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_unique): Add
54         braces to avoid ambiguous else warning.
55         * src/strstream.cc (strstreambuf::_M_free): Likewise.
56         * src/tree.cc (_Rb_tree_rebalance_for_erase): Likewise.
57
58 2006-12-12  Benjamin Kosnik  <bkoz@redhat.com>
59
60         PR libstdc++/28265
61         * crossconfig.m4: Remove GLIBCXX_CHECK_ICONV_SUPPORT call for
62         mingw crosses.
63         * configure: Regenerate.
64
65 2006-12-12  Benjamin Kosnik  <bkoz@redhat.com>
66
67         PR libstdc++/26497
68         * crossconfig.m4: Add GLIBCXX_CHECK_LINKER_FEATURES for Solaris.
69         * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Set
70         glibcxx_gnu_ld_version only when with GNU ld confirmed.
71         * configure: Regenerate.
72
73 2006-12-11  Benjamin Kosnik  <bkoz@redhat.com>
74
75         PR libstdc++/28125
76         * acinclude.m4 (GLIBCXX_CHECK_ICONV_SUPPORT): Remove link test, ie
77         AC_CHECK_LIB for libiconv. Instead, use bits of AM_ICONV.
78         * configure: Regenerate.
79         * scripts/testsuite_flags.in (cxxldflags): Add LIBICONV bits.
80
81 2006-12-11  Richard Guenther  <rguenther@suse.de>
82             Paolo Carlini  <pcarlini@suse.de>
83
84         * include/ext/pb_ds/detail/pat_trie_/traits.hpp: Qualify types.
85         * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Likewise.
86         * include/ext/rope: Likewise.
87         * include/bits/stl_tree.h (struct _Rb_tree): Change the _Link_type
88         typedefs to use _Rb_tree_node<_Val> directly.
89         (_M_get_node, _M_put_node): Use _Link_type.
90
91 2006-12-10  Paolo Carlini  <pcarlini@suse.de>
92
93         * src/valarray-inst.cc (__gslice_to_index): Optimize performance.
94         * testsuite/performance/26_numerics/valarray_gslice_to_index.cc: New.
95
96 2006-12-08  Jakub Jelinek  <jakub@redhat.com>
97
98         * testsuite/util/testsuite_hooks.cc (set_memory_limits): Don't set
99         RLIMIT_AS below 16MB on x86_64-linux.
100
101 2006-12-06  Benjamin Kosnik  <bkoz@redhat.com>
102
103         * include/Makefile.am (std_headers_rename): Remove.
104         (c_base_headers_rename): Remove.
105         (std_headers): Adjust to true names.
106         (c_base_headers): Adjust to true names.
107         (stamp-c_base, stamp_std, stamp_c_base_extra): Adjust.
108         * configure: Regenerate.
109         * include/Makefile.in: Regenerate.
110
111         * include/std/std_algorithm.h: To...
112         * include/std/std_bitset.h: To...
113         * include/std/std_complex.h: To...
114         * include/std/std_deque.h: To...
115         * include/std/std_fstream.h: To...
116         * include/std/std_functional.h: To...
117         * include/std/std_iomanip.h: To...
118         * include/std/std_iosfwd.h: To...
119         * include/std/std_ios.h: To...
120         * include/std/std_iostream.h: To...
121         * include/std/std_istream.h: To...
122         * include/std/std_iterator.h: To...
123         * include/std/std_limits.h: To...
124         * include/std/std_list.h: To...
125         * include/std/std_locale.h: To...
126         * include/std/std_map.h: To...
127         * include/std/std_memory.h: To...
128         * include/std/std_numeric.h: To...
129         * include/std/std_ostream.h: To...
130         * include/std/std_queue.h: To...
131         * include/std/std_set.h: To...
132         * include/std/std_sstream.h: To...
133         * include/std/std_stack.h: To...
134         * include/std/std_stdexcept.h: To...
135         * include/std/std_streambuf.h: To...
136         * include/std/std_string.h: To...
137         * include/std/std_utility.h: To...
138         * include/std/std_valarray.h: To...
139         * include/std/std_vector.h: To...
140         * include/std/algorithm: ...this.
141         * include/std/bitset: ...this.
142         * include/std/complex: ...this.
143         * include/std/deque: ...this.
144         * include/std/fstream: ...this.
145         * include/std/functional: ...this.
146         * include/std/iomanip: ...this.
147         * include/std/iosfwd: ...this.
148         * include/std/ios: ...this.
149         * include/std/iostream: ...this.
150         * include/std/istream: ...this.
151         * include/std/iterator: ...this.
152         * include/std/limits: ...this.
153         * include/std/list: ...this.
154         * include/std/locale: ...this.
155         * include/std/map: ...this.
156         * include/std/memory: ...this.
157         * include/std/numeric: ...this.
158         * include/std/ostream: ...this.
159         * include/std/queue: ...this.
160         * include/std/set: ...this.
161         * include/std/sstream: ...this.
162         * include/std/stack: ...this.
163         * include/std/stdexcept: ...this.
164         * include/std/streambuf: ...this.
165         * include/std/string: ...this.
166         * include/std/utility: ...this.
167         * include/std/valarray: ...this.
168         * include/std/vector: ...this.
169
170         * include/c_std/std_cassert.h: To...
171         * include/c_std/std_cctype.h: To...
172         * include/c_std/std_cerrno.h: To...
173         * include/c_std/std_cfloat.h: To...
174         * include/c_std/std_ciso646.h: To...
175         * include/c_std/std_climits.h: To...
176         * include/c_std/std_clocale.h: To...
177         * include/c_std/std_cmath.h: To...
178         * include/c_std/std_csetjmp.h: To...
179         * include/c_std/std_csignal.h: To...
180         * include/c_std/std_cstdarg.h: To...
181         * include/c_std/std_cstddef.h: To...
182         * include/c_std/std_cstdio.h: To...
183         * include/c_std/std_cstdlib.h: To...
184         * include/c_std/std_cstring.h: To...
185         * include/c_std/std_ctime.h: To...
186         * include/c_std/std_cwchar.h: To...
187         * include/c_std/std_cwctype.h: To...
188         * include/c_std/cassert: ...this.
189         * include/c_std/cctype: ...this.
190         * include/c_std/cerrno: ...this.
191         * include/c_std/cfloat: ...this.
192         * include/c_std/ciso646: ...this.
193         * include/c_std/climits: ...this.
194         * include/c_std/clocale: ...this.
195         * include/c_std/cmath: ...this.
196         * include/c_std/csetjmp: ...this.
197         * include/c_std/csignal: ...this.
198         * include/c_std/cstdarg: ...this.
199         * include/c_std/cstddef: ...this.
200         * include/c_std/cstdio: ...this.
201         * include/c_std/cstdlib: ...this.
202         * include/c_std/cstring: ...this.
203         * include/c_std/ctime: ...this.
204         * include/c_std/cwchar: ...this.
205         * include/c_std/cwctype: ...this.
206
207         * include/c/std_cassert.h: To...
208         * include/c/std_cctype.h: To...
209         * include/c/std_cerrno.h: To...
210         * include/c/std_cfloat.h: To...
211         * include/c/std_ciso646.h: To...
212         * include/c/std_climits.h: To...
213         * include/c/std_clocale.h: To...
214         * include/c/std_cmath.h: To...
215         * include/c/std_csetjmp.h: To...
216         * include/c/std_csignal.h: To...
217         * include/c/std_cstdarg.h: To...
218         * include/c/std_cstddef.h: To...
219         * include/c/std_cstdio.h: To...
220         * include/c/std_cstdlib.h: To...
221         * include/c/std_cstring.h: To...
222         * include/c/std_ctime.h: To...
223         * include/c/std_cwchar.h: To...
224         * include/c/std_cwctype.h: To...
225         * include/c/cassert: ...this.
226         * include/c/cctype: ...this.
227         * include/c/cerrno: ...this.
228         * include/c/cfloat: ...this.
229         * include/c/ciso646: ...this.
230         * include/c/climits: ...this.
231         * include/c/clocale: ...this.
232         * include/c/cmath: ...this.
233         * include/c/csetjmp: ...this.
234         * include/c/csignal: ...this.
235         * include/c/cstdarg: ...this.
236         * include/c/cstddef: ...this.
237         * include/c/cstdio: ...this.
238         * include/c/cstdlib: ...this.
239         * include/c/cstring: ...this.
240         * include/c/ctime: ...this.
241         * include/c/cwchar: ...this.
242         * include/c/cwctype: ...this.
243
244 2006-12-05  Benjamin Kosnik  <bkoz@redhat.com>
245
246         * include/bits/localefwd.h: Consistent @file placement, use
247         include/ as part of the path for files that have shadows instead of no
248         name.
249         * include/bits/valarray_after.h: Same.
250         * include/bits/gslice_array.h: Same.
251         * include/bits/gslice.h: Same.
252         * include/bits/locale_classes.h: Same.
253         * include/bits/locale_facets.h: Same.
254         * include/bits/indirect_array.h: Same.
255         * include/bits/basic_string.h: Same.
256         * include/bits/ios_base.h: Same.
257         * include/bits/postypes.h: Same.
258         * include/bits/codecvt.h: Same.
259         * include/bits/mask_array.h: Same.
260         * include/bits/slice_array.h: Same.
261         * include/bits/boost_concept_check.h: Same.
262         * include/bits/char_traits.h: Same.
263         * include/bits/stringfwd.h: Same.
264         * include/bits/c++config: Same.
265         * include/bits/valarray_array.h: Same.
266         * include/bits/valarray_before.h: Same.
267         * include/bits/cpp_type_traits.h: Same.
268         * include/c/std_cerrno.h: Same.
269         * include/precompiled/extc++.h: Same.
270         * include/precompiled/stdtr1c++.h: Same.
271         * include/precompiled/stdc++.h: Same.
272         * include/tr1/cinttypes: Same.
273         * include/tr1/fenv.h: Same.
274         * include/tr1/mu_iterate.h: Same.
275         * include/tr1/cstdio: Same.
276         * include/tr1/limits.h: Same.
277         * include/tr1/ctgmath: Same.
278         * include/tr1/cstdarg: Same.
279         * include/tr1/tuple: Same.
280         * include/tr1/float.h: Same.
281         * include/tr1/stdint.h: Same.
282         * include/tr1/tuple_iterate.h: Same.
283         * include/tr1/type_traits_fwd.h: Same.
284         * include/tr1/hashtable_policy.h: Same.
285         * include/tr1/cfenv: Same.
286         * include/tr1/wctype.h: Same.
287         * include/tr1/ref_fwd.h: Same.
288         * include/tr1/bind_repeat.h: Same.
289         * include/tr1/utility: Same.
290         * include/tr1/climits: Same.
291         * include/tr1/type_traits: Same.
292         * include/tr1/stdlib.h: Same.
293         * include/tr1/cwchar: Same.
294         * include/tr1/stdio.h: Same.
295         * include/tr1/ref_wrap_iterate.h: Same.
296         * include/tr1/cstdint: Same.
297         * include/tr1/memory: Same.
298         * include/tr1/cstdbool: Same.
299         * include/tr1/cwctype: Same.
300         * include/tr1/bind_iterate.h: Same.
301         * include/tr1/math.h: Same.
302         * include/tr1/random: Same.
303         * include/tr1/tuple_defs.h: Same.
304         * include/tr1/cstdlib: Same.
305         * include/tr1/unordered_map: Same.
306         * include/tr1/boost_shared_ptr.h: Same.
307         * include/tr1/cctype: Same.
308         * include/tr1/random.tcc: Same.
309         * include/tr1/wchar.h: Same.
310         * include/tr1/hashtable: Same.
311         * include/tr1/cmath: Same.
312         * include/tr1/stdbool.h: Same.
313         * include/tr1/ctime: Same.
314         * include/tr1/functional: Same.
315         * include/tr1/unordered_set: Same.
316         * include/tr1/inttypes.h: Same.
317         * include/tr1/functional_iterate.h: Same.
318         * include/tr1/repeat.h: Same.
319         * include/tr1/complex: Same.
320         * include/tr1/cfloat: Same.
321         * include/tr1/ctype.h: Same.
322         * include/tr1/stdarg.h: Same.
323         * include/tr1/tgmath.h: Same.
324         * include/tr1/array: Same.
325         * include/tr1/common.h: Same.
326         * include/std/std_valarray.h: Same.
327         * include/std/std_iostream.h: Same.
328         * include/std/std_queue.h: Same.
329         * include/std/std_algorithm.h: Same.
330         * include/std/std_streambuf.h: Same.
331         * include/std/std_iterator.h: Same.
332         * include/std/std_ios.h: Same.
333         * include/std/std_bitset.h: Same.
334         * include/std/std_iosfwd.h: Same.
335         * include/std/std_set.h: Same.
336         * include/std/std_iomanip.h: Same.
337         * include/std/std_fstream.h: Same.
338         * include/std/std_functional.h: Same.
339         * include/std/std_numeric.h: Same.
340         * include/std/std_vector.h: Same.
341         * include/std/std_deque.h: Same.
342         * include/std/std_stdexcept.h: Same.
343         * include/std/std_utility.h: Same.
344         * include/std/std_stack.h: Same.
345         * include/std/std_string.h: Same.
346         * include/std/std_complex.h: Same.
347         * include/std/std_memory.h: Same.
348         * include/std/std_ostream.h: Same.
349         * include/std/std_list.h: Same.
350         * include/std/std_map.h: Same.
351         * include/std/std_sstream.h: Same.
352         * include/c_std/std_csignal.h: Same.
353         * include/c_std/std_cstdlib.h: Same.
354         * include/c_std/std_cstdio.h: Same.
355         * include/c_std/std_cstdarg.h: Same.
356         * include/c_std/std_cctype.h: Same.
357         * include/c_std/std_cerrno.h: Same.
358         * include/c_std/std_cmath.h: Same.
359         * include/c_std/std_ctime.h: Same.
360         * include/c_std/std_clocale.h: Same.
361         * include/c_std/std_climits.h: Same.
362         * include/c_std/std_cassert.h: Same.
363         * include/c_std/cmath.tcc
364         * include/c_std/std_csetjmp.h: Same.
365         * include/c_std/std_cwchar.h: Same.
366         * include/c_std/std_cfloat.h: Same.
367         * include/c_std/std_cstring.h: Same.
368         * include/c_std/std_cstddef.h: Same.
369         * include/c_std/std_cwctype.h: Same.
370
371         * config/locale/gnu/c_locale.h: Namespace scope in all files.
372         * config/locale/gnu/messages_members.h: Same.
373         * config/locale/gnu/c++locale_internal.h: Same.
374         * config/locale/gnu/time_members.h: Same.
375         * config/locale/ieee_1003.1-2001/c_locale.h: Same.
376         * config/locale/ieee_1003.1-2001/messages_members.h: Same.
377         * config/locale/generic/c_locale.h: Same.
378         * config/locale/generic/messages_members.h: Same.
379         * config/locale/generic/time_members.h: Same.
380         * config/allocator/mt_allocator_base.h: Same.
381         * config/allocator/malloc_allocator_base.h: Same.
382         * config/allocator/new_allocator_base.h: Same.
383         * config/allocator/pool_allocator_base.h: Same.
384         * config/allocator/bitmap_allocator_base.h: Same.
385         * config/os/windiss/ctype_noninline.h: Same.
386         * config/os/windiss/os_defines.h: Same.
387         * config/os/windiss/ctype_inline.h: Same.
388         * config/os/newlib/ctype_noninline.h: Same.
389         * config/os/newlib/os_defines.h: Same.
390         * config/os/newlib/ctype_inline.h: Same.
391         * config/os/aix/ctype_noninline.h: Same.
392         * config/os/aix/os_defines.h: Same.
393         * config/os/aix/ctype_inline.h: Same.
394         * config/os/vxworks/ctype_noninline.h: Same.
395         * config/os/vxworks/os_defines.h: Same.
396         * config/os/vxworks/ctype_inline.h: Same.
397         * config/os/hpux/ctype_noninline.h: Same.
398         * config/os/hpux/os_defines.h: Same.
399         * config/os/hpux/ctype_inline.h: Same.
400         * config/os/mingw32/ctype_noninline.h: Same.
401         * config/os/mingw32/os_defines.h: Same.
402         * config/os/mingw32/ctype_inline.h: Same.
403         * config/os/gnu-linux/ctype_noninline.h: Same.
404         * config/os/gnu-linux/os_defines.h: Same.
405         * config/os/gnu-linux/ctype_inline.h: Same.
406         * config/os/tpf/ctype_noninline.h: Same.
407         * config/os/tpf/os_defines.h: Same.
408         * config/os/tpf/ctype_inline.h: Same.
409         * config/os/uclibc/ctype_noninline.h: Same.
410         * config/os/uclibc/os_defines.h: Same.
411         * config/os/uclibc/ctype_inline.h: Same.
412         * config/os/djgpp/ctype_noninline.h: Same.
413         * config/os/djgpp/os_defines.h: Same.
414         * config/os/djgpp/ctype_inline.h: Same.
415         * config/os/qnx/qnx6.1/ctype_noninline.h: Same.
416         * config/os/qnx/qnx6.1/ctype_inline.h: Same.
417         * config/os/bsd/netbsd/ctype_noninline.h: Same.
418         * config/os/bsd/netbsd/ctype_inline.h: Same.
419         * config/os/bsd/darwin/ctype_noninline.h: Same.
420         * config/os/bsd/darwin/ctype_inline.h: Same.
421         * config/os/bsd/freebsd/ctype_noninline.h: Same.
422         * config/os/bsd/freebsd/ctype_inline.h: Same.
423         * config/os/irix/irix5.2/ctype_noninline.h: Same.
424         * config/os/irix/irix5.2/ctype_inline.h: Same.
425         * config/os/irix/irix6.5/ctype_noninline.h: Same.
426         * config/os/irix/irix6.5/ctype_inline.h: Same.
427         * config/os/solaris/solaris2.5/ctype_noninline.h: Same.
428         * config/os/solaris/solaris2.5/ctype_inline.h: Same.
429         * config/os/solaris/solaris2.6/ctype_noninline.h: Same.
430         * config/os/solaris/solaris2.6/ctype_inline.h: Same.
431         * config/os/solaris/solaris2.7/ctype_noninline.h: Same.
432         * config/os/solaris/solaris2.7/ctype_inline.h: Same.
433         * config/os/generic/ctype_noninline.h: Same.
434         * config/os/generic/os_defines.h: Same.
435         * config/os/generic/ctype_inline.h: Same.
436         * config/cpu/arm/cxxabi_tweaks.h: Same.
437         * config/cpu/powerpc/cpu_defines.h: Same.
438         * config/cpu/generic/cxxabi_tweaks.h: Same.
439         * config/cpu/generic/cpu_defines.h: Same.
440         * config/cpu/generic/atomic_word.h: Same.
441         * config/io/c_io_stdio.h: Same.
442         * config/abi/compatibility.h: Same.
443
444         * docs/doxygen/user.cfg.in: Adjust file list.
445
446 2006-12-05  Paolo Carlini  <pcarlini@suse.de>
447
448         DR 543, [Ready].
449         * include/bits/slice_array.h (slice::slice()): Implement the
450         resolution.
451         * include/bits/gslice.h (gslice::_Indexer::_Indexer()): Add.
452         (gslice::gslice()): Use it.
453         * testsuite/26_numerics/valarray/dr543.cc: New.
454         * docs/html/ext/howto.html: Add an entry for DR 543.
455
456 2006-12-05  Benjamin Kosnik  <bkoz@redhat.com>
457
458         * include/tr1/tuple: Consistent include guards.
459         * include/tr1/type_traits: Same.
460         * include/tr1/array: Same.
461
462 2006-12-04  Paolo Carlini  <pcarlini@suse.de>
463
464         PR libstdc++/29989 (again)
465         * include/bits/c++config: #undef min and max.
466         * testsuite/18_support/numeric_limits/29989.cc: New.
467
468 2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
469
470         * configure: Regenerate.
471
472 2006-12-03  Paolo Carlini  <pcarlini@suse.de>
473
474         PR libstdc++/29989
475         * include/bits/stl_algobase.h: Remove min and max #undefs.
476
477 2006-12-02  Howard Hinnant  <hhinnant@apple.com>
478
479         * acinclude.m4: Allow OPTIMIZE_CXXFLAGS to be set by configure.host.
480         * configure.host: Set OPTIMIZE_CXXFLAGS to -fvisibility-inlines-hidden
481         for x86/darwin.
482         * configure: Regenerate.
483
484 2006-12-01  Paolo Carlini  <pcarlini@suse.de>
485
486         * include/ext/mt_allocator.h (__pool_base::_M_get_align): Remove
487         redundant const qualifier on the return type.
488
489 2006-11-29  Benjamin Kosnik  <bkoz@redhat.com>
490
491         * include/ext/throw_allocator.h: Consistent @file markup.
492         * include/ext/type_traits.h: Same.
493         * include/debug/hash_map: Same.
494         * include/debug/hash_multimap.h: Same.
495         * include/debug/set.h: Same.
496         * include/debug/hash_set.h: Same.
497         * include/debug/formatter.h: Same.
498         * include/debug/bitset: Same.
499         * include/debug/set: Same.
500         * include/debug/multiset.h: Same.
501         * include/debug/safe_sequence.h: Same.
502         * include/debug/hash_set: Same.
503         * include/debug/functions.h: Same.
504         * include/debug/safe_base.h: Same.
505         * include/debug/hash_multiset.h: Same.
506         * include/debug/safe_iterator.tcc: Same.
507         * include/debug/vector: Same.
508         * include/debug/map.h: Same.
509         * include/debug/deque: Same.
510         * include/debug/hash_map.h: Same.
511         * include/debug/string: Same.
512         * include/debug/macros.h: Same.
513         * include/debug/list: Same.
514         * include/debug/debug.h: Same.
515         * include/debug/map: Same.
516         * include/debug/safe_iterator.h: Same.
517         * include/debug/multimap.h: Same.
518         * config/cpu/generic/atomicity_mutex/atomicity.h: Same.
519         * config/cpu/generic/atomicity_builtins/atomicity.h: Same.
520         * config/cpu/generic/atomic_word.h: Same.
521         * include/tr1/memory: Same.
522         * include/tr1/random: Same.
523         * include/std/std_queue.h: Same.
524         * include/std/std_iterator.h: Same.
525         * include/std/std_bitset.h: Same.
526         * include/std/std_set.h: Same.
527         * include/std/std_vector.h: Same.
528         * include/std/std_deque.h: Same.
529         * include/std/std_utility.h: Same.
530         * include/std/std_stack.h: Same.
531         * include/std/std_string.h: Same.
532         * include/std/std_list.h: Same.
533         * include/std/std_map.h: Same.
534         * libsupc++/typeinfo: Same.
535         * libsupc++/exception: Same.
536         * libsupc++/exception_defines.h: Same.
537         * libsupc++/new: Same.
538
539         * include/ext/bitmap_allocator.h: Change namespace __balloc to
540         __detail.
541         * src/bitmap_allocator.cc: Same.
542
543         * include/bits/cpp_type_traits.h: Change __true_type and
544         __false_type from global to namespace std scope.
545         * include/ext/slist: Same.
546         * include/ext/vstring.h: Same.
547         * include/ext/vstring.tcc: Same.
548         * include/ext/rc_string_base.h: Same.
549         * include/ext/sso_string_base.h: Same.
550
551         * include/bits/codecvt.h: Adjust markup so that correct namespace
552         scope information is in all files.
553         * include/bits/locale_facets.h: Same. Include ctype_base directly.
554         * config/os/windiss/ctype_base.h: Add in namespace markup.
555         * config/os/newlib/ctype_base.h: Same.
556         * config/os/aix/ctype_base.h: Same.
557         * config/os/vxworks/ctype_base.h: Same.
558         * config/os/hpux/ctype_base.h: Same.
559         * config/os/mingw32/ctype_base.h: Same.
560         * config/os/gnu-linux/ctype_base.h: Same.
561         * config/os/tpf/ctype_base.h: Same.
562         * config/os/uclibc/ctype_base.h: Same.
563         * config/os/djgpp/ctype_base.h: Same.
564         * config/os/qnx/qnx6.1/ctype_base.h: Same.
565         * config/os/bsd/netbsd/ctype_base.h: Same.
566         * config/os/bsd/darwin/ctype_base.h: Same.
567         * config/os/bsd/freebsd/ctype_base.h: Same.
568         * config/os/irix/irix5.2/ctype_base.h: Same.
569         * config/os/irix/irix6.5/ctype_base.h: Same.
570         * config/os/solaris/solaris2.5/ctype_base.h: Same.
571         * config/os/solaris/solaris2.6/ctype_base.h: Same.
572         * config/os/solaris/solaris2.7/ctype_base.h: Same.
573         * config/os/generic/ctype_base.h: Same.
574         * include/tr1/mu_iterate.h: Same.
575         * include/tr1/tuple: Same.
576         * include/tr1/tuple_iterate.h: Same.
577         * include/tr1/tuple_defs.h: Same.
578         * include/tr1/random.tcc: Same.
579         * include/tr1/functional: Same.
580         * include/tr1/functional_iterate.h: Same.
581
582         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Line
583         number changes.
584         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
585         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
586         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.
587
588         * docs/doxygen/user.cfg.in: Update to doxygen 1.5.1.
589         * docs/html/17_intro/license.html: Updated info for generated docs.
590         * docs/doxygen/guide.html: Adjust.
591         * docs/doxygen/run_doxygen: Adjust.
592         * docs/doxygen/mainpage.html: Same.
593         * docs/doxygen/doxygroups.cc: Same.
594         * docs/doxygen/Intro.3: Same.
595         * docs/doxygen/tables.html: Same.
596
597 2006-11-26  Paolo Carlini  <pcarlini@suse.de>
598
599         PR libstdc++/29385 (2nd part, based on an idea by Ion Gaztanaga)
600         * include/bits/stl_tree.h (_Rb_tree<>::_M_equal_range): Add.
601         (equal_range(const key_type&)): Use it.
602
603 2006-11-26  Paolo Carlini  <pcarlini@suse.de>
604
605         * testsuite/23_containers/multiset/operations/1.cc: New.
606         * testsuite/23_containers/set/operations/1.cc: Likewise.
607         * testsuite/23_containers/multimap/operations/1.cc: Likewise.
608         * testsuite/23_containers/map/operations/1.cc: Likewise.
609
610 2006-11-25  Paolo Carlini  <pcarlini@suse.de>
611
612         PR libstdc++/29385 (partial)
613         * include/bits/stl_tree.h (_Rb_tree<>::destroy_node): Uglify.
614         (_M_erase, erase(iterator), erase(const_iterator)): Adjust
615
616 2006-11-25  Paolo Carlini  <pcarlini@suse.de>
617
618         PR libstdc++/29385 (partial)
619         * include/bits/stl_tree.h (_Rb_tree<>::_M_lower_bound(_Const_Link_type,
620         _Const_Link_type, const _Key&), _M_upper_bound(_Const_Link_type,
621         _Const_Link_type, const _Key&)): Add.
622         (lower_bound(const key_type&), upper_bound(const key_type&),
623         find(const key_type&)): Call the latter.
624
625 2006-11-25  Gawain Bolton  <gp.bolton@computer.org>
626
627         PR libstdc++/29385 (partial)
628         * include/bits/stl_tree.h (_Rb_tree_rotate_left,
629         _Rb_tree_rotate_right): Do not declare.
630         (_Rb_tree<>::_M_insert(_Base_ptr, _Base_ptr, const value_type&),
631         _M_insert(_Const_Base_ptr, _Const_Base_ptr, const value_type&),
632         _M_insert_unique(iterator, const value_type&),
633         _M_insert_unique(const_iterator, const value_type&),
634         _M_insert_equal(iterator, const value_type&),
635         _M_insert_equal(const_iterator, const value_type&)):
636         Remove.
637         (_Rb_tree<>::_M_insert_(_Const_Base_ptr, _Const_Base_ptr,
638         const value_type&), _M_insert_unique_(const_iterator,
639         const value_type&), _M_insert_equal_(const_iterator,
640         const value_type&)): Add, adjust all callers.
641         * include/bits/stl_map.h (map<>::insert(iterator, const value_type&)):
642         Adjust.
643         * include/bits/stl_set.h (set<>::insert(iterator, const value_type&)):
644         Likewise.
645         * include/bits/stl_multimap.h (multimap<>::insert(iterator,
646         const value_type&)): Likewise.
647         * include/bits/stl_multiset.h (multiset<>::insert(iterator,
648         const value_type&)): Likewise.
649
650 2006-11-22  Antony King <anthony.king@st.com>
651             J"orn Rennecke <joern.rennecke@st.com>
652
653         PR libstdc++/29920
654         * include/Makefile.am (stamp-host): Remove CCODECVT_H line.
655         * include/Makefile.in: Regenerate.
656
657 2006-11-21  Benjamin Kosnik  <bkoz@redhat.com>
658
659         * include/ext/hashtable.h: -Wshadow fixes.
660         * include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
661         * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
662         * include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same.
663         * include/ext/pb_ds/detail/gp_hash_table_map_/
664         constructor_destructor_fn_imps.hpp: Same.
665         * include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
666         * include/ext/pb_ds/detail/ov_tree_map_/
667         constructors_destructor_fn_imps.hpp: Same.
668         * src/mt_allocator.cc: Same.
669         * src/debug.cc: Same.
670         * config/locale/gnu/codecvt_members.cc: Same.
671
672 2006-11-21  Benjamin Kosnik  <bkoz@redhat.com>
673             Howard Hinnant  <hhinnant@apple.com>
674
675         * src/iostream-inst.cc: Remove iostream include.
676
677 2006-11-19  Paolo Carlini  <pcarlini@suse.de>
678
679         * include/tr1/functional (hash(long long), hash(unsigned long long)):
680         Add specializations.
681
682 2006-11-18  Joseph Myers  <joseph@codesourcery.com>
683
684         * config/cpu/powerpc/atomic_word.h (_GLIBCXX_WRITE_MEM_BARRIER):
685         Use plain sync if __NO_LWSYNC__.
686
687 2006-11-14  Joseph Myers  <joseph@codesourcery.com>
688
689         * testsuite/26_numerics/complex/13450.cc: Do not test long double
690         in IBM long double case.
691
692 2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
693
694         * configure: Regenerated.
695
696 2006-11-13  Joseph Myers  <joseph@codesourcery.com>
697
698         * libsupc++/eh_globals.cc (__cxxabiv1::__cxa_get_globals):
699         Initialize propagatingExceptions if __ARM_EABI_UNWINDER__.
700         * libsupc++/eh_personality.cc (empty_exception_spec): Define
701         separately in __ARM_EABI_UNWINDER__ case.
702
703 2006-11-13  Joseph Myers  <joseph@codesourcery.com>
704
705         * libsupc++/typeinfo (__GXX_TYPEINFO_EQUALITY_INLINE): Define.
706         Use instead of __GXX_MERGED_TYPEINFO_NAMES to condition inline
707         definitions.
708         * libsupc++/tinfo.cc (operator==): Condition on
709         __GXX_TYPEINFO_EQUALITY_INLINE; check __GXX_MERGED_TYPEINFO_NAMES
710         to determine algorithm.
711         * libsupc++/tinfo2.cc (type_info::before): Likewise.
712
713 2006-11-12  Paolo Carlini  <pcarlini@suse.de>
714
715         * include/ext/bitmap_allocator.h: Uglify some names.
716         * include/ext/concurrence.h: Likewise.
717         * src/bitmap_allocator.cc: Likewise.
718
719 2006-11-11  Paolo Carlini  <pcarlini@suse.de>
720
721         PR libstdc++/29496
722         * include/debug/safe_base.h (_Safe_sequence_base::_M_get_mutex,
723         _Safe_iterator_base::_M_get_mutex, _M_attach_single, _M_detach_single):
724         New.
725         * src/debug.cc: Define the latter.
726         (_Safe_sequence_base::_M_detach_all, _M_detach_singular,
727         _M_revalidate_singular, _M_swap): Use the mutex.
728         (_Safe_iterator_base::_M_attach, _M_detach): Adjust, forward to the
729         *_single version.
730         * include/debug/safe_iterator.h (_Safe_iterator<>::_M_attach_single,
731         _M_invalidate_single): New.
732         * include/debug/safe_iterator.tcc: Define.
733         (_Safe_iterator<>::_M_invalidate): Adjust, forward to
734         _M_invalidate_single.
735         * include/debug/safe_sequence.h (_Safe_sequence<>::_M_invalidate_if,
736         _M_transfer_iter): Use the mutex, adjust, forward to the *_single
737         versions of _M_invalidate and _M_attach.
738         * config/abi/pre/gnu.ver (_Safe_sequence_base::_M_get_mutex,
739         _Safe_iterator_base::_M_get_mutex, _M_attach_single, _M_detach_single):
740         Add @GLIBCXX_3.4.10; adjust.
741         * configure.ac (libtool_VERSION): To 6:10:0.
742         * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.10.
743         * configure: Regenerate.
744
745 2006-11-10  Jakub Jelinek  <jakub@redhat.com>
746
747         * config/locale/gnu/c_locale.cc (__convert_to_v): Prefer
748         strtold_l over __strtold_l if available.
749
750 2006-11-07  Benjamin Kosnik  <bkoz@redhat.com>
751
752         PR libstdc++/29722
753         * include/ext/concurrence.h (concurrence_lock_error): New.
754         (concurrence_unlock_error): New.
755         (__throw_concurrence_lock_error): New.
756         (__throw_concurrence_unlock_error): New.
757         (__mutex): Use functions.
758         (__recursive_mutex): Same.
759         * testsuite/abi/cxx_runtime_only_linkage.cc: New.
760
761         * include/ext/pb_ds/exception.hpp: Keep exception classes defined
762         even when -fno-exceptions is passed, consistent with other usage.
763
764 2006-11-07  Benjamin Kosnik  <bkoz@redhat.com>
765
766         * include/ext/pb_ds/exception.hpp (pb_ds): Modify for -fno-exceptions.
767         (__throw_container_error): New. Conditionalize based on __EXCEPTIONS.
768         (__throw_insert_error): New.
769         (__throw_join_error): New.
770         (__throw_resize_error): New.
771         * include/ext/pb_ds/detail/resize_policy/
772         hash_prime_size_policy_imp.hpp: Use them.
773         * include/ext/pb_ds/detail/resize_policy/
774         hash_exponential_size_policy_imp.hpp: Same.
775         * include/ext/pb_ds/detail/resize_policy/
776         hash_load_check_resize_trigger_imp.hpp: Same.
777         * include/ext/pb_ds/detail/resize_policy/
778         hash_standard_resize_policy_imp.hpp: Same.
779         * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
780         * include/ext/pb_ds/detail/cc_hash_table_map_/
781         constructor_destructor_fn_imps.hpp: Same.
782         * include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
783         * include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp
784         * include/ext/pb_ds/detail/pat_trie_/
785         constructors_destructor_fn_imps.hpp: Same.
786         * include/ext/pb_ds/detail/bin_search_tree_/
787         constructors_destructor_fn_imps.hpp: Same.
788         * include/ext/pb_ds/detail/bin_search_tree_/
789         split_join_fn_imps.hpp: Same.
790         * include/ext/pb_ds/detail/gp_hash_table_map_/
791         insert_no_store_hash_fn_imps.hpp: Same.
792         * include/ext/pb_ds/detail/gp_hash_table_map_/
793         resize_store_hash_fn_imps.hpp: Same.
794         * include/ext/pb_ds/detail/gp_hash_table_map_/
795         insert_store_hash_fn_imps.hpp: Same.
796         * include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
797         * include/ext/pb_ds/detail/gp_hash_table_map_/
798         constructor_destructor_fn_imps.hpp: Same.
799         * include/ext/pb_ds/detail/gp_hash_table_map_/
800         resize_no_store_hash_fn_imps.hpp: Same.
801         * include/ext/pb_ds/detail/binary_heap_/
802         constructors_destructor_fn_imps.hpp: Same.
803         * include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
804         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
805         constructors_destructor_fn_imps.hpp: Same.
806         * include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
807         * include/ext/pb_ds/detail/list_update_map_/
808         constructor_destructor_fn_imps.hpp: Same.
809         * include/ext/pb_ds/exception.hpp: Same.
810         * src/functexcept.cc: Qualify abort with std.
811
812 2006-11-07  Benjamin Kosnik  <bkoz@redhat.com>
813
814         * include/ext/pb_ds/exception.hpp: Add translation support to
815         exception strings.
816         * include/ext/concurrence.h: Same.
817         * include/tr1/array: Same.
818
819 2006-11-05  Paolo Carlini  <pcarlini@suse.de>
820
821         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 45.
822         * docs/html/ext/lwg-closed.html: Add.
823         * docs/html/ext/howto.html: Adjust.
824
825 2006-10-30  Paolo Carlini  <pcarlini@suse.de>
826
827         * include/tr1/utility (tuple_size<std::pair<> >::value): Provide
828         definition.
829
830 2006-10-30  Paolo Carlini  <pcarlini@suse.de>
831
832         * include/tr1/tuple_iterate.h (tuple_size<tuple<> >::value): Provide
833         definition.
834         * include/tr1/functional (is_bind_expression<>::value,
835         is_placeholder<>::value, + various partial specializations): Likewise.
836         * include/tr1/array (tuple_size<array<> >::value): Likewise.
837
838 2006-10-30  Paolo Carlini  <pcarlini@suse.de>
839
840         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Actually
841         do test max_size().
842
843 2006-10-30  Joseph Myers  <joseph@codesourcery.com>
844
845         * testsuite/config/default.exp (${tool}_target_compile): Use
846         v3_target_compile.
847
848 2006-10-29  Paolo Carlini  <pcarlini@suse.de>
849
850         * src/debug.cc (_Safe_sequence_base::_M_revalidate_singular): Fix
851         pasto, advance __iter only once per iteration.
852
853 2006-10-29  Paolo Carlini  <pcarlini@suse.de>
854
855         PR libstdc++/29520
856         * include/tr1/random (geometric_distribution<>::
857         operator()(_UniformRandomNumberGenerator&)): Only declare.
858         * include/tr1/random.tcc (geometric_distribution<>::
859         operator()(_UniformRandomNumberGenerator&),
860         poisson_distribution<>::operator()(_UniformRandomNumberGenerator&),
861         binomial_distribution<>::operator()(_UniformRandomNumberGenerator&)):
862         Reject candidate floating point values not convertible to the
863         result_type.
864
865 2006-10-28  Paolo Carlini  <pcarlini@suse.de>
866
867         * include/tr1/array (array<>::_M_at): New.
868         (array<>::at): Fix off-by-one bug, use the above.
869         * testsuite/tr1/6_containers/array/element_access/
870         at_out_of_range.cc: Adjust.
871
872         * include/tr1/array (class array<>): Remove non-conforming default
873         for the second parameter.
874         * include/ext/array_allocator.h: Adjust.
875
876         * include/tr1/array (array<>::front, array<>::back): Do not return
877         a reference to memory not belonging to the array when _Nm == 0.
878
879 2006-10-17  Paolo Carlini  <pcarlini@suse.de>
880
881         * include/bits/locale_facets.tcc (money_get<>::__do_get(iter_type,
882         iter_type, bool, ios_base&, ios_base::iostate&, double&),
883         money_get<>::do_get(iter_type, iter_type, bool, ios_base&,
884         ios_base::iostate&, long double&), money_get<>::do_get(iter_type,
885         iter_type, bool, ios_base&, ios_base::iostate&, string_type&)): Tidy.
886
887 2006-10-17  Paolo Carlini  <pcarlini@suse.de>
888
889         PR libstdc++/26020
890         * include/bits/stl_iterator_base_funcs.h (advance): Convert
891         distance parameter to iterator_traits<>::difference_type.
892         * testsuite/24_iterators/26020.cc: New.
893
894 2006-10-17  Benjamin Kosnik  <bkoz@redhat.com>
895
896         * include/tr1/random.tcc: Fixup long line.
897
898 2006-10-17  Benjamin Kosnik  <bkoz@redhat.com>
899
900         PR libstdc++/28514
901         * include/bits/cpp_type_traits.h (__detail): Uglify namespace.
902         * include/ext/rope: Remove global-scope anonymous namespace, use
903         nested __detail. Fixup resulting formatting issues.
904         * include/ext/ropeimpl.h: Same.
905         * include/tr1/hashtable_policy.h: Remove anonymous namespace
906         nesting for __detail.
907         * include/tr1/random: Revert anonymous namespace to nested
908         __detail namespace.
909         * include/tr1/random.tcc: Same.
910         * src/ext-inst.cc: Fixups for above.
911
912 2006-10-16  Douglas Gregor  <doug.gregor@gmail.com>
913
914         * include/Makefile.am (tr1_headers): Add new tuple_defs.h.
915         * include/Makefile.in (tr1_headers): Regenerate.
916         * include/tr1/tuple (tuple): Move declaration to tuple_defs.h.
917         (get): Ditto.
918         (operator==): Ditto.
919         (operator<): Ditto.
920         (operator!=): Ditto.
921         (operator>): Ditto.
922         (operator<=): Ditto.
923         (operator>=): Ditto.
924         (__stripped_tuple_type): Ditto.
925         Include tuple.defs.h
926         * include/tr1/tuple_iterate.h (tuple): Use
927         _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED macro instead of 10
928         "typename"s.
929         (tuple_element): Use _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS and
930         _GLIBCXX_TYPLE_ALL_TEMPLATE_ARGS instead of 10
931         parameters/arguments.
932         * include/tr1/tuple_defs.h: New header, contains declarations and
933         definitions for the tuple template with all arguments.
934         * include/tr1/repeat.h (_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS): New.
935         (_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED): New.
936         (_GLIBCXX_TUPLE_ALL_TEMPLATE_ARGS): New.
937         (_GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS): New.
938         (_GLIBCXX_TEMPLATE_ARGS_STRIPPED): New.
939         * scripts/gen_includers.pl: Update.
940         * scripts/gen_includers2.pl: New.
941
942 2006-10-16  Benjamin Kosnik  <bkoz@redhat.com>
943
944         PR libstdc++/29095 continued
945         * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): Additions
946         so that testing not in the build directory works for the "C"
947         target language.
948
949 2006-10-16  Jakub Jelinek  <jakub@redhat.com>
950
951         * include/bits/basic_string.tcc (_Rep::_S_create): Call
952         _M_set_sharable() for backwards compatibility.
953
954 2006-10-15  Paolo Carlini  <pcarlini@suse.de>
955
956         * include/bits/istream.tcc (getline(basic_istream<>&,
957         basic_string<>&)): Move...
958         * include/bits/basic_string.h: ... here.
959         (operator<<(basic_ostream<>&, const basic_string<>&)): Mark inline.
960
961 2006-10-15  Geoffrey Keating  <geoffk@apple.com>
962
963         * scripts/make_exports.pl: Use -_ rather than --strip-underscores
964         or --strip-underscore.
965
966 2006-10-14  Geoffrey Keating  <geoffk@apple.com>
967
968         * aclocal.m4: Regenerate.
969         * configure: Regenerate with released autoconf-2.59.
970
971 2006-10-14  Paolo Carlini  <pcarlini@suse.de>
972
973         * docs/html/faq/index.html: Update.
974         * docs/html/faq/index.txt: Regenerate.
975
976 2006-10-14  Paolo Carlini  <pcarlini@suse.de>
977
978         * include/bits/ostream.tcc (operator<<(basic_ostream<>&,
979         const char*)): Further fix for throwing widen.
980
981 2006-10-14  Paolo Carlini  <pcarlini@suse.de>
982
983         * include/bits/ostream.tcc (operator<<(basic_ostream<>&,
984         const char*)): Fix thinko in change for libstdc++/28277,
985         avoid memory leaks.
986
987 2006-10-13  Paolo Carlini  <pcarlini@suse.de>
988
989         * include/bits/istream.tcc (operator>>(__istream_type&
990         (*)(__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
991         operator>>(ios_base& (*)(ios_base&))): Move...
992         * include/std/std_istream.h: ... here.
993         (operator>>(basic_istream<char,>&, unsigned char&),
994         operator>>(basic_istream<char,>&, signed char&),
995         operator>>(basic_istream<char,>&, unsigned char*),
996         operator>>(basic_istream<char,>&, signed char*)): Mark inline.
997         * include/bits/ostream.tcc (operator<<(__ostream_type&
998         (*)(__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
999         operator<<(ios_base& (*)(ios_base&))): Move...
1000         * include/std/std_ostream.h: ... here.
1001         (operator<<(basic_ostream<>&, _CharT),
1002         operator<<(basic_ostream<>&, char),
1003         operator<<(basic_ostream<char,>&, char),
1004         operator<<(basic_ostream<char,>&, signed char),
1005         operator<<(basic_ostream<char,>&, unsigned char),
1006         operator<<(basic_ostream<>&, const _CharT*),
1007         operator<<(basic_ostream<char,>&, const char*),
1008         operator<<(basic_ostream<char,>&, const signed char*),
1009         operator<<(basic_ostream<char,>&, const unsigned char*),
1010         endl(basic_ostream<>&), ends(basic_ostream<>&),
1011         flush(basic_ostream<>&)): Mark inline.
1012
1013 2006-10-13  Paolo Carlini  <pcarlini@suse.de>
1014
1015         PR libstdc++/28277 (partial: ostream bits 2)
1016         * include/std/std_ostream.h (basic_ostream<>::_M_insert(const
1017         char_type*, streamsize)): New.
1018         (basic_ostream<>::_M_write(char_type, streamsize)): Likewise.
1019         (operator<<(basic_ostream<>&, _CharT), operator<<(basic_ostream<>&,
1020         char), operator<<(basic_ostream<>&, const _CharT*),
1021         operator<<(basic_ostream<>&, const char*)): Use the latter.
1022         * include/bits/ostream.tcc (basic_ostream<>::_M_insert(const
1023         char_type*, streamsize)): Define.
1024         (operator<<(basic_ostream<>&, const char*)): Use the latter.
1025         (operator<<(basic_ostream<>&, _CharT), operator<<(basic_ostream<>&,
1026         char), operator<<(basic_ostream<>&, const _CharT*),
1027         operator<<(basic_ostream<>&, const char*),
1028         operator<<(basic_ostream<>&, const basic_string<>&)): Remove.
1029         * include/bits/basic_string.h (operator<<(basic_ostream<>&,
1030         const basic_string<>&)): Use the latter, implement DR 586.
1031         * config/abi/pre/gnu.ver: Adjust, export the new _M_insert.
1032         * docs/html/ext/howto.html: Add an entry for DR 586.
1033         * testsuite/21_strings/basic_string/inserters_extractors/char/
1034         28277.cc: New.
1035         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
1036         28277.cc: Likewise.
1037         * testsuite/27_io/basic_ostream/inserters_character/char/
1038         28277-3.cc: Likewise.
1039         * testsuite/27_io/basic_ostream/inserters_character/char/
1040         28277-4.cc: Likewise.
1041         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1042         28277-2.cc: Likewise.
1043         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1044         28277-3.cc: Likewise.
1045         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
1046         28277-4.cc: Likewise.
1047
1048 2006-10-11  Paolo Carlini  <pcarlini@suse.de>
1049
1050         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 44.
1051
1052 2006-10-11  Benjamin Kosnik  <bkoz@redhat.com>
1053
1054         PR libstdc++/29426
1055         * libsupc++/guard.cc (get_static_mutex): New.
1056         (mutex_wrapper::mutex_wrapper): Use it to get properly initialized
1057         recursive mutex without ordering issues.
1058
1059         * src/locale_init.cc (__get_locale_mutex): No need to
1060         uglify. Change to get_locale_mutex.
1061
1062 2006-10-11  Paolo Carlini  <pcarlini@suse.de>
1063
1064         * testsuite/22_locale/num_put/put/char/11.cc: New.
1065         * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
1066
1067 2006-10-10  Benjamin Kosnik  <bkoz@redhat.com>
1068
1069         * testsuite/lib/libstdc++.exp (v3-build_support): Link
1070         libtestc++.a, not a bunch of object files.
1071
1072 2006-10-09  Benjamin Kosnik  <bkoz@redhat.com>
1073
1074         PR libstdc++/29118
1075         * src/locale_init.cc (__get_locale_mutex): New.
1076         (locale::locale): Use it.
1077         (locale::global): Use it.
1078
1079 2006-10-09  Benjamin Kosnik  <bkoz@redhat.com>
1080
1081         PR libstdc++/29095
1082         * libsupc++/cxxabi.h (__cxa_cdtor_type): Explicit "C" linkage.
1083         * config/cpu/arm/cxxabi_tweaks.h: Same.
1084         * config/cpu/generic/cxxabi_tweaks.h: Same.
1085         * testsuite/abi: Add.
1086         * testsuite/abi/header_cxxabi.cc: New.
1087         * testsuite/demangle: Move...
1088         * testsuite/abi/demangle: ...here.
1089         * testsuite/libstdc++-dg/conformance.exp: Adjust testsuite file
1090         calculation.
1091         * scripts/create_testsuite_files: Same.
1092         * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): New.
1093         (libstdc++-dg-test): Use it.
1094
1095 2006-10-09  Paolo Carlini  <pcarlini@suse.de>
1096
1097         PR libstdc++/28277 (partial: __add_grouping)
1098         * include/bits/locale_facets.tcc (__add_grouping<>(_CharT*, _CharT,
1099         const char*, size_t, const _CharT*, const _CharT*)): Rewrite in
1100         non-recursive form.
1101
1102 2006-10-09  Paolo Carlini  <pcarlini@suse.de>
1103
1104         PR libstdc++/28277 (partial: money_put bits)
1105         * include/bits/locale_facets.tcc (money_put<>::_M_insert(iter_type,
1106         ios_base&, char_type, const string_type&)): Avoid __builtin_alloca
1107         with no limit, do the work in place.
1108
1109         * include/bits/locale_facets.tcc (money_put<>::do_put(iter_type,
1110         bool, ios_base&, char_type, long double)): Avoid unnecessary
1111         __builtin_alloca, do the work in place.
1112
1113 2006-10-09  Benjamin Kosnik  <bkoz@redhat.com>
1114
1115         * src/globals_io.cc (_GLIBCXX_once): Remove, unused.
1116         (_GLIBCXX_mutex): Same.
1117         (_GLIBCXX_mutex_addres): Same.
1118         (_GLIBCXX_mutex_init): Same.
1119         (_GLIBCXX_mutex_address_init): Same.
1120
1121 2006-10-07  Paolo Carlini  <pcarlini@suse.de>
1122
1123         PR libstdc++/28277 (partial: money_get bits)
1124         * include/bits/locale_facets.tcc (money_get<>::do_get(iter_type,
1125         iter_type, bool, ios_base&, ios_base::iostate&, string_type&)):
1126         Avoid __builtin_alloca with no limit, do the work in place.
1127
1128 2006-10-07  Ion Gaztanaga  <igaztanaga@gmail.com>
1129             Paolo Carlini  <pcarlini@suse.de>
1130
1131         * include/bits/stl_tree.h (_Rb_tree<>::erase(const _Key&)): Don't
1132         call std::distance unnecessarily.
1133
1134 2006-10-06  Paolo Carlini  <pcarlini@suse.de>
1135
1136         PR libstdc++/29368
1137         * include/bits/basic_string.h: Adjust rfind documentation.
1138         * include/ext/vstring.h: Likewise.
1139
1140 2006-10-06  Paolo Carlini  <pcarlini@suse.de>
1141
1142         PR libstdc++/29354
1143         * include/bits/sstream.tcc (basic_stringbuf<>::seekpos(pos_type,
1144         ios_base::openmode)): Allow for seek to pos_type(off_type(0))
1145         when the stream is empty.
1146         * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: New.
1147         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: New.
1148
1149 2006-10-04  Benjamin Kosnik  <bkoz@redhat.com>
1150             Mike Stump  <mrs@apple.com>
1151
1152         * testsuite/27_io/ios_base/storage/2.cc: Fail on Darwin 8.[0-4].* only.
1153         * testsuite/23_containers/vector/resize/1.cc: Same.
1154
1155 2006-10-04  Benjamin Kosnik  <bkoz@redhat.com>
1156
1157         * testsuite/util/performance/priority_queue/mem_usage/
1158         pop_test.hpp: Correct typo.
1159         * testsuite/util/performance/assoc/mem_usage/
1160         multimap_insert_test.hpp: Same.
1161         * testsuite/util/performance/assoc/mem_usage/erase_test.hpp: Same.
1162
1163 2006-10-03  Benjamin Kosnik  <bkoz@redhat.com>
1164
1165         * testsuite/util/testsuite_allocator.h (allocation_tracker): To
1166         tracker_allocator_counter.
1167         (allocation_tracker::allocationTotal): To get_allocation_count.
1168         (allocation_tracker::deallocationTotal): To get_deallocation_count.
1169         (allocation_tracker::constructCount): To get_construct_count.
1170         (allocation_tracker::destructCount): To get_destruct_count.
1171         (allocation_tracker::resetCounts): To reset.
1172         (tracker_alloc): To tracker_allocator.
1173         * testsuite/util/performance/mem: Remove.
1174         * testsuite/util/performance/mem/mem_track_allocator_base.hpp: Remove.
1175         * testsuite/util/performance/mem/mem_track_allocator.hpp: Remove.
1176         * testsuite/27_io/basic_stringbuf/4.cc: Adjust for new names
1177         or includes.
1178         * testsuite/ext/hash_set/check_construct_destroy.cc: Same.
1179         * testsuite/ext/slist/check_construct_destroy.cc: Same.
1180         * testsuite/performance/ext/pb_ds/
1181         hash_random_int_erase_mem_usage.cc: Same.
1182         * testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
1183         * testsuite/performance/ext/pb_ds/
1184         priority_queue_text_pop_mem_usage.cc: Same.
1185         * testsuite/23_containers/vector/capacity/2.cc: Same.
1186         * testsuite/23_containers/vector/cons/4.cc: Same.
1187         * testsuite/23_containers/vector/check_construct_destroy.cc: Same.
1188         * testsuite/23_containers/deque/cons/2.cc: Same.
1189         * testsuite/23_containers/deque/check_construct_destroy.cc: Same.
1190         * testsuite/23_containers/list/check_construct_destroy.cc: Same.
1191         * testsuite/23_containers/set/check_construct_destroy.cc: Same.
1192         * testsuite/util/testsuite_allocator.h
1193         * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp
1194         * testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp
1195         * testsuite/util/performance/assoc/mem_usage/erase_test.hpp
1196         * testsuite/util/testsuite_allocator.cc: Same.
1197
1198 2006-10-03  Benjamin Kosnik  <bkoz@redhat.com>
1199
1200         * testsuite/util/native_type/priority_queue/native_pq_tag.hpp: Remove.
1201         * testsuite/util/statistic/sample_var.hpp: Rename to...
1202         * testsuite/util/statistic/sample_variance.hpp: ... this.
1203         * testsuite/util/statistic/res_recorder.hpp: Rename to...
1204         * testsuite/util/statistic/result_recorder.hpp: ... this.
1205         * testsuite/util/statistic/sample_mean.hpp: Format.
1206         * testsuite/util/statistic/sample_mean_confidence_checker.hpp: Same.
1207         * testsuite/util/regression/trait/priority_queue/trait.hpp: Same.
1208         * testsuite/util/regression/trait/erase_if_fn.hpp: Same.
1209         * testsuite/util/regression/trait/assoc/trait.hpp: Same.
1210         * testsuite/util/native_type/priority_queue/
1211         native_priority_queue.hpp: Same.
1212         * testsuite/util/native_type/assoc/native_tree_tag.hpp: Same.
1213         * testsuite/util/native_type/assoc/native_hash_tag.hpp: Same.
1214         * testsuite/util/native_type/assoc/native_hash_map.hpp: Same.
1215         * testsuite/util/performance/priority_queue/timing/join_test.hpp: Same.
1216         * testsuite/util/performance/priority_queue/timing/
1217         modify_test.hpp: Same.
1218         * testsuite/util/performance/assoc/timing/
1219         subscript_insert_test.hpp: Same.
1220         * testsuite/util/performance/time/timing_test_base.hpp: Same.
1221
1222 2006-10-02  Paolo Carlini  <pcarlini@suse.de>
1223
1224         * include/ext/rc_string_base.h (_M_compare<wchar_t>):
1225         Protect with _GLIBCXX_USE_WCHAR_T.
1226         * include/ext/sso_string_base.h (_M_compare<wchar_t>):
1227         Likewise.
1228         (__sso_string_base<>::_M_destroy): Inline.
1229
1230 2006-10-02  Benjamin Kosnik  <bkoz@redhat.com>
1231
1232         * include/ext/pb_ds/detail/basic_types.hpp (comp_hash_): Remove,
1233         format.
1234         * include/ext/pb_ds/detail/types_traits.hpp
1235         (types_traits::comp_hash): Use pair typedef.
1236         * include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
1237         * include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Same.
1238
1239 2006-10-01  Paolo Carlini  <pcarlini@suse.de>
1240
1241         * include/tr1/random (xor_combine<>::_M_initialize_max_aux): New.
1242         (xor_combine<>::operator()()): Tweak per N2079.
1243         * include/tr1/random.tcc (xor_combine<>::_M_initialize_max_aux):
1244         Define.
1245         (xor_combine<>::_M_initialize_max): Use it.
1246         * testsuite/tr1/5_numerical_facilities/random/xor_combine/
1247         cons/default.cc: Adjust.
1248         * docs/html/ext/tr1.html: Adjust.
1249
1250 2006-10-01  Paolo Carlini  <pcarlini@suse.de>
1251
1252         * include/ext/type_traits.h: Avoid _T, badname for some targets;
1253         also avoid plain T.
1254
1255 2006-10-01  Paolo Carlini  <pcarlini@suse.de>
1256
1257         * config/io/basic_file_stdio.cc: As an extension, and
1258         consistently with C facilities, allow for in|out|app and
1259         in|out|app|binary openmodes.
1260         * testsuite/27_io/basic_filebuf/open/char/4.cc: New.
1261
1262 2006-09-30  Benjamin Kosnik  <bkoz@redhat.com>
1263
1264         * include/ext/pb_ds/detail/types_traits.hpp (store_extra_false_type):
1265         To false_type.
1266         (store_extra_true_type): To true_type.
1267         (no_throw_copies_true_type): To true_type.
1268         (no_throw_copies_false_type): To false_type.
1269         * include/ext/pb_ds/detail/cc_hash_table_map_/
1270         insert_no_store_hash_fn_imps.hpp: Same.
1271         * include/ext/pb_ds/detail/cc_hash_table_map_/
1272         resize_store_hash_fn_imps.hpp: Same.
1273         * include/ext/pb_ds/detail/cc_hash_table_map_/
1274         insert_store_hash_fn_imps.hpp: Same.
1275         * include/ext/pb_ds/detail/cc_hash_table_map_/
1276         entry_list_fn_imps.hpp: Same.
1277         * include/ext/pb_ds/detail/cc_hash_table_map_/
1278         debug_no_store_hash_fn_imps.hpp: Same.
1279         * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
1280         * include/ext/pb_ds/detail/cc_hash_table_map_/
1281         debug_store_hash_fn_imps.hpp: Same.
1282         * include/ext/pb_ds/detail/cc_hash_table_map_/
1283         resize_no_store_hash_fn_imps.hpp: Same.
1284         * include/ext/pb_ds/detail/gp_hash_table_map_/
1285         insert_no_store_hash_fn_imps.hpp: Same.
1286         * include/ext/pb_ds/detail/gp_hash_table_map_/
1287         resize_store_hash_fn_imps.hpp: Same.
1288         * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
1289         * include/ext/pb_ds/detail/gp_hash_table_map_/
1290         insert_store_hash_fn_imps.hpp: Same.
1291         * include/ext/pb_ds/detail/gp_hash_table_map_/
1292         find_no_store_hash_fn_imps.hpp: Same.
1293         * include/ext/pb_ds/detail/gp_hash_table_map_/
1294         debug_no_store_hash_fn_imps.hpp: Same.
1295         * include/ext/pb_ds/detail/gp_hash_table_map_/
1296         debug_store_hash_fn_imps.hpp: Same.
1297         * include/ext/pb_ds/detail/gp_hash_table_map_/
1298         resize_no_store_hash_fn_imps.hpp: Same.
1299         * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
1300
1301 2006-09-29  Benjamin Kosnik  <bkoz@redhat.com>
1302
1303         * include/ext/pb_ds/detail/cc_hash_table_map_/
1304         constructor_destructor_no_store_hash_fn_imps.hpp: Formating fixes.
1305         * include/ext/pb_ds/detail/basic_tree_policy/
1306         null_node_metadata.hpp: Same.
1307         * include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Same.
1308         * include/ext/pb_ds/detail/basic_types.hpp: Same.
1309         * include/ext/pb_ds/detail/list_update_policy/
1310         mtf_lu_policy_imp.hpp: Same.
1311         * include/ext/pb_ds/detail/list_update_policy/
1312         counter_lu_metadata.hpp: Same.
1313         * include/ext/pb_ds/detail/list_update_policy/
1314         sample_update_policy.hpp: Same.
1315         * include/ext/pb_ds/detail/list_update_policy/
1316         counter_lu_policy_imp.hpp: Same.
1317         * include/ext/pb_ds/list_update_policy.hpp: Same.
1318
1319 2006-09-29  Benjamin Kosnik  <bkoz@redhat.com>
1320             Howard Hinnant  <hhinnant@apple.com>
1321             Paolo Carlini  <pcarlini@suse.de>
1322
1323         * include/ext/type_traits.h (__remove_unsigned): Fix up for signed
1324         char, bool, wchar_t, and floating point types.
1325         (__add_unsigned): Same.
1326         * testsuite/ext/type_traits: New.
1327         * testsuite/ext/type_traits.cc: Move...
1328         * testsuite/ext/type_traits/numeric_traits.cc: ...here.
1329         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: New.
1330         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: New.
1331         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: New.
1332         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: New.
1333         * testsuite/ext/type_traits/add_unsigned.cc: New.
1334         * testsuite/ext/type_traits/remove_unsigned.cc: New.
1335
1336 2006-09-29  Joseph S. Myers  <joseph@codesourcery.com>
1337
1338         * acinclude.m4 (enable_symvers): Default to no if unable to link.
1339         * configure: Regenerate.
1340
1341 2006-09-28  Paolo Carlini  <pcarlini@suse.de>
1342
1343         * include/bits/stl_uninitialized.h
1344         (__uninitialized_fill_n_a(_ForwardIterator, _Size, const _Tp&,
1345         allocator<>)): Inline.
1346
1347 2006-09-28  Benjamin Kosnik  <bkoz@redhat.com>
1348
1349         * include/ext/pb_ds/detail/cc_hash_table_map_/
1350         erase_store_hash_fn_imps.hpp: Formatting fixes.
1351         * include/ext/pb_ds/detail/cc_hash_table_map_/
1352         constructor_destructor_no_store_hash_fn_imps.hpp: Same.
1353         * include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp: Same.
1354         * include/ext/pb_ds/detail/cc_hash_table_map_/
1355         insert_no_store_hash_fn_imps.hpp: Same.
1356         * include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp: Same.
1357         * include/ext/pb_ds/detail/cc_hash_table_map_/
1358         policy_access_fn_imps.hpp: Same.
1359         * include/ext/pb_ds/detail/cc_hash_table_map_/
1360         resize_store_hash_fn_imps.hpp: Same.
1361         * include/ext/pb_ds/detail/cc_hash_table_map_/
1362         constructor_destructor_store_hash_fn_imps.hpp: Same.
1363         * include/ext/pb_ds/detail/cc_hash_table_map_/
1364         insert_store_hash_fn_imps.hpp: Same.
1365         * include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp: Same.
1366         * include/ext/pb_ds/detail/cc_hash_table_map_/
1367         entry_list_fn_imps.hpp: Same.
1368         * include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp: Same.
1369         * include/ext/pb_ds/detail/cc_hash_table_map_/
1370         find_store_hash_fn_imps.hpp: Same.
1371         * include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
1372         * include/ext/pb_ds/detail/cc_hash_table_map_/
1373         debug_no_store_hash_fn_imps.hpp: Same.
1374         * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
1375         * include/ext/pb_ds/detail/cc_hash_table_map_/
1376         constructor_destructor_fn_imps.hpp: Same.
1377         * include/ext/pb_ds/detail/cc_hash_table_map_/
1378         cond_key_dtor_entry_dealtor.hpp: Same.
1379         * include/ext/pb_ds/detail/cc_hash_table_map_/
1380         debug_store_hash_fn_imps.hpp: Same.
1381         * include/ext/pb_ds/detail/cc_hash_table_map_/
1382         erase_no_store_hash_fn_imps.hpp: Same.
1383         * include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp: Same.
1384         * include/ext/pb_ds/detail/cc_hash_table_map_/
1385         iterators_fn_imps.hpp: Same.
1386         * include/ext/pb_ds/detail/cc_hash_table_map_/
1387         resize_no_store_hash_fn_imps.hpp: Same.
1388         * include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Same.
1389         * include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp: Same.
1390         * include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Same.
1391         * include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Same.
1392         * include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Same.
1393         * include/ext/pb_ds/detail/pat_trie_/head.hpp: Same.
1394         * include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp: Same.
1395         * include/ext/pb_ds/detail/pat_trie_/cond_dtor_entry_dealtor.hpp: Same.
1396         * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
1397         * include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Same.
1398         * include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Same.
1399         * include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Same.
1400         * include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Same.
1401         * include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Same.
1402         * include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Same.
1403         * include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Same.
1404         * include/ext/pb_ds/detail/gp_hash_table_map_/
1405         erase_store_hash_fn_imps.hpp: Same.
1406         * include/ext/pb_ds/detail/gp_hash_table_map_/
1407         constructor_destructor_no_store_hash_fn_imps.hpp: Same.
1408         * include/ext/pb_ds/detail/gp_hash_table_map_/
1409         insert_no_store_hash_fn_imps.hpp: Same.
1410         * include/ext/pb_ds/detail/gp_hash_table_map_/
1411         policy_access_fn_imps.hpp: Same.
1412         * include/ext/pb_ds/detail/gp_hash_table_map_/
1413         resize_store_hash_fn_imps.hpp: Same.
1414         * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
1415         * include/ext/pb_ds/detail/gp_hash_table_map_/
1416         constructor_destructor_store_hash_fn_imps.hpp: Same.
1417         * include/ext/pb_ds/detail/gp_hash_table_map_/
1418         insert_store_hash_fn_imps.hpp: Same.
1419         * include/ext/pb_ds/detail/gp_hash_table_map_/
1420         iterator_fn_imps.hpp: Same.
1421         * include/ext/pb_ds/detail/gp_hash_table_map_/
1422         info_fn_imps.hpp: Same.
1423         * include/ext/pb_ds/detail/gp_hash_table_map_/
1424         find_no_store_hash_fn_imps.hpp: Same.
1425         * include/ext/pb_ds/detail/gp_hash_table_map_/
1426         find_store_hash_fn_imps.hpp: Same.
1427         * include/ext/pb_ds/detail/gp_hash_table_map_/
1428         debug_no_store_hash_fn_imps.hpp: Same.
1429         * include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
1430         * include/ext/pb_ds/detail/gp_hash_table_map_/
1431         constructor_destructor_fn_imps.hpp: Same.
1432         * include/ext/pb_ds/detail/gp_hash_table_map_/
1433         erase_no_store_hash_fn_imps.hpp: Same.
1434         * include/ext/pb_ds/detail/gp_hash_table_map_/
1435         resize_no_store_hash_fn_imps.hpp: Same.
1436         * include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
1437         * include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Same.
1438         * include/ext/pb_ds/detail/ov_tree_map_/
1439         policy_access_fn_imps.hpp: Same.
1440         * include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Same.
1441         * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
1442         * include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
1443         * include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
1444         * include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
1445         * include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp: Same.
1446         * include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp: Same.
1447         * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Same.
1448         * include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Same.
1449         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Same.
1450         * include/ext/pb_ds/detail/splay_tree_/
1451         constructors_destructor_fn_imps.hpp: Same.
1452         * include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Same.
1453         * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Same.
1454         * include/ext/pb_ds/detail/splay_tree_/node.hpp: Same.
1455         * include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp: Same.
1456         * include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
1457         * include/ext/pb_ds/detail/splay_tree_/traits.hpp: Same.
1458         * include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp: Same.
1459         * include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp: Same.
1460         * include/ext/pb_ds/detail/list_update_map_/
1461         entry_metadata_base.hpp: Same.
1462         * include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp: Same.
1463         * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
1464         * include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp: Same.
1465         * include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp: Same.
1466         * include/ext/pb_ds/detail/list_update_map_/
1467         iterators_fn_imps.hpp: Same.
1468         * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Same.
1469         * include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Same.
1470         * include/ext/pb_ds/detail/rb_tree_map_/
1471         constructors_destructor_fn_imps.hpp: Same.
1472         * include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Same.
1473         * include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
1474         * include/ext/pb_ds/detail/rb_tree_map_/node.hpp: Same.
1475         * include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp: Same.
1476         * include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Same.
1477         * include/ext/pb_ds/detail/rb_tree_map_/traits.hpp: Same.
1478
1479 2006-09-28  Paolo Carlini  <pcarlini@suse.de>
1480
1481         * include/tr1/boost_shared_ptr.h: Use __atomic_add_dispatch and
1482         __exchange_and_add_dispatch everywhere.
1483
1484 2006-09-27  Benjamin Kosnik  <bkoz@redhat.com>
1485
1486         * include/ext/typelist.h (type_to_type): Remove.
1487         * include/ext/throw_allocator.h (assert_allocatod): Remove.
1488         (check_allocated(label)): New.
1489         (print_to_string): Print numerical output correctly.
1490
1491         * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Adjust line numbers.
1492
1493         * testsuite/util/regression/rand/priority_queue/detail/
1494         operator_fn_imps.hpp: Set and clear label, throw
1495         probability. Check only allocations of the marked label.
1496         * testsuite/util/regression/rand/assoc/detail/
1497         operator_fn_imps.hpp: Same.
1498
1499         * testsuite/performance/ext/pb_ds/text_find_timing.cc: Adjustments for
1500         removal of type_to_type.
1501         * testsuite/performance/ext/pb_ds/
1502         hash_random_int_erase_mem_usage.cc: Same.
1503         * testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
1504         * testsuite/performance/ext/pb_ds/
1505         priority_queue_text_push_timing.cc: Same.
1506         * testsuite/performance/ext/pb_ds/
1507         random_int_subscript_find_timing.cc: Same.
1508         * testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
1509         * testsuite/performance/ext/pb_ds/random_int_find_timing.cc: Same.
1510         * testsuite/performance/ext/pb_ds/
1511         multimap_text_insert_mem_usage.hpp: Same.
1512         * testsuite/performance/ext/pb_ds/
1513         priority_queue_random_int_push_timing.cc: Same.
1514         * testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp: Same.
1515         * testsuite/performance/ext/pb_ds/
1516         priority_queue_text_modify_timing.hpp: Same.
1517         * testsuite/performance/ext/pb_ds/
1518         tree_order_statistics_timing.cc: Same.
1519         * testsuite/performance/ext/pb_ds/
1520         priority_queue_text_push_pop_timing.cc: Same.
1521         * testsuite/performance/ext/pb_ds/
1522         priority_queue_text_join_timing.cc: Same.
1523         * testsuite/performance/ext/pb_ds/
1524         priority_queue_random_int_push_pop_timing.cc: Same.
1525         * testsuite/performance/ext/pb_ds/
1526         random_int_subscript_insert_timing.cc: Same.
1527         * testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
1528         * testsuite/performance/ext/pb_ds/
1529         multimap_text_insert_timing.hpp: Same.
1530         * testsuite/performance/ext/pb_ds/
1531         priority_queue_text_pop_mem_usage.cc: Same.
1532         * testsuite/performance/ext/pb_ds/
1533         hash_zlob_random_int_find_timing.cc: Same.
1534         * testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
1535         * testsuite/util/regression/rand/priority_queue/
1536         rand_regression_test.hpp: Same.
1537         * testsuite/util/regression/rand/assoc/detail/
1538         constructor_destructor_fn_imps.hpp: Same.
1539         * testsuite/util/regression/rand/assoc/detail/insert_fn_imps.hpp: Same.
1540         * testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
1541         * testsuite/util/regression/rand/assoc/
1542         container_rand_regression_test.hpp: Same.
1543         * testsuite/util/regression/assoc/common_type.hpp: Same.
1544         * testsuite/util/regression/basic_type.hpp: Same.
1545         * testsuite/util/common_type/assoc/common_type.hpp: Same.
1546         * testsuite/util/common_type/assoc/string_form.hpp: Same.
1547         * testsuite/util/common_type/assoc/template_policy.hpp: Same.
1548         * testsuite/util/common_type/assoc/native_set.hpp: Same.
1549         * testsuite/util/performance/priority_queue/mem_usage/
1550         pop_test.hpp: Same.
1551         * testsuite/util/performance/priority_queue/timing/
1552         push_pop_test.hpp: Same.
1553         * testsuite/util/performance/priority_queue/timing/join_test.hpp: Same.
1554         * testsuite/util/performance/priority_queue/timing/push_test.hpp: Same.
1555         * testsuite/util/performance/priority_queue/timing/
1556         modify_test.hpp: Same.
1557         * testsuite/util/performance/assoc/mem_usage/
1558         multimap_insert_test.hpp: Same.
1559         * testsuite/util/performance/assoc/mem_usage/erase_test.hpp: Same.
1560         * testsuite/util/performance/assoc/timing/
1561         multimap_insert_test.hpp: Same.
1562         * testsuite/util/performance/assoc/timing/
1563         subscript_find_test.hpp: Same.
1564         * testsuite/util/performance/assoc/timing/find_test.hpp: Same.
1565         * testsuite/util/performance/assoc/timing/
1566         subscript_insert_test.hpp: Same.
1567         * testsuite/util/performance/assoc/timing/insert_test.hpp: Same.
1568         * testsuite/util/performance/assoc/timing/
1569         tree_order_statistics_test.hpp: Same.
1570         * testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
1571         * testsuite/util/performance/assoc/timing/
1572         tree_split_join_test.hpp: Same.
1573         * testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
1574         * testsuite/util/testsuite_common_types.h: Same.
1575
1576         * include/ext/pb_ds/detail/cc_hash_table_map_/
1577         constructor_destructor_no_store_hash_fn_imps.hpp: Typedef
1578         normalization, consistency in member names between cc and gp hash
1579         tables, formatting fixes.
1580         * include/ext/pb_ds/detail/cc_hash_table_map_/
1581         erase_store_hash_fn_imps.hpp: Same.
1582         * include/ext/pb_ds/detail/cc_hash_table_map_/
1583         insert_no_store_hash_fn_imps.hpp: Same.
1584         * include/ext/pb_ds/detail/cc_hash_table_map_/
1585         constructor_destructor_store_hash_fn_imps.hpp: Same.
1586         * include/ext/pb_ds/detail/cc_hash_table_map_/
1587         insert_store_hash_fn_imps.hpp: Same.
1588         * include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp: Same.
1589         * include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp: Same.
1590         * include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
1591         * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
1592         * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
1593         * include/ext/pb_ds/detail/cc_hash_table_map_/
1594         constructor_destructor_fn_imps.hpp: Same.
1595         * include/ext/pb_ds/detail/cc_hash_table_map_/
1596         erase_no_store_hash_fn_imps.hpp: Same.
1597         * include/ext/pb_ds/detail/gp_hash_table_map_/
1598         constructor_destructor_no_store_hash_fn_imps.hpp: Same.
1599         * include/ext/pb_ds/detail/gp_hash_table_map_/
1600         erase_store_hash_fn_imps.hpp: Same.
1601         * include/ext/pb_ds/detail/gp_hash_table_map_/
1602         insert_no_store_hash_fn_imps.hpp: Same.
1603         * include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp: Same.
1604         * include/ext/pb_ds/detail/gp_hash_table_map_/
1605         constructor_destructor_store_hash_fn_imps.hpp: Same.
1606         * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
1607         * include/ext/pb_ds/detail/gp_hash_table_map_/
1608         insert_store_hash_fn_imps.hpp: Same.
1609         * include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp: Same.
1610         * include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp: Same.
1611         * include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp: Same.
1612         * include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
1613         * include/ext/pb_ds/detail/gp_hash_table_map_/
1614         constructor_destructor_fn_imps.hpp: Same.
1615         * include/ext/pb_ds/detail/gp_hash_table_map_/
1616         erase_no_store_hash_fn_imps.hpp: Same.
1617
1618         * include/ext/pb_ds/assoc_container.hpp: Formatting fixes.
1619         * include/ext/pb_ds/detail/resize_policy/
1620         hash_prime_size_policy_imp.hpp: Same.
1621         * include/ext/pb_ds/detail/resize_policy/
1622         hash_standard_resize_policy_imp.hpp: Same.
1623         * include/ext/pb_ds/detail/types_traits.hpp: Same.
1624         * include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp: Same.
1625         * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
1626         * include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
1627         * include/ext/pb_ds/detail/hash_fn/
1628         direct_mod_range_hashing_imp.hpp: Same.
1629         * include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp: Same.
1630         * include/ext/pb_ds/detail/hash_fn/
1631         direct_mask_range_hashing_imp.hpp: Same.
1632
1633 2006-09-27  Paolo Carlini  <pcarlini@suse.de>
1634
1635         PR libstdc++/29217
1636         * src/localename.cc (locale::_Impl::_M_replace_categories)):
1637         Compensate for the inconsistent numerical encodings of the
1638         collate and time categories vs the corresponding names.
1639         * testsuite/22_locale/locale/cons/29217.cc: New.
1640
1641         * testsuite/22_locale/locale/cons/2.cc: Enable and split
1642         out the few ENC_TRAITS bits to...
1643         * testsuite/22_locale/locale/cons/unicode/1.cc... here.
1644
1645 2006-09-25  Howard Hinnant  <hhinnant@apple.com>
1646
1647         PR libstdc++/29224
1648         * include/tr1/functional_iterate.h: Avoid -Wshadow warnings.
1649
1650 2006-09-25  Paolo Carlini  <pcarlini@suse.de>
1651
1652         PR libstdc++/29179
1653         * include/ext/mt_allocator.h (__pool_base): Adjust/extend
1654         documentation in comments.
1655
1656 2006-09-24  Paolo Carlini  <pcarlini@suse.de>
1657
1658         * include/tr1/boost_shared_ptr.h (shared_ptr<>::shared_ptr(const
1659         __shared_ptr<>&), shared_ptr(const __weak_ptr<>&),
1660         shared_ptr(const __shared_ptr<>&, __static_cast_tag),
1661         shared_ptr(const __shared_ptr<>&, __const_cast_tag),
1662         shared_ptr(const __shared_ptr<>&, __dynamic_cast_tag),
1663         weak_ptr<>::weak_ptr(const __shared_ptr<>&), weak_ptr(const
1664         __weak_ptr<>&)): Remove.
1665         (shared_ptr<>::shared_ptr(const shared_ptr<>&),
1666         shared_ptr(const weak_ptr<>&), shared_ptr(const shared_ptr<>&,
1667         __static_cast_tag), shared_ptr(const shared_ptr<>&,
1668         __const_cast_tag), shared_ptr(const shared_ptr<>&,
1669         __dynamic_cast_tag), static_pointer_cast(const shared_ptr<>&),
1670         const_pointer_cast(const shared_ptr<>&), dynamic_pointer_cast(const
1671         shared_ptr<>&), weak_ptr<>::weak_ptr(const shared_ptr<>&),
1672         weak_ptr(const weak_ptr<>&), weak_ptr<>::lock(),
1673         __enable_shared_from_this_helper(const __shared_count<>&, const
1674         enable_shared_from_this<>*, const _Tp2*)): Add.
1675         (class enable_shared_from_this): Add.
1676         * testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/
1677         1.cc: New.
1678         * testsuite/tr1/2_general_utilities/memory/shared_ptr/casts/1.cc:
1679         Likewise.
1680         * testsuite/tr1/2_general_utilities/memory/weak_ptr/lock/1.cc:
1681         Likewise.
1682
1683         * include/tr1/boost_shared_ptr.h: Further formatting and
1684         uglification fixes.
1685
1686 2006-09-22  Paolo Carlini  <pcarlini@suse.de>
1687
1688         PR libstdc++/29134 (vector<bool> bits)
1689         * include/bits/stl_bvector.h (vector<bool>::max_size):
1690         Use allocator' max_size.
1691         * testsuite/23_containers/vector/bool/capacity/29134.cc: New.
1692
1693         * testsuite/23_containers/deque/capacity/29134-2.cc: Minor tweak.
1694         * testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.
1695
1696 2006-09-22  Paolo Carlini  <pcarlini@suse.de>
1697
1698         * include/tr1/type_traits (add_reference): Robustify vs
1699         reference to void.
1700         * testsuite/tr1/4_metaprogramming/reference_modifications/
1701         add_reference.cc: Add test.
1702
1703         * include/tr1/memory: include <tr1/type_traits>.
1704         * include/tr1/boost_shared_ptr.h (__shared_ptr<>::operator*):
1705         Use add_reference instead.
1706         * testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/
1707         explicit_instantiation/1.cc: New.
1708         * testsuite/tr1/2_general_utilities/memory/shared_ptr/
1709         explicit_instantiation/1.cc: Likewise.
1710         * testsuite/tr1/2_general_utilities/memory/weak_ptr/
1711         explicit_instantiation/1.cc: Likewise.
1712
1713         * testsuite/util/testsuite_tr1.h: Tweak; avoid empty enum.
1714
1715         * include/tr1/type_traits_fwd.h: Spelling fix.
1716
1717         * include/tr1/boost_shared_ptr.h: Obvious stylistic fixes.
1718
1719 2006-09-22  Paolo Carlini  <pcarlini@suse.de>
1720
1721         * include/tr1/boost_shared_ptr.h: Trivial formatting fixes.
1722
1723 2006-09-21  Benjamin Kosnik  <bkoz@redhat.com>
1724
1725         * include/ext/type_traits.h (__numeric_traits_integer): New.
1726         (__numeric_traits_floating): New.
1727         (__numeric_traits): Use them.
1728         * testsuite/ext/type_traits.cc: New.
1729
1730 2006-09-21  Paolo Carlini  <pcarlini@suse.de>
1731
1732         * include/ext/hash_map: Remove forward declaration of equality
1733         operator, not needed for friendship of all its instances.
1734         * include/ext/hash_set: Likewise.
1735         * include/bits/stl_set.h: Likewise for equality operator and
1736         operator less.
1737         * include/bits/stl_multiset.h: Likewise.
1738         * include/bits/stl_multimap.h: Likewise.
1739         * include/bits/stl_queue.h: Likewise.
1740         * include/bits/stl_stack.h: Likewise.
1741         * include/bits/streambuf_iterator.h: Likewise for copy.
1742         * include/std/std_streambuf.h: Likewise for __copy_aux and find.
1743         * include/tr1/boost_shared_ptr.h: Likewise for get_deleter.
1744         * include/tr1/random: Likewise, remove all forward declarations
1745         of inserters and extractors.
1746
1747 2006-09-21  Paolo Carlini  <pcarlini@suse.de>
1748
1749         * include/ext/sso_string_base.h (__sso_string_base<>::_M_max_size(),
1750         _M_destroy, _M_create): Use _M_get_allocator.
1751
1752 2006-09-21  Ben Elliston  <bje@au.ibm.com>
1753
1754         * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Remove invocations of
1755         GLIBCXX_CHECK_COMPILER_FEATURES.
1756         * configure.ac: Always invoke GLIBCXX_CHECK_COMPILER_FEATURES.
1757         Remove invocations elsewhere.
1758         * configure: Regenerate.
1759
1760 2006-09-21  Paolo Carlini  <pcarlini@suse.de>
1761
1762         PR libstdc++/29134 (ext/vstring bits)
1763         * include/ext/sso_string_base.h (__sso_string_base<>::_S_max_size):
1764         Remove.
1765         (__sso_string_base<>::_M_max_size): Use allocator' max_size.
1766         (__sso_string_base<>::_M_create): Adjust.
1767         * include/ext/vstring.h: Minor comment tweak.
1768         * testsuite/ext/vstring/capacity/29134.cc: New.
1769
1770 2006-09-20  Paolo Carlini  <pcarlini@suse.de>
1771
1772         PR libstdc++/29134
1773         * include/bits/stl_list.h (list<>::max_size): Forward to allocator'
1774         max_size.
1775         * include/bits/stl_vector.h (vector<>::max_size): Likewise.
1776         * include/bits/stl_deque.h (deque<>::max_size): Likewise.
1777         * include/bits/stl_tree.h (_Rb_tree<>::max_size): Likewise.
1778         * include/tr1/hashtable (_Hashtable<>::max_size): Likewise.
1779         * testsuite/23_containers/vector/capacity/29134.cc: Add.
1780         * testsuite/23_containers/deque/capacity/29134.cc: Likewise.
1781         * testsuite/23_containers/list/capacity/29134.cc: Likewise.
1782         * testsuite/23_containers/set/capacity/29134.cc: Likewise.
1783         * testsuite/23_containers/map/capacity/29134.cc: Likewise.
1784         * testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
1785         * testsuite/23_containers/multimap/capacity/29134.cc: Likewise.
1786         * testsuite/tr1/6_containers/unordered/capacity/29134-set.cc: Likewise.
1787         * testsuite/tr1/6_containers/unordered/capacity/29134-map.cc: Likewise.
1788         * testsuite/tr1/6_containers/unordered/capacity/29134-multiset.cc:
1789         Likewise.
1790         * testsuite/tr1/6_containers/unordered/capacity/29134-multimap.cc:
1791         Likewise.
1792
1793         * include/bits/deque.tcc (deque<>::_M_new_elements_at_front,
1794         deque<>::_M_new_elements_at_back): Check for length errors.
1795         * testsuite/23_containers/deque/capacity/29134-2.cc: New.
1796         * testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.
1797
1798         * include/tr1/hashtable (_Hashtable<>::_M_get_Value_allocator): Add.
1799         (_Hashtable<>::_M_allocate_node, _M_deallocate_node): Use it.
1800         * testsuite/tr1/6_containers/unordered/instantiate/set.cc: Add test.
1801         * testsuite/tr1/6_containers/unordered/instantiate/map.cc: Likewise.
1802         * testsuite/tr1/6_containers/unordered/instantiate/multiset.cc:
1803         Likewise.
1804         * testsuite/tr1/6_containers/unordered/instantiate/multimap.cc:
1805         Likewise.
1806
1807 2006-09-20  Benjamin Kosnik  <bkoz@redhat.com>
1808
1809         * include/ext/pb_ds/detail/
1810         typelist_assoc_container.hpp: Remove, unused.
1811         * include/ext/pb_ds/detail/typelist/
1812         typelist_assoc_container_find.hpp: Same.
1813         * include/ext/pb_ds/detail/typelist: Remove.
1814         * include/ext/pb_ds/detail/typelist.hpp: Merge...
1815         * include/ext/pb_ds/detail/typelist/typelist_flatten.hpp: Same.
1816         * include/ext/pb_ds/detail/typelist/typelist_contains.hpp: Same.
1817         * include/ext/pb_ds/detail/typelist/typelist_typelist_append.hpp: Same.
1818         * include/ext/pb_ds/detail/typelist/typelist_apply.hpp: Same.
1819         * include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same.
1820         * include/ext/pb_ds/detail/typelist/typelist_append.hpp: Same.
1821         * include/ext/pb_ds/detail/typelist/typelist_at_index.hpp: Same.
1822         * include/ext/pb_ds/detail/typelist/typelist_transform.hpp: Same.
1823         * include/ext/typelist.h: ... into this.
1824         * include/Makefile.am: Subtractions.
1825         * include/Makefile.in: Regenerate.
1826
1827         * include/ext/pb_ds/assoc_container.hpp: Fixups for new includes,
1828         namespaces, and names.
1829         * include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp: Same.
1830         * include/ext/pb_ds/detail/resize_policy/
1831         hash_prime_size_policy_imp.hpp: Same.
1832         * include/ext/pb_ds/detail/resize_policy/
1833         cc_hash_max_collision_check_resize_trigger_imp.hpp: Same.
1834         * include/ext/pb_ds/detail/resize_policy/
1835         sample_resize_policy.hpp: Same.
1836         * include/ext/pb_ds/detail/resize_policy/
1837         sample_resize_trigger.hpp: Same.
1838         * include/ext/pb_ds/detail/resize_policy/
1839         hash_exponential_size_policy_imp.hpp: Same.
1840         * include/ext/pb_ds/detail/resize_policy/
1841         hash_load_check_resize_trigger_size_base.hpp: Same.
1842         * include/ext/pb_ds/detail/resize_policy/
1843         hash_load_check_resize_trigger_imp.hpp: Same.
1844         * include/ext/pb_ds/detail/resize_policy/
1845         hash_standard_resize_policy_imp.hpp: Same.
1846         * include/ext/pb_ds/detail/container_base_dispatch.hpp: Same.
1847         * testsuite/performance/ext/pb_ds/text_find_timing.cc
1848         * testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc
1849         * testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc
1850         * testsuite/performance/ext/pb_ds/priority_queue_text_push_timing.cc
1851         * testsuite/performance/ext/pb_ds/random_int_subscript_find_timing.cc
1852         * testsuite/performance/ext/pb_ds/tree_split_join_timing.cc
1853         * testsuite/performance/ext/pb_ds/random_int_find_timing.cc
1854         * testsuite/performance/ext/pb_ds/
1855         multimap_text_insert_mem_usage.hpp: Same.
1856         * testsuite/performance/ext/pb_ds/
1857         priority_queue_random_int_push_timing.cc
1858         * testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp: Same.
1859         * testsuite/performance/ext/pb_ds/
1860         priority_queue_text_modify_timing.hpp: Same.
1861         * testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc
1862         * testsuite/performance/ext/pb_ds/
1863         priority_queue_text_push_pop_timing.cc
1864         * testsuite/performance/ext/pb_ds/priority_queue_text_join_timing.cc
1865         * testsuite/performance/ext/pb_ds/
1866         priority_queue_random_int_push_pop_timing.cc
1867         * testsuite/performance/ext/pb_ds/random_int_subscript_insert_timing.cc
1868         * testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc
1869         * testsuite/performance/ext/pb_ds/
1870         multimap_text_insert_timing.hpp: Same.
1871         * testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc
1872         * testsuite/performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc
1873         * testsuite/performance/23_containers/find/map.cc
1874         * testsuite/performance/23_containers/create/map.cc
1875         * testsuite/performance/23_containers/insert_erase/associative.cc
1876         * testsuite/performance/23_containers/insert/sequence.cc
1877         * testsuite/performance/23_containers/insert/associative.cc
1878         * testsuite/performance/23_containers/create_from_sorted/set.cc
1879         * testsuite/performance/23_containers/index/map.cc
1880         * testsuite/performance/23_containers/insert_from_sorted/set.cc
1881         * testsuite/performance/23_containers/create_sort/list.cc
1882         * testsuite/performance/23_containers/sort_search/list.cc
1883         * testsuite/performance/23_containers/producer_consumer/sequence.cc
1884         * testsuite/performance/23_containers/producer_consumer/associative.cc
1885         * testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
1886         * testsuite/util/regression/rand/priority_queue/
1887         rand_regression_test.hpp: Same.
1888         * testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
1889         * testsuite/util/regression/assoc/common_type.hpp: Same.
1890         * testsuite/util/native_type/assoc/native_multimap.hpp: Same.
1891         * testsuite/util/native_type/assoc/native_tree_tag.hpp: Same.
1892         * testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same.
1893         * testsuite/util/native_type/assoc/native_set.hpp: Same.
1894         * testsuite/util/native_type/assoc/native_map.hpp: Same.
1895         * testsuite/util/native_type/assoc/native_hash_set.hpp: Same.
1896         * testsuite/util/native_type/assoc/native_hash_map.hpp: Same.
1897         * testsuite/util/common_type/priority_queue/common_type.hpp: Same.
1898         * testsuite/util/common_type/assoc/common_type.hpp: Same.
1899         * testsuite/util/common_type/assoc/string_form.hpp: Same.
1900         * testsuite/util/common_type/assoc/template_policy.hpp: Same.
1901         * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
1902         Same.
1903         * testsuite/util/performance/priority_queue/timing/push_pop_test.hpp:
1904         Same.
1905         * testsuite/util/performance/priority_queue/timing/join_test.hpp: Same.
1906         * testsuite/util/performance/priority_queue/timing/push_test.hpp: Same.
1907         * testsuite/util/performance/priority_queue/timing/modify_test.hpp:
1908         Same.
1909         * testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp:
1910         Same.
1911         * testsuite/util/performance/assoc/mem_usage/erase_test.hpp: Same.
1912         * testsuite/util/performance/assoc/timing/common_type.hpp: Same.
1913         * testsuite/util/performance/assoc/timing/multimap_insert_test.hpp:
1914         Same.
1915         * testsuite/util/performance/assoc/timing/subscript_find_test.hpp:
1916         Same.
1917         * testsuite/util/performance/assoc/timing/find_test.hpp: Same.
1918         * testsuite/util/performance/assoc/timing/subscript_insert_test.hpp:
1919         Same.
1920         * testsuite/util/performance/assoc/timing/insert_test.hpp: Same.
1921         * testsuite/util/performance/assoc/timing/
1922         tree_order_statistics_test.hpp: Same.
1923         * testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
1924         * testsuite/util/performance/assoc/timing/tree_split_join_test.hpp:
1925         Same.
1926         * testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
1927
1928         * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Fixup line numbers.
1929
1930 2006-09-19  Paolo Carlini  <pcarlini@suse.de>
1931
1932         * include/tr1/hashtable_policy.h: Uglify all the names.
1933         * include/tr1/hashtable: Likewise.
1934         * include/tr1/unordered_map: Likewise.
1935         * include/tr1/unordered_set: Likewise.
1936         * include/tr1/functional: Uglify struct hash names.
1937         * include/tr1/cmath: Uglify namespace detail to __detail.
1938
1939 2006-09-18  Benjamin Kosnik  <bkoz@redhat.com>
1940
1941         * testsuite/util/regression/res_mng: Remove.
1942         * testsuite/util/regression/res_mng/dbg_ex_allocator_base.cc: Merge..
1943         * testsuite/util/regression/res_mng/forced_exception.hpp: Merge...
1944         * testsuite/util/regression/res_mng/dbg_ex_allocator_base.hpp: Merge..
1945         * testsuite/util/regression/res_mng/dbg_ex_allocator.hpp: Merge..
1946         * testsuite/util/testsuite_allocator.h (throw_allocator): Merge...
1947         * include/ext/throw_allocator.h (throw_allocator): ... into this.
1948         * src/throw_allocator.cc: ...and this.
1949         * include/Makefile.am (ext_headers): Add.
1950         * include/Makefile.in: Regenerate.
1951         * src/Makefile.am (sources): New.
1952         * src/Makefile.in: Regenerate.
1953         * testsuite/lib/libstdc++.exp: Subtract dbg_ex_allocator_base.cc.
1954
1955         * include/ext/pb_ds/detail/map_debug_base.hpp: Adjust
1956         includes, names, and namespaces.
1957         * testsuite/23_containers/list/modifiers/insert/25288.cc: Same.
1958         * testsuite/util/regression/rand/priority_queue/detail/
1959         erase_fn_imps.hpp: Same.
1960         * testsuite/util/regression/rand/priority_queue/detail/
1961         constructor_destructor_fn_imps.hpp: Same.
1962         * testsuite/util/regression/rand/priority_queue/detail/
1963         insert_fn_imps.hpp: Same.
1964         * testsuite/util/regression/rand/priority_queue/detail/
1965         modify_fn_imps.hpp: Same.
1966         * testsuite/util/regression/rand/priority_queue/detail/
1967         split_join_fn_imps.hpp: Same.
1968         * testsuite/util/regression/rand/priority_queue/detail/
1969         operator_fn_imps.hpp: Same.
1970         * testsuite/util/regression/rand/priority_queue/
1971         container_rand_regression_test.hpp: Same.
1972         * testsuite/util/regression/rand/assoc/detail/
1973         subscript_fn_imps.hpp: Same.
1974         * testsuite/util/regression/rand/assoc/detail/
1975         operator_fn_imps.hpp: Same.
1976         * testsuite/util/regression/rand/assoc/detail/erase_fn_imps.hpp: Same.
1977         * testsuite/util/regression/rand/assoc/detail/
1978         constructor_destructor_fn_imps.hpp
1979         * testsuite/util/regression/rand/assoc/detail/insert_fn_imps.hpp: Same.
1980         * testsuite/util/regression/rand/assoc/detail/
1981         split_join_fn_imps.hpp: Same.
1982         * testsuite/util/regression/rand/assoc/
1983         container_rand_regression_test.hpp: Same.
1984         * testsuite/util/regression/priority_queue/common_type.hpp: Same.
1985         * testsuite/util/regression/assoc/common_type.hpp: Same.
1986         * testsuite/util/regression/basic_type.hpp: Same.
1987         * testsuite/util/rng/twister_rand_gen.cc: Tweak.
1988
1989 2006-09-18  Tom Tromey  <tromey@redhat.com>
1990
1991         * configure: Rebuilt.
1992
1993 2006-09-18  Paolo Carlini  <pcarlini@suse.de>
1994
1995         * include/bits/locale_facets.tcc (_M_group_int): Remove
1996         redundant using-declaration.
1997
1998 2006-09-18  Benjamin Kosnik  <bkoz@redhat.com>
1999
2000         * include/ext/typelist.h (cond_type): Remove, use __conditional_type.
2001
2002 2006-09-18  Benjamin Kosnik  <bkoz@redhat.com>
2003             Peter Doerfler  <gcc@pdoerfler.com>
2004             Paolo Carlini  <pcarlini@suse.de>
2005
2006         * include/ext/type_traits.h: New.
2007         (__conditional_type): New.
2008         (__numeric_traits): New.
2009         (__add_unsigned): New.
2010         (__remove_unsigned): New.
2011         (__enable_if): New.
2012         * include/Makefile.am: Add.
2013         * include/Makefile.in: Regenerate.
2014         * include/ext/pb_ds/detail/type_utils.hpp: Use ext include,
2015         remove duplicates.
2016         * include/tr1/hashtable_policy.h (IF): Use __conditional_type.
2017         (_Max_digits10): Same.
2018         (identity): Use _Identity.
2019         (extract1st): Use _Select1st.
2020         * include/tr1/random (_Select): Use __conditional_type.
2021         (_To_Unsigned_Type): Use __add_unsigned. Linebreak fixups.
2022         * include/bits/locale_facets.tcc (__to_unsigned_type): Remove, use
2023         __add_unsigned.
2024         * include/tr1/random.tcc: Fixups as above.
2025         * include/tr1/unordered_map: Same.
2026         * include/tr1/hashtable: Same.
2027         * include/tr1/unordered_set: Same.
2028         * include/ext/pb_ds/detail/gp_hash_table_map_/
2029         standard_policies.hpp: Same.
2030         * include/ext/pb_ds/detail/standard_policies.hpp: Same.
2031         * include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same.
2032         * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
2033         * include/ext/pb_ds/detail/type_utils.hpp: Same.
2034         * include/ext/pb_ds/trie_policy.hpp: Same.
2035         * docs/html/ext/pb_ds/string_trie_e_access_traits.html: Same.
2036
2037         * include/bits/cpp_type_traits.h (__enable_if): Move to ext, make
2038         boolean argument first.
2039         * include/bits/locale_facets.h: Fixups for __enable_if argument
2040         and namespace switch.
2041         * include/bits/stl_algobase.h: Same.
2042         * include/bits/stl_algo.h: Same.
2043         * include/bits/stl_iterator.h: Same.
2044         * include/bits/streambuf_iterator.h: Same.
2045         * include/debug/safe_iterator.h: Same.
2046         * include/tr1/hashtable_policy.h: Same.
2047         * include/tr1/cmath: Same.
2048         * include/tr1/functional: Same.
2049         * include/tr1/functional_iterate.h: Same.
2050         * include/std/std_streambuf.h: Same.
2051         * include/c_std/std_cmath.h: Same.
2052         * testsuite/util/testsuite_tr1.h: Same.
2053         * testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
2054
2055 2006-09-18  Paolo Carlini  <pcarlini@suse.de>
2056
2057         PR libstdc++/29063
2058         * include/bits/valarray_array.h: Fix typo, undefine
2059         _DEFINE_ARRAY_FUNCTION.
2060         * include/std/std_valarray.h: Undefine _DEFINE_BINARY_OPERATOR.
2061
2062 2006-09-14  Benjamin Kosnik  <bkoz@redhat.com>
2063
2064         * include/bits/concurrence.h (__mutex::__mutex): Pass address of
2065         mutex to *_MUTEX_INIT_FUNCTION.
2066
2067 2006-09-13  Benjamin Kosnik  <bkoz@redhat.com>
2068
2069         * include/bits/atomicity.h: Move to...
2070         * include/ext/atomicity.h: ...here.
2071         * include/bits/concurrence.h: Move to...
2072         * include/ext/concurrence.h: ...here.
2073         * include/Makefile.am (ext_headers): Additions.
2074         (bits_headers): Subtractions.
2075         * include/Makefile.in: Regenerate.
2076
2077         * include/ext/bitmap_allocator.h (_Mutex), __threads_enabled,
2078         _Lock, _Auto_Lock): Subsume into...
2079         * include/bits/concurrence.h (__mutex): ..this. Error check
2080         locking and unlocking.
2081         (lock): Uglify to...
2082         (__scoped_lock): Use __mutex.
2083         (__glibcxx_mutex_define_initialized): Remove.
2084         (__glibcxx_mutex_type): Remove.
2085
2086         * include/tr1/boost_shared_ptr.h: Formating tweaks, adjustments.
2087         (_Lock_policy): Move from here...
2088         * include/ext/concurrence.h: ... to here.
2089         (__shared_ptr_default_lock_mode): To __default_lock_policy.
2090         (_S_lockfree): To _S_atomic.
2091         Document.
2092
2093         * libsupc++/guard.cc (static_mutex): Subsume into and fixup for...
2094         * include/ext/concurrence.h (__recursive_mutex): ...this. Error
2095         check locking and unlocking.
2096         * libsupc++/eh_alloc.cc: Use __scoped_lock.
2097
2098         * config/os/aix/atomicity.h: Fixups for include paths, mutex to
2099         __scoped_mutex change, removal of locking defines.
2100         * config/os/irix/atomicity.h: Same.
2101         * config/cpu/cris/atomicity.h: Same.
2102         * config/cpu/m68k/atomicity.h: Same.
2103         * config/cpu/hppa/atomicity.h: Same.
2104         * config/cpu/mips/atomicity.h: Same.
2105         * config/cpu/sparc/atomicity.h: Same.
2106         * config/cpu/i386/atomicity.h: Same.
2107         * config/cpu/i486/atomicity.h: Same.
2108         * config/cpu/sh/atomicity.h: Same.
2109         * config/cpu/generic/atomicity_mutex/atomicity.h: Same.
2110         * include/ext/pool_allocator.h: Same.
2111         * include/ext/bitmap_allocator.h: Same.
2112         * include/ext/rc_string_base.h: Same.
2113         * include/ext/mt_allocator.h: Same.
2114         * include/bits/locale_classes.h: Same.
2115         * include/bits/basic_string.h: Same.
2116         * include/bits/ios_base.h: Same.
2117         * include/tr1/memory: Same.
2118         * src/pool_allocator.cc: Same.
2119         * src/mt_allocator.cc: Same.
2120         * src/locale_init.cc: Same.
2121         * src/ios.cc: Same.
2122         * src/locale.cc: Same.
2123         * src/bitmap_allocator.cc: Same.
2124         * src/ios_init.cc: Same.
2125         * src/debug.cc: Same.
2126
2127 2006-09-12  Benjamin Kosnik  <bkoz@redhat.com>
2128
2129         * libsupc++/eh_globals.cc: Remove __gnu_internal.
2130         * config/io/basic_file_stdio.cc: Same.
2131         * config/abi/compatibility.h: Same.
2132         * config/cpu/generic/atomicity_mutex/atomicity.h: Same.
2133         * config/cpu/sh/atomicity.h: Same.
2134
2135 2006-09-10  Paolo Carlini  <pcarlini@suse.de>
2136
2137         * include/bits/stl_heap.h (sort_heap): Iterator post-decrement is
2138         only required to be convertible to the iterator type.
2139
2140 2006-09-08  Paolo Carlini  <pcarlini@suse.de>
2141
2142         * include/tr1/random.tcc (poisson_distribution<>::operator()):
2143         Avoid potential warnings when _IntType is unsigned.
2144
2145 2006-09-08  Benjamin Kosnik  <bkoz@redhat.com>
2146
2147         * include/debug/debug.h (_GLIBCXX_DEBUG_ONLY): New.
2148         * include/ext/bitmap_allocator.h (_BALLOC_SANITY_CHECK,
2149         _BALLOC_ASSERT): Remove. Use _GLIBCXX_DEBUG,
2150         _GLIBCXX_DEBUG_ASSERT.
2151         * include/ext/pb_ds/hash_policy.hpp (PB_DS_DBG_ASSERT): Convert to
2152         _GLIBCXX_DEBUG_ASSERT. Formatting corrections.
2153         (PB_DS_DBG_VERIFY): Remove, unused.
2154         (PB_DS_DBG_ONLY): Convert to _GLIBCXX_DEBUG blocks.
2155         * include/ext/pb_ds/detail/resize_policy/
2156         hash_load_check_resize_trigger_imp.hpp: Same.
2157         * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp: Same.
2158         * include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp: Same.
2159         * include/ext/pb_ds/detail/binomial_heap_base_/
2160         insert_fn_imps.hpp: Same.
2161         * include/ext/pb_ds/detail/binomial_heap_base_/
2162         binomial_heap_base_.hpp: Same.
2163         * include/ext/pb_ds/detail/binomial_heap_base_/
2164         constructors_destructor_fn_imps.hpp: Same.
2165         * include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp: Same.
2166         * include/ext/pb_ds/detail/binomial_heap_base_/
2167         split_join_fn_imps.hpp: Same.
2168         * include/ext/pb_ds/detail/cc_hash_table_map_/
2169         constructor_destructor_no_store_hash_fn_imps.hpp: Same.
2170         * include/ext/pb_ds/detail/cc_hash_table_map_/
2171         erase_store_hash_fn_imps.hpp: Same.
2172         * include/ext/pb_ds/detail/cc_hash_table_map_/
2173         insert_no_store_hash_fn_imps.hpp: Same.
2174         * include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp: Same.
2175         * include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp: Same.
2176         * include/ext/pb_ds/detail/cc_hash_table_map_/
2177         constructor_destructor_store_hash_fn_imps.hpp: Same.
2178         * include/ext/pb_ds/detail/cc_hash_table_map_/
2179         insert_store_hash_fn_imps.hpp: Same.
2180         * include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp: Same.
2181         * include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
2182         * include/ext/pb_ds/detail/cc_hash_table_map_/
2183         debug_no_store_hash_fn_imps.hpp: Same.
2184         * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
2185         * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
2186         * include/ext/pb_ds/detail/cc_hash_table_map_/
2187         constructor_destructor_fn_imps.hpp: Same.
2188         * include/ext/pb_ds/detail/cc_hash_table_map_/
2189         debug_store_hash_fn_imps.hpp: Same.
2190         * include/ext/pb_ds/detail/cc_hash_table_map_/
2191         erase_no_store_hash_fn_imps.hpp: Same.
2192         * include/ext/pb_ds/detail/unordered_iterator/iterator.hpp: Same.
2193         * include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp: Same.
2194         * include/ext/pb_ds/detail/unordered_iterator/
2195         const_point_iterator.hpp: Same.
2196         * include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Same.
2197         * include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Same.
2198         * include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Same.
2199         * include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp: Same.
2200         * include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Same.
2201         * include/ext/pb_ds/detail/pat_trie_/
2202         constructors_destructor_fn_imps.hpp: Same.
2203         * include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Same.
2204         * include/ext/pb_ds/detail/pat_trie_/head.hpp: Same.
2205         * include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp: Same.
2206         * include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Same.
2207         * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
2208         * include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Same.
2209         * include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Same.
2210         * include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Same.
2211         * include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Same.
2212         * include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp: Same.
2213         * include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Same.
2214         * include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same.
2215         * include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Same.
2216         * include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp: Same.
2217         * include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp: Same.
2218         * include/ext/pb_ds/detail/bin_search_tree_/
2219         constructors_destructor_fn_imps.hpp: Same.
2220         * include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp: Same.
2221         * include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp: Same.
2222         * include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp: Same.
2223         * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
2224         * include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp: Same.
2225         * include/ext/pb_ds/detail/bin_search_tree_/
2226         split_join_fn_imps.hpp: Same.
2227         * include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp: Same.
2228         * include/ext/pb_ds/detail/gp_hash_table_map_/
2229         constructor_destructor_no_store_hash_fn_imps.hpp: Same.
2230         * include/ext/pb_ds/detail/gp_hash_table_map_/
2231         erase_store_hash_fn_imps.hpp: Same.
2232         * include/ext/pb_ds/detail/gp_hash_table_map_/
2233         insert_no_store_hash_fn_imps.hpp: Same.
2234         * include/ext/pb_ds/detail/gp_hash_table_map_/
2235         resize_store_hash_fn_imps.hpp: Same.
2236         * include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp: Same.
2237         * include/ext/pb_ds/detail/gp_hash_table_map_/
2238         constructor_destructor_store_hash_fn_imps.hpp: Same.
2239         * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
2240         * include/ext/pb_ds/detail/gp_hash_table_map_/
2241         insert_store_hash_fn_imps.hpp: Same.
2242         * include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp: Same.
2243         * include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp: Same.
2244         * include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp: Same.
2245         * include/ext/pb_ds/detail/gp_hash_table_map_/
2246         debug_no_store_hash_fn_imps.hpp: Same.
2247         * include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
2248         * include/ext/pb_ds/detail/gp_hash_table_map_/
2249         constructor_destructor_fn_imps.hpp: Same.
2250         * include/ext/pb_ds/detail/gp_hash_table_map_/
2251         debug_store_hash_fn_imps.hpp: Same.
2252         * include/ext/pb_ds/detail/gp_hash_table_map_/
2253         erase_no_store_hash_fn_imps.hpp: Same.
2254         * include/ext/pb_ds/detail/gp_hash_table_map_/
2255         resize_no_store_hash_fn_imps.hpp: Same.
2256         * include/ext/pb_ds/detail/types_traits.hpp: Same.
2257         * include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp: Same.
2258         * include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Same.
2259         * include/ext/pb_ds/detail/binary_heap_/
2260         constructors_destructor_fn_imps.hpp: Same.
2261         * include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp: Same.
2262         * include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Same.
2263         * include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Same.
2264         * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Same.
2265         * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
2266         * include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp: Same.
2267         * include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
2268         * include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Same.
2269         * include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp: Same.
2270         * include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Same.
2271         * include/ext/pb_ds/detail/pairing_heap_/
2272         constructors_destructor_fn_imps.hpp: Same.
2273         * include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Same.
2274         * include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
2275         * include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp: Same.
2276         * include/ext/pb_ds/detail/binomial_heap_/
2277         constructors_destructor_fn_imps.hpp: Same.
2278         * include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp: Same.
2279         * include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
2280         * include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp: Same.
2281         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2282         erase_fn_imps.hpp: Same.
2283         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2284         left_child_next_sibling_heap_.hpp: Same.
2285         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2286         const_iterator.hpp: Same.
2287         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2288         insert_fn_imps.hpp: Same.
2289         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2290         constructors_destructor_fn_imps.hpp: Same.
2291         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2292         debug_fn_imps.hpp: Same.
2293         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2294         const_point_iterator.hpp: Same.
2295         * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Same.
2296         * include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Same.
2297         * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
2298         * include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Same.
2299         * include/ext/pb_ds/detail/thin_heap_/
2300         constructors_destructor_fn_imps.hpp: Same.
2301         * include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Same.
2302         * include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp: Same.
2303         * include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Same.
2304         * include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp: Same.
2305         * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
2306         * include/ext/pb_ds/detail/ov_tree_map_/
2307         constructors_destructor_fn_imps.hpp: Same.
2308         * include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
2309         * include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
2310         * include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
2311         * include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp: Same.
2312         * include/ext/pb_ds/detail/map_debug_base.hpp: Same.
2313         * include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
2314         * include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp: Same.
2315         * include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Same.
2316         * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Same.
2317         * include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Same.
2318         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Same.
2319         * include/ext/pb_ds/detail/splay_tree_/
2320         constructors_destructor_fn_imps.hpp: Same.
2321         * include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Same.
2322         * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Same.
2323         * include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp: Same.
2324         * include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
2325         * include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp: Same.
2326         * include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp: Same.
2327         * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
2328         * include/ext/pb_ds/detail/list_update_map_/
2329         constructor_destructor_fn_imps.hpp: Same.
2330         * include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp: Same.
2331         * include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp: Same.
2332         * include/ext/pb_ds/detail/list_update_map_/
2333         iterators_fn_imps.hpp: Same.
2334         * include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp: Same.
2335         * include/ext/pb_ds/detail/rc_binomial_heap_/
2336         rc_binomial_heap_.hpp: Same.
2337         * include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp: Same.
2338         * include/ext/pb_ds/detail/rc_binomial_heap_/
2339         constructors_destructor_fn_imps.hpp: Same.
2340         * include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp: Same.
2341         * include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
2342         * include/ext/pb_ds/detail/rc_binomial_heap_/
2343         split_join_fn_imps.hpp: Same.
2344         * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Same.
2345         * include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Same.
2346         * include/ext/pb_ds/detail/rb_tree_map_/
2347         constructors_destructor_fn_imps.hpp: Same.
2348         * include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Same.
2349         * include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
2350         * include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp: Same.
2351         * testsuite/util/regression/res_mng/forced_exception.hpp: Same.
2352         * testsuite/util/regression/res_mng/dbg_ex_allocator_base.hpp: Same.
2353         * testsuite/util/regression/res_mng/dbg_ex_allocator.hpp: Same.
2354         * testsuite/util/rng/twister_rand_gen.cc
2355         * testsuite/util/native_type/assoc/native_multimap.hpp: Same.
2356         * testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same.
2357
2358 2006-09-05  Paolo Carlini  <pcarlini@suse.de>
2359
2360         * include/bits/basic_string.tcc (find(const _CharT*, size_type,
2361         size_type)): Robustify.
2362         * include/ext/vstring.tcc (find(const _CharT*, size_type,
2363         size_type)): Likewise.
2364
2365 2006-09-05  Paolo Carlini  <pcarlini@suse.de>
2366
2367         * include/bits/basic_string.tcc (find(const _CharT*, size_type,
2368         size_type)): Reimplement in terms of traits::eq and traits::compare.
2369         * include/ext/vstring.tcc (find(const _CharT*, size_type,
2370         size_type)): Likewise.
2371         * src/string-inst.cc: Remove unneded std::search instantiation.
2372
2373 2006-09-04  Benjamin Kosnik  <bkoz@redhat.com>
2374
2375         PR c++/28871
2376         * include/ext/bitmap_allocator.h: Add comment for end of anonymous
2377         namespace.
2378         * include/ext/rope: Same.
2379         * include/bits/cpp_type_traits.h: Same.
2380         * include/tr1/tuple: Same.
2381         * include/tr1/functional_iterate.h: Same.
2382
2383         * include/bits/cpp_type_traits.h: Revert anonymous namespace
2384         change, use nested detail instead.
2385
2386         * testsuite/lib/libstdc++.exp (libstdc++_init): PCHFLAGS revert to
2387         stdc++.h.
2388
2389 2006-09-04  Paolo Carlini  <pcarlini@suse.de>
2390
2391         * src/mt_allocator.cc (__pool<true>::_M_reclaim_block): Do
2392         not name a variable __used, badname on BSD.
2393
2394 2006-09-02  Paolo Carlini  <pcarlini@suse.de>
2395             Richard Guenther  <rguenther@suse.de>
2396
2397         PR libstdc++/24469
2398         * src/mt_allocator.cc (__pool<true>::_M_reserve_block,
2399         __pool<true>::_M_reclaim_block): Fix the logic to avoid
2400         races, exploit atomic counters stored in second part of
2401         the memory pointed by _M_used.
2402         (__pool<true>::_M_initialize): Adjust _M_used allocation.
2403         * include/ext/mt_allocator.h (__pool<true>::_Bin_record):
2404         Update comment.
2405
2406 2006-08-31  Benjamin Kosnik  <bkoz@redhat.com>
2407
2408         PR libstdc++/28671 continued
2409         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't use
2410         CXXFLAGS when checking for atomic builtins.
2411         * configure: Regenerate.
2412         * include/bits/atomicity.h: Revert.
2413
2414 2006-08-31  Richard Guenther  <rguenther@suse.de>
2415
2416         * include/ext/mt_allocator.h: Remove volatile qualifiers
2417         from data members and corresponding locals and function
2418         signatures.
2419
2420 2006-08-31  Paolo Carlini  <pcarlini@suse.de>
2421
2422         * config/abi/pre/gnu.ver: Correct atomic helper function signature
2423         for case where _Atomic_word is long.
2424
2425 2006-08-31  Benjamin Kosnik  <bkoz@redhat.com>
2426
2427         PR libstdc++/28671
2428         * include/bits/atomicity.h (__exchange_and_add): Declare only.
2429         (__atomic_add): Same.
2430         * config/cpu/generic/atomicity_builtins/atomicity.h: Remove comment.
2431
2432 2006-08-30  Benjamin Kosnik  <bkoz@redhat.com>
2433             Richard Guenther  <rguenther@suse.de>
2434
2435         * config/abi/pre/gnu.ver: Spell out exact signatures for atomic
2436         access functions.
2437
2438         * include/bits/atomicity.h (__atomic_add_dispatch): Remove
2439         volatile qualification for _Atomic_word argument.
2440         (__atomic_add_single): Same.
2441         (__exchange_and_add_dispatch): Same.
2442         (__exchange_and_add_single): Same.
2443
2444 2006-08-29  Paolo Carlini  <pcarlini@suse.de>
2445
2446         * include/tr1/random (subtract_with_carry_01<>::_M_initialize_npows):
2447         New.
2448         (subtract_with_carry_01<>::subtract_with_carry_01(),
2449         subtract_with_carry_01<>::subtract_with_carry_01(unsigned long),
2450         subtract_with_carry_01<>::subtract_with_carry_01(_Gen&)): Use it.
2451         * include/tr1/random.tcc: Define.
2452
2453         * include/tr1/random (xor_combine<>::_M_initialize_max()): New.
2454         (xor_combine<>::xor_combine(), xor_combine<>::xor_combine(const
2455         base1_type&, const base2_type&), xor_combine<>::xor_combine(unsigned
2456         long), xor_combine<>::xor_combine(_Gen&)): Use it.
2457         (xor_combine<>::min, xor_combine<>::max): Adjust.
2458         * include/tr1/random.tcc: Define.
2459
2460 2006-08-29  Benjamin Kosnik  <bkoz@redhat.com>
2461
2462         * acinclude.m4(glibcxx_PCHFLAGS): Set to stdtr1c++.h.
2463         * configure: Regenerate.
2464
2465         * scripts/check_compile: Output current compile line.
2466
2467 2006-08-28  Benjamin Kosnik  <bkoz@redhat.com>
2468
2469         PR libstdc++/23773 partial
2470         * docs/html/abi.html: Update.
2471
2472 2006-08-28  Roger Sayle  <roger@eyesopen.com>
2473             Paolo Carlini  <pcarlini@suse.de>
2474
2475         * include/bits/stl_algo.h (__heap_select, __introselect): New.
2476         (nth_element): New implementation.
2477         (partial_copy): Use __heap_select.
2478         * testsuite/performance/25_algorithms/nth_element_worst_case.cc: New.
2479
2480 2006-08-28  Paolo Carlini  <pcarlini@suse.de>
2481             Roger Sayle  <roger@eyesopen.com>
2482
2483         * testsuite/25_algorithms/nth_element/2.cc: New.
2484
2485 2006-08-27  Paolo Carlini  <pcarlini@suse.de>
2486
2487         PR libstdc++/28830
2488         * testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
2489         lockfree_weaktoshared.cc: Rename to...
2490         * testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
2491         default_weaktoshared.cc: ... this; test the default base class.
2492         * testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
2493         mutex_weaktoshared.cc: Run like the other thread tests.
2494
2495 2006-08-25  Paolo Carlini  <pcarlini@suse.de>
2496
2497         * docs/html/ext/tr1.html: Update.
2498
2499 2006-08-25  Paolo Carlini  <pcarlini@suse.de>
2500
2501         * include/tr1/random (bernoulli_distribution::operator()): Fix
2502         wrt generators returning integers.
2503         (uniform_int<>::_M_call): Add.
2504         (uniform_int<>::operator()): Use it.
2505
2506         * include/tr1/random (_Adaptor<>::min, _Adaptor<>::max): Add.
2507         (_Adaptor<>::operator()): Allow for nonzero _M_g.min().
2508
2509         * include/tr1/random.tcc (linear_congruential<>::min, max):
2510         Move inline...
2511         (__mod): Move ...
2512         * include/tr1/random: ... here.
2513         (struct _Mod): Declare.
2514
2515         * include/tr1/random (struct _To_Unsigned_Type): Only declare,
2516         move...
2517         * include/tr1/random.tcc: ... here.
2518
2519 2006-08-22  Phillip Jordan  <phillip.m.jordan@gmail.com>
2520
2521         *include/tr1/boost_shared_ptr.h: Added locking policy to
2522         tr1::shared_ptr<> and related classes.
2523         * testsuite/tr1/2_general_utilities/memory/shared_ptr/thread: New.
2524         * testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
2525         lockfree_weaktoshared.cc: New.
2526         * testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
2527         mutex_weaktoshared.cc: New.
2528         *testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
2529         shared_ptr_neg.cc: Modify.
2530
2531 2006-08-22  Paolo Carlini  <pcarlini@suse.de>
2532
2533         * include/tr1/random.tcc (subtract_with_carry_01<>::
2534         seed(_Gen&, false_type)): Fix _M_carry initialization.
2535
2536         * testsuite/tr1/5_numerical_facilities/random/
2537         subtract_with_carry/cons/default.cc: Qualify 1 as 1UL.
2538         * testsuite/tr1/5_numerical_facilities/random/
2539         subtract_with_carry/cons/gen1.cc: Likewise.
2540
2541 2006-08-22  Paolo Carlini  <pcarlini@suse.de>
2542
2543         * include/tr1/random (class subtract_with_carry_01<>): Add.
2544         * include/tr1/random.tcc (subtract_with_carry_01<>::
2545         seed(unsigned long), subtract_with_carry_01<>::
2546         seed(_Gen&, false_type), subtract_with_carry_01<>::
2547         operator(), operator<<(std::basic_ostream<>&, const
2548         subtract_with_carry_01<>&), operator>>(std::basic_istream<>&,
2549         subtract_with_carry_01<>&)): Define.
2550         * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc:
2551         New.
2552         * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc:
2553         Likewise.
2554         * testsuite/tr1/5_numerical_facilities/random/
2555         subtract_with_carry_01/cons/seed1.cc: Likewise.
2556         * testsuite/tr1/5_numerical_facilities/random/
2557         subtract_with_carry_01/cons/seed2.cc: Likewise.
2558         * testsuite/tr1/5_numerical_facilities/random/
2559         subtract_with_carry_01/cons/default.cc: Likewise.
2560         * testsuite/tr1/5_numerical_facilities/random/
2561         subtract_with_carry_01/cons/gen1.cc: Likewise.
2562         * testsuite/tr1/5_numerical_facilities/random/
2563         subtract_with_carry_01/requirements/typedefs.cc: Likewise.
2564         * testsuite/tr1/5_numerical_facilities/random/
2565         subtract_with_carry_01/operators/equal.cc: Likewise.
2566         * testsuite/tr1/5_numerical_facilities/random/
2567         subtract_with_carry_01/operators/not_equal.cc: Likewise.
2568         * testsuite/tr1/5_numerical_facilities/random/
2569         subtract_with_carry_01/operators/serialize.cc: Likewise.
2570
2571         * docs/html/ext/howto.html: Add two implemented TR1 issues.
2572
2573         * include/tr1/random.tcc (struct _To_Unsigned_Type<>): Move...
2574         * include/tr1/random: ... here.
2575         (class subtract_with_carry<>): Use it everywhere.
2576
2577         * testsuite/tr1/5_numerical_facilities/random/
2578         subtract_with_carry/cons/seed1.cc: Qualify 1 as 1UL.
2579         * testsuite/tr1/5_numerical_facilities/random/
2580         subtract_with_carry/cons/seed2.cc: Likewise.
2581         * testsuite/tr1/5_numerical_facilities/random/
2582         subtract_with_carry/cons/default.cc: Likewise.
2583         * testsuite/tr1/5_numerical_facilities/random/
2584         subtract_with_carry/cons/gen1.cc: Likewise.
2585         * testsuite/tr1/5_numerical_facilities/random/
2586         subtract_with_carry/requirements/typedefs.cc: Likewise.
2587         * testsuite/tr1/5_numerical_facilities/random/
2588         subtract_with_carry/operators/equal.cc: Likewise.
2589         * testsuite/tr1/5_numerical_facilities/random/
2590         subtract_with_carry/operators/not_equal.cc: Likewise.
2591         * testsuite/tr1/5_numerical_facilities/random/
2592         subtract_with_carry/operators/serialize.cc: Likewise.
2593
2594         * include/tr1/random (class binomial_distribution<>): Reorder the
2595         data members to save space.
2596
2597 2006-08-20  Paolo Carlini  <pcarlini@suse.de>
2598
2599         * include/tr1/random (gamma_distribution<>::_M_initialize,
2600         gamma_distribution<>::_M_l_d): Add.
2601         (gamma_distribution<>::gamma_distribution(const result_type&),
2602         operator>>(std::basic_istream<>&, gamma_distribution&)): Use it.
2603         include/tr1/random.tcc (gamma_distribution<>::_M_initialize):
2604         Define.
2605         (gamma_distribution<>::operator()): Adjust.
2606
2607         * include/tr1/random (geometric_distribution<>::_M_initialize): Add.
2608         (geometric_distribution<>::geometric_distribution(const _RealType&),
2609         operator>>(std::basic_istream<>&, geometric_distribution&)): Use it.
2610
2611 2006-08-18  Paolo Carlini  <pcarlini@suse.de>
2612
2613         * include/tr1/random (class binomial_distribution<>): Add.
2614         * include/tr1/random.tcc (binomial_distribution<>::operator(),
2615         operator<<(std::basic_ostream<>&, const binomial_distribution<>&),
2616         operator>>(std::basic_istream<>&, binomial_distribution<>&,
2617         binomial_distribution<>::_M_waiting(), binomial_distribution<>::
2618         _M_initialize()): Define.
2619         * testsuite/tr1/5_numerical_facilities/random/binomial_distribution/
2620         requirements/typedefs.cc: New.
2621
2622         * include/tr1/random (geometric_distribution<>::
2623         geometric_distribution(const _RealType&)): Fix DEBUG_ASSERT
2624         limits.
2625
2626         * include/tr1/random (poisson_distribution): Add normal_distribution
2627         member, adjust consistently; minor tweaks and rearrangements of the
2628         arithmetic.
2629         (operator>>(std::basic_istream<>&, poisson_distribution<>&)): Move
2630         out of line.
2631         * include/tr1/random.tcc: Adjust.
2632
2633         * include/tr1/random.tcc (normal_distribution<>::operator()): Minor
2634         tweaks.
2635
2636 2006-08-18  Paolo Carlini  <pcarlini@suse.de>
2637
2638         PR libstdc++/28765
2639         * include/ext/rc_string_base.h (_M_clear): New.
2640         * include/ext/sso_string_base.h (_M_clear): Likewise.
2641         * include/ext/vstring.h (clear): Use it.
2642
2643 2006-08-15  Paolo Carlini  <pcarlini@suse.de>
2644
2645         * include/tr1/random (poisson_distribution<>::_M_initialize): Add.
2646         (poisson_distribution<>::poisson_distribution(const _RealType&):
2647         Use it.
2648         (operator>>(std::basic_istream<>&, poisson_distribution<>&)):
2649         Likewise.
2650         (poisson_distribution<>::_M_large): Remove.
2651         * include/tr1/random.tcc (poisson_distribution<>::_M_initialize):
2652         Define.
2653         (operator<<(std::basic_ostream<>&, const poisson_distribution<>&)):
2654         Do not output the constants.
2655
2656         * include/tr1/random (operator>>(std::basic_istream<>&,
2657         gamma_distribution&)): Minor tweak.
2658
2659         * include/tr1/random.tcc (poisson_distribution<>::operator()):
2660         Minor tweak.
2661
2662         * include/tr1/random: Consistently, all data members private.
2663
2664 2006-08-15  Paolo Carlini  <pcarlini@suse.de>
2665
2666         * include/tr1/random.tcc (mersenne_twister<>::operator()): Revert
2667         last change (per gcc-patches/2006-08/msg00484.html).
2668
2669 2006-08-14  Paolo Carlini  <pcarlini@suse.de>
2670
2671         * include/tr1/random (class poisson_distribution<>): Add.
2672         * include/tr1/random.tcc (poisson_distribution<>::operator(),
2673         operator<<(std::basic_ostream<>&, const poisson_distribution<>&),
2674         operator>>(std::basic_istream<>&, poisson_distribution<>&,
2675         poisson_distribution<>::poisson_distribution(const _RealType&)):
2676         Define.
2677         * testsuite/tr1/5_numerical_facilities/random/poisson_distribution/
2678         requirements/typedefs.cc: New.
2679
2680         * include/tr1/random.tcc (mersenne_twister<>::operator()): Tweak
2681         a bit for efficiency.
2682
2683         * include/tr1/random.tcc (operator<<(std::basic_ostream<>&,
2684         const normal_distribution<>&), operator>>(std::basic_istream<>&,
2685         normal_distribution<>&)): Do not output _M_saved unnecessarily.
2686
2687         * include/tr1/random: Trivial formatting fixes.
2688         * include/tr1/cmath: Likewise.
2689
2690 2006-08-11  Paolo Carlini  <pcarlini@suse.de>
2691
2692         * include/bits/stl_bvector.h (__fill_bvector(_Bit_iterator,
2693         _Bit_iterator, bool)): New.
2694         (fill(_Bit_iterator, _Bit_iterator, const bool&)): Use it.
2695
2696 2006-08-10  Paolo Carlini  <pcarlini@suse.de>
2697
2698         * include/tr1/random.tcc (gamma_distribution<>::operator()): Fixes
2699         from the Errata of Devroye's book.
2700
2701 2006-08-10  Paolo Carlini  <pcarlini@suse.de>
2702
2703         * include/bits/stl_bvector.h (_Bit_iterator_base::_M_incr(ptrdiff_t)):
2704         Tidy a bit, thus reducing generated code size.
2705
2706 2006-08-09  Paolo Carlini  <pcarlini@suse.de>
2707
2708         * include/bits/stl_bvector.h (vector<bool>::_M_copy_aligned): New.
2709         (vector<bool>::vector(const vector&), operator=(const vector&),
2710         reserve(size_type), _M_fill_insert(iterator, size_type, bool),
2711         _M_insert_range(iterator, _ForwardIterator, _ForwardIterator,
2712         std::forward_iterator_tag), _M_insert_aux(iterator, bool)): Use it.
2713         * testsuite/performance/23_containers/copy_construct/
2714         vector_bool.cc: New.
2715
2716         * testsuite/23_containers/vector/bool/cons/1.cc: New.
2717         * testsuite/23_containers/vector/bool/cons/2.cc: Likewise.
2718
2719         * include/bits/stl_bvector.h (vector<bool>::_M_fill): Remove.
2720         (fill(_Bit_iterator, _Bit_iterator, const bool&)): New.
2721         (vector<bool>::_M_fill_insert(iterator, size_type, bool)): Adjust.
2722
2723         * include/bits/stl_bvector.h (_M_initialize_range(_InputIterator,
2724         _InputIterator, std::input_iterator_tag)): Remove redundant
2725         assignments.
2726
2727         * include/bits/stl_algo.h (find(istreambuf_iterator<>,
2728         istreambuf_iterator<>, _CharT)): Adjust signature.
2729         * include/bits/streambuf_iterator.h: Likewise.
2730         * include/std/std_streambuf.h: Likewise.
2731
2732 2006-08-09  Paolo Carlini  <pcarlini@suse.de>
2733
2734         * include/bits/stl_algobase.h (fill(const _Deque_iterator<>&,
2735         const _Deque_iterator<>&, const _Tp&)): Move...
2736         * include/bits/deque.tcc: ... here.
2737         * include/bits/stl_deque.h: Declare.
2738
2739 2006-08-06  Paolo Carlini  <pcarlini@suse.de>
2740
2741         PR libstdc++/16611
2742         * include/bits/stl_bvector.h (vector<bool>::operator[],
2743         vector<bool>::operator[] const): Do not use iterator::operator+,
2744         hand code.
2745
2746 2006-08-05  Paolo Carlini  <pcarlini@suse.de>
2747
2748         PR libstdc++/28587
2749         * include/bits/stl_bvector.h (vector<bool>::_M_fill): New.
2750         (vector<bool>::_M_fill_insert): Use it.
2751         * testsuite/performance/23_containers/resize/vector_bool.cc: New.
2752
2753         * testsuite/23_containers/vector/bool/modifiers/insert/1.cc: New.
2754         * testsuite/23_containers/vector/bool/capacity/1.cc: Likewise.
2755
2756 2006-08-04  Paolo Carlini  <pcarlini@suse.de>
2757
2758         * include/bits/stl_queue.h (priority_queue<>::push,
2759         priority_queue<>::pop): Remove try/catch, just follow the
2760         letter of the Standard.
2761
2762 2006-08-03  Paolo Carlini  <pcarlini@suse.de>
2763
2764         * include/bits/stl_queue.h: Trivial formatting fixes.
2765         * include/bits/stl_stack.h: Likewise.
2766
2767 2006-08-01  Ed Smith-Rowland  <3dw4rd@verizon.net>
2768
2769         * docs/html/ext/tr1.html: Update.
2770
2771 2006-07-31  Paolo Carlini  <pcarlini@suse.de>
2772
2773         * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
2774         Find the decimal point in cs, instead of ws; tidy.
2775
2776 2006-07-30  Roger Sayle  <roger@eyesopen.com>
2777
2778         * include/ext/codevt_specializations.h (__iconv_adaptor): Use
2779         identifier _Tp instead of _T in template argument to avoid conflict.
2780
2781 2006-07-30  Paolo Carlini  <pcarlini@suse.de>
2782
2783         * include/bits/stl_algo.h (stable_sort): Uglify the buf variable.
2784         * include/bits/stl_tempbuf.h (_Temporary_buffer<>::
2785         _M_initialize_buffer): Uglify the val parameter.
2786
2787 2006-07-27  Benjamin Kosnik  <bkoz@wells.artheist.org>
2788
2789         PR libstdc++/19664 round 3
2790         * include/Makefile.am (tr1_headers): Add hashtable_policy.h.
2791         * include/Makefile.in: Regenerate.
2792         * include/tr1/hashtable: Move policy classes into...
2793         * include/tr1/hashtable_policy.h: ... this. New.
2794
2795         * src/globals_locale.cc: Move contents....
2796         * src/locale_init.cc: ... to here, put in anonymous namespace.
2797         * src/Makefile.am: Remove globals_locale.cc.
2798         * src/Makefile.in: Regenerate.
2799
2800         * src/locale.cc: Convert __gnu_internal to anonymous namespace.
2801         * src/debug.cc: Same.
2802         * src/ext-inst.cc: Same.
2803         * src/mt_allocator.cc: Same.
2804         * src/pool_allocator.cc: Same.
2805
2806         * include/tr1/random: Convert std::tr1::_Private to anonymous
2807         namespace.
2808         * include/tr1/random.tcc: Same.
2809
2810         * include/tr1/hashtable: Move ::Internal to std::tr1::detail and
2811         enclose bits that can actually be internal in in anonymous
2812         namespace.
2813         * include/tr1/unordered_set: Adjust explicit qualifications for
2814         namespace changes.
2815         * include/tr1/unordered_map: Same.
2816
2817         * include/tr1/cmath: Convert __gnu_internal to nested detail namespace.
2818
2819         * include/bits/cpp_type_traits.h: Move __type_type into anonymous
2820         namespace.
2821
2822         * include/ext/rope: Change _Rope_constants to anonymous namespace.
2823         * include/ext/ropeimpl.h: Same.
2824         * src/ext-inst.cc: Same.
2825
2826 2006-07-24  Paolo Carlini  <pcarlini@suse.de>
2827
2828         * include/tr1/cinttypes: Simply protect everything with
2829         _GLIBCXX_USE_C99_INTTYPES_TR1.
2830         * include/tr1/cfenv: Likewise with _GLIBCXX_USE_C99_FENV_TR1.
2831         * include/tr1/cstdint: Likewise with _GLIBCXX_USE_C99_STDINT_TR1.
2832
2833 2006-07-21  Benjamin Kosnik  <bkoz@redhat.com>
2834
2835         * include/tr1/random: Make include guards consistent.
2836         * include/tr1/unordered_map: Same.
2837         * include/tr1/hashtable: Same.
2838         * include/tr1/unordered_set: Same.
2839
2840 2006-07-21  Steve Ellcey  <sje@cup.hp.com>
2841
2842         PR target/26792
2843         * configure.ac: Use GCC_CHECK_UNWIND_GETIPINFO to
2844         define HAVE_GETIPINFO.
2845         * aclocal.m4: Add include of ../config/unwind_ipinfo.m4.
2846         * config.h.in: Regenerate.
2847         * configure: Regenerate.
2848         * Makefile.in: Regenerate.
2849         * libmath/Makefile.in: Regenerate.
2850         * include/Makefile.in: Regenerate.
2851         * src/Makefile.in: Regenerate.
2852         * libsupc++/Makefile.in: Regenerate.
2853         * testsuite/Makefile.in: Regenerate.
2854         * po/Makefile.in: Regenerate.
2855         * libsupc++/eh_personality.cc: Check HAVE_GETIPINFO.
2856
2857 2006-07-21  Jason Merrill  <jason@redhat.com>
2858
2859         PR libstdc++/19664 round 2
2860         * libsupc++/eh_personality.cc: Wrap extern "C" function
2861         definitions in namespace __cxxabiv1.
2862
2863 2006-07-21  David Daney  <ddaney@avtrex.com>
2864
2865         PR libgcj/28426
2866         * acinclude.m4: Added a comment.
2867
2868 2006-07-20  Benjamin Kosnik  <bkoz@redhat.com>
2869             Jakub Jelinek  <jakub@redhat.com>
2870
2871         PR libstdc++/19664 round 1
2872         * acinclude.m4 (GLIBCXX_ENABLE_VISIBILITY): Check it.
2873         * configure.ac: Use it.
2874         * configure: Regenerate.
2875         * docs/html/configopts.html: Document it.
2876         * include/Makefile.am: Slip in to c++config.
2877         * include/Makefile.in: Regenerate.
2878         * include/bits/c++config (_GLIBCXX_VISIBILITY): New.
2879         (_GLIBCXX_BEGIN_NAMESPACE): Use it.
2880         (_GLIBCXX_END_NAMESPACE): Use it.
2881         (_GLIBCXX_BEGIN_NESTED_NAMESPACE): Use it.
2882         (_GLIBCXX_END_NESTED_NAMESPACE): Use it.
2883         * src/debug.cc: Mark __gnu_internal namespace with hidden
2884         visibility attribute.
2885         * src/ext-inst.cc: Same.
2886         * src/globals_io.cc: Same.
2887         * src/globals_locale.cc: Same.
2888         * src/ios_init.cc: Same.
2889         * src/locale.cc: Same.
2890         * src/mt_allocator.cc: Same.
2891         * src/pool_allocator.cc: Same.
2892
2893 2006-07-16  Paolo Carlini  <pcarlini@suse.de>
2894
2895         PR libstdc++/28277 (partial: valarray bits)
2896         * include/std/std_valarray.h (valarray<>::shift(int),
2897         valarray<>::cshift(int)): Avoid __builtin_alloca with no limit,
2898         do the work in place.
2899         * testsuite/26_numerics/valarray/28277.cc: New.
2900
2901 2006-07-15  Paolo Carlini  <pcarlini@suse.de>
2902
2903         PR libstdc++/28277 (partial: ostream bits 1)
2904         * include/bits/ostream.tcc (operator<<(basic_ostream<_CharT>&,
2905         const char*)): Avoid __builtin_alloca with no limit in the
2906         widening.
2907         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
2908         28277-1.cc: New.
2909
2910 2006-07-14  Benjamin Kosnik  <bkoz@redhat.com>
2911
2912         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): New.
2913         * configure.ac: Use it.
2914         * configure: Regenerated.
2915         * config.h.in: Regenerated.
2916         * configure.host: Simplify.
2917         * include/bits/atomicity.h: Adjust macros.
2918         * config/cpu/generic/atomicity.h: Move...
2919         * config/cpu/generic/atomicity_mutex: New.
2920         * config/cpu/generic/atomicity_mutex/atomicity.h: ...here.
2921         * config/cpu/generic/atomic_builtins: Rename...
2922         * config/cpu/generic/atomicity_builtins: ...to this.
2923         * config/cpu/generic/atomicity_builtins/atomicity.h: Moved.
2924         * config/cpu/mips/atomicity.h: Comment MIPS II requirement.
2925
2926         * scripts/testsuite_flags.in: Make --cxxflags reflect CXXFLAGS.
2927
2928 2006-07-14  Paolo Carlini  <pcarlini@suse.de>
2929
2930         * include/tr1/random (minstd_rand0, minstd_rand, ranlux3, ranlux4):
2931         Use unsigned long as implementation-defined type.
2932
2933 2006-07-14  Paolo Carlini  <pcarlini@suse.de>
2934
2935         * include/tr1/random.tcc (struct _To_Unsigned_Type): Add.
2936         (subtract_with_carry<>::seed(_Gen&, false_type)): Use an
2937         unsigned type in the loop, fix factor multiplier, take g
2938         invocations modulo 2^32.
2939
2940         * include/tr1/random.tcc (subtract_with_carry<>::
2941         seed(unsigned long)): Fix value == 0 special case.
2942
2943         * include/tr1/random (struct _Shift): Fix for large shifts.
2944
2945 2006-07-13  Paolo Carlini  <pcarlini@suse.de>
2946
2947         * testsuite/performance/21_strings/string_copy_cons_and_dest.cc: New.
2948
2949 2006-07-13  Benjamin Kosnik  <bkoz@redhat.com>
2950
2951         * include/Makefile.am (pch*_output_anchor): Add.
2952         (pch*_output): Use.
2953         (CLEANFILES): Use.
2954         * include/Makefile.in: Regenerate.
2955
2956         * scripts/check_performance: Be verbose on compile error.
2957
2958 2006-07-12  Benjamin Kosnik  <bkoz@redhat.com>
2959
2960         * include/Makefile.am: Revert last change.
2961         * include/Makefile.in: Same.
2962
2963 2006-07-12  Benjamin Kosnik  <bkoz@redhat.com>
2964
2965         * include/Makefile.am (pch_output): Don't precompile extc++.h.
2966         (pch_output_dirs): Same.
2967         * include/Makefile.in: Regenerate.
2968
2969         * testsuite/lib/libstdc++.exp: Test PCH with stdtr1c++.h.
2970
2971 2006-07-11  Paolo Carlini  <pcarlini@suse.de>
2972
2973         * include/ext/codecvt_specializations.h: Fix typo in commit
2974         for libstdc++/28290.
2975
2976 2006-07-11  Paolo Carlini  <pcarlini@suse.de>
2977
2978         * include/bits/locale_facets.tcc (collate<>::do_transform(
2979         const _CharT*, const _CharT*)): Simplify previous fix for
2980         libstdc++/28277, always allocate memory dynamically.
2981
2982 2006-07-11  Paolo Carlini  <pcarlini@suse.de>
2983
2984         PR libstdc++/28344
2985         * include/tr1/random (gamma_distribution<>::
2986         gamma_distribution(const result_type&)): Don't use __alpha as
2987         parameter name, a predefined macro on Alpha systems.
2988
2989 2006-07-11  Paolo Carlini  <pcarlini@suse.de>
2990
2991         PR libstdc++/28290
2992         * include/ext/codecvt_specializations.h: Fix, adding missing
2993         includes and guards.
2994
2995 2006-07-11  Paolo Carlini  <pcarlini@suse.de>
2996
2997         PR libstdc++/28277 (partial: collate bits)
2998         * include/bits/locale_facets.tcc (collate<>::do_transform(
2999         const _CharT*, const _CharT*)): Avoid __builtin_alloca with no
3000         limit; also avoid multiple calls (in a loop).
3001         * testsuite/22_locale/collate/transform/char/28277.cc: New.
3002         * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
3003
3004 2006-07-10  Mike Stump  <mrs@apple.com>
3005
3006         * libsupc++/eh_globals.cc (~__eh_globals_init): Unset _M_init.
3007
3008 2006-07-10  Benjamin Kosnik  <bkoz@redhat.com>
3009
3010         PR libstdc++/15448
3011         * include/Makefile.am: Clean up pch rules.
3012         * include/Makefile.in: Regenerate.
3013
3014 2006-07-09  Paolo Carlini  <pcarlini@suse.de>
3015
3016         * include/bits/locale_facets.tcc (__int_to_char<>(_CharT*,
3017         long, const _CharT*, ios_base::fmtflags), __int_to_char<>(_CharT*,
3018         unsigned long, const _CharT*, ios_base::fmtflags),
3019         __int_to_char<>(_CharT*, long long, const _CharT*, ios_base::fmtflags),
3020         __int_to_char<>(_CharT*, unsigned long long, const _CharT*,
3021         ios_base::fmtflags)): Remove.
3022         (__int_to_char<>(_CharT*, _ValueT, const _CharT*, ios_base::fmtflags,
3023         bool)): Adjust.
3024         (num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)):
3025         Likewise.
3026
3027 2006-07-06  Paolo Carlini  <pcarlini@suse.de>
3028
3029         * include/tr1/random (class gamma_distribution<>): Add.
3030         * include/tr1/random.tcc (gamma_distribution<>::operator(),
3031         operator<<(std::basic_ostream<>&, const gamma_distribution<>&)):
3032         Define.
3033         * testsuite/tr1/5_numerical_facilities/random/gamma_distribution/
3034         requirements/typedefs.cc: New.
3035
3036 2006-07-06  Benjamin Kosnik  <bkoz@redhat.com>
3037
3038         * testsuite/util/regression/trait/assoc/trait.hpp: Format.
3039         * testsuite/util/regression/rand/priority_queue/
3040         rand_regression_test.hpp: Same.
3041         * testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
3042         * testsuite/util/regression/rand/
3043         assoc/container_rand_regression_test.hpp: Same.
3044         * testsuite/util/regression/priority_queue/common_type.hpp: Same.
3045         * testsuite/util/regression/assoc/common_type.hpp: Same.
3046         * testsuite/util/regression/basic_type.hpp: Same.
3047
3048 2006-07-05  Benjamin Kosnik  <bkoz@redhat.com>
3049
3050         * include/Makefile.am (pch_output): New.
3051         (clean-local): Use it.
3052         * include/Makefile.in: Regenerate.
3053
3054 2006-07-04  Paolo Carlini  <pcarlini@suse.de>
3055
3056         * include/tr1/random (_Adaptor<>::operator()()): Cast 1 to
3057         result_type.
3058         (variate_generator<>::operator()(),
3059         variate_generator<>::operator()(_Tp)): Inline.
3060
3061         * include/tr1/random: Minor cosmetic changes.
3062
3063 2006-07-03  Paolo Carlini  <pcarlini@suse.de>
3064
3065         * include/ext/rc_string_base.h (__rc_string_base::_S_max_size):
3066         Adjust, take into account rounding in _M_create.
3067         (__rc_string_base::_M_create): Add early _S_max_size check.
3068
3069 2006-07-03  Ian Lance Taylor  <ian@airs.com>
3070             Paolo Carlini  <pcarlini@suse.de>
3071
3072         * include/ext/rc_string_base.h (__rc_string_base::_S_max_size):
3073         Increase by a factor of two.
3074         * include/ext/sso_string_base.h (__sso_string_base::_S_max_size):
3075         Likewise.
3076
3077 2006-07-03  Paolo Carlini  <pcarlini@suse.de>
3078
3079         * include/ext/sso_string_base.h (__sso_string_base::_M_create): Never
3080         allocate a string bigger than _S_max_size.
3081
3082 2006-06-29  Benjamin Kosnik  <bkoz@redhat.com>
3083
3084         * include/Makefile.am (pch1_input, pch1_output_builddir,
3085         pch1_outputj_installdir, pch1_source): Move from pch_*.
3086         (pch2_input, pch2_output_builddir,
3087         pch2_output_installdir, pch2_source): Clone for ext.
3088         (pch3_input, pch3_output_builddir,
3089         pch3_output_installdir, pch3_source): Clone for tr1.
3090         (install-pch): Same.
3091         * include/Makefile.in: Regenerate.
3092
3093         * include/precompiled: New directory.
3094         * include/stdc++.h: Move...
3095         * include/precompiled/stdc++.h: ... here.
3096         * include/precompiled/stdtr1c++.h: New.
3097         * include/precompiled/extc++.h: New.
3098
3099         * testsuite/lib/libstdc++.exp (libstdc++_init): Set PCH_CXXFLAGS
3100         to -include bits/stdtr1c++.h.
3101
3102 2006-06-29  Benjamin Kosnik  <bkoz@redhat.com>
3103
3104         * testsuite/lib/libstdc++.exp (v3_target_compile): Set timeout to
3105         600.
3106
3107 2006-06-27  Benjamin Kosnik  <bkoz@redhat.com>
3108
3109         * testsuite/util/regression/rand/priority_queue/
3110         rand_regression_test.hpp: Revert.
3111
3112 2006-06-27  Benjamin Kosnik  <bkoz@redhat.com>
3113
3114         * include/ext/typelist.h (typelist_append): To append_typelist.
3115         (typelist): To node.
3116         Enclose in namespace typelist.
3117         * testsuite/util/testsuite_common_types.h: Adjust names, namespaces.
3118         * testsuite/performance/23_containers/find/map.cc: Same.
3119         * testsuite/performance/23_containers/create/map.cc: Same.
3120         * testsuite/performance/23_containers/insert_erase/associative.cc:
3121         Same.
3122         * testsuite/performance/23_containers/insert/sequence.cc: Same.
3123         * testsuite/performance/23_containers/insert/associative.cc: Same.
3124         * testsuite/performance/23_containers/create_from_sorted/set.cc: Same.
3125         * testsuite/performance/23_containers/index/map.cc: Same.
3126         * testsuite/performance/23_containers/insert_from_sorted/set.cc: Same.
3127         * testsuite/performance/23_containers/create_sort/list.cc: Same.
3128         * testsuite/performance/23_containers/sort_search/list.cc: Same.
3129         * testsuite/performance/23_containers/producer_consumer/sequence.cc:
3130         Same.
3131         * testsuite/performance/23_containers/producer_consumer/associative.cc:
3132         Same.
3133
3134 2006-06-26  Benjamin Kosnik  <bkoz@redhat.com>
3135
3136         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc:
3137         Reduce iterations by half.
3138         * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Same.
3139         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
3140         * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Same.
3141         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Same.
3142         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Same.
3143         * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
3144         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
3145         * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
3146
3147         * testsuite/util/regression/rand/assoc/rand_regression_test.hpp:
3148         Set probability of compare from 1 to 0.25.
3149         * testsuite/util/regression/rand/priority_queue/
3150         rand_regression_test.hpp: Same.
3151
3152 2006-06-25  Paolo Carlini  <pcarlini@suse.de>
3153
3154         * include/tr1/random (operator<<(std::basic_ostream<>&,
3155         const linear_congruential<>&), operator>>(std::basic_istream<>&,
3156         linear_congruential<>&), operator<<(std::basic_ostream<>&,
3157         const mersenne_twister<>&), operator>>(std::basic_istream<>&,
3158         mersenne_twister<>&), operator<<(std::basic_ostream<>&,
3159         const subtract_with_carry<>&), operator>>(std::basic_istream<>&,
3160         subtract_with_carry<>&), operator<<(std::basic_ostream<>&,
3161         const discard_block<>&), operator>>(std::basic_istream<>&,
3162         discard_block<>&), operator<<(std::basic_ostream<>&,
3163         const xor_combine<>&), operator>>(std::basic_istream<>&,
3164         xor_combine<>&), operator<<(std::basic_ostream<>&,
3165         const uniform_int<>&), operator>>(std::basic_istream<>&,
3166         uniform_int<>&), operator<<(std::basic_ostream<>&,
3167         const bernoulli_distribution&), operator<<(std::basic_ostream<>&,
3168         const geometric_distribution<>&), operator<<(std::basic_ostream<>&,
3169         const uniform_real<>&), operator>>(std::basic_istream<>&,
3170         uniform_real<>&), operator<<(std::basic_ostream<>&,
3171         const exponential_distribution<>&), operator<<(std::basic_ostream<>&,
3172         const normal_distribution<>&), operator>>(std::basic_istream<>&,
3173         normal_distribution<>&)): Redo per TR1 specs; move out of line...
3174         * include/tr1/random.tcc: ... here.
3175
3176 2006-06-24  Paolo Carlini  <pcarlini@suse.de>
3177
3178         * include/tr1/random (class normal_distribution<>): Add.
3179         * include/tr1/random.tcc (normal_distribution<>::operator()): Define.
3180
3181         * include/tr1/random.tcc (struct _Max): Remove, "inline" in the
3182         only user, mersenne_twister<>::max().
3183
3184         * include/tr1/random.tcc (struct _Shift): Move...
3185         * include/tr1/random: ... here.
3186
3187         * include/tr1/random.tcc (linear_congruential<>::
3188         linear_congruential(unsigned long), linear_congruential<>::
3189         linear_congruential(_Gen&), mersenne_twister<>::max())): Move inline...
3190         * include/tr1/random: ... here.
3191
3192         * include/tr1/random (exponential_distribution<>::
3193         exponential_distribution(const result_type&)): Add missing
3194         _GLIBCXX_DEBUG_ASSERT.
3195
3196         * testsuite/tr1/5_numerical_facilities/random/
3197         exponential_distribution/requirements/typedefs.cc: New.
3198         * testsuite/tr1/5_numerical_facilities/random/
3199         normal_distribution/requirements/typedefs.cc: Likewise.
3200         * testsuite/tr1/5_numerical_facilities/random/
3201         bernoulli_distribution/requirements/typedefs.cc: Likewise.
3202         * testsuite/tr1/5_numerical_facilities/random/
3203         geometric_distribution/requirements/typedefs.cc: Likewise.
3204
3205 2006-06-23  Benjamin Kosnik  <bkoz@redhat.com>
3206
3207         PR libstdc++/27984
3208         * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust
3209         testing includes.
3210         * docs/html/test.html: Adjust for testsuite changes.
3211
3212 2006-06-22  Jonathan Lennox  <lennox@cs.columbia.edu>
3213             Paolo Carlini  <pcarlini@suse.de>
3214
3215         * include/ext/pb_ds/detail/resize_policy/
3216         hash_prime_size_policy_imp.hpp: Cast to size_t instead.
3217
3218 2006-06-22  Ami Tavory  <atavory@gmail.com>
3219
3220         * include/ext/pb_ds/detail/resize_policy/
3221         hash_prime_size_policy_imp.hpp: Fix for 64-bit machines.
3222
3223 2006-06-21  Paolo Carlini  <pcarlini@suse.de>
3224
3225         * include/bits/postypes.h (operator==(const fpos<>&, const fpos<>&),
3226         operator!=(const fpos<>&, const fpos<>&)): Add.
3227         * testsuite/27_io/fpos/mbstate_t/6.cc: New.
3228
3229 2006-06-21  Mark Mitchell  <mark@codesourcery.com>
3230
3231         * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): When
3232         cross-compiling, put headers in $prefix/$target/include/c++.
3233         * configure: Regenerated.
3234
3235 2006-06-20  Paolo Carlini  <pcarlini@suse.de>
3236
3237         * include/tr1/random.tcc (struct _Private::_Mod_w<>,
3238         _Private::__mod_w<>): Remove.
3239         (struct _Private::_Shift<>): New.
3240         (struct _Private::_Max_w<>): Rename to _Max, use the latter.
3241         (mersenne_twister<>::seed(unsigned long), seed(_Gen&, false_type),
3242         max()): Adjust.
3243
3244 2006-06-20  Vladimir Prus  <vladimir@codesourcery.com>
3245
3246         * libsupc++/eh_arm.cc (__cxa_begin_cleanup): Always return 'true'.
3247
3248 2006-06-19  Paolo Carlini  <pcarlini@suse.de>
3249
3250         * include/tr1/random (xor_combine<>::operator<<): Fix typo.
3251
3252         * include/tr1/random (bernoulli_distribution::min(),
3253         bernoulli_distribution::max(), geometric_distribution<>::min(),
3254         geometric_distribution<>::max()): Remove.
3255
3256         * include/tr1/random (geometric_distribution<>::operator()):
3257         Simplify formula.
3258
3259         * include/tr1/random: Minor cosmetic changes.
3260
3261         * testsuite/tr1/5_numerical_facilities/random/discard_block/
3262         operators/equal.cc: New.
3263         * testsuite/tr1/5_numerical_facilities/random/discard_block/
3264         operators/not_equal.cc: Likewise.
3265         * testsuite/tr1/5_numerical_facilities/random/discard_block/
3266         operators/serialize.cc: Likewise.
3267         * testsuite/tr1/5_numerical_facilities/random/xor_combine/
3268         operators/equal.cc: Likewise.
3269         * testsuite/tr1/5_numerical_facilities/random/xor_combine/
3270         operators/not_equal.cc: Likewise.
3271         * testsuite/tr1/5_numerical_facilities/random/xor_combine/
3272         operators/serialize.cc: Likewise.
3273
3274 2006-06-17  Ami Tavory  <atavory@gmail.com>
3275             Paolo Carlini  <pcarlini@suse.de>
3276
3277         * testsuite/util/rng/twister_rand_gen.cc: Adapt to simply use
3278         tr1::mt19937.
3279         * testsuite/util/rng/twister_rand_gen.hpp: Likewise.
3280
3281 2006-06-16  Paolo Carlini  <pcarlini@suse.de>
3282
3283         * include/tr1/random (uniform_real<>::uniform_real(_RealType,
3284         _RealType)): Implement.
3285         (uniform_real<>::min()): Likewise.
3286         (uniform_real<>::max()): Likewise.
3287         (uniform_real<>::reset()): Likewise.
3288
3289         * include/tr1/random (class uniform_real<>): Minor cosmetic tweaks.
3290
3291 2006-06-16  Paolo Carlini  <pcarlini@suse.de>
3292
3293         * include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format):
3294         Ignore the value of the __err argument.
3295         (time_get<>::do_get_weekday): Likewise.
3296         (time_get<>::do_get_monthname): Likewise.
3297         * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: New.
3298         * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
3299         * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
3300         * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
3301         * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
3302         * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
3303         * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
3304         * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
3305         * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
3306         * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
3307
3308 2006-06-15  Benjamin Kosnik  <bkoz@redhat.com>
3309
3310         * include/ext/pb_ds/detail/type_utils.hpp (numeric_traits): Add,
3311         const expression interface to std::numeric_limits::min and max
3312         functions.
3313         * include/ext/pb_ds/trie_policy.hpp (string_trie_e_access_traits):
3314         Use it.
3315
3316         * include/ext/pb_ds/detail/resize_policy/
3317         hash_load_check_resize_trigger_imp.hpp: Format.
3318         * include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same.
3319
3320 2006-06-15  Paolo Carlini  <pcarlini@suse.de>
3321
3322         * include/tr1/random.tcc (mersenne_twister<>::operator()()):
3323         Reload the last position of the _M_x vector too.
3324
3325 2006-06-15  Paolo Carlini  <pcarlini@suse.de>
3326
3327         * include/tr1/random (class xor_combine): Fix result_type typedef.
3328         * testsuite/tr1/5_numerical_facilities/random/xor_combine/
3329         cons/default.cc: New.
3330         * testsuite/tr1/5_numerical_facilities/random/xor_combine/
3331         requirements/typedefs.cc: Tweak.
3332
3333         * include/tr1/random: Minor cosmetic changes.
3334
3335 2006-06-14  Ami Tavory  <atavory@gmail.com>
3336             Benjamin Kosnik  <bkoz@redhat.com>
3337
3338         * include/ext/pb_assoc: Delete.
3339         * include/ext/pb_ds: Add.
3340         * docs/html/ext/pb_assoc: Delete.
3341         * docs/html/ext/pb_ds: Add.
3342         * testsuite/ext/pb_assoc: Delete.
3343         * testsuite/ext/pb_ds: Add.
3344         * testsuite/performance/ext: Add.
3345         * testsuite/performance/ext/pb_ds: Add.
3346
3347         * testsuite/util/regression: New.
3348         * testsuite/util/rng: New.
3349         * testsuite/util/native_type: New.
3350         * testsuite/util/common_type: New.
3351         * testsuite/util/performance: New.
3352         * testsuite/util/hash_fn: New.
3353         * testsuite/util/io: New.
3354         * testsuite/util/statistic: New.
3355
3356         * scripts/make_graph.py: New.
3357         * scripts/make_graphs.py: New.
3358         * testsuite/data/thirty_years_among_the_dead_preproc.txt: Add.
3359         * testsuite/data/make_graph_htmls.xml: Add.
3360         * testsuite/data/make_graph_test_infos.xml: Add.
3361
3362         * testsuite/lib/libstdc++.exp (v3-build_support): Add in new
3363         object files for regression testing.
3364         * docs/html/documentation.html: Adjust links.
3365         * include/Makefile.am (install-headers): Update for new sources,
3366         directories.
3367         * include/Makefine.in: Regenerate.
3368         * scripts/testsuite_flags.in: Adjust to testsuite/util path.
3369         * scripts/check_performance: Simplify, adjust for new testsuite output.
3370         * testsuite/Makefile.am (check-performance): Adjust.
3371         (doc-performance): New.
3372         * testsuite/Makefile.in: Regenerate.
3373
3374         * include/ext/pb_ds: New.
3375         * include/ext/pb_ds/assoc_container.hpp: Same.
3376         * include/ext/pb_ds/detail: New.
3377         * include/ext/pb_ds/detail/binomial_heap_base_: New.
3378         * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp: Same.
3379         * include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp: Same.
3380         * include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp: Same.
3381         * include/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp: Same.
3382         * include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp: Same.
3383         * include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp: Same.
3384         * include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp: Same.
3385         * include/ext/pb_ds/detail/resize_policy: New.
3386         * include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp: Same.
3387         * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp: Same.
3388         * include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp: Same.
3389         * include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp: Same.
3390         * include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp: Same.
3391         * include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp: Same.
3392         * include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp: Same.
3393         * include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp: Same.
3394         * include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp: Same.
3395         * include/ext/pb_ds/detail/container_base_dispatch.hpp: Same.
3396         * include/ext/pb_ds/detail/cc_hash_table_map_: New.
3397         * include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp: Same.
3398         * include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp: Same.
3399         * include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp: Same.
3400         * include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp: Same.
3401         * include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp: Same.
3402         * include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp: Same.
3403         * include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp: Same.
3404         * include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp: Same.
3405         * include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp: Same.
3406         * include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp: Same.
3407         * include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp: Same.
3408         * include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp: Same.
3409         * include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp: Same.
3410         * include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp: Same.
3411         * include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
3412         * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
3413         * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
3414         * include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp: Same.
3415         * include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp: Same.
3416         * include/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp: Same.
3417         * include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp: Same.
3418         * include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp: Same.
3419         * include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp: Same.
3420         * include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp: Same.
3421         * include/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp: Same.
3422         * include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp: Same.
3423         * include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp: Same.
3424         * include/ext/pb_ds/detail/typelist_assoc_container.hpp: Same.
3425         * include/ext/pb_ds/detail/tree_trace_base.hpp: Same.
3426         * include/ext/pb_ds/detail/unordered_iterator: New.
3427         * include/ext/pb_ds/detail/unordered_iterator/iterator.hpp: Same.
3428         * include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp: Same.
3429         * include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp: Same.
3430         * include/ext/pb_ds/detail/unordered_iterator/const_point_iterator.hpp: Same.
3431         * include/ext/pb_ds/detail/typelist.hpp: Same.
3432         * include/ext/pb_ds/detail/pat_trie_: New.
3433         * include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Same.
3434         * include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp: Same.
3435         * include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Same.
3436         * include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Same.
3437         * include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Same.
3438         * include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp: Same.
3439         * include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Same.
3440         * include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp: Same.
3441         * include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Same.
3442         * include/ext/pb_ds/detail/pat_trie_/head.hpp: Same.
3443         * include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp: Same.
3444         * include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Same.
3445         * include/ext/pb_ds/detail/pat_trie_/traits.hpp: Same.
3446         * include/ext/pb_ds/detail/pat_trie_/cond_dtor_entry_dealtor.hpp: Same.
3447         * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
3448         * include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp: Same.
3449         * include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Same.
3450         * include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Same.
3451         * include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Same.
3452         * include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Same.
3453         * include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Same.
3454         * include/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp: Same.
3455         * include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp: Same.
3456         * include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Same.
3457         * include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same.
3458         * include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Same.
3459         * include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Same.
3460         * include/ext/pb_ds/detail/bin_search_tree_: New.
3461         * include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp: Same.
3462         * include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp: Same.
3463         * include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp: Same.
3464         * include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp: Same.
3465         * include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp: Same.
3466         * include/ext/pb_ds/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp: Same.
3467         * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Same.
3468         * include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp: Same.
3469         * include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp: Same.
3470         * include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp: Same.
3471         * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
3472         * include/ext/pb_ds/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp: Same.
3473         * include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp: Same.
3474         * include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp: Same.
3475         * include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp: Same.
3476         * include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp: Same.
3477         * include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp: Same.
3478         * include/ext/pb_ds/detail/gp_hash_table_map_: New.
3479         * include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp: Same.
3480         * include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp: Same.
3481         * include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp: Same.
3482         * include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp: Same.
3483         * include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp: Same.
3484         * include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp: Same.
3485         * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
3486         * include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp: Same.
3487         * include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp: Same.
3488         * include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp: Same.
3489         * include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp: Same.
3490         * include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp: Same.
3491         * include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp: Same.
3492         * include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp: Same.
3493         * include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp: Same.
3494         * include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp: Same.
3495         * include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
3496         * include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp: Same.
3497         * include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp: Same.
3498         * include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp: Same.
3499         * include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp: Same.
3500         * include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp: Same.
3501         * include/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp: Same.
3502         * include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp: Same.
3503         * include/ext/pb_ds/detail/standard_policies.hpp: Same.
3504         * include/ext/pb_ds/detail/typelist: New.
3505         * include/ext/pb_ds/detail/typelist/typelist_flatten.hpp: Same.
3506         * include/ext/pb_ds/detail/typelist/typelist_contains.hpp: Same.
3507         * include/ext/pb_ds/detail/typelist/typelist_typelist_append.hpp: Same.
3508         * include/ext/pb_ds/detail/typelist/typelist_apply.hpp: Same.
3509         * include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same.
3510         * include/ext/pb_ds/detail/typelist/typelist_append.hpp: Same.
3511         * include/ext/pb_ds/detail/typelist/typelist_assoc_container_find.hpp: Same.
3512         * include/ext/pb_ds/detail/typelist/typelist_transform.hpp: Same.
3513         * include/ext/pb_ds/detail/typelist/typelist_at_index.hpp: Same.
3514         * include/ext/pb_ds/detail/tree_policy: New.
3515         * include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp: Same.
3516         * include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Same.
3517         * include/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp: Same.
3518         * include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp: Same.
3519         * include/ext/pb_ds/detail/basic_tree_policy: New.
3520         * include/ext/pb_ds/detail/basic_tree_policy/basic_tree_policy_base.hpp: Same.
3521         * include/ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp: Same.
3522         * include/ext/pb_ds/detail/basic_tree_policy/traits.hpp: Same.
3523         * include/ext/pb_ds/detail/types_traits.hpp: Same.
3524         * include/ext/pb_ds/detail/binary_heap_: New.
3525         * include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp: Same.
3526         * include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp: Same.
3527         * include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Same.
3528         * include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp: Same.
3529         * include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp: Same.
3530         * include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp: Same.
3531         * include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp: Same.
3532         * include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Same.
3533         * include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp: Same.
3534         * include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Same.
3535         * include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp: Same.
3536         * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Same.
3537         * include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp: Same.
3538         * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
3539         * include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
3540         * include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp: Same.
3541         * include/ext/pb_ds/detail/trie_policy: New.
3542         * include/ext/pb_ds/detail/trie_policy/string_trie_e_access_traits_imp.hpp: Same.
3543         * include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp: Same.
3544         * include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp: Same.
3545         * include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp: Same.
3546         * include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp: Same.
3547         * include/ext/pb_ds/detail/trie_policy/sample_trie_e_access_traits.hpp: Same.
3548         * include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Same.
3549         * include/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp: Same.
3550         * include/ext/pb_ds/detail/cond_dealtor.hpp: Same.
3551         * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Same.
3552         * include/ext/pb_ds/detail/pairing_heap_: Name.
3553         * include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Same.
3554         * include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp: Same.
3555         * include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Same.
3556         * include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Same.
3557         * include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp: Same.
3558         * include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
3559         * include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp: Same.
3560         * include/ext/pb_ds/detail/binomial_heap_: New.
3561         * include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp: Same.
3562         * include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp: Same.
3563         * include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
3564         * include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp: Same.
3565         * include/ext/pb_ds/detail/type_utils.hpp: Same.
3566         * include/ext/pb_ds/detail/eq_fn: New.
3567         * include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp: Same.
3568         * include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp: Same.
3569         * include/ext/pb_ds/detail/basic_types.hpp: Same.
3570         * include/ext/pb_ds/detail/list_update_policy: New.
3571         * include/ext/pb_ds/detail/list_update_policy/mtf_lu_policy_imp.hpp: Same.
3572         * include/ext/pb_ds/detail/list_update_policy/counter_lu_metadata.hpp: Same.
3573         * include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp: Same.
3574         * include/ext/pb_ds/detail/list_update_policy/counter_lu_policy_imp.hpp: Same.
3575         * include/ext/pb_ds/detail/thin_heap_: New.
3576         * include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp: Same.
3577         * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Same.
3578         * include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Same.
3579         * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
3580         * include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Same.
3581         * include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Same.
3582         * include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp: Same.
3583         * include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp: Same.
3584         * include/ext/pb_ds/detail/left_child_next_sibling_heap_: New.
3585         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp: Same.
3586         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp: Same.
3587         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp: Same.
3588         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp: Same.
3589         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp: Same.
3590         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp: Same.
3591         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp: Same.
3592         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp: Same.
3593         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp: Same.
3594         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp: Same.
3595         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp: Same.
3596         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp: Same.
3597         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_point_iterator.hpp: Same.
3598         * include/ext/pb_ds/detail/ov_tree_map_: New.
3599         * include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Same.
3600         * include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp: Same.
3601         * include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp: Same.
3602         * include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Same.
3603         * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
3604         * include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
3605         * include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
3606         * include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp: Same.
3607         * include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
3608         * include/ext/pb_ds/detail/ov_tree_map_/traits.hpp: Same.
3609         * include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp: Same.
3610         * include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp: Same.
3611         * include/ext/pb_ds/detail/map_debug_base.hpp: Same.
3612         * include/ext/pb_ds/detail/hash_fn: New.
3613         * include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp: Same.
3614         * include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp: Same.
3615         * include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
3616         * include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp: Same.
3617         * include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp: Same.
3618         * include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp: Same.
3619         * include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp: Same.
3620         * include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp: Same.
3621         * include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp: Same.
3622         * include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Same.
3623         * include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp: Same.
3624         * include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp: Same.
3625         * include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp: Same.
3626         * include/ext/pb_ds/detail/splay_tree_: New.
3627         * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Same.
3628         * include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Same.
3629         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Same.
3630         * include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Same.
3631         * include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp: Same.
3632         * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Same.
3633         * include/ext/pb_ds/detail/splay_tree_/node.hpp: Same.
3634         * include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp: Same.
3635         * include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
3636         * include/ext/pb_ds/detail/splay_tree_/traits.hpp: Same.
3637         * include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp: Same.
3638         * include/ext/pb_ds/detail/list_update_map_: New.
3639         * include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp: Same.
3640         * include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp: Same.
3641         * include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp: Same.
3642         * include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp: Same.
3643         * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
3644         * include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp: Same.
3645         * include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp: Same.
3646         * include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp: Same.
3647         * include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp: Same.
3648         * include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp: Same.
3649         * include/ext/pb_ds/detail/rc_binomial_heap_: New.
3650         * include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp: Same.
3651         * include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp: Same.
3652         * include/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp: Same.
3653         * include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp: Same.
3654         * include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp: Same.
3655         * include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp: Same.
3656         * include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
3657         * include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp: Same.
3658         * include/ext/pb_ds/detail/rb_tree_map_: New.
3659         * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Same.
3660         * include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp: Same.
3661         * include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Same.
3662         * include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
3663         * include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Same.
3664         * include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp: Same.
3665         * include/ext/pb_ds/detail/rb_tree_map_/node.hpp: Same.
3666         * include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp: Same.
3667         * include/ext/pb_ds/detail/rb_tree_map_/traits.hpp: Same.
3668         * include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Same.
3669         * include/ext/pb_ds/list_update_policy.hpp: Same.
3670         * include/ext/pb_ds/exception.hpp: Same.
3671         * include/ext/pb_ds/tree_policy.hpp: Same.
3672         * include/ext/pb_ds/tag_and_trait.hpp: Same.
3673         * include/ext/pb_ds/hash_policy.hpp: Same.
3674         * include/ext/pb_ds/trie_policy.hpp: Same.
3675         * include/ext/pb_ds/priority_queue.hpp: Same.
3676
3677         * docs/html/ext/pb_ds: New.
3678         * docs/html/ext/pb_ds/container_tag.html: Same.
3679         * docs/html/ext/pb_ds/trivial_iterator_tag.html: Same.
3680         * docs/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png
3681         * docs/html/ext/pb_ds/sample_trie_e_access_traits.html: Same.
3682         * docs/html/ext/pb_ds/gp_hash_table.html: Same.
3683         * docs/html/ext/pb_ds/priority_queue_tag_cd.svg
3684         * docs/html/ext/pb_ds/container_cd.svg
3685         * docs/html/ext/pb_ds/linear_probe_fn.html: Same.
3686         * docs/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_local.png
3687         * docs/html/ext/pb_ds/quadratic_probe_fn.html: Same.
3688         * docs/html/ext/pb_ds/assoc_regression_tests.html: Same.
3689         * docs/html/ext/pb_ds/tree_tag.html: Same.
3690         * docs/html/ext/pb_ds/hash_random_int_erase_mem_usage_test.html: Same.
3691         * docs/html/ext/pb_ds/interface.html: Same.
3692         * docs/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_msvc.png
3693         * docs/html/ext/pb_ds/hash_random_int_subscript_find_timing_test.html: Same.
3694         * docs/html/ext/pb_ds/lu_based_containers.html: Same.
3695         * docs/html/ext/pb_ds/embedded_lists_3.png
3696         * docs/html/ext/pb_ds/tree_text_find_find_timing_test.html: Same.
3697         * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_local.png
3698         * docs/html/ext/pb_ds/assoc_performance_tests.html: Same.
3699         * docs/html/ext/pb_ds/list_update.html: Same.
3700         * docs/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_gcc.png
3701         * docs/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_local.png
3702         * docs/html/ext/pb_ds/point_iterators_range_ops_1.png
3703         * docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_msvc.png
3704         * docs/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_gcc.png
3705         * docs/html/ext/pb_ds/text_find_timing_test_tree_like_msvc.png
3706         * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_local.png
3707         * docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_local.png
3708         * docs/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_msvc.png
3709         * docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test.html: Same.
3710         * docs/html/ext/pb_ds/move_to_front_lu_policy.html: Same.
3711         * docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_gcc.png
3712         * docs/html/ext/pb_ds/hash_random_int_find_find_timing_test.html: Same.
3713         * docs/html/ext/pb_ds/string_trie_e_access_traits.html: Same.
3714         * docs/html/ext/pb_ds/prerequisites.html: Same.
3715         * docs/html/ext/pb_ds/gp_hash_tag.html: Same.
3716         * docs/html/ext/pb_ds/priority_queue_tag_cd.png
3717         * docs/html/ext/pb_ds/container_cd.png
3718         * docs/html/ext/pb_ds/priority_queue_text_join_timing_test_gcc.png
3719         * docs/html/ext/pb_ds/container_base.html: Same.
3720         * docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_msvc.png
3721         * docs/html/ext/pb_ds/tree_random_int_find_find_timing_test.html: Same.
3722         * docs/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_msvc.png
3723         * docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_local.png
3724         * docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_gcc.png
3725         * docs/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_msvc.png
3726         * docs/html/ext/pb_ds/random_int_find_find_timing_test_tree_msvc.png
3727         * docs/html/ext/pb_ds/text_find_timing_test_hash_local.png
3728         * docs/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_msvc.png
3729         * docs/html/ext/pb_ds/ov_tree_tag.html: Same.
3730         * docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_local.png
3731         * docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_msvc.png
3732         * docs/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_msvc.png
3733         * docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png
3734         * docs/html/ext/pb_ds/list_update_tag.html: Same.
3735         * docs/html/ext/pb_ds/balls_and_bins.png
3736         * docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_local.png
3737         * docs/html/ext/pb_ds/disclaimer.html: Same.
3738         * docs/html/ext/pb_ds/insert_error.html: Same.
3739         * docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_gcc.png
3740         * docs/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_gcc.png
3741         * docs/html/ext/pb_ds/examples.html: Same.
3742         * docs/html/ext/pb_ds/multimap_text_insert_timing_test_small.html: Same.
3743         * docs/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_gcc.png
3744         * docs/html/ext/pb_ds/sample_probe_fn.html: Same.
3745         * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_local.png
3746         * docs/html/ext/pb_ds/priority_queue_text_push_timing_test.html: Same.
3747         * docs/html/ext/pb_ds/priority_queue_random_int_push_timing_test_gcc.png
3748         * docs/html/ext/pb_ds/null_mapped_type.html: Same.
3749         * docs/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_gcc.png
3750         * docs/html/ext/pb_ds/tree_order_statistics_timing_test_gcc.png
3751         * docs/html/ext/pb_ds/associative_container_tag.html: Same.
3752         * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_local.png
3753         * docs/html/ext/pb_ds/design.html: Same.
3754         * docs/html/ext/pb_ds/cc_hash_max_collision_check_resize_trigger.html: Same.
3755         * docs/html/ext/pb_ds/pairing_heap_tag.html: Same.
3756         * docs/html/ext/pb_ds/tree_text_lor_find_timing_test_gcc.png
3757         * docs/html/ext/pb_ds/references.html: Same.
3758         * docs/html/ext/pb_ds/tree_order_statistics_timing_test_msvc.png
3759         * docs/html/ext/pb_ds/hash_load_check_resize_trigger.html: Same.
3760         * docs/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_gcc.png
3761         * docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png
3762         * docs/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_gcc.png
3763         * docs/html/ext/pb_ds/pq_different_underlying_dss.png
3764         * docs/html/ext/pb_ds/insert_resize_sequence_diagram1.png
3765         * docs/html/ext/pb_ds/pq_regression_tests.html: Same.
3766         * docs/html/ext/pb_ds/sample_tree_node_update.html: Same.
3767         * docs/html/ext/pb_ds/invalidation_guarantee_erase.png
3768         * docs/html/ext/pb_ds/basic_invalidation_guarantee.html: Same.
3769         * docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_local.png
3770         * docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_gcc.png
3771         * docs/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_local.png
3772         * docs/html/ext/pb_ds/point_iterators_range_ops_2.png
3773         * docs/html/ext/pb_ds/null_probe_fn.html: Same.
3774         * docs/html/ext/pb_ds/hash_prime_size_policy.html: Same.
3775         * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png
3776         * docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_gcc.png
3777         * docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_local.png
3778         * docs/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_local.png
3779         * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png
3780         * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png
3781         * docs/html/ext/pb_ds/multimap_text_find_timing_test_large.html: Same.
3782         * docs/html/ext/pb_ds/sample_resize_policy.html: Same.
3783         * docs/html/ext/pb_ds/binomial_heap_tag.html: Same.
3784         * docs/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_local.png
3785         * docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_local.png
3786         * docs/html/ext/pb_ds/tree_text_lor_find_find_timing_test.html: Same.
3787         * docs/html/ext/pb_ds/priority_queue_text_join_timing_test_msvc.png
3788         * docs/html/ext/pb_ds/trie_based_containers.html: Same.
3789         * docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_gcc.png
3790         * docs/html/ext/pb_ds/tree_split_join_timing_test_local.png
3791         * docs/html/ext/pb_ds/text_find_timing_test_hash_gcc.png
3792         * docs/html/ext/pb_ds/motivation.html: Same.
3793         * docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_msvc.png
3794         * docs/html/ext/pb_ds/tree_split_join_timing_test_gcc.png
3795         * docs/html/ext/pb_ds/tree.html: Same.
3796         * docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_gcc.png
3797         * docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_msvc.png
3798         * docs/html/ext/pb_ds/invalidation_guarantee_cd.png
3799         * docs/html/ext/pb_ds/tutorial.html: Same.
3800         * docs/html/ext/pb_ds/null_trie_node_update.html: Same.
3801         * docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_gcc.png
3802         * docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_msvc.png
3803         * docs/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_local.png
3804         * docs/html/ext/pb_ds/point_iterators_cd.png
3805         * docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_local.png
3806         * docs/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_local.png
3807         * docs/html/ext/pb_ds/rb_tree_tag.html: Same.
3808         * docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_msvc.png
3809         * docs/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_msvc.png
3810         * docs/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_gcc.png
3811         * docs/html/ext/pb_ds/exceptions.html: Same.
3812         * docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_msvc.png
3813         * docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_local.png
3814         * docs/html/ext/pb_ds/hash_policy_cd.png
3815         * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png
3816         * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small.html: Same.
3817         * docs/html/ext/pb_ds/ds_gen.html: Same.
3818         * docs/html/ext/pb_ds/hash_exponential_size_policy.html: Same.
3819         * docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_local.png
3820         * docs/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_msvc.png
3821         * docs/html/ext/pb_ds/index.html: Same.
3822         * docs/html/ext/pb_ds/binary_heap_tag.html: Same.
3823         * docs/html/ext/pb_ds/basic_hash_tag.html: Same.
3824         * docs/html/ext/pb_ds/trie_order_statistics_node_update.html: Same.
3825         * docs/html/ext/pb_ds/sample_resize_trigger.html: Same.
3826         * docs/html/ext/pb_ds/priority_queue_text_push_timing_test_local.png
3827         * docs/html/ext/pb_ds/hash_text_find_find_timing_test.html: Same.
3828         * docs/html/ext/pb_ds/tree_text_insert_timing_test.html: Same.
3829         * docs/html/ext/pb_ds/trie_tag.html: Same.
3830         * docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_local.png
3831         * docs/html/ext/pb_ds/pq_tests.html: Same.
3832         * docs/html/ext/pb_ds/insert_resize_sequence_diagram2.png
3833         * docs/html/ext/pb_ds/node_invariant_invalidations.png
3834         * docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_msvc.png
3835         * docs/html/ext/pb_ds/resize_policy_cd.png
3836         * docs/html/ext/pb_ds/embedded_lists_1.png
3837         * docs/html/ext/pb_ds/hash_ranged_hash_range_hashing_fns.png
3838         * docs/html/ext/pb_ds/null_lu_metadata.html: Same.
3839         * docs/html/ext/pb_ds/tree_order_statistics_timing_test.html: Same.
3840         * docs/html/ext/pb_ds/trie_prefix_search_node_update.html: Same.
3841         * docs/html/ext/pb_ds/hash_range_hashing_seq_diagram.png
3842         * docs/html/ext/pb_ds/point_invalidation_guarantee.html: Same.
3843         * docs/html/ext/pb_ds/direct_mod_range_hashing.html: Same.
3844         * docs/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_local.png
3845         * docs/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_msvc.png
3846         * docs/html/ext/pb_ds/misc.html: Same.
3847         * docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_local.png
3848         * docs/html/ext/pb_ds/counter_lu_policy.html: Same.
3849         * docs/html/ext/pb_ds/different_underlying_dss.png
3850         * docs/html/ext/pb_ds/restoring_node_invariants.png
3851         * docs/html/ext/pb_ds/multimap_text_insert_timing_test_large.html: Same.
3852         * docs/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_local.png
3853         * docs/html/ext/pb_ds/sample_update_policy.html: Same.
3854         * docs/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_gcc.png
3855         * docs/html/ext/pb_ds/tree_order_statistics_timing_test_local.png
3856         * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png
3857         * docs/html/ext/pb_ds/simple_list.png
3858         * docs/html/ext/pb_ds/text_find_timing_test_hash_msvc.png
3859         * docs/html/ext/pb_ds/assoc_examples.html: Same.
3860         * docs/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_local.png
3861         * docs/html/ext/pb_ds/hash_based_containers.html: Same.
3862         * docs/html/ext/pb_ds/text_find_timing_test_tree_like_local.png
3863         * docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_local.png
3864         * docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_gcc.png
3865         * docs/html/ext/pb_ds/tree_node_iterator.html: Same.
3866         * docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png
3867         * docs/html/ext/pb_ds/trie_node_iterator.html: Same.
3868         * docs/html/ext/pb_ds/tree_based_containers.html: Same.
3869         * docs/html/ext/pb_ds/hash_random_int_subscript_insert_timing_test.html: Same.
3870         * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png
3871         * docs/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_msvc.png
3872         * docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_msvc.png
3873         * docs/html/ext/pb_ds/priority_queue_text_push_timing_test_gcc.png
3874         * docs/html/ext/pb_ds/rationale_null_node_updator.png
3875         * docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_local.png
3876         * docs/html/ext/pb_ds/lu.png
3877         * docs/html/ext/pb_ds/assoc_container_traits.html: Same.
3878         * docs/html/ext/pb_ds/gp_hash_random_int_find_timing_test_msvc.png
3879         * docs/html/ext/pb_ds/assoc_design.html: Same.
3880         * docs/html/ext/pb_ds/splay_tree_tag.html: Same.
3881         * docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_gcc.png
3882         * docs/html/ext/pb_ds/priority_queue_random_int_push_timing_test.html: Same.
3883         * docs/html/ext/pb_ds/assoc_container_tag_cd.svg
3884         * docs/html/ext/pb_ds/resize_error.html: Same.
3885         * docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_msvc.png
3886         * docs/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_gcc.png
3887         * docs/html/ext/pb_ds/priority_queue_text_join_timing_test.html: Same.
3888         * docs/html/ext/pb_ds/basic_tree_assoc_container_const_node_iterator.html: Same.
3889         * docs/html/ext/pb_ds/gp_hash_random_int_find_timing_test_gcc.png
3890         * docs/html/ext/pb_ds/trie_const_node_iterator.html: Same.
3891         * docs/html/ext/pb_ds/hash_zlob_random_int_find_find_timing_test.html: Same.
3892         * docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_gcc.png
3893         * docs/html/ext/pb_ds/sample_size_policy.html: Same.
3894         * docs/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_gcc.png
3895         * docs/html/ext/pb_ds/cc_hash_table.html: Same.
3896         * docs/html/ext/pb_ds/node_invariants.png
3897         * docs/html/ext/pb_ds/tree_split_join_timing_test_msvc.png
3898         * docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test.html: Same.
3899         * docs/html/ext/pb_ds/tree_order_statistics_node_update.html: Same.
3900         * docs/html/ext/pb_ds/cc_hash_random_int_find_timing_test_msvc.png
3901         * docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_local.png
3902         * docs/html/ext/pb_ds/priority_queue.html: Same.
3903         * docs/html/ext/pb_ds/assoc_tests.html: Same.
3904         * docs/html/ext/pb_ds/assoc_container_tag_cd.png
3905         * docs/html/ext/pb_ds/basic_hash_table.html: Same.
3906         * docs/html/ext/pb_ds/basic_tree_tag.html: Same.
3907         * docs/html/ext/pb_ds/tree_split_join_timing_test.html: Same.
3908         * docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_local.png
3909         * docs/html/ext/pb_ds/insert_resize_sequence_diagram3.png
3910         * docs/html/ext/pb_ds/embedded_lists_2.png
3911         * docs/html/ext/pb_ds/random_int_find_find_timing_test_tree_local.png
3912         * docs/html/ext/pb_ds/sample_ranged_probe_fn.html: Same.
3913         * docs/html/ext/pb_ds/random_int_find_find_timing_test_tree_gcc.png
3914         * docs/html/ext/pb_ds/sample_trie_node_update.html: Same.
3915         * docs/html/ext/pb_ds/introduction.html: Same.
3916         * docs/html/ext/pb_ds/pq_performance_tests.html: Same.
3917         * docs/html/ext/pb_ds/pat_trie.png
3918         * docs/html/ext/pb_ds/range_invalidation_guarantee.html: Same.
3919         * docs/html/ext/pb_ds/contact.html: Same.
3920         * docs/html/ext/pb_ds/sample_range_hashing.html: Same.
3921         * docs/html/ext/pb_ds/priority_queue_random_int_push_timing_test_local.png
3922         * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png
3923         * docs/html/ext/pb_ds/update_seq_diagram.png
3924         * docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_gcc.png
3925         * docs/html/ext/pb_ds/direct_mask_range_hashing.html: Same.
3926         * docs/html/ext/pb_ds/tests.html: Same.
3927         * docs/html/ext/pb_ds/cc_hash_random_int_find_timing_test_gcc.png
3928         * docs/html/ext/pb_ds/tree_node_updator_policy_cd.png
3929         * docs/html/ext/pb_ds/text_find_timing_test_tree_like_gcc.png
3930         * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large.html: Same.
3931         * docs/html/ext/pb_ds/trie_node_updator_policy_cd.png
3932         * docs/html/ext/pb_ds/priority_queue_random_int_push_timing_test_msvc.png
3933         * docs/html/ext/pb_ds/concepts.html: Same.
3934         * docs/html/ext/pb_ds/pq_examples.html: Same.
3935         * docs/html/ext/pb_ds/priority_queue_tag.html: Same.
3936         * docs/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test.html: Same.
3937         * docs/html/ext/pb_ds/update_policy_cd.png
3938         * docs/html/ext/pb_ds/thin_heap_tag.html: Same.
3939         * docs/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_msvc.png
3940         * docs/html/ext/pb_ds/basic_tree.html: Same.
3941         * docs/html/ext/pb_ds/null_hash_fn.html: Same.
3942         * docs/html/ext/pb_ds/null_tree_node_update.html: Same.
3943         * docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png
3944         * docs/html/ext/pb_ds/trie.html: Same.
3945         * docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_msvc.png
3946         * docs/html/ext/pb_ds/rc_binomial_heap_tag.html: Same.
3947         * docs/html/ext/pb_ds/priority_queue_text_push_timing_test_msvc.png
3948         * docs/html/ext/pb_ds/pq_container_traits.html: Same.
3949         * docs/html/ext/pb_ds/pq_design.html: Same.
3950         * docs/html/ext/pb_ds/checked_by_tidy.gif
3951         * docs/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_local.png
3952         * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png
3953         * docs/html/ext/pb_ds/priority_queue_text_push_pop_timing_test.html: Same.
3954         * docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_gcc.png
3955         * docs/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_local.png
3956         * docs/html/ext/pb_ds/acks.html: Same.
3957         * docs/html/ext/pb_ds/gp_hash_random_int_find_timing_test_local.png
3958         * docs/html/ext/pb_ds/cc_hash_tag.html: Same.
3959         * docs/html/ext/pb_ds/sample_ranged_hash_fn.html: Same.
3960         * docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_msvc.png
3961         * docs/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test.html: Same.
3962         * docs/html/ext/pb_ds/multimap_text_find_timing_test_small.html: Same.
3963         * docs/html/ext/pb_ds/tree_text_lor_find_timing_test_msvc.png
3964         * docs/html/ext/pb_ds/hash_range_hashing_seq_diagram2.png
3965         * docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_msvc.png
3966         * docs/html/ext/pb_ds/PythonPoweredSmall.gif
3967         * docs/html/ext/pb_ds/cc_hash_random_int_find_timing_test_local.png
3968         * docs/html/ext/pb_ds/pat_trie_tag.html: Same.
3969         * docs/html/ext/pb_ds/hash_standard_resize_policy.html: Same.
3970         * docs/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_msvc.png
3971         * docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_gcc.png
3972         * docs/html/ext/pb_ds/join_error.html: Same.
3973         * docs/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_gcc.png
3974         * docs/html/ext/pb_ds/priority_queue_text_join_timing_test_local.png
3975
3976         * testsuite/ext/pb_ds: New.
3977         * testsuite/ext/pb_ds/regression: New.
3978         * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
3979         * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Same.
3980         * testsuite/ext/pb_ds/regression/associative_containers.cc: Same.
3981         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Same.
3982         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
3983         * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Same.
3984         * testsuite/ext/pb_ds/regression/priority_queues.cc: Same.
3985         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
3986         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Same.
3987         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same.
3988         * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
3989         * testsuite/ext/pb_ds/example: New.
3990         * testsuite/ext/pb_ds/example/hash_shift_mask.cc: Same.
3991         * testsuite/ext/pb_ds/example/basic_set.cc: Same.
3992         * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Same.
3993         * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Same.
3994         * testsuite/ext/pb_ds/example/store_hash.cc: Same.
3995         * testsuite/ext/pb_ds/example/assoc_container_traits.cc: Same.
3996         * testsuite/ext/pb_ds/example/hash_load_set_change.cc: Same.
3997         * testsuite/ext/pb_ds/example/ranged_hash.cc: Same.
3998         * testsuite/ext/pb_ds/example/hash_resize.cc: Same.
3999         * testsuite/ext/pb_ds/example/tree_order_statistics.cc: Same.
4000         * testsuite/ext/pb_ds/example/trie_prefix_search.cc: Same.
4001         * testsuite/ext/pb_ds/example/basic_multiset.cc: Same.
4002         * testsuite/ext/pb_ds/example/priority_queue_xref.cc: Same.
4003         * testsuite/ext/pb_ds/example/hash_find_neg.cc: Same.
4004         * testsuite/ext/pb_ds/example/erase_if.cc: Same.
4005         * testsuite/ext/pb_ds/example/priority_queue_container_traits.cc: Same.
4006         * testsuite/ext/pb_ds/example/tree_join.cc: Same.
4007         * testsuite/ext/pb_ds/example/basic_map.cc: Same.
4008         * testsuite/ext/pb_ds/example/trie_split.cc: Same.
4009         * testsuite/ext/pb_ds/example/priority_queue_split_join.cc: Same.
4010         * testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc: Same.
4011         * testsuite/ext/pb_ds/example/priority_queue_erase_if.cc: Same.
4012         * testsuite/ext/pb_ds/example/hash_mod.cc: Same.
4013         * testsuite/ext/pb_ds/example/tree_order_statistics_join.cc: Same.
4014         * testsuite/ext/pb_ds/example/trie_dna.cc: Same.
4015         * testsuite/ext/pb_ds/example/hash_initial_size.cc: Same.
4016         * testsuite/ext/pb_ds/example/basic_priority_queue.cc: Same.
4017         * testsuite/ext/pb_ds/example/tree_intervals.cc: Same.
4018         * testsuite/ext/pb_ds/example/basic_multimap.cc: Same.
4019         * testsuite/performance/ext: New.
4020         * testsuite/performance/ext/pb_ds: New.
4021         * testsuite/performance/ext/pb_ds/multimap_text_find_timing_small.cc: Same.
4022         * testsuite/performance/ext/pb_ds/text_find_timing.cc: Same.
4023         * testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc: Same.
4024         * testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
4025         * testsuite/performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc: Same.
4026         * testsuite/performance/ext/pb_ds/random_int_subscript_find_timing.cc: Same.
4027         * testsuite/performance/ext/pb_ds/priority_queue_text_push_timing.cc: Same.
4028         * testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
4029         * testsuite/performance/ext/pb_ds/random_int_find_timing.cc: Same.
4030         * testsuite/performance/ext/pb_ds/multimap_text_insert_timing_large.cc: Same.
4031         * testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp: Same.
4032         * testsuite/performance/ext/pb_ds/priority_queue_random_int_push_timing.cc: Same.
4033         * testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp: Same.
4034         * testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.hpp: Same.
4035         * testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
4036         * testsuite/performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc: Same.
4037         * testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc: Same.
4038         * testsuite/performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc: Same.
4039         * testsuite/performance/ext/pb_ds/multimap_text_find_timing_large.cc: Same.
4040         * testsuite/performance/ext/pb_ds/priority_queue_text_join_timing.cc: Same.
4041         * testsuite/performance/ext/pb_ds/multimap_text_insert_timing_small.cc: Same.
4042         * testsuite/performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc: Same.
4043         * testsuite/performance/ext/pb_ds/random_int_subscript_insert_timing.cc: Same.
4044         * testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
4045         * testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc: Same.
4046         * testsuite/performance/ext/pb_ds/multimap_text_insert_timing.hpp: Same.
4047         * testsuite/performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc: Same.
4048         * testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc: Same.
4049         * testsuite/data/make_graph_test_infos.xml: Same.
4050         * testsuite/data/thirty_years_among_the_dead_preproc.txt: New.
4051         * testsuite/data/make_graph_htmls.xml: Same.
4052         * testsuite/util/regression: New.
4053         * testsuite/util/regression/trait: New.
4054         * testsuite/util/regression/trait/priority_queue: New.
4055         * testsuite/util/regression/trait/priority_queue/trait.hpp: Same.
4056         * testsuite/util/regression/trait/erase_if_fn.hpp: Same.
4057         * testsuite/util/regression/trait/assoc: New.
4058         * testsuite/util/regression/trait/assoc/native_type_trait.hpp: Same.
4059         * testsuite/util/regression/trait/assoc/node_update_trait.hpp: Same.
4060         * testsuite/util/regression/trait/assoc/get_set_load_trait.hpp: Same.
4061         * testsuite/util/regression/trait/assoc/get_set_loads_trait.hpp: Same.
4062         * testsuite/util/regression/trait/assoc/trait.hpp: Same.
4063         * testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
4064         * testsuite/util/regression/trait/assoc/resize_trait.hpp: Same.
4065         * testsuite/util/regression/trait/assoc/to_string.hpp: Same.
4066         * testsuite/util/regression/rand: New.
4067         * testsuite/util/regression/rand/priority_queue: New.
4068         * testsuite/util/regression/rand/priority_queue/detail: New.
4069         * testsuite/util/regression/rand/priority_queue/detail/erase_fn_imps.hpp: Same.
4070         * testsuite/util/regression/rand/priority_queue/detail/cmp_fn_imps.hpp: Same.
4071         * testsuite/util/regression/rand/priority_queue/detail/policy_access_fn_imps.hpp: Same.
4072         * testsuite/util/regression/rand/priority_queue/detail/defs_fn_imps.hpp: Same.
4073         * testsuite/util/regression/rand/priority_queue/detail/it_conversion_fn_imps.hpp: Same.
4074         * testsuite/util/regression/rand/priority_queue/detail/constructor_destructor_fn_imps.hpp: Same.
4075         * testsuite/util/regression/rand/priority_queue/detail/diagnostic_fn_imps.hpp: Same.
4076         * testsuite/util/regression/rand/priority_queue/detail/insert_fn_imps.hpp: Same.
4077         * testsuite/util/regression/rand/priority_queue/detail/clear_fn_imps.hpp: Same.
4078         * testsuite/util/regression/rand/priority_queue/detail/modify_fn_imps.hpp: Same.
4079         * testsuite/util/regression/rand/priority_queue/detail/split_join_fn_imps.hpp: Same.
4080         * testsuite/util/regression/rand/priority_queue/detail/operator_fn_imps.hpp: Same.
4081         * testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp: Same.
4082         * testsuite/util/regression/rand/priority_queue/container_rand_regression_test.hpp: Same.
4083         * testsuite/util/regression/rand/io: New.
4084         * testsuite/util/regression/rand/io/priority_queue: New.
4085         * testsuite/util/regression/rand/io/priority_queue/xml_formatter.hpp: Same.
4086         * testsuite/util/regression/rand/io/assoc: New.
4087         * testsuite/util/regression/rand/io/assoc/xml_formatter.hpp: Same.
4088         * testsuite/util/regression/rand/io/xml_formatter.hpp: Same.
4089         * testsuite/util/regression/rand/assoc: New.
4090         * testsuite/util/regression/rand/assoc/detail: New.
4091         * testsuite/util/regression/rand/assoc/detail/subscript_fn_imps.hpp: Same.
4092         * testsuite/util/regression/rand/assoc/detail/cmp_fn_imps.hpp: Same.
4093         * testsuite/util/regression/rand/assoc/detail/policy_access_fn_imps.hpp: Same.
4094         * testsuite/util/regression/rand/assoc/detail/defs_fn_imps.hpp: Same.
4095         * testsuite/util/regression/rand/assoc/detail/it_conversion_fn_imps.hpp: Same.
4096         * testsuite/util/regression/rand/assoc/detail/diagnostic_fn_imps.hpp: Same.
4097         * testsuite/util/regression/rand/assoc/detail/clear_fn_imps.hpp: Same.
4098         * testsuite/util/regression/rand/assoc/detail/get_set_load_fn_imps.hpp: Same.
4099         * testsuite/util/regression/rand/assoc/detail/operator_fn_imps.hpp: Same.
4100         * testsuite/util/regression/rand/assoc/detail/erase_fn_imps.hpp: Same.
4101         * testsuite/util/regression/rand/assoc/detail/resize_fn_imps.hpp: Same.
4102         * testsuite/util/regression/rand/assoc/detail/constructor_destructor_fn_imps.hpp: Same.
4103         * testsuite/util/regression/rand/assoc/detail/insert_fn_imps.hpp: Same.
4104         * testsuite/util/regression/rand/assoc/detail/split_join_fn_imps.hpp: Same.
4105         * testsuite/util/regression/rand/assoc/detail/get_set_loads_fn_imps.hpp: Same.
4106         * testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
4107         * testsuite/util/regression/rand/assoc/container_rand_regression_test.hpp: Same.
4108         * testsuite/util/regression/priority_queue: New.
4109         * testsuite/util/regression/priority_queue/common_type.hpp: Same.
4110         * testsuite/util/regression/basic_type.hpp: Same.
4111         * testsuite/util/regression/assoc: New.
4112         * testsuite/util/regression/assoc/common_type.hpp: Same.
4113         * testsuite/util/regression/res_mng: New.
4114         * testsuite/util/regression/res_mng/forced_exception.hpp: Same.
4115         * testsuite/util/regression/res_mng/dbg_ex_allocator_base.cc: Same.
4116         * testsuite/util/regression/res_mng/dbg_ex_allocator_base.hpp: Same.
4117         * testsuite/util/regression/res_mng/dbg_ex_allocator.hpp: Same.
4118         * testsuite/util/rng: New.
4119         * testsuite/util/rng/twister_rand_gen.cc: Same.
4120         * testsuite/util/rng/twister_rand_gen.hpp: Same.
4121         * testsuite/util/native_type: New.
4122         * testsuite/util/native_type/priority_queue: New.
4123         * testsuite/util/native_type/priority_queue/native_priority_queue.hpp: Same.
4124         * testsuite/util/native_type/priority_queue/native_pq_tag.hpp: Same.
4125         * testsuite/util/native_type/assoc: New.
4126         * testsuite/util/native_type/assoc/native_multimap.hpp: Same.
4127         * testsuite/util/native_type/assoc/native_tree_tag.hpp: Same.
4128         * testsuite/util/native_type/assoc/native_set.hpp: Same.
4129         * testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same.
4130         * testsuite/util/native_type/assoc/native_map.hpp: Same.
4131         * testsuite/util/native_type/assoc/native_hash_tag.hpp: Same.
4132         * testsuite/util/native_type/assoc/native_hash_set.hpp: Same.
4133         * testsuite/util/native_type/assoc/native_hash_map.hpp: Same.
4134         * testsuite/util/common_type: New.
4135         * testsuite/util/common_type/priority_queue
4136         * testsuite/util/common_type/priority_queue/common_type.hpp: Same.
4137         * testsuite/util/common_type/priority_queue/string_form.hpp: Same.
4138         * testsuite/util/common_type/priority_queue/detail
4139         * testsuite/util/common_type/priority_queue/detail/ds_string_form.hpp: Same.
4140         * testsuite/util/common_type/assoc: New.
4141         * testsuite/util/common_type/assoc/common_type.hpp: Same.
4142         * testsuite/util/common_type/assoc/string_form.hpp: Same.
4143         * testsuite/util/common_type/assoc/template_policy.hpp: Same.
4144         * testsuite/util/common_type/assoc/detail: New.
4145         * testsuite/util/common_type/assoc/detail/resize_policy_string_form.hpp: Same.
4146         * testsuite/util/common_type/assoc/detail/trigger_policy_string_form.hpp: Same.
4147         * testsuite/util/common_type/assoc/detail/ds_string_form.hpp: Same.
4148         * testsuite/util/common_type/assoc/detail/comb_hash_fn_string_form.hpp: Same.
4149         * testsuite/util/common_type/assoc/detail/size_policy_string_form.hpp: Same.
4150         * testsuite/util/common_type/assoc/detail/probe_fn_string_form.hpp: Same.
4151         * testsuite/util/common_type/assoc/detail/tree_supports_order_statistics.hpp: Same.
4152         * testsuite/util/common_type/assoc/detail/trie_supports_prefix_search.hpp: Same.
4153         * testsuite/util/common_type/assoc/detail/list_update_policy_string_form.hpp: Same.
4154         * testsuite/util/common_type/assoc/detail/trie_supports_order_statistics.hpp: Same.
4155         * testsuite/util/common_type/assoc/detail/store_hash_string_form.hpp: Same.
4156         * testsuite/util/common_type/assoc/native_set.hpp: Same.
4157         * testsuite/util/performance: New.
4158         * testsuite/util/performance/priority_queue: New.
4159         * testsuite/util/performance/priority_queue/mem_usage: New.
4160         * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp: Same.
4161         * testsuite/util/performance/priority_queue/timing: New.
4162         * testsuite/util/performance/priority_queue/timing/push_pop_test.hpp: Same.
4163         * testsuite/util/performance/priority_queue/timing/push_test.hpp: Same.
4164         * testsuite/util/performance/priority_queue/timing/join_test.hpp: Same.
4165         * testsuite/util/performance/priority_queue/timing/modify_test.hpp: Same.
4166         * testsuite/util/performance/io: New.
4167         * testsuite/util/performance/io/xml_formatter.hpp: Same.
4168         * testsuite/util/performance/assoc: New.
4169         * testsuite/util/performance/assoc/mem_usage: New.
4170         * testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp: Same.
4171         * testsuite/util/performance/assoc/mem_usage/erase_test.hpp: Same.
4172         * testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
4173         * testsuite/util/performance/assoc/timing: New.
4174         * testsuite/util/performance/assoc/timing/common_type.hpp: Same.
4175         * testsuite/util/performance/assoc/timing/multimap_insert_test.hpp: Same.
4176         * testsuite/util/performance/assoc/timing/subscript_find_test.hpp: Same.
4177         * testsuite/util/performance/assoc/timing/find_test.hpp: Same.
4178         * testsuite/util/performance/assoc/timing/subscript_insert_test.hpp: Same.
4179         * testsuite/util/performance/assoc/timing/insert_test.hpp: Same.
4180         * testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp: Same.
4181         * testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
4182         * testsuite/util/performance/assoc/timing/tree_split_join_test.hpp: Same.
4183         * testsuite/util/performance/time: New.
4184         * testsuite/util/performance/time/elapsed_timer.cc: Same.
4185         * testsuite/util/performance/time/elapsed_timer.hpp: Same.
4186         * testsuite/util/performance/time/timing_test_base.hpp: Same.
4187         * testsuite/util/performance/mem: New.
4188         * testsuite/util/performance/mem/mem_track_allocator_base.hpp: Same.
4189         * testsuite/util/performance/mem/mem_track_allocator.hpp: Same.
4190         * testsuite/util/hash_fn: New.
4191         * testsuite/util/hash_fn/limit_string_hash_fn.hpp: Same.
4192         * testsuite/util/hash_fn/string_ranged_hash_fn.hpp: Same.
4193         * testsuite/util/hash_fn/string_hash_fn.hpp: Same.
4194         * testsuite/util/hash_fn/string_ranged_probe_fn.hpp: Same.
4195         * testsuite/util/hash_fn/dna_str_limit.hpp: Same.
4196         * testsuite/util/io: New.
4197         * testsuite/util/io/prog_bar.cc: Same.
4198         * testsuite/util/io/prog_bar.hpp: Same.
4199         * testsuite/util/io/text_populate.hpp: Same.
4200         * testsuite/util/io/xml.hpp: Same.
4201         * testsuite/util/io/illegal_input_error.hpp: Same.
4202         * testsuite/util/io/xml_test_formatter.hpp: Same.
4203         * testsuite/util/io/verified_cmd_line_input.cc: Same.
4204         * testsuite/util/io/verified_cmd_line_input.hpp: Same.
4205         * testsuite/util/statistic: New.
4206         * testsuite/util/statistic/sample_var.hpp: Same.
4207         * testsuite/util/statistic/res_recorder.hpp: Same.
4208         * testsuite/util/statistic/sample_mean.hpp: Same.
4209         * testsuite/util/statistic/sample_mean_confidence_checker.hpp: Same.
4210
4211 2006-06-12  Paolo Carlini  <pcarlini@suse.de>
4212
4213         PR libstdc++/26970
4214         * config/locale/gnu/c_locale.h (__convert_from_v<>): Change to
4215         variadic function, instead of template function.
4216         * config/locale/generic/c_locale.h (__convert_from_v<>): Likewise.
4217         * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
4218         Adjust.
4219         (money_put<>::do_put(long double)): Likewise.
4220         * src/locale-misc-inst.cc: Remove.
4221         * src/Makefile.am: Adjust.
4222         * src/Makefile.in: Regenerate.
4223
4224 2006-06-09  Paolo Carlini  <pcarlini@suse.de>
4225
4226         * include/tr1/random (random_device::random_device(const
4227         std::string& = "/dev/urandom")): Open in binary mode.
4228
4229         * include/tr1/random (random_device::random_device(const
4230         std::string& = "rand")): Use mersenne_twister.
4231         (random_device::_M_strtoul): New.
4232         (random_device::operator()()): Update.
4233
4234         * include/tr1/random: Minor stylistic changes, consistently
4235         qualify with std::.
4236
4237 2006-06-09  Paolo Carlini  <pcarlini@suse.de>
4238
4239         * acinclude.m4 ([GLIBCXX_CHECK_RANDOM_TR1]): New, check for
4240         the availability of "/dev/random" and "/dev/urandom".
4241         * configure.ac: Use it.
4242         * include/tr1/random (random_device): Implement, a fall-back for
4243         systems not providing "/dev/random" and "/dev/urandom" included.
4244         * testsuite/tr1/5_numerical_facilities/random/random_device/
4245         cons/default.cc: New.
4246         * testsuite/tr1/5_numerical_facilities/random/random_device/
4247         cons/token.cc: Likewise.
4248         * testsuite/tr1/5_numerical_facilities/random/random_device/
4249         requirements/typedefs.cc: Likewise.
4250         * config.h.in: Regenerate.
4251         * configure: Likewise.
4252
4253         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
4254         cons/gen1.cc: Minor tweak, add bool test.
4255
4256 2006-06-06  Benjamin Kosnik  <bkoz@redhat.com>
4257
4258         * testsuite/util: New directory.
4259         * testsuite/testsuite_hooks.cc: Move to util sub-directory.
4260         * testsuite/testsuite_abi_check.cc: Same.
4261         * testsuite/testsuite_abi.cc: Same.
4262         * testsuite/testsuite_tr1.h: Same.
4263         * testsuite/testsuite_io.h: Same.
4264         * testsuite/testsuite_iterators.h: Same.
4265         * testsuite/testsuite_allocator.cc: Same.
4266         * testsuite/testsuite_allocator.h: Same.
4267         * testsuite/testsuite_hooks.h: Same.
4268         * testsuite/testsuite_character.cc: Same.
4269         * testsuite/testsuite_abi.h: Same.
4270         * testsuite/testsuite_character.h: Same.
4271         * testsuite/testsuite_visualization.h: Same.
4272         * testsuite/testsuite_performance.h: Same.
4273         * testsuite/testsuite_shared.cc: Same.
4274         * testsuite/testsuite_common_types.h: Same.
4275
4276         * testsuite/lib/libstdc++.exp (v3-build_support): Adjust paths.
4277         * testsuite/libstdc++-abi/abi.exp: Same.
4278         * testsuite/libstdc++-dg/conformance.exp: Remove any files in the
4279         utilities subdirectory from the list of test cases.
4280
4281         * scripts/testsuite_flags.in (build-includes): Adjust path for
4282         testsuite includes.
4283         * scripts/create_testsuite_files (dlist): Don't let utility files
4284         creep into the testsuite_files list.
4285
4286 2006-06-06  Paolo Carlini  <pcarlini@suse.de>
4287
4288         * include/tr1/random (mersenne_twister<>::operator==,
4289         operator!=, operator<<, operator>>): Implement.
4290         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
4291         operators/equal.cc: New.
4292         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
4293         operators/not_equal.cc: Likewise.
4294         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
4295         operators/serialize.cc: Likewise.
4296
4297         * include/tr1/random (subtract_with_carry<>::operator==): Fix,
4298         compare the whole state; use std::equal.
4299
4300         * include/tr1/random: Minor formatting and style changes.
4301
4302 2006-06-06  Benjamin Kosnik  <bkoz@redhat.com>
4303
4304         * testsuite/tr1/5_numerical_facilies: Move to...
4305         * testsuite/tr1/5_numerical_facilities: ...this.
4306
4307 2006-06-06  Paolo Carlini  <pcarlini@suse.de>
4308
4309         * include/tr1/random: Trivial uglification fixes.
4310         * include/tr1/random.tcc: Likewise.
4311
4312         * include/tr1/random (subtract_with_carry<>::
4313         subtract_with_carry(_IntType)): Fix parameter type to unsigned long.
4314         (subtract_with_carry<>::seed(_IntType)): Likewise.
4315         * include/tr1/random.tcc (subtract_with_carry<>::seed(_IntType)):
4316         Adjust.
4317
4318 2006-06-05  Paolo Carlini  <pcarlini@suse.de>
4319
4320         * include/tr1/random (mersenne_twister<>::seed()): Fix per
4321         tr1/5.1.4.2, p8.
4322         * include/tr1/random.tcc (mod_w): Add.
4323         (mersenne_twister<>::seed(unsigned long)): Fix per tr1/5.1.4.2, p9.
4324         (mersenne_twister<>::seed(Gen&, false_type)): Adjust to use mod_w.
4325         * testsuite/tr1/5_numerical_facilies/random/mt19937.cc: Fix
4326         expected result per tr1/5.1.5, p2.
4327         * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
4328         cons/default.cc: Adjust.
4329
4330         * include/tr1/random (exponential_distribution<>::operator()()): Fix.
4331
4332 2006-06-05  Paolo Carlini  <pcarlini@suse.de>
4333
4334         * include/tr1/random.tcc (Max::value()): Cast 1 to Tp(1) and
4335         adjust shift count to w; rename as Max_w.
4336         (struct Mod_w): New.
4337         (mersenne_twister<>::seed(Gen&, false_type): Use the latter.
4338         (mersenne_twister<>::operator()()): Fix ~0ul to ~_UInt().
4339         * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
4340         cons/default.cc: Fix ~0ul to 2^32-1.
4341         * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
4342         cons/gen1.cc: Likewise.
4343
4344 2006-06-05  Stephen M. Webb  <stephen.webb@bregmasoft.com>
4345
4346         * include/tr1/random: New.
4347         * include/tr1/random.tcc: Likewise.
4348         * include/Makefile.am: Add.
4349         * testsuite/tr1/5_numerical_facilies/random/ranlux3.cc: New.
4350         * testsuite/tr1/5_numerical_facilies/random/ranlux4.cc: Likewise.
4351         * testsuite/tr1/5_numerical_facilies/random/mt19937.cc: Likewise.
4352         * testsuite/tr1/5_numerical_facilies/random/variate_generator/
4353         requirements/typedefs.cc: Likewise.
4354         * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
4355         cons/seed1.cc: Likewise.
4356         * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
4357         cons/seed2.cc: Likewise.
4358         * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
4359         cons/default.cc: Likewise.
4360         * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
4361         cons/gen1.cc: Likewise.
4362         * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
4363         requirements/typedefs.cc: Likewise.
4364         * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
4365         operators/equal.cc: Likewise.
4366         * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
4367         operators/not_equal.cc: Likewise.
4368         * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
4369         operators/serialize.cc: Likewise.
4370         * testsuite/tr1/5_numerical_facilies/random/uniform_real/
4371         requirements/typedefs.cc: Likewise.
4372         * testsuite/tr1/5_numerical_facilies/random/discard_block/
4373         requirements/requirements.cc: Likewise.
4374         * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
4375         cons/seed1.cc: Likewise.
4376         * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
4377         cons/seed2.cc: Likewise.
4378         * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
4379         cons/default.cc: Likewise.
4380         * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
4381         cons/gen1.cc: Likewise.
4382         * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
4383         requirements/non_uint_neg.cc: Likewise.
4384         * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
4385         requirements/typedefs.cc: Likewise.
4386         * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
4387         operators/equal.cc: Likewise.
4388         * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
4389         operators/not_equal.cc: Likewise.
4390         * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
4391         operators/serialize.cc: Likewise.
4392         * testsuite/tr1/5_numerical_facilies/random/xor_combine/
4393         requirements/typedefs.cc: Likewise.
4394         * testsuite/tr1/5_numerical_facilies/random/minstd_rand.cc: Likewise.
4395         * testsuite/tr1/5_numerical_facilies/random/minstd_rand0.cc: Likewise.
4396         * testsuite/tr1/5_numerical_facilies/random/uniform_int/
4397         cons/range.cc: Likewise.
4398         * testsuite/tr1/5_numerical_facilies/random/uniform_int/
4399         cons/default.cc: Likewise.
4400         * testsuite/tr1/5_numerical_facilies/random/uniform_int/
4401         cons/range_neg.cc: Likewise.
4402         * testsuite/tr1/5_numerical_facilies/random/uniform_int/
4403         requirements/typedefs.cc: Likewise.
4404         * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
4405         cons/seed1.cc: Likewise.
4406         * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
4407         cons/seed2.cc: Likewise.
4408         * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
4409         cons/default.cc: Likewise.
4410         * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
4411         cons/gen1.cc: Likewise.
4412         * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
4413         requirements/typedefs.cc: Likewise.
4414         * include/Makefile.in: Regenerate.
4415         * testsuite/tr1/headers.cc: Update.
4416
4417 2006-06-04  Paolo Carlini  <pcarlini@suse.de>
4418
4419         PR libstdc++/27867
4420         * include/bits/valarray_before.h (struct _BinClos<_Oper, _ValArray,
4421         _ValArray, _Tp, _Tp>): Fix value_type typedef.
4422         * testsuite/26_numerics/valarray/27867.cc: New.
4423
4424 2006-05-29  Paolo Carlini  <pcarlini@suse.de>
4425
4426         PR libstdc++/24692
4427         * include/bits/atomicity.h (__exchange_and_add_multi,
4428         __atomic_add_multi): New, depending on _GLIBCXX_ATOMIC_BUILTINS,
4429         inline the atomic builtins.
4430         (__exchange_and_add_dispatch, __atomic_add_dispatch): Adjust.
4431         * configure.ac: Define _GLIBCXX_ATOMIC_BUILTINS when the atomic
4432         builtins are available.
4433         * configure: Regenerate.
4434         * config.h.in: Likewise.
4435
4436 2006-05-27  Paolo Carlini  <pcarlini@suse.de>
4437
4438         * configure.host: If the CPU provides atomic builtins select
4439         generic/atomic_builtins/atomicity.h.
4440         * config/cpu/generic/atomic_builtins/atomicity.h: Add.
4441         * config/cpu/powerpc/atomicity.h: Remove.
4442         * config/cpu/ia64/atomicity.h: Likewise.
4443         * config/cpu/alpha/atomicity.h: Likewise.
4444         * config/cpu/s390/atomicity.h: Likewise.
4445
4446 2006-05-26  Carlos O'Donell  <carlos@codesourcery.com>
4447
4448         * Makefile.am: Add install-html target. Add install-html to .PHONY
4449         * Makefile.in: Regenerate.
4450
4451 2006-05-24  Paolo Carlini  <pcarlini@suse.de>
4452
4453         PR libstdc++/24704
4454         * include/bits/atomicity.h (__exchange_and_add_single,
4455         __atomic_add_single): New, single thread versions of the atomic
4456         functions.
4457         (__exchange_and_add_dispatch, __atomic_add_dispatch): New,
4458         depending on __GTHREADS and __gthread_active_p() dispatch either
4459         to the above or to the existing atomic functions.
4460         * include/ext/pool_allocator.h: Update callers.
4461         * include/ext/rc_string_base.h: Likewise.
4462         * include/bits/locale_classes.h: Likewise.
4463         * include/bits/basic_string.h: Likewise.
4464         * include/bits/ios_base.h: Likewise.
4465         * include/tr1/boost_shared_ptr.h: Likewise.
4466         * src/ios.cc: Likewise.
4467         * src/locale.cc: Likewise.
4468         * src/ios_init.cc: Likewise.
4469
4470 2006-05-23  Paolo Carlini  <pcarlini@suse.de>
4471
4472         * testsuite/testsuite_shared.cc: Fix --enable-threads=single build.
4473
4474 2006-05-19  Paolo Carlini  <pcarlini@suse.de>
4475
4476         * testsuite/27_io/objects/wchar_t/9661-1.cc: Avoid leaking the
4477         semaphores if a VERIFY fails.
4478         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4479         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4480         * testsuite/27_io/objects/char/7.cc: Likewise.
4481         * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
4482         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
4483         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4484         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise.
4485         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4486         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4487
4488 2006-05-17  Paolo Carlini  <pcarlini@suse.de>
4489
4490         * include/tr1/hashtable (hashtable<>::m_find): Remove; update callers.
4491
4492         * include/tr1/hashtable (map_base<>::operator[]): Move out of line.
4493
4494         * include/tr1/hashtable (hashtable<>::m_insert(const value_type&,
4495         std::tr1::false_type)): Avoid memory leak risk for new_node.
4496
4497 2006-05-15  Paolo Carlini  <pcarlini@suse.de>
4498
4499         * include/tr1/hashtable (hashtable<>::m_find, m_insert_bucket): Add.
4500         (hashtable<>::find, m_insert(const value_type&, std::tr1::true_type),
4501         map_base<>::operator[]): Use the above.
4502         * testsuite/performance/23_containers/insert/unordered_map_array.cc:
4503         New.
4504
4505         * include/tr1/hashtable (hashtable<>::find_node,
4506         insert(const value_type&, ...), erase_node): Rename to m_*, adjust
4507         callers.
4508         * include/tr1/hashtable: Minor cosmetic changes.
4509
4510 2006-05-13  Peter Doerfler  <gcc@pdoerfler.com>
4511
4512         * include/tr1/hashtable (identity<>::operator(),
4513         extract1st<>::operator()): Return by const ref.
4514
4515 2006-05-10  Steve Ellcey  <sje@cup.hp.com>
4516
4517         * testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit):
4518         Move to gcc subdir.
4519         * testsuite/lib/dg-options.exp (dg-require-iconv): Remove.
4520         (dg-require-cxa-atexit): Move to gcc subdir.
4521
4522 2006-05-10  Paolo Carlini  <pcarlini@suse.de>
4523             Peter Doerfler  <gcc@pdoerfler.com>
4524
4525         * include/tr1/hashtable (hashtable_iterator<>::hashtable_iterator(),
4526         hashtable_const_iterator<>::hashtable_const_iterator(),
4527         node_iterator<>::node_iterator(),
4528         node_const_iterator<>::node_const_iterator()): Add.
4529         (node_iterator<>::node_iterator(hash_node<>*),
4530         node_const_iterator<>::node_const_iterator(hash_node<>*)): Tweak,
4531         remove default.
4532         * testsuite/tr1/6_containers/unordered/hashtable/
4533         iterators_default_constructor.c: New.
4534
4535 2006-05-10  Marc Glisse  <marc.glisse@normalesup.org>
4536
4537         * include/ext/pool_allocator.h: Add missing std:: qualifications.
4538         * include/ext/mt_allocator.h: Likewise.
4539         * include/ext/pb_assoc/detail/resize_policy/
4540         hash_load_check_resize_trigger_imp.hpp: Likewise.
4541         * include/ext/pb_assoc/detail/resize_policy/
4542         hash_standard_resize_policy_imp.hpp: Likewise.
4543         * include/ext/pb_assoc/detail/lu_policy/
4544         counter_lu_metadata_imp.hpp: Likewise.
4545         * include/ext/pb_assoc/detail/map_debug_base.hpp: Likewise.
4546         * libsupc++/eh_alloc.cc: Typo: memcpy -> memset.
4547
4548 2006-05-07  Paolo Carlini  <pcarlini@suse.de>
4549
4550         * include/tr1/type_traits (integral_constant<>::value): Define.
4551         * testsuite/tr1/4_metaprogramming/helper_classes/static_definition.cc:
4552         New.
4553
4554 2006-05-04  Douglas Gregor  <dgregor@cs.indiana.edu>
4555
4556         PR libstdc++/27404
4557         * include/ext/rope (_Rope_const_iterator<>::operator*() const,
4558         _Rope_iterator<>::operator*() const): Add.
4559
4560 2006-05-01  Paolo Carlini  <pcarlini@suse.de>
4561
4562         * acinclude.m4 (GLIBCXX_ENABLE_WCHAR_T): Always check the
4563         presence of wctype.h, for use in GLIBCXX_ENABLE_C99.
4564         * configure: Regenerate.
4565
4566 2006-04-29  Paolo Carlini  <pcarlini@suse.de>
4567
4568         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
4569         Special case main parsing loop for !_M_allocated (i.e., "C" locale).
4570         (num_get<>::_M_extract_int): Likewise.
4571         * include/bits/locale_facets.h (num_get<>::_M_find): New.
4572
4573 2006-04-27  Benjamin Kosnik  <bkoz@redhat.com>
4574
4575         * docs/html/17_intro/TODO: Update.
4576
4577 2006-04-26  Benjamin Kosnik  <bkoz@redhat.com>
4578
4579         PR libstdc++/26875
4580         * include/ext/array_allocator.h (array_allocator): _M_used, new
4581         data member.
4582         * testsuite/ext/array_allocator/26875.cc: New.
4583
4584 2006-04-26  Shantonu Sen  <ssen@opendarwin.org>
4585
4586         PR libstdc++/26513
4587         * scripts/make_exports.pl: Use $ENV{NM_FOR_TARGET}, if present.
4588
4589 2006-04-23  Marc Glisse  <marc.glisse@normalesup.org>
4590
4591         PR libstdc++/27199
4592         * ext/pool_allocator.h: Add using declarations for size_t, ptrdiff_t.
4593         * ext/bitmap_allocator.h: Likewise; qualify with std::.
4594         * ext/new_allocator.h: Likewise.
4595         * ext/malloc_allocator.h: Likewise.
4596         * ext/array_allocator.h: Likewise.
4597         * ext/mt_allocator.h: Likewise.
4598         * ext/functional: Likewise for size_t.
4599         * ext/debug_allocator.h: Likewise.
4600         * bits/char_traits.h: Qualify with std:: size_t.
4601         * debug/hash_multimap.h: Likewise.
4602
4603 2006-04-23  Paolo Carlini  <pcarlini@suse.de>
4604
4605         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 42.
4606
4607 2006-04-19  Paolo Carlini  <pcarlini@suse.de>
4608
4609         PR libstdc++/26424
4610         * include/tr1/hashtable (X<>::primes): Extend for 64-bit machines.
4611         (X<>::n_primes): Adjust.
4612         (prime_rehash_policy::next_bkt, bkt_for_elements, need_rehash): Adjust.
4613
4614 2006-04-18  Paolo Carlini  <pcarlini@suse.de>
4615
4616         * docs/html/faq/index.html ([5.5]): Adjust to mention function
4617         objects and reference_wrapper; minor tweaks.
4618         * docs/html/faq/index.txt: Regenerate.
4619
4620 2006-04-16  Paolo Carlini  <pcarlini@suse.de>
4621
4622         PR libstdc++/6702 (again)
4623         * acinclude.m4 (GLIBCXX_ENABLE_C99): Don't check non-C99
4624         wchar_t functions...
4625         (GLIBCXX_ENABLE_WCHAR_T): ... do that here.
4626         * configure.ac: Adjust order of checks.
4627         * configure: Regenerate.
4628
4629 2006-04-14  Douglas Gregor  <dgregor@cs.indiana.edu>
4630
4631         PR libstdc++/27162
4632         * include/bits/stl_algo.h (__search_n(,,,, _BinaryPredicate,
4633         std::forward_iterator_tag)): Use __binary_pred, not ==.
4634
4635 2006-04-10  Matthias Klose  <doko@debian.org>
4636
4637         * testsuite/lib/libstdc++.exp (libstdc++_init): Recognize multilib
4638         directory names containing underscores.
4639
4640 2006-04-10  Paolo Carlini  <pcarlini@suse.de>
4641
4642         DR 538, [Ready]
4643         * include/bits/stl_algo.h (__unique_copy(,,, input_iterator_tag,
4644         output_iterator_tag), and predicated counterpart): Revert to the
4645         algorithm pre-DR 241, i.e., value_type of InputIterator is now
4646         required to be Assignable too.
4647         * testsuite/25_algorithms/unique_copy/3.cc: Remove.
4648         * docs/html/ext/howto.html: Add an entry for DR 538.
4649
4650 2006-03-29  Benjamin Kosnik  <bkoz@redhat.com>
4651
4652         * testsuite/data/sgetn.txt: Correct copyright holder.
4653         * testsuite/data/wistream_extractor_other-1.tst: Same.
4654         * testsuite/data/wistream_extractor_other-2.tst: Same.
4655         * testsuite/data/istream_extractor_other-1.txt: Same.
4656         * testsuite/data/filebuf_virtuals-1.txt: Same.
4657         * testsuite/data/wostream_inserter_other-1.tst: Same.
4658         * testsuite/data/wostream_inserter_other-2.tst: Same.
4659         * testsuite/data/ostream_inserter_other-1.tst: Same.
4660         * testsuite/data/ostream_inserter_other-2.tst: Same.
4661         * testsuite/data/wistream_extractor_other-1.txt: Same.
4662         * testsuite/data/istream_extractor_other-1.tst: Same.
4663         * testsuite/data/istream_extractor_other-2.tst: Same.
4664         * testsuite/data/filebuf_virtuals-1.tst: Same.
4665         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Adjust test
4666         conditions.
4667         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Same.
4668         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Same.
4669         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Same.
4670
4671 2006-03-28  Paolo Carlini  <pcarlini@suse.de>
4672
4673         * include/ext/vstring.h (operator[]): Allow s[s.size()] in
4674         debug mode, but not pedantic mode.
4675
4676 2006-03-24  Mark Mitchell  <mark@codesourcery.com>
4677             Joseph S. Myers  <joseph@codesourcery.com>
4678
4679         PR libstdc++/20448
4680         PR libstdc++/20451
4681         * scripts/testsuite_flags.in (--cxxflags): Don't define LOCALEDIR.
4682         * testsuite/lib/libstdc++.exp (libstdc++_init): Always define
4683         LOCALEDIR to ".".
4684         (v3-build_support): Build MO files.
4685
4686 2006-03-22  Paolo Carlini  <pcarlini@suse.de>
4687
4688         PR libstdc++/26777
4689         * include/bits/fstream.tcc (basic_filebuf<>::_M_seek): Check
4690         the return value of _M_file.seekoff.
4691         * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: New.
4692
4693 2006-03-21  Paolo Carlini  <pcarlini@suse.de>
4694
4695         PR libstdc++/25482
4696         * include/bits/stl_algobase.h (__copy_aux(_CharT*, _CharT*,
4697         ostreambuf_iterator<_CharT>), __copy_aux(const _CharT*, const _CharT*,
4698         ostreambuf_iterator<_CharT>), __copy_aux(istreambuf_iterator<_CharT>,
4699         istreambuf_iterator<_CharT>, _CharT*), copy(istreambuf_iterator<_CharT>,
4700         istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>)): Declare.
4701         * include/bits/stl_algo.h (find(istreambuf_iterator<_CharT>,
4702         istreambuf_iterator<_CharT>, _CharT)): Likewise.
4703         * include/bits/streambuf_iterator.h (copy(istreambuf_iterator<_CharT>,
4704         istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>),
4705         __copy_aux(_CharT*, _CharT*, ostreambuf_iterator<_CharT>),
4706         __copy_aux(const _CharT*, const _CharT*, ostreambuf_iterator<_CharT>),
4707         __copy_aux(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
4708         _CharT*), find(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
4709         _CharT)): Define.
4710         (class istreambuf_iterator<>, class ostreambuf_iterator<>): Declare
4711         friends.
4712         * include/std/std_streambuf.h (class basic_streambuf<>): Likewise.
4713         * include/bits/cpp_type_traits.h (struct __is_char<>): Add.
4714         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: New.
4715         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: New.
4716         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: New.
4717         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: New.
4718         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc: New.
4719         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc: New.
4720         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc: New.
4721         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc: New.
4722         * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: New.
4723         * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: New.
4724         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc: New.
4725         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: New.
4726         * testsuite/performance/25_algorithms/copy_streambuf_iterators.cc: New.
4727         * testsuite/performance/25_algorithms/find_istreambuf_iterators.cc: New.
4728
4729 006-03-13  Paolo Carlini  <pcarlini@suse.de>
4730
4731         * include/bits/postypes.h (fpos<>::operator==, operator!=): Remove,
4732         exploit conversion to streamoff.
4733         * testsuite/27_io/fpos/mbstate_t/5.cc: New.
4734
4735 2006-03-12  Howard Hinnant  <hhinnant@apple.com>
4736
4737         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc:
4738         Fix race condition.
4739         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4740         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4741
4742 2006-03-10  Paolo Carlini  <pcarlini@suse.de>
4743
4744         * include/tr1/cmath: Add atan2 and pow bits; add using declarations.
4745         * include/tr1/math.h: Add using declarations.
4746         * include/tr1/complex: Add using declarations.
4747         * testsuite/tr1/8_c_compatibility/cmath/functions.cc: Fully
4748         qualify calls.
4749         * testsuite/tr1/8_c_compatibility/cmath/overloads.cc: Likewise;
4750         add atan2 and pow bits.
4751         * testsuite/tr1/8_c_compatibility/complex/overloads_float.cc: Likewise.
4752         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise;
4753         adjust polar bits.
4754
4755         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add checks for double_t
4756         and float_t typedefs.
4757         * include/tr1/cmath: Add double_t and float_t.
4758         * testsuite/tr1/8_c_compatibility/cmath/types.cc: New.
4759
4760         * include/tr1/ctgmath: New.
4761         * include/tr1/tgmath.h: Likewise.
4762         * include/Makefile.am: Add.
4763         * testsuite/tr1/headers.cc: Update.
4764
4765         * include/Makefile.in: Regenerate.
4766         * configure: Likewise.
4767
4768         * docs/html/ext/tr1.html: Update.
4769
4770 2006-03-08  Paolo Carlini  <pcarlini@suse.de>
4771
4772         Implement the resolution of DR 455, [DR].
4773         * src/ios_init.cc (ios_base::Init::Init()): Do it.
4774         * testsuite/27_io/objects/char/dr455.cc: New.
4775         * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
4776         * docs/html/ext/howto.html: Add an entry for DR 455.
4777
4778 2006-03-07  Paolo Carlini  <pcarlini@suse.de>
4779
4780         * include/tr1/cmath: Add C99 overloads.
4781         * include/tr1/common.h (struct __promote_3): Add.
4782         * testsuite/tr1/8_c_compatibility/cmath/overloads.cc: New.
4783
4784         * testsuite/tr1/8_c_compatibility/cmath/functions.cc: Tweak.
4785         * testsuite/tr1/8_c_compatibility/complex/overloads_float.cc: Likewise.
4786
4787 2006-03-06  Paolo Carlini  <pcarlini@suse.de>
4788
4789         PR target/26532
4790         * config/io/c_io_stdio.h (struct __ios_flags): Remove.
4791         * include/bits/ios_base.h: Adjust consistently.
4792         (ios_base::_S_local_word_size): Change to an anonymous enum.
4793         * src/ios.cc: Do not define static const data of __ios_flags,
4794         likewise for ios_base::_S_local_word_size.
4795         * include/bits/locale_classes.h (locale::_S_categories_size):
4796         Change to an anonymous enum.
4797         * src/locale.cc: Don't define.
4798
4799 2006-03-03  Paolo Carlini  <pcarlini@suse.de>
4800
4801         PR libstdc++/26526
4802         * config/abi/pre/gnu.ver (__copy_streambufs, 64-bit version): Add
4803         @GLIBCXX_3.4.8; move existing symbols @GLIBCXX_3.4.8 to 3.4.9.
4804         * configure.ac (libtool_VERSION): To 6:9:0.
4805         * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.9.
4806         * configure: Regenerate.
4807
4808 2006-03-02  Paolo Carlini  <pcarlini@suse.de>
4809
4810         * config/abi/pre/gnu.ver: Adjust __copy_streambufs_eof export
4811         vs 64-bit arches.
4812
4813 2006-03-01  Paolo Carlini  <pcarlini@suse.de>
4814
4815         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 41.
4816
4817 2006-02-27  Jakub Jelinek  <jakub@redhat.com>
4818
4819         PR other/26208
4820         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
4821         _Unwind_GetIPInfo instead of _Unwind_GetIP.
4822
4823 2006-02-27  Paolo Carlini  <pcarlini@suse.de>
4824
4825         PR libstdc++/14866
4826         * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Redirect
4827         stderr instead.
4828
4829 2006-02-26  Paolo Carlini  <pcarlini@suse.de>
4830
4831         * include/tr1/cmath: Add templates (8.16.3).
4832         * include/tr1/cstdbool: New.
4833         * include/tr1/stdbool.h: Likewise.
4834         * include/Makefile.am: Add.
4835         * testsuite/tr1/8_c_compatibility/cmath/templates.cc: New.
4836         * testsuite/tr1/headers.cc: Update.
4837         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <stdbool.h> check.
4838         * docs/html/ext/tr1.html: Update.
4839         * include/Makefile.in: Regenerate.
4840         * config.h.in: Likewise.
4841         * configure: Likewise.
4842
4843 2006-02-24  Paolo Carlini  <pcarlini@suse.de>
4844
4845         * include/tr1/array (array<>::swap, assign): Implement.
4846         * include/tr1/array (operator==, operator!=, operator<,
4847         operator>, operator>=, operator<=, swap, get): Inline.
4848         * testsuite/tr1/6_containers/array/requirements/member_swap.cc: New.
4849         * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
4850         * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
4851         Likewise.
4852
4853 2006-02-23  Benjamin Kosnik  <bkoz@redhat.com>
4854
4855         * testsuite/22_locale/codecvt/in/wchar_t/1.cc (test01): Change int
4856         to size_t. Use explicit static_cast for casts.
4857         * testsuite/22_locale/codecvt/in/wchar_t/6.cc (test06): Same.
4858         * testsuite/22_locale/codecvt/in/wchar_t/5.cc (test05): Same.
4859         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc (test01): Same.
4860
4861 2006-02-22  Paolo Carlini  <pcarlini@suse.de>
4862
4863         * docs/html/ext/pb_assoc/
4864         basic_tree_assoc_cntnr_const_node_iterator.html:Fix links
4865         * docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_node_iterator.html:
4866         Likewise.
4867         * docs/html/ext/pb_assoc/hash_based_containers.html: Likewise.
4868         * docs/html/ext/pb_assoc/hash_standard_resize_policy.html: Likewise.
4869         * docs/html/ext/pb_assoc/interface.html: Likewise..
4870         * docs/html/ext/pb_assoc/list_updates.html: Likewise.
4871         * docs/html/ext/pb_assoc/lu_based_containers.html: Likewise.
4872         * docs/html/ext/pb_assoc/resize_policies.html: Likewise.
4873         * docs/html/ext/pb_assoc/sample_probe_fn.html: Likewise.
4874         * docs/html/ext/pb_assoc/sample_range_hashing.html: Likewise.
4875         * docs/html/ext/pb_assoc/sample_ranged_hash_fn.html: Likewise.
4876         * docs/html/ext/pb_assoc/sample_ranged_probe_fn.html: Likewise.
4877         * docs/html/ext/pb_assoc/sample_resize_policy.html: Likewise.
4878         * docs/html/ext/pb_assoc/tree_assoc_cntnr_const_node_iterator.html:
4879         Likewise.
4880         * docs/html/ext/pb_assoc/tree_assoc_cntnr_node_iterator.html: Likewise.
4881
4882 2006-02-22  Paolo Carlini  <pcarlini@suse.de>
4883
4884         PR libstdc++/26132
4885         * include/tr1/hashtable (hashtable<>::rehash): Define.
4886         * testsuite/tr1/6_containers/unordered/hashtable/26132.cc: New.
4887
4888         * include/tr1/hashtable: Trivial formatting and stylistic fixes.
4889
4890         * testsuite/tr1/headers.cc: remove <tr1/hashtable>, not a tr1 header,
4891         only an implementation detail.
4892
4893 2006-02-22  Paolo Carlini  <pcarlini@suse.de>
4894
4895         * include/debug/list (splice): Remove splice_alloc check, redundant
4896         after implementing the splice bits of N1599.
4897
4898 2006-02-21  Benjamin Kosnik  <bkoz@redhat.com>
4899
4900         * include/c_std/cmath.tcc: Use _GLIBCXX_BEGIN_NAMESPACE,
4901         _GLIBCXX_END_NAMESPACE.
4902
4903 2006-02-21  Benjamin Kosnik  <bkoz@redhat.com>
4904
4905         * include/bits/c++config: Simplify debug namespaces.
4906         * include/ext/hash_set: Specialize insert_iterator after norm,
4907         debug containers have been (optionally) declared. Use nested
4908         namespaces.
4909         * include/ext/hash_map: Same.
4910         * include/debug/hash_map.h (insert): Add specialization for value
4911         pointer types.
4912         * include/debug/hash_set.h (insert): Same.
4913         * include/debug/hash_multimap.h: Change __gnu_debug_def to __debug.
4914         * include/debug/set.h: Same.
4915         * include/debug/bitset: Same.
4916         * include/debug/multiset.h: Same.
4917         * include/debug/hash_multiset.h: Same.
4918         * include/debug/vector: Same.
4919         * include/debug/map.h: Same.
4920         * include/debug/deque: Same.
4921         * include/debug/list: Same.
4922         * include/debug/multimap.h. Same.
4923         * include/debug/macros.h: Use __gnu_debug.
4924         * include/debug/debug.h: Same.
4925         * include/debug/formatter.h: Same.
4926         * include/debug/safe_sequence.h: Same.
4927         * include/debug/functions.h: Same.
4928         * include/debug/safe_base.h: Same.
4929         * include/debug/safe_iterator.h: Same.
4930         * include/debug/safe_iterator.tcc: Same.
4931         (_M_invalidate): Adjust compare order.
4932         * include/debug/string: Change std::__gnu_debug to __gnu_debug.
4933         * include/ext/hashtable.h: Formatting fixes.
4934         * include/bits/stl_map.h: Formatting fixes.
4935         * src/compatibility.cc: Adjust compatibility symbols for old debug
4936         mode model.
4937         * src/debug_list.cc: Tweak.
4938         * src/debug.cc: Adjust namespaces.
4939         * docs/html/debug_mode.html: Adjust namespace names.
4940         * testsuite/25_algorithms/heap/heap.cc: Restore _GLIBCXX_DEBUG
4941         macro guards, as count values differ when in debug mode.
4942         * testsuite/23_containers/vector/26412.cc: Move to...
4943         * testsuite/23_containers/vector/26412-1.cc: ... here.
4944         * testsuite/23_containers/vector/26412-2.cc: Add.
4945
4946         * include/ext/pb_assoc/detail/standard_policies.hpp
4947         (PB_ASSOC_HASH_NAMESPACE): Remove, use __gnu_cxx::hash_map and
4948         std::equal_to.
4949
4950         * configure.ac (libtool_VERSION): To 6:8:0.
4951         * configure: Regenerate.
4952         * config/abi/pre/gnu.ver: Revert to exporting __gnu_debug symbols.
4953         (GLIBCXX_3.4.8): New.
4954         * testsuite/testsuite_abi.cc: Add GLIBCXX_3.4.8 to known versions.
4955
4956 2006-02-21  Paolo Carlini  <pcarlini@suse.de>
4957
4958         * include/tr1/hashtable: Trivial formatting fixes.
4959
4960 2006-02-20  Paolo Carlini  <pcarlini@suse.de>
4961
4962         Revert recent commit for libstdc++/26211, now suspended waiting for
4963         DR 342 (reopened) to reach a new resolution.
4964         * include/bits/istream.tcc (basic_istream<>::tellg, seekg(pos_type),
4965         seekg(off_type, ios_base::seekdir)): Remove sentry.
4966         * testsuite/27_io/basic_istream/seekg/char/26211.cc: Remove.
4967         * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
4968         * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
4969         * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
4970         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Revert changes.
4971         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
4972         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
4973         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
4974         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
4975         * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
4976
4977 2006-02-19  Paolo Carlini  <pcarlini@suse.de>
4978
4979         * include/std/std_sstream.h (basic_stringbuf<>::setbuf): Simply
4980         clear the internal _M_string, adjust _M_sync call.
4981         * include/bits/sstream.tcc (basic_stringbuf<>::_M_sync): Adjust
4982         consistently for calls from setbuf.
4983
4984 2006-02-17  Paolo Carlini  <pcarlini@suse.de>
4985             Howard Hinnant  <hhinnant@apple.com>
4986
4987         PR libstdc++/26250
4988         * include/bits/sstream.tcc (basic_stringbuf<>::overflow): Tweak
4989         to leave epgtr() just past the new write position, as per the
4990         relevant bits of 27.7.1.3/8 (not changed by DR 432).
4991         * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: New.
4992         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Same.
4993
4994         * docs/html/ext/howto.html: Add entries for DR 169 and DR 432.
4995
4996         * include/std/std_sstream.h (basic_stringbuf<>::_M_sync): Move out
4997         of line...
4998         * include/bits/sstream.tcc: ... here.
4999
5000 2006-02-16  Joseph S. Myers  <joseph@codesourcery.com>
5001
5002         PR libstdc++/14939
5003         * config/os/uclibc/ctype_base.h, config/os/uclibc/ctype_inline.h,
5004         config/os/uclibc/ctype_noninline.h, config/os/uclibc/os_defines.h:
5005         New.
5006         * acinclude.m4 (GLIBCXX_CONFIGURE): Test whether using uClibc.
5007         * configure.host: Use os/uclibc for uClibc.
5008         * crossconfig.m4 (*-linux*): Use link tests.  Don't hardcode
5009         presence of math functions.
5010         * configure: Regenerate.
5011
5012 2006-02-12  Paolo Carlini  <pcarlini@suse.de>
5013
5014         PR libstdc++/26211
5015         * include/bits/istream.tcc (basic_istream<>::tellg, seekg(pos_type),
5016         seekg(off_type, ios_base::seekdir)): Construct a sentry, as per
5017         27.6.1.3/1.
5018         * testsuite/27_io/basic_istream/seekg/char/26211.cc: New.
5019         * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
5020         * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
5021         * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
5022         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Adjust.
5023         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
5024         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
5025         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
5026         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
5027         * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
5028
5029 2006-02-10  Paolo Carlini  <pcarlini@suse.de>
5030
5031         PR libstdc++/26181
5032         * include/bits/streambuf.tcc (__copy_streambufs_eof): New, like
5033         the existing __copy_streambufs but reporting eof in input.
5034         (__copy_streambufs): Just use the latter.
5035         * src/streambuf.cc (__copy_streambufs_eof): Adjust specializations
5036         of __copy_streambufs.
5037         * include/bits/istream.tcc (operator>>(__streambuf_type*)): Use
5038         __copy_streambufs_eof instead.
5039         * include/std/std_streambuf.h: Adjust.
5040         * src/streambuf-inst.cc: Adjust.
5041         * config/abi/pre/gnu.ver: Export the new symbols.
5042         * testsuite/27_io/basic_istream/extractors_other/char/26181.cc: New.
5043         * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
5044         Likewise.
5045         * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Adjust.
5046         * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc:
5047         Likewise.
5048
5049 2006-02-08  Benjamin Kosnik  <bkoz@redhat.com>
5050
5051         PR libstdc++/26142
5052         * include/debug/debug.h: Move debug alias inside namespace std,
5053         same with namespace __gnu_cxx. Add top-level __gnu_debug
5054         namespace.
5055         * include/debug/hash_multimap.h: Nest within __gnu_cxx, not
5056         std. Also, change nesting namespace name from __gnu_debug_def to
5057         __gnu_debug.
5058         * include/debug/hash_map.h: Same.
5059         * include/debug/hash_multiset.h: Same.
5060         * include/debug/hash_set.h: Same.
5061         * docs/html/debug.html: Same.
5062         * testsuite/23_containers/vector/26412.cc: New.
5063         * testsuite/23_containers/vector/invalidation/1.cc:  Correct
5064         qualifications for debug namespace change.
5065         * testsuite/23_containers/vector/invalidation/2.cc: Same.
5066         * testsuite/23_containers/vector/invalidation/3.cc: Same.
5067         * testsuite/23_containers/vector/invalidation/4.cc: Same.
5068         * testsuite/23_containers/deque/invalidation/1.cc: Same.
5069         * testsuite/23_containers/deque/invalidation/2.cc: Same.
5070         * testsuite/23_containers/deque/invalidation/3.cc: Same.
5071         * testsuite/23_containers/deque/invalidation/4.cc: Same.
5072         * testsuite/23_containers/multiset/invalidation/1.cc: Same.
5073         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
5074         * testsuite/23_containers/multimap/invalidation/1.cc: Same.
5075         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
5076         * testsuite/23_containers/bitset/invalidation/1.cc: Same.
5077         * testsuite/23_containers/bitset/cons/16020.cc: Same.
5078         * testsuite/23_containers/bitset/operations/13838.cc: Same.
5079         * testsuite/23_containers/list/invalidation/1.cc: Same.
5080         * testsuite/23_containers/list/invalidation/2.cc: Same.
5081         * testsuite/23_containers/list/invalidation/3.cc: Same.
5082         * testsuite/23_containers/list/invalidation/4.cc: Same.
5083         * testsuite/23_containers/set/invalidation/1.cc: Same.
5084         * testsuite/23_containers/set/invalidation/2.cc: Same.
5085         * testsuite/23_containers/map/invalidation/1.cc: Same.
5086         * testsuite/23_containers/map/invalidation/2.cc: Same.
5087         * testsuite/23_containers/map/modifiers/insert/16813.cc: Same.
5088         * testsuite/21_strings/basic_string/2.cc: Same.
5089
5090 2006-02-08  Paolo Carlini  <pcarlini@suse.de>
5091
5092         PR libstdc++/26133  (DR 241, [WP])
5093         * include/bits/stl_algo.h (__unique_copy(,,, forward_iterator_tag,
5094         output_iterator_tag), __unique_copy(,,, input_iterator_tag,
5095         output_iterator_tag), __unique_copy(,,, input_iterator_tag,
5096         forward_iterator_tag), and predicated counterparts): Add.
5097         (__unique_copy(,,, output_iterator_tag), __unique_copy(,,,
5098         forward_iterator_tag), and predicated counterparts): Remove.
5099         (unique_copy): Adjust, dispatch to the three helpers above.
5100         * testsuite/25_algorithms/unique_copy/2.cc: New.
5101         * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
5102         * testsuite/25_algorithms/unique_copy/3.cc: Likewise.
5103         * docs/html/ext/howto.html: Add an entry for DR 241.
5104
5105         * testsuite/25_algorithms/unique_copy/1.cc: Minor cosmetic changes.
5106
5107 2006-02-07  Jakub Jelinek  <jakub@redhat.com>
5108             Benjamin Kosnik  <bkoz@redhat.com>
5109
5110         * configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
5111         If true, set also port_specific_symbol_files and create
5112         as_symver_specs.
5113         (GLIBCXX_LDBL_COMPAT): New GLIBCXX_CONDITIONAL.
5114         * configure: Rebuilt.
5115         * config.h.in: Rebuilt.
5116         * config/os/gnu-linux/ldbl-extra.ver: New file.
5117         * config/abi/pre/gnu.ver: Make sure no __float128 symbols are
5118         exported.
5119         * include/bits/c++config (_GLIBCXX_LONG_DOUBLE_COMPAT,
5120         _GLIBCXX_LDBL_NAMESPACE, _GLIBCXX_BEGIN_LDBL_NAMESPACE,
5121         _GLIBCXX_END_LDBL_NAMESPACE): Define.
5122         * include/bits/localefwd.h: Use them to conditionally scope facets.
5123         * include/bits/locale_facets.h: Surround std::{money,num}_{get,put}
5124         with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
5125         Surround std::{money,num}_{get,put}
5126         with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
5127         [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_get): Add __do_get method.
5128         [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_put): Add __do_put method.
5129         [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_get): Add __do_get method.
5130         [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_put): Add __do_put method.
5131         * include/bits/locale_facets.tcc: Surround std::{money,num}_{get,put}
5132         with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
5133         (std::money_get::__do_get, std::money_put::__do_put,
5134         std::num_get::__do_get, std::num_put::__do_put): New
5135         specializations.
5136         * include/Makefile.am: Conditionally define
5137         _GLIBCXX_LONG_DOUBLE_COMPAT in c++config.
5138         * include/Makefile.in: Regenerate.
5139         * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT] (_GLIBCXX_LOC_ID,
5140         _GLIBCXX_SYNC_ID): Define, use them.
5141         * src/compatibility-ldbl.cc: New file.
5142         * src/complex_io.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Add compatibility
5143         symbols.
5144         * src/limits.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
5145         * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
5146         * src/locale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
5147         * src/locale-misc-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
5148         * src/istream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
5149         * src/ostream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
5150         * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
5151         * src/wlocale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
5152         * src/compatibility.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
5153         * config/locale/generic/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
5154         Likewise.
5155         * config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
5156         Likewise.
5157         * src/Makefile.am (libstdc++-symbol.ver): Append instead of
5158         insert in the middle if port specific symbol file requests it.
5159         (ldbl_compat_sources): New variable.
5160         (sources): Use it.
5161         (compatibility-ldbl.lo, compatibility-ldbl.o): New rules.
5162         * src/Makefile.in: Rebuilt.
5163         * testsuite/testsuite_abi.cc: Recognize GLIBCXX_LDBL_3.4,
5164         GLIBCXX_LDBL_3.4.7, CXXABI_LDBL_1.3.
5165
5166 2006-02-07  Paolo Carlini  <pcarlini@suse.de>
5167
5168         * include/tr1/hashtable: Trivial formatting fixes.
5169
5170 2006-02-07  Paolo Carlini  <pcarlini@suse.de>
5171             Zak Kipling  <zak@transversal.com>
5172
5173         PR libstdc++/26127
5174         * include/tr1/hashtable (hashtable<>::key_equal): Define.
5175         (hashtable<>::bucket, rehash_base<>::max_load_factor): Fix.
5176         * testsuite/tr1/6_containers/unordered/hashtable/26127.cc: New.
5177
5178 2006-02-07  Paolo Carlini  <pcarlini@suse.de>
5179
5180         * include/tr1/cmath: New.
5181         * include/tr1/cstdlib: Likewise.
5182         * include/tr1/ctime: Likewise.
5183         * include/tr1/math.h: Likewise.
5184         * include/tr1/stdlib.h: Likewise.
5185         * include/Makefile.am: Add.
5186         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <math.h> checks.
5187         * testsuite/tr1/8_c_compatibility/cmath/functions.cc: New.
5188         * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Likewise.
5189         * testsuite/tr1/8_c_compatibility/cstdlib/types.cc: Likewise.
5190         * testsuite/tr1/headers.cc: Update.
5191
5192         * include/tr1/cinttypes: Do not provide abs and div, conflicting
5193         with the above overloads for _Longlong types.
5194         * include/tr1/inttypes.h: Adjust.
5195         * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Adjust.
5196
5197         * docs/html/ext/tr1.html: Update.
5198
5199         * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Tweak.
5200
5201         * include/Makefile.in: Regenerate.
5202         * config.h.in: Likewise.
5203         * configure: Likewise.
5204
5205 2006-02-07  Mark Mitchell  <mark@codesourcery.com>
5206
5207         * testsuite/testsuite_tr1.h (test_property): New function.
5208         * testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc
5209         (test01)
5210
5211 2006-02-05  Paolo Carlini  <pcarlini@suse.de>
5212
5213         * include/tr1/cstdio: New.
5214         * include/tr1/stdio.h: Likewise.
5215         * include/Makefile.am: Add.
5216         * testsuite/tr1/8_c_compatibility/cstdio/functions.cc: New.
5217         * testsuite/tr1/headers.cc: Update.
5218         * docs/html/ext/tr1.html: Update.
5219
5220         * include/tr1/cwchar: Simplify, use _GLIBCXX_USE_C99, consistently
5221         with the facilities in std::.
5222         * include/tr1/cwctype: Likewise.
5223         * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Tweak.
5224         * testsuite/tr1/8_c_compatibility/cwctype/functions.cc: Likewise.
5225         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Remove <wchar.h> and
5226         <wctype.h> checks.
5227
5228         * include/Makefile.in: Regenerate.
5229         * config.h.in: Likewise.
5230         * configure: Likewise.
5231
5232 2006-02-04  Paolo Carlini  <pcarlini@suse.de>
5233
5234         * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Fix.
5235
5236 2006-02-04  Paolo Carlini  <pcarlini@suse.de>
5237
5238         * testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc: Avoid
5239         warning on string constant.
5240
5241 2006-02-03  Paolo Carlini  <pcarlini@suse.de>
5242
5243         * include/tr1/cwchar: New.
5244         * include/tr1/cwctype: Likewise.
5245         * include/tr1/wchar.h: Likewise.
5246         * include/tr1/wctype.h: Likewise.
5247         * include/Makefile.am: Add.
5248         * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: New.
5249         * testsuite/tr1/8_c_compatibility/cwctype/functions.cc: Likewise.
5250         * testsuite/tr1/headers.cc: Update.
5251         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <wchar.h> and
5252         <wctype.h> checks.
5253         * docs/html/ext/tr1.html: Update.
5254         * include/Makefile.in: Regenerate.
5255         * config.h.in: Likewise.
5256         * configure: Likewise.
5257
5258         * testsuite/tr1/8_c_compatibility/cctype/functions.cc: Cosmetic tweak.
5259
5260 2006-02-02  Paolo Carlini  <pcarlini@suse.de>
5261
5262         * include/tr1/cfloat: New.
5263         * include/tr1/climits: Likewise.
5264         * include/tr1/cstdarg: Likewise.
5265         * include/tr1/ctype.h: Likewise.
5266         * include/tr1/fenv.h: Likewise.
5267         * include/tr1/float.h: Likewise.
5268         * include/tr1/inttypes.h: Likewise.
5269         * include/tr1/limits.h: Likewise.
5270         * include/tr1/stdint.h: Likewise.
5271         * include/tr1/stdarg.h: Likewise.
5272         * include/Makefile.am: Add.
5273         * include/Makefile.in: Regenerate.
5274         * docs/html/ext/tr1.html: Update.
5275         * testsuite/tr1/headers.cc: New.
5276
5277         * include/tr1/cctype: Include <cctype> instead.
5278
5279 2006-01-31  Paolo Carlini  <pcarlini@suse.de>
5280
5281         PR libstdc++/21554
5282         * include/tr1/array (array<>::_M_instance): Maximally align.
5283         * testsuite/ext/array_allocator/2.cc: Do not xfail for powerpc.
5284
5285 2006-01-31  Ed Smith-Rowland  <3dw4rd@verizon.net>
5286
5287         * docs/html/faq/index.html ([1.0]): Replace references to CVS
5288         with appropriate references to SVN.
5289         ([1.3]): Likewise.
5290         ([1.4]): Likewise.
5291         ([2.3]): Likewise.
5292         * docs/html/faq/index.txt: Regenerated.
5293
5294 2006-01-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5295
5296         * include/bits/valarray_array.h (__valarray_default_construct):
5297         Replace use __is_fundamental with __is_pod.
5298         (__valarray_fill_construct): Likewise.
5299         (__valarray_copy_construct): Likewise.
5300         (__valarray_destroy_elements): Likewise.
5301         (__valarray_copy): Likewise.
5302
5303 2006-01-30  Paolo Carlini  <pcarlini@suse.de>
5304
5305         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Do the <inttypes.h>
5306         checks only if the <stdint.h> checks are successful.
5307         * configure: Regenerate.
5308
5309 2006-01-30  Paolo Carlini  <pcarlini@suse.de>
5310
5311         * include/tr1/cinttypes: New.
5312         * include/Makefile.am: Add.
5313         * testsuite/tr1/8_c_compatibility/cinttypes/functions: New.
5314         * testsuite/tr1/8_c_compatibility/cinttypes/types: Likewise.
5315         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <inttypes.h> checks.
5316         * docs/html/ext/tr1.html: Update.
5317         * include/Makefile.in: Regenerate.
5318         * config.h.in: Likewise.
5319         * configure: Likewise.
5320
5321         * testsuite/tr1/8_c_compatibility/cfenv/functions.cc: Cosmetic tweak.
5322         * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Likewise.
5323
5324         * testsuite/tr1/8_c_compatibility/cstdint/types.cc: Fix, check in
5325         std::tr1.
5326
5327 2006-01-29  Paolo Carlini  <pcarlini@suse.de>
5328
5329         * include/tr1/cstdint: New.
5330         * include/Makefile.am: Add.
5331         * testsuite/tr1/8_c_compatibility/cstdint/types: New.
5332         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <stdint.h> checks.
5333         * docs/html/ext/tr1.html: Update.
5334         * include/Makefile.in: Regenerate.
5335         * config.h.in: Likewise.
5336         * configure: Likewise.
5337
5338         * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Cosmetic tweak.
5339
5340 2006-01-29  Paolo Carlini  <pcarlini@suse.de>
5341
5342         PR libstdc++/26006
5343         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Tighten <ctype.h> and
5344         <fenv.h> checks.
5345         * configure: Regenerate.
5346
5347 2006-01-26  Paolo Carlini  <pcarlini@suse.de>
5348
5349         * include/std/std_bitset.h (bitset<>::_M_copy_to_string):
5350         Call the internal _Unchecked_set(size_t) instead of set.
5351
5352 2006-01-26  Paolo Carlini  <pcarlini@suse.de>
5353
5354         * docs/html/install.html ([Tools you will need beforehand]):
5355         Clarify that the de_DE locale is used by configure; clarify
5356         that missing localedata leads to skipped tests, not fails.
5357
5358 2006-01-26  Paolo Carlini  <pcarlini@suse.de>
5359
5360         * include/tr1/cfenv: New.
5361         * include/Makefile.am: Add.
5362         * testsuite/tr1/8_c_compatibility/cfenv/functions.cc: New.
5363         * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Likewise.
5364         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <fenv.h> checks.
5365         * docs/html/ext/tr1.html: Update; add note.
5366         * include/Makefile.in: Regenerate.
5367         * config.h.in: Likewise.
5368         * configure: Likewise.
5369
5370         * testsuite/tr1/8_c_compatibility/complex/functions.cc: Tweak.
5371         * testsuite/tr1/8_c_compatibility/cctype/functions.cc: Likewise.
5372
5373         * docs/html/faq/index.html: Fix link to tr1.html text; fix
5374         formatting.
5375
5376 2006-01-25  Paolo Carlini  <pcarlini@suse.de>
5377
5378         * include/tr1/cctype: New.
5379         * include/Makefile.am: Add.
5380         * testsuite/tr1/8_c_compatibility/cctype/functions.cc: New.
5381         * include/Makefile.in: Regenerate.
5382
5383         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): New, check for C99
5384         support to TR1, Chapter 8.
5385         * configure.ac: Use it.
5386         * include/tr1/complex: Adjust.
5387         * config.h.in: Regenerate.
5388         * configure: Likewise.
5389
5390 2006-01-25  Benjamin Kosnik  <bkoz@redhat.com>
5391
5392         * docs/html/configopts.html: Tweak docs.
5393
5394         * libsupc++/eh_personality.cc: Fix typos.
5395
5396 2006-01-24  Paolo Carlini  <pcarlini@suse.de>
5397
5398         PR libstdc++/25649
5399         * include/std/std_istream.h (operator>>(short&), operator>>(int&)):
5400         Move out of line...
5401         * include/bits/istream.tcc: ... here.
5402         * include/std/std_ostream.h (operator<<(short), operator<<(int)):
5403         Move out of line...
5404         * include/bits/ostream.tcc: ... here.
5405
5406 2006-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
5407
5408         * docs/html/faq/index.html ([5.2]): Mention TR1 and point to
5409         paragraph [5.5], describing it.
5410         ([5.5]): New.
5411         * docs/html/ext/tr1.html: New.
5412
5413 2006-01-20  Benjamin Kosnik  <bkoz@redhat.com>
5414
5415         * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Verbose ld version
5416         reporting.  Disable --gc-sections for old binutils, by version.
5417         * configure: Regenerate.
5418
5419 2006-01-20  Joseph S. Myers  <joseph@codesourcery.com>
5420
5421         PR libstdc++/25524
5422         * include/Makefile.am: Install host-specific headers in multilib
5423         subdirectory.
5424         * include/Makefile.in: Regenerate.
5425
5426 2006-01-19  Paolo Carlini  <pcarlini@suse.de>
5427
5428         Implement list::splice (and merge) bits of N1599
5429         * include/bits/stl_list.h (list<>::_M_check_equal_allocators): New.
5430         (list<>::splice(iterator, list&), splice(iterator, list&, iterator),
5431         splice(iterator, list&, iterator, iterator)): Use it.
5432         * include/bits/list.tcc (list<>::merge(list&), merge(list&,
5433         _StrictWeakOrdering)): Likewise.
5434         * testsuite/23_containers/list/operators/5.cc: New.
5435
5436 2006-01-19  H.J. Lu  <hongjiu.lu@intel.com>
5437
5438         PR libstdc++/25797
5439         * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Remove -Werror
5440         from CFLAGS.  Check if linker really supports --gc-sections.
5441         * configure: Regenerated.
5442
5443 2006-01-18  Paul Brook  <paul@codesourcery.com>
5444
5445         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use std::abort.
5446
5447 2006-01-18  Paolo Carlini  <pcarlini@suse.de>
5448
5449         * include/bits/allocator.h: Include <bits/cpp_type_traits.h>.
5450
5451 2006-01-18  Perry Smith  <pedz@easesoftware.net>
5452
5453         PR libstdc++/25823
5454         PR libstdc++/25824
5455         * libsupc++/eh_alloc.cc: Fix return type of memset declaration.
5456         * libsupc++/eh_globals.cc: If !_GLIBCXX_HOSTED declare malloc and free.
5457
5458 2006-01-18  Paolo Carlini  <pcarlini@suse.de>
5459
5460         * include/ext/pb_assoc/detail/value_type_adapter/
5461         value_type_adapter.hpp: Include <tr1/type_traits>.
5462         * include/ext/pb_assoc/detail/value_type_adapter/
5463         it_value_type_traits.hpp (it_value_type_traits_<>::value_type_holder):
5464         Use tr1::aligned_storage and tr1::alignment_of.
5465         (it_value_type_traits_<>::buf_t): Remove.
5466         (it_value_type_traits_<>::make_valid, recast): Adjust.
5467
5468 2006-01-16  Benjamin Kosnik  <bkoz@redhat.com>
5469
5470         PR libstdc++/25797
5471         * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Add -Werror to
5472         CFLAGS for --gc-sections test.  Correct compile test.
5473         * configure: Regenerated.
5474
5475 2006-01-15  Paolo Carlini  <pcarlini@suse.de>
5476             Gabriel Dos Reis  <gdr@integrable-solutions.net>
5477
5478         PR libstdc++/25626
5479         * include/std/std_valarray.h (valarray(const slice_array<>&),
5480         valarray(const gslice_array<>&), valarray(const mask_array<>&),
5481         valarray(const indirect_array<>&), valarray(const _Expr<>&)):
5482         Forward to __valarray_copy_construct, not __valarray_copy.
5483         * include/bits/valarray_array.h
5484         (__valarray_copy_construct(_Array<>, _Array<>, _Array<>, size_t),
5485         __valarray_copy_construct(_Array<>, size_t, size_t, _Array<>)):
5486         New.
5487
5488 2006-01-15  Paolo Carlini  <pcarlini@suse.de>
5489
5490         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc:
5491         Fix norm test, use casts everywhere.
5492
5493 2006-01-14  Paolo Carlini  <pcarlini@suse.de>
5494
5495         * testsuite/testsuite_tr1.h: Add missing include; use std::__are_same.
5496
5497 2006-01-14  Paolo Carlini  <pcarlini@suse.de>
5498
5499         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc:
5500         Fix wrong test (don't pick by mistake the (const complex<>&, int)
5501         overload); add some.
5502
5503 2006-01-13  Paolo Carlini  <pcarlini@suse.de>
5504             Howard Hinnant  <hhinnant@apple.com>
5505
5506         * include/tr1/complex (arg, conj, imag, norm, polar, pow, real):
5507         Add, implementing TR1, 8.1.9.
5508         (__promote_2): New.
5509         * include/tr1/common.h: New, provides __promote, __promote_2.
5510         * include/Makefile.am: Add.
5511         * include/Makefile.in: Regenerate.
5512         * testsuite/testsuite_tr1.h (check_ret_type): New.
5513         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: New.
5514         * testsuite/tr1/8_c_compatibility/complex/overloads_float.cc: New.
5515
5516 2006-01-12  Benjamin Kosnik  <bkoz@redhat.com>
5517
5518         * acinclude.m4(GLIBCXX_CHECK_LINKER_FEATURES): Enable
5519         --gc-sections in more cases.
5520         * configure: Regenerate.
5521         * scripts/testsuite_flags.in: Remove SECTION_LDFLAGS.
5522         * scripts/testsuite_flags.in (cxxldflags): New.
5523         * testsuite/lib/libstdc++.exp (v3_target_compile): Add cxxldflags.
5524         (libstdc++_init ): Same.
5525
5526 2006-01-12  Jan Beulich  <jbeulich@novell.com>
5527
5528         * crossconfig.m4: Add AC_DEFINE-s for HAVE_HYPOT, HAVE_ISINF, and
5529         HAVE_ISNAN for *-*-netware*.
5530         * configure: Refresh.
5531
5532 2006-01-11  Benjamin Kosnik  <bkoz@redhat.com>
5533
5534         * acinclude.m4(GLIBCXX_CHECK_LINKER_FEATURES): Use -Wl,-z,relro if
5535         possible.
5536         * configure: Regenerate.
5537
5538 2006-01-10  Paolo Carlini  <pcarlini@suse.de>
5539
5540         * include/tr1/complex: New file, hosts the additions to header
5541         <complex> described in TR1, Chapter 8 [tr.c99].
5542         * include/Makefile.am: Add.
5543         * include/Makefile.in: Regenerate.
5544         * testsuite/tr1/8_c_compatibility/complex/functions.cc: New.
5545
5546 2006-01-09  Paolo Carlini  <pcarlini@suse.de>
5547
5548         PR libstdc++/25658
5549         * testsuite/23_containers/deque/cons/assign/1.cc: Divide
5550         sizes by 10.
5551
5552 2006-01-08  Paolo Carlini  <pcarlini@suse.de>
5553
5554         PR libstdc++/22102 (insert as close to hint as possible)
5555         * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_lower,
5556         _M_insert_equal_lower): New.
5557         (_M_insert_equal(iterator, const _Val&),
5558         _M_insert_equal(const_iterator, const _Val&)): Use the above.
5559         * docs/html/ext/howto.html: Add an entry for DR 233.
5560         * testsuite/23_containers/multiset/modifiers/insert/22102.cc: New.
5561         * testsuite/23_containers/multimap/modifiers/insert/22102.cc: New.
5562
5563         * testsuite/23_containers/set/insert/: Move...
5564         * testsuite/23_containers/set/modifiers/insert/: ...here.
5565         * testsuite/23_containers/map/insert/: Move...
5566         * testsuite/23_containers/map/modifiers/insert/: ...here.
5567         * testsuite/23_containers/multiset/insert/: Move...
5568         * testsuite/23_containers/multiset/modifiers/insert/: ...here.
5569
5570 2006-01-06  Paolo Carlini  <pcarlini@suse.de>
5571
5572         * include/bits/stl_tree.h (_Rb_tree<>::insert_unique): Rename
5573         to _M_insert_unique.
5574         (_Rb_tree<>::insert_equal): Rename to _M_insert_equal.
5575         * include/bits/stl_map.h (class map<>): Update callers.
5576         * include/bits/stl_set.h (class set<>): Likewise.
5577         * include/bits/stl_multimap.h (class multimap<>): Likewise.
5578         * include/bits/stl_multiset.h (class multiset<>): Likewise.
5579
5580 2006-01-06  Paolo Carlini  <pcarlini@suse.de>
5581
5582         * include/bits/stl_bvector.h (vector<bool>::erase(iterator,
5583         iterator)): Just use _M_erase_at_end.
5584
5585 2006-01-06  Paolo Carlini  <pcarlini@suse.de>
5586
5587         * include/bits/stl_bvector.h (class vector<bool>): Move all the
5588         helpers under protected access mode, consistently with the primary
5589         vector template.
5590         (vector<bool>::_M_erase_at_end): Add.
5591         (erase(iterator, iterator), clear, resize, _M_fill_assign,
5592         _M_assign_aux): Use it.
5593         * testsuite/23_containers/vector/bool/modifiers/erase/1.cc: New.
5594
5595 2006-01-06  Paolo Carlini  <pcarlini@suse.de>
5596
5597         Implement Option 3 of DR 431 for vector<bool>.
5598         * include/bits/stl_bvector.h (class _Bvector_base): Change to
5599         a struct, consistently with the primary vector template.
5600         (class vector<bool>): Adjust to protected inheritance, tidy
5601         typedefs.
5602         (_Bvector_base<>::_M_get_Bit_allocator): Add.
5603         (vector<bool>::vector(const vector&)): Use it.
5604         (_Bvector_base<>::get_allocator): Tidy.
5605         (vector<bool>::swap): Use __alloc_swap.
5606         * testsuite/23_containers/vector/bool/modifiers/swap/1.cc: New.
5607         * testsuite/23_containers/vector/bool/modifiers/swap/2.cc: New.
5608
5609 2006-01-05  Paolo Carlini  <pcarlini@suse.de>
5610
5611         * testsuite/testsuite_hooks.h (test_tm(unsigned)): Change to
5612         take all the tm members.
5613         * testsuite/testsuite_hooks.cc (test_tm): Adjust.
5614         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Update.
5615         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
5616         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
5617         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
5618         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
5619         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
5620         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
5621         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
5622         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
5623         * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
5624         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
5625         * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
5626         * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
5627         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
5628         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
5629         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
5630         * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
5631         * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
5632         * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
5633         * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
5634         * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
5635         * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
5636         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
5637         * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
5638         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
5639         * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
5640         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
5641         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
5642         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
5643         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
5644         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
5645         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
5646         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
5647         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
5648         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
5649         * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
5650         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
5651         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
5652         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
5653         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
5654         * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
5655         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
5656         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
5657         * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
5658         * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
5659         * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
5660         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
5661         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
5662         * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
5663         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
5664         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
5665         * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
5666         * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
5667         * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
5668
5669 2006-01-05  Paolo Carlini  <pcarlini@suse.de>
5670
5671         * testsuite/testsuite_hooks.h (test_tm(unsigned)): New.
5672         * testsuite/testsuite_hooks.cc (test_tm(unsigned)): Define.
5673         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Use it.
5674         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
5675         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
5676         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
5677         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
5678         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
5679         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
5680         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
5681         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
5682         * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
5683         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
5684         * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
5685         * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
5686         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
5687         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
5688         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
5689         * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
5690         * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
5691         * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
5692         * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
5693         * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
5694         * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
5695         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
5696         * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
5697         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
5698         * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
5699         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
5700         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
5701         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
5702         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
5703         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
5704         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
5705         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
5706         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
5707         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
5708         * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
5709         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
5710         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
5711         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
5712         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
5713         * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
5714         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
5715         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
5716         * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
5717         * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
5718         * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
5719         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
5720         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
5721         * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
5722         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
5723         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
5724         * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
5725         * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
5726         * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
5727
5728 2006-01-04  Paolo Carlini  <pcarlini@suse.de>
5729
5730         * include/ext/sso_string_base.h (__sso_string_base<>::_M_dataplus):
5731         Use _CharT_alloc_type as base class.
5732         (_M_get_allocator, _M_swap, _M_create, _M_destroy): Adjust.
5733         * include/ext/vstring.h (get_allocator): Tidy.
5734
5735 2006-01-04  Paolo Carlini  <pcarlini@suse.de>
5736
5737         Implement Option 3 of DR 431 for all the containers.
5738         * include/bits/allocator.h (struct __alloc_swap): Add, swaps
5739         allocators, optimized to nothing in case they are empty.
5740         * include/bits/stl_deque.h (deque<>::swap): Use it.
5741         * include/bits/stl_list.h (list<>::swap): Likewise.
5742         * include/bits/stl_tree.h (_Rb_tree<>::swap): Likewise.
5743         * include/bits/stl_vector.h (vector<>::swap): Likewise.
5744         * include/tr1/hashtable (hashtable<>::swap): Likewise.
5745         * include/ext/rc_string_base.h (__rc_string_base<>::_M_swap):
5746         Likewise.
5747         * include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
5748         Likewise.
5749         * include/ext/vstring_util.h (__vstring_utility<>::_Alloc_hider):
5750         Clean-up (now vstring uses the generic __alloc_swap facility).
5751         * include/tr1/unordered_map: Adjust includes.
5752         * include/tr1/unordered_set: Likewise.
5753         * docs/html/ext/howto.html: Add an entry for DR 431.
5754         * testsuite/23_containers/deque/modifiers/swap.cc: Move to...
5755         * testsuite/23_containers/deque/modifiers/swap/1.cc: ... here.
5756         * testsuite/23_containers/deque/modifiers/swap/2.cc: New.
5757         * testsuite/23_containers/deque/modifiers/swap/3.cc: New.
5758         * testsuite/23_containers/list/modifiers/swap.cc: Move to...
5759         * testsuite/23_containers/list/modifiers/swap/1.cc: ... here.
5760         * testsuite/23_containers/list/modifiers/swap/2.cc: New.
5761         * testsuite/23_containers/list/modifiers/swap/3.cc: New.
5762         * testsuite/23_containers/vector/modifiers/swap.cc: Move to...
5763         * testsuite/23_containers/vector/modifiers/swap/1.cc: ... here.
5764         * testsuite/23_containers/vector/modifiers/swap/2.cc: New.
5765         * testsuite/23_containers/vector/modifiers/swap/3.cc: New.
5766         * testsuite/23_containers/set/modifiers/swap.cc: Move to...
5767         * testsuite/23_containers/set/modifiers/swap/1.cc: ... here.
5768         * testsuite/23_containers/set/modifiers/swap/2.cc: New.
5769         * testsuite/23_containers/set/modifiers/swap/3.cc: New.
5770         * testsuite/23_containers/map/modifiers/swap.cc: Move to...
5771         * testsuite/23_containers/map/modifiers/swap/1.cc: ... here.
5772         * testsuite/23_containers/map/modifiers/swap/2.cc: New.
5773         * testsuite/23_containers/map/modifiers/swap/3.cc: New.
5774         * testsuite/23_containers/multiset/modifiers/swap.cc: Move to...
5775         * testsuite/23_containers/multiset/modifiers/swap/1.cc: ... here.
5776         * testsuite/23_containers/multiset/modifiers/swap/2.cc: New.
5777         * testsuite/23_containers/multiset/modifiers/swap/3.cc: New.
5778         * testsuite/23_containers/multimap/modifiers/swap.cc: Move to...
5779         * testsuite/23_containers/multimap/modifiers/swap/1.cc: ... here.
5780         * testsuite/23_containers/multimap/modifiers/swap/2.cc: New.
5781         * testsuite/23_containers/multimap/modifiers/swap/3.cc: New.
5782         * testsuite/tr1/6_containers/unordered/swap/unordered_set/1.cc: New.
5783         * testsuite/tr1/6_containers/unordered/swap/unordered_set/2.cc: New.
5784         * testsuite/tr1/6_containers/unordered/swap/unordered_map/1.cc: New.
5785         * testsuite/tr1/6_containers/unordered/swap/unordered_map/2.cc: New.
5786         * testsuite/tr1/6_containers/unordered/swap/unordered_multiset/1.cc: New.
5787         * testsuite/tr1/6_containers/unordered/swap/unordered_multiset/2.cc: New.
5788         * testsuite/tr1/6_containers/unordered/swap/unordered_multimap/1.cc: New.
5789         * testsuite/tr1/6_containers/unordered/swap/unordered_multimap/2.cc: New.
5790
5791 2006-01-03  Paolo Carlini  <pcarlini@suse.de>
5792
5793         * include/bits/stl_list.h (_List_base<>::_M_get_Node_allocator): Add.
5794         (_M_get_Tp_allocator, get_allocator): Tidy.
5795         (list<>::list(const list&), insert(iterator, size_type, const
5796         value_type&), insert(iterator, _InputIterator, _InputIterator)):
5797         Use _M_get_Node_allocator.
5798         * include/bits/stl_tree.h (_Rb_tree<>::_M_get_Node_allocator()): Add.
5799         (_Rb_tree(const _Rb_tree<>&): Use it.
5800         * include/bits/stl_deque.h (_Deque_base<>::_M_get_map_allocator,
5801         get_allocator): Tidy.
5802         * include/bits/stl_vector.h (_Vector_base<>::get_allocator): Tidy.
5803         * testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error
5804         line numbers.
5805         * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
5806
5807         * testsuite/testsuite_allocator.h (uneq_allocator<>::swap): Fix.
5808
5809         * testsuite/testsuite_allocator.h (class uneq_allocator): A simple
5810         non-empty testing allocator which can be endowed of a "personality"
5811         at construction time.
5812
5813 2006-01-03  Paolo Carlini  <pcarlini@suse.de>
5814
5815         * testsuite/27_io/basic_stringstream/str/char/1.cc: Initialize vars.
5816         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
5817         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise, tidy.
5818         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
5819
5820 2006-01-02  Mark Mitchell  <mark@codesourcery.com>
5821
5822         * src/Makefile.am (LTLDFLAGS): New variable.
5823         (CXXLINK): Use LTLDFLAGS.
5824         * src/Makefile.in: Regenerated.
5825         * libsupc++/Makefile.am (LTLDFLAGS): New variable.
5826         (CXXLINK): Use LTLDFLAGS.
5827         * libsupc++/Makefile.in: Regenerated.
5828
5829 2006-01-02  Paolo Carlini  <pcarlini@suse.de>
5830
5831         PR libstdc++/24645
5832         * include/std/std_istream.h (basic_istream<>::_M_extract): New.
5833         (operator>>(bool&), operator>>(short&), operator>>(unsigned short&),
5834         operator>>(int&), operator>>(unsigned int&), operator>>(long&),
5835         operator>>(unsigned long&), operator>>(long long&), operator>>
5836         (unsigned long long&), operator>>(float&), operator>>(double&),
5837         operator>>(long double&), operator>>(void*&)): Use it.
5838         * include/bits/istream.tcc (basic_istream<>::_M_extract): Define.
5839         * include/std/std_ostream.h (basic_ostream<>::_M_insert): New.
5840         (operator<<(long), operator<<(unsigned long), operator<<(bool),
5841         operator<<(short), operator<<(unsigned short), operator<<(int),
5842         operator<<(unsigned int), operator<<(long long), operator<<
5843         (unsigned long long), operator<<(double), operator<<(float),
5844         operator<<(long double), operator<<(const void*): Use it.
5845         * include/bits/ostream.tcc (basic_ostream<>::_M_insert): Define.
5846         * src/istream-inst.cc: Add _M_extract instantiations.
5847         * src/ostream-inst.cc: Add _M_insert instantiations.
5848         * config/abi/pre/gnu.ver: Export the new symbols @GLIBCXX_3.4.7;
5849         detail existing @GLIBCXX_3.4 exports of basic_ostream, num_put,
5850         money_put, etc., symbols to avoid exporting _M_insert symbols
5851         @GLIBCXX_3.4.
5852 \f
5853 Copyright (C) 2006 Free Software Foundation, Inc.
5854
5855 Copying and distribution of this file, with or without modification,
5856 are permitted in any medium without royalty provided the copyright
5857 notice and this notice are preserved.