OSDN Git Service

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