OSDN Git Service

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