OSDN Git Service

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