OSDN Git Service

toplevel:
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2
3         * crossconfig.m4 (*-netware): Remove.
4         * configure: Regenerate.
5
6 2011-07-15  Yufeng Zhang  <yufeng.zhang@arm.com>
7
8         * config/locale/newlib/ctype_members.cc: New file.
9         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale
10         kind: newlib.  Configure to use the newlib specific
11         ctype_members.cc when with_newlib is enabled.
12         * configure: Regenerate.
13
14 2011-07-15  Paolo Carlini  <paolo.carlini@oracle.com>
15             Jakub Jelinek  <jakub@redhat.com>
16
17         PR libstdc++/49745
18         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check separately for
19         _POSIX_TIMEOUTS and define _GTHREADS_USE_MUTEX_TIMEDLOCK.
20         * libsupc++/guard.cc: Include <unistd.h>.
21         * testsuite/17_intro/headers/c++1998/49745.cc: New.
22         * configure: Regenerate.
23         * config.h.in: Likewise.
24
25 2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>
26
27         PR libstdc++/49559
28         * include/bits/stl_algo.h (__move_merge_backward): Remove.
29         (__move_merge_adaptive, __move_merge_adaptive_backward): New.
30         (__merge_adaptive): Use the latter two.
31         (__rotate_adaptive): Avoid self move-assignment.
32         * include/bits/stl_algobase.h (move_backward): Fix comment.
33         * testsuite/25_algorithms/stable_sort/49559.cc: New.
34         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
35         * testsuite/25_algorithms/inplace_merge/moveable.cc: Extend.
36         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
37         * testsuite/util/testsuite_rvalref.h (rvalstruct::operator=
38         (rvalstruct&&)): Check for self move-assignment.
39
40 2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>
41
42         * testsuite/util/testsuite_allocator.h (propagating_allocator<>::
43         operator=(const propagating_allocator<>&)): Retun *this.
44
45 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
46
47         * include/Makefile.am: Add new header.
48         * include/Makefile.in: Regenerate.
49         * include/std/scoped_allocator: New.
50         * doc/xml/manual/status_cxx200x.xml: Update.
51         * testsuite/20_util/scoped_allocator/1.cc: New.
52         * testsuite/20_util/scoped_allocator/propagation.cc: New.
53         * testsuite/20_util/scoped_allocator/requirements/typedefs.cc: New.
54         * testsuite/20_util/scoped_allocator/requirements/
55         explicit_instantiation.cc: New.
56
57 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
58
59         * include/bits/stl_vector.h: Use new allocator model in C++0x mode.
60         * include/bits/vector.tcc: Likewise.
61         * testsuite/util/testsuite_allocator.h (propagating_allocator): Define.
62         * testsuite/23_containers/vector/allocator/copy_assign.cc: New.
63         * testsuite/23_containers/vector/allocator/noexcept.cc: New.
64         * testsuite/23_containers/vector/allocator/copy.cc: New.
65         * testsuite/23_containers/vector/allocator/swap.cc: New.
66         * testsuite/23_containers/vector/allocator/move_assign.cc: New.
67         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
68         Adjust dg-error line numbers.
69         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
70         Likewise.
71         * testsuite/23_containers/vector/requirements/dr438/
72         constructor_1_neg.cc: Likewise.
73         * testsuite/23_containers/vector/requirements/dr438/
74         constructor_2_neg.cc: Likewise.
75
76 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
77
78         * include/ext/alloc_traits.h (__allocator_always_compares_equal): New
79         trait, provide partial specializations for known allocators.
80         (__alloc_traits::construct, __alloc_traits::destroy): Overload for
81         non-standard pointer types.
82         (__alloc_traits::_S_always_equal): New trait for use with noexcept.
83         (__alloc_traits::_S_nothrow_move): Likewise.
84         (__alloc_traits::_S_nothrow_swap): Likewise.
85
86 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
87
88         * include/ext/cast.h: Fix typo in include guard.
89         * include/ext/pointer.h (_Unqualified_type): Remove redundant
90         partial specializations for volatile types. Fix typos in comments.
91         (pointer_traits<_Pointer_adaptor<Tp>>::pointer_to): Define.
92
93 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
94
95         PR libstdc++/49668
96         * include/std/functional (__bind_simple): Define.
97         * include/std/future (_Task_setter): Parameterize by type of result
98         pointer instead of state object.
99         (_S_task_setter): Type deduction helper.
100         (_Task_state): Use _S_task_setter and __bind_simple.
101         (_Deferred_state, _Async_state): Store call wrapper directly not as
102         std::function. Use _S_task_setter and __bind_simple.
103         (_S_make_deferred_state, _S_make_async_state): Type deduction helpers.
104         (async): Use new functions and __bind_simple.
105         * include/std/mutex (call_once): Use __bind_simple.
106         * include/std/thread (thread): Likewise. Remove unused headers.
107         * src/thread.cc: Add header.
108         * testsuite/30_threads/async/49668.cc: New.
109         * testsuite/30_threads/call_once/49668.cc: New.
110         * testsuite/30_threads/thread/cons/49668.cc: New.
111         * testsuite/30_threads/thread/cons/moveable.cc: Remove unused bool.
112
113 2011-07-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
114
115         * configure.host (abi_baseline_subdir_switch): Describe.
116         Provide default.
117         (*-*-solaris2.[89], *-*-solaris2.1[0-9]): Override.
118         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Substitute
119         baseline_subdir_switch.
120         * testsuite/Makefile.am (site.exp): Emit it.
121         (baseline_subdir): Use it.
122         * testsuite/libstdc++-abi/abi.exp: Use it.
123         * configure: Regenerate.
124         * Makefile.in: Regenerate.
125         * doc/Makefile.in: Regenerate.
126         * include/Makefile.in: Regenerate.
127         * libsupc++/Makefile.in: Regenerate.
128         * po/Makefile.in: Regenerate.
129         * python/Makefile.in: Regenerate.
130         * src/Makefile.in: Regenerate.
131         * testsuite/Makefile.in: Regenerate.
132
133 2011-06-29  François Dumont  <francois.cppdevs@free.fr>
134
135         * include/debug/set.h, unordered_map, multiset.h, forward_list,
136         unordered_set, vector, deque, string, list, multimap.h: Remove
137         base class default constructor calls.
138         * include/debug/map.h: Likewise and cleanup several redefinition of
139         base iterator typedef.
140
141 2011-06-29  Nathan Sidwell  <nathan@codesourcery.com>
142
143         * libsupc++/eh_arm.c (__cxa_type_match): Construct address of
144         thrown object here.  Return succeded_with_ptr_to_base for all
145         pointer cases.
146
147 2011-06-23  Jonathan Wakely  <jwakely.gcc@gmail.com>
148
149         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Fix for
150         C++0x mode.
151         * testsuite/25_algorithms/sort/35588.cc: Likewise.
152         * testsuite/26_numerics/headers/complex/synopsis.cc: Likewise.
153
154 2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
155
156         * testsuite/20_util/bind/socket.cc: Use variable and remove attribute.
157
158 2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
159
160         * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Avoid -Wall
161         warning.
162
163 2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
164
165         * testsuite/20_util/reference_wrapper/invoke.cc: Avoid -Wall warnings.
166         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Likewise.
167         * testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
168         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
169         Likewise.
170         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
171         * testsuite/20_util/bind/socket.cc: Likewise.
172         * testsuite/20_util/pointer_traits/pointer_to.cc: Likewise.
173         * testsuite/util/testsuite_random.h: Likewise.
174
175 2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
176
177         * include/Makefile.am: Add alloc_traits.h headers.
178         * include/Makefile.in: Regenerate.
179         * include/std/memory: Include uses_allocator.h explicitly.
180         * include/bits/allocator.h (allocator_traits): Move to ...
181         * include/bits/alloc_traits.h: New header.
182         * include/ext/alloc_traits.h (__alloc_traits): Extension to provide
183         a common allocator interface for C++98 and C++0x.
184         * include/bits/stl_construct.h: Use __alloc_traits.
185         * include/bits/stl_uninitialized.h: Likewise.
186
187 2011-06-22  Daniel Krugler  <daniel.kruegler@googlemail.com>
188             Paolo Carlini  <paolo.carlini@oracle.com>
189
190         * include/bits/move.h (__is_nothrow_swappable): Add.
191         (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Use noexcept.
192         * include/bits/algorithmfwd.h: Adjust.
193         * testsuite/25_algorithms/swap/noexcept.cc: New.
194
195 2011-06-21  Jakub Jelinek  <jakub@redhat.com>
196
197         * testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add
198         check-DEJAGNUnormal[4-9].
199         (check-DEJAGNU): Split into 10 jobs for parallel testing instead of 4.
200         * testsuite/Makefile.in: Regenerated.
201
202 2011-06-20  Daniel Krugler  <daniel.kruegler@googlemail.com>
203             Paolo Carlini  <paolo.carlini@oracle.com>
204
205         * include/std/tuple (__conv_types, __one_by_one_convertible,
206         __all_convertible): Add.
207         (tuple): Use the latter.
208         (tuple<_T1>): Remove.
209         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error
210         line number.
211         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
212
213 2011-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
214
215         * include/bits/ptr_traits.h (pointer_traits<T*>::pointer_to): Use
216         noexcept.
217
218 2011-06-14  Paolo Carlini  <paolo.carlini@oracle.com>
219
220         * include/std/valarray (~valarray): Use noexcept.
221         * include/bits/unique_ptr.h (~unique_ptr): Likewise.
222         * testsuite/26_numerics/valarray/noexcept_move_construct.cc: New.
223         * testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc:
224         Likewise.
225         * testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc:
226         Likewise.
227         * testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc:
228         Likewise.
229
230 2011-06-14  Paolo Carlini  <paolo.carlini@oracle.com>
231
232         * include/std/functional: Use noexcept.
233         * include/bits/stl_tempbuf.h: Likewise.
234
235 2011-06-12  François Dumont  <francois.cppdevs@free.fr>
236             Paolo Carlini  <paolo.carlini@oracle.com>
237
238         * include/bits/allocator.h (__shrink_to_fit): Rename to
239         __shrink_to_fit_aux, fix.
240         * include/bits/stl_vector.h (_M_shrink_to_fit): Declare.
241         (shrink_to_fit): Use the latter.
242         * include/debug/vector (shrink_to_fit): Likewise.
243         * include/bits/vector.tcc (_M_shrink_to_fit): Define.
244         * include/bits/stl_deque.h (_M_shrink_to_fit): Declare.
245         (shrink_to_fit): Use the latter.
246         * include/debug/deque (shrink_to_fit): Likewise.
247         * include/bits/deque.tcc (_M_shrink_to_fit): Define.
248         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Add.
249         * include/bits/stl_bvector.h (_M_shrink_to_fit): Declare.
250         (shrink_to_fit): Use the latter.
251         (reserve): Use _M_reallocate, move inline.
252         (_Bvector_base<>::_S_nword): Add, use it throughout.
253         * include/debug/string (shrink_to_fit): Redo.
254         * include/ext/vstring.h (shrink_to_fit): Optimize.
255         * include/bits/basic_string.h (shrink_to_fit): Likewise.
256         * testsuite/21_strings/debug/shrink_to_fit.cc: New.
257         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
258         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc:
259         Likewise.
260         * testsuite/23_containers/vector/bool/capacity/shrink_to_fit.cc:
261         Likewise.
262         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
263
264 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
265
266         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Fix for
267         C++0x mode.
268         * testsuite/25_algorithms/sort/35588.cc: Likewise.
269         * testsuite/26_numerics/headers/complex/synopsis.cc: Likewise.
270
271 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
272
273         * include/ext/extptr_allocator.h (construct, destroy): Fix for C++0x
274         mode by overloading to take allocator's pointer type.
275         * testsuite/23_containers/vector/ext_pointer/types/2.cc: New.
276         * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
277         2.cc: New.
278
279 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
280
281         * testsuite/20_util/allocator_traits/requirements/
282         explicit_instantiation.cc: Add another instantiation.
283
284 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
285
286         * testsuite/20_util/allocator_traits/requirements/typedefs.cc: Check
287         for allocator_type and value_type.
288
289 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
290
291         * testsuite/30_threads/packaged_task/uses_allocator.cc: New.
292         * testsuite/30_threads/promise/uses_allocator.cc: Likewise.
293
294 2011-06-10  Paolo Carlini  <paolo.carlini@oracle.com>
295
296         * include/ext/throw_allocator.h: Use noexcept.
297         * include/ext/pool_allocator.h: Likewise.
298         * include/ext/bitmap_allocator.h: Likewise.
299         * include/ext/new_allocator.h: Likewise.
300         * include/ext/malloc_allocator.h: Likewise.
301         * include/ext/array_allocator.h: Likewise.
302         * include/ext/mt_allocator.h: Likewise.
303         * include/ext/extptr_allocator.h: Likewise.
304         * testsuite/util/testsuite_allocator.h: Likewise; do not include
305         <cassert> directly, include <testsuite_hooks.h> instead.
306
307 2011-06-10  Benjamin Kosnik  <bkoz@redhat.com>
308
309         * include/ext/pb_ds/*: Doxygen markup redo.
310         * include/Makefile.am: Fold in constructors_destructor_fn_imps.hpp.
311         * include/Makefile.in: Regenerate.
312
313 2011-06-10  Jason Merrill  <jason@redhat.com>
314
315         * testsuite/20_util/bind/ref_neg.cc: Remove wrong test lines.
316
317         * testsuite/20_util/bind/ref_neg.cc: Remove dg-excess-errors,
318         fix dg-error markup.
319
320 2011-06-09  Jason Merrill  <jason@redhat.com>
321
322         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust.
323
324         * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune notes.
325         * testsuite/20_util/duration/cons/1_neg.cc: Remove dg-excess-errors.
326         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
327         * testsuite/20_util/forward/1_neg.cc: Likewise.
328         * testsuite/20_util/function/cmp/cmp_neg.cc: Likewise.
329         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
330         * testsuite/20_util/reference_wrapper/ref_neg.cc: Likewise.
331         * testsuite/20_util/tuple/comparison_operators/35480_neg.cc: Likewise.
332         * testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc:
333         Likewise.
334         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
335         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
336         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
337         Likewise.
338         * testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise.
339         * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Likewise.
340         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
341         Likewise.
342         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
343         auto_ptr_rvalue_neg.cc: Likewise.
344         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
345         Likewise.
346         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
347         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
348         Likewise.
349         * testsuite/23_containers/deque/requirements/dr438/
350         constructor_1_neg.cc: Likewise.
351         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
352         Likewise.
353         * testsuite/23_containers/forward_list/requirements/dr438/
354         assign_neg.cc: Likewise.
355         * testsuite/23_containers/forward_list/requirements/dr438/
356         constructor_1_neg.cc: Likewise.
357         * testsuite/23_containers/forward_list/requirements/dr438/
358         constructor_2_neg.cc: Likewise.
359         * testsuite/23_containers/forward_list/requirements/dr438/
360         insert_neg.cc: Likewise.
361         * testsuite/23_containers/list/requirements/dr438/
362         assign_neg.cc: Likewise.
363         * testsuite/23_containers/list/requirements/dr438/
364         constructor_1_neg.cc: Likewise.
365         * testsuite/23_containers/list/requirements/dr438/
366         constructor_2_neg.cc: Likewise.
367         * testsuite/23_containers/list/requirements/dr438/
368         insert_neg.cc: Likewise.
369         * testsuite/23_containers/vector/requirements/dr438/
370         assign_neg.cc: Likewise.
371         * testsuite/23_containers/vector/requirements/dr438/
372         constructor_1_neg.cc: Likewise.
373         * testsuite/23_containers/vector/requirements/dr438/
374         constructor_2_neg.cc: Likewise.
375         * testsuite/23_containers/vector/requirements/dr438/
376         insert_neg.cc: Likewise.
377         * testsuite/23_containers/map/operators/1_neg.cc: Likewise.
378         * testsuite/29_atomics/atomic_integral/operators/
379         bitwise_neg.cc: Likewise.
380         * testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
381         * testsuite/decimal/mixed-mode-cmp_neg.cc: Likewise.
382         * testsuite/decimal/operator_neg.cc: Likewise.
383
384 2011-06-09  Simon Baldwin  <simonb@google.com>
385
386         * scripts/extract_symvers.in: Handle processor/OS specific or
387         unknown symbol binding strings from readelf.
388
389 2011-06-09  Paolo Carlini  <paolo.carlini@oracle.com>
390
391         * include/std/type_traits (__is_copy_assignable_impl,
392         __is_nt_copy_assignable_impl): Fix typo.
393
394 2011-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
395
396         * include/ext/extptr_allocator.h: Include <ext/numeric_traits.h>
397         instead of <limits>.
398         * include/bits/allocator.h: Likewise.
399
400         * include/std/chrono (duration_values<>::min): Call lowest, not min.
401
402 2011-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
403
404         * include/bits/allocator.h (__shrink_to_fit): Simplify.
405         * include/bits/stl_vector.h (vector<>::shrink_to_fit): Adjust.
406         * include/bits/stl_deque.h: Likewise.
407         * include/bits/stl_bvector.h: Likewise.
408
409 2011-06-07  Jason Merrill  <jason@redhat.com>
410
411         * testsuite/lib/prune.exp: s/required/instantiated/.
412         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
413         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
414         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
415         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
416         * testsuite/20_util/forward/1_neg.cc: Likewise.
417         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
418         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
419         Likewise.
420         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
421         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
422         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Likewise.
423         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
424         * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Likewise.
425         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Likewise.
426         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
427         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
428         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
429         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
430         shared_ptr_neg.cc: Likewise.
431
432 2011-06-07  Paolo Carlini  <paolo.carlini@oracle.com>
433
434         * include/bits/move.h (struct __move_if_noexcept_cond): Add.
435         (move_if_noexcept): Use the latter.
436         * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator,
437         _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR): Add.
438         * include/bits/stl_uninitialized.h
439         (__uninitialized_move_if_noexcept_a): Add.
440         * include/bits/vector.tcc (vector<>::reserve): Use
441         _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR.
442         (vector<>::_M_insert_aux, _M_fill_insert, _M_default_append,
443         _M_range_insert): Use __uninitialized_move_if_noexcept_a.
444         * testsuite/util/testsuite_rvalref.h (throwing_move_constructor):
445         Add.
446         (copycounter::copycounter(copycounter&&)): Use noexcept.
447         * testsuite/23_containers/vector/modifiers/moveable2.cc: New.
448         * testsuite/23_containers/vector/capacity/resize/moveable2.cc:
449         Likewise.
450         * testsuite/23_containers/vector/capacity/reserve/moveable2.cc:
451         Likewise.
452
453 2011-06-07  Paolo Carlini  <paolo.carlini@oracle.com>
454
455         PR libstdc++/49293
456         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Tweak
457         for glibc 2.14.
458         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
459
460 2011-06-06  Paolo Carlini  <paolo.carlini@oracle.com>
461
462         * include/bits/move.h (move_if_noexcept): Use __and_ and __not_.
463
464 2011-06-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
465
466         * include/bits/ptr_traits.h (pointer_traits): Fix typos.
467         * include/ext/pointer.h (pointer_traits): Add partial specialization
468         for _Pointer_adapter.
469
470 2011-06-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
471
472         * testsuite/util/testsuite_allocator.h (tracker_allocator::construct):
473         Update to C++0x definition using type to construct as template
474         parameter.
475         (tracker_allocator::destroy): Likewise for type to destroy.
476         (uneq_allocator::construct, uneq_allocator::destroy): Likewise.
477
478 2011-06-01  Paolo Carlini  <paolo.carlini@oracle.com>
479
480         * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
481         Use std::move on the allocator, use noexcept.
482         (_Hashtable<>::~_Hashtable): Use noexcept.
483         * include/bits/stl_list.h: Likewise.
484         * include/bits/forward_list.h: Likewise.
485         * include/bits/stl_vector.h: Likewise.
486         * include/bits/stl_bvector.h: Likewise.
487         * include/bits/stl_map.h (map<>::map(map&&)): Use noexcept.
488         * include/bits/stl_set.h: Likewise.
489         * include/bits/stl_multimap.h: Likewise.
490         * include/bits/stl_multiset.h: Likewise.
491         * include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(_Rb_tree&&)): Use
492         std::move on the allocator.
493         (_Rb_tree<>::~_Rb_tree): Use noexcept.
494         * include/bits/stl_deque.h: Likewise.
495         * include/bits/basic_string.h (basic_string<>::~basic_string): Use
496         noexcept.
497         * include/ext/vstring.h (__versa_string<>::~__versa_string): Likewise.
498         * include/debug/set.h: Adjust.
499         * include/debug/unordered_map: Likewise.
500         * include/debug/multiset.h: Likewise.
501         * include/debug/forward_list: Likewise.
502         * include/debug/vector: Likewise.
503         * include/debug/unordered_set: Likewise.
504         * include/debug/deque: Likewise.
505         * include/debug/map.h: Likewise.
506         * include/debug/string: Likewise.
507         * include/debug/list: Likewise.
508         * include/debug/multimap.h: Likewise.
509         * include/profile/set.h: Likewise.
510         * include/profile/unordered_map: Likewise.
511         * include/profile/multiset.h: Likewise.
512         * include/profile/forward_list: Likewise.
513         * include/profile/unordered_set: Likewise.
514         * include/profile/vector: Likewise.
515         * include/profile/deque: Likewise.
516         * include/profile/map.h: Likewise.
517         * include/profile/list: Likewise.
518         * include/profile/multimap.h: Likewise.
519         * testsuite/21_strings/basic_string/cons/wchar_t/
520         noexcept_move_construct.cc: New.
521         * testsuite/21_strings/basic_string/cons/char/
522         noexcept_move_construct.cc: Likewise.
523         * testsuite/ext/vstring/cons/noexcept_move_construct.cc: Likewise.
524         * testsuite/23_containers/unordered_map/cons/
525         noexcept_move_construct.cc: Likewise.
526         * testsuite/23_containers/multimap/cons/
527         noexcept_move_construct.cc: Likewise.
528         * testsuite/23_containers/set/cons/
529         noexcept_move_construct.cc: Likewise.
530         * testsuite/23_containers/unordered_multimap/cons/
531         noexcept_move_construct.cc: Likewise.
532         * testsuite/23_containers/forward_list/cons/
533         noexcept_move_construct.cc: Likewise.
534         * testsuite/23_containers/unordered_set/cons/
535         noexcept_move_construct.cc: Likewise.
536         * testsuite/23_containers/vector/bool/cons/
537         noexcept_move_construct.cc: Likewise.
538         * testsuite/23_containers/vector/cons/
539         noexcept_move_construct.cc: Likewise.
540         * testsuite/23_containers/multiset/cons/
541         noexcept_move_construct.cc: Likewise.
542         * testsuite/23_containers/list/cons/
543         noexcept_move_construct.cc: Likewise.
544         * testsuite/23_containers/unordered_multiset/cons/
545         noexcept_move_construct.cc: Likewise.
546         * testsuite/23_containers/map/cons/noexcept_move_construct.cc
547         * testsuite/23_containers/forward_list/requirements/dr438/
548         assign_neg.cc: Adjust dg-error line numbers.
549         * testsuite/23_containers/forward_list/requirements/dr438/
550         insert_neg.cc: Likewise.
551         * testsuite/23_containers/forward_list/requirements/dr438/
552         constructor_1_neg.cc: Likewise.
553         * testsuite/23_containers/forward_list/requirements/dr438/
554         constructor_2_neg.cc: Likewise.
555         * testsuite/23_containers/vector/requirements/dr438/
556         assign_neg.cc: Likewise.
557         * testsuite/23_containers/vector/requirements/dr438/
558         insert_neg.cc: Likewise.
559         * testsuite/23_containers/vector/requirements/dr438/
560         constructor_1_neg.cc: Likewise.
561         * testsuite/23_containers/vector/requirements/dr438/
562         constructor_2_neg.cc: Likewise.
563         * testsuite/23_containers/deque/requirements/dr438/
564         assign_neg.cc: Likewise.
565         * testsuite/23_containers/deque/requirements/dr438/
566         insert_neg.cc: Likewise.
567         * testsuite/23_containers/deque/requirements/dr438/
568         constructor_1_neg.cc: Likewise.
569         * testsuite/23_containers/deque/requirements/dr438/
570         constructor_2_neg.cc: Likewise.
571         * testsuite/23_containers/list/requirements/dr438/
572         assign_neg.cc: Likewise.
573         * testsuite/23_containers/list/requirements/dr438/
574         insert_neg.cc: Likewise.
575         * testsuite/23_containers/list/requirements/dr438/
576         constructor_1_neg.cc: Likewise.
577         * testsuite/23_containers/list/requirements/dr438/
578         constructor_2_neg.cc: Likewise.
579
580         * include/bits/move.h (swap): Use __and_ in the noexcept.
581         * include/bits/algorithmfwd.h: Adjust.
582
583 2011-05-31  Paolo Carlini  <paolo.carlini@oracle.com>
584
585         * include/bits/basic_string.h: Use noexcept per the FDIS (minus
586         compare(const string&), which uses char_traits::compare, which
587         isn't noexcept; also no noexcept in the move assignment operator
588         and move assign, see c++std-lib-30855).
589         * include/bits/basic_string.tcc: Likewise.
590         * include/ext/vstring.h: Likewise.
591         * include/ext/vstring.tcc: Likewise.
592         * include/debug/string: Likewise.
593
594 2011-05-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
595
596         * doc/xml/manual/status_cxx200x.xml: Update.
597         * doc/html/*: Regenerate.
598
599 2011-05-30  Paolo Carlini  <paolo.carlini@oracle.com>
600
601         * include/std/type_traits (__or_, __and_): Add trivial definitions
602         for a single element.
603         * include/bits/stl_pair.h: Use __and_ in noexcept specs and
604         constraints.
605         (pair<>::pair(pair&&)): Define.
606         (pair<>::pair(const pair<>&)): Constrain with is_convertible.
607         (pair<>::pair(pair<>&&)): Likewise, remove noexcept.
608         * include/std/tuple: Use __and_ in noexcept specs and constraints.
609         (_Tuple_impl<>::_Tuple_impl(allocator_arg_t, const _Alloc&,
610         _Tuple_impl&&)): Remove noexcept.
611         (tuple<>::tuple(_UElements&&...), tuple(const tuple<_UElements...>&),
612         tuple(tuple<_UElements...>&&), tuple(const pair<_U1, _U2>&),
613         tuple(pair<_U1, _U2>&&)): Constrain with is_convertible.
614         * testsuite/20_util/tuple/moveable2.cc: Use = delete.
615         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
616         Adjust dg-error line numbers.
617         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
618         Likewise.
619         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
620         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
621         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
622
623 2011-05-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
624
625         * include/std/tuple: Restore is_convertible constraint.
626         * testsuite/20_util/tuple/cons/allocate_noncopyable.cc: Remove.
627
628 2011-05-30  Paolo Carlini  <paolo.carlini@oracle.com>
629
630         PR libstdc++/49236
631         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
632         line number.
633
634 2011-05-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
635
636         * include/std/tuple: Implement uses-allocator construction.
637         * include/bits/allocator.h (uses_allocator): Move to ...
638         * include/bits/uses_allocator.h: New file.
639         * include/Makefile.am: Add new header.
640         * include/Makefile.in: Regenerate.
641         * testsuite/20_util/uses_allocator/cons_neg.cc: New.
642         * testsuite/20_util/uses_allocator/construction.cc: New.
643         * testsuite/20_util/tuple/cons/allocate_noncopyable.cc: New.
644         * testsuite/20_util/tuple/cons/allocators.cc: New.
645
646 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
647
648         * testsuite/20_util/pointer_traits/pointer_to.cc: Fix.
649
650 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
651
652         * acinclude.m4: Define GLIBCXX_CHECK_GET_NPROCS and
653         GLIBCXX_CHECK_SC_NPROCESSORS_ONLN.
654         * configure.ac: Use them. Increase minor version.
655         * configure: Regenerate.
656         * config.h.in: Regenerate.
657         * include/std/thread (thread::hardware_concurrency): Remove inline
658         definition.
659         * src/thread.cc (thread::hardware_concurrency): Define.
660         * config/abi/pre/gnu.ver: Export new symbol @3.4.17
661         * testsuite/util/testsuite_abi.cc: Add new version.
662         * testsuite/lib/libstdc++.exp (check_v3_target_nprocs): Add.
663         * testsuite/lib/dg-options.exp (dg-require-nprocs): Add.
664         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Use
665         dg-require-nprocs and verify hardware_concurrency returns non-zero.
666
667 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
668
669         * testsuite/20_util/pointer_traits/pointer_to.cc: New.
670
671 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
672
673         * include/Makefile.am: Add new ptr_traits.h header.
674         * include/Makefile.in: Regenerate.
675         * include/bits/ptr_traits.h (pointer_traits): New.
676         * include/bits/allocator.h (allocator_traits): Add.
677         * include/ext/array_allocator.h (construct, destroy): Update C++0x
678         versions.
679         * include/ext/bitmap_allocator.h (construct, destroy): Likewise.
680         * include/ext/extptr_allocator.h (construct, destroy): Likewise.
681         * include/ext/malloc_allocator.h (construct, destroy): Likewise.
682         * include/ext/mt_allocator.h (construct, destroy): Likewise.
683         * include/ext/new_allocator.h (construct, destroy): Likewise.
684         * include/ext/pool_allocator.h (construct, destroy): Likewise.
685         * include/ext/throw_allocator.h (construct, destroy): Likewise.
686         * testsuite/20_util/allocator_traits/requirements/typedefs.cc: New.
687         * testsuite/20_util/allocator_traits/requirements/
688         explicit_instantiation.cc: New.
689         * testsuite/20_util/allocator_traits/members/max_size.cc: New.
690         * testsuite/20_util/allocator_traits/members/select.cc: New.
691         * testsuite/20_util/allocator_traits/members/construct.cc: New.
692         * testsuite/20_util/allocator_traits/members/allocate_hint.cc: New.
693         * testsuite/20_util/allocator_traits/members/destroy.cc: New.
694         * testsuite/20_util/pointer_traits/requirements/typedefs.cc: New.
695         * testsuite/20_util/pointer_traits/requirements/
696         explicit_instantiation.cc: New.
697
698 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
699
700         * include/std/future (launch): Update enumerators and define
701         operators required for bitmask type. Remove trailing whitespace.
702         * src/future.cc: Remove trailing whitespace.
703         * testsuite/30_threads/async/any.cc: Adjust.
704         * testsuite/30_threads/async/sync.cc: Adjust.
705         * testsuite/30_threads/async/launch.cc: New.
706
707 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
708
709         * include/std/future: Use noexcept.
710         * src/future.cc: Likewise.
711
712 2011-05-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
713
714         * include/std/thread (this_thread::sleep_until): Move after sleep_for.
715
716 2011-05-27  Paolo Carlini  <paolo.carlini@oracle.com>
717
718         PR libstdc++/49187
719         * include/parallel/losertree.h: Add missing using declarations
720         of _Base::_M_comp.
721         * include/parallel/algobase.h: Include <parallel/algorithmfwd.h>.
722         * include/parallel/multiway_merge.h: Include <parallel/
723         multiseq_selection.h>, forward declare __merge_advance.
724         * include/parallel/multiseq_selection.h: Don't include <parallel/
725         sort.h> here.
726         * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Fix
727         qualification of upper_bound.
728
729         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc:
730         Use dg-require-debug-mode.
731         * testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc:
732         Likewise.
733         * testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc:
734         Likewise.
735         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc:
736         Likewise.
737         * testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc:
738         Likewise.
739         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
740         Likewise.
741         * testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
742         Likewise.
743         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc:
744         Likewise.
745         * testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc:
746         Likewise.
747
748         * include/parallel/algo.h: Minor uglification fixes.
749
750 2011-05-26  Paolo Carlini  <paolo.carlini@oracle.com>
751
752         * src/list.cc: Use noexcept per the FDIS.
753         * src/compatibility-list-2.cc: Likewise.
754         * include/debug/set.h: Likewise.
755         * include/debug/unordered_map: Likewise.
756         * include/debug/multiset.h: Likewise.
757         * include/debug/forward_list: Likewise.
758         * include/debug/unordered_set: Likewise.
759         * include/debug/vector: Likewise.
760         * include/debug/map.h: Likewise.
761         * include/debug/deque: Likewise.
762         * include/debug/list: Likewise.
763         * include/debug/multimap.h: Likewise.
764         * include/profile/set.h: Likewise.
765         * include/profile/unordered_map: Likewise.
766         * include/profile/multiset.h: Likewise.
767         * include/profile/forward_list: Likewise.
768         * include/profile/vector: Likewise.
769         * include/profile/unordered_set: Likewise.
770         * include/profile/map.h: Likewise.
771         * include/profile/deque: Likewise.
772         * include/profile/list: Likewise.
773         * include/profile/multimap.h: Likewise.
774         * include/bits/hashtable.h: Likewise.
775         * include/bits/stl_list.h: Likewise.
776         * include/bits/stl_map.h: Likewise.
777         * include/bits/hashtable_policy.h: Likewise.
778         * include/bits/stl_set.h: Likewise.
779         * include/bits/forward_list.h: Likewise.
780         * include/bits/stl_multimap.h: Likewise.
781         * include/bits/stl_vector.h: Likewise.
782         * include/bits/stl_deque.h: Likewise.
783         * include/bits/stl_multiset.h: Likewise.
784         * include/bits/stl_bvector.h: Likewise.
785         * include/bits/stl_tree.h: Likewise.
786
787 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
788
789         * include/bits/stl_queue.h: Use noexcept per the FDIS.
790         * include/bits/stl_stack.h: Likewise.
791
792 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
793
794         * config/abi/pre/gnu.ver: Correct last change, export instead
795         at the existing @3.4.16.
796         * configure.ac: Revert last change.
797         * testsuite/util/testsuite_abi.cc: Likewise.
798         * configure: Regenerate.
799
800 2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
801
802         * doc/xml/manual/documentation_hacking.xml: Minor corrections.
803
804 2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
805
806         * include/std/mutex: Add doxygen comments.
807
808 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
809
810         * config/abi/pre/gnu.ver: Export recently added  basic_streambuf
811         and basic_stringbuf symbols @3.4.17.
812         * configure.ac: Update.
813         * testsuite/util/testsuite_abi.cc: Likewise.
814         * configure: Regenerate.
815
816 2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
817
818         * libsupc++/guard.cc: Fix comments.
819
820 2011-05-25  Ian Lance Taylor  <iant@google.com>
821
822         PR libstdc++/49060
823         * include/backward/hashtable.h (hashtable::erase): Don't crash if
824         erasing first and another element with a reference to the other
825         element.
826         * testsuite/backward/hash_set/49060.cc: New.
827
828 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
829
830         * include/bits/random.h (random_device::min, max): Specify constexpr.
831
832 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
833
834         * include/std/thread: Use noexcept throughout per the FDIS.
835         * include/std/mutex: Likewise.
836
837 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
838
839         * testsuite/20_util/duration/arithmetic/dr2020.cc: Fix typo.
840
841 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
842
843         PR libstdc++/49151
844         * include/std/chrono (operator+, operator-, operator*, operator/,
845         operator&): Implement LWG 2020 [WP]; specify constexpr.
846         * testsuite/20_util/duration/arithmetic/dr2020.cc: New.
847
848 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
849
850         PR libstdc++/49141
851         * testsuite/26_numerics/complex/cons/48760.cc: Use dg-require-c-std.
852         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
853         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
854
855 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
856
857         * include/bits/c++config (_GLIBCXX_NOTHROW): Update for noexcept.
858         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
859         line number.
860
861 2011-05-23  Benjamin Kosnik  <bkoz@redhat.com>
862
863         PR libstdc++/37144
864         PR libstdc++/28457
865         Interface changes for ext/pb_ds.
866         PB_DS_BASE_C_DEC to unique PB_DS_*_BASE macros.
867         * include/ext/pb_ds/assoc_container.hpp (container_base): Remove.
868         (basic_hash_table, basic_branch, list_update): Derive from
869         container_base_dispatch.
870         * include/ext/pb_ds/list_update_policy.hpp (null_lu_metadata): Remove.
871         (move_to_front_lu_policy): To lu_move_to_front_policy.
872         (counter_lu_policy): To lu_counter_policy.
873         * include/ext/pb_ds/tree_policy.hpp (null_tree_node_update): Remove.
874         * include/ext/pb_ds/tag_and_trait.hpp (container_base_dispatch): Adjust
875         template parameters, declare here.
876         (null_mapped_type) Remove.
877         (null_type): Just use this for template tricks everywhere.
878         * include/ext/pb_ds/hash_policy.hpp (null_hash_fn, null_probe_fn):
879         Remove.
880         * include/ext/pb_ds/trie_policy.hpp (null_trie_node_update): Remove.
881         (string_trie_e_access_traits): To trie_string_access_traits.
882         * include/ext/pb_ds/priority_queue.hpp: Use container_base_dispatch.
883
884         File changes.
885         * include/Makefile.am (pb_headers): Removed and changed file names.
886         * include/Makefile.in: Regenerated.
887         * include/ext/pb_ds/detail/basic_types.hpp: Remove.
888         * include/ext/pb_ds/detail/bin_search_tree_/
889           cond_dtor_entry_dealtor.hpp: Remove.
890         * include/ext/pb_ds/detail/bin_search_tree_/
891           cond_key_dtor_entry_dealtor.hpp: Remove.
892         * include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Move..
893         * include/ext/pb_ds/detail/binary_heap_/
894           point_const_iterator.hpp: ..here.
895         * include/ext/pb_ds/detail/basic_tree_policy: Move to...
896         * include/ext/pb_ds/detail/branch_policy: This.
897         * include/ext/pb_ds/detail/branch_policy/
898           basic_tree_policy_base.hpp: Move...
899         * include/ext/pb_ds/detail/branch_policy/branch_policy.hpp: ...here.
900         * include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp: Add.
901         * include/ext/pb_ds/detail/branch_policy/traits.hpp: Add.
902         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
903         null_metadata.hpp: Remove.
904         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
905         const_point_iterator.hpp: Move...
906         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
907         point_const_iterator.hpp: ...here.
908         * include/ext/pb_ds/detail/list_update_policy/
909         counter_lu_metadata.hpp: Move..
910         * include/ext/pb_ds/detail/list_update_policy/
911         lu_counter_metadata.hpp: ...here.
912         * include/ext/pb_ds/detail/list_update_policy/
913         counter_lu_policy_imp.hpp: Remove.
914         * include/ext/pb_ds/detail/list_update_policy/
915         mtf_lu_policy_imp.hpp: Remove.
916         * include/ext/pb_ds/detail/trie_policy/
917         string_trie_e_access_traits_imp.hpp: Move...
918         * include/ext/pb_ds/detail/trie_policy/
919         sample_trie_access_traits.hpp: ...here.
920         * include/ext/pb_ds/detail/trie_policy/
921         sample_trie_e_access_traits.hpp: Move...
922         * include/ext/pb_ds/detail/trie_policy/
923         trie_string_access_traits_imp.hpp: ...here.
924         * include/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp: Remove.
925         * include/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp: Remove.
926         * include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp: Remove.
927         * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: New, fold all
928         types found in the following files into pat_trie_base.
929         * include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp: Folded.
930         * include/ext/pb_ds/detail/pat_trie_/
931           cond_dtor_entry_dealtor.hpp: Folded.
932         * include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Folded.
933         * include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Folded.
934         * include/ext/pb_ds/detail/pat_trie_/head.hpp: Folded.
935         * include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Folded.
936         * include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Folded.
937         * include/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp: Folded.
938         * include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Folded.
939         * include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Folded.
940         * include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Folded.
941         * include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp: Move...
942         * include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp: ...here.
943         * include/ext/pb_ds/detail/unordered_iterator/
944         const_point_iterator.hpp: Move...
945         * include/ext/pb_ds/detail/unordered_iterator/
946         point_const_iterator.hpp: ...here.
947
948
949         Adjust for above changes.
950         * include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp: Same.
951         * include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp: Same.
952         * include/ext/pb_ds/detail/resize_policy/
953           sample_resize_trigger.hpp: Same.
954         * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp: Same.
955         * include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp: Same.
956         * include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp: Same.
957         * include/ext/pb_ds/detail/binomial_heap_base_/
958           binomial_heap_base_.hpp: Same.
959         * include/ext/pb_ds/detail/binomial_heap_base_/
960           constructors_destructor_fn_imps.hpp: Same.
961         * include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp: Same.
962         * include/ext/pb_ds/detail/binomial_heap_base_/
963           split_join_fn_imps.hpp: Same.
964         * include/ext/pb_ds/detail/container_base_dispatch.hpp: Same. Adjust
965           for template parameter ordering change.
966         * include/ext/pb_ds/detail/cc_hash_table_map_/
967           erase_store_hash_fn_imps.hpp: Same.
968         * include/ext/pb_ds/detail/cc_hash_table_map_/
969           constructor_destructor_no_store_hash_fn_imps.hpp: Same.
970         * include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp: Same.
971         * include/ext/pb_ds/detail/cc_hash_table_map_/
972           insert_no_store_hash_fn_imps.hpp: Same.
973         * include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp: Same.
974         * include/ext/pb_ds/detail/cc_hash_table_map_/
975           policy_access_fn_imps.hpp: Same.
976         * include/ext/pb_ds/detail/cc_hash_table_map_/
977           resize_store_hash_fn_imps.hpp: Same.
978         * include/ext/pb_ds/detail/cc_hash_table_map_/
979           constructor_destructor_store_hash_fn_imps.hpp: Same.
980         * include/ext/pb_ds/detail/cc_hash_table_map_/
981           insert_store_hash_fn_imps.hpp: Same.
982         * include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp: Same.
983         * include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp: Same.
984         * include/ext/pb_ds/detail/cc_hash_table_map_/
985           entry_list_fn_imps.hpp: Same.
986         * include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp: Same.
987         * include/ext/pb_ds/detail/cc_hash_table_map_/
988           find_store_hash_fn_imps.hpp: Same.
989         * include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
990         * include/ext/pb_ds/detail/cc_hash_table_map_/
991           debug_no_store_hash_fn_imps.hpp: Same.
992         * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
993         * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
994         * include/ext/pb_ds/detail/cc_hash_table_map_/
995           constructor_destructor_fn_imps.hpp: Same.
996         * include/ext/pb_ds/detail/cc_hash_table_map_/
997           cond_key_dtor_entry_dealtor.hpp: Same.
998         * include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp: Same.
999         * include/ext/pb_ds/detail/cc_hash_table_map_/
1000           debug_store_hash_fn_imps.hpp: Same.
1001         * include/ext/pb_ds/detail/cc_hash_table_map_/
1002           erase_no_store_hash_fn_imps.hpp: Same.
1003         * include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp: Same.
1004         * include/ext/pb_ds/detail/cc_hash_table_map_/
1005           iterators_fn_imps.hpp: Same.
1006         * include/ext/pb_ds/detail/cc_hash_table_map_/
1007           resize_no_store_hash_fn_imps.hpp: Same.
1008         * include/ext/pb_ds/detail/cc_hash_table_map_/
1009           standard_policies.hpp: Same.
1010         * include/ext/pb_ds/detail/tree_trace_base.hpp: Same.
1011         * include/ext/pb_ds/detail/unordered_iterator/iterator.hpp: Same.
1012         * include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp: Same.
1013         * include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp: Same.
1014         * include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Same.
1015         * include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp: Same.
1016         * include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Same.
1017         * include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Same.
1018         * include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp: Same.
1019         * include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Same.
1020         * include/ext/pb_ds/detail/pat_trie_/
1021           constructors_destructor_fn_imps.hpp: Same.
1022         * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
1023         * include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Same.
1024         * include/ext/pb_ds/detail/pat_trie_/traits.hpp: Same.
1025         * include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp: Same.
1026         * include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Same.
1027         * include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Same.
1028         * include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Same.
1029         * include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Same.
1030         * include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp: Same.
1031         * include/ext/pb_ds/detail/bin_search_tree_/
1032           policy_access_fn_imps.hpp: Same.
1033         * include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp: Same.
1034         * include/ext/pb_ds/detail/bin_search_tree_/
1035           constructors_destructor_fn_imps.hpp: Same.
1036         * include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp: Same.
1037         * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Same.
1038         * include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp: Same.
1039         * include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp: Same.
1040         * include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp: Same.
1041         * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
1042         * include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp: Same.
1043         * include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp: Same.
1044         * include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp: Same.
1045         * include/ext/pb_ds/detail/bin_search_tree_/
1046           split_join_fn_imps.hpp: Same.
1047         * include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp: Same.
1048         * include/ext/pb_ds/detail/list_update_policy/
1049           sample_update_policy.hpp: Same.
1050         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1051           trace_fn_imps.hpp: Same.
1052         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1053           erase_fn_imps.hpp: Same.
1054         * include/ext/pb_ds/detail/gp_hash_table_map_/
1055           erase_store_hash_fn_imps.hpp: Same.
1056         * include/ext/pb_ds/detail/gp_hash_table_map_/
1057           constructor_destructor_no_store_hash_fn_imps.hpp: Same.
1058         * include/ext/pb_ds/detail/gp_hash_table_map_/
1059           insert_no_store_hash_fn_imps.hpp: Same.
1060         * include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp: Same.
1061         * include/ext/pb_ds/detail/gp_hash_table_map_/
1062           policy_access_fn_imps.hpp: Same.
1063         * include/ext/pb_ds/detail/gp_hash_table_map_/
1064           resize_store_hash_fn_imps.hpp: Same.
1065         * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
1066         * include/ext/pb_ds/detail/gp_hash_table_map_/
1067           constructor_destructor_store_hash_fn_imps.hpp: Same.
1068         * include/ext/pb_ds/detail/gp_hash_table_map_/
1069           insert_store_hash_fn_imps.hpp: Same.
1070         * include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp: Same.
1071         * include/ext/pb_ds/detail/gp_hash_table_map_/
1072           iterator_fn_imps.hpp: Same.
1073         * include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp: Same.
1074         * include/ext/pb_ds/detail/gp_hash_table_map_/
1075           find_no_store_hash_fn_imps.hpp: Same.
1076         * include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp: Same.
1077         * include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp: Same.
1078         * include/ext/pb_ds/detail/gp_hash_table_map_/
1079           find_store_hash_fn_imps.hpp: Same.
1080         * include/ext/pb_ds/detail/gp_hash_table_map_/
1081           debug_no_store_hash_fn_imps.hpp: Same.
1082         * include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
1083         * include/ext/pb_ds/detail/gp_hash_table_map_/
1084           constructor_destructor_fn_imps.hpp: Same.
1085         * include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp: Same.
1086         * include/ext/pb_ds/detail/gp_hash_table_map_/
1087           debug_store_hash_fn_imps.hpp: Same.
1088         * include/ext/pb_ds/detail/gp_hash_table_map_/
1089           erase_no_store_hash_fn_imps.hpp: Same.
1090         * include/ext/pb_ds/detail/gp_hash_table_map_/
1091           resize_no_store_hash_fn_imps.hpp: Same.
1092         * include/ext/pb_ds/detail/gp_hash_table_map_/
1093           standard_policies.hpp: Same.
1094         * include/ext/pb_ds/detail/standard_policies.hpp: Same.
1095         * include/ext/pb_ds/detail/types_traits.hpp: Same.
1096         * include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp: Same.
1097         * include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp: Same.
1098         * include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Same.
1099         * include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp: Same.
1100         * include/ext/pb_ds/detail/binary_heap_/
1101           constructors_destructor_fn_imps.hpp: Same.
1102         * include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp: Same.
1103         * include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp: Same.
1104         * include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp: Same.
1105         * include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Same.
1106         * include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp: Same.
1107         * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Same.
1108         * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
1109         * include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp: Same.
1110         * include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
1111         * include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp: Same.
1112         * include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp: Same.
1113         * include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Same.
1114         * include/ext/pb_ds/detail/tree_policy/
1115           sample_tree_node_update.hpp: Same.
1116         * include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp: Same.
1117         * include/ext/pb_ds/detail/trie_policy/
1118           sample_trie_node_update.hpp: Same.
1119         * include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp: Same.
1120         * include/ext/pb_ds/detail/trie_policy/
1121           prefix_search_node_update_imp.hpp: Same.
1122         * include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Same.
1123         * include/ext/pb_ds/detail/cond_dealtor.hpp: Same.
1124         * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Same.
1125           Adjust for template parameter change, fold into
1126           container_base_dispatch.
1127         * include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Same.
1128         * include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp: Same.
1129         * include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Same.
1130         * include/ext/pb_ds/detail/pairing_heap_/
1131           constructors_destructor_fn_imps.hpp: Same.
1132         * include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Same.
1133         * include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
1134         * include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp: Same.
1135         * include/ext/pb_ds/detail/binomial_heap_/
1136           constructors_destructor_fn_imps.hpp: Same.
1137         * include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp: Same.
1138         * include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
1139         * include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp: Same.
1140         * include/ext/pb_ds/detail/type_utils.hpp: Same.
1141         * include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp: Same.
1142         * include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp: Same.
1143         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1144           policy_access_fn_imps.hpp: Same.
1145         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1146           left_child_next_sibling_heap_.hpp: Same.
1147         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1148           const_iterator.hpp: Same.
1149         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1150           insert_fn_imps.hpp: Same.
1151         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1152           constructors_destructor_fn_imps.hpp: Same.
1153         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1154           debug_fn_imps.hpp: Same.
1155         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1156           node.hpp: Same.
1157         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1158           info_fn_imps.hpp: Same.
1159         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1160           iterators_fn_imps.hpp: Same.
1161         * include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp: Same.
1162         * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Same.
1163         * include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Same.
1164         * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
1165         * include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Same.
1166         * include/ext/pb_ds/detail/thin_heap_/
1167           constructors_destructor_fn_imps.hpp: Same.
1168         * include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Same.
1169         * include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp: Same.
1170         * include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Same.
1171         * include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp: Same.
1172         * include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Same.
1173         * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
1174         * include/ext/pb_ds/detail/ov_tree_map_/
1175           constructors_destructor_fn_imps.hpp: Same.
1176         * include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
1177         * include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
1178         * include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
1179         * include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp: Same.
1180         * include/ext/pb_ds/detail/ov_tree_map_/traits.hpp: Same.
1181         * include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp: Same.
1182         * include/ext/pb_ds/detail/debug_map_base.hpp: Same.
1183         * include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
1184         * include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp: Same.
1185         * include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp: Same.
1186         * include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp: Same.
1187         * include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp: Same.
1188         * include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Same.
1189         * include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp: Same.
1190         * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Same.
1191         * include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Same.
1192         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Same.
1193         * include/ext/pb_ds/detail/splay_tree_/
1194           constructors_destructor_fn_imps.hpp: Same.
1195         * include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Same.
1196         * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Same.
1197         * include/ext/pb_ds/detail/splay_tree_/node.hpp: Same.
1198         * include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp: Same.
1199         * include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp: Same.
1200         * include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
1201         * include/ext/pb_ds/detail/splay_tree_/traits.hpp: Same.
1202         * include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp: Same.
1203         * include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp: Same.
1204         * include/ext/pb_ds/detail/list_update_map_/
1205           entry_metadata_base.hpp: Same.
1206         * include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp: Same.
1207         * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
1208         * include/ext/pb_ds/detail/list_update_map_/
1209           constructor_destructor_fn_imps.hpp: Same.
1210         * include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp: Same.
1211         * include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp: Same.
1212         * include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp: Same.
1213         * include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp: Same.
1214         * include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp: Same.
1215         * include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp: Same.
1216         * include/ext/pb_ds/detail/rc_binomial_heap_/
1217           rc_binomial_heap_.hpp: Same.
1218         * include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp: Same.
1219         * include/ext/pb_ds/detail/rc_binomial_heap_/
1220           constructors_destructor_fn_imps.hpp: Same.
1221         * include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp: Same.
1222         * include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
1223         * include/ext/pb_ds/detail/rc_binomial_heap_/
1224           split_join_fn_imps.hpp: Same.
1225         * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Same.
1226         * include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp: Same.
1227         * include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Same.
1228         * include/ext/pb_ds/detail/rb_tree_map_/
1229           constructors_destructor_fn_imps.hpp: Same.
1230         * include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Same.
1231         * include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
1232         * include/ext/pb_ds/detail/rb_tree_map_/node.hpp: Same.
1233         * include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp: Same.
1234         * include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Same.
1235         * include/ext/pb_ds/detail/rb_tree_map_/traits.hpp: Same.
1236
1237
1238         Documentation changes.
1239         * include/ext/pb_ds/*: Add doxygen markup.
1240         * doc/doxygen/user.cfg.in: Add details for extracting comments
1241         from pb_ds.
1242         * scripts/run_doxygen: Fixup __gnu_pb_ds::detail.
1243         * scripts/make_graph.py: Move to svg output. Re-format generated tables.
1244
1245         * doc/Makefile.am (stamp-html-copy): New rule.
1246         (stamp-html): Use it to copy non-generated files into html docs.
1247         * doc/Makefile.in: Regenerated.
1248
1249         * doc/html/ext/pb_ds/sample_trie_e_access_traits.html: Move...
1250         * doc/html/ext/pb_ds/trie_string_access_traits.html: ...here.
1251         * doc/html/ext/pb_ds/string_trie_e_access_traits.html: Move..
1252         * doc/html/ext/pb_ds/sample_trie_access_traits.html: ...here.
1253
1254         * doc/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png,
1255         hash_random_int_erase_mem_usage_test_local.png,
1256         multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
1257         tree_text_insert_timing_test_pat_trie_local.png ,
1258         multimap_text_insert_mem_usage_test_small_s2p_tree_local.png ,
1259         priority_queue_text_modify_down_timing_test_local.png,
1260         gp_hash_random_int_subscript_timing_test_find_local.png,
1261         text_find_timing_test_hash_local.png,
1262         multimap_text_insert_timing_test_small_s2p_hash_local.png,
1263         multimap_text_insert_timing_test_small_s2p_tree_local.png,
1264         multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
1265         multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
1266         multimap_text_insert_timing_test_large_s2p_hash_local.png,
1267         hash_zlob_random_int_find_timing_test_local.png,
1268         multimap_text_insert_timing_test_large_s2p_tree_local.png,
1269         binary_priority_queue_random_int_push_timing_test_local.png,
1270         priority_queue_text_pop_mem_usage_test_local.png,
1271         priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
1272         tree_split_join_timing_test_local.png,
1273         multimap_text_find_timing_test_small_s2p_hash_local.png,
1274         ccgp_hash_random_int_subscript_timing_test_insert_local.png,
1275         priority_queue_random_int_push_pop_timing_test_local.png,
1276         multimap_text_find_timing_test_small_s2p_tree_local.png,
1277         gp_hash_random_int_subscript_timing_test_insert_local.png,
1278         priority_queue_text_push_timing_test_local.png,
1279         cc_hash_random_int_subscript_timing_test_find_local.png,
1280         tree_text_insert_timing_test_vector_tree_local.png,
1281         multimap_text_find_timing_test_large_s2p_hash_local.png,
1282         pairing_priority_queue_text_push_timing_test_local.png,
1283         tree_order_statistics_timing_test_local.png,
1284         priority_queue_text_push_pop_timing_test_local.png,
1285         text_find_timing_test_tree_like_local.png,
1286         multimap_text_find_timing_test_large_s2p_tree_local.png,
1287         priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
1288         cc_hash_random_int_subscript_timing_test_insert_local.png,
1289         priority_queue_text_modify_up_timing_test_local.png,
1290         random_int_find_find_timing_test_tree_local.png,
1291         priority_queue_random_int_push_timing_test_local.png,
1292         tree_text_insert_timing_test_node_tree_local.png,
1293         pairing_priority_queue_text_push_pop_timing_test_local.png,
1294         gp_hash_random_int_find_timing_test_local.png,
1295         cc_hash_random_int_find_timing_test_local.png,
1296         priority_queue_text_join_timing_test_local.png: Update local pngs.
1297
1298
1299         Testsuite changes.
1300         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc: New.
1301         * testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc: New.
1302         * testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc: New.
1303         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc: New.
1304         * testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc: New.
1305         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
1306         New.
1307         * testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
1308         New.
1309         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc: New.
1310         * testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc: New.
1311
1312         * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Fix typo.
1313
1314         * testsuite/ext/pb_ds/example/basic_set.cc: Update.
1315         * testsuite/ext/pb_ds/example/ranged_hash.cc: Same.
1316         * testsuite/ext/pb_ds/example/tree_order_statistics.cc: Same.
1317         * testsuite/ext/pb_ds/example/trie_prefix_search.cc: Same.
1318         * testsuite/ext/pb_ds/example/trie_dna.cc: Same.
1319         * testsuite/ext/pb_ds/example/tree_intervals.cc: Same.
1320         * testsuite/ext/pb_ds/example/basic_multimap.cc: Same.
1321         * testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc:
1322           Same.
1323         * testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
1324         * testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
1325         * testsuite/data/make_graph_test_infos.xml: Same.
1326         * testsuite/util/regression/common_type.hpp: Same.
1327         * testsuite/util/regression/trait/assoc/native_type_trait.hpp: Same.
1328         * testsuite/util/regression/trait/assoc/trait.hpp: Same.
1329         * testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
1330         * testsuite/util/regression/rand/priority_queue/
1331           rand_regression_test.hpp: Same.
1332         * testsuite/util/regression/rand/priority_queue/
1333           container_rand_regression_test.tcc: Same.
1334         * testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
1335         * testsuite/util/regression/rand/assoc/container_rand_regression_test.h
1336         * testsuite/util/regression/rand/assoc/
1337           container_rand_regression_test.tcc: Same.
1338         * testsuite/util/native_type/native_priority_queue.hpp: Same.
1339         * testsuite/util/native_type/native_multimap.hpp: Same.
1340         * testsuite/util/native_type/native_hash_multimap.hpp: Same.
1341         * testsuite/util/native_type/native_set.hpp: Same.
1342         * testsuite/util/native_type/native_map.hpp: Same.
1343         * testsuite/util/native_type/native_hash_set.hpp: Same.
1344         * testsuite/util/native_type/native_hash_map.hpp: Same.
1345         * testsuite/util/testsuite_containers.h
1346         * testsuite/util/common_type/priority_queue/common_type.hpp: Same.
1347         * testsuite/util/common_type/assoc/common_type.hpp: Same.
1348         * testsuite/util/common_type/assoc/string_form.hpp: Same.
1349         * testsuite/util/common_type/assoc/template_policy.hpp: Same.
1350         * testsuite/util/common_type/assoc/detail/
1351           trigger_policy_string_form.hpp: Same.
1352         * testsuite/util/common_type/assoc/detail/ds_string_form.hpp: Same.
1353         * testsuite/util/common_type/assoc/detail/
1354           size_policy_string_form.hpp: Same.
1355         * testsuite/util/common_type/assoc/detail/
1356           probe_fn_string_form.hpp: Same.
1357         * testsuite/util/common_type/assoc/detail/
1358           tree_supports_order_statistics.hpp: Same.
1359         * testsuite/util/common_type/assoc/detail/
1360           trie_supports_prefix_search.hpp: Same.
1361         * testsuite/util/common_type/assoc/detail/
1362           list_update_policy_string_form.hpp: Same.
1363         * testsuite/util/common_type/assoc/detail/
1364           trie_supports_order_statistics.hpp: Same.
1365         * testsuite/util/common_type/assoc/native_set.hpp: Same.
1366         * testsuite/util/performance/assoc/timing/common_type.hpp: Same.
1367         * testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
1368         * testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
1369
1370 2011-05-23  Paolo Carlini  <paolo.carlini@oracle.com>
1371
1372         * include/bits/streambuf_iterator.h: Use noexcept per the FDIS.
1373         (istreambuf_iterator<>::istreambuf_iterator(const
1374         istreambuf_iterator&),  ~istreambuf_iterator()): Add defaulted
1375         in C++0x mode.
1376
1377 2011-05-23  Jason Merrill  <jason@redhat.com>
1378
1379         * libsupc++/exception_ptr.h: Fix compilation in C++0x mode.
1380
1381 2011-05-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1382
1383         * testsuite/20_util/bind/cv_quals_2.cc: New.
1384
1385 2011-05-22  Paolo Carlini  <paolo.carlini@oracle.com>
1386
1387         PR libstdc++/49058
1388         * include/std/functional (_Bind<_Functor(_Bound_args...)>::
1389         operator()(_Args&&...)): Don't cv qualify _Functor directly
1390         in the default template argument, SFINAE doesn't apply when
1391         the functor has no arguments.
1392         * testsuite/20_util/bind/49058_1.cc: New.
1393         * testsuite/20_util/bind/49058_2.cc: Likewise.
1394
1395 2011-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
1396
1397         * include/bits/unique_ptr.h: Use noexcept per the FDIS.
1398
1399 2011-05-20  Paolo Carlini  <paolo.carlini@oracle.com>
1400
1401         * testsuite/21_strings/basic_string/requirements/exception/
1402         propagation_consistent.cc: Fix vs POD-ness of value_type.
1403         * testsuite/21_strings/basic_string/requirements/exception/
1404         basic.cc: Likewise.
1405         * testsuite/ext/vstring/requirements/exception/
1406         propagation_consistent.cc: Likewise.
1407         * testsuite/ext/vstring/requirements/exception/basic.cc: Likewise.
1408
1409 2011-05-20  Paolo Carlini  <paolo.carlini@oracle.com>
1410
1411         * include/bits/char_traits.h: Use noexcept throughout.
1412         * include/std/typeindex: Likewise.
1413
1414         * include/std/tuple (_Tuple_impl<>_Tuple_impl(_Tuple_impl&&)): Use
1415         noexcept; adjust callers.
1416         * include/bits/stl_pair.h (pair<>::pair(pair<>&&)): Use noexcept.
1417         * testsuite/20_util/tuple/cons/noexcept_move_construct.cc: New.
1418         * testsuite/20_util/pair/cons/noexcept_move_construct.cc: Likewise.
1419         * testsuite/20_util/pair/noexcept_swap.cc: Likewise.
1420         * testsuite/20_util/pair/noexcept_move_assign.cc: Likewise.
1421         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
1422         line numbers.
1423
1424 2011-05-20  Jason Merrill  <jason@redhat.com>
1425
1426         * include/ext/pb_ds/assoc_container.hpp: Explicitly qualify calls to
1427         functions from dependent bases.
1428         * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise.
1429         * include/ext/pb_ds/detail/rb_tree_map_/
1430         split_join_fn_imps.hpp: Likewise.
1431         * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise.
1432         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise.
1433         * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise.
1434         * include/ext/pb_ds/detail/splay_tree_/
1435         split_join_fn_imps.hpp: Likewise.
1436         * include/ext/pb_ds/detail/tree_policy/
1437         order_statistics_imp.hpp: Likewise.
1438         * include/ext/pb_ds/detail/trie_policy/
1439         prefix_search_node_update_imp.hpp: Likewise.
1440         * include/ext/rc_string_base.h: Likewise.
1441         * include/ext/rope: Likewise.
1442         * include/ext/ropeimpl.h: Likewise.
1443         * testsuite/util/exception/safety.h: Likewise.
1444         * testsuite/util/native_type/native_priority_queue.hpp: Likewise.
1445         * testsuite/util/testsuite_io.h: Likewise.
1446         * include/std/functional: Declare mem_fn earlier.
1447         * include/tr1/functional: Likewise.
1448         * include/tr1/exp_integral.tcc: Declare __expint_E1 earlier.
1449
1450 2011-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
1451
1452         * include/std/tuple (tuple_element<__i, const _Tp>,
1453         tuple_element<__i, volatile _Tp>, tuple_element<__i,
1454         const volatile _Tp>, tuple_size<const _Tp>, tuple_size<volatile _Tp>,
1455         tuple_size<const volatile _Tp>): Add.
1456         * include/std/utility (tuple_size<std::pair<_Tp1, _Tp2>>): Tweak.
1457         * include/std/array (tuple_size<array<_Tp, _Nm>>): Likewise.
1458         * testsuite/20_util/tuple/cv_tuple_size.cc: New.
1459         * testsuite/20_util/tuple/cv_tuple_element.cc: Likewise.
1460         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Tweak dg-warning
1461         line number.
1462
1463 2011-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
1464
1465         * include/std/tuple (tuple<>::operator=(tuple&&)): Specify as
1466         noexcept.
1467         (__get_helper): Likewise.
1468         (_Head_base<>::_M_head, _Tuple_impl<>::_M_head, _M_tail): Likewise.
1469         * include/bits/move.h (swap): Likewise.
1470         * include/bits/algorithmfwd.h (swap): Adjust.
1471         * include/bits/stl_pair.h (pair<>::operator=(pair&&)): Spec noexcept.
1472         * testsuite/util/testsuite_allocator.h (uneq_allocator): In C++0x
1473         mode, prefer delete to access control to make the type not copy
1474         assignable.
1475         * testsuite/util/testsuite_tr1.h: Add test classes.
1476         * testsuite/20_util/tuple/noexcept_swap.cc: New.
1477         * testsuite/20_util/tuple/noexcept_move_assign.cc: Likewise.
1478         * testsuite/25_algorithms/reverse/moveable.cc: Likewise, prefer
1479         delete to access control.
1480         * testsuite/25_algorithms/swap_ranges/moveable.cc: Likewise.
1481         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
1482         line numbers.
1483
1484 2011-05-19  Daniel Krugler  <daniel.kruegler@googlemail.com>
1485
1486         * testsuite/util/testsuite_tr1.h: Add test classes.
1487         * testsuite/20_util/is_nothrow_assignable/value.cc: Add.
1488
1489 2011-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
1490
1491         * include/std/type_traits (is_assignable, is_copy_assignable,
1492         is_move_assignable, is_nothrow_assignable, is_nothrow_copy_assignable,
1493         is_nothrow_move_assignable): Add; minor tweaks elsewhere.
1494         (has_nothrow_copy_assign): Remove.
1495         * testsuite/util/testsuite_tr1.h: Add test classes.
1496         * testsuite/20_util/is_assignable/requirements/typedefs.cc: Add.
1497         * testsuite/20_util/is_assignable/requirements/
1498         explicit_instantiation.cc: Likewise.
1499         * testsuite/20_util/is_nothrow_assignable/value.cc: Likewise.
1500         * testsuite/20_util/is_nothrow_assignable/requirements/typedefs.cc:
1501         Likewise.
1502         * testsuite/20_util/is_nothrow_assignable/requirements/
1503         explicit_instantiation.cc: Likewise.
1504         * testsuite/20_util/is_move_assignable/value.cc: Likewise.
1505         * testsuite/20_util/is_move_assignable/requirements/typedefs.cc:
1506         Likewise.
1507         * testsuite/20_util/is_move_assignable/requirements/
1508         explicit_instantiation.cc: Likewise.
1509         * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
1510         * testsuite/20_util/is_copy_assignable/requirements/typedefs.cc:
1511         Likewise.
1512         * testsuite/20_util/is_copy_assignable/requirements/
1513         explicit_instantiation.cc: Likewise.
1514         * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
1515         * testsuite/20_util/is_nothrow_move_assignable/requirements/
1516         typedefs.cc: Likewise.
1517         * testsuite/20_util/is_nothrow_move_assignable/requirements/
1518         explicit_instantiation.cc: Likewise.
1519         * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
1520         * testsuite/20_util/is_nothrow_copy_assignable/requirements/
1521         typedefs.cc: Likewise.
1522         * testsuite/20_util/is_nothrow_copy_assignable/requirements/
1523         explicit_instantiation.cc: Likewise.
1524         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1525         dg-error line numbers.
1526         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1527         Likewise.
1528         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1529
1530 2011-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1531
1532         * include/bits/shared_ptr_base.h: Use noexcept. Define special member
1533         functions as defaulted/deleted.
1534         * include/bits/shared_ptr.h: Use noexcept.
1535         * 20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line numbers.
1536         * 20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
1537
1538 2011-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1539
1540         * doc/xml/manual/bitmap_allocator.xml: Fix typos.
1541
1542 2011-05-18  Paolo Carlini  <paolo.carlini@oracle.com>
1543
1544         * libsupc++/initializer_list: Use noexcept specifier.
1545         (initializer_list<>::size, begin, end): Qualify as const.
1546         * include/bits/move.h (__addressof, forward, move, addressof): Specify
1547         as noexcept.
1548         * include/std/bitset: Use noexcept specifier throughout.
1549         * include/debug/bitset: Update.
1550         * include/profile/bitset: Likewise.
1551
1552 2011-05-17  Paolo Carlini  <paolo.carlini@oracle.com>
1553
1554         * include/std/tuple: Use noexcept where appropriate.
1555         (tuple<>::swap): Rework implementation.
1556         (_Head_base<>::_M_swap_impl): Remove.
1557         (get(std::tuple<>&&)): Add.
1558         * testsuite/20_util/tuple/element_access/get2.cc: New.
1559         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
1560         line number.
1561
1562 2011-05-16  Paolo Carlini  <paolo.carlini@oracle.com>
1563
1564         * include/std/utility: Simplify the last commit, the whole
1565         std::get code is C++0x only.
1566
1567 2011-05-16  Paolo Carlini  <paolo.carlini@oracle.com>
1568
1569         * include/std/utility (get(std::pair<>&&)): Add.
1570         * include/bits/stl_pair.h (pair::swap(pair&),
1571         swap(pair<>&, pair<>&)): Use noexcept.
1572         * include/bits/random.h (discard_block_engine<>::base,
1573         independent_bits_engine<>::base, shuffle_order_engine<>::base,
1574         random_device::entropy): Use noexcept.
1575         * include/std/array: Use noexcept where appropriate.
1576         (get(array<>&&)): Add.
1577         * testsuite/23_containers/array/requirements/get.cc: New.
1578         * testsuite/20_util/pair/get.cc: Likewise.
1579         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Tweak dg-error
1580         line number.
1581
1582 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
1583
1584         * include/bits/c++config (_GLIBCXX_NOEXCEPT, _GLIBCXX_USE_NOEXCEPT):
1585         Add.
1586         * include/std/limits: Use the latter everywhere.
1587         (numeric_limits<char16_t>, numeric_limits<char32_t>): Simplify
1588         macro usages, the specializations exist only in C++0x mode.
1589         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
1590         line number.
1591
1592 2011-05-11  Paolo Carlini  <paolo.carlini@oracle.com>
1593
1594         * testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc: Use
1595         dg-require-cmath.
1596         * testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc: Likewise.
1597
1598 2011-05-11  François Dumont  <francois.cppdevs@free.fr>
1599
1600         * include/ext/pb_ds/detail/resize_policy/
1601         hash_load_check_resize_trigger_imp.hpp (assert_valid): Replace
1602         _GLIBCXX_DEBUG_ASSERT calls with PB_DS_DEBUG_VERIFY.
1603         * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp,
1604         find_fn_imps.hpp, insert_fn_imps.hpp, binomial_heap_base_.hpp,
1605         constructors_destructor_fn_imps.hpp, split_join_fn_imps.hpp
1606         (PB_DS_ASSERT_VALID): Rename in PB_DS_ASSERT_VALID_COND.
1607         * include/ext/pb_ds/detail/debug_map_base.hpp,
1608         splay_tree_/splay_tree_.hpp, ov_tree_map_/ov_tree_map_.hpp,
1609         cc_hash_table_map_/cc_ht_map_.hpp, pat_trie_/pat_trie_.hpp,
1610         leaf.hpp, internal_node.hpp, gp_hash_table_map_/gp_ht_map_.hpp,
1611         bin_search_tree_/bin_search_tree_.hpp, list_update_map_/lu_map_.hpp,
1612         rb_tree_map_/rb_tree_.hpp (PB_DS_ASSERT_VALID, PB_DS_DEBUG_VERIFY,
1613         PB_DS_CHECK_KEY_EXISTS, PB_DS_CHECK_KEY_DOES_NOT_EXIST): Duplicate
1614         macro definitions move...
1615         * include/ext/pb_ds/detail/container_base_dispatch.hpp: ... here...
1616         * include/ext/pb_ds/detail/basic_tree_policy/traits.hpp: ... and here.
1617         * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp,
1618         resize_policy.hpp, pairing_heap_/pairing_heap_.hpp,
1619         left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp,
1620         binomial_heap_/binomial_heap_.hpp, thin_heap_/thin_heap_.hpp,
1621         rc_binomial_heap_/rc_binomial_heap_.hpp, rc.hpp (PB_DS_ASSERT_VALID,
1622         PB_DS_DEBUG_VERIFY): Duplicate macro definitions move...
1623         * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp:
1624         ...here.
1625
1626 2011-05-09  Paolo Carlini  <paolo.carlini@oracle.com>
1627
1628         PR libstdc++/48933
1629         * include/c_global/cmath (acosh, asinh, atanh, cbrt, copysign,
1630         erf, erfc, exp2, expm1, fdim, fma, fmax, hypot, ilogb, lgamma,
1631         llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
1632         nextafter, nexttoward, remainder, remquo, rint, round, scalbln,
1633         scalbn, tgamma, trunc): Use __enable_if on the return type.
1634         * include/tr1/cmath: Likewise.
1635         * testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc: New.
1636         * testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc: Likewise.
1637
1638 2011-05-07  François Dumont  <francois.cppdevs@free.fr>
1639
1640         * include/debug/macro.h (_GLIBCXX_DEBUG_VERIFY_AT): New.
1641         (_GLICXX_DEBUG_VERIFY): Use latter.
1642         * include/ext/pb_ds/detail/resize_policy/
1643         hash_load_check_resize_trigger_imp.hpp: Emit assertion on the line
1644         containing the original assert call.
1645         * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp,
1646         find_fn_imps.hpp, insert_fn_imps.hpp, binomial_heap_base_.hpp,
1647         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
1648         split_join_fn_imps.hpp: Likewise.
1649         * include/ext/pb_ds/detail/cc_hash_table_map_/
1650         erase_store_hash_fn_imps.hpp, insert_no_store_hash_fn_imps.hpp,
1651         find_fn_imps.hpp, insert_store_hash_fn_imps.hpp, debug_fn_imps.hpp,
1652         debug_no_store_hash_fn_imps.hpp, cc_ht_map_.hpp, resize_fn_imps.hpp,
1653         constructor_destructor_fn_imps.hpp, debug_store_hash_fn_imps.hpp,
1654         erase_no_store_hash_fn_imps.hpp: Likewise.
1655         * include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp,
1656         insert_join_fn_imps.hpp, pat_trie_/head.hpp, debug_fn_imps.hpp,
1657         constructors_destructor_fn_imps.hpp, pat_trie_.hpp, split_fn_imps.hpp,
1658         leaf.hpp, erase_fn_imps.hpp, node_base.hpp, internal_node.hpp:
1659         Likewise.
1660         * include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp,
1661         r_erase_fn_imps.hpp, constructors_destructor_fn_imps.hpp,
1662         debug_fn_imps.hpp, rotate_fn_imps.hpp, erase_fn_imps.hpp,
1663         bin_search_tree_.hpp, insert_fn_imps.hpp, split_join_fn_imps.hpp:
1664         Likewise.
1665         * include/ext/pb_ds/detail/gp_hash_table_map_/
1666         erase_store_hash_fn_imps.hpp, insert_no_store_hash_fn_imps.hpp,
1667         find_fn_imps.hpp, gp_ht_map_.hpp, insert_store_hash_fn_imps.hpp,
1668         debug_fn_imps.hpp, erase_fn_imps.hpp, debug_no_store_hash_fn_imps.hpp,
1669         resize_fn_imps.hpp, constructor_destructor_fn_imps.hpp,
1670         debug_store_hash_fn_imps.hpp, erase_no_store_hash_fn_imps.hpp:
1671         Likewise.
1672         * include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp,
1673         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
1674         erase_fn_imps.hpp, insert_fn_imps.hpp, binary_heap_.hpp,
1675         resize_policy.hpp, split_join_fn_imps.hpp: Likewise.
1676         * include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp,
1677         find_fn_imps.hpp, insert_fn_imps.hpp,
1678         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
1679         pairing_heap_.hpp, split_join_fn_imps.hpp: Likewise.
1680         * include/ext/pb_ds/detail/binomial_heap_/
1681         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
1682         binomial_heap_.hpp: Likewise.
1683         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1684         erase_fn_imps.hpp, left_child_next_sibling_heap_.hpp,
1685         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp: Likewise.
1686         * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp,
1687         find_fn_imps.hpp, thin_heap_.hpp, insert_fn_imps.hpp,
1688         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
1689         split_join_fn_imps.hpp: Likewise.
1690         * include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp,
1691         ov_tree_map_.hpp, constructors_destructor_fn_imps.hpp,
1692         debug_fn_imps.hpp, split_join_fn_imps.hpp, info_fn_imps.hpp: Likewise.
1693         * include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
1694         * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp,
1695         find_fn_imps.hpp, insert_fn_imps.hpp,
1696         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
1697         splay_fn_imps.hpp, split_join_fn_imps.hpp, splay_tree_.hpp: Likewise.
1698         * include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp,
1699         find_fn_imps.hpp, lu_map_.hpp, constructor_destructor_fn_imps.hpp,
1700         insert_fn_imps.hpp, debug_fn_imps.hpp: Likewise.
1701         * include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp,
1702         rc_binomial_heap_.hpp, insert_fn_imps.hpp,
1703         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp, rc.hpp,
1704         split_join_fn_imps.hpp: Likewise.
1705         * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp,
1706         insert_fn_imps.hpp, constructors_destructor_fn_imps.hpp,
1707         debug_fn_imps.hpp, rb_tree_.hpp, split_join_fn_imps.hpp: Likewise.
1708         * include/ext/pb_ds/hash_policy.hpp: Likewise.
1709
1710 2011-05-06  Paolo Carlini  <paolo.carlini@oracle.com>
1711
1712         * testsuite/22_locale/messages_byname/named_equivalence.cc: Fix.
1713
1714 2011-05-04  Marc Glisse  <marc.glisse@normalesup.org>
1715
1716         PR libstdc++/47913 (again)
1717         * include/std/ratio (ratio_add, ratio_less): Rewrite.
1718         * testsuite/20_util/ratio/operations/47913.cc: Extend.
1719         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust dg-error
1720         line numbers.
1721         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
1722
1723 2011-05-03  Paolo Carlini  <paolo.carlini@oracle.com>
1724
1725         PR libstdc++/48848
1726         * include/std/valarray (valarray<>::valarray(valarray&&),
1727         valarray<>::operator=(valarray&&), valarray<>::swap): Add.
1728         * doc/xml/manual/status_cxx200x.xml: Update.
1729         * testsuite/26_numerics/valarray/moveable.cc: New.
1730         * testsuite/26_numerics/valarray/swap.cc: Likewise.
1731
1732 2011-05-03  Paolo Carlini  <paolo.carlini@oracle.com>
1733
1734         PR libstdc++/48750
1735         * include/parallel/multiway_merge.h: Run _ValueType destructors.
1736         * include/parallel/multiway_mergesort.h: Likewise.
1737         * include/parallel/quicksort.h: Likewise.
1738         * include/parallel/random_shuffle.h: Likewise.
1739         * include/parallel/partial_sum.h: Likewise.
1740         * include/parallel/losertree.h: Run destructors; minor tweaks.
1741         * include/parallel/par_loop.h: Run destructors, fix memory
1742         allocations and deallocations.
1743         * testsuite/26_numerics/accumulate/48750.cc: New.
1744
1745         * testsuite/ext/profile/mutex_extensions_neg.cc: Do not run in
1746         parallel-mode to avoid spurious multiple errors.
1747
1748 2011-05-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
1749
1750         * include/std/functional (bind): Remove from overload set when first
1751         argument type might be a socket file descriptor.
1752         * testsuite/20_util/bind/socket.cc: New.
1753
1754 2011-05-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
1755
1756         PR libstdc++/48848
1757         * doc/xml/manual/status_cxx200x.xml: Update valarray status.
1758         * doc/html/*: Regenerate.
1759
1760 2011-05-02  Ollie Wild  <aaw@google.com>
1761
1762         * include/ext/sso_string_base.h (__sso_string_base<>::_M_construct):
1763         Fix unqualified lookup.
1764         (__sso_string_base<>::_M_assign): Likewise.
1765         (__sso_string_base<>::_M_reserve): Likewise.
1766         (__sso_string_base<>::_M_mutate): Likewise.
1767         (__sso_string_base<>::_M_erase): Likewise.
1768         * include/ext/vstring.h (__versa_string<>::replace): Likewise.
1769         (__versa_string<>::compare): Likewise.
1770         * include/ext/vstring.tcc (__versa_string<>::compare): Likewise.
1771
1772 2011-05-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1773
1774         * doc/xml/manual/status_cxx200x.xml: Update to reflect current status
1775         and FDIS content.
1776         * doc/xml/manual/documentation_hacking.xml: Fix typo.
1777         * doc/html/*: Regenerate.
1778
1779 2011-04-30  Daniel Krugler  <daniel.kruegler@googlemail.com>
1780
1781         * include/std/type_traits (__is_default_constructible_atom,
1782         __is_default_constructible_safe<, true>,
1783         __is_direct_constructible_new_safe,
1784         __is_base_to_derived_ref<,, true>, __is_lvalue_to_rvalue_ref<,, true>,
1785         __is_direct_constructible_ref_cast, __is_direct_constructible,
1786         __is_nary_constructible): Simplify; add comments throughout.
1787
1788 2011-04-30  Paolo Carlini  <paolo.carlini@oracle.com>
1789
1790         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1791         Adjust dg-error line numbers.
1792         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1793         Likewise.
1794         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1795
1796 2011-04-30  Doug Kwan  <dougkwan@google.com>
1797
1798         * include/Makefile.am (install-freestanding-headers): Also install
1799         cxxabi_tweaks.h.
1800         * include/Makefile.in: Regenerate.
1801
1802 2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>
1803
1804         PR libstdc++/48760
1805         * include/std/complex (complex<float>::complex(float, float),
1806         complex<double>::complex(double, double),
1807         complex<long double>::complex(long double, long double)): Use
1808         list-initialization in C++0x mode, initialize in the body in
1809         C++03 mode.
1810         * testsuite/26_numerics/complex/cons/48760.cc: New.
1811         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
1812
1813 2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>
1814
1815         * include/std/bitset (_Base_bitset(unsigned long long)): Minor
1816         tweak, remove redundant round braces.
1817
1818 2011-04-27  Paolo Carlini  <paolo.carlini@oracle.com>
1819
1820         * include/bits/move.h (move_if_noexcept): Add.
1821         * testsuite/20_util/move_if_noexcept/requirements/
1822         explicit_instantiation.cc: New.
1823         * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
1824
1825 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
1826
1827         * include/std/type_traits (struct underlying_type): Add.
1828         * testsuite/20_util/underlying_type/requirements/typedefs-1.cc: New.
1829         * testsuite/20_util/underlying_type/requirements/typedefs-2.cc:
1830         Likewise.
1831         * testsuite/20_util/underlying_type/requirements/
1832         explicit_instantiation.cc: Likewise.
1833         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1834         line number.
1835
1836 2011-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
1837
1838         * include/parallel/multiway_merge.h: Uglify equally_split
1839         and equally_split_point throughout.
1840         * include/parallel/par_loop.h: Likewise.
1841         * include/parallel/equally_split.h: Likewise.
1842         * include/parallel/set_operations.h: Likewise.
1843         * include/parallel/unique_copy.h: Likewise.
1844         * include/parallel/multiway_mergesort.h: Likewise.
1845         * include/parallel/search.h: Likewise.
1846         * include/parallel/partial_sum.h: Likewise.
1847         * include/parallel/find.h: Likewise.
1848
1849 2011-04-24  Gerald Pfeifer  <gerald@pfeifer.com>
1850
1851         * doc/xml/manual/parallel_mode.xml: Fix link to libgomp online
1852         documentation.  Expand link text.
1853
1854 2011-04-24  Gerald Pfeifer  <gerald@pfeifer.com>
1855
1856         * libsupc++/cxxabi.h: Adjust link to FAQ entry.
1857
1858 2011-04-22  François Dumont  <francois.cppdevs@free.fr>
1859
1860         * testsuite/lib/libstdc++.exp (check_v3_target_time): Discard
1861         unused compilation result thanks to /dev/null.
1862         * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode,
1863         check_v3_target_profile_mode, check_v3_target_normal_mode,
1864         check_v3_target_cstdint, check_v3_target_cmath,
1865         check_v3_target_atomic_builtins, check_v3_target_gthreads,
1866         check_v3_target_nanosleep, check_v3_target_sched_yield,
1867         check_v3_target_string_conversions, check_v3_target_swprintf,
1868         check_v3_target_binary_io): Use simple preprocessing rather than
1869         compilation. Discard unused preprocessing result thanks to /dev/null.
1870
1871 2011-04-20  Jim Meyering  <meyering@redhat.com>
1872
1873         * libsupc++/del_opnt.cc (operator delete): Remove useless
1874         if-before-free.
1875
1876 2011-04-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
1877
1878         PR libstdc++/48521
1879         * include/std/type_traits (result_of): Handle pointer to member.
1880         * include/std/functional (__invoke): Likewise.
1881         (_Function_to_function_pointer): Remove.
1882         (_Reference_wrapper_base): Provide nested types independent of
1883         unary_function and binary_function.
1884         (reference_wrapper::operator()): DR 2017.
1885         (ref(const A&&), cref(const A&&): Define as deleted.
1886         * include/std/future (async): Simplify SFINAE and use result_of to
1887         support pointer to member.
1888         * testsuite/20_util/reference_wrapper/invoke.cc: Test pointer to
1889         member.
1890         * testsuite/20_util/reference_wrapper/24803.cc: Likewise.
1891         * testsuite/20_util/reference_wrapper/typedefs.cc: Test for types
1892         instead of derivation from unary_function and binary_function.
1893         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
1894         * testsuite/20_util/reference_wrapper/invoke-2.cc: New.
1895         * testsuite/20_util/reference_wrapper/ref_neg.c: New.
1896         * testsuite/20_util/reference_wrapper/typedefs-3.c: New.
1897
1898 2011-04-19  Hans-Peter Nilsson  <hp@axis.com>
1899
1900         PR testsuite/48675
1901         * testsuite/20_util/hash/chi2_quality.cc (test_document_words): Stub
1902         this part if SAMPLES < 100000.
1903
1904 2011-04-18  Paolo Carlini  <paolo.carlini@oracle.com>
1905
1906         * include/std/type_traits (is_nothrow_default_constructible,
1907         is_nothrow_copy_constructible, is_nothrow_move_constructible,
1908         is_copy_constructible, is_move_constructible): Add.
1909         (has_nothrow_default_constructor, has_nothrow_copy_constructor):
1910         Remove.
1911         (is_nothrow_constructible): Adjust.
1912
1913         * testsuite/util/testsuite_tr1.h (ThrowDefaultClass,
1914         ThrowCopyConsClass, ThrowMoveConsClass, NoexceptDefaultClass,
1915         ExceptDefaultClass, NoexceptCopyConsClass, ExceptCopyConsClass,
1916         NoexceptMoveConsClass, ExceptMoveConsClass): Add in C++0x mode.
1917
1918         * testsuite/20_util/has_nothrow_default_constructor: Remove.
1919         * testsuite/20_util/has_nothrow_copy_constructor: Likewise.
1920
1921         * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
1922         * testsuite/20_util/is_nothrow_move_constructible/requirements/
1923         typedefs.cc: Likewise.
1924         * testsuite/20_util/is_nothrow_move_constructible/requirements/
1925         explicit_instantiation.cc: Likewise.
1926         * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
1927         * testsuite/20_util/is_nothrow_copy_constructible/requirements/
1928         typedefs.cc: Likewise.
1929         * testsuite/20_util/is_nothrow_copy_constructible/requirements/
1930         explicit_instantiation.cc: Likewise.
1931         * testsuite/20_util/is_nothrow_default_constructible/value.cc:
1932         Likewise.
1933         * testsuite/20_util/is_nothrow_default_constructible/requirements/
1934         typedefs.cc: Likewise.
1935         * testsuite/20_util/is_nothrow_default_constructible/requirements/
1936         explicit_instantiation.cc: Likewise.
1937         * testsuite/20_util/is_move_constructible/value.cc: Likewise.
1938         * testsuite/20_util/is_move_constructible/requirements/typedefs.cc:
1939         Likewise.
1940         * testsuite/20_util/is_move_constructible/requirements/
1941         explicit_instantiation.cc: Likewise.
1942         * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
1943         * testsuite/20_util/is_copy_constructible/requirements/typedefs.cc:
1944         Likewise.
1945         * testsuite/20_util/is_copy_constructible/requirements/
1946         explicit_instantiation.cc: Likewise.
1947
1948         * testsuite/20_util/is_default_constructible/value.cc: Add tests.
1949         * testsuite/20_util/is_nothrow_constructible/value.cc: Likewise.
1950
1951         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1952         Adjust dg-error line numbers.
1953         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1954         Likewise.
1955         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1956
1957 2011-04-17  Paolo Carlini  <paolo.carlini@oracle.com>
1958
1959         * testsuite/25_algorithms/partition/moveable.cc: Actually run
1960         it in parallel-mode for check-parallel.
1961
1962 2011-04-17  Daniel Krugler  <daniel.kruegler@googlemail.com>
1963             Paolo Carlini  <paolo.carlini@oracle.com>
1964
1965         PR libstdc++/48635 (again)
1966         * include/bits/unique_ptr.h (unique_ptr<>::unique_ptr(unique_ptr<>&&),
1967         unique_ptr<_Tp[]>::unique_ptr(unique_ptr<>&&),
1968         unique_ptr<>::operator=(unique_ptr<>&&),
1969         unique_ptr<_Tp[]>::operator=(unique_ptr<>&&)): Use forward<_Ep>, not
1970         forward<_Dp>, to forward the deleter.
1971         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: New.
1972
1973 2011-04-15  Daniel Krugler  <daniel.kruegler@googlemail.com>
1974             Paolo Carlini  <paolo.carlini@oracle.com>
1975
1976         PR libstdc++/48631
1977         * include/bits/unique_ptr.h (default_delete<_Tp[]>): Add deleted
1978         function call operator.
1979         * testsuite/20_util/default_delete/48631_neg.cc: New.
1980         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
1981         line numbers.
1982
1983 2011-04-15  Daniel Krugler  <daniel.kruegler@googlemail.com>
1984             Paolo Carlini  <paolo.carlini@oracle.com>
1985
1986         PR libstdc++/48635
1987         * include/bits/unique_ptr.h (unique_ptr<>::operator=(unique_ptr&&),
1988         unique_ptr<>::operator=(unique_ptr<>&&),
1989         unique_ptr<_Tp[],>::operator=(unique_ptr&&),
1990         unique_ptr<_Tp[],>::operator=(unique_ptr<>&&)): Forward the deleter
1991         instead of moving it.
1992         * testsuite/20_util/unique_ptr/assign/48635.cc: New.
1993
1994 2011-04-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1995
1996         * scripts/extract_symvers.pl: Handle NOTY.
1997
1998 2011-04-15  Paolo Carlini  <paolo.carlini@oracle.com>
1999
2000         * include/std/istream: Fix comments in the light of DR60 + N3168.
2001
2002 2011-04-13  Daniel Krugler  <daniel.kruegler@googlemail.com>
2003             Paolo Carlini  <paolo.carlini@oracle.com>
2004
2005         PR libstdc++/48526
2006         * include/std/type_traits (struct is_constructible): Re-implement,
2007         according to n3290.
2008         (struct is_default_constructible): Add.
2009         (struct is_destructible): Likewise.
2010         (struct __and_, __or_, __not_): Add and use throughout; reorder some
2011         facilities, other minor tweaks.
2012         * testsuite/util/testsuite_tr1.h: Add test types.
2013         * testsuite/20_util/is_constructible/value-2.cc: New.
2014         * testsuite/20_util/is_default_constructible/value.cc: Likewise.
2015         * testsuite/20_util/is_default_constructible/requirements/typedefs.cc:
2016         Likewise.
2017         * testsuite/20_util/is_default_constructible/requirements/
2018         explicit_instantiation.cc: Likewise.
2019         * testsuite/20_util/is_destructible/value.cc: Likewise.
2020         * testsuite/20_util/is_destructible/requirements/typedefs.cc:
2021         Likewise.
2022         * testsuite/20_util/is_destructible/requirements/
2023         explicit_instantiation.cc: Likewise.
2024         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
2025         dg-error line numbers.
2026         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2027         Likewise.
2028         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2029         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
2030
2031 2011-04-13  Paolo Carlini  <paolo.carlini@oracle.com>
2032
2033         * testsuite/20_util/is_function/value.cc: Add, adapted from the tr
2034         testsuite.
2035         * testsuite/20_util/is_function/requirements/typedefs.cc: Likewise.
2036         * testsuite/20_util/is_function/requirements/
2037         explicit_instantiation.cc: Likewise.
2038         * testsuite/20_util/is_function/24808.cc: Likewise.
2039         * testsuite/20_util/is_function/35637.cc: Likewise.
2040         * testsuite/20_util/is_object/value.cc: Likewise.
2041         * testsuite/20_util/is_object/requirements/typedefs.cc: Likewise.
2042         * testsuite/20_util/is_object/requirements/explicit_instantiation.cc:
2043         : Likewise.
2044         * testsuite/20_util/is_object/24808.cc: Likewise.
2045         * testsuite/20_util/is_compound/value.cc: Likewise.
2046         * testsuite/20_util/is_compound/requirements/typedefs.cc: Likewise.
2047         * testsuite/20_util/is_compound/requirements/
2048         explicit_instantiation.cc: Likewise.
2049         * testsuite/20_util/is_member_object_pointer/value.cc: Likewise.
2050         * testsuite/20_util/is_member_object_pointer/requirements/
2051         typedefs.cc: Likewise.
2052         * testsuite/20_util/is_member_object_pointer/requirements/
2053         explicit_instantiation.cc: Likewise.
2054         * testsuite/20_util/is_fundamental/value.cc: Likewise.
2055         * testsuite/20_util/is_fundamental/requirements/typedefs.cc: Likewise.
2056         * testsuite/20_util/is_fundamental/requirements/
2057         explicit_instantiation.cc: Likewise.
2058         * testsuite/20_util/is_member_pointer/value.cc: Likewise.
2059         * testsuite/20_util/is_member_pointer/requirements/typedefs.cc:
2060         Likewise.
2061         * testsuite/20_util/is_member_pointer/requirements/
2062         explicit_instantiation.cc: Likewise.
2063         * testsuite/20_util/is_member_function_pointer/value.cc: Likewise.
2064         * testsuite/20_util/is_member_function_pointer/
2065         requirements/typedefs.cc: Likewise.
2066         * testsuite/20_util/is_member_function_pointer/requirements/
2067         explicit_instantiation.cc: Likewise.
2068
2069         * testsuite/20_util/is_convertible/value.cc: Minor tweak, adjust
2070         Copyright years.
2071
2072 2011-04-12  Takaya Saito  <gintensubaru@gmail.com>
2073
2074         PR libstdc++/48476
2075         * include/std/tuple (_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&),
2076         _Tuple_impl<>::operator=(_Tuple_impl&&), _Tuple_impl<>::operator=
2077         (_Tuple_impl<>&&), tuple_cat): Use std::forward where appropriate.
2078         * testsuite/20_util/tuple/cons/48476.cc: New.
2079         * testsuite/20_util/tuple/48476.cc: Likewise.
2080         * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
2081
2082 2011-04-12  Allan McRae  <allan@archlinux.org>
2083
2084         PR libstdc++/48566
2085         * testsuite/tr1/6_containers/unordered_map/requirements/
2086         iterator_null_neg.cc: Include <cstddef>.
2087         * testsuite/tr1/6_containers/unordered_set/requirements/
2088         iterator_null_neg.cc: Likewise.
2089         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Include
2090         <cstring>.
2091         * testsuite/util/testsuite_common_types.h: Include <limits>.
2092         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc:
2093         Adjust dg-error line numbers.
2094         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
2095         * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
2096         Likewise.
2097         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
2098         Likewise.
2099         * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
2100         Likewise.
2101         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Likewise.
2102         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
2103
2104 2011-04-11  Jason Merrill  <jason@redhat.com>
2105
2106         * testsuite/20_util/is_convertible/value.cc: Adjust.
2107
2108 2011-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
2109
2110         * testsuite/25_algorithms/inplace_merge/moveable.cc: Actually run
2111         it in parallel-mode for check-parallel.
2112         * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
2113         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
2114         * testsuite/25_algorithms/remove/moveable.cc: Likewise.
2115         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc:
2116         Likewise.
2117         * testsuite/25_algorithms/unique/moveable.cc: Likewise.
2118         * testsuite/25_algorithms/remove_if/moveable.cc: Likewise.
2119         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
2120
2121         * testsuite/25_algorithms/next_permutation/moveable.cc: Only skip
2122         the tests based on std::lexicographical_compare for check-parallel.
2123         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
2124
2125 2011-04-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
2126
2127         PR libstdc++/48541
2128         * include/std/functional (_Base_manager::_M_get_pointer): Use
2129         addressof.
2130         * testsuite/20_util/function/48541.cc: New.
2131
2132 2011-04-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
2133
2134         PR libstdc++/48465
2135         * configure.ac (libtool_VERSION): Bump library version to 6:16:0.
2136         * configure: Regenerate.
2137         * config/abi/pre/gnu.ver (GLIBCXX_3.4.16): Export missing symbols.
2138         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.16.
2139
2140 2011-04-06  Jeffrey Yasskin  <jyasskin@google.com>
2141
2142         * include/ext/algorithm (is_sorted): In C++0x mode import from
2143         namespace std.
2144         * include/ext/numeric (iota): In C++0x mode import from
2145         namespace std.
2146         * testsuite/ext/is_sorted/cxx0x.cc: New.
2147         * testsuite/ext/iota/cxx0x.cc: New.
2148
2149 2011-04-02  Jonathan Wakely  <redi@gcc.gnu.org>
2150
2151         PR libstdc++/48398
2152         * include/bits/unique_ptr.h (__tuple_type): Store pointer type.
2153         * testsuite/20_util/unique_ptr/modifiers/48398.cc: New.
2154         * testsuite/20_util/unique_ptr/requirements/pointer_type.cc: Remove
2155         unused parameter name.
2156
2157 2011-03-31  Jeffrey Yasskin  <jyasskin@google.com>
2158
2159         * libsupc++/exception_ptr.h: Forward-declare std::type_info.
2160         * libsupc++/nested_exception.h (__throw_with_nested): Remove a
2161         redundant default argument from std::__throw_with_nested.
2162
2163 2011-03-31  Paolo Carlini  <paolo.carlini@oracle.com>
2164
2165         PR libstdc++/48382
2166         * src/ctype.cc: Do not include <bits/ctype_noninline.h>.
2167         * src/Makefile.am: Add ctype_configure_char.cc to host_sources.
2168         * src/Makefile.in: Regenerate.
2169         * include/Makefile.am: Remove ctype_noninline.h from host_headers.
2170         * include/Makefile.in: Regenerate.
2171         * doc/xml/manual/internals.xml: Update.
2172         * config/os/newlib/ctype_noninline.h: Fixup and rename to...
2173         * config/os/newlib/ctype_configure_char.cc: ... this.
2174         * config/os/aix/ctype_noninline.h: Likewise.
2175         * config/os/aix/ctype_configure_char.cc: Likewise.
2176         * config/os/vxworks/ctype_noninline.h: Likewise.
2177         * config/os/vxworks/ctype_configure_char.cc
2178         * config/os/hpux/ctype_noninline.h: Likewise.
2179         * config/os/hpux/ctype_configure_char.cc: Likewise.
2180         * config/os/gnu-linux/ctype_noninline.h: Likewise.
2181         * config/os/gnu-linux/ctype_configure_char.cc: Likewise.
2182         * config/os/mingw32/ctype_noninline.h: Likewise.
2183         * config/os/mingw32/ctype_configure_char.cc: Likewise.
2184         * config/os/tpf/ctype_noninline.h: Likewise.
2185         * config/os/tpf/ctype_configure_char.cc: Likewise.
2186         * config/os/uclibc/ctype_noninline.h: Likewise.
2187         * config/os/uclibc/ctype_configure_char.cc: Likewise.
2188         * config/os/bionic/ctype_noninline.h: Likewise.
2189         * config/os/bionic/ctype_configure_char.cc: Likewise.
2190         * config/os/djgpp/ctype_noninline.h: Likewise.
2191         * config/os/djgpp/ctype_configure_char.cc: Likewise.
2192         * config/os/qnx/qnx6.1/ctype_noninline.h: Likewise.
2193         * config/os/qnx/qnx6.1/ctype_configure_char.cc: Likewise.
2194         * config/os/bsd/netbsd/ctype_noninline.h: Likewise.
2195         * config/os/bsd/netbsd/ctype_configure_char.cc: Likewise.
2196         * config/os/bsd/darwin/ctype_noninline.h: Likewise.
2197         * config/os/bsd/darwin/ctype_configure_char.cc: Likewise.
2198         * config/os/bsd/freebsd/ctype_noninline.h: Likewise.
2199         * config/os/bsd/freebsd/ctype_configure_char.cc: Likewise.
2200         * config/os/irix/irix6.5/ctype_noninline.h: Likewise.
2201         * config/os/irix/irix6.5/ctype_configure_char.cc: Likewise.
2202         * config/os/generic/ctype_noninline.h: Likewise.
2203         * config/os/generic/ctype_configure_char.cc: Likewise.
2204         * config/os/solaris/solaris2.7/ctype_noninline.h: Likewise.
2205         * config/os/solaris/solaris2.7/ctype_configure_char.cc: Likewise.
2206
2207 2011-03-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
2208
2209         * include/std/future (future::share): Add.
2210         (packaged_task::result_type): Remove as per LWG 2030.
2211         (packaged_task::packaged_task): Remove redundant constructors, as per
2212         LWG 1514.
2213         * testsuite/30_threads/future/members/share.cc: New.
2214         * testsuite/30_threads/packaged_task/requirements/typedefs.cc: Remove.
2215
2216 2011-03-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
2217
2218         * testsuite/28_regex/match_results/ctors/char/default.cc: Do not call
2219         members which require a fully established result state.
2220         * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
2221
2222 2011-03-25  Paolo Carlini  <paolo.carlini@oracle.com>
2223
2224         * include/bits/random.h (negative_binomial_distribution<>::
2225         negative_binomial_distribution(_IntType, double),
2226         negative_binomial_distribution<>::
2227         negative_binomial_distribution(const param_type&)): Tweak
2228         construction of _M_gd.
2229         * include/bits/random.tcc (negative_binomial_distribution<>::
2230         operator()): Adjust.
2231
2232 2011-03-24  Paolo Carlini  <paolo.carlini@oracle.com>
2233
2234         * include/bits/random.h (negative_binomial_distribution<>::
2235         negative_binomial_distribution(_IntType, double),
2236         negative_binomial_distribution<>::
2237         negative_binomial_distribution(const param_type&)): Fix
2238         construction of _M_gd.
2239         * include/bits/random.tcc (negative_binomial_distribution<>::
2240         operator()): Fix computation, per Leger's algorithm.
2241         * testsuite/util/testsuite_random.h (discrete_pdf,
2242         negative_binomial_pdf, poisson_pdf, uniform_int_pdf): New.
2243         (binomial_pdf): Swap last two parameters.
2244         * testsuite/26_numerics/random/discrete_distribution/
2245         operators/values.cc: New.
2246         * testsuite/26_numerics/random/negative_binomial_distribution/
2247         operators/values.cc: Likewise.
2248         * testsuite/26_numerics/random/poisson_distribution/
2249         operators/values.cc: Likewise.
2250         * testsuite/26_numerics/random/uniform_int_distribution/
2251         operators/values.cc: Likewise.
2252         * testsuite/26_numerics/random/binomial_distribution/
2253         operators/values.cc: Adjust.
2254
2255 2011-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2256
2257         * config/abi/post/solaris2.8/baseline_symbols.txt: Regenerate.
2258         * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
2259         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2260         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2261         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2262
2263 2011-03-23  Matthias Klose  <doko@ubuntu.com>
2264
2265         * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Regenerated.
2266
2267 2011-03-23  Uros Bizjak  <ubizjak@gmail.com>
2268
2269         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.
2270
2271 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
2272
2273         * configure.ac: Don't handle powerpc*-*-gnu*.
2274         * configure: Regenerate.
2275
2276 2011-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
2277
2278         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Tweak
2279         Copyright years.
2280         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
2281         Likewise.
2282
2283 2011-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
2284
2285         * include/bits/shared_ptr.h (operator>, operator<=, operator>=): Add,
2286         per DR 1401.
2287         (operator==, operator!=, operator<): Fix per the letter of DR 1401.
2288         * include/bits/shared_ptr_base.h: Likewise for __shared_ptr.
2289         * include/bits/unique_ptr.h (operator==, operator!=, operator<,
2290         operator<=, operator>, operator>=): Fix per the letter of DR 1401.
2291         * testsuite/20_util/shared_ptr/comparison/dr1401.cc: New.
2292         * testsuite/20_util/unique_ptr/comparison/dr1401.cc: Likewise.
2293         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust.
2294
2295 2011-03-22  Jakub Jelinek  <jakub@redhat.com>
2296
2297         * config/abi/pre/gnu.ver (GLIBCXX_3.4.15): Export _ZNSsC2EOSs
2298         and _ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_.
2299         * config/abi/post/solaris2.8/baseline_symbols.txt: Regenerated.
2300         * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
2301         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2302         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2303         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2304         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2305         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2306         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2307         Likewise.
2308         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2309         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2310         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2311         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2312         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
2313         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2314         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: New test.
2315         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc: New
2316         test.
2317
2318 2011-03-21  Jack Howarth  <howarth@bromo.med.uc.edu>
2319
2320         * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune "could not
2321         create compact unwind for" warnings.
2322
2323 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
2324
2325         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2326         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2327         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2328         Likewise.
2329         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2330         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2331         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2332         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2333         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2334         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2335         * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
2336         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2337         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2338
2339         * testsuite/util/testsuite_abi.cc (check_version): Set incompatible
2340         even when adding symbols to CXXABI_1.3, GLIBCXX_LDBL_3.4 and
2341         CXXABI_LDBL_1.3 versions.
2342
2343 2011-03-21  Benjamin Kosnik  <bkoz@redhat.com>
2344
2345         * config/abi/pre/gnu.ver: Remove typeinfo name exports for C++0x types.
2346
2347 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
2348
2349         * config/abi/pre/gnu.ver (CXXABI_1.3): Don't export _ZT[IS][PK]*[no].
2350         (CXXABI_1.3.5): Export _ZTI[PK]*[no].
2351
2352 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2353
2354         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on
2355         sparc*-sun-solaris2.10 && lp64.
2356
2357 2011-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
2358
2359         * testsuite/lib/libstdc++.exp (check_v3_target_c99_math): Rename
2360         to check_v3_target_cmath.
2361         * testsuite/lib/dg-options.exp (dg-require-c99_math): Rename
2362         to dg-require-cmath.
2363         * testsuite/26_numerics/random/binomial_distribution/
2364         operators/values.cc: Adjust.
2365
2366 2011-03-18  Diego Novillo  <dnovillo@google.com>
2367
2368         * testsuite/decimal/mixed-mode-arith_neg.cc: Rename from
2369         mixed-mode_neg.cc
2370         * testsuite/decimal/mixed-mode-cmp_neg.cc: Factor out of
2371         mixed-mode-arith_neg.cc
2372
2373 2011-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
2374
2375         * testsuite/util/testsuite_random.h: New.
2376         * testsuite/lib/libstdc++.exp (check_v3_target_c99_math): Add.
2377         * testsuite/lib/dg-options.exp (dg-require-c99_math): Likewise.
2378         * testsuite/26_numerics/random/bernoulli_distribution/
2379         operators/values.cc: New.
2380         * testsuite/26_numerics/random/binomial_distribution/
2381         operators/values.cc: Likewise.
2382         * testsuite/26_numerics/random/geometric_distribution/
2383         operators/values.cc: Likewise.
2384
2385 2011-03-16  Benjamin Kosnik  <bkoz@redhat.com>
2386
2387         * config/abi/pre/gnu.ver: Add base destructors for stdexcept classes.
2388         * testsuite/19_diagnostics/stdexcept.cc: New.
2389
2390 2011-03-15  Benjamin Kosnik  <bkoz@redhat.com>
2391
2392         * include/std/thread: Revert.
2393         * src/thread.cc: Same.
2394         * config/abi/pre/gnu.ver: Same.
2395
2396 2011-03-15  Doug Kwan  <dougkwan@google.com>
2397
2398         PR libstdc++/48123
2399         * include/Makefile.am (install-freestanding-headers): Install
2400         cpu_defines.h
2401         * include/Makefile.in: Regenerate.
2402
2403 2011-03-15  Benjamin Kosnik  <bkoz@redhat.com>
2404
2405         * config/abi/pre/gnu.ver: Make nested_exception exports super clear.
2406         Move bad_function_call exports from CXXABI_1.3.5 to GLIBCXX_3.4.15.
2407
2408 2011-03-14  Benjamin Kosnik  <bkoz@redhat.com>
2409
2410         PR libstdc++/48130
2411         * src/future.cc: Guard definitions.
2412         * libsupc++/nested_exception.cc: Same.
2413
2414 2011-03-14  Benjamin Kosnik  <bkoz@redhat.com>
2415
2416         * src/Makefile.am: Add functional.cc, shared_ptr.cc.
2417         * src/Makefile.in: Regenerate.
2418         * libsupc++/Makefile.am: Add nested_exception.cc.
2419         * libsupc++/Makefile.in: Regenerate.
2420         * src/system_error.cc: Add ctor and dtor definitions for error_category.
2421         * src/functional.cc: New. Add dtor definition for bad_function_call.
2422         * src/stdexcept.cc: Add dtor definitions for domain_error,
2423         invalid_argument, length_error, out_of_range, range_error,
2424         overflow_error, underflow_error.
2425         * src/future.cc: Add dtor definition for __future_base::_Result_base.
2426         * src/shared_ptr.cc: New. Add dtor definition for bad_weak_ptr.
2427         * src/thread.cc: Add dtor for thread::_Impl_base.
2428         * include/std/system_error: Adjust.
2429         * include/std/stdexcept: Same.
2430         * include/std/future: Same.
2431         * include/std/functional: Same.
2432         * include/std/thread: Same.
2433         * include/bits/shared_ptr_base.h: Same.
2434         * libsupc++/nested_exception.cc: New. Add dtor for nested_exception.
2435         * libsupc++/nested_exception.h: Adjust.
2436         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
2437         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
2438         * config/abi/pre/gnu.ver: Add new exports.
2439
2440 2011-03-14  Benjamin Kosnik  <bkoz@redhat.com>
2441
2442         * include/bits/regex_compiler.h: Nest namespace versioning.
2443         * include/bits/regex_grep_matcher.tcc: Same.
2444         * include/bits/regex_grep_matcher.h: Same.
2445         * include/bits/regex_cursor.h: Same.
2446         * include/bits/regex_nfa.h: Same.
2447         * include/bits/regex_nfa.tcc: Same.
2448
2449         * include/bits/regex_grep_matcher.h: Version forward declarations.
2450         * include/bits/c++config: Add namespace association for __regex.
2451         * include/bits/regex.h: Make sub_match consistent.
2452
2453 2011-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2454
2455         * doc/xml/manual/abi.xml: Replace docs.sun.com URLs by their OTN
2456         equivalents.
2457         * doc/html/manual/abi.html: Regenerate.
2458
2459 2011-03-14  Tom Tromey  <tromey@redhat.com>
2460
2461         * python/libstdcxx/v6/printers.py (_use_gdb_pp): New global.
2462         Try to import `gdb.printing' module.
2463         (UniquePointerPrinter.__init__): Add 'typename' argument.
2464         (StdSlistPrinter.__init__): Likewise.
2465         (StdSlistIteratorPrinter.__init__): Likewise.
2466         (StdVectorIteratorPrinter.__init__): Likewise.
2467         (StdRbtreeIteratorPrinter.__init__): Likewise.
2468         (StdDebugIteratorPrinter.__init__): Likewise.
2469         (StdDequeIteratorPrinter.__init__): Likewise.
2470         (StdStringPrinter.__init__): Likewise.
2471         (RxPrinter, Printer): New class.
2472         (libstdcxx_printer): New global.
2473         (register_libstdcxx_printers): Rewrite.
2474         (build_libstdcxx_dictionary): Rewrite.
2475         (pretty_printers_dict): Remove.
2476
2477 2011-03-14  Andrey Zholos  <aaz@althenia.net>
2478
2479         PR libstdc++/48114
2480         * include/bits/random.h (geometric_distribution): Correct formula
2481         in comment, per C++0x.
2482         (geometric_distribution<>::param_type::param_type(double)): Fix check.
2483         (geometric_distribution<>::param_type::_M_initialize):
2484         Store log(1 - p).
2485         * include/bits/random.tcc (geometric_distribution<>::operator()):
2486         Fix computation.
2487         (binomial_distribution<>::operator()): Likewise.
2488
2489 2011-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
2490
2491         * testsuite/util/testsuite_rvalref.h: Minor tweaks.
2492
2493 2011-03-09  Jonathan Wakely  <redi@gcc.gnu.org>
2494             Chris Jefferson  <chris@bubblescope.net>
2495             Paolo Carlini  <paolo.carlini@oracle.com>
2496
2497         * testsuite/util/testsuite_rvalref.h (rvalstruct_compare_by_value):
2498         New.
2499         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc:
2500         Likewise.
2501         * testsuite/25_algorithms/partial_sort/check_compare_by_value:
2502         Likewise.
2503         * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
2504         Likewise.
2505         * testsuite/25_algorithms/sort/check_compare_by_value: Likewise.
2506
2507 2011-03-09  Chris Jefferson  <chris@bubblescope.net>
2508
2509         PR libstdc++/48038
2510         * include/bits/stl_algo.h (__merge_backward): Rename to
2511         __move_merge_backward and change to always move rather than copy.
2512         (__move_merge): New function similar to std::merge except values
2513         are moved instead of copied.
2514         (__merge_adaptive, __merge_sort_loop): Change from using std::merge
2515         and __merge_backward to __move_merge and __move_merge_backward.
2516
2517 2011-03-07  Jason Merrill  <jason@redhat.com>
2518
2519         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
2520         expected errors.
2521
2522 2011-03-07  Benjamin Kosnik  <bkoz@redhat.com>
2523             Matthias Klose  <doko@ubuntu.com>
2524             Jonathan Wakely  <redi@gcc.gnu.org>
2525
2526         PR libstdc++/47145
2527         * acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Define.
2528         * configure.ac: Use it.
2529         * doc/Makefile.am (XSL_STYLE_DIR): Set at configure time.
2530         * configure: Regenerate.
2531         * doc/Makefile.in: Regenerate.
2532
2533 2011-03-04  Benjamin Kosnik  <bkoz@chula>
2534
2535         * src/Makefile.am (inst_sources): Make source instantion files
2536         conditional.
2537         (XTEMPLATE_FLAGS): Make -fno-implicit-templates conditional.
2538         * src/Makefile.in: Regenerate.
2539         * src/valarray-inst.cc: Move to..
2540         * src/valarray.cc: ...this.
2541         * acinclude.m4 (GLIBCXX_ENABLE_EXTERN_TEMPLATE]): Define.
2542         * configure.ac (GLIBCXX_ENABLE_EXTERN_TEMPLATE): Use it.
2543         * configure: Regenerate.
2544         * include/Makefile.am (stamp-extern-template): Add.
2545         * include/Makefile.in: Regenerate.
2546
2547         * doc/xml/manual/configure.xml: Document --enable-extern-template.
2548
2549         * include/bits/locale_classes.tcc: Adjust comment.
2550         * include/bits/locale_facets.tcc: Same.
2551         * include/bits/basic_ios.tcc: Same.
2552         * include/bits/istream.tcc: Same.
2553         * include/bits/codecvt.h: Same.
2554         * include/bits/ostream.tcc: Same.
2555         * include/bits/sstream.tcc: Same.
2556         * include/bits/c++config: Same.
2557         * include/bits/basic_string.tcc: Same.
2558         * include/bits/ostream_insert.h: Same.
2559         * include/bits/locale_facets_nonio.tcc: Same.
2560         * include/bits/streambuf.tcc: Same.
2561         * include/bits/allocator.h: Same.
2562         * include/bits/fstream.tcc: Same.
2563
2564         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
2565
2566 2011-03-02  Benjamin Kosnik  <bkoz@redhat.com>
2567
2568         * testsuite/Makefile.am: Make clean fixups.
2569         * testsuite/Makefile.in: Regenerate.
2570
2571 2011-03-02  Marc Glisse  <marc.glisse@normalesup.org>
2572
2573         * include/std/ratio (ratio_less): Add comments.
2574
2575 2011-03-02  Marc Glisse  <marc.glisse@normalesup.org>
2576
2577         PR libstdc++/47913
2578         * include/std/ratio (ratio_add): Avoid denominator overflow.
2579         * testsuite/20_util/ratio/operations/47913.cc: New.
2580
2581 2011-02-28  Benjamin Kosnik  <bkoz@redhat.com>
2582
2583         * testsuite/20_util/hash/chi2_quality.cc: Use C++0x mode on simulators.
2584         * testsuite/20_util/hash/quality.cc: Same.
2585
2586 2011-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
2587
2588         PR libstdc++/47921
2589         * include/std/streambuf (basic_streambuf<>::__safe_gbump,
2590         __safe_pbump): Add.
2591         * include/bits/streambuf.tcc (basic_streambuf<>::xgetn,
2592         xputn): Use the latter.
2593         * include/bits/streambuf_iterator.h: Likewise.
2594         * src/strstream.cc: Likewise.
2595         * src/streambuf.cc: Likewise.
2596         * src/compatibility.cc: Likewise.
2597         * src/istream.cc: Likewise.
2598         * include/bits/fstream.tcc (basic_filebuf<>::xsgetn): Use setg
2599         instead of gbump.
2600         * include/std/sstream (basic_stringbuf<>::_M_pbump): Add.
2601         * include/bits/sstream.tcc (basic_stringbuf<>::seekoff,
2602         seekpos, _M_sync): Use setg, setp, and _M_pbump.
2603         * config/abi/pre/gnu.ver: Tweak.
2604
2605 2011-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
2606
2607         * testsuite/20_util/ratio/comparisons/comp3.cc: New.
2608
2609 2011-02-28  Marc Glisse  <marc.glisse@normalesup.org>
2610
2611         PR libstdc++/42622
2612         * include/std/ratio (ratio_less): Reimplement to never overflow.
2613         * testsuite/20_util/ratio/comparisons/comp2.cc: Extend.
2614
2615 2011-02-24  Benjamin Kosnik  <bkoz@redhat.com>
2616
2617         * testsuite/18_support/type_info/fundamental.cc: New.
2618
2619         * testsuite/Makefile.am: Make clean fixups.
2620         * testsuite/Makefile.in: Regenerate.
2621
2622 2011-02-19  François Dumont  <francois.cppdevs@free.fr>
2623
2624         * include/debug/string (basic_string::insert): Add iterator check and
2625         pass normal iterator to normal insert.
2626         * include/debug/macros.h (__glibcxx_check_heap,
2627         __glibcxx_check_heap_pred): Remove __glibcxx_check_valid_range,
2628         already done.
2629
2630 2011-02-17  Paolo Carlini  <paolo.carlini@oracle.com>
2631
2632         PR libstdc++/47776
2633         * testsuite/ext/vstring/hash/char/1.cc: Fix.
2634         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
2635
2636 2011-02-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
2637
2638         * include/bits/regex.h (basic_regex::traits_type): Add typedef.
2639         (basic_regex::basic_regex(basic_regex&&)): Add noexcept.
2640         (basic_regex::operator=(basic_regex&&)): Likewise.
2641         (basic_regex::assign(basic_regex&&)): Likewise.
2642         (operator==(sub_match,...)): Implement DR 1181.
2643         (match_results::match_results(match_results&&)): Define.
2644         (match_results::operator=(const match_results&)): Fix parameter type.
2645         (match_results::operator=(match_results&&)): Define.
2646
2647 2011-02-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
2648
2649         PR libstdc++/47724
2650         * include/bits/regex_compiler.h (_Scanner::_M_advance): Do not treat
2651         line anchors as metacharacters.
2652         * testsuite/28_regex/basic_regex/ctors/47724.cc: New.
2653
2654 2011-02-16  Paolo Carlini  <paolo.carlini@oracle.com>
2655
2656         PR libstdc++/47773
2657         * include/ext/vstring.h (hash<__gnu_cxx::__vstring>,
2658         hash<__gnu_cxx::__wvstring>, hash<__gnu_cxx::__u16vstring>,
2659         hash<__gnu_cxx::__u32vstring>): Add.
2660         * testsuite/ext/vstring/hash/char/1.cc: New.
2661         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
2662
2663 2011-02-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2664
2665         * include/bits/regex.h (match_results::format): Use char_traits.
2666
2667 2011-02-16  Benjamin Kosnik  <bkoz@redhat.com>
2668
2669         * include/std/atomic: Remove atomic_address, uplift to N3225.
2670         * include/bits/atomic_0.h: Same.
2671         * include/bits/atomic_2.h: Same.
2672         * include/bits/atomic_base.h: Same.
2673         * testsuite/29_atomics/atomic_address/*: Delete.
2674
2675 2011-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
2676
2677         * include/bits/regex.h (sub_match::sub_match): Add.
2678         (match_results::ready): Add.
2679         (match_results::empty): Adjust.
2680         (match_results::length): Add missing dereference.
2681         (match_results::operator[],prefix,suffix): Add debug mode checks.
2682         (match_results::cend): Re-use end().
2683         (match_results::format): Adjust signatures.
2684         (operator==(match_results,match_results)): Implement.
2685         * include/bits/regex_compiler.h (_Scanner_base): Use constexpr.
2686         * include/bits/regex_constants.h (syntax_option_type): Likewise.
2687         * include/bits/regex_grep_matcher.h: Fix comment typo.
2688         (_SpecializedResults::_SpecializedResults): Simplify.
2689         * include/bits/regex_cursor.h: Fix comment typo.
2690         * include/bits/regex_nfa.h: Likewise.
2691         * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
2692         Fix error code, remove xfail.
2693         * testsuite/28_regex/basic_regex/ctors/extended/
2694         string_range_01_02_03.cc: Likewise.
2695
2696 2011-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
2697
2698         * include/bits/regex_compiler.h: Remove unnecessary bind() calls.
2699         * include/bits/regex_nfa.h: Remove unnecessary base classes.
2700
2701 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2702
2703         * configure: Regenerate.
2704
2705 2011-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
2706
2707         PR libstdc++/47709
2708         * include/ext/algorithm (is_heap): In C++0x mode import from
2709         namespace std.
2710         * testsuite/ext/is_heap/47709.cc: New.
2711
2712 2011-02-12  Jakub Jelinek  <jakub@redhat.com>
2713             Jonathan Wakely  <jwakely.gcc@gmail.com>
2714
2715         PR libstdc++/47662
2716         * testsuite/17_intro/headers/c++200x/operator_names.cc: New.
2717         * testsuite/17_intro/headers/c++1998/operator_names.cc: Add comment.
2718
2719 2011-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
2720
2721         * include/tr1/cmath (fabs): Define.
2722         * include/tr1/complex (acos, asin, atan): Avoid duplicate definitions
2723         in C++0x mode.
2724
2725 2011-02-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
2726
2727         * testsuite/tr1/headers/c++200x/complex.cc: New.
2728
2729 2011-02-11  Johannes Singler  <singler@kit.edu>
2730
2731         PR libstdc++/47433
2732         * include/parallel/losertree.h
2733         (_LoserTreeUnguarded<>::__delete_min_insert):
2734         Add missing "using std::swap;", as for other variants.
2735
2736 2011-02-10  Benjamin Kosnik  <bkoz@redhat.com>
2737
2738         * src/Makefile.am (sources): Add regex.cc.
2739         * src/Makefile.in: Regenerate.
2740         * src/regex.cc: New.
2741         * include/bits/regex_error.h (error_type): Use constexpr.
2742         (regex_error): Move ctor and dtor out of line.
2743
2744         * testsuite/28_regex/03_requirements: To...
2745         * testsuite/28_regex/requirements: ... this.
2746         * testsuite/28_regex/04_header: To...
2747         * testsuite/28_regex/headers: ... this.
2748         * testsuite/28_regex/05_constants: To...
2749         * testsuite/28_regex/constants: ... this.
2750         * testsuite/28_regex/06_exception_type: To...
2751         * testsuite/28_regex/regex_error: ... this.
2752         * testsuite/28_regex/07_traits: To...
2753         * testsuite/28_regex/traits: ... this.
2754         * testsuite/28_regex/08_basic_regex: To...
2755         * testsuite/28_regex/basic_regex: ... this.
2756         * testsuite/28_regex/09_sub_match: To...
2757         * testsuite/28_regex/sub_match: ... this.
2758         * testsuite/28_regex/10_match_results: To...
2759         * testsuite/28_regex/match_results: ... this.
2760         * testsuite/28_regex/11_algorithms: To...
2761         * testsuite/28_regex/algorithms: ... this.
2762         * testsuite/28_regex/12_iterators: To...
2763         * testsuite/28_regex/iterators: ... this.
2764
2765 2011-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
2766
2767         PR libstdc++/47662
2768         * include/bits/c++config: Do not use alternative token.
2769         * testsuite/17_intro/headers/c++1998/operator_names.cc: New.
2770
2771 2011-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
2772
2773         * src/future.cc (future_error_category::message): Handle no_state.
2774
2775 2011-02-10  Paolo Carlini  <paolo.carlini@oracle.com>
2776
2777         * testsuite/23_containers/multimap/modifiers/erase/47628.cc: Do
2778         not test in C++0x mode.
2779         * testsuite/23_containers/map/modifiers/erase/47628.cc: Likewise.
2780         * testsuite/20_util/headers/utility/synopsis.cc: Tweak to work
2781         in C++0x mode too.
2782
2783 2011-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
2784
2785         * doc/xml/manual/status_cxx200x.xml: Update.
2786         * doc/html/*: Regenerate.
2787
2788 2011-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
2789
2790         * doc/xml/manual/debug.xml: Improve data race docs.
2791
2792 2011-02-09  Paolo Carlini  <paolo.carlini@oracle.com>
2793
2794         PR libstdc++/47668
2795         * include/debug/map.h (map): Remove unnecessary using-declaration.
2796         * include/debug/multimap.h (multimap): Likewise.
2797         * include/profile/map.h (map): Likewise.
2798         * include/profile/multimap.h (multimap): Likewise.
2799
2800 2011-02-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2801
2802         PR libstdc++/43863
2803         * libsupc++/guard.cc (recursive_init_error::~recursive_init_error):
2804         Move to ...
2805         * libsupc++/guard_error.cc: ... new file.
2806         * libsupc++/Makefile.am: Update.
2807         * libsupc++/Makefile.in: Regenerate.
2808
2809 2011-02-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2810
2811         * include/std/future (packaged_task::operator bool): Rename to...
2812         (packaged_task::valid): ...this.
2813         * testsuite/30_threads/packaged_task/cons/1.cc: Adjust.
2814         * testsuite/30_threads/packaged_task/cons/2.cc: Adjust.
2815         * testsuite/30_threads/packaged_task/cons/move.cc: Adjust.
2816         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Adjust.
2817         * testsuite/30_threads/packaged_task/cons/alloc.cc: Adjust.
2818         * testsuite/30_threads/packaged_task/members/invoke.cc: Adjust.
2819         * testsuite/30_threads/packaged_task/members/reset.cc: Adjust.
2820         * testsuite/30_threads/packaged_task/members/reset2.cc: Adjust.
2821         * testsuite/30_threads/packaged_task/members/swap.cc: Adjust.
2822         * testsuite/30_threads/packaged_task/members/boolconv.cc: Remove.
2823         * testsuite/30_threads/packaged_task/members/valid.cc: Add.
2824
2825 2011-02-09  Paolo Carlini  <paolo.carlini@oracle.com>
2826
2827         * doc/xml/manual/io.xml: Fix typo.
2828         * doc/html/manual/streambufs.html: Likewise.
2829
2830 2011-02-09  Paolo Carlini  <paolo.carlini@oracle.com>
2831
2832         * config/abi/pre/gnu.ver: Fix.
2833
2834 2011-02-08  Benjamin Kosnik  <bkoz@redhat.com>
2835
2836         * doc/xml/manual/appendix_porting.xml: Add doc section.
2837         * doc/xml/manual/appendix_contributing.xml: Split out doc bits to...
2838         * doc/xml/manual/documentation_hacking.xml: ...here.
2839
2840         * doc/xml/manual/debug_mode.xml: Adjust.
2841         * doc/xml/manual/prerequisites.xml: Adjust.
2842         * doc/Makefile.am (xml_sources): Add dot files,
2843         documentation_hacking.xml.
2844         * doc/Makefile.in: Regenerate.
2845
2846         * doc/xml/manual/build_hacking.xml: Use absolute paths for images.
2847         * doc/xml/images/confdeps.pdf: Add.
2848
2849         * doc/html/*: Regenerate.
2850
2851 2011-02-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2852
2853         * doc/xml/gnu/fdl-1.2.xml: Remove.
2854         * doc/xml/gnu/gpl-2.0.xml: Remove.
2855         * doc/Makefile.am: Update.
2856         * doc/Makefile.in: Regenerate.
2857
2858 2011-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
2859
2860         PR libstdc++/47628
2861         * include/bits/stl_tree.h (_Rb_tree::erase(iterator), erase(iterator,
2862         iterator)): Add back in C++03 mode.
2863         * testsuite/23_containers/map/modifiers/erase/47628.cc: New.
2864         * testsuite/23_containers/multimap/modifiers/erase/47628.cc: Likewise.
2865
2866 2011-02-07  Benjamin Kosnik  <bkoz@redhat.com>
2867
2868         PR libstdc++/47560 try two
2869         * config/os/hpux/os_defines.h: Guard for C++.
2870
2871 2011-02-07  Gerald Pfeifer  <gerald@pfeifer.com>
2872
2873         * doc/xml/faq.xml: Adjust link to bug database.
2874         Remove old item on broken header files.
2875
2876 2011-02-04  Benjamin Kosnik  <bkoz@redhat.com>
2877
2878         * include/bits/regex_error.h (__throw_regex_error): Not inline.
2879         * src/functexcept.cc: Add definition.
2880         * config/abi/pre/gnu.ver: Export.
2881
2882 2011-02-04  Ralf Corsépius <ralf.corsepius@rtems.org>
2883
2884         * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Add *-rtems*.
2885         * configure: Regenerate.
2886
2887 2011-02-01  Paolo Carlini  <paolo.carlini@oracle.com>
2888
2889         PR libstdc++/46914
2890         * include/bits/atomic_0.h (_ATOMIC_STORE_, _ATOMIC_MODIFY_,
2891         _ATOMIC_CMPEXCHNG_): Rename __v -> __w, and __m -> __n, to
2892         avoid name conflicts.
2893
2894 2011-02-01  Benjamin Kosnik  <bkoz@redhat.com>
2895
2896         PR libstdc++/47560
2897         * config/os/hpux/os_defines.h: Remove use of macros on namespace.
2898
2899 2011-02-01  Benjamin Kosnik  <bkoz@redhat.com>
2900
2901         * scripts/run_doxygen: Allow doxygen 1.7.0 again.
2902         * doc/doxygen/user.cfg.in (PDF_HYPERLINKS): Re-enable.
2903         (COMPACT_LATEX): Enable.
2904
2905         * include/profile/impl/profiler_container_size.h: Adjust doxygen markup.
2906         * include/profile/impl/profiler_hash_func.h: Same.
2907         * include/bits/hashtable.h: Same.
2908         * include/backward/auto_ptr.h: Same.
2909         * include/backward/strstream: Same.
2910         * include/backward/backward_warning.h: Same.
2911         * include/backward/binders.h: Same.
2912
2913 2011-02-01  Gerald Pfeifer  <gerald@pfeifer.com>
2914
2915         * doc/xml/manual/debug.xml: Use GDB instead of gdb.
2916         Adjust link to GDB manual.
2917
2918 2011-01-31  Benjamin Kosnik  <bkoz@redhat.com>
2919
2920         * include/bits/c++config (_GLIBCXX_DEPRECATED): To
2921         _GLIBCXX_USE_DEPRECATED.
2922         (_GLIBCXX_DEPRECATED_ATTR): To _GLIBCXX_DEPRECATED.
2923         * doc/xml/manual/using.xml: Same.
2924         * include/std/memory: Same.
2925         * include/std/streambuf: Same.
2926         * include/bits/shared_ptr.h: Same.
2927         * include/bits/unique_ptr.h: Same.
2928         * include/bits/shared_ptr_base.h: Same.
2929         * include/bits/stl_function.h: Same.
2930         * include/tr1/shared_ptr.h: Same.
2931         * include/backward/auto_ptr.h: Same.
2932         * include/backward/binders.h: Same.
2933
2934 2011-01-31  Paolo Carlini  <paolo.carlini@oracle.com>
2935
2936         * doc/html/ext/lwg-active.html: Update to Revision D73.
2937         * doc/html/ext/lwg-closed.html: Likewise.
2938         * doc/html/ext/lwg-defects.html: Likewise.
2939         * doc/xml/manual/intro.xml: Update status of issues 408, 539, 865.
2940
2941 2011-01-30  Benjamin Kosnik  <bkoz@redhat.com>
2942
2943         PR libstdc++/36104 part four
2944         * include/bits/c++config (_GLIBCXX_STD): Remove.
2945         (_GLIBCXX_STD_D, _GLIBCXX_PR): Now _GLIBCXX_STD_C.
2946         (_GLIBCXX_P): Now _GLIBCXX_STD_A.
2947         (_GLIBCXX_NAMESPACE_DEBUG, _GLIBCXX_NAMESPACE_PARALLEL,
2948          _GLIBCXX_NAMESPACE_PROFILE, _GLIBCXX_NAMESPACE_VERSION): Remove.
2949         (_GLIBCXX_INLINE_DEBUG, _GLIBCXX_INLINE_PARALLEL,
2950          _GLIBCXX_INLINE_PROFILE): Remove.
2951         (_GLIBCXX_BEGIN_NAMESPACE(X)): Remove.
2952         (_GLIBCXX_END_NAMESPACE): Remove.
2953         (_GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y)): Remove.
2954         (_GLIBCXX_END_NESTED_NAMESPACE): Remove.
2955         (_GLIBCXX_BEGIN_NAMESPACE_ALGO): Add.
2956         (_GLIBCXX_END_NAMESPACE_ALGO): Add.
2957         (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER): Add.
2958         (_GLIBCXX_END_NAMESPACE_CONTAINER): Add.
2959         (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Add.
2960         (_GLIBCXX_END_NAMESPACE_VERSION): Add.
2961         (_GLIBCXX_BEGIN_LDBL_NAMESPACE): To _GLIBCXX_BEGIN_NAMESPACE_LDBL.
2962         (_GLIBCXX_END_LDBL_NAMESPACE): To _GLIBCXX_END_NAMESPACE_LDBL.
2963         (_GLIBCXX_VISIBILITY_ATTR): Revert to _GLIBCXX_VISIBILITY.
2964         * include/*: Use new macros for namespace scope.
2965         * config/*: Same.
2966         * src/*: Same.
2967
2968         * src/Makefile.am (sources): Remove debug_list.cc, add
2969         compatibility-debug_list-2.cc.
2970         (parallel_sources): Remove parallel_list.cc, add
2971         compatibility-parallel_list-2.cc.
2972         (compatibility-parallel_list-2.[o,lo]): New rule.
2973         * src/Makefile.in: Regenerate.
2974         * src/debug_list.cc: Remove.
2975         * src/parallel_list.cc: Remove.
2976         * src/compatibility-list-2.cc: New.
2977         * src/compatibility-debug_list-2.cc: New.
2978         * src/compatibility-parallel_list-2.cc: New.
2979
2980         * doc/doxygen/user.cfg.in: Adjust macros.
2981
2982         * testsuite/20_util/auto_ptr/assign_neg.cc: Adjust line numbers, macros.
2983         * testsuite/20_util/declval/requirements/1_neg.cc: Same.
2984         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
2985         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
2986         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
2987         * testsuite/20_util/forward/c_neg.cc: Same.
2988         * testsuite/20_util/forward/f_neg.cc: Same.
2989         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
2990         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
2991         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same.
2992         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
2993         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same.
2994         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
2995         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
2996         * testsuite/23_containers/deque/requirements/dr438/
2997         constructor_1_neg.cc: Same.
2998         * testsuite/23_containers/deque/requirements/dr438/
2999         constructor_2_neg.cc: Same.
3000         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
3001         * testsuite/23_containers/forward_list/capacity/1.cc: Same.
3002         * testsuite/23_containers/forward_list/requirements/dr438/
3003         assign_neg.cc: Same.
3004         * testsuite/23_containers/forward_list/requirements/dr438/
3005         constructor_1_neg.cc: Same.
3006         * testsuite/23_containers/forward_list/requirements/dr438/
3007         constructor_2_neg.cc: Same.
3008         * testsuite/23_containers/forward_list/requirements/dr438/
3009         insert_neg.cc: Same.
3010         * testsuite/23_containers/list/capacity/29134.cc: Same.
3011         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
3012         * testsuite/23_containers/list/requirements/dr438/
3013         constructor_1_neg.cc: Same.
3014         * testsuite/23_containers/list/requirements/dr438/
3015         constructor_2_neg.cc: Same.
3016         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
3017         * testsuite/23_containers/vector/bool/capacity/29134.cc: Same.
3018         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Same.
3019         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
3020         * testsuite/23_containers/vector/requirements/dr438/
3021         constructor_1_neg.cc: Same.
3022         * testsuite/23_containers/vector/requirements/dr438/
3023         constructor_2_neg.cc: Same.
3024         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
3025         * testsuite/25_algorithms/sort/35588.cc: Same.
3026         * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
3027         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
3028         * testsuite/ext/profile/mutex_extensions_neg.cc: Same.
3029         * testsuite/ext/profile/profiler_algos.cc: Same.
3030         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
3031         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.
3032         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
3033         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Same.
3034         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
3035
3036 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
3037
3038         * doc/xml/manual/abi.xml: Adjust link to C++ ABI specification.
3039         Improve description of one such reference.
3040
3041 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
3042
3043         * doc/xml/manual/codecvt.xml: Fix link to The Austin Common
3044         Standards Revision Group.
3045         * doc/xml/manual/locale.xml: Ditto.
3046         * doc/xml/manual/messages.xml: Ditto.
3047         * doc/xml/manual/using_exceptions.xml: Ditto.
3048
3049 2011-01-28  Paolo Carlini  <paolo.carlini@oracle.com>
3050
3051         * include/bits/atomic_base.h: Do not include <stddef.h>.
3052         (kill_dependency): Uglify ret.
3053
3054 2011-01-26  Johannes Singler  <singler@kit.edu>
3055
3056         * include/parallel/numeric (inner_product, partial_sum):
3057         Qualify subsequent call with __gnu_parallel instead of
3058         _GLIBCXX_STD_P to reenable parallel execution without ambiguity.
3059         * include/parallel/algobase.h (equal): Likewise.
3060         * include/parallel/algo.h (find_first_of, search_n, merge,
3061         nth_element, partial_sort, max_element, min_element): Likewise.
3062         * testsuite/25_algorithms/headers/algorithm/
3063         parallel_algorithm_mixed1.cc (main): Add respective test cases.
3064         * testsuite/25_algorithms/headers/algorithm/
3065         parallel_algorithm_mixed2.cc (main): Likewise.
3066         * testsuite/26_numerics/headers/numeric/
3067         parallel_numeric_mixed1.cc (main): Likewise.
3068         * testsuite/26_numerics/headers/numeric/
3069         parallel_numeric_mixed2.cc (main): Likewise.
3070
3071 2011-01-24  Graham Reed  <greed@pobox.com>
3072
3073         PR libstdc++/47387
3074         * config/os/aix/ctype_inline.h (ctype<char>::is): Use _M_table if
3075         provided.
3076
3077 2011-01-24  Johannes Singler  <singler@kit.edu>
3078
3079         PR libstdc++/47433
3080         * include/parallel/losertree.h
3081         (_LoserTree<>::__delete_min_insert):
3082         Do not qualify swap with std:: for value type,
3083         but include a using directive instead.
3084         (_LoserTreeUnguarded<>::__delete_min_insert): Likewise.
3085         * include/parallel/balanced_quicksort.h (__qsb_divide):
3086         Use std::iter_swap instead of std::swap.
3087         (__qsb_local_sort_with_helping): Likewise.
3088         * include/parallel/partition.h (__parallel_partition):
3089         Likewise. (__parallel_nth_element): Likewise.
3090
3091 2011-01-24  Johannes Singler  <singler@kit.edu>
3092
3093         PR libstdc++/47437
3094         * include/parallel/multiway_merge.h (_UnguardedIterator):
3095         Remove useless "mutable" from reference declaration.
3096
3097 2011-01-21  Benjamin Kosnik  <bkoz@redhat.com>
3098
3099         * include/bits/c++config (_GLIBCXX_EXPORT_TEMPLATE): Remove.
3100         * include/debug/safe_sequence.h: Same.
3101         * include/debug/safe_iterator.h: Same.
3102         * include/std/forward_list: Same.
3103         * include/std/deque: Same.
3104         * include/std/list: Same.
3105         * include/std/random: Same.
3106         * include/std/streambuf: Same.
3107         * include/std/fstream: Same.
3108         * include/std/istream: Same.
3109         * include/std/string: Same.
3110         * include/std/ostream: Same.
3111         * include/std/sstream: Same.
3112         * include/ext/vstring.h: Same.
3113         * include/bits/basic_ios.h: Same.
3114         * include/bits/locale_classes.h: Same.
3115         * include/bits/locale_facets.h: Same.
3116         * include/bits/valarray_array.h: Same.
3117         * include/bits/locale_facets_nonio.h: Same.
3118         * include/tr1/random: Same.
3119
3120 2011-01-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
3121
3122         * doc/xml/manual/diagnostics.xml: Replace note about C++0x concepts.
3123
3124 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
3125
3126         PR libstdc++/36104 part three
3127         * src/hashtable_c++0x.cc: Adjust namespace macros.
3128         * testsuite/util/testsuite_rvalref.h: Don't forward declare hash.
3129         * config/abi/pre/gnu-versioned-namespace.ver: Update.
3130
3131 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
3132
3133         * include/ext/pb_ds/detail/resize_policy/
3134         hash_load_check_resize_trigger_imp.hpp: Adjust assert condition.
3135         * include/ext/pb_ds/detail/pat_trie_/
3136         constructors_destructor_fn_imps.hpp: Same.
3137         * include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Format.
3138         * include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
3139         * include/ext/pb_ds/detail/debug_map_base.hpp: Use never_adjustor.
3140
3141         * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Adjust
3142         iterations downward when testing in debug mode.
3143         * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
3144         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
3145         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
3146         * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
3147         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same.
3148         * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Use SIZE,
3149         reduce in debug mode.
3150
3151 2011-01-19  Benjamin Kosnik  <bkoz@redhat.com>
3152
3153         PR libstdc++/36104 part two
3154         * include/bits/hashtable.h: Revert to non-nested macro usage.
3155         * include/bits/hashtable_policy.h: Same.
3156
3157 2011-01-19  Graham Reed  <greed@pobox.com>
3158
3159         PR libstdc++/47354
3160         * src/bitmap_allocator.cc (free_list::_M_get): Lock mutex.
3161
3162 2011-01-18  Benjamin Kosnik  <bkoz@redhat.com>
3163
3164         * doc/xml/images/confdeps.png: Regenerate.
3165
3166         * include/std/chrono (duration): Mark copy constructor constexpr.
3167         * testsuite/20_util/duration/cons/constexpr.cc: Add test.
3168
3169 2011-01-18  Paolo Carlini  <paolo.carlini@oracle.com>
3170
3171         * include/bits/unique_ptr.h (default_delete<>::default_delete()):
3172         Declare defaulted per DR 1517.
3173         * testsuite/util/testsuite_common_types.h
3174         (constexpr_defaulted_default_constructible): Add.
3175         * testsuite/20_util/default_delete/cons/constexpr.cc: Use it.
3176
3177 2011-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
3178
3179         * include/bits/stl_queue.h (queue<>::swap, priority_queue<>::swap):
3180         Implement DR 1198.
3181         * include/bits/stl_stack.h (stack<>::swap): Likewise.
3182
3183 2011-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
3184
3185         PR libstdc++/47323
3186         * testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc:
3187         Only test wregex when _GLIBCXX_USE_WCHAR_T is defined.
3188
3189 2011-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
3190
3191         PR libstdc++/47320
3192         * testsuite/18_support/numeric_limits/lowest.cc:
3193         Only test wchar_t when _GLIBCXX_USE_WCHAR_T is defined.
3194
3195 2011-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
3196
3197         PR libstdc++/47321
3198         * testsuite/21_strings/basic_string/requirements/typedefs.cc:
3199         Only test std::wstring when _GLIBCXX_USE_WCHAR_T is defined.
3200
3201 2011-01-16  François Dumont  <francois.cppdevs@free.fr>
3202
3203         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc: Move
3204         to this. Use _neg suffix.
3205         * testsuite/23_containers/forward_list/debug/erase_after1.cc: ...from
3206         this.
3207         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
3208         Same.
3209         * testsuite/23_containers/forward_list/debug/erase_after2.cc: Same.
3210         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
3211         Same.
3212         * testsuite/23_containers/forward_list/debug/erase_after3.cc: Same.
3213         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
3214         Same.
3215         * testsuite/23_containers/forward_list/debug/erase_after4.cc: Same.
3216         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
3217         Same.
3218         * testsuite/23_containers/forward_list/debug/erase_after5.cc: Same.
3219         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
3220         Same.
3221         * testsuite/23_containers/forward_list/debug/erase_after6.cc: Same.
3222         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
3223         Same.
3224         * testsuite/23_containers/forward_list/debug/erase_after7.cc: Same.
3225         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
3226         Same.
3227         * testsuite/23_containers/forward_list/debug/erase_after8.cc: Same.
3228         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
3229         Same.
3230         * testsuite/23_containers/forward_list/debug/erase_after9.cc: Same.
3231         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
3232         Same.
3233         * testsuite/23_containers/forward_list/debug/insert_after1.cc: Same.
3234         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
3235         Same.
3236         * testsuite/23_containers/forward_list/debug/insert_after2.cc: Same.
3237         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
3238         Same.
3239         * testsuite/23_containers/forward_list/debug/insert_after3.cc: Same.
3240         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
3241         Same.
3242         * testsuite/23_containers/forward_list/debug/splice_after1.cc: Same.
3243         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
3244         Same.
3245         * testsuite/23_containers/forward_list/debug/splice_after2.cc: Same.
3246         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
3247         Same.
3248         * testsuite/23_containers/forward_list/debug/splice_after3.cc: Same.
3249         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
3250         Same.
3251         * testsuite/23_containers/forward_list/debug/splice_after4.cc: Same.
3252
3253 2011-01-14  Benjamin Kosnik  <bkoz@redhat.com>
3254
3255         PR libstdc++/36104
3256         * include/Makefile.am (bits_sup_headers, stamp-bits-sup): New.
3257         * include/Makefile.in: Regenerate.
3258         * libsupc++/Makefile.am (std_HEADERS, bits_HEADERS): New.
3259         (install-stdHEADERS, install-bitsHEADERS): New.
3260         * libsupc++/Makefile.in: Regenerate.
3261
3262         * include/bits/c++config: Update for inline namespaces.
3263         * libsupc++/cxxabi-forced.h: To...
3264         * libsupc++/cxxabi_forced.h: ...this.
3265         * libsupc++/hash_bytes.h: Separate file.
3266         * libsupc++/typeinfo: Use it.
3267         * libsupc++/exception: Adjust for bits subdirectory.
3268         * libsupc++/eh_aux_runtime.cc: Same.
3269         * libsupc++/eh_ptr.cc: Same.
3270         * libsupc++/new_op.cc: Same.
3271         * libsupc++/exception_defines.h: Same.
3272         * libsupc++/nested_exception.h: Same.
3273         * libsupc++/eh_terminate.cc: Same.
3274         * libsupc++/vec.cc: Same.
3275         * libsupc++/vterminate.cc: Same.
3276         * libsupc++/exception_ptr.h: Same.
3277         * libsupc++/eh_personality.cc: Same.
3278         * libsupc++/eh_call.cc: Same.
3279         * libsupc++/new_opnt.cc: Same.
3280         * libsupc++/hash_bytes.cc: Same.
3281         * config/cpu/arm/cxxabi_tweaks.h: Same.
3282         * config/cpu/generic/cxxabi_tweaks.h: Same.
3283         * libsupc++/cxxabi.h: Same. Consolidate _GLIBCXX_NOTHROW defines.
3284         * include/std/bitset: Same.
3285         * include/ext/vstring.tcc: Same.
3286         * include/bits/hashtable.h: Same.
3287         * include/bits/functional_hash.h: Same.
3288         * include/bits/hashtable_policy.h: Same.
3289         * include/bits/basic_string.h: Same.
3290         * include/bits/istream.tcc: Same.
3291         * include/bits/ostream.tcc: Same.
3292         * include/bits/algorithmfwd.h: Same.
3293         * include/bits/basic_string.tcc: Same.
3294         * include/bits/ostream_insert.h: Same.
3295         * include/bits/fstream.tcc: Same.
3296         * include/bits/functexcept.h: Same.
3297
3298         * doc/doxygen/user.cfg.in: Adjust names.
3299
3300         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
3301
3302 2011-01-14  Paolo Carlini  <paolo.carlini@oracle.com>
3303
3304         * testsuite/25_algorithms/is_permutation/check_type.cc: Minor
3305         tweaks.
3306         * testsuite/25_algorithms/is_permutation/1.cc: Cosmetic changes.
3307
3308 2011-01-13  Paolo Carlini  <paolo.carlini@oracle.com>
3309
3310         * testsuite/25_algorithms/is_permutation/check_type.cc: New.
3311         * testsuite/25_algorithms/is_permutation/requirements/
3312         explicit_instantiation/2.cc: Likewise.
3313         * testsuite/25_algorithms/is_permutation/requirements/
3314         explicit_instantiation/pod.cc: Likewise.
3315         * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
3316
3317 2011-01-13  John Lakos  <jlakos@bloomberg.net>
3318             Pablo Halpern  <phalpern@halpernwightsoftware.com>
3319             Paolo Carlini  <paolo.carlini@oracle.com>
3320
3321         * include/bits/stl_algo.h (is_permutation): Add, per N3068.
3322         * include/bits/algorithmfwd.h: Add.
3323
3324 2011-01-13  Jonathan Wakely  <jwakely.gcc@gmail.com>
3325
3326         PR libstdc++/47045
3327         * config/os/bsd/netbsd/ctype_base.h: Use new macros based on version.
3328
3329 2011-01-11  Paolo Carlini  <paolo.carlini@oracle.com>
3330
3331         * aclocal.m4: Regenerate.
3332
3333 2011-01-06  Paolo Carlini  <paolo.carlini@oracle.com>
3334
3335         PR libstdc++/47185
3336         * src/placeholders.cc: New.
3337         * src/Makefile.am: Adjust.
3338         * src/Makefile.in: Regenerate.
3339         * include/std/functional (placeholders::_1, _2, ..., _29): Declare
3340         extern.
3341         * config/abi/pre/gnu.ver: Export.
3342
3343 2011-01-05  François Dumont  <francois.cppdevs@free.fr>
3344
3345         * include/debug/safe_base.h (_Safe_iterator_base::_M_unlink): New.
3346         * include/src/debug.cc: Use latter
3347         * include/debug/forward_list (forward_list<>::_M_swap):  Fix to
3348         correctly handle before_begin iterators.
3349         * testsuite/23_containers/forward_list/debug/swap.cc: Remove now
3350         useless _GLIBCXX_DEBUG checks.
3351
3352 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
3353
3354         PR libstdc++/47145
3355         * configure.ac (AC_CHECK_FILE): Replaced by test -f.
3356         * configure: Regenerated.
3357
3358 2011-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
3359
3360         PR libstdc++/46922
3361         * config/abi/pre/gnu.ver: Export std::bad_function_call symbols.
3362
3363 \f
3364 Copyright (C) 2011 Free Software Foundation, Inc.
3365
3366 Copying and distribution of this file, with or without modification,
3367 are permitted in any medium without royalty provided the copyright
3368 notice and this notice are preserved.