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