gcc/
[official-gcc.git] / libstdc++-v3 / ChangeLog-2006
blobabfca29c20d4bd854117248904625e9580bba639
1 2006-12-29  Paolo Carlini  <pcarlini@suse.de>
3         PR libstdc++/30226
4         * config/abi/pre/gnu.ver: Do not export ctype<char>::widen.
6 2006-12-28  Paolo Carlini  <pcarlini@suse.de>
8         * include/tr1/array (array<>::_M_at): Remove.
9         (array<>::_M_check): Add.
10         (array<>::at): Use the latter.
12 2006-12-22  Paolo Carlini  <pcarlini@suse.de>
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.
22 2006-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
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.
36 2006-12-13  Ian Lance Taylor  <iant@google.com>
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.
58 2006-12-12  Benjamin Kosnik  <bkoz@redhat.com>
60         PR libstdc++/28265
61         * crossconfig.m4: Remove GLIBCXX_CHECK_ICONV_SUPPORT call for
62         mingw crosses.
63         * configure: Regenerate.
65 2006-12-12  Benjamin Kosnik  <bkoz@redhat.com>
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.
73 2006-12-11  Benjamin Kosnik  <bkoz@redhat.com>
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.
81 2006-12-11  Richard Guenther  <rguenther@suse.de>
82             Paolo Carlini  <pcarlini@suse.de>
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.
91 2006-12-10  Paolo Carlini  <pcarlini@suse.de>
93         * src/valarray-inst.cc (__gslice_to_index): Optimize performance.
94         * testsuite/performance/26_numerics/valarray_gslice_to_index.cc: New.
96 2006-12-08  Jakub Jelinek  <jakub@redhat.com>
98         * testsuite/util/testsuite_hooks.cc (set_memory_limits): Don't set
99         RLIMIT_AS below 16MB on x86_64-linux.
101 2006-12-06  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
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.
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.
244 2006-12-05  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
444         * docs/doxygen/user.cfg.in: Adjust file list.
446 2006-12-05  Paolo Carlini  <pcarlini@suse.de>
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.
456 2006-12-05  Benjamin Kosnik  <bkoz@redhat.com>
458         * include/tr1/tuple: Consistent include guards.
459         * include/tr1/type_traits: Same.
460         * include/tr1/array: Same.
462 2006-12-04  Paolo Carlini  <pcarlini@suse.de>
464         PR libstdc++/29989 (again)
465         * include/bits/c++config: #undef min and max.
466         * testsuite/18_support/numeric_limits/29989.cc: New.
468 2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
470         * configure: Regenerate.
472 2006-12-03  Paolo Carlini  <pcarlini@suse.de>
474         PR libstdc++/29989
475         * include/bits/stl_algobase.h: Remove min and max #undefs.
477 2006-12-02  Howard Hinnant  <hhinnant@apple.com>
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.
484 2006-12-01  Paolo Carlini  <pcarlini@suse.de>
486         * include/ext/mt_allocator.h (__pool_base::_M_get_align): Remove
487         redundant const qualifier on the return type.
489 2006-11-29  Benjamin Kosnik  <bkoz@redhat.com>
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.
539         * include/ext/bitmap_allocator.h: Change namespace __balloc to
540         __detail.
541         * src/bitmap_allocator.cc: Same.
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.
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.
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.
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.
597 2006-11-26  Paolo Carlini  <pcarlini@suse.de>
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.
603 2006-11-26  Paolo Carlini  <pcarlini@suse.de>
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.
610 2006-11-25  Paolo Carlini  <pcarlini@suse.de>
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
616 2006-11-25  Paolo Carlini  <pcarlini@suse.de>
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.
625 2006-11-25  Gawain Bolton  <gp.bolton@computer.org>
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.
650 2006-11-22  Antony King <anthony.king@st.com>
651             J"orn Rennecke <joern.rennecke@st.com>
653         PR libstdc++/29920
654         * include/Makefile.am (stamp-host): Remove CCODECVT_H line.
655         * include/Makefile.in: Regenerate.
657 2006-11-21  Benjamin Kosnik  <bkoz@redhat.com>
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.
672 2006-11-21  Benjamin Kosnik  <bkoz@redhat.com>
673             Howard Hinnant  <hhinnant@apple.com>
675         * src/iostream-inst.cc: Remove iostream include.
677 2006-11-19  Paolo Carlini  <pcarlini@suse.de>
679         * include/tr1/functional (hash(long long), hash(unsigned long long)):
680         Add specializations.
682 2006-11-18  Joseph Myers  <joseph@codesourcery.com>
684         * config/cpu/powerpc/atomic_word.h (_GLIBCXX_WRITE_MEM_BARRIER):
685         Use plain sync if __NO_LWSYNC__.
687 2006-11-14  Joseph Myers  <joseph@codesourcery.com>
689         * testsuite/26_numerics/complex/13450.cc: Do not test long double
690         in IBM long double case.
692 2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
694         * configure: Regenerated.
696 2006-11-13  Joseph Myers  <joseph@codesourcery.com>
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.
703 2006-11-13  Joseph Myers  <joseph@codesourcery.com>
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.
713 2006-11-12  Paolo Carlini  <pcarlini@suse.de>
715         * include/ext/bitmap_allocator.h: Uglify some names.
716         * include/ext/concurrence.h: Likewise.
717         * src/bitmap_allocator.cc: Likewise.
719 2006-11-11  Paolo Carlini  <pcarlini@suse.de>
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.
745 2006-11-10  Jakub Jelinek  <jakub@redhat.com>
747         * config/locale/gnu/c_locale.cc (__convert_to_v): Prefer
748         strtold_l over __strtold_l if available.
750 2006-11-07  Benjamin Kosnik  <bkoz@redhat.com>
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.
761         * include/ext/pb_ds/exception.hpp: Keep exception classes defined
762         even when -fno-exceptions is passed, consistent with other usage.
764 2006-11-07  Benjamin Kosnik  <bkoz@redhat.com>
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.
812 2006-11-07  Benjamin Kosnik  <bkoz@redhat.com>
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.
819 2006-11-05  Paolo Carlini  <pcarlini@suse.de>
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.
825 2006-10-30  Paolo Carlini  <pcarlini@suse.de>
827         * include/tr1/utility (tuple_size<std::pair<> >::value): Provide
828         definition.
830 2006-10-30  Paolo Carlini  <pcarlini@suse.de>
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.
838 2006-10-30  Paolo Carlini  <pcarlini@suse.de>
840         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Actually
841         do test max_size().
843 2006-10-30  Joseph Myers  <joseph@codesourcery.com>
845         * testsuite/config/default.exp (${tool}_target_compile): Use
846         v3_target_compile.
848 2006-10-29  Paolo Carlini  <pcarlini@suse.de>
850         * src/debug.cc (_Safe_sequence_base::_M_revalidate_singular): Fix
851         pasto, advance __iter only once per iteration.
853 2006-10-29  Paolo Carlini  <pcarlini@suse.de>
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.
865 2006-10-28  Paolo Carlini  <pcarlini@suse.de>
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.
872         * include/tr1/array (class array<>): Remove non-conforming default
873         for the second parameter.
874         * include/ext/array_allocator.h: Adjust.
876         * include/tr1/array (array<>::front, array<>::back): Do not return
877         a reference to memory not belonging to the array when _Nm == 0.
879 2006-10-17  Paolo Carlini  <pcarlini@suse.de>
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.
887 2006-10-17  Paolo Carlini  <pcarlini@suse.de>
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.
894 2006-10-17  Benjamin Kosnik  <bkoz@redhat.com>
896         * include/tr1/random.tcc: Fixup long line.
898 2006-10-17  Benjamin Kosnik  <bkoz@redhat.com>
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.
912 2006-10-16  Douglas Gregor  <doug.gregor@gmail.com>
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.
942 2006-10-16  Benjamin Kosnik  <bkoz@redhat.com>
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.
949 2006-10-16  Jakub Jelinek  <jakub@redhat.com>
951         * include/bits/basic_string.tcc (_Rep::_S_create): Call
952         _M_set_sharable() for backwards compatibility.
954 2006-10-15  Paolo Carlini  <pcarlini@suse.de>
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.
961 2006-10-15  Geoffrey Keating  <geoffk@apple.com>
963         * scripts/make_exports.pl: Use -_ rather than --strip-underscores
964         or --strip-underscore.
966 2006-10-14  Geoffrey Keating  <geoffk@apple.com>
968         * aclocal.m4: Regenerate.
969         * configure: Regenerate with released autoconf-2.59.
971 2006-10-14  Paolo Carlini  <pcarlini@suse.de>
973         * docs/html/faq/index.html: Update.
974         * docs/html/faq/index.txt: Regenerate.
976 2006-10-14  Paolo Carlini  <pcarlini@suse.de>
978         * include/bits/ostream.tcc (operator<<(basic_ostream<>&,
979         const char*)): Further fix for throwing widen.
981 2006-10-14  Paolo Carlini  <pcarlini@suse.de>
983         * include/bits/ostream.tcc (operator<<(basic_ostream<>&,
984         const char*)): Fix thinko in change for libstdc++/28277,
985         avoid memory leaks.
987 2006-10-13  Paolo Carlini  <pcarlini@suse.de>
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.
1013 2006-10-13  Paolo Carlini  <pcarlini@suse.de>
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.
1048 2006-10-11  Paolo Carlini  <pcarlini@suse.de>
1050         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 44.
1052 2006-10-11  Benjamin Kosnik  <bkoz@redhat.com>
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.
1059         * src/locale_init.cc (__get_locale_mutex): No need to
1060         uglify. Change to get_locale_mutex.
1062 2006-10-11  Paolo Carlini  <pcarlini@suse.de>
1064         * testsuite/22_locale/num_put/put/char/11.cc: New.
1065         * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
1067 2006-10-10  Benjamin Kosnik  <bkoz@redhat.com>
1069         * testsuite/lib/libstdc++.exp (v3-build_support): Link
1070         libtestc++.a, not a bunch of object files.
1072 2006-10-09  Benjamin Kosnik  <bkoz@redhat.com>
1074         PR libstdc++/29118
1075         * src/locale_init.cc (__get_locale_mutex): New.
1076         (locale::locale): Use it.
1077         (locale::global): Use it.
1079 2006-10-09  Benjamin Kosnik  <bkoz@redhat.com>
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.
1095 2006-10-09  Paolo Carlini  <pcarlini@suse.de>
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.
1102 2006-10-09  Paolo Carlini  <pcarlini@suse.de>
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.
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.
1113 2006-10-09  Benjamin Kosnik  <bkoz@redhat.com>
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.
1121 2006-10-07  Paolo Carlini  <pcarlini@suse.de>
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.
1128 2006-10-07  Ion Gaztanaga  <igaztanaga@gmail.com>
1129             Paolo Carlini  <pcarlini@suse.de>
1131         * include/bits/stl_tree.h (_Rb_tree<>::erase(const _Key&)): Don't
1132         call std::distance unnecessarily.
1134 2006-10-06  Paolo Carlini  <pcarlini@suse.de>
1136         PR libstdc++/29368
1137         * include/bits/basic_string.h: Adjust rfind documentation.
1138         * include/ext/vstring.h: Likewise.
1140 2006-10-06  Paolo Carlini  <pcarlini@suse.de>
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.
1149 2006-10-04  Benjamin Kosnik  <bkoz@redhat.com>
1150             Mike Stump  <mrs@apple.com>
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.
1155 2006-10-04  Benjamin Kosnik  <bkoz@redhat.com>
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.
1163 2006-10-03  Benjamin Kosnik  <bkoz@redhat.com>
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.
1198 2006-10-03  Benjamin Kosnik  <bkoz@redhat.com>
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.
1222 2006-10-02  Paolo Carlini  <pcarlini@suse.de>
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.
1230 2006-10-02  Benjamin Kosnik  <bkoz@redhat.com>
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.
1239 2006-10-01  Paolo Carlini  <pcarlini@suse.de>
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.
1250 2006-10-01  Paolo Carlini  <pcarlini@suse.de>
1252         * include/ext/type_traits.h: Avoid _T, badname for some targets;
1253         also avoid plain T.
1255 2006-10-01  Paolo Carlini  <pcarlini@suse.de>
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.
1262 2006-09-30  Benjamin Kosnik  <bkoz@redhat.com>
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.
1301 2006-09-29  Benjamin Kosnik  <bkoz@redhat.com>
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.
1319 2006-09-29  Benjamin Kosnik  <bkoz@redhat.com>
1320             Howard Hinnant  <hhinnant@apple.com>
1321             Paolo Carlini  <pcarlini@suse.de>
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.
1336 2006-09-29  Joseph S. Myers  <joseph@codesourcery.com>
1338         * acinclude.m4 (enable_symvers): Default to no if unable to link.
1339         * configure: Regenerate.
1341 2006-09-28  Paolo Carlini  <pcarlini@suse.de>
1343         * include/bits/stl_uninitialized.h
1344         (__uninitialized_fill_n_a(_ForwardIterator, _Size, const _Tp&,
1345         allocator<>)): Inline.
1347 2006-09-28  Benjamin Kosnik  <bkoz@redhat.com>
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.
1479 2006-09-28  Paolo Carlini  <pcarlini@suse.de>
1481         * include/tr1/boost_shared_ptr.h: Use __atomic_add_dispatch and
1482         __exchange_and_add_dispatch everywhere.
1484 2006-09-27  Benjamin Kosnik  <bkoz@redhat.com>
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.
1491         * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Adjust line numbers.
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.
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.
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.
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.
1633 2006-09-27  Paolo Carlini  <pcarlini@suse.de>
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.
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.
1645 2006-09-25  Howard Hinnant  <hhinnant@apple.com>
1647         PR libstdc++/29224
1648         * include/tr1/functional_iterate.h: Avoid -Wshadow warnings.
1650 2006-09-25  Paolo Carlini  <pcarlini@suse.de>
1652         PR libstdc++/29179
1653         * include/ext/mt_allocator.h (__pool_base): Adjust/extend
1654         documentation in comments.
1656 2006-09-24  Paolo Carlini  <pcarlini@suse.de>
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.
1683         * include/tr1/boost_shared_ptr.h: Further formatting and
1684         uglification fixes.
1686 2006-09-22  Paolo Carlini  <pcarlini@suse.de>
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.
1693         * testsuite/23_containers/deque/capacity/29134-2.cc: Minor tweak.
1694         * testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.
1696 2006-09-22  Paolo Carlini  <pcarlini@suse.de>
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.
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.
1713         * testsuite/util/testsuite_tr1.h: Tweak; avoid empty enum.
1715         * include/tr1/type_traits_fwd.h: Spelling fix.
1717         * include/tr1/boost_shared_ptr.h: Obvious stylistic fixes.
1719 2006-09-22  Paolo Carlini  <pcarlini@suse.de>
1721         * include/tr1/boost_shared_ptr.h: Trivial formatting fixes.
1723 2006-09-21  Benjamin Kosnik  <bkoz@redhat.com>
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.
1730 2006-09-21  Paolo Carlini  <pcarlini@suse.de>
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.
1747 2006-09-21  Paolo Carlini  <pcarlini@suse.de>
1749         * include/ext/sso_string_base.h (__sso_string_base<>::_M_max_size(),
1750         _M_destroy, _M_create): Use _M_get_allocator.
1752 2006-09-21  Ben Elliston  <bje@au.ibm.com>
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.
1760 2006-09-21  Paolo Carlini  <pcarlini@suse.de>
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.
1770 2006-09-20  Paolo Carlini  <pcarlini@suse.de>
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.
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.
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.
1807 2006-09-20  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
1928         * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Fixup line numbers.
1930 2006-09-19  Paolo Carlini  <pcarlini@suse.de>
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.
1939 2006-09-18  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
1989 2006-09-18  Tom Tromey  <tromey@redhat.com>
1991         * configure: Rebuilt.
1993 2006-09-18  Paolo Carlini  <pcarlini@suse.de>
1995         * include/bits/locale_facets.tcc (_M_group_int): Remove
1996         redundant using-declaration.
1998 2006-09-18  Benjamin Kosnik  <bkoz@redhat.com>
2000         * include/ext/typelist.h (cond_type): Remove, use __conditional_type.
2002 2006-09-18  Benjamin Kosnik  <bkoz@redhat.com>
2003             Peter Doerfler  <gcc@pdoerfler.com>
2004             Paolo Carlini  <pcarlini@suse.de>
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.
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.
2055 2006-09-18  Paolo Carlini  <pcarlini@suse.de>
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.
2062 2006-09-14  Benjamin Kosnik  <bkoz@redhat.com>
2064         * include/bits/concurrence.h (__mutex::__mutex): Pass address of
2065         mutex to *_MUTEX_INIT_FUNCTION.
2067 2006-09-13  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
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.
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.
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.
2127 2006-09-12  Benjamin Kosnik  <bkoz@redhat.com>
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.
2135 2006-09-10  Paolo Carlini  <pcarlini@suse.de>
2137         * include/bits/stl_heap.h (sort_heap): Iterator post-decrement is
2138         only required to be convertible to the iterator type.
2140 2006-09-08  Paolo Carlini  <pcarlini@suse.de>
2142         * include/tr1/random.tcc (poisson_distribution<>::operator()):
2143         Avoid potential warnings when _IntType is unsigned.
2145 2006-09-08  Benjamin Kosnik  <bkoz@redhat.com>
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.
2358 2006-09-05  Paolo Carlini  <pcarlini@suse.de>
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.
2365 2006-09-05  Paolo Carlini  <pcarlini@suse.de>
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.
2373 2006-09-04  Benjamin Kosnik  <bkoz@redhat.com>
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.
2383         * include/bits/cpp_type_traits.h: Revert anonymous namespace
2384         change, use nested detail instead.
2386         * testsuite/lib/libstdc++.exp (libstdc++_init): PCHFLAGS revert to
2387         stdc++.h.
2389 2006-09-04  Paolo Carlini  <pcarlini@suse.de>
2391         * src/mt_allocator.cc (__pool<true>::_M_reclaim_block): Do
2392         not name a variable __used, badname on BSD.
2394 2006-09-02  Paolo Carlini  <pcarlini@suse.de>
2395             Richard Guenther  <rguenther@suse.de>
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.
2406 2006-08-31  Benjamin Kosnik  <bkoz@redhat.com>
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.
2414 2006-08-31  Richard Guenther  <rguenther@suse.de>
2416         * include/ext/mt_allocator.h: Remove volatile qualifiers
2417         from data members and corresponding locals and function
2418         signatures.
2420 2006-08-31  Paolo Carlini  <pcarlini@suse.de>
2422         * config/abi/pre/gnu.ver: Correct atomic helper function signature
2423         for case where _Atomic_word is long.
2425 2006-08-31  Benjamin Kosnik  <bkoz@redhat.com>
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.
2432 2006-08-30  Benjamin Kosnik  <bkoz@redhat.com>
2433             Richard Guenther  <rguenther@suse.de>
2435         * config/abi/pre/gnu.ver: Spell out exact signatures for atomic
2436         access functions.
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.
2444 2006-08-29  Paolo Carlini  <pcarlini@suse.de>
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.
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.
2460 2006-08-29  Benjamin Kosnik  <bkoz@redhat.com>
2462         * acinclude.m4(glibcxx_PCHFLAGS): Set to stdtr1c++.h.
2463         * configure: Regenerate.
2465         * scripts/check_compile: Output current compile line.
2467 2006-08-28  Benjamin Kosnik  <bkoz@redhat.com>
2469         PR libstdc++/23773 partial
2470         * docs/html/abi.html: Update.
2472 2006-08-28  Roger Sayle  <roger@eyesopen.com>
2473             Paolo Carlini  <pcarlini@suse.de>
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.
2480 2006-08-28  Paolo Carlini  <pcarlini@suse.de>
2481             Roger Sayle  <roger@eyesopen.com>
2483         * testsuite/25_algorithms/nth_element/2.cc: New.
2485 2006-08-27  Paolo Carlini  <pcarlini@suse.de>
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.
2495 2006-08-25  Paolo Carlini  <pcarlini@suse.de>
2497         * docs/html/ext/tr1.html: Update.
2499 2006-08-25  Paolo Carlini  <pcarlini@suse.de>
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.
2506         * include/tr1/random (_Adaptor<>::min, _Adaptor<>::max): Add.
2507         (_Adaptor<>::operator()): Allow for nonzero _M_g.min().
2509         * include/tr1/random.tcc (linear_congruential<>::min, max):
2510         Move inline...
2511         (__mod): Move ...
2512         * include/tr1/random: ... here.
2513         (struct _Mod): Declare.
2515         * include/tr1/random (struct _To_Unsigned_Type): Only declare,
2516         move...
2517         * include/tr1/random.tcc: ... here.
2519 2006-08-22  Phillip Jordan  <phillip.m.jordan@gmail.com>
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.
2531 2006-08-22  Paolo Carlini  <pcarlini@suse.de>
2533         * include/tr1/random.tcc (subtract_with_carry_01<>::
2534         seed(_Gen&, false_type)): Fix _M_carry initialization.
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.
2541 2006-08-22  Paolo Carlini  <pcarlini@suse.de>
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.
2571         * docs/html/ext/howto.html: Add two implemented TR1 issues.
2573         * include/tr1/random.tcc (struct _To_Unsigned_Type<>): Move...
2574         * include/tr1/random: ... here.
2575         (class subtract_with_carry<>): Use it everywhere.
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.
2594         * include/tr1/random (class binomial_distribution<>): Reorder the
2595         data members to save space.
2597 2006-08-20  Paolo Carlini  <pcarlini@suse.de>
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.
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.
2611 2006-08-18  Paolo Carlini  <pcarlini@suse.de>
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.
2622         * include/tr1/random (geometric_distribution<>::
2623         geometric_distribution(const _RealType&)): Fix DEBUG_ASSERT
2624         limits.
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.
2633         * include/tr1/random.tcc (normal_distribution<>::operator()): Minor
2634         tweaks.
2636 2006-08-18  Paolo Carlini  <pcarlini@suse.de>
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.
2643 2006-08-15  Paolo Carlini  <pcarlini@suse.de>
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.
2656         * include/tr1/random (operator>>(std::basic_istream<>&,
2657         gamma_distribution&)): Minor tweak.
2659         * include/tr1/random.tcc (poisson_distribution<>::operator()):
2660         Minor tweak.
2662         * include/tr1/random: Consistently, all data members private.
2664 2006-08-15  Paolo Carlini  <pcarlini@suse.de>
2666         * include/tr1/random.tcc (mersenne_twister<>::operator()): Revert
2667         last change (per gcc-patches/2006-08/msg00484.html).
2669 2006-08-14  Paolo Carlini  <pcarlini@suse.de>
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.
2680         * include/tr1/random.tcc (mersenne_twister<>::operator()): Tweak
2681         a bit for efficiency.
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.
2687         * include/tr1/random: Trivial formatting fixes.
2688         * include/tr1/cmath: Likewise.
2690 2006-08-11  Paolo Carlini  <pcarlini@suse.de>
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.
2696 2006-08-10  Paolo Carlini  <pcarlini@suse.de>
2698         * include/tr1/random.tcc (gamma_distribution<>::operator()): Fixes
2699         from the Errata of Devroye's book.
2701 2006-08-10  Paolo Carlini  <pcarlini@suse.de>
2703         * include/bits/stl_bvector.h (_Bit_iterator_base::_M_incr(ptrdiff_t)):
2704         Tidy a bit, thus reducing generated code size.
2706 2006-08-09  Paolo Carlini  <pcarlini@suse.de>
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.
2716         * testsuite/23_containers/vector/bool/cons/1.cc: New.
2717         * testsuite/23_containers/vector/bool/cons/2.cc: Likewise.
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.
2723         * include/bits/stl_bvector.h (_M_initialize_range(_InputIterator,
2724         _InputIterator, std::input_iterator_tag)): Remove redundant
2725         assignments.
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.
2732 2006-08-09  Paolo Carlini  <pcarlini@suse.de>
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.
2739 2006-08-06  Paolo Carlini  <pcarlini@suse.de>
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.
2746 2006-08-05  Paolo Carlini  <pcarlini@suse.de>
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.
2753         * testsuite/23_containers/vector/bool/modifiers/insert/1.cc: New.
2754         * testsuite/23_containers/vector/bool/capacity/1.cc: Likewise.
2756 2006-08-04  Paolo Carlini  <pcarlini@suse.de>
2758         * include/bits/stl_queue.h (priority_queue<>::push,
2759         priority_queue<>::pop): Remove try/catch, just follow the
2760         letter of the Standard.
2762 2006-08-03  Paolo Carlini  <pcarlini@suse.de>
2764         * include/bits/stl_queue.h: Trivial formatting fixes.
2765         * include/bits/stl_stack.h: Likewise.
2767 2006-08-01  Ed Smith-Rowland  <3dw4rd@verizon.net>
2769         * docs/html/ext/tr1.html: Update.
2771 2006-07-31  Paolo Carlini  <pcarlini@suse.de>
2773         * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
2774         Find the decimal point in cs, instead of ws; tidy.
2776 2006-07-30  Roger Sayle  <roger@eyesopen.com>
2778         * include/ext/codevt_specializations.h (__iconv_adaptor): Use
2779         identifier _Tp instead of _T in template argument to avoid conflict.
2781 2006-07-30  Paolo Carlini  <pcarlini@suse.de>
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.
2787 2006-07-27  Benjamin Kosnik  <bkoz@wells.artheist.org>
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.
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.
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.
2806         * include/tr1/random: Convert std::tr1::_Private to anonymous
2807         namespace.
2808         * include/tr1/random.tcc: Same.
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.
2817         * include/tr1/cmath: Convert __gnu_internal to nested detail namespace.
2819         * include/bits/cpp_type_traits.h: Move __type_type into anonymous
2820         namespace.
2822         * include/ext/rope: Change _Rope_constants to anonymous namespace.
2823         * include/ext/ropeimpl.h: Same.
2824         * src/ext-inst.cc: Same.
2826 2006-07-24  Paolo Carlini  <pcarlini@suse.de>
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.
2833 2006-07-21  Benjamin Kosnik  <bkoz@redhat.com>
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.
2840 2006-07-21  Steve Ellcey  <sje@cup.hp.com>
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.
2857 2006-07-21  Jason Merrill  <jason@redhat.com>
2859         PR libstdc++/19664 round 2
2860         * libsupc++/eh_personality.cc: Wrap extern "C" function
2861         definitions in namespace __cxxabiv1.
2863 2006-07-21  David Daney  <ddaney@avtrex.com>
2865         PR libgcj/28426
2866         * acinclude.m4: Added a comment.
2868 2006-07-20  Benjamin Kosnik  <bkoz@redhat.com>
2869             Jakub Jelinek  <jakub@redhat.com>
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.
2893 2006-07-16  Paolo Carlini  <pcarlini@suse.de>
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.
2901 2006-07-15  Paolo Carlini  <pcarlini@suse.de>
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.
2910 2006-07-14  Benjamin Kosnik  <bkoz@redhat.com>
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.
2926         * scripts/testsuite_flags.in: Make --cxxflags reflect CXXFLAGS.
2928 2006-07-14  Paolo Carlini  <pcarlini@suse.de>
2930         * include/tr1/random (minstd_rand0, minstd_rand, ranlux3, ranlux4):
2931         Use unsigned long as implementation-defined type.
2933 2006-07-14  Paolo Carlini  <pcarlini@suse.de>
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.
2940         * include/tr1/random.tcc (subtract_with_carry<>::
2941         seed(unsigned long)): Fix value == 0 special case.
2943         * include/tr1/random (struct _Shift): Fix for large shifts.
2945 2006-07-13  Paolo Carlini  <pcarlini@suse.de>
2947         * testsuite/performance/21_strings/string_copy_cons_and_dest.cc: New.
2949 2006-07-13  Benjamin Kosnik  <bkoz@redhat.com>
2951         * include/Makefile.am (pch*_output_anchor): Add.
2952         (pch*_output): Use.
2953         (CLEANFILES): Use.
2954         * include/Makefile.in: Regenerate.
2956         * scripts/check_performance: Be verbose on compile error.
2958 2006-07-12  Benjamin Kosnik  <bkoz@redhat.com>
2960         * include/Makefile.am: Revert last change.
2961         * include/Makefile.in: Same.
2963 2006-07-12  Benjamin Kosnik  <bkoz@redhat.com>
2965         * include/Makefile.am (pch_output): Don't precompile extc++.h.
2966         (pch_output_dirs): Same.
2967         * include/Makefile.in: Regenerate.
2969         * testsuite/lib/libstdc++.exp: Test PCH with stdtr1c++.h.
2971 2006-07-11  Paolo Carlini  <pcarlini@suse.de>
2973         * include/ext/codecvt_specializations.h: Fix typo in commit
2974         for libstdc++/28290.
2976 2006-07-11  Paolo Carlini  <pcarlini@suse.de>
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.
2982 2006-07-11  Paolo Carlini  <pcarlini@suse.de>
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.
2989 2006-07-11  Paolo Carlini  <pcarlini@suse.de>
2991         PR libstdc++/28290
2992         * include/ext/codecvt_specializations.h: Fix, adding missing
2993         includes and guards.
2995 2006-07-11  Paolo Carlini  <pcarlini@suse.de>
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.
3004 2006-07-10  Mike Stump  <mrs@apple.com>
3006         * libsupc++/eh_globals.cc (~__eh_globals_init): Unset _M_init.
3008 2006-07-10  Benjamin Kosnik  <bkoz@redhat.com>
3010         PR libstdc++/15448
3011         * include/Makefile.am: Clean up pch rules.
3012         * include/Makefile.in: Regenerate.
3014 2006-07-09  Paolo Carlini  <pcarlini@suse.de>
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.
3027 2006-07-06  Paolo Carlini  <pcarlini@suse.de>
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.
3036 2006-07-06  Benjamin Kosnik  <bkoz@redhat.com>
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.
3048 2006-07-05  Benjamin Kosnik  <bkoz@redhat.com>
3050         * include/Makefile.am (pch_output): New.
3051         (clean-local): Use it.
3052         * include/Makefile.in: Regenerate.
3054 2006-07-04  Paolo Carlini  <pcarlini@suse.de>
3056         * include/tr1/random (_Adaptor<>::operator()()): Cast 1 to
3057         result_type.
3058         (variate_generator<>::operator()(),
3059         variate_generator<>::operator()(_Tp)): Inline.
3061         * include/tr1/random: Minor cosmetic changes.
3063 2006-07-03  Paolo Carlini  <pcarlini@suse.de>
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.
3069 2006-07-03  Ian Lance Taylor  <ian@airs.com>
3070             Paolo Carlini  <pcarlini@suse.de>
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.
3077 2006-07-03  Paolo Carlini  <pcarlini@suse.de>
3079         * include/ext/sso_string_base.h (__sso_string_base::_M_create): Never
3080         allocate a string bigger than _S_max_size.
3082 2006-06-29  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
3099         * testsuite/lib/libstdc++.exp (libstdc++_init): Set PCH_CXXFLAGS
3100         to -include bits/stdtr1c++.h.
3102 2006-06-29  Benjamin Kosnik  <bkoz@redhat.com>
3104         * testsuite/lib/libstdc++.exp (v3_target_compile): Set timeout to
3105         600.
3107 2006-06-27  Benjamin Kosnik  <bkoz@redhat.com>
3109         * testsuite/util/regression/rand/priority_queue/
3110         rand_regression_test.hpp: Revert.
3112 2006-06-27  Benjamin Kosnik  <bkoz@redhat.com>
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.
3134 2006-06-26  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
3152 2006-06-25  Paolo Carlini  <pcarlini@suse.de>
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.
3176 2006-06-24  Paolo Carlini  <pcarlini@suse.de>
3178         * include/tr1/random (class normal_distribution<>): Add.
3179         * include/tr1/random.tcc (normal_distribution<>::operator()): Define.
3181         * include/tr1/random.tcc (struct _Max): Remove, "inline" in the
3182         only user, mersenne_twister<>::max().
3184         * include/tr1/random.tcc (struct _Shift): Move...
3185         * include/tr1/random: ... here.
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.
3192         * include/tr1/random (exponential_distribution<>::
3193         exponential_distribution(const result_type&)): Add missing
3194         _GLIBCXX_DEBUG_ASSERT.
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.
3205 2006-06-23  Benjamin Kosnik  <bkoz@redhat.com>
3207         PR libstdc++/27984
3208         * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust
3209         testing includes.
3210         * docs/html/test.html: Adjust for testsuite changes.
3212 2006-06-22  Jonathan Lennox  <lennox@cs.columbia.edu>
3213             Paolo Carlini  <pcarlini@suse.de>
3215         * include/ext/pb_ds/detail/resize_policy/
3216         hash_prime_size_policy_imp.hpp: Cast to size_t instead.
3218 2006-06-22  Ami Tavory  <atavory@gmail.com>
3220         * include/ext/pb_ds/detail/resize_policy/
3221         hash_prime_size_policy_imp.hpp: Fix for 64-bit machines.
3223 2006-06-21  Paolo Carlini  <pcarlini@suse.de>
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.
3229 2006-06-21  Mark Mitchell  <mark@codesourcery.com>
3231         * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): When
3232         cross-compiling, put headers in $prefix/$target/include/c++.
3233         * configure: Regenerated.
3235 2006-06-20  Paolo Carlini  <pcarlini@suse.de>
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.
3244 2006-06-20  Vladimir Prus  <vladimir@codesourcery.com>
3246         * libsupc++/eh_arm.cc (__cxa_begin_cleanup): Always return 'true'.
3248 2006-06-19  Paolo Carlini  <pcarlini@suse.de>
3250         * include/tr1/random (xor_combine<>::operator<<): Fix typo.
3252         * include/tr1/random (bernoulli_distribution::min(),
3253         bernoulli_distribution::max(), geometric_distribution<>::min(),
3254         geometric_distribution<>::max()): Remove.
3256         * include/tr1/random (geometric_distribution<>::operator()):
3257         Simplify formula.
3259         * include/tr1/random: Minor cosmetic changes.
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.
3274 2006-06-17  Ami Tavory  <atavory@gmail.com>
3275             Paolo Carlini  <pcarlini@suse.de>
3277         * testsuite/util/rng/twister_rand_gen.cc: Adapt to simply use
3278         tr1::mt19937.
3279         * testsuite/util/rng/twister_rand_gen.hpp: Likewise.
3281 2006-06-16  Paolo Carlini  <pcarlini@suse.de>
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.
3289         * include/tr1/random (class uniform_real<>): Minor cosmetic tweaks.
3291 2006-06-16  Paolo Carlini  <pcarlini@suse.de>
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.
3308 2006-06-15  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
3320 2006-06-15  Paolo Carlini  <pcarlini@suse.de>
3322         * include/tr1/random.tcc (mersenne_twister<>::operator()()):
3323         Reload the last position of the _M_x vector too.
3325 2006-06-15  Paolo Carlini  <pcarlini@suse.de>
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.
3333         * include/tr1/random: Minor cosmetic changes.
3335 2006-06-14  Ami Tavory  <atavory@gmail.com>
3336             Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
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.
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.
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.
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
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.
4211 2006-06-12  Paolo Carlini  <pcarlini@suse.de>
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.
4224 2006-06-09  Paolo Carlini  <pcarlini@suse.de>
4226         * include/tr1/random (random_device::random_device(const
4227         std::string& = "/dev/urandom")): Open in binary mode.
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.
4234         * include/tr1/random: Minor stylistic changes, consistently
4235         qualify with std::.
4237 2006-06-09  Paolo Carlini  <pcarlini@suse.de>
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.
4253         * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
4254         cons/gen1.cc: Minor tweak, add bool test.
4256 2006-06-06  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
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.
4286 2006-06-06  Paolo Carlini  <pcarlini@suse.de>
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.
4297         * include/tr1/random (subtract_with_carry<>::operator==): Fix,
4298         compare the whole state; use std::equal.
4300         * include/tr1/random: Minor formatting and style changes.
4302 2006-06-06  Benjamin Kosnik  <bkoz@redhat.com>
4304         * testsuite/tr1/5_numerical_facilies: Move to...
4305         * testsuite/tr1/5_numerical_facilities: ...this.
4307 2006-06-06  Paolo Carlini  <pcarlini@suse.de>
4309         * include/tr1/random: Trivial uglification fixes.
4310         * include/tr1/random.tcc: Likewise.
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.
4318 2006-06-05  Paolo Carlini  <pcarlini@suse.de>
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.
4330         * include/tr1/random (exponential_distribution<>::operator()()): Fix.
4332 2006-06-05  Paolo Carlini  <pcarlini@suse.de>
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.
4344 2006-06-05  Stephen M. Webb  <stephen.webb@bregmasoft.com>
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.
4417 2006-06-04  Paolo Carlini  <pcarlini@suse.de>
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.
4424 2006-05-29  Paolo Carlini  <pcarlini@suse.de>
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.
4436 2006-05-27  Paolo Carlini  <pcarlini@suse.de>
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.
4446 2006-05-26  Carlos O'Donell  <carlos@codesourcery.com>
4448         * Makefile.am: Add install-html target. Add install-html to .PHONY
4449         * Makefile.in: Regenerate.
4451 2006-05-24  Paolo Carlini  <pcarlini@suse.de>
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.
4470 2006-05-23  Paolo Carlini  <pcarlini@suse.de>
4472         * testsuite/testsuite_shared.cc: Fix --enable-threads=single build.
4474 2006-05-19  Paolo Carlini  <pcarlini@suse.de>
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.
4488 2006-05-17  Paolo Carlini  <pcarlini@suse.de>
4490         * include/tr1/hashtable (hashtable<>::m_find): Remove; update callers.
4492         * include/tr1/hashtable (map_base<>::operator[]): Move out of line.
4494         * include/tr1/hashtable (hashtable<>::m_insert(const value_type&,
4495         std::tr1::false_type)): Avoid memory leak risk for new_node.
4497 2006-05-15  Paolo Carlini  <pcarlini@suse.de>
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.
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.
4510 2006-05-13  Peter Doerfler  <gcc@pdoerfler.com>
4512         * include/tr1/hashtable (identity<>::operator(),
4513         extract1st<>::operator()): Return by const ref.
4515 2006-05-10  Steve Ellcey  <sje@cup.hp.com>
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.
4522 2006-05-10  Paolo Carlini  <pcarlini@suse.de>
4523             Peter Doerfler  <gcc@pdoerfler.com>
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.
4535 2006-05-10  Marc Glisse  <marc.glisse@normalesup.org>
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.
4548 2006-05-07  Paolo Carlini  <pcarlini@suse.de>
4550         * include/tr1/type_traits (integral_constant<>::value): Define.
4551         * testsuite/tr1/4_metaprogramming/helper_classes/static_definition.cc:
4552         New.
4554 2006-05-04  Douglas Gregor  <dgregor@cs.indiana.edu>
4556         PR libstdc++/27404
4557         * include/ext/rope (_Rope_const_iterator<>::operator*() const,
4558         _Rope_iterator<>::operator*() const): Add.
4560 2006-05-01  Paolo Carlini  <pcarlini@suse.de>
4562         * acinclude.m4 (GLIBCXX_ENABLE_WCHAR_T): Always check the
4563         presence of wctype.h, for use in GLIBCXX_ENABLE_C99.
4564         * configure: Regenerate.
4566 2006-04-29  Paolo Carlini  <pcarlini@suse.de>
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.
4573 2006-04-27  Benjamin Kosnik  <bkoz@redhat.com>
4575         * docs/html/17_intro/TODO: Update.
4577 2006-04-26  Benjamin Kosnik  <bkoz@redhat.com>
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.
4584 2006-04-26  Shantonu Sen  <ssen@opendarwin.org>
4586         PR libstdc++/26513
4587         * scripts/make_exports.pl: Use $ENV{NM_FOR_TARGET}, if present.
4589 2006-04-23  Marc Glisse  <marc.glisse@normalesup.org>
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.
4603 2006-04-23  Paolo Carlini  <pcarlini@suse.de>
4605         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 42.
4607 2006-04-19  Paolo Carlini  <pcarlini@suse.de>
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.
4614 2006-04-18  Paolo Carlini  <pcarlini@suse.de>
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.
4620 2006-04-16  Paolo Carlini  <pcarlini@suse.de>
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.
4629 2006-04-14  Douglas Gregor  <dgregor@cs.indiana.edu>
4631         PR libstdc++/27162
4632         * include/bits/stl_algo.h (__search_n(,,,, _BinaryPredicate,
4633         std::forward_iterator_tag)): Use __binary_pred, not ==.
4635 2006-04-10  Matthias Klose  <doko@debian.org>
4637         * testsuite/lib/libstdc++.exp (libstdc++_init): Recognize multilib
4638         directory names containing underscores.
4640 2006-04-10  Paolo Carlini  <pcarlini@suse.de>
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.
4650 2006-03-29  Benjamin Kosnik  <bkoz@redhat.com>
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.
4671 2006-03-28  Paolo Carlini  <pcarlini@suse.de>
4673         * include/ext/vstring.h (operator[]): Allow s[s.size()] in
4674         debug mode, but not pedantic mode.
4676 2006-03-24  Mark Mitchell  <mark@codesourcery.com>
4677             Joseph S. Myers  <joseph@codesourcery.com>
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.
4686 2006-03-22  Paolo Carlini  <pcarlini@suse.de>
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.
4693 2006-03-21  Paolo Carlini  <pcarlini@suse.de>
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.
4729 006-03-13  Paolo Carlini  <pcarlini@suse.de>
4731         * include/bits/postypes.h (fpos<>::operator==, operator!=): Remove,
4732         exploit conversion to streamoff.
4733         * testsuite/27_io/fpos/mbstate_t/5.cc: New.
4735 2006-03-12  Howard Hinnant  <hhinnant@apple.com>
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.
4742 2006-03-10  Paolo Carlini  <pcarlini@suse.de>
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.
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.
4760         * include/tr1/ctgmath: New.
4761         * include/tr1/tgmath.h: Likewise.
4762         * include/Makefile.am: Add.
4763         * testsuite/tr1/headers.cc: Update.
4765         * include/Makefile.in: Regenerate.
4766         * configure: Likewise.
4768         * docs/html/ext/tr1.html: Update.
4770 2006-03-08  Paolo Carlini  <pcarlini@suse.de>
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.
4778 2006-03-07  Paolo Carlini  <pcarlini@suse.de>
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.
4784         * testsuite/tr1/8_c_compatibility/cmath/functions.cc: Tweak.
4785         * testsuite/tr1/8_c_compatibility/complex/overloads_float.cc: Likewise.
4787 2006-03-06  Paolo Carlini  <pcarlini@suse.de>
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.
4799 2006-03-03  Paolo Carlini  <pcarlini@suse.de>
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.
4808 2006-03-02  Paolo Carlini  <pcarlini@suse.de>
4810         * config/abi/pre/gnu.ver: Adjust __copy_streambufs_eof export
4811         vs 64-bit arches.
4813 2006-03-01  Paolo Carlini  <pcarlini@suse.de>
4815         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 41.
4817 2006-02-27  Jakub Jelinek  <jakub@redhat.com>
4819         PR other/26208
4820         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
4821         _Unwind_GetIPInfo instead of _Unwind_GetIP.
4823 2006-02-27  Paolo Carlini  <pcarlini@suse.de>
4825         PR libstdc++/14866
4826         * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Redirect
4827         stderr instead.
4829 2006-02-26  Paolo Carlini  <pcarlini@suse.de>
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.
4843 2006-02-24  Paolo Carlini  <pcarlini@suse.de>
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.
4853 2006-02-23  Benjamin Kosnik  <bkoz@redhat.com>
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.
4861 2006-02-22  Paolo Carlini  <pcarlini@suse.de>
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.
4882 2006-02-22  Paolo Carlini  <pcarlini@suse.de>
4884         PR libstdc++/26132
4885         * include/tr1/hashtable (hashtable<>::rehash): Define.
4886         * testsuite/tr1/6_containers/unordered/hashtable/26132.cc: New.
4888         * include/tr1/hashtable: Trivial formatting and stylistic fixes.
4890         * testsuite/tr1/headers.cc: remove <tr1/hashtable>, not a tr1 header,
4891         only an implementation detail.
4893 2006-02-22  Paolo Carlini  <pcarlini@suse.de>
4895         * include/debug/list (splice): Remove splice_alloc check, redundant
4896         after implementing the splice bits of N1599.
4898 2006-02-21  Benjamin Kosnik  <bkoz@redhat.com>
4900         * include/c_std/cmath.tcc: Use _GLIBCXX_BEGIN_NAMESPACE,
4901         _GLIBCXX_END_NAMESPACE.
4903 2006-02-21  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
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.
4956 2006-02-21  Paolo Carlini  <pcarlini@suse.de>
4958         * include/tr1/hashtable: Trivial formatting fixes.
4960 2006-02-20  Paolo Carlini  <pcarlini@suse.de>
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.
4977 2006-02-19  Paolo Carlini  <pcarlini@suse.de>
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.
4984 2006-02-17  Paolo Carlini  <pcarlini@suse.de>
4985             Howard Hinnant  <hhinnant@apple.com>
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.
4994         * docs/html/ext/howto.html: Add entries for DR 169 and DR 432.
4996         * include/std/std_sstream.h (basic_stringbuf<>::_M_sync): Move out
4997         of line...
4998         * include/bits/sstream.tcc: ... here.
5000 2006-02-16  Joseph S. Myers  <joseph@codesourcery.com>
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.
5012 2006-02-12  Paolo Carlini  <pcarlini@suse.de>
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.
5029 2006-02-10  Paolo Carlini  <pcarlini@suse.de>
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.
5049 2006-02-08  Benjamin Kosnik  <bkoz@redhat.com>
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.
5090 2006-02-08  Paolo Carlini  <pcarlini@suse.de>
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.
5105         * testsuite/25_algorithms/unique_copy/1.cc: Minor cosmetic changes.
5107 2006-02-07  Jakub Jelinek  <jakub@redhat.com>
5108             Benjamin Kosnik  <bkoz@redhat.com>
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.
5166 2006-02-07  Paolo Carlini  <pcarlini@suse.de>
5168         * include/tr1/hashtable: Trivial formatting fixes.
5170 2006-02-07  Paolo Carlini  <pcarlini@suse.de>
5171             Zak Kipling  <zak@transversal.com>
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.
5178 2006-02-07  Paolo Carlini  <pcarlini@suse.de>
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.
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.
5197         * docs/html/ext/tr1.html: Update.
5199         * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Tweak.
5201         * include/Makefile.in: Regenerate.
5202         * config.h.in: Likewise.
5203         * configure: Likewise.
5205 2006-02-07  Mark Mitchell  <mark@codesourcery.com>
5207         * testsuite/testsuite_tr1.h (test_property): New function.
5208         * testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc
5209         (test01)
5211 2006-02-05  Paolo Carlini  <pcarlini@suse.de>
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.
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.
5228         * include/Makefile.in: Regenerate.
5229         * config.h.in: Likewise.
5230         * configure: Likewise.
5232 2006-02-04  Paolo Carlini  <pcarlini@suse.de>
5234         * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Fix.
5236 2006-02-04  Paolo Carlini  <pcarlini@suse.de>
5238         * testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc: Avoid
5239         warning on string constant.
5241 2006-02-03  Paolo Carlini  <pcarlini@suse.de>
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.
5258         * testsuite/tr1/8_c_compatibility/cctype/functions.cc: Cosmetic tweak.
5260 2006-02-02  Paolo Carlini  <pcarlini@suse.de>
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.
5277         * include/tr1/cctype: Include <cctype> instead.
5279 2006-01-31  Paolo Carlini  <pcarlini@suse.de>
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.
5285 2006-01-31  Ed Smith-Rowland  <3dw4rd@verizon.net>
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.
5294 2006-01-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
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.
5303 2006-01-30  Paolo Carlini  <pcarlini@suse.de>
5305         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Do the <inttypes.h>
5306         checks only if the <stdint.h> checks are successful.
5307         * configure: Regenerate.
5309 2006-01-30  Paolo Carlini  <pcarlini@suse.de>
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.
5321         * testsuite/tr1/8_c_compatibility/cfenv/functions.cc: Cosmetic tweak.
5322         * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Likewise.
5324         * testsuite/tr1/8_c_compatibility/cstdint/types.cc: Fix, check in
5325         std::tr1.
5327 2006-01-29  Paolo Carlini  <pcarlini@suse.de>
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.
5338         * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Cosmetic tweak.
5340 2006-01-29  Paolo Carlini  <pcarlini@suse.de>
5342         PR libstdc++/26006
5343         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Tighten <ctype.h> and
5344         <fenv.h> checks.
5345         * configure: Regenerate.
5347 2006-01-26  Paolo Carlini  <pcarlini@suse.de>
5349         * include/std/std_bitset.h (bitset<>::_M_copy_to_string):
5350         Call the internal _Unchecked_set(size_t) instead of set.
5352 2006-01-26  Paolo Carlini  <pcarlini@suse.de>
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.
5358 2006-01-26  Paolo Carlini  <pcarlini@suse.de>
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.
5370         * testsuite/tr1/8_c_compatibility/complex/functions.cc: Tweak.
5371         * testsuite/tr1/8_c_compatibility/cctype/functions.cc: Likewise.
5373         * docs/html/faq/index.html: Fix link to tr1.html text; fix
5374         formatting.
5376 2006-01-25  Paolo Carlini  <pcarlini@suse.de>
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.
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.
5390 2006-01-25  Benjamin Kosnik  <bkoz@redhat.com>
5392         * docs/html/configopts.html: Tweak docs.
5394         * libsupc++/eh_personality.cc: Fix typos.
5396 2006-01-24  Paolo Carlini  <pcarlini@suse.de>
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.
5406 2006-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
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.
5413 2006-01-20  Benjamin Kosnik  <bkoz@redhat.com>
5415         * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Verbose ld version
5416         reporting.  Disable --gc-sections for old binutils, by version.
5417         * configure: Regenerate.
5419 2006-01-20  Joseph S. Myers  <joseph@codesourcery.com>
5421         PR libstdc++/25524
5422         * include/Makefile.am: Install host-specific headers in multilib
5423         subdirectory.
5424         * include/Makefile.in: Regenerate.
5426 2006-01-19  Paolo Carlini  <pcarlini@suse.de>
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.
5436 2006-01-19  H.J. Lu  <hongjiu.lu@intel.com>
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.
5443 2006-01-18  Paul Brook  <paul@codesourcery.com>
5445         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use std::abort.
5447 2006-01-18  Paolo Carlini  <pcarlini@suse.de>
5449         * include/bits/allocator.h: Include <bits/cpp_type_traits.h>.
5451 2006-01-18  Perry Smith  <pedz@easesoftware.net>
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.
5458 2006-01-18  Paolo Carlini  <pcarlini@suse.de>
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.
5468 2006-01-16  Benjamin Kosnik  <bkoz@redhat.com>
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.
5475 2006-01-15  Paolo Carlini  <pcarlini@suse.de>
5476             Gabriel Dos Reis  <gdr@integrable-solutions.net>
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.
5488 2006-01-15  Paolo Carlini  <pcarlini@suse.de>
5490         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc:
5491         Fix norm test, use casts everywhere.
5493 2006-01-14  Paolo Carlini  <pcarlini@suse.de>
5495         * testsuite/testsuite_tr1.h: Add missing include; use std::__are_same.
5497 2006-01-14  Paolo Carlini  <pcarlini@suse.de>
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.
5503 2006-01-13  Paolo Carlini  <pcarlini@suse.de>
5504             Howard Hinnant  <hhinnant@apple.com>
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.
5516 2006-01-12  Benjamin Kosnik  <bkoz@redhat.com>
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.
5526 2006-01-12  Jan Beulich  <jbeulich@novell.com>
5528         * crossconfig.m4: Add AC_DEFINE-s for HAVE_HYPOT, HAVE_ISINF, and
5529         HAVE_ISNAN for *-*-netware*.
5530         * configure: Refresh.
5532 2006-01-11  Benjamin Kosnik  <bkoz@redhat.com>
5534         * acinclude.m4(GLIBCXX_CHECK_LINKER_FEATURES): Use -Wl,-z,relro if
5535         possible.
5536         * configure: Regenerate.
5538 2006-01-10  Paolo Carlini  <pcarlini@suse.de>
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.
5546 2006-01-09  Paolo Carlini  <pcarlini@suse.de>
5548         PR libstdc++/25658
5549         * testsuite/23_containers/deque/cons/assign/1.cc: Divide
5550         sizes by 10.
5552 2006-01-08  Paolo Carlini  <pcarlini@suse.de>
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.
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.
5570 2006-01-06  Paolo Carlini  <pcarlini@suse.de>
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.
5580 2006-01-06  Paolo Carlini  <pcarlini@suse.de>
5582         * include/bits/stl_bvector.h (vector<bool>::erase(iterator,
5583         iterator)): Just use _M_erase_at_end.
5585 2006-01-06  Paolo Carlini  <pcarlini@suse.de>
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.
5595 2006-01-06  Paolo Carlini  <pcarlini@suse.de>
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.
5609 2006-01-05  Paolo Carlini  <pcarlini@suse.de>
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.
5669 2006-01-05  Paolo Carlini  <pcarlini@suse.de>
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.
5728 2006-01-04  Paolo Carlini  <pcarlini@suse.de>
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.
5735 2006-01-04  Paolo Carlini  <pcarlini@suse.de>
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.
5791 2006-01-03  Paolo Carlini  <pcarlini@suse.de>
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.
5807         * testsuite/testsuite_allocator.h (uneq_allocator<>::swap): Fix.
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.
5813 2006-01-03  Paolo Carlini  <pcarlini@suse.de>
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.
5820 2006-01-02  Mark Mitchell  <mark@codesourcery.com>
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.
5829 2006-01-02  Paolo Carlini  <pcarlini@suse.de>
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.
5853 Copyright (C) 2006 Free Software Foundation, Inc.
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.