OSDN Git Service

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