OSDN Git Service

b3d4dbb00b5b372fb1de28167a80f233e9b8fa78
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2011-09-07  Jason Merrill  <jason@redhat.com>
2
3         * testsuite/20_util/bind/ref_neg.cc: Adjust errors.
4         * testsuite/20_util/duration/cons/1_neg.cc: Adjust errors.
5
6 2011-09-06  Benjamin Kosnik  <bkoz@redhat.com>
7
8         * include/std/tuple (_Tuple_impl::_M_head, _M_tail): Mark constexpr.
9         (tuple(tuple&&)): Same.
10         (tuple(const tuple<_UElements...>& __in)): Same.
11         (tuple(tuple<_UElements...>&& __in)): Same.
12         (tuple_cat(const tuple<_TElements...>&, const tuple<_UElements...>&)):
13         Same.
14         (get): Same.
15         * include/std/array: Consolidate array::data usage.
16         * testsuite/23_containers/array/requirements/constexpr_functions.cc:
17         Remove extra include.
18         * testsuite/20_util/tuple/creation_functions/constexpr.cc: New.
19         * testsuite/20_util/tuple/cons/constexpr-2.cc: Add tests.
20         * testsuite/20_util/tuple/cons/constexpr-3.cc: Same.
21         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line numbers.
22
23 2011-09-06  François Dumont  <fdumont@gcc.gnu.org>
24             Paolo Carlini  <paolo.carlini@oracle.com>
25
26         * include/bits/hashtable_policy.h (_Prime_rehash_policy::
27         _M_next_bkt): Cast _M_max_load_factor to long double.
28         (_Prime_rehash_policy::_M_bkt_for_elements): Use _M_next_bkt.
29         (_Prime_rehash_policy::_M_need_rehash): Likewise; cast all
30         float quantities to long double.
31
32 2011-09-06  Paolo Carlini  <paolo.carlini@oracle.com>
33
34         PR libstdc++/50257
35         * include/bits/hashtable_policy.h (_Prime_rehash_policy::
36         _M_next_bkt): Optimize for small argument.
37
38 2011-09-02  François Dumont  <fdumont@gcc.gnu.org>
39
40         * testsuite/util/testsuite_allocator.h (tracker_allocator_counter::
41         allocate): Update allocation count only if allocation succeeded.
42
43 2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
44
45         * include/std/bitset: Trivial formatting fixes.
46
47 2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
48             Marc Glisse  <marc.glisse@normalesup.org>
49
50         * include/std/bitset (_Base_bitset<>::_M_are_all_aux): Remove.
51         (_Base_bitset<>::_M_are_all): Add.
52         (bitset<>::all): Use the latter, improve implementation.
53
54 2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
55             Marc Glisse  <marc.glisse@normalesup.org>
56
57         PR libstdc++/50268
58         * include/std/bitset (struct _Sanitize_val): Add.
59         (bitset<>::bitset(unsigned long long)): Fix.
60         * testsuite/23_containers/bitset/cons/50268.cc: New.
61
62 2011-09-01  Paolo Carlini  <paolo.carlini@oracle.com>
63
64         * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
65         Remove noexcept, the move constructor allocates memory; rearrange
66         the code in the body to consistently update __ht._M_rehash_policy
67         before using _M_next_bkt on it.
68         * include/debug/unordered_map: Adjust.
69         * include/debug/unordered_set: Likewise.
70         * include/profile/unordered_map: Likewise.
71         * include/profile/unordered_set: Likewise.
72         * testsuite/23_containers/unordered_map/cons/
73         noexcept_move_construct.cc: Remove.
74         * testsuite/23_containers/unordered_set/cons/
75         noexcept_move_construct.cc: Likewise.
76         * testsuite/23_containers/unordered_multimap/cons/
77         noexcept_move_construct.cc: Likewise.
78         * testsuite/23_containers/unordered_multiset/cons/
79         noexcept_move_construct.cc: Likewise.
80
81 2011-08-31  Paolo Carlini  <paolo.carlini@oracle.com>
82
83         * include/std/chrono (operator*(const _Rep1&, const duration<>&)):
84         Fix order of template parameters per LWG 2004.
85
86 2011-08-30  Paolo Carlini  <paolo.carlini@oracle.com>
87
88         * include/bits/stl_iterator.h (make_move_iterator): Implement DR2061.
89         * testsuite/24_iterators/move_iterator/dr2061.cc: New.
90         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
91         line numbers.
92
93 2011-08-30  Paolo Carlini  <paolo.carlini@oracle.com>
94
95         * config/os/mingw32/error_constants.h: Fix commas.
96
97 2011-08-29  Benjamin Kosnik  <bkoz@redhat.com>
98
99         * testsuite/20_util/duration/arithmetic/constexpr.cc: Add.
100
101 2011-08-29  Kai Tietz  <ktietz@redhat.com>
102
103         * configure: Regenerated.
104         * config.h.in: Regenerated.
105         * acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR)  Add
106         checks for ECHILD, ENOSPC, EPERM, ETIMEDOUT, and
107         EWOULDBLOCK.
108         * config/os/mingw32/error_constants.h (errc): Add
109         enumerator values no_child_process, no_space_on_device,
110         not_supported, operation_not_permitted, operation_would_block,
111         timed_out, and value_too_large,
112
113 2011-08-29  Paolo Carlini  <paolo.carlini@oracle.com>
114
115         PR libstdc++/50118
116         * include/bits/stl_list.h (_List_base<>::
117         _List_base(const allocator_type&)): Remove.
118         (_List_base<>::_List_base(const _Node_alloc_type&)): Add.
119         (list<>:list(const allocator_type&), list(size_type, const
120         value_type&, const allocator_type&),
121         list(initializer_list<, const allocator_type&),
122         list(_InputIterator, _InputIterator, const allocator_type&),
123         insert(iterator, size_type, const value_type&),
124         insert(iterator, _InputIterator, _InputIterator)): Adjust.
125         * include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(const _Compare&,
126         const allocator_type&)): Fix.
127         * include/bits/stl_map.h (map<>::map(const _Compare&,
128         const allocator_type&), map(initializer_list<>,
129         const _Compare&, const allocator_type&), map(_InputIterator,
130         _InputIterator, const _Compare&, const allocator_type&),
131         get_allocator): Adjust.
132         * include/bits/stl_set.h (set<>::set(const _Compare&,
133         const allocator_type&), set(initializer_list<>,
134         const _Compare&, const allocator_type&), set(_InputIterator,
135         _InputIterator, const _Compare&, const allocator_type&),
136         get_allocator): Likewise.
137         * include/bits/stl_multimap.h (multimap<>::multimap(const _Compare&,
138         const allocator_type&), multimap(initializer_list<>,
139         const _Compare&, const allocator_type&), multimap(_InputIterator,
140         _InputIterator, const _Compare&, const allocator_type&),
141         get_allocator): Likewise.
142         * include/bits/stl_multiset.h (multiset<>::multiset(const _Compare&,
143         const allocator_type&), multiset(initializer_list<>,
144         const _Compare&, const allocator_type&), multiset(_InputIterator,
145         _InputIterator, const _Compare&, const allocator_type&),
146         get_allocator): Likewise.
147         * include/bits/forward_list.h (_Fwd_list_base<>::
148         _Fwd_list_base(const _Alloc&), _Fwd_list_base(const _Fwd_list_base&,
149         const _Alloc&), _Fwd_list_base(_Fwd_list_base&&, const _Alloc&)):
150         Remove.
151         (_Fwd_list_base<>::_Fwd_list_base(const _Node_alloc_type&),
152         _Fwd_list_base(const _Fwd_list_base&,
153         const _Node_alloc_type&), _Fwd_list_base(_Fwd_list_base&&,
154         const _Node_alloc_type&)): Add.
155         (forward_list<>::forward_list(const _Alloc&),
156         forward_list(const forward_list&, const _Alloc&),
157         forward_list(forward_list&&, const _Alloc&),
158         forward_list(size_type, const _Tp&, const _Alloc&),
159         forward_list(_InputIterator, _InputIterator, const _Alloc&),
160         forward_list(std::initializer_list<>, const _Alloc&),
161         get_allocator): Adjust.
162         * include/bits/forward_list.tcc: Adjust.
163         * testsuite/util/testsuite_allocator.h (ExplicitConsAlloc): Add.
164         * testsuite/23_containers/unordered_map/requirements/
165         explicit_instantiation/5.cc: New.
166         * testsuite/23_containers/multimap/requirements/
167         explicit_instantiation/5.cc: Likewise.
168         * testsuite/23_containers/multimap/requirements/
169         explicit_instantiation/5_c++0x.cc: Likewise.
170         * testsuite/23_containers/set/requirements/explicit_instantiation/
171         5.cc: Likewise.
172         * testsuite/23_containers/set/requirements/explicit_instantiation/
173         5_c++0x.cc: Likewise.
174         * testsuite/23_containers/unordered_multimap/requirements/
175         explicit_instantiation/5.cc: Likewise.
176         * testsuite/23_containers/forward_list/requirements/
177         explicit_instantiation/5.cc: Likewise.
178         * testsuite/23_containers/unordered_set/requirements/
179         explicit_instantiation/5.cc: Likewise.
180         testsuite/23_containers/multiset/requirements/explicit_instantiation/
181         5.cc: Likewise.
182         * testsuite/23_containers/multiset/requirements/
183         explicit_instantiation/5_c++0x.cc: Likewise.
184         * testsuite/23_containers/list/requirements/explicit_instantiation/
185         5_c++0x.cc: Likewise.
186         * testsuite/23_containers/list/requirements/explicit_instantiation/
187         5.cc: Likewise.
188         * testsuite/23_containers/unordered_multiset/requirements/
189         explicit_instantiation/5.cc: Likewise.
190         * testsuite/23_containers/map/requirements/explicit_instantiation/
191         5.cc: Likewise.
192         * testsuite/23_containers/map/requirements/explicit_instantiation/
193         5_c++0x.cc: Likewise.
194         * testsuite/23_containers/forward_list/requirements/dr438/
195         assign_neg.cc: Adjust dg-error line number.
196         * testsuite/23_containers/forward_list/requirements/dr438/
197         insert_neg.cc: Likewise.
198         * testsuite/23_containers/forward_list/requirements/dr438/
199         constructor_1_neg.cc: Likewise.
200         * testsuite/23_containers/forward_list/requirements/dr438/
201         constructor_2_neg.cc: Likewise.
202         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
203         Likewise.
204         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
205         Likewise.
206         * testsuite/23_containers/list/requirements/dr438/
207         constructor_1_neg.cc: Likewise.
208         * testsuite/23_containers/list/requirements/dr438/
209         constructor_2_neg.cc: Likewise.
210
211 2011-08-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
212
213         * acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO)
214         (GLIBCXX_CHECK_STDLIB_PROTO): New tests.
215         * configure.ac (GLIBCXX_CHECK_MATH_PROTO)
216         (GLIBCXX_CHECK_STDLIB_PROTO): Call them.
217         * configure: Regenerate.
218         * config.h.in: Regenerate.
219         * config/os/solaris/solaris2.8/os_defines.h
220         (__CORRECT_ISO_CPP_MATH_H_PROTO2): Don't define.
221         * config/os/solaris/solaris2.9: Remove.
222         * configure.host (solaris2.8): Merge with ...
223         (solaris2.9, solaris2.1[0-9]): ... this.
224         Always use os/solaris/solaris2.8.
225
226 2011-08-28  Paolo Carlini  <paolo.carlini@oracle.com>
227
228         * include/bits/move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove
229         workaround for c++/49045.
230         * include/bits/algorithmfwd.h: Likewise.
231
232 2011-08-25  Tom Tromey  <tromey@redhat.com>
233
234         * testsuite/libstdc++-prettyprinters/simple.cc: New file.
235         * testsuite/lib/gdb-test.exp: New file.
236         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: New
237         file.
238
239 2011-08-18  Marc Glisse  <marc.glisse@normalesup.org>
240
241         * include/tr1/cmath: Extend/update comment.
242
243 2011-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
244
245         PR libstdc++/50119
246         * include/bits/stl_algo.h (__copy_n(_InputIterator, _Size,
247         _OutputIterator, input_iterator_tag)): Fix.
248         * testsuite/25_algorithms/copy_n/50119.cc: New.
249
250 2011-08-18  Marc Glisse  <marc.glisse@normalesup.org>
251             Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
252
253         PR libstdc++/1773
254         * config/os/solaris2.7: Rename to config/os/solaris2.9.
255         * config/os/solaris/solaris2.9/os_defines.h
256         (__CORRECT_ISO_CPP_MATH_H_PROTO1)
257         (__CORRECT_ISO_CPP_STDLIB_H_PROTO)
258         (__CORRECT_ISO_CPP_STRING_H_PROTO)
259         (__CORRECT_ISO_CPP_WCHAR_H_PROTO): Define.
260         * config/os/solaris2.8/ctype_base.h,
261         config/os/solaris2.8/ctype_configure_char.cc,
262         config/solaris2.8/ctype_inline.h,
263         config/os/solaris2.8/os_defines.h: New files.
264
265         * configure.host (solaris2.[89], solaris2.1[0-9]):
266         Split into ...
267         (solaris2.8): ... this.
268         Use os/solaris/solaris2.8.
269         (solaris2.9, solaris2.1[0-9]): ... and this.
270         Use os/solaris/solaris2.9.
271
272         * include/c_global/cmath (double abs(double)): Wrap in
273         !__CORRECT_ISO_CPP_MATH_H_PROTO1 &&
274         !__CORRECT_ISO_CPP_MATH_H_PROTO2.
275         (float abs(float), long double abs(long double): Wrap in
276         !__CORRECT_ISO_CPP_MATH_H_PROTO1.
277         (float acos(float), long double acos(long double)): Likewise.
278         (float asin(float), long double asin(long double)): Likewise.
279         (float atan(float), long double atan(long double)): Likewise.
280         (float atan2(float, float), long double atan2(long double, long
281         double)): Likewise.
282         (float ceil(float), long double ceil(long double)): Likewise.
283         (float cos(float), long double cos(long double)): Likewise.
284         (float cosh(float), long double cosh(long double)): Likewise.
285         (float exp(float), long double exp(long double)): Likewise.
286         (float fabs(float), long double fabs(long double)): Likewise.
287         (float floor(float), long double floor(long double)): Likewise.
288         (float fmod(float, float), long double fmod(long double, long
289         double)): Likewise.
290         (float frexp(float, int*), long double frexp(long double, int*)):
291         Likewise.
292         (float ldexp(float, int), long double ldexp(long double, int)):
293         Likewise.
294         (float log(float), long double log(long double)): Likewise.
295         (float log10(float), long double log10(long double)): Likewise.
296         (float modf(float, float*), long double modf(long double, long
297         double*))): Likewise.
298         (float pow(float, float), long double pow(long double, long
299         double)): Likewise.
300         (float sin(float), long double sin(long double)): Likewise.
301         (float sinh(float), long double sinh(long double)): Likewise.
302         (float sqrt(float), long double sqrt(long double)): Likewise.
303         (float tan(float), long double tan(long double)): Likewise.
304         (float tanh(float), long double tanh(long double)): Likewise.
305         * include/c_global/cstdlib (long abs(long), ldiv_t div(long,
306         long)): Wrap in !__CORRECT_ISO_CPP_STDLIB_H_PROTO.
307         * include/tr1/cmath (float fabs(float), long double fabs(long
308         double)): Wrap in !__CORRECT_ISO_CPP_MATH_H_PROTO1.
309
310 2011-08-14  Benjamin Kosnik  <bkoz@redhat.com>
311
312         * doc/xml/images/*: Image and image filename changes.
313
314 2011-08-14  Benjamin Kosnik  <bkoz@redhat.com>
315
316         * testsuite/data/make_graph_test_infos.xml: Edit.
317         * testsuite/data/make_graph_htmls.xml: Remove
318         * scripts/make_graph.py: Edit, fix.
319         * scripts/make_graphs.py: Remove.
320
321         * doc/Makefile.am (doc-svg-performance): New.
322         (doc-html-performance): Remove.
323         * doc/Makefile.in: Regenerate.
324
325         * doc/xml/manual/test_policy_data_structures.xml: Markup changes.
326         * doc/xml/manual/policy_data_structures.xml: Same.
327         * doc/xml/manual/locale.xml: Same.
328
329         Testsuite renames.
330         * performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc:
331         Rename.
332         * performance/ext/pb_ds/random_int_find_timing.cc: Same.
333         * performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
334         * performance/ext/pb_ds/multimap_text_find_timing.hpp
335         * performance/ext/pb_ds/priority_queue_random_int_push_timing.cc: Same.
336         * performance/ext/pb_ds/priority_queue_text_modify_timing.hpp
337         * performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
338         * performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc: Same.
339         * performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc: Same.
340         * performance/ext/pb_ds/priority_queue_text_join_timing.cc: Same.
341         * performance/ext/pb_ds/multimap_text_insert_timing_small.cc: Same.
342         * performance/ext/pb_ds/random_int_subscript_insert_timing.cc: Same.
343         * performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
344         * performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc: Same.
345         * performance/ext/pb_ds/multimap_text_find_timing_small.cc: Same.
346         * performance/ext/pb_ds/text_find_timing.cc: Same.
347         * performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
348         * performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc: Same.
349         * performance/ext/pb_ds/random_int_subscript_find_timing.cc: Same.
350         * performance/ext/pb_ds/priority_queue_text_push_timing.cc: Same.
351         * performance/ext/pb_ds/tree_split_join_timing.cc: Same.
352         * performance/ext/pb_ds/multimap_text_insert_timing_large.cc: Same.
353         * performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc: Same.
354         * performance/ext/pb_ds/multimap_text_find_timing_large.cc: Same.
355         * performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc:
356         Same.
357         * performance/ext/pb_ds/multimap_text_insert_timing.hpp
358         * performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc: Same.
359         * performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc: Same.
360
361         * performance/ext/pb_ds/all_int_find.cc: To these new files...
362         * performance/ext/pb_ds/all_int_subscript_find.cc: ...this.
363         * performance/ext/pb_ds/all_int_subscript_insert.cc: ...this.
364         * performance/ext/pb_ds/all_text_find.cc: ...this.
365         * performance/ext/pb_ds/hash_int_erase_mem.cc: ...this.
366         * performance/ext/pb_ds/hash_zlob_int_find.cc: ...this.
367         * performance/ext/pb_ds/multimap_text_find.hpp
368         * performance/ext/pb_ds/multimap_text_find_large.cc: ...this.
369         * performance/ext/pb_ds/multimap_text_find_small.cc: ...this.
370         * performance/ext/pb_ds/multimap_text_insert.hpp
371         * performance/ext/pb_ds/multimap_text_insert_large.cc: ...this.
372         * performance/ext/pb_ds/multimap_text_insert_mem.hpp
373         * performance/ext/pb_ds/multimap_text_insert_mem_large.cc: ...this.
374         * performance/ext/pb_ds/multimap_text_insert_mem_small.cc: ...this.
375         * performance/ext/pb_ds/multimap_text_insert_small.cc: ...this.
376         * performance/ext/pb_ds/priority_queue_int_push.cc: ...this.
377         * performance/ext/pb_ds/priority_queue_int_push_pop.cc: ...this.
378         * performance/ext/pb_ds/priority_queue_text_join.cc: ...this.
379         * performance/ext/pb_ds/priority_queue_text_modify_down.cc: ...this.
380         * performance/ext/pb_ds/priority_queue_text_modify.hpp
381         * performance/ext/pb_ds/priority_queue_text_modify_up.cc: ...this.
382         * performance/ext/pb_ds/priority_queue_text_pop_mem.cc: ...this.
383         * performance/ext/pb_ds/priority_queue_text_push.cc: ...this.
384         * performance/ext/pb_ds/priority_queue_text_push_pop.cc: ...this.
385         * performance/ext/pb_ds/tree_order_statistics.cc: ...this.
386         * performance/ext/pb_ds/tree_split_join.cc: ...this.
387         * performance/ext/pb_ds/tree_text_insert.cc: ...this.
388         * performance/ext/pb_ds/tree_text_lor_find.cc: ...this.
389
390         * doc/xml/images/*: Image and image filename changes.
391
392 2011-08-12  Paolo Carlini  <paolo.carlini@oracle.com>
393
394         * include/c_global/cmath (fmod(_Tp, _Up)): Add.
395         * include/c_std/cmath: Likewise.
396
397 2011-08-11  Paolo Carlini  <paolo.carlini@oracle.com>
398
399         * include/std/future: constexpr functions are implicitly inline.
400         * include/std/chrono: Likewise.
401         * include/std/complex: Likewise.
402         * include/bits/move.h: Likewise.
403         * include/bits/stl_pair.h: Likewise.
404
405 2011-08-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
406
407         * include/bits/alloc_traits.h: Fix doxygen @headername.
408
409 2011-08-06  Benjamin Kosnik  <bkoz@redhat.com>
410
411         * doc/doxygen/user.cfg.in (PDF_HYPERLINKS): To NO.
412
413 2011-08-06  Benjamin Kosnik  <bkoz@redhat.com>
414
415         * doc/doxygen/user.cfg.in: Add scoped_allocator.
416
417         * include/debug/safe_sequence.h: Fix doxygen markup.
418         * include/debug/safe_unordered_base.h: Same.
419         * include/debug/safe_local_iterator.tcc: Same.
420         * include/debug/safe_unordered_container.h: Same.
421         * include/std/valarray: Same.
422         * include/std/iomanip: Same.
423         * include/std/streambuf: Same.
424         * include/std/bitset: Same.
425         * include/std/fstream: Same.
426         * include/std/functional: Same.
427         * include/std/istream: Same.
428         * include/std/ostream: Same.
429         * include/std/scoped_allocator: Same.
430         * include/std/sstream: Same.
431         * include/parallel/multiway_merge.h: Same.
432         * include/parallel/base.h: Same.
433         * include/parallel/for_each_selectors.h: Same.
434         * include/parallel/multiway_mergesort.h: Same.
435         * include/parallel/search.h: Same.
436         * include/parallel/partial_sum.h: Same.
437         * include/parallel/queue.h: Same.
438         * include/parallel/sort.h: Same.
439         * include/parallel/random_number.h: Same.
440         * include/ext/vstring.h: Same.
441         * include/ext/algorithm: Same.
442         * include/ext/pb_ds/assoc_container.h: Same.
443         * include/ext/bitmap_allocator.h: Same.
444         * include/ext/stdio_filebuf.h: Same.
445         * include/ext/memory: Same.
446         * include/ext/functional: Same.
447         * include/bits/basic_ios.h: Same.
448         * include/bits/stl_list.h: Same.
449         * include/bits/stl_map.h: Same.
450         * include/bits/stl_algobase.h: Same.
451         * include/bits/stl_queue.h: Same.
452         * include/bits/gslice.h: Same.
453         * include/bits/locale_classes.h: Same.
454         * include/bits/stl_set.h: Same.
455         * include/bits/locale_facets.h: Same.
456         * include/bits/stl_stack.h: Same.
457         * include/bits/stl_heap.h: Same.
458         * include/bits/forward_list.h: Same.
459         * include/bits/stream_iterator.h: Same.
460         * include/bits/basic_string.h: Same.
461         * include/bits/stl_multimap.h: Same.
462         * include/bits/stl_pair.h: Same.
463         * include/bits/ios_base.h: Same.
464         * include/bits/stl_numeric.h: Same.
465         * include/bits/stl_vector.h: Same.
466         * include/bits/stl_deque.h: Same.
467         * include/bits/codecvt.h: Same.
468         * include/bits/stl_multiset.h: Same.
469         * include/bits/stl_uninitialized.h: Same.
470         * include/bits/ptr_traits.h: Same.
471         * include/bits/slice_array.h: Same.
472         * include/bits/stl_iterator_base_funcs.h: Same.
473         * include/bits/stl_algo.h: Same.
474         * include/bits/stl_iterator.h: Same.
475         * include/bits/stl_tempbuf.h: Same.
476         * include/bits/regex.h: Same.
477         * include/bits/range_access.h: Same.
478         * include/bits/random.h: Same.
479         * include/bits/alloc_traits.h: Same.
480         * include/bits/regex_error.h: Same.
481         * include/bits/locale_facets_nonio.h: Same.
482         * include/bits/stl_relops.h: Same.
483         * include/backward/auto_ptr.h: Same.
484         * libsupc++/initializer_list: Same.
485
486         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
487         Adjust line numbers.
488         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
489         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
490         Same.
491         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
492         Same.
493
494 2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
495
496         * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Point TOPLEVEL_INCLUDES
497         to $(toplevel_srcdir)/libgcc.
498         * configure: Regenerate.
499
500 2011-08-04  Benjamin Kosnik  <bkoz@redhat.com>
501
502         * doc/xml/manual/build_hacking.xml: Use relative fileref for PNG
503         imagedata.
504         * doc/xml/manual/test_policy_data_structures.xml: Same.
505         * doc/xml/manual/policy_data_structures.xml: Same.
506
507         * doc/Makefile.am (stamp-html-docbook-images)
508         (stamp-html-docbook-lwg, stamp-html-docbook-data): New.
509         (xml_extra): Add lwg html file dependencies.
510         (xml_images): Add image html file dependencies.
511         * doc/Makefile.in: Regenerate.
512         (stamp-html): Change to stamp-html-docbook-data.
513         (stamp-html-copy): Remove.
514
515 2011-08-04  Paolo Carlini  <paolo.carlini@oracle.com>
516
517         * src/atomic.cc: Use noexcept.
518         * include/std/atomic: Likewise.
519         * include/bits/atomic_0.h: Likewise.
520         * include/bits/atomic_2.h: Likewise.
521         * include/bits/atomic_base.h: Likewise.
522
523 2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>
524
525         * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: Include
526         unistd.h for unlink.
527         * testsuite/performance/27_io/ofstream_insert_int.cc: Same.
528         * testsuite/performance/27_io/ifstream_extract_int.cc: Same.
529         * testsuite/performance/27_io/ifstream_getline-2.cc: Same.
530         * testsuite/performance/27_io/fstream_seek_write.cc: Same.
531         * testsuite/performance/27_io/ifstream_extract_chars.cc: Same.
532         * testsuite/performance/27_io/ofstream_insert_float.cc: Same.
533         * testsuite/performance/27_io/ifstream_extract_float.cc: Same.
534         * testsuite/performance/27_io/filebuf_sputc.cc: Same.
535
536 2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>
537
538         * include/std/tuple: Mark more constructors constexpr.
539         * testsuite/20_util/tuple/cons/constexpr.cc: Split into and extend as:
540         * testsuite/20_util/tuple/cons/constexpr-2.cc: ...this.
541         * testsuite/20_util/tuple/cons/constexpr-3.cc: ... and this.
542         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line numbers.
543
544 2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>
545             François Dumont  <francois.cppdevs@free.fr>
546
547         * testsuite/23_containers/array/at_neg.cc: Move...
548         * testsuite/23_containers/array/at.cc: ...here. Remove
549         -fno-exceptions, call const at member function.
550
551 2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>
552
553         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Generated.
554
555 2011-08-01  Paolo Carlini  <paolo.carlini@oracle.com>
556
557         PR c++/49813
558         * include/c_global/cmath (isinf): Remove workaround.
559
560 2011-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
561
562         PR libstdc++/49925
563         * include/bits/shared_ptr.h (make_shared): Qualify allocate_shared
564         with std::.
565         * include/bits/shared_ptr_base.h (__make_shared): Likewise.
566
567 2011-07-29  Benjamin Kosnik  <bkoz@redhat.com>
568
569         * doc/xml/manual/build_hacking.xml: Markup imagedata changes.
570         * doc/xml/manual/policy_data_structures.xml: Same.
571
572         * doc/xml/class.txml: Remove biblioid.
573         * doc/xml/manual/allocator.xml: Same.
574         * doc/xml/manual/ctype.xml: Same.
575         * doc/xml/manual/codecvt.xml: Same.
576         * doc/xml/manual/backwards_compatibility.xml: Same.
577         * doc/xml/manual/abi.xml: Same.
578         * doc/xml/manual/shared_ptr.xml: Same.
579         * doc/xml/manual/using_exceptions.xml: Same.
580         * doc/xml/manual/messages.xml: Same.
581
582 2011-07-29  Benjamin Kosnik  <bkoz@redhat.com>
583
584         Docbook conversion of existing ext/pb_ds documentation.
585         * doc/Makefile.am (xml_sources_manual): Add
586         policy_data_structures.xml and
587         test_policy_data_structures.xml.
588         (stamp-html-copy): Remove special-case for ext/pb_ds directory.
589         (XSLTPROC_FLAGS): Split into XSLT_FLAGS and XSLT_PARAM, use.
590         * doc/Makefile.in: Regenerate.
591         * doc/xml/manual/policy_data_structures.xml: New, adapted from
592           previous html-only instance in doc/html/ext/pb_ds.
593         * doc/xml/manual/test_policy_data_structures.xml: New, same as above.
594
595         * doc/xml/spine.xml: Update copyright.
596         * doc/xml/manual/spine.xml: Same.
597         * doc/xml/manual/extensions.xml: Adjust set, chapter, sections.
598         * doc/xml/manual/bitmap_allocator.xml: Same.
599         * doc/xml/manual/mt_allocator.xml: Same.
600
601         Populate image directory.
602         * doc/xml/images/(pbds_balls_and_bins.png,
603         pbds_binary_priority_queue_random_int_push_timing_test_local.pdf,
604         pbds_binary_priority_queue_random_int_push_timing_test_local.png,
605         pbds_binary_priority_queue_random_int_push_timing_test_local.svg,
606         pbds_cc_hash_random_int_find_timing_test_local.pdf,
607         pbds_cc_hash_random_int_find_timing_test_local.png,
608         pbds_cc_hash_random_int_find_timing_test_local.svg,
609         pbds_cc_hash_random_int_subscript_timing_test_find_local.pdf,
610         pbds_cc_hash_random_int_subscript_timing_test_find_local.png,
611         pbds_cc_hash_random_int_subscript_timing_test_find_local.svg,
612         pbds_cc_hash_random_int_subscript_timing_test_insert_local.pdf,
613         pbds_cc_hash_random_int_subscript_timing_test_insert_local.png,
614         pbds_cc_hash_random_int_subscript_timing_test_insert_local.svg,
615         pbds_container_tag_hierarchy.pdf,
616         pbds_container_tag_hierarchy.png,
617         pbds_container_tag_hierarchy.svg,
618         pbds_different_underlying_dss_1.png,
619         pbds_different_underlying_dss_2.png,
620         pbds_embedded_lists_1.png, pbds_embedded_lists_2.png,
621         pbds_embedded_lists_3.png, pbds_exception_hierarchy.pdf,
622         pbds_exception_hierarchy.png, pbds_exception_hierarchy.svg,
623         pbds_gp_hash_random_int_find_timing_test_local.pdf,
624         pbds_gp_hash_random_int_find_timing_test_local.png,
625         pbds_gp_hash_random_int_find_timing_test_local.svg,
626         pbds_gp_hash_random_int_subscript_timing_test_find_local.pdf,
627         pbds_gp_hash_random_int_subscript_timing_test_find_local.png,
628         pbds_gp_hash_random_int_subscript_timing_test_find_local.svg,
629         pbds_gp_hash_random_int_subscript_timing_test_insert_local.pdf,
630         pbds_gp_hash_random_int_subscript_timing_test_insert_local.png,
631         pbds_gp_hash_random_int_subscript_timing_test_insert_local.svg,
632         pbds_hash_policy_cd.png,
633         pbds_hash_random_int_erase_mem_usage_test_local.pdf,
634         pbds_hash_random_int_erase_mem_usage_test_local.png,
635         pbds_hash_random_int_erase_mem_usage_test_local.svg,
636         pbds_hash_ranged_hash_range_hashing_fns.png,
637         pbds_hash_range_hashing_seq_diagram2.png,
638         pbds_hash_range_hashing_seq_diagram.png,
639         pbds_hash_zlob_random_int_find_timing_test_local.pdf,
640         pbds_hash_zlob_random_int_find_timing_test_local.png,
641         pbds_hash_zlob_random_int_find_timing_test_local.svg,
642         pbds_insert_resize_sequence_diagram1.png,
643         pbds_insert_resize_sequence_diagram2.png,
644         pbds_insert_resize_sequence_diagram3.png,
645         pbds_invalidation_guarantee_erase.png,
646         pbds_invalidation_tag_hierarchy.pdf,
647         pbds_invalidation_tag_hierarchy.png,
648         pbds_invalidation_tag_hierarchy.svg, pbds_list_update.png,
649         pbds_multimap_text_find_timing_test_large_s2p_hash_local.pdf,
650         pbds_multimap_text_find_timing_test_large_s2p_hash_local.png,
651         pbds_multimap_text_find_timing_test_large_s2p_hash_local.svg,
652         pbds_multimap_text_find_timing_test_large_s2p_tree_local.pdf,
653         pbds_multimap_text_find_timing_test_large_s2p_tree_local.png,
654         pbds_multimap_text_find_timing_test_large_s2p_tree_local.svg,
655         pbds_multimap_text_find_timing_test_small_s2p_hash_local.pdf,
656         pbds_multimap_text_find_timing_test_small_s2p_hash_local.png,
657         pbds_multimap_text_find_timing_test_small_s2p_hash_local.svg,
658         pbds_multimap_text_find_timing_test_small_s2p_tree_local.pdf,
659         pbds_multimap_text_find_timing_test_small_s2p_tree_local.png,
660         pbds_multimap_text_find_timing_test_small_s2p_tree_local.svg,
661         pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.pdf,
662         pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
663         pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.svg,
664         pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.pdf,
665         pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
666         pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.svg,
667         pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.pdf,
668         pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
669         pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.svg,
670         pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.pdf,
671         pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.png,
672         pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.svg,
673         pbds_multimap_text_insert_timing_test_large_s2p_hash_local.pdf,
674         pbds_multimap_text_insert_timing_test_large_s2p_hash_local.png,
675         pbds_multimap_text_insert_timing_test_large_s2p_hash_local.svg,
676         pbds_multimap_text_insert_timing_test_large_s2p_tree_local.pdf,
677         pbds_multimap_text_insert_timing_test_large_s2p_tree_local.png,
678         pbds_multimap_text_insert_timing_test_large_s2p_tree_local.svg,
679         pbds_multimap_text_insert_timing_test_small_s2p_hash_local.pdf,
680         pbds_multimap_text_insert_timing_test_small_s2p_hash_local.png,
681         pbds_multimap_text_insert_timing_test_small_s2p_hash_local.svg,
682         pbds_multimap_text_insert_timing_test_small_s2p_tree_local.pdf,
683         pbds_multimap_text_insert_timing_test_small_s2p_tree_local.png,
684         pbds_multimap_text_insert_timing_test_small_s2p_tree_local.svg,
685         pbds_node_invariants.png,
686         pbds_pairing_priority_queue_text_push_pop_timing_test_local.pdf,
687         pbds_pairing_priority_queue_text_push_pop_timing_test_local.png,
688         pbds_pairing_priority_queue_text_push_pop_timing_test_local.svg,
689         pbds_pairing_priority_queue_text_push_timing_test_local.pdf,
690         pbds_pairing_priority_queue_text_push_timing_test_local.png,
691         pbds_pairing_priority_queue_text_push_timing_test_local.svg,
692         pbds_pat_trie.png, pbds_point_iterator_hierarchy.png,
693         pbds_point_iterators_range_ops_1.png,
694         pbds_point_iterators_range_ops_2.png,
695         pbds_priority_queue_different_underlying_dss.png,
696         pbds_priority_queue_random_int_push_pop_timing_test_local.pdf,
697         pbds_priority_queue_random_int_push_pop_timing_test_local.png,
698         pbds_priority_queue_random_int_push_pop_timing_test_local.svg,
699         pbds_priority_queue_random_int_push_timing_test_local.pdf,
700         pbds_priority_queue_random_int_push_timing_test_local.png,
701         pbds_priority_queue_random_int_push_timing_test_local.svg,
702         pbds_priority_queue_tag_hierarchy.pdf,
703         pbds_priority_queue_tag_hierarchy.png,
704         pbds_priority_queue_tag_hierarchy.svg,
705         pbds_priority_queue_text_join_timing_test_local.pdf,
706         pbds_priority_queue_text_join_timing_test_local.png,
707         pbds_priority_queue_text_join_timing_test_local.svg,
708         pbds_priority_queue_text_modify_down_timing_test_local.pdf,
709         pbds_priority_queue_text_modify_down_timing_test_local.png,
710         pbds_priority_queue_text_modify_down_timing_test_local.svg,
711         pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.pdf,
712         pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
713         pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.svg,
714         pbds_priority_queue_text_modify_up_timing_test_local.pdf,
715         pbds_priority_queue_text_modify_up_timing_test_local.png,
716         pbds_priority_queue_text_modify_up_timing_test_local.svg,
717         pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.pdf,
718         pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
719         pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.svg,
720         pbds_priority_queue_text_pop_mem_usage_test_local.pdf,
721         pbds_priority_queue_text_pop_mem_usage_test_local.png,
722         pbds_priority_queue_text_pop_mem_usage_test_local.svg,
723         pbds_priority_queue_text_push_pop_timing_test_local.pdf,
724         pbds_priority_queue_text_push_pop_timing_test_local.png,
725         pbds_priority_queue_text_push_pop_timing_test_local.svg,
726         pbds_priority_queue_text_push_timing_test_local.pdf,
727         pbds_priority_queue_text_push_timing_test_local.png,
728         pbds_priority_queue_text_push_timing_test_local.svg,
729         pbds_rationale_null_node_updator.png,
730         pbds_resize_policy_cd.png, pbds_restoring_node_invariants.png,
731         pbds_simple_list.png,
732         pbds_text_find_timing_test_hash_local.pdf,
733         pbds_text_find_timing_test_hash_local.png,
734         pbds_text_find_timing_test_hash_local.svg,
735         pbds_text_find_timing_test_tree_like_local.pdf,
736         pbds_text_find_timing_test_tree_like_local.png,
737         pbds_text_find_timing_test_tree_like_local.svg,
738         pbds_tree_node_invalidations.png,
739         pbds_tree_node_invariants.png,
740         pbds_tree_node_updator_policy_cd.png,
741         pbds_tree_order_statistics_timing_test_local.pdf,
742         pbds_tree_order_statistics_timing_test_local.png,
743         pbds_tree_order_statistics_timing_test_local.svg,
744         pbds_tree_split_join_timing_test_local.pdf,
745         pbds_tree_split_join_timing_test_local.png,
746         pbds_tree_split_join_timing_test_local.svg,
747         pbds_tree_text_insert_timing_test_node_tree_local.pdf,
748         pbds_tree_text_insert_timing_test_node_tree_local.png,
749         pbds_tree_text_insert_timing_test_node_tree_local.svg,
750         pbds_tree_text_insert_timing_test_pat_trie_local.pdf,
751         pbds_tree_text_insert_timing_test_pat_trie_local.png,
752         pbds_tree_text_insert_timing_test_pat_trie_local.svg,
753         pbds_tree_text_insert_timing_test_vector_tree_local.pdf,
754         pbds_tree_text_insert_timing_test_vector_tree_local.png,
755         pbds_tree_text_insert_timing_test_vector_tree_local.svg,
756         pbds_tree_text_lor_find_timing_test_local.pdf,
757         pbds_tree_text_lor_find_timing_test_local.png,
758         pbds_tree_text_lor_find_timing_test_local.svg,
759         pbds_trie_node_updator_policy_cd.png,
760         pbds_update_seq_diagram.png): Add.
761
762         * doc/html/ext/pb_ds: Remove.
763         * doc/html/ext/pb_ds/(acks.html, assoc_container_tag_cd.png,
764         assoc_container_tag_cd.svg, assoc_container_traits.html,
765         assoc_design.html, assoc_examples.html,
766         associative_container_tag.html, assoc_performance_tests.html,
767         assoc_regression_tests.html, assoc_tests.html,
768         balls_and_bins.png, basic_hash_table.html,
769         basic_hash_tag.html, basic_invalidation_guarantee.html,
770         basic_tree_assoc_container_const_node_iterator.html,
771         basic_tree.html, basic_tree_tag.html, binary_heap_tag.html,
772         binary_priority_queue_random_int_push_timing_test_gcc.png,
773         binary_priority_queue_random_int_push_timing_test_local.png,
774         binary_priority_queue_random_int_push_timing_test_msvc.png,
775         binomial_heap_tag.html,
776         ccgp_hash_random_int_subscript_timing_test_insert_gcc.png,
777         ccgp_hash_random_int_subscript_timing_test_insert_local.png,
778         ccgp_hash_random_int_subscript_timing_test_insert_msvc.png,
779         cc_hash_max_collision_check_resize_trigger.html,
780         cc_hash_random_int_find_timing_test_gcc.png,
781         cc_hash_random_int_find_timing_test_local.png,
782         cc_hash_random_int_find_timing_test_msvc.png,
783         cc_hash_random_int_subscript_timing_test_find_gcc.png,
784         cc_hash_random_int_subscript_timing_test_find_local.png,
785         cc_hash_random_int_subscript_timing_test_find_msvc.png,
786         cc_hash_random_int_subscript_timing_test_insert_gcc.png,
787         cc_hash_random_int_subscript_timing_test_insert_local.png,
788         cc_hash_random_int_subscript_timing_test_insert_msvc.png,
789         cc_hash_table.html, cc_hash_tag.html, checked_by_tidy.gif
790         concepts.html, contact.html, container_base.html,
791         container_cd.png, container_cd.svg, container_tag.html,
792         counter_lu_policy.html, design.html,
793         different_underlying_dss.png, direct_mask_range_hashing.html,
794         direct_mod_range_hashing.html, disclaimer.html, ds_gen.html,
795         embedded_lists_1.png, embedded_lists_2.png,
796         embedded_lists_3.png, examples.html, exceptions.html,
797         gp_hash_random_int_find_timing_test_gcc.png,
798         gp_hash_random_int_find_timing_test_local.png,
799         gp_hash_random_int_find_timing_test_msvc.png,
800         gp_hash_random_int_subscript_timing_test_find_gcc.png,
801         gp_hash_random_int_subscript_timing_test_find_local.png,
802         gp_hash_random_int_subscript_timing_test_find_msvc.png,
803         gp_hash_random_int_subscript_timing_test_insert_gcc.png,
804         gp_hash_random_int_subscript_timing_test_insert_local.png,
805         gp_hash_random_int_subscript_timing_test_insert_msvc.png,
806         gp_hash_table.html, gp_hash_tag.html,
807         hash_based_containers.html, hash_exponential_size_policy.html,
808         hash_load_check_resize_trigger.html, hash_policy_cd.png,
809         hash_prime_size_policy.html,
810         hash_random_int_erase_mem_usage_test_gcc.png,
811         hash_random_int_erase_mem_usage_test.html,
812         hash_random_int_erase_mem_usage_test_local.png,
813         hash_random_int_erase_mem_usage_test_msvc.png,
814         hash_random_int_find_find_timing_test.html,
815         hash_random_int_subscript_find_timing_test.html,
816         hash_random_int_subscript_insert_timing_test.html,
817         hash_ranged_hash_range_hashing_fns.png,
818         hash_range_hashing_seq_diagram2.png,
819         hash_range_hashing_seq_diagram.png,
820         hash_standard_resize_policy.html,
821         hash_text_find_find_timing_test.html,
822         hash_zlob_random_int_find_find_timing_test.html,
823         hash_zlob_random_int_find_timing_test_gcc.png,
824         hash_zlob_random_int_find_timing_test_local.png,
825         hash_zlob_random_int_find_timing_test_msvc.png, index.html,
826         insert_error.html, insert_resize_sequence_diagram1.png,
827         insert_resize_sequence_diagram2.png,
828         insert_resize_sequence_diagram3.png, interface.html,
829         introduction.html, invalidation_guarantee_cd.png,
830         invalidation_guarantee_erase.png, join_error.html,
831         linear_probe_fn.html, list_update.html, list_update_tag.html,
832         lu_based_containers.html, lu.png, misc.html, motivation.html,
833         move_to_front_lu_policy.html,
834         multimap_text_find_timing_test_large.html,
835         multimap_text_find_timing_test_large_s2p_hash_gcc.png,
836         multimap_text_find_timing_test_large_s2p_hash_local.png,
837         multimap_text_find_timing_test_large_s2p_hash_msvc.png,
838         multimap_text_find_timing_test_large_s2p_tree_gcc.png,
839         multimap_text_find_timing_test_large_s2p_tree_local.png,
840         multimap_text_find_timing_test_large_s2p_tree_msvc.png,
841         multimap_text_find_timing_test_small.html,
842         multimap_text_find_timing_test_small_s2p_hash_gcc.png,
843         multimap_text_find_timing_test_small_s2p_hash_local.png,
844         multimap_text_find_timing_test_small_s2p_hash_msvc.png,
845         multimap_text_find_timing_test_small_s2p_tree_gcc.png,
846         multimap_text_find_timing_test_small_s2p_tree_local.png,
847         multimap_text_find_timing_test_small_s2p_tree_msvc.png,
848         multimap_text_insert_mem_usage_test_large.html,
849         multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png,
850         multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
851         multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png,
852         multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png,
853         multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
854         multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png,
855         multimap_text_insert_mem_usage_test_small.html,
856         multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png,
857         multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
858         multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png,
859         multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png,
860         multimap_text_insert_mem_usage_test_small_s2p_tree_local.png,
861         multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png,
862         multimap_text_insert_timing_test_large.html,
863         multimap_text_insert_timing_test_large_s2p_hash_gcc.png,
864         multimap_text_insert_timing_test_large_s2p_hash_local.png,
865         multimap_text_insert_timing_test_large_s2p_hash_msvc.png,
866         multimap_text_insert_timing_test_large_s2p_tree_gcc.png,
867         multimap_text_insert_timing_test_large_s2p_tree_local.png,
868         multimap_text_insert_timing_test_large_s2p_tree_msvc.png,
869         multimap_text_insert_timing_test_small.html,
870         multimap_text_insert_timing_test_small_s2p_hash_gcc.png,
871         multimap_text_insert_timing_test_small_s2p_hash_local.png,
872         multimap_text_insert_timing_test_small_s2p_hash_msvc.png,
873         multimap_text_insert_timing_test_small_s2p_tree_gcc.png,
874         multimap_text_insert_timing_test_small_s2p_tree_local.png,
875         multimap_text_insert_timing_test_small_s2p_tree_msvc.png,
876         node_invariant_invalidations.png, node_invariants.png,
877         null_hash_fn.html, null_lu_metadata.html,
878         null_mapped_type.html, null_probe_fn.html,
879         null_tree_node_update.html, null_trie_node_update.html,
880         ov_tree_tag.html, pairing_heap_tag.html,
881         pairing_priority_queue_text_push_pop_timing_test_gcc.png,
882         pairing_priority_queue_text_push_pop_timing_test_local.png,
883         pairing_priority_queue_text_push_pop_timing_test_msvc.png,
884         pairing_priority_queue_text_push_timing_test_gcc.png,
885         pairing_priority_queue_text_push_timing_test_local.png,
886         pairing_priority_queue_text_push_timing_test_msvc.png,
887         pat_trie.png, pat_trie_tag.html,
888         point_invalidation_guarantee.html, point_iterators_cd.png,
889         point_iterators_range_ops_1.png,
890         point_iterators_range_ops_2.png, pq_container_traits.html,
891         pq_design.html, pq_different_underlying_dss.png,
892         pq_examples.html, pq_performance_tests.html,
893         pq_regression_tests.html, pq_tests.html, prerequisites.html,
894         priority_queue.html,
895         priority_queue_random_int_push_pop_timing_test_gcc.png,
896         priority_queue_random_int_push_pop_timing_test.html,
897         priority_queue_random_int_push_pop_timing_test_local.png,
898         priority_queue_random_int_push_pop_timing_test_msvc.png,
899         priority_queue_random_int_push_timing_test_gcc.png,
900         priority_queue_random_int_push_timing_test.html,
901         priority_queue_random_int_push_timing_test_local.png,
902         priority_queue_random_int_push_timing_test_msvc.png,
903         priority_queue_tag_cd.png, priority_queue_tag_cd.svg,
904         priority_queue_tag.html,
905         priority_queue_text_join_timing_test_gcc.png,
906         priority_queue_text_join_timing_test.html,
907         priority_queue_text_join_timing_test_local.png,
908         priority_queue_text_join_timing_test_msvc.png,
909         priority_queue_text_modify_down_timing_test_gcc.png,
910         priority_queue_text_modify_down_timing_test.html,
911         priority_queue_text_modify_down_timing_test_local.png,
912         priority_queue_text_modify_down_timing_test_msvc.png,
913         priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png,
914         priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
915         priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png,
916         priority_queue_text_modify_up_timing_test_gcc.png,
917         priority_queue_text_modify_up_timing_test.html,
918         priority_queue_text_modify_up_timing_test_local.png,
919         priority_queue_text_modify_up_timing_test_msvc.png,
920         priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png,
921         priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
922         priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png,
923         priority_queue_text_pop_mem_usage_test_gcc.png,
924         priority_queue_text_pop_mem_usage_test.html,
925         priority_queue_text_pop_mem_usage_test_local.png,
926         priority_queue_text_pop_mem_usage_test_msvc.png,
927         priority_queue_text_push_pop_timing_test_gcc.png,
928         priority_queue_text_push_pop_timing_test.html,
929         priority_queue_text_push_pop_timing_test_local.png,
930         priority_queue_text_push_pop_timing_test_msvc.png,
931         priority_queue_text_push_timing_test_gcc.png,
932         priority_queue_text_push_timing_test.html,
933         priority_queue_text_push_timing_test_local.png,
934         priority_queue_text_push_timing_test_msvc.png,
935         PythonPoweredSmall.gif quadratic_probe_fn.html,
936         random_int_find_find_timing_test_tree_gcc.png,
937         random_int_find_find_timing_test_tree_local.png,
938         random_int_find_find_timing_test_tree_msvc.png,
939         range_invalidation_guarantee.html,
940         rationale_null_node_updator.png, rb_tree_tag.html,
941         rc_binomial_heap_tag.html, references.html, resize_error.html,
942         resize_policy_cd.png, restoring_node_invariants.png,
943         sample_probe_fn.html, sample_ranged_hash_fn.html,
944         sample_ranged_probe_fn.html, sample_range_hashing.html,
945         sample_resize_policy.html, sample_resize_trigger.html,
946         sample_size_policy.html, sample_tree_node_update.html,
947         sample_trie_access_traits.html, sample_trie_node_update.html,
948         sample_update_policy.html, simple_list.png,
949         splay_tree_tag.html, tests.html,
950         text_find_timing_test_hash_gcc.png,
951         text_find_timing_test_hash_local.png,
952         text_find_timing_test_hash_msvc.png,
953         text_find_timing_test_tree_like_gcc.png,
954         text_find_timing_test_tree_like_local.png,
955         text_find_timing_test_tree_like_msvc.png, thin_heap_tag.html,
956         tree_based_containers.html, tree.html,
957         tree_node_iterator.html, tree_node_updator_policy_cd.png,
958         tree_order_statistics_node_update.html,
959         tree_order_statistics_timing_test_gcc.png,
960         tree_order_statistics_timing_test.html,
961         tree_order_statistics_timing_test_local.png,
962         tree_order_statistics_timing_test_msvc.png,
963         tree_random_int_find_find_timing_test.html,
964         tree_split_join_timing_test_gcc.png,
965         tree_split_join_timing_test.html,
966         tree_split_join_timing_test_local.png,
967         tree_split_join_timing_test_msvc.png, tree_tag.html,
968         tree_text_find_find_timing_test.html,
969         tree_text_insert_timing_test.html,
970         tree_text_insert_timing_test_node_tree_gcc.png,
971         tree_text_insert_timing_test_node_tree_local.png,
972         tree_text_insert_timing_test_node_tree_msvc.png,
973         tree_text_insert_timing_test_pat_trie_gcc.png,
974         tree_text_insert_timing_test_pat_trie_local.png,
975         tree_text_insert_timing_test_pat_trie_msvc.png,
976         tree_text_insert_timing_test_vector_tree_gcc.png,
977         tree_text_insert_timing_test_vector_tree_local.png,
978         tree_text_insert_timing_test_vector_tree_msvc.png,
979         tree_text_lor_find_find_timing_test.html,
980         tree_text_lor_find_timing_test_gcc.png,
981         tree_text_lor_find_timing_test_local.png,
982         tree_text_lor_find_timing_test_msvc.png,
983         trie_based_containers.html, trie_const_node_iterator.html,
984         trie.html, trie_node_iterator.html,
985         trie_node_updator_policy_cd.png,
986         trie_order_statistics_node_update.html,
987         trie_prefix_search_node_update.html,
988         trie_string_access_traits.html, trie_tag.html,
989         trivial_iterator_tag.html, tutorial.html,
990         update_policy_cd.png, update_seq_diagram.png): Remove.
991
992 2011-07-27  Paolo Carlini  <paolo.carlini@oracle.com>
993
994         PR c++/49813
995         * include/c_global/cmath: Use _GLIBCXX_CONSTEXPR and constexpr.
996
997 2011-07-27  Jeffrey Yasskin  <jyasskin@google.com>
998
999         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Updated.
1000
1001 2011-07-25  Benjamin Kosnik  <bkoz@redhat.com>
1002
1003         * include/std/array (at): Remove constexpr when -fno-exceptions.
1004         * testsuite/23_containers/array/at_neg.cc: Test.
1005
1006 2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
1007             Nathan Ridge  <zeratul976@hotmail.com>
1008
1009         PR libstdc++/49836
1010         * include/bits/stl_vector.h (vector<>::_M_emplace_back_aux):
1011         Declare.
1012         (vector<>::push_back(const value_type&)): Use it.
1013         * include/bits/vector.tcc: Define.
1014         (vector<>::emplace_back(_Args&&...)): Use it.
1015         * testsuite/util/testsuite_tr1.h (CopyConsOnlyType, MoveConsOnlyType):
1016         Add.
1017         * testsuite/23_containers/vector/modifiers/push_back/49836.cc: New.
1018         * testsuite/23_containers/deque/modifiers/push_back/49836.cc:
1019         Likewise.
1020         * testsuite/23_containers/deque/modifiers/push_front/49836.cc:
1021         Likewise.
1022         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1023         Adjust dg-error line number.
1024         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1025         Likewise.
1026         * testsuite/23_containers/vector/requirements/dr438/
1027         constructor_1_neg.cc: Likewise.
1028         * testsuite/23_containers/vector/requirements/dr438/
1029         constructor_2_neg.cc: Likewise.
1030
1031 2011-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
1032
1033         * include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt,
1034         _M_bkt_for_elements, _M_need_rehash): Fix typos in the last commit.
1035
1036 2011-07-24  François Dumont  <francois.cppdevs@free.fr>
1037
1038         * include/bits/hashtable_policy.h (_Prime_rehash_policy): Use
1039         __builtin_floor rather than __builtin_ceil to compute next resize
1040         value.
1041         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
1042         New.
1043
1044 2011-07-22  Benjamin Kosnik  <bkoz@redhat.com>
1045             Daniel Krugler  <daniel.kruegler@googlemail.com>
1046
1047         * include/bits/move.h (move, forward): Mark constexpr.
1048         * include/bits/stl_pair.h (pair): Mark move ctors constexpr.
1049         * testsuite/20_util/pair/make_pair/constexpr.cc: New.
1050         * testsuite/20_util/pair/cons/constexpr.cc: Add tests.
1051
1052 2011-07-22  Ian Lance Taylor  <iant@google.com>
1053
1054         * fragment.am (CONFIG_CXXFLAGS): Add -frandom-seed.
1055         * Makefile.in: Rebuild.
1056         * doc/Makefile.in: Rebuild.
1057         * include/Makefile.in: Rebuild.
1058         * libsupc++/Makefile.in: Rebuild.
1059         * po/Makefile.in: Rebuild.
1060         * python/Makefile.in: Rebuild.
1061         * src/Makefile.in: Rebuild.
1062         * testsuite/Makefile.in: Rebuild.
1063
1064 2011-07-21  Benjamin Kosnik  <bkoz@redhat.com>
1065
1066         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Move...
1067         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: ... here.
1068         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc: Move...
1069         * testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc: ... here.
1070         * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Move...
1071         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: ... here.
1072         * testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc: Move...
1073         * testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc: ... here.
1074
1075         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Move...
1076         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: ... here.
1077         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc: Move...
1078         * testsuite/ext/pb_ds/regression/trie_set_rand_debug.cc: ... here.
1079         * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Move...
1080         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: ... here.
1081         * testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc: Move...
1082         * testsuite/ext/pb_ds/regression/trie_map_rand_debug.cc: ... here.
1083
1084         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Move.
1085         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: ...here.
1086         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
1087         Move...
1088         * testsuite/ext/pb_ds/regression/list_update_set_rand_debug.cc: ...here.
1089         * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Move...
1090         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: ...here.
1091         * testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
1092         Move...
1093         * testsuite/ext/pb_ds/regression/list_update_map_rand_debug.cc: ...here.
1094
1095         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Move...
1096         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: ...here.
1097         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc: Move...
1098         * testsuite/ext/pb_ds/regression/hash_set_rand_debug.cc: ...here.
1099
1100         * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Move...
1101         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: ...here.
1102         * testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc: Move...
1103         * testsuite/ext/pb_ds/regression/hash_map_rand_debug.cc: ...here.
1104
1105 2011-07-21  François Dumont  <francois.cppdevs@free.fr>
1106
1107         * include/debug/safe_unordered_sequence.h,
1108         safe_unordered_sequence.tcc: Rename respectively in...
1109         * include/debug/safe_unordered_container.h,
1110         safe_unordered_container.tcc: ...those. _Safe_unordered_sequence
1111         rename _Safe_unordered_container.
1112         * include/debug/safe_unordered_base.h: _Safe_unordered_sequence_base
1113         rename _Safe_unordered_container_base.
1114         * include/debug/unordered_map, unordered_set: Adapt to previous
1115         modifications.
1116         * config/abi/pre/gnu.ver: Likewise.
1117         * src/debug.cc: Likewise.
1118         * include/Makefile.am: Likewise.
1119         * include/Makefile.in: Regenerate.
1120
1121 2011-07-21  Paolo Carlini  <paolo.carlini@oracle.com>
1122
1123         * include/std/mutex (timed_mutex, recursive_timed_mutex): Update
1124         to use steady_clock instead of monotonic_clock.
1125         * config/abi/pre/gnu.ver: Export steady_clock::now.
1126
1127 2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
1128             Daniel Krugler  <daniel.kruegler@googlemail.com>
1129
1130         * include/std/array (array::at, array::operator[]): Mark constexpr.
1131         * testsuite/23_containers/array/requirements/
1132         constexpr_element_access.cc: Add.
1133
1134 2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
1135             Daniel Krugler  <daniel.kruegler@googlemail.com>
1136
1137         * include/std/chrono: (system_clock::is_steady): Update to N3291
1138         from is_monotonic.
1139         (time_point): Mark nonmember arithmetic operators constexpr.
1140         * src/chrono.cc: Modify for above.
1141         * src/compatibility-c++0x.cc: Same.
1142         * testsuite/20_util/time_point/nonmember/constexpr.cc: New.
1143         * testsuite/20_util/time_point/1.cc: Modify.
1144         * testsuite/20_util/system_clock/constexpr_data.cc: Modify.
1145         * testsuite/20_util/system_clock/1.cc: Modify.
1146         * testsuite/20_util/monotonic_clock/constexpr_data.cc: Move to...
1147         * testsuite/20_util/steady_clock/constexpr_data.cc: ...here.
1148         * testsuite/30_threads/condition_variable/members/2.cc: Modify.
1149         * testsuite/30_threads/condition_variable_any/members/2.cc: Modify.
1150
1151 2011-07-20  Paolo Carlini  <paolo.carlini@oracle.com>
1152
1153         * include/std/system_error: Use noexcept.
1154         * src/system_error.cc: Likewise.
1155         * testsuite/19_diagnostics/error_condition/modifiers/39881.cc: Adjust.
1156         * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
1157         * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
1158         * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
1159         * testsuite/util/testsuite_error.h: Likewise.
1160
1161         * include/std/system_error (error_code::error_code(_ErrorCodeEnum)):
1162         Use enable_if on template parameter default.
1163         (error_condition::error_condition(_ErrorConditionEnum)): Likewise.
1164
1165 2011-07-20  Ed Smith-Rowland  <3dw4rd@verizon.net>
1166
1167         * include/precompiled/stdc++.h: Add scoped_allocator.
1168
1169 2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
1170
1171         * include/std/bitset (operator[]): Make constexpr.
1172         * testsuite/23_containers/bitset/operations/constexpr.cc: New.
1173
1174 2011-07-20  Paolo Carlini  <paolo.carlini@oracle.com>
1175
1176         * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
1177         _Safe_local_iterator(const _Iterator&, size_type, const _Sequence*)):
1178         Fix typo.
1179
1180 2011-07-19  François Dumont  <francois.cppdevs@free.fr>
1181
1182         * include/debug/safe_unordered_base.h, safe_unordered_sequence.h,
1183         safe_unordered_sequence.tcc, safe_local_iterator.h,
1184         safe_local_iterator.tcc: New, support for unordered sequence safe
1185         local iterators.
1186         * include/Makefile.am: Add previous files.
1187         * include/Makefile.in: Regenerate.
1188         * include/debug/unordered_map, unordered_set: Implement
1189         _Safe_unordered_sequence and expose _Safe_local_iterator.
1190         * include/debug/safe_iterator.h, safe_iterator.tcc: Refactor
1191         _Safe_iterator::_M_get_distance static method to expose it as
1192         __get_distance function and use it in _Safe_local_iterator type.
1193         * include/debug/formatter.h: Add __msg_local_iter_compare_bad
1194         _Debug_msg_id enum entry to notify invalid comparison between local
1195         iterators from different buckets. Add _Parameter constructor from
1196         _Safe_local_iterator.
1197         * include/debug/functions.h: Add __valid_range overload for
1198         _Safe_local_iterator.
1199         * src/debug.cc: Add _Safe_unordered_sequence_base and
1200         _Safe_local_iterator_base methods implementations.
1201         * config/abi/pre/gnu.ver: Add export of some
1202         _Safe_unordered_sequence_base and _Safe_local_iterator_base methods.
1203         * testsuite/util/debug/checks.h: Add use_invalid_iterator function to
1204         simulate use of a singular iterator.
1205         * testsuite/util/debug/unordered_checks.h: New, several functions
1206         to simulate classic invalid usage of unordered sequence local
1207         iterators.
1208         * testsuite/23_containers/unordered_map/debug/
1209         use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
1210         use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
1211         invalid_local_iterator_compare_neg.cc: New.
1212         * testsuite/23_containers/unordered_multimap/debug/
1213         use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
1214         use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
1215         invalid_local_iterator_compare_neg.cc: New.
1216         * testsuite/23_containers/unordered_set/debug/
1217         use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
1218         use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
1219         invalid_local_iterator_compare_neg.cc: New.
1220         * testsuite/23_containers/unordered_multiset/debug/
1221         use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
1222         use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
1223         invalid_local_iterator_compare_neg.cc: New.
1224
1225 2011-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
1226
1227         PR libstdc++/48430
1228         * include/bits/shared_ptr.h (struct hash<shared_ptr<>>): Use
1229         __hash_base.
1230         * include/bits/unique_ptr.h (struct hash<unique_ptr<>>): Likewise.
1231
1232 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1233
1234         * crossconfig.m4 (*-netware): Remove.
1235         * configure: Regenerate.
1236
1237 2011-07-15  Yufeng Zhang  <yufeng.zhang@arm.com>
1238
1239         * config/locale/newlib/ctype_members.cc: New file.
1240         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale
1241         kind: newlib.  Configure to use the newlib specific
1242         ctype_members.cc when with_newlib is enabled.
1243         * configure: Regenerate.
1244
1245 2011-07-15  Paolo Carlini  <paolo.carlini@oracle.com>
1246             Jakub Jelinek  <jakub@redhat.com>
1247
1248         PR libstdc++/49745
1249         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check separately for
1250         _POSIX_TIMEOUTS and define _GTHREADS_USE_MUTEX_TIMEDLOCK.
1251         * libsupc++/guard.cc: Include <unistd.h>.
1252         * testsuite/17_intro/headers/c++1998/49745.cc: New.
1253         * configure: Regenerate.
1254         * config.h.in: Likewise.
1255
1256 2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>
1257
1258         PR libstdc++/49559
1259         * include/bits/stl_algo.h (__move_merge_backward): Remove.
1260         (__move_merge_adaptive, __move_merge_adaptive_backward): New.
1261         (__merge_adaptive): Use the latter two.
1262         (__rotate_adaptive): Avoid self move-assignment.
1263         * include/bits/stl_algobase.h (move_backward): Fix comment.
1264         * testsuite/25_algorithms/stable_sort/49559.cc: New.
1265         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
1266         * testsuite/25_algorithms/inplace_merge/moveable.cc: Extend.
1267         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
1268         * testsuite/util/testsuite_rvalref.h (rvalstruct::operator=
1269         (rvalstruct&&)): Check for self move-assignment.
1270
1271 2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>
1272
1273         * testsuite/util/testsuite_allocator.h (propagating_allocator<>::
1274         operator=(const propagating_allocator<>&)): Retun *this.
1275
1276 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1277
1278         * include/Makefile.am: Add new header.
1279         * include/Makefile.in: Regenerate.
1280         * include/std/scoped_allocator: New.
1281         * doc/xml/manual/status_cxx200x.xml: Update.
1282         * testsuite/20_util/scoped_allocator/1.cc: New.
1283         * testsuite/20_util/scoped_allocator/propagation.cc: New.
1284         * testsuite/20_util/scoped_allocator/requirements/typedefs.cc: New.
1285         * testsuite/20_util/scoped_allocator/requirements/
1286         explicit_instantiation.cc: New.
1287
1288 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1289
1290         * include/bits/stl_vector.h: Use new allocator model in C++0x mode.
1291         * include/bits/vector.tcc: Likewise.
1292         * testsuite/util/testsuite_allocator.h (propagating_allocator): Define.
1293         * testsuite/23_containers/vector/allocator/copy_assign.cc: New.
1294         * testsuite/23_containers/vector/allocator/noexcept.cc: New.
1295         * testsuite/23_containers/vector/allocator/copy.cc: New.
1296         * testsuite/23_containers/vector/allocator/swap.cc: New.
1297         * testsuite/23_containers/vector/allocator/move_assign.cc: New.
1298         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1299         Adjust dg-error line numbers.
1300         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1301         Likewise.
1302         * testsuite/23_containers/vector/requirements/dr438/
1303         constructor_1_neg.cc: Likewise.
1304         * testsuite/23_containers/vector/requirements/dr438/
1305         constructor_2_neg.cc: Likewise.
1306
1307 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1308
1309         * include/ext/alloc_traits.h (__allocator_always_compares_equal): New
1310         trait, provide partial specializations for known allocators.
1311         (__alloc_traits::construct, __alloc_traits::destroy): Overload for
1312         non-standard pointer types.
1313         (__alloc_traits::_S_always_equal): New trait for use with noexcept.
1314         (__alloc_traits::_S_nothrow_move): Likewise.
1315         (__alloc_traits::_S_nothrow_swap): Likewise.
1316
1317 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1318
1319         * include/ext/cast.h: Fix typo in include guard.
1320         * include/ext/pointer.h (_Unqualified_type): Remove redundant
1321         partial specializations for volatile types. Fix typos in comments.
1322         (pointer_traits<_Pointer_adaptor<Tp>>::pointer_to): Define.
1323
1324 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1325
1326         PR libstdc++/49668
1327         * include/std/functional (__bind_simple): Define.
1328         * include/std/future (_Task_setter): Parameterize by type of result
1329         pointer instead of state object.
1330         (_S_task_setter): Type deduction helper.
1331         (_Task_state): Use _S_task_setter and __bind_simple.
1332         (_Deferred_state, _Async_state): Store call wrapper directly not as
1333         std::function. Use _S_task_setter and __bind_simple.
1334         (_S_make_deferred_state, _S_make_async_state): Type deduction helpers.
1335         (async): Use new functions and __bind_simple.
1336         * include/std/mutex (call_once): Use __bind_simple.
1337         * include/std/thread (thread): Likewise. Remove unused headers.
1338         * src/thread.cc: Add header.
1339         * testsuite/30_threads/async/49668.cc: New.
1340         * testsuite/30_threads/call_once/49668.cc: New.
1341         * testsuite/30_threads/thread/cons/49668.cc: New.
1342         * testsuite/30_threads/thread/cons/moveable.cc: Remove unused bool.
1343
1344 2011-07-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1345
1346         * configure.host (abi_baseline_subdir_switch): Describe.
1347         Provide default.
1348         (*-*-solaris2.[89], *-*-solaris2.1[0-9]): Override.
1349         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Substitute
1350         baseline_subdir_switch.
1351         * testsuite/Makefile.am (site.exp): Emit it.
1352         (baseline_subdir): Use it.
1353         * testsuite/libstdc++-abi/abi.exp: Use it.
1354         * configure: Regenerate.
1355         * Makefile.in: Regenerate.
1356         * doc/Makefile.in: Regenerate.
1357         * include/Makefile.in: Regenerate.
1358         * libsupc++/Makefile.in: Regenerate.
1359         * po/Makefile.in: Regenerate.
1360         * python/Makefile.in: Regenerate.
1361         * src/Makefile.in: Regenerate.
1362         * testsuite/Makefile.in: Regenerate.
1363
1364 2011-06-29  François Dumont  <francois.cppdevs@free.fr>
1365
1366         * include/debug/set.h, unordered_map, multiset.h, forward_list,
1367         unordered_set, vector, deque, string, list, multimap.h: Remove
1368         base class default constructor calls.
1369         * include/debug/map.h: Likewise and cleanup several redefinition of
1370         base iterator typedef.
1371
1372 2011-06-29  Nathan Sidwell  <nathan@codesourcery.com>
1373
1374         * libsupc++/eh_arm.c (__cxa_type_match): Construct address of
1375         thrown object here.  Return succeded_with_ptr_to_base for all
1376         pointer cases.
1377
1378 2011-06-23  Jonathan Wakely  <jwakely.gcc@gmail.com>
1379
1380         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Fix for
1381         C++0x mode.
1382         * testsuite/25_algorithms/sort/35588.cc: Likewise.
1383         * testsuite/26_numerics/headers/complex/synopsis.cc: Likewise.
1384
1385 2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1386
1387         * testsuite/20_util/bind/socket.cc: Use variable and remove attribute.
1388
1389 2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
1390
1391         * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Avoid -Wall
1392         warning.
1393
1394 2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
1395
1396         * testsuite/20_util/reference_wrapper/invoke.cc: Avoid -Wall warnings.
1397         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Likewise.
1398         * testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
1399         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
1400         Likewise.
1401         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
1402         * testsuite/20_util/bind/socket.cc: Likewise.
1403         * testsuite/20_util/pointer_traits/pointer_to.cc: Likewise.
1404         * testsuite/util/testsuite_random.h: Likewise.
1405
1406 2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1407
1408         * include/Makefile.am: Add alloc_traits.h headers.
1409         * include/Makefile.in: Regenerate.
1410         * include/std/memory: Include uses_allocator.h explicitly.
1411         * include/bits/allocator.h (allocator_traits): Move to ...
1412         * include/bits/alloc_traits.h: New header.
1413         * include/ext/alloc_traits.h (__alloc_traits): Extension to provide
1414         a common allocator interface for C++98 and C++0x.
1415         * include/bits/stl_construct.h: Use __alloc_traits.
1416         * include/bits/stl_uninitialized.h: Likewise.
1417
1418 2011-06-22  Daniel Krugler  <daniel.kruegler@googlemail.com>
1419             Paolo Carlini  <paolo.carlini@oracle.com>
1420
1421         * include/bits/move.h (__is_nothrow_swappable): Add.
1422         (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Use noexcept.
1423         * include/bits/algorithmfwd.h: Adjust.
1424         * testsuite/25_algorithms/swap/noexcept.cc: New.
1425
1426 2011-06-21  Jakub Jelinek  <jakub@redhat.com>
1427
1428         * testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add
1429         check-DEJAGNUnormal[4-9].
1430         (check-DEJAGNU): Split into 10 jobs for parallel testing instead of 4.
1431         * testsuite/Makefile.in: Regenerated.
1432
1433 2011-06-20  Daniel Krugler  <daniel.kruegler@googlemail.com>
1434             Paolo Carlini  <paolo.carlini@oracle.com>
1435
1436         * include/std/tuple (__conv_types, __one_by_one_convertible,
1437         __all_convertible): Add.
1438         (tuple): Use the latter.
1439         (tuple<_T1>): Remove.
1440         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error
1441         line number.
1442         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
1443
1444 2011-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
1445
1446         * include/bits/ptr_traits.h (pointer_traits<T*>::pointer_to): Use
1447         noexcept.
1448
1449 2011-06-14  Paolo Carlini  <paolo.carlini@oracle.com>
1450
1451         * include/std/valarray (~valarray): Use noexcept.
1452         * include/bits/unique_ptr.h (~unique_ptr): Likewise.
1453         * testsuite/26_numerics/valarray/noexcept_move_construct.cc: New.
1454         * testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc:
1455         Likewise.
1456         * testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc:
1457         Likewise.
1458         * testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc:
1459         Likewise.
1460
1461 2011-06-14  Paolo Carlini  <paolo.carlini@oracle.com>
1462
1463         * include/std/functional: Use noexcept.
1464         * include/bits/stl_tempbuf.h: Likewise.
1465
1466 2011-06-12  François Dumont  <francois.cppdevs@free.fr>
1467             Paolo Carlini  <paolo.carlini@oracle.com>
1468
1469         * include/bits/allocator.h (__shrink_to_fit): Rename to
1470         __shrink_to_fit_aux, fix.
1471         * include/bits/stl_vector.h (_M_shrink_to_fit): Declare.
1472         (shrink_to_fit): Use the latter.
1473         * include/debug/vector (shrink_to_fit): Likewise.
1474         * include/bits/vector.tcc (_M_shrink_to_fit): Define.
1475         * include/bits/stl_deque.h (_M_shrink_to_fit): Declare.
1476         (shrink_to_fit): Use the latter.
1477         * include/debug/deque (shrink_to_fit): Likewise.
1478         * include/bits/deque.tcc (_M_shrink_to_fit): Define.
1479         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Add.
1480         * include/bits/stl_bvector.h (_M_shrink_to_fit): Declare.
1481         (shrink_to_fit): Use the latter.
1482         (reserve): Use _M_reallocate, move inline.
1483         (_Bvector_base<>::_S_nword): Add, use it throughout.
1484         * include/debug/string (shrink_to_fit): Redo.
1485         * include/ext/vstring.h (shrink_to_fit): Optimize.
1486         * include/bits/basic_string.h (shrink_to_fit): Likewise.
1487         * testsuite/21_strings/debug/shrink_to_fit.cc: New.
1488         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
1489         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc:
1490         Likewise.
1491         * testsuite/23_containers/vector/bool/capacity/shrink_to_fit.cc:
1492         Likewise.
1493         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
1494
1495 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
1496
1497         * include/ext/extptr_allocator.h (construct, destroy): Fix for C++0x
1498         mode by overloading to take allocator's pointer type.
1499         * testsuite/23_containers/vector/ext_pointer/types/2.cc: New.
1500         * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
1501         2.cc: New.
1502
1503 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
1504
1505         * testsuite/20_util/allocator_traits/requirements/
1506         explicit_instantiation.cc: Add another instantiation.
1507
1508 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
1509
1510         * testsuite/20_util/allocator_traits/requirements/typedefs.cc: Check
1511         for allocator_type and value_type.
1512
1513 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
1514
1515         * testsuite/30_threads/packaged_task/uses_allocator.cc: New.
1516         * testsuite/30_threads/promise/uses_allocator.cc: Likewise.
1517
1518 2011-06-10  Paolo Carlini  <paolo.carlini@oracle.com>
1519
1520         * include/ext/throw_allocator.h: Use noexcept.
1521         * include/ext/pool_allocator.h: Likewise.
1522         * include/ext/bitmap_allocator.h: Likewise.
1523         * include/ext/new_allocator.h: Likewise.
1524         * include/ext/malloc_allocator.h: Likewise.
1525         * include/ext/array_allocator.h: Likewise.
1526         * include/ext/mt_allocator.h: Likewise.
1527         * include/ext/extptr_allocator.h: Likewise.
1528         * testsuite/util/testsuite_allocator.h: Likewise; do not include
1529         <cassert> directly, include <testsuite_hooks.h> instead.
1530
1531 2011-06-10  Benjamin Kosnik  <bkoz@redhat.com>
1532
1533         * include/ext/pb_ds/*: Doxygen markup redo.
1534         * include/Makefile.am: Fold in constructors_destructor_fn_imps.hpp.
1535         * include/Makefile.in: Regenerate.
1536
1537 2011-06-10  Jason Merrill  <jason@redhat.com>
1538
1539         * testsuite/20_util/bind/ref_neg.cc: Remove wrong test lines.
1540
1541         * testsuite/20_util/bind/ref_neg.cc: Remove dg-excess-errors,
1542         fix dg-error markup.
1543
1544 2011-06-09  Jason Merrill  <jason@redhat.com>
1545
1546         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust.
1547
1548         * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune notes.
1549         * testsuite/20_util/duration/cons/1_neg.cc: Remove dg-excess-errors.
1550         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1551         * testsuite/20_util/forward/1_neg.cc: Likewise.
1552         * testsuite/20_util/function/cmp/cmp_neg.cc: Likewise.
1553         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
1554         * testsuite/20_util/reference_wrapper/ref_neg.cc: Likewise.
1555         * testsuite/20_util/tuple/comparison_operators/35480_neg.cc: Likewise.
1556         * testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc:
1557         Likewise.
1558         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
1559         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
1560         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
1561         Likewise.
1562         * testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise.
1563         * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Likewise.
1564         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
1565         Likewise.
1566         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
1567         auto_ptr_rvalue_neg.cc: Likewise.
1568         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
1569         Likewise.
1570         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
1571         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1572         Likewise.
1573         * testsuite/23_containers/deque/requirements/dr438/
1574         constructor_1_neg.cc: Likewise.
1575         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1576         Likewise.
1577         * testsuite/23_containers/forward_list/requirements/dr438/
1578         assign_neg.cc: Likewise.
1579         * testsuite/23_containers/forward_list/requirements/dr438/
1580         constructor_1_neg.cc: Likewise.
1581         * testsuite/23_containers/forward_list/requirements/dr438/
1582         constructor_2_neg.cc: Likewise.
1583         * testsuite/23_containers/forward_list/requirements/dr438/
1584         insert_neg.cc: Likewise.
1585         * testsuite/23_containers/list/requirements/dr438/
1586         assign_neg.cc: Likewise.
1587         * testsuite/23_containers/list/requirements/dr438/
1588         constructor_1_neg.cc: Likewise.
1589         * testsuite/23_containers/list/requirements/dr438/
1590         constructor_2_neg.cc: Likewise.
1591         * testsuite/23_containers/list/requirements/dr438/
1592         insert_neg.cc: Likewise.
1593         * testsuite/23_containers/vector/requirements/dr438/
1594         assign_neg.cc: Likewise.
1595         * testsuite/23_containers/vector/requirements/dr438/
1596         constructor_1_neg.cc: Likewise.
1597         * testsuite/23_containers/vector/requirements/dr438/
1598         constructor_2_neg.cc: Likewise.
1599         * testsuite/23_containers/vector/requirements/dr438/
1600         insert_neg.cc: Likewise.
1601         * testsuite/23_containers/map/operators/1_neg.cc: Likewise.
1602         * testsuite/29_atomics/atomic_integral/operators/
1603         bitwise_neg.cc: Likewise.
1604         * testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
1605         * testsuite/decimal/mixed-mode-cmp_neg.cc: Likewise.
1606         * testsuite/decimal/operator_neg.cc: Likewise.
1607
1608 2011-06-09  Simon Baldwin  <simonb@google.com>
1609
1610         * scripts/extract_symvers.in: Handle processor/OS specific or
1611         unknown symbol binding strings from readelf.
1612
1613 2011-06-09  Paolo Carlini  <paolo.carlini@oracle.com>
1614
1615         * include/std/type_traits (__is_copy_assignable_impl,
1616         __is_nt_copy_assignable_impl): Fix typo.
1617
1618 2011-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
1619
1620         * include/ext/extptr_allocator.h: Include <ext/numeric_traits.h>
1621         instead of <limits>.
1622         * include/bits/allocator.h: Likewise.
1623
1624         * include/std/chrono (duration_values<>::min): Call lowest, not min.
1625
1626 2011-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
1627
1628         * include/bits/allocator.h (__shrink_to_fit): Simplify.
1629         * include/bits/stl_vector.h (vector<>::shrink_to_fit): Adjust.
1630         * include/bits/stl_deque.h: Likewise.
1631         * include/bits/stl_bvector.h: Likewise.
1632
1633 2011-06-07  Jason Merrill  <jason@redhat.com>
1634
1635         * testsuite/lib/prune.exp: s/required/instantiated/.
1636         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1637         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
1638         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1639         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1640         * testsuite/20_util/forward/1_neg.cc: Likewise.
1641         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1642         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1643         Likewise.
1644         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
1645         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
1646         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Likewise.
1647         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
1648         * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Likewise.
1649         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Likewise.
1650         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
1651         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
1652         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
1653         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
1654         shared_ptr_neg.cc: Likewise.
1655
1656 2011-06-07  Paolo Carlini  <paolo.carlini@oracle.com>
1657
1658         * include/bits/move.h (struct __move_if_noexcept_cond): Add.
1659         (move_if_noexcept): Use the latter.
1660         * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator,
1661         _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR): Add.
1662         * include/bits/stl_uninitialized.h
1663         (__uninitialized_move_if_noexcept_a): Add.
1664         * include/bits/vector.tcc (vector<>::reserve): Use
1665         _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR.
1666         (vector<>::_M_insert_aux, _M_fill_insert, _M_default_append,
1667         _M_range_insert): Use __uninitialized_move_if_noexcept_a.
1668         * testsuite/util/testsuite_rvalref.h (throwing_move_constructor):
1669         Add.
1670         (copycounter::copycounter(copycounter&&)): Use noexcept.
1671         * testsuite/23_containers/vector/modifiers/moveable2.cc: New.
1672         * testsuite/23_containers/vector/capacity/resize/moveable2.cc:
1673         Likewise.
1674         * testsuite/23_containers/vector/capacity/reserve/moveable2.cc:
1675         Likewise.
1676
1677 2011-06-07  Paolo Carlini  <paolo.carlini@oracle.com>
1678
1679         PR libstdc++/49293
1680         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Tweak
1681         for glibc 2.14.
1682         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
1683
1684 2011-06-06  Paolo Carlini  <paolo.carlini@oracle.com>
1685
1686         * include/bits/move.h (move_if_noexcept): Use __and_ and __not_.
1687
1688 2011-06-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1689
1690         * include/bits/ptr_traits.h (pointer_traits): Fix typos.
1691         * include/ext/pointer.h (pointer_traits): Add partial specialization
1692         for _Pointer_adapter.
1693
1694 2011-06-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
1695
1696         * testsuite/util/testsuite_allocator.h (tracker_allocator::construct):
1697         Update to C++0x definition using type to construct as template
1698         parameter.
1699         (tracker_allocator::destroy): Likewise for type to destroy.
1700         (uneq_allocator::construct, uneq_allocator::destroy): Likewise.
1701
1702 2011-06-01  Paolo Carlini  <paolo.carlini@oracle.com>
1703
1704         * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
1705         Use std::move on the allocator, use noexcept.
1706         (_Hashtable<>::~_Hashtable): Use noexcept.
1707         * include/bits/stl_list.h: Likewise.
1708         * include/bits/forward_list.h: Likewise.
1709         * include/bits/stl_vector.h: Likewise.
1710         * include/bits/stl_bvector.h: Likewise.
1711         * include/bits/stl_map.h (map<>::map(map&&)): Use noexcept.
1712         * include/bits/stl_set.h: Likewise.
1713         * include/bits/stl_multimap.h: Likewise.
1714         * include/bits/stl_multiset.h: Likewise.
1715         * include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(_Rb_tree&&)): Use
1716         std::move on the allocator.
1717         (_Rb_tree<>::~_Rb_tree): Use noexcept.
1718         * include/bits/stl_deque.h: Likewise.
1719         * include/bits/basic_string.h (basic_string<>::~basic_string): Use
1720         noexcept.
1721         * include/ext/vstring.h (__versa_string<>::~__versa_string): Likewise.
1722         * include/debug/set.h: Adjust.
1723         * include/debug/unordered_map: Likewise.
1724         * include/debug/multiset.h: Likewise.
1725         * include/debug/forward_list: Likewise.
1726         * include/debug/vector: Likewise.
1727         * include/debug/unordered_set: Likewise.
1728         * include/debug/deque: Likewise.
1729         * include/debug/map.h: Likewise.
1730         * include/debug/string: Likewise.
1731         * include/debug/list: Likewise.
1732         * include/debug/multimap.h: Likewise.
1733         * include/profile/set.h: Likewise.
1734         * include/profile/unordered_map: Likewise.
1735         * include/profile/multiset.h: Likewise.
1736         * include/profile/forward_list: Likewise.
1737         * include/profile/unordered_set: Likewise.
1738         * include/profile/vector: Likewise.
1739         * include/profile/deque: Likewise.
1740         * include/profile/map.h: Likewise.
1741         * include/profile/list: Likewise.
1742         * include/profile/multimap.h: Likewise.
1743         * testsuite/21_strings/basic_string/cons/wchar_t/
1744         noexcept_move_construct.cc: New.
1745         * testsuite/21_strings/basic_string/cons/char/
1746         noexcept_move_construct.cc: Likewise.
1747         * testsuite/ext/vstring/cons/noexcept_move_construct.cc: Likewise.
1748         * testsuite/23_containers/unordered_map/cons/
1749         noexcept_move_construct.cc: Likewise.
1750         * testsuite/23_containers/multimap/cons/
1751         noexcept_move_construct.cc: Likewise.
1752         * testsuite/23_containers/set/cons/
1753         noexcept_move_construct.cc: Likewise.
1754         * testsuite/23_containers/unordered_multimap/cons/
1755         noexcept_move_construct.cc: Likewise.
1756         * testsuite/23_containers/forward_list/cons/
1757         noexcept_move_construct.cc: Likewise.
1758         * testsuite/23_containers/unordered_set/cons/
1759         noexcept_move_construct.cc: Likewise.
1760         * testsuite/23_containers/vector/bool/cons/
1761         noexcept_move_construct.cc: Likewise.
1762         * testsuite/23_containers/vector/cons/
1763         noexcept_move_construct.cc: Likewise.
1764         * testsuite/23_containers/multiset/cons/
1765         noexcept_move_construct.cc: Likewise.
1766         * testsuite/23_containers/list/cons/
1767         noexcept_move_construct.cc: Likewise.
1768         * testsuite/23_containers/unordered_multiset/cons/
1769         noexcept_move_construct.cc: Likewise.
1770         * testsuite/23_containers/map/cons/noexcept_move_construct.cc
1771         * testsuite/23_containers/forward_list/requirements/dr438/
1772         assign_neg.cc: Adjust dg-error line numbers.
1773         * testsuite/23_containers/forward_list/requirements/dr438/
1774         insert_neg.cc: Likewise.
1775         * testsuite/23_containers/forward_list/requirements/dr438/
1776         constructor_1_neg.cc: Likewise.
1777         * testsuite/23_containers/forward_list/requirements/dr438/
1778         constructor_2_neg.cc: Likewise.
1779         * testsuite/23_containers/vector/requirements/dr438/
1780         assign_neg.cc: Likewise.
1781         * testsuite/23_containers/vector/requirements/dr438/
1782         insert_neg.cc: Likewise.
1783         * testsuite/23_containers/vector/requirements/dr438/
1784         constructor_1_neg.cc: Likewise.
1785         * testsuite/23_containers/vector/requirements/dr438/
1786         constructor_2_neg.cc: Likewise.
1787         * testsuite/23_containers/deque/requirements/dr438/
1788         assign_neg.cc: Likewise.
1789         * testsuite/23_containers/deque/requirements/dr438/
1790         insert_neg.cc: Likewise.
1791         * testsuite/23_containers/deque/requirements/dr438/
1792         constructor_1_neg.cc: Likewise.
1793         * testsuite/23_containers/deque/requirements/dr438/
1794         constructor_2_neg.cc: Likewise.
1795         * testsuite/23_containers/list/requirements/dr438/
1796         assign_neg.cc: Likewise.
1797         * testsuite/23_containers/list/requirements/dr438/
1798         insert_neg.cc: Likewise.
1799         * testsuite/23_containers/list/requirements/dr438/
1800         constructor_1_neg.cc: Likewise.
1801         * testsuite/23_containers/list/requirements/dr438/
1802         constructor_2_neg.cc: Likewise.
1803
1804         * include/bits/move.h (swap): Use __and_ in the noexcept.
1805         * include/bits/algorithmfwd.h: Adjust.
1806
1807 2011-05-31  Paolo Carlini  <paolo.carlini@oracle.com>
1808
1809         * include/bits/basic_string.h: Use noexcept per the FDIS (minus
1810         compare(const string&), which uses char_traits::compare, which
1811         isn't noexcept; also no noexcept in the move assignment operator
1812         and move assign, see c++std-lib-30855).
1813         * include/bits/basic_string.tcc: Likewise.
1814         * include/ext/vstring.h: Likewise.
1815         * include/ext/vstring.tcc: Likewise.
1816         * include/debug/string: Likewise.
1817
1818 2011-05-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
1819
1820         * doc/xml/manual/status_cxx200x.xml: Update.
1821         * doc/html/*: Regenerate.
1822
1823 2011-05-30  Paolo Carlini  <paolo.carlini@oracle.com>
1824
1825         * include/std/type_traits (__or_, __and_): Add trivial definitions
1826         for a single element.
1827         * include/bits/stl_pair.h: Use __and_ in noexcept specs and
1828         constraints.
1829         (pair<>::pair(pair&&)): Define.
1830         (pair<>::pair(const pair<>&)): Constrain with is_convertible.
1831         (pair<>::pair(pair<>&&)): Likewise, remove noexcept.
1832         * include/std/tuple: Use __and_ in noexcept specs and constraints.
1833         (_Tuple_impl<>::_Tuple_impl(allocator_arg_t, const _Alloc&,
1834         _Tuple_impl&&)): Remove noexcept.
1835         (tuple<>::tuple(_UElements&&...), tuple(const tuple<_UElements...>&),
1836         tuple(tuple<_UElements...>&&), tuple(const pair<_U1, _U2>&),
1837         tuple(pair<_U1, _U2>&&)): Constrain with is_convertible.
1838         * testsuite/20_util/tuple/moveable2.cc: Use = delete.
1839         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1840         Adjust dg-error line numbers.
1841         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1842         Likewise.
1843         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1844         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
1845         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
1846
1847 2011-05-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
1848
1849         * include/std/tuple: Restore is_convertible constraint.
1850         * testsuite/20_util/tuple/cons/allocate_noncopyable.cc: Remove.
1851
1852 2011-05-30  Paolo Carlini  <paolo.carlini@oracle.com>
1853
1854         PR libstdc++/49236
1855         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
1856         line number.
1857
1858 2011-05-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
1859
1860         * include/std/tuple: Implement uses-allocator construction.
1861         * include/bits/allocator.h (uses_allocator): Move to ...
1862         * include/bits/uses_allocator.h: New file.
1863         * include/Makefile.am: Add new header.
1864         * include/Makefile.in: Regenerate.
1865         * testsuite/20_util/uses_allocator/cons_neg.cc: New.
1866         * testsuite/20_util/uses_allocator/construction.cc: New.
1867         * testsuite/20_util/tuple/cons/allocate_noncopyable.cc: New.
1868         * testsuite/20_util/tuple/cons/allocators.cc: New.
1869
1870 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1871
1872         * testsuite/20_util/pointer_traits/pointer_to.cc: Fix.
1873
1874 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1875
1876         * acinclude.m4: Define GLIBCXX_CHECK_GET_NPROCS and
1877         GLIBCXX_CHECK_SC_NPROCESSORS_ONLN.
1878         * configure.ac: Use them. Increase minor version.
1879         * configure: Regenerate.
1880         * config.h.in: Regenerate.
1881         * include/std/thread (thread::hardware_concurrency): Remove inline
1882         definition.
1883         * src/thread.cc (thread::hardware_concurrency): Define.
1884         * config/abi/pre/gnu.ver: Export new symbol @3.4.17
1885         * testsuite/util/testsuite_abi.cc: Add new version.
1886         * testsuite/lib/libstdc++.exp (check_v3_target_nprocs): Add.
1887         * testsuite/lib/dg-options.exp (dg-require-nprocs): Add.
1888         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Use
1889         dg-require-nprocs and verify hardware_concurrency returns non-zero.
1890
1891 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1892
1893         * testsuite/20_util/pointer_traits/pointer_to.cc: New.
1894
1895 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1896
1897         * include/Makefile.am: Add new ptr_traits.h header.
1898         * include/Makefile.in: Regenerate.
1899         * include/bits/ptr_traits.h (pointer_traits): New.
1900         * include/bits/allocator.h (allocator_traits): Add.
1901         * include/ext/array_allocator.h (construct, destroy): Update C++0x
1902         versions.
1903         * include/ext/bitmap_allocator.h (construct, destroy): Likewise.
1904         * include/ext/extptr_allocator.h (construct, destroy): Likewise.
1905         * include/ext/malloc_allocator.h (construct, destroy): Likewise.
1906         * include/ext/mt_allocator.h (construct, destroy): Likewise.
1907         * include/ext/new_allocator.h (construct, destroy): Likewise.
1908         * include/ext/pool_allocator.h (construct, destroy): Likewise.
1909         * include/ext/throw_allocator.h (construct, destroy): Likewise.
1910         * testsuite/20_util/allocator_traits/requirements/typedefs.cc: New.
1911         * testsuite/20_util/allocator_traits/requirements/
1912         explicit_instantiation.cc: New.
1913         * testsuite/20_util/allocator_traits/members/max_size.cc: New.
1914         * testsuite/20_util/allocator_traits/members/select.cc: New.
1915         * testsuite/20_util/allocator_traits/members/construct.cc: New.
1916         * testsuite/20_util/allocator_traits/members/allocate_hint.cc: New.
1917         * testsuite/20_util/allocator_traits/members/destroy.cc: New.
1918         * testsuite/20_util/pointer_traits/requirements/typedefs.cc: New.
1919         * testsuite/20_util/pointer_traits/requirements/
1920         explicit_instantiation.cc: New.
1921
1922 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1923
1924         * include/std/future (launch): Update enumerators and define
1925         operators required for bitmask type. Remove trailing whitespace.
1926         * src/future.cc: Remove trailing whitespace.
1927         * testsuite/30_threads/async/any.cc: Adjust.
1928         * testsuite/30_threads/async/sync.cc: Adjust.
1929         * testsuite/30_threads/async/launch.cc: New.
1930
1931 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1932
1933         * include/std/future: Use noexcept.
1934         * src/future.cc: Likewise.
1935
1936 2011-05-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
1937
1938         * include/std/thread (this_thread::sleep_until): Move after sleep_for.
1939
1940 2011-05-27  Paolo Carlini  <paolo.carlini@oracle.com>
1941
1942         PR libstdc++/49187
1943         * include/parallel/losertree.h: Add missing using declarations
1944         of _Base::_M_comp.
1945         * include/parallel/algobase.h: Include <parallel/algorithmfwd.h>.
1946         * include/parallel/multiway_merge.h: Include <parallel/
1947         multiseq_selection.h>, forward declare __merge_advance.
1948         * include/parallel/multiseq_selection.h: Don't include <parallel/
1949         sort.h> here.
1950         * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Fix
1951         qualification of upper_bound.
1952
1953         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc:
1954         Use dg-require-debug-mode.
1955         * testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc:
1956         Likewise.
1957         * testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc:
1958         Likewise.
1959         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc:
1960         Likewise.
1961         * testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc:
1962         Likewise.
1963         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
1964         Likewise.
1965         * testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
1966         Likewise.
1967         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc:
1968         Likewise.
1969         * testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc:
1970         Likewise.
1971
1972         * include/parallel/algo.h: Minor uglification fixes.
1973
1974 2011-05-26  Paolo Carlini  <paolo.carlini@oracle.com>
1975
1976         * src/list.cc: Use noexcept per the FDIS.
1977         * src/compatibility-list-2.cc: Likewise.
1978         * include/debug/set.h: Likewise.
1979         * include/debug/unordered_map: Likewise.
1980         * include/debug/multiset.h: Likewise.
1981         * include/debug/forward_list: Likewise.
1982         * include/debug/unordered_set: Likewise.
1983         * include/debug/vector: Likewise.
1984         * include/debug/map.h: Likewise.
1985         * include/debug/deque: Likewise.
1986         * include/debug/list: Likewise.
1987         * include/debug/multimap.h: Likewise.
1988         * include/profile/set.h: Likewise.
1989         * include/profile/unordered_map: Likewise.
1990         * include/profile/multiset.h: Likewise.
1991         * include/profile/forward_list: Likewise.
1992         * include/profile/vector: Likewise.
1993         * include/profile/unordered_set: Likewise.
1994         * include/profile/map.h: Likewise.
1995         * include/profile/deque: Likewise.
1996         * include/profile/list: Likewise.
1997         * include/profile/multimap.h: Likewise.
1998         * include/bits/hashtable.h: Likewise.
1999         * include/bits/stl_list.h: Likewise.
2000         * include/bits/stl_map.h: Likewise.
2001         * include/bits/hashtable_policy.h: Likewise.
2002         * include/bits/stl_set.h: Likewise.
2003         * include/bits/forward_list.h: Likewise.
2004         * include/bits/stl_multimap.h: Likewise.
2005         * include/bits/stl_vector.h: Likewise.
2006         * include/bits/stl_deque.h: Likewise.
2007         * include/bits/stl_multiset.h: Likewise.
2008         * include/bits/stl_bvector.h: Likewise.
2009         * include/bits/stl_tree.h: Likewise.
2010
2011 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
2012
2013         * include/bits/stl_queue.h: Use noexcept per the FDIS.
2014         * include/bits/stl_stack.h: Likewise.
2015
2016 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
2017
2018         * config/abi/pre/gnu.ver: Correct last change, export instead
2019         at the existing @3.4.16.
2020         * configure.ac: Revert last change.
2021         * testsuite/util/testsuite_abi.cc: Likewise.
2022         * configure: Regenerate.
2023
2024 2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
2025
2026         * doc/xml/manual/documentation_hacking.xml: Minor corrections.
2027
2028 2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
2029
2030         * include/std/mutex: Add doxygen comments.
2031
2032 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
2033
2034         * config/abi/pre/gnu.ver: Export recently added  basic_streambuf
2035         and basic_stringbuf symbols @3.4.17.
2036         * configure.ac: Update.
2037         * testsuite/util/testsuite_abi.cc: Likewise.
2038         * configure: Regenerate.
2039
2040 2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
2041
2042         * libsupc++/guard.cc: Fix comments.
2043
2044 2011-05-25  Ian Lance Taylor  <iant@google.com>
2045
2046         PR libstdc++/49060
2047         * include/backward/hashtable.h (hashtable::erase): Don't crash if
2048         erasing first and another element with a reference to the other
2049         element.
2050         * testsuite/backward/hash_set/49060.cc: New.
2051
2052 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
2053
2054         * include/bits/random.h (random_device::min, max): Specify constexpr.
2055
2056 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
2057
2058         * include/std/thread: Use noexcept throughout per the FDIS.
2059         * include/std/mutex: Likewise.
2060
2061 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
2062
2063         * testsuite/20_util/duration/arithmetic/dr2020.cc: Fix typo.
2064
2065 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
2066
2067         PR libstdc++/49151
2068         * include/std/chrono (operator+, operator-, operator*, operator/,
2069         operator&): Implement LWG 2020 [WP]; specify constexpr.
2070         * testsuite/20_util/duration/arithmetic/dr2020.cc: New.
2071
2072 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
2073
2074         PR libstdc++/49141
2075         * testsuite/26_numerics/complex/cons/48760.cc: Use dg-require-c-std.
2076         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
2077         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
2078
2079 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
2080
2081         * include/bits/c++config (_GLIBCXX_NOTHROW): Update for noexcept.
2082         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
2083         line number.
2084
2085 2011-05-23  Benjamin Kosnik  <bkoz@redhat.com>
2086
2087         PR libstdc++/37144
2088         PR libstdc++/28457
2089         Interface changes for ext/pb_ds.
2090         PB_DS_BASE_C_DEC to unique PB_DS_*_BASE macros.
2091         * include/ext/pb_ds/assoc_container.hpp (container_base): Remove.
2092         (basic_hash_table, basic_branch, list_update): Derive from
2093         container_base_dispatch.
2094         * include/ext/pb_ds/list_update_policy.hpp (null_lu_metadata): Remove.
2095         (move_to_front_lu_policy): To lu_move_to_front_policy.
2096         (counter_lu_policy): To lu_counter_policy.
2097         * include/ext/pb_ds/tree_policy.hpp (null_tree_node_update): Remove.
2098         * include/ext/pb_ds/tag_and_trait.hpp (container_base_dispatch): Adjust
2099         template parameters, declare here.
2100         (null_mapped_type) Remove.
2101         (null_type): Just use this for template tricks everywhere.
2102         * include/ext/pb_ds/hash_policy.hpp (null_hash_fn, null_probe_fn):
2103         Remove.
2104         * include/ext/pb_ds/trie_policy.hpp (null_trie_node_update): Remove.
2105         (string_trie_e_access_traits): To trie_string_access_traits.
2106         * include/ext/pb_ds/priority_queue.hpp: Use container_base_dispatch.
2107
2108         File changes.
2109         * include/Makefile.am (pb_headers): Removed and changed file names.
2110         * include/Makefile.in: Regenerated.
2111         * include/ext/pb_ds/detail/basic_types.hpp: Remove.
2112         * include/ext/pb_ds/detail/bin_search_tree_/
2113           cond_dtor_entry_dealtor.hpp: Remove.
2114         * include/ext/pb_ds/detail/bin_search_tree_/
2115           cond_key_dtor_entry_dealtor.hpp: Remove.
2116         * include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Move..
2117         * include/ext/pb_ds/detail/binary_heap_/
2118           point_const_iterator.hpp: ..here.
2119         * include/ext/pb_ds/detail/basic_tree_policy: Move to...
2120         * include/ext/pb_ds/detail/branch_policy: This.
2121         * include/ext/pb_ds/detail/branch_policy/
2122           basic_tree_policy_base.hpp: Move...
2123         * include/ext/pb_ds/detail/branch_policy/branch_policy.hpp: ...here.
2124         * include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp: Add.
2125         * include/ext/pb_ds/detail/branch_policy/traits.hpp: Add.
2126         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2127         null_metadata.hpp: Remove.
2128         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2129         const_point_iterator.hpp: Move...
2130         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2131         point_const_iterator.hpp: ...here.
2132         * include/ext/pb_ds/detail/list_update_policy/
2133         counter_lu_metadata.hpp: Move..
2134         * include/ext/pb_ds/detail/list_update_policy/
2135         lu_counter_metadata.hpp: ...here.
2136         * include/ext/pb_ds/detail/list_update_policy/
2137         counter_lu_policy_imp.hpp: Remove.
2138         * include/ext/pb_ds/detail/list_update_policy/
2139         mtf_lu_policy_imp.hpp: Remove.
2140         * include/ext/pb_ds/detail/trie_policy/
2141         string_trie_e_access_traits_imp.hpp: Move...
2142         * include/ext/pb_ds/detail/trie_policy/
2143         sample_trie_access_traits.hpp: ...here.
2144         * include/ext/pb_ds/detail/trie_policy/
2145         sample_trie_e_access_traits.hpp: Move...
2146         * include/ext/pb_ds/detail/trie_policy/
2147         trie_string_access_traits_imp.hpp: ...here.
2148         * include/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp: Remove.
2149         * include/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp: Remove.
2150         * include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp: Remove.
2151         * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: New, fold all
2152         types found in the following files into pat_trie_base.
2153         * include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp: Folded.
2154         * include/ext/pb_ds/detail/pat_trie_/
2155           cond_dtor_entry_dealtor.hpp: Folded.
2156         * include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Folded.
2157         * include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Folded.
2158         * include/ext/pb_ds/detail/pat_trie_/head.hpp: Folded.
2159         * include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Folded.
2160         * include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Folded.
2161         * include/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp: Folded.
2162         * include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Folded.
2163         * include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Folded.
2164         * include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Folded.
2165         * include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp: Move...
2166         * include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp: ...here.
2167         * include/ext/pb_ds/detail/unordered_iterator/
2168         const_point_iterator.hpp: Move...
2169         * include/ext/pb_ds/detail/unordered_iterator/
2170         point_const_iterator.hpp: ...here.
2171
2172
2173         Adjust for above changes.
2174         * include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp: Same.
2175         * include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp: Same.
2176         * include/ext/pb_ds/detail/resize_policy/
2177           sample_resize_trigger.hpp: Same.
2178         * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp: Same.
2179         * include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp: Same.
2180         * include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp: Same.
2181         * include/ext/pb_ds/detail/binomial_heap_base_/
2182           binomial_heap_base_.hpp: Same.
2183         * include/ext/pb_ds/detail/binomial_heap_base_/
2184           constructors_destructor_fn_imps.hpp: Same.
2185         * include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp: Same.
2186         * include/ext/pb_ds/detail/binomial_heap_base_/
2187           split_join_fn_imps.hpp: Same.
2188         * include/ext/pb_ds/detail/container_base_dispatch.hpp: Same. Adjust
2189           for template parameter ordering change.
2190         * include/ext/pb_ds/detail/cc_hash_table_map_/
2191           erase_store_hash_fn_imps.hpp: Same.
2192         * include/ext/pb_ds/detail/cc_hash_table_map_/
2193           constructor_destructor_no_store_hash_fn_imps.hpp: Same.
2194         * include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp: Same.
2195         * include/ext/pb_ds/detail/cc_hash_table_map_/
2196           insert_no_store_hash_fn_imps.hpp: Same.
2197         * include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp: Same.
2198         * include/ext/pb_ds/detail/cc_hash_table_map_/
2199           policy_access_fn_imps.hpp: Same.
2200         * include/ext/pb_ds/detail/cc_hash_table_map_/
2201           resize_store_hash_fn_imps.hpp: Same.
2202         * include/ext/pb_ds/detail/cc_hash_table_map_/
2203           constructor_destructor_store_hash_fn_imps.hpp: Same.
2204         * include/ext/pb_ds/detail/cc_hash_table_map_/
2205           insert_store_hash_fn_imps.hpp: Same.
2206         * include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp: Same.
2207         * include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp: Same.
2208         * include/ext/pb_ds/detail/cc_hash_table_map_/
2209           entry_list_fn_imps.hpp: Same.
2210         * include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp: Same.
2211         * include/ext/pb_ds/detail/cc_hash_table_map_/
2212           find_store_hash_fn_imps.hpp: Same.
2213         * include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
2214         * include/ext/pb_ds/detail/cc_hash_table_map_/
2215           debug_no_store_hash_fn_imps.hpp: Same.
2216         * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
2217         * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
2218         * include/ext/pb_ds/detail/cc_hash_table_map_/
2219           constructor_destructor_fn_imps.hpp: Same.
2220         * include/ext/pb_ds/detail/cc_hash_table_map_/
2221           cond_key_dtor_entry_dealtor.hpp: Same.
2222         * include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp: Same.
2223         * include/ext/pb_ds/detail/cc_hash_table_map_/
2224           debug_store_hash_fn_imps.hpp: Same.
2225         * include/ext/pb_ds/detail/cc_hash_table_map_/
2226           erase_no_store_hash_fn_imps.hpp: Same.
2227         * include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp: Same.
2228         * include/ext/pb_ds/detail/cc_hash_table_map_/
2229           iterators_fn_imps.hpp: Same.
2230         * include/ext/pb_ds/detail/cc_hash_table_map_/
2231           resize_no_store_hash_fn_imps.hpp: Same.
2232         * include/ext/pb_ds/detail/cc_hash_table_map_/
2233           standard_policies.hpp: Same.
2234         * include/ext/pb_ds/detail/tree_trace_base.hpp: Same.
2235         * include/ext/pb_ds/detail/unordered_iterator/iterator.hpp: Same.
2236         * include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp: Same.
2237         * include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp: Same.
2238         * include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Same.
2239         * include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp: Same.
2240         * include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Same.
2241         * include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Same.
2242         * include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp: Same.
2243         * include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Same.
2244         * include/ext/pb_ds/detail/pat_trie_/
2245           constructors_destructor_fn_imps.hpp: Same.
2246         * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
2247         * include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Same.
2248         * include/ext/pb_ds/detail/pat_trie_/traits.hpp: Same.
2249         * include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp: Same.
2250         * include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Same.
2251         * include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Same.
2252         * include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Same.
2253         * include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Same.
2254         * include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp: Same.
2255         * include/ext/pb_ds/detail/bin_search_tree_/
2256           policy_access_fn_imps.hpp: Same.
2257         * include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp: Same.
2258         * include/ext/pb_ds/detail/bin_search_tree_/
2259           constructors_destructor_fn_imps.hpp: Same.
2260         * include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp: Same.
2261         * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Same.
2262         * include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp: Same.
2263         * include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp: Same.
2264         * include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp: Same.
2265         * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
2266         * include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp: Same.
2267         * include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp: Same.
2268         * include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp: Same.
2269         * include/ext/pb_ds/detail/bin_search_tree_/
2270           split_join_fn_imps.hpp: Same.
2271         * include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp: Same.
2272         * include/ext/pb_ds/detail/list_update_policy/
2273           sample_update_policy.hpp: Same.
2274         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2275           trace_fn_imps.hpp: Same.
2276         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2277           erase_fn_imps.hpp: Same.
2278         * include/ext/pb_ds/detail/gp_hash_table_map_/
2279           erase_store_hash_fn_imps.hpp: Same.
2280         * include/ext/pb_ds/detail/gp_hash_table_map_/
2281           constructor_destructor_no_store_hash_fn_imps.hpp: Same.
2282         * include/ext/pb_ds/detail/gp_hash_table_map_/
2283           insert_no_store_hash_fn_imps.hpp: Same.
2284         * include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp: Same.
2285         * include/ext/pb_ds/detail/gp_hash_table_map_/
2286           policy_access_fn_imps.hpp: Same.
2287         * include/ext/pb_ds/detail/gp_hash_table_map_/
2288           resize_store_hash_fn_imps.hpp: Same.
2289         * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
2290         * include/ext/pb_ds/detail/gp_hash_table_map_/
2291           constructor_destructor_store_hash_fn_imps.hpp: Same.
2292         * include/ext/pb_ds/detail/gp_hash_table_map_/
2293           insert_store_hash_fn_imps.hpp: Same.
2294         * include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp: Same.
2295         * include/ext/pb_ds/detail/gp_hash_table_map_/
2296           iterator_fn_imps.hpp: Same.
2297         * include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp: Same.
2298         * include/ext/pb_ds/detail/gp_hash_table_map_/
2299           find_no_store_hash_fn_imps.hpp: Same.
2300         * include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp: Same.
2301         * include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp: Same.
2302         * include/ext/pb_ds/detail/gp_hash_table_map_/
2303           find_store_hash_fn_imps.hpp: Same.
2304         * include/ext/pb_ds/detail/gp_hash_table_map_/
2305           debug_no_store_hash_fn_imps.hpp: Same.
2306         * include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
2307         * include/ext/pb_ds/detail/gp_hash_table_map_/
2308           constructor_destructor_fn_imps.hpp: Same.
2309         * include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp: Same.
2310         * include/ext/pb_ds/detail/gp_hash_table_map_/
2311           debug_store_hash_fn_imps.hpp: Same.
2312         * include/ext/pb_ds/detail/gp_hash_table_map_/
2313           erase_no_store_hash_fn_imps.hpp: Same.
2314         * include/ext/pb_ds/detail/gp_hash_table_map_/
2315           resize_no_store_hash_fn_imps.hpp: Same.
2316         * include/ext/pb_ds/detail/gp_hash_table_map_/
2317           standard_policies.hpp: Same.
2318         * include/ext/pb_ds/detail/standard_policies.hpp: Same.
2319         * include/ext/pb_ds/detail/types_traits.hpp: Same.
2320         * include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp: Same.
2321         * include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp: Same.
2322         * include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Same.
2323         * include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp: Same.
2324         * include/ext/pb_ds/detail/binary_heap_/
2325           constructors_destructor_fn_imps.hpp: Same.
2326         * include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp: Same.
2327         * include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp: Same.
2328         * include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp: Same.
2329         * include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Same.
2330         * include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp: Same.
2331         * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Same.
2332         * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
2333         * include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp: Same.
2334         * include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
2335         * include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp: Same.
2336         * include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp: Same.
2337         * include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Same.
2338         * include/ext/pb_ds/detail/tree_policy/
2339           sample_tree_node_update.hpp: Same.
2340         * include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp: Same.
2341         * include/ext/pb_ds/detail/trie_policy/
2342           sample_trie_node_update.hpp: Same.
2343         * include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp: Same.
2344         * include/ext/pb_ds/detail/trie_policy/
2345           prefix_search_node_update_imp.hpp: Same.
2346         * include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Same.
2347         * include/ext/pb_ds/detail/cond_dealtor.hpp: Same.
2348         * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Same.
2349           Adjust for template parameter change, fold into
2350           container_base_dispatch.
2351         * include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Same.
2352         * include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp: Same.
2353         * include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Same.
2354         * include/ext/pb_ds/detail/pairing_heap_/
2355           constructors_destructor_fn_imps.hpp: Same.
2356         * include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Same.
2357         * include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
2358         * include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp: Same.
2359         * include/ext/pb_ds/detail/binomial_heap_/
2360           constructors_destructor_fn_imps.hpp: Same.
2361         * include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp: Same.
2362         * include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
2363         * include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp: Same.
2364         * include/ext/pb_ds/detail/type_utils.hpp: Same.
2365         * include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp: Same.
2366         * include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp: Same.
2367         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2368           policy_access_fn_imps.hpp: Same.
2369         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2370           left_child_next_sibling_heap_.hpp: Same.
2371         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2372           const_iterator.hpp: Same.
2373         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2374           insert_fn_imps.hpp: Same.
2375         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2376           constructors_destructor_fn_imps.hpp: Same.
2377         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2378           debug_fn_imps.hpp: Same.
2379         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2380           node.hpp: Same.
2381         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2382           info_fn_imps.hpp: Same.
2383         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2384           iterators_fn_imps.hpp: Same.
2385         * include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp: Same.
2386         * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Same.
2387         * include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Same.
2388         * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
2389         * include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Same.
2390         * include/ext/pb_ds/detail/thin_heap_/
2391           constructors_destructor_fn_imps.hpp: Same.
2392         * include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Same.
2393         * include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp: Same.
2394         * include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Same.
2395         * include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp: Same.
2396         * include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Same.
2397         * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
2398         * include/ext/pb_ds/detail/ov_tree_map_/
2399           constructors_destructor_fn_imps.hpp: Same.
2400         * include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
2401         * include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
2402         * include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
2403         * include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp: Same.
2404         * include/ext/pb_ds/detail/ov_tree_map_/traits.hpp: Same.
2405         * include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp: Same.
2406         * include/ext/pb_ds/detail/debug_map_base.hpp: Same.
2407         * include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
2408         * include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp: Same.
2409         * include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp: Same.
2410         * include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp: Same.
2411         * include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp: Same.
2412         * include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Same.
2413         * include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp: Same.
2414         * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Same.
2415         * include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Same.
2416         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Same.
2417         * include/ext/pb_ds/detail/splay_tree_/
2418           constructors_destructor_fn_imps.hpp: Same.
2419         * include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Same.
2420         * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Same.
2421         * include/ext/pb_ds/detail/splay_tree_/node.hpp: Same.
2422         * include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp: Same.
2423         * include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp: Same.
2424         * include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
2425         * include/ext/pb_ds/detail/splay_tree_/traits.hpp: Same.
2426         * include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp: Same.
2427         * include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp: Same.
2428         * include/ext/pb_ds/detail/list_update_map_/
2429           entry_metadata_base.hpp: Same.
2430         * include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp: Same.
2431         * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
2432         * include/ext/pb_ds/detail/list_update_map_/
2433           constructor_destructor_fn_imps.hpp: Same.
2434         * include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp: Same.
2435         * include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp: Same.
2436         * include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp: Same.
2437         * include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp: Same.
2438         * include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp: Same.
2439         * include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp: Same.
2440         * include/ext/pb_ds/detail/rc_binomial_heap_/
2441           rc_binomial_heap_.hpp: Same.
2442         * include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp: Same.
2443         * include/ext/pb_ds/detail/rc_binomial_heap_/
2444           constructors_destructor_fn_imps.hpp: Same.
2445         * include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp: Same.
2446         * include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
2447         * include/ext/pb_ds/detail/rc_binomial_heap_/
2448           split_join_fn_imps.hpp: Same.
2449         * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Same.
2450         * include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp: Same.
2451         * include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Same.
2452         * include/ext/pb_ds/detail/rb_tree_map_/
2453           constructors_destructor_fn_imps.hpp: Same.
2454         * include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Same.
2455         * include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
2456         * include/ext/pb_ds/detail/rb_tree_map_/node.hpp: Same.
2457         * include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp: Same.
2458         * include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Same.
2459         * include/ext/pb_ds/detail/rb_tree_map_/traits.hpp: Same.
2460
2461
2462         Documentation changes.
2463         * include/ext/pb_ds/*: Add doxygen markup.
2464         * doc/doxygen/user.cfg.in: Add details for extracting comments
2465         from pb_ds.
2466         * scripts/run_doxygen: Fixup __gnu_pb_ds::detail.
2467         * scripts/make_graph.py: Move to svg output. Re-format generated tables.
2468
2469         * doc/Makefile.am (stamp-html-copy): New rule.
2470         (stamp-html): Use it to copy non-generated files into html docs.
2471         * doc/Makefile.in: Regenerated.
2472
2473         * doc/html/ext/pb_ds/sample_trie_e_access_traits.html: Move...
2474         * doc/html/ext/pb_ds/trie_string_access_traits.html: ...here.
2475         * doc/html/ext/pb_ds/string_trie_e_access_traits.html: Move..
2476         * doc/html/ext/pb_ds/sample_trie_access_traits.html: ...here.
2477
2478         * doc/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png,
2479         hash_random_int_erase_mem_usage_test_local.png,
2480         multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
2481         tree_text_insert_timing_test_pat_trie_local.png ,
2482         multimap_text_insert_mem_usage_test_small_s2p_tree_local.png ,
2483         priority_queue_text_modify_down_timing_test_local.png,
2484         gp_hash_random_int_subscript_timing_test_find_local.png,
2485         text_find_timing_test_hash_local.png,
2486         multimap_text_insert_timing_test_small_s2p_hash_local.png,
2487         multimap_text_insert_timing_test_small_s2p_tree_local.png,
2488         multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
2489         multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
2490         multimap_text_insert_timing_test_large_s2p_hash_local.png,
2491         hash_zlob_random_int_find_timing_test_local.png,
2492         multimap_text_insert_timing_test_large_s2p_tree_local.png,
2493         binary_priority_queue_random_int_push_timing_test_local.png,
2494         priority_queue_text_pop_mem_usage_test_local.png,
2495         priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
2496         tree_split_join_timing_test_local.png,
2497         multimap_text_find_timing_test_small_s2p_hash_local.png,
2498         ccgp_hash_random_int_subscript_timing_test_insert_local.png,
2499         priority_queue_random_int_push_pop_timing_test_local.png,
2500         multimap_text_find_timing_test_small_s2p_tree_local.png,
2501         gp_hash_random_int_subscript_timing_test_insert_local.png,
2502         priority_queue_text_push_timing_test_local.png,
2503         cc_hash_random_int_subscript_timing_test_find_local.png,
2504         tree_text_insert_timing_test_vector_tree_local.png,
2505         multimap_text_find_timing_test_large_s2p_hash_local.png,
2506         pairing_priority_queue_text_push_timing_test_local.png,
2507         tree_order_statistics_timing_test_local.png,
2508         priority_queue_text_push_pop_timing_test_local.png,
2509         text_find_timing_test_tree_like_local.png,
2510         multimap_text_find_timing_test_large_s2p_tree_local.png,
2511         priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
2512         cc_hash_random_int_subscript_timing_test_insert_local.png,
2513         priority_queue_text_modify_up_timing_test_local.png,
2514         random_int_find_find_timing_test_tree_local.png,
2515         priority_queue_random_int_push_timing_test_local.png,
2516         tree_text_insert_timing_test_node_tree_local.png,
2517         pairing_priority_queue_text_push_pop_timing_test_local.png,
2518         gp_hash_random_int_find_timing_test_local.png,
2519         cc_hash_random_int_find_timing_test_local.png,
2520         priority_queue_text_join_timing_test_local.png: Update local pngs.
2521
2522
2523         Testsuite changes.
2524         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc: New.
2525         * testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc: New.
2526         * testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc: New.
2527         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc: New.
2528         * testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc: New.
2529         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
2530         New.
2531         * testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
2532         New.
2533         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc: New.
2534         * testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc: New.
2535
2536         * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Fix typo.
2537
2538         * testsuite/ext/pb_ds/example/basic_set.cc: Update.
2539         * testsuite/ext/pb_ds/example/ranged_hash.cc: Same.
2540         * testsuite/ext/pb_ds/example/tree_order_statistics.cc: Same.
2541         * testsuite/ext/pb_ds/example/trie_prefix_search.cc: Same.
2542         * testsuite/ext/pb_ds/example/trie_dna.cc: Same.
2543         * testsuite/ext/pb_ds/example/tree_intervals.cc: Same.
2544         * testsuite/ext/pb_ds/example/basic_multimap.cc: Same.
2545         * testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc:
2546           Same.
2547         * testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
2548         * testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
2549         * testsuite/data/make_graph_test_infos.xml: Same.
2550         * testsuite/util/regression/common_type.hpp: Same.
2551         * testsuite/util/regression/trait/assoc/native_type_trait.hpp: Same.
2552         * testsuite/util/regression/trait/assoc/trait.hpp: Same.
2553         * testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
2554         * testsuite/util/regression/rand/priority_queue/
2555           rand_regression_test.hpp: Same.
2556         * testsuite/util/regression/rand/priority_queue/
2557           container_rand_regression_test.tcc: Same.
2558         * testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
2559         * testsuite/util/regression/rand/assoc/container_rand_regression_test.h
2560         * testsuite/util/regression/rand/assoc/
2561           container_rand_regression_test.tcc: Same.
2562         * testsuite/util/native_type/native_priority_queue.hpp: Same.
2563         * testsuite/util/native_type/native_multimap.hpp: Same.
2564         * testsuite/util/native_type/native_hash_multimap.hpp: Same.
2565         * testsuite/util/native_type/native_set.hpp: Same.
2566         * testsuite/util/native_type/native_map.hpp: Same.
2567         * testsuite/util/native_type/native_hash_set.hpp: Same.
2568         * testsuite/util/native_type/native_hash_map.hpp: Same.
2569         * testsuite/util/testsuite_containers.h
2570         * testsuite/util/common_type/priority_queue/common_type.hpp: Same.
2571         * testsuite/util/common_type/assoc/common_type.hpp: Same.
2572         * testsuite/util/common_type/assoc/string_form.hpp: Same.
2573         * testsuite/util/common_type/assoc/template_policy.hpp: Same.
2574         * testsuite/util/common_type/assoc/detail/
2575           trigger_policy_string_form.hpp: Same.
2576         * testsuite/util/common_type/assoc/detail/ds_string_form.hpp: Same.
2577         * testsuite/util/common_type/assoc/detail/
2578           size_policy_string_form.hpp: Same.
2579         * testsuite/util/common_type/assoc/detail/
2580           probe_fn_string_form.hpp: Same.
2581         * testsuite/util/common_type/assoc/detail/
2582           tree_supports_order_statistics.hpp: Same.
2583         * testsuite/util/common_type/assoc/detail/
2584           trie_supports_prefix_search.hpp: Same.
2585         * testsuite/util/common_type/assoc/detail/
2586           list_update_policy_string_form.hpp: Same.
2587         * testsuite/util/common_type/assoc/detail/
2588           trie_supports_order_statistics.hpp: Same.
2589         * testsuite/util/common_type/assoc/native_set.hpp: Same.
2590         * testsuite/util/performance/assoc/timing/common_type.hpp: Same.
2591         * testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
2592         * testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
2593
2594 2011-05-23  Paolo Carlini  <paolo.carlini@oracle.com>
2595
2596         * include/bits/streambuf_iterator.h: Use noexcept per the FDIS.
2597         (istreambuf_iterator<>::istreambuf_iterator(const
2598         istreambuf_iterator&),  ~istreambuf_iterator()): Add defaulted
2599         in C++0x mode.
2600
2601 2011-05-23  Jason Merrill  <jason@redhat.com>
2602
2603         * libsupc++/exception_ptr.h: Fix compilation in C++0x mode.
2604
2605 2011-05-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
2606
2607         * testsuite/20_util/bind/cv_quals_2.cc: New.
2608
2609 2011-05-22  Paolo Carlini  <paolo.carlini@oracle.com>
2610
2611         PR libstdc++/49058
2612         * include/std/functional (_Bind<_Functor(_Bound_args...)>::
2613         operator()(_Args&&...)): Don't cv qualify _Functor directly
2614         in the default template argument, SFINAE doesn't apply when
2615         the functor has no arguments.
2616         * testsuite/20_util/bind/49058_1.cc: New.
2617         * testsuite/20_util/bind/49058_2.cc: Likewise.
2618
2619 2011-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
2620
2621         * include/bits/unique_ptr.h: Use noexcept per the FDIS.
2622
2623 2011-05-20  Paolo Carlini  <paolo.carlini@oracle.com>
2624
2625         * testsuite/21_strings/basic_string/requirements/exception/
2626         propagation_consistent.cc: Fix vs POD-ness of value_type.
2627         * testsuite/21_strings/basic_string/requirements/exception/
2628         basic.cc: Likewise.
2629         * testsuite/ext/vstring/requirements/exception/
2630         propagation_consistent.cc: Likewise.
2631         * testsuite/ext/vstring/requirements/exception/basic.cc: Likewise.
2632
2633 2011-05-20  Paolo Carlini  <paolo.carlini@oracle.com>
2634
2635         * include/bits/char_traits.h: Use noexcept throughout.
2636         * include/std/typeindex: Likewise.
2637
2638         * include/std/tuple (_Tuple_impl<>_Tuple_impl(_Tuple_impl&&)): Use
2639         noexcept; adjust callers.
2640         * include/bits/stl_pair.h (pair<>::pair(pair<>&&)): Use noexcept.
2641         * testsuite/20_util/tuple/cons/noexcept_move_construct.cc: New.
2642         * testsuite/20_util/pair/cons/noexcept_move_construct.cc: Likewise.
2643         * testsuite/20_util/pair/noexcept_swap.cc: Likewise.
2644         * testsuite/20_util/pair/noexcept_move_assign.cc: Likewise.
2645         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
2646         line numbers.
2647
2648 2011-05-20  Jason Merrill  <jason@redhat.com>
2649
2650         * include/ext/pb_ds/assoc_container.hpp: Explicitly qualify calls to
2651         functions from dependent bases.
2652         * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise.
2653         * include/ext/pb_ds/detail/rb_tree_map_/
2654         split_join_fn_imps.hpp: Likewise.
2655         * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise.
2656         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise.
2657         * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise.
2658         * include/ext/pb_ds/detail/splay_tree_/
2659         split_join_fn_imps.hpp: Likewise.
2660         * include/ext/pb_ds/detail/tree_policy/
2661         order_statistics_imp.hpp: Likewise.
2662         * include/ext/pb_ds/detail/trie_policy/
2663         prefix_search_node_update_imp.hpp: Likewise.
2664         * include/ext/rc_string_base.h: Likewise.
2665         * include/ext/rope: Likewise.
2666         * include/ext/ropeimpl.h: Likewise.
2667         * testsuite/util/exception/safety.h: Likewise.
2668         * testsuite/util/native_type/native_priority_queue.hpp: Likewise.
2669         * testsuite/util/testsuite_io.h: Likewise.
2670         * include/std/functional: Declare mem_fn earlier.
2671         * include/tr1/functional: Likewise.
2672         * include/tr1/exp_integral.tcc: Declare __expint_E1 earlier.
2673
2674 2011-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
2675
2676         * include/std/tuple (tuple_element<__i, const _Tp>,
2677         tuple_element<__i, volatile _Tp>, tuple_element<__i,
2678         const volatile _Tp>, tuple_size<const _Tp>, tuple_size<volatile _Tp>,
2679         tuple_size<const volatile _Tp>): Add.
2680         * include/std/utility (tuple_size<std::pair<_Tp1, _Tp2>>): Tweak.
2681         * include/std/array (tuple_size<array<_Tp, _Nm>>): Likewise.
2682         * testsuite/20_util/tuple/cv_tuple_size.cc: New.
2683         * testsuite/20_util/tuple/cv_tuple_element.cc: Likewise.
2684         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Tweak dg-warning
2685         line number.
2686
2687 2011-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
2688
2689         * include/std/tuple (tuple<>::operator=(tuple&&)): Specify as
2690         noexcept.
2691         (__get_helper): Likewise.
2692         (_Head_base<>::_M_head, _Tuple_impl<>::_M_head, _M_tail): Likewise.
2693         * include/bits/move.h (swap): Likewise.
2694         * include/bits/algorithmfwd.h (swap): Adjust.
2695         * include/bits/stl_pair.h (pair<>::operator=(pair&&)): Spec noexcept.
2696         * testsuite/util/testsuite_allocator.h (uneq_allocator): In C++0x
2697         mode, prefer delete to access control to make the type not copy
2698         assignable.
2699         * testsuite/util/testsuite_tr1.h: Add test classes.
2700         * testsuite/20_util/tuple/noexcept_swap.cc: New.
2701         * testsuite/20_util/tuple/noexcept_move_assign.cc: Likewise.
2702         * testsuite/25_algorithms/reverse/moveable.cc: Likewise, prefer
2703         delete to access control.
2704         * testsuite/25_algorithms/swap_ranges/moveable.cc: Likewise.
2705         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
2706         line numbers.
2707
2708 2011-05-19  Daniel Krugler  <daniel.kruegler@googlemail.com>
2709
2710         * testsuite/util/testsuite_tr1.h: Add test classes.
2711         * testsuite/20_util/is_nothrow_assignable/value.cc: Add.
2712
2713 2011-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
2714
2715         * include/std/type_traits (is_assignable, is_copy_assignable,
2716         is_move_assignable, is_nothrow_assignable, is_nothrow_copy_assignable,
2717         is_nothrow_move_assignable): Add; minor tweaks elsewhere.
2718         (has_nothrow_copy_assign): Remove.
2719         * testsuite/util/testsuite_tr1.h: Add test classes.
2720         * testsuite/20_util/is_assignable/requirements/typedefs.cc: Add.
2721         * testsuite/20_util/is_assignable/requirements/
2722         explicit_instantiation.cc: Likewise.
2723         * testsuite/20_util/is_nothrow_assignable/value.cc: Likewise.
2724         * testsuite/20_util/is_nothrow_assignable/requirements/typedefs.cc:
2725         Likewise.
2726         * testsuite/20_util/is_nothrow_assignable/requirements/
2727         explicit_instantiation.cc: Likewise.
2728         * testsuite/20_util/is_move_assignable/value.cc: Likewise.
2729         * testsuite/20_util/is_move_assignable/requirements/typedefs.cc:
2730         Likewise.
2731         * testsuite/20_util/is_move_assignable/requirements/
2732         explicit_instantiation.cc: Likewise.
2733         * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
2734         * testsuite/20_util/is_copy_assignable/requirements/typedefs.cc:
2735         Likewise.
2736         * testsuite/20_util/is_copy_assignable/requirements/
2737         explicit_instantiation.cc: Likewise.
2738         * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
2739         * testsuite/20_util/is_nothrow_move_assignable/requirements/
2740         typedefs.cc: Likewise.
2741         * testsuite/20_util/is_nothrow_move_assignable/requirements/
2742         explicit_instantiation.cc: Likewise.
2743         * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
2744         * testsuite/20_util/is_nothrow_copy_assignable/requirements/
2745         typedefs.cc: Likewise.
2746         * testsuite/20_util/is_nothrow_copy_assignable/requirements/
2747         explicit_instantiation.cc: Likewise.
2748         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
2749         dg-error line numbers.
2750         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2751         Likewise.
2752         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2753
2754 2011-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2755
2756         * include/bits/shared_ptr_base.h: Use noexcept. Define special member
2757         functions as defaulted/deleted.
2758         * include/bits/shared_ptr.h: Use noexcept.
2759         * 20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line numbers.
2760         * 20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
2761
2762 2011-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2763
2764         * doc/xml/manual/bitmap_allocator.xml: Fix typos.
2765
2766 2011-05-18  Paolo Carlini  <paolo.carlini@oracle.com>
2767
2768         * libsupc++/initializer_list: Use noexcept specifier.
2769         (initializer_list<>::size, begin, end): Qualify as const.
2770         * include/bits/move.h (__addressof, forward, move, addressof): Specify
2771         as noexcept.
2772         * include/std/bitset: Use noexcept specifier throughout.
2773         * include/debug/bitset: Update.
2774         * include/profile/bitset: Likewise.
2775
2776 2011-05-17  Paolo Carlini  <paolo.carlini@oracle.com>
2777
2778         * include/std/tuple: Use noexcept where appropriate.
2779         (tuple<>::swap): Rework implementation.
2780         (_Head_base<>::_M_swap_impl): Remove.
2781         (get(std::tuple<>&&)): Add.
2782         * testsuite/20_util/tuple/element_access/get2.cc: New.
2783         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
2784         line number.
2785
2786 2011-05-16  Paolo Carlini  <paolo.carlini@oracle.com>
2787
2788         * include/std/utility: Simplify the last commit, the whole
2789         std::get code is C++0x only.
2790
2791 2011-05-16  Paolo Carlini  <paolo.carlini@oracle.com>
2792
2793         * include/std/utility (get(std::pair<>&&)): Add.
2794         * include/bits/stl_pair.h (pair::swap(pair&),
2795         swap(pair<>&, pair<>&)): Use noexcept.
2796         * include/bits/random.h (discard_block_engine<>::base,
2797         independent_bits_engine<>::base, shuffle_order_engine<>::base,
2798         random_device::entropy): Use noexcept.
2799         * include/std/array: Use noexcept where appropriate.
2800         (get(array<>&&)): Add.
2801         * testsuite/23_containers/array/requirements/get.cc: New.
2802         * testsuite/20_util/pair/get.cc: Likewise.
2803         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Tweak dg-error
2804         line number.
2805
2806 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
2807
2808         * include/bits/c++config (_GLIBCXX_NOEXCEPT, _GLIBCXX_USE_NOEXCEPT):
2809         Add.
2810         * include/std/limits: Use the latter everywhere.
2811         (numeric_limits<char16_t>, numeric_limits<char32_t>): Simplify
2812         macro usages, the specializations exist only in C++0x mode.
2813         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
2814         line number.
2815
2816 2011-05-11  Paolo Carlini  <paolo.carlini@oracle.com>
2817
2818         * testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc: Use
2819         dg-require-cmath.
2820         * testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc: Likewise.
2821
2822 2011-05-11  François Dumont  <francois.cppdevs@free.fr>
2823
2824         * include/ext/pb_ds/detail/resize_policy/
2825         hash_load_check_resize_trigger_imp.hpp (assert_valid): Replace
2826         _GLIBCXX_DEBUG_ASSERT calls with PB_DS_DEBUG_VERIFY.
2827         * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp,
2828         find_fn_imps.hpp, insert_fn_imps.hpp, binomial_heap_base_.hpp,
2829         constructors_destructor_fn_imps.hpp, split_join_fn_imps.hpp
2830         (PB_DS_ASSERT_VALID): Rename in PB_DS_ASSERT_VALID_COND.
2831         * include/ext/pb_ds/detail/debug_map_base.hpp,
2832         splay_tree_/splay_tree_.hpp, ov_tree_map_/ov_tree_map_.hpp,
2833         cc_hash_table_map_/cc_ht_map_.hpp, pat_trie_/pat_trie_.hpp,
2834         leaf.hpp, internal_node.hpp, gp_hash_table_map_/gp_ht_map_.hpp,
2835         bin_search_tree_/bin_search_tree_.hpp, list_update_map_/lu_map_.hpp,
2836         rb_tree_map_/rb_tree_.hpp (PB_DS_ASSERT_VALID, PB_DS_DEBUG_VERIFY,
2837         PB_DS_CHECK_KEY_EXISTS, PB_DS_CHECK_KEY_DOES_NOT_EXIST): Duplicate
2838         macro definitions move...
2839         * include/ext/pb_ds/detail/container_base_dispatch.hpp: ... here...
2840         * include/ext/pb_ds/detail/basic_tree_policy/traits.hpp: ... and here.
2841         * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp,
2842         resize_policy.hpp, pairing_heap_/pairing_heap_.hpp,
2843         left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp,
2844         binomial_heap_/binomial_heap_.hpp, thin_heap_/thin_heap_.hpp,
2845         rc_binomial_heap_/rc_binomial_heap_.hpp, rc.hpp (PB_DS_ASSERT_VALID,
2846         PB_DS_DEBUG_VERIFY): Duplicate macro definitions move...
2847         * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp:
2848         ...here.
2849
2850 2011-05-09  Paolo Carlini  <paolo.carlini@oracle.com>
2851
2852         PR libstdc++/48933
2853         * include/c_global/cmath (acosh, asinh, atanh, cbrt, copysign,
2854         erf, erfc, exp2, expm1, fdim, fma, fmax, hypot, ilogb, lgamma,
2855         llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
2856         nextafter, nexttoward, remainder, remquo, rint, round, scalbln,
2857         scalbn, tgamma, trunc): Use __enable_if on the return type.
2858         * include/tr1/cmath: Likewise.
2859         * testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc: New.
2860         * testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc: Likewise.
2861
2862 2011-05-07  François Dumont  <francois.cppdevs@free.fr>
2863
2864         * include/debug/macro.h (_GLIBCXX_DEBUG_VERIFY_AT): New.
2865         (_GLICXX_DEBUG_VERIFY): Use latter.
2866         * include/ext/pb_ds/detail/resize_policy/
2867         hash_load_check_resize_trigger_imp.hpp: Emit assertion on the line
2868         containing the original assert call.
2869         * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp,
2870         find_fn_imps.hpp, insert_fn_imps.hpp, binomial_heap_base_.hpp,
2871         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
2872         split_join_fn_imps.hpp: Likewise.
2873         * include/ext/pb_ds/detail/cc_hash_table_map_/
2874         erase_store_hash_fn_imps.hpp, insert_no_store_hash_fn_imps.hpp,
2875         find_fn_imps.hpp, insert_store_hash_fn_imps.hpp, debug_fn_imps.hpp,
2876         debug_no_store_hash_fn_imps.hpp, cc_ht_map_.hpp, resize_fn_imps.hpp,
2877         constructor_destructor_fn_imps.hpp, debug_store_hash_fn_imps.hpp,
2878         erase_no_store_hash_fn_imps.hpp: Likewise.
2879         * include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp,
2880         insert_join_fn_imps.hpp, pat_trie_/head.hpp, debug_fn_imps.hpp,
2881         constructors_destructor_fn_imps.hpp, pat_trie_.hpp, split_fn_imps.hpp,
2882         leaf.hpp, erase_fn_imps.hpp, node_base.hpp, internal_node.hpp:
2883         Likewise.
2884         * include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp,
2885         r_erase_fn_imps.hpp, constructors_destructor_fn_imps.hpp,
2886         debug_fn_imps.hpp, rotate_fn_imps.hpp, erase_fn_imps.hpp,
2887         bin_search_tree_.hpp, insert_fn_imps.hpp, split_join_fn_imps.hpp:
2888         Likewise.
2889         * include/ext/pb_ds/detail/gp_hash_table_map_/
2890         erase_store_hash_fn_imps.hpp, insert_no_store_hash_fn_imps.hpp,
2891         find_fn_imps.hpp, gp_ht_map_.hpp, insert_store_hash_fn_imps.hpp,
2892         debug_fn_imps.hpp, erase_fn_imps.hpp, debug_no_store_hash_fn_imps.hpp,
2893         resize_fn_imps.hpp, constructor_destructor_fn_imps.hpp,
2894         debug_store_hash_fn_imps.hpp, erase_no_store_hash_fn_imps.hpp:
2895         Likewise.
2896         * include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp,
2897         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
2898         erase_fn_imps.hpp, insert_fn_imps.hpp, binary_heap_.hpp,
2899         resize_policy.hpp, split_join_fn_imps.hpp: Likewise.
2900         * include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp,
2901         find_fn_imps.hpp, insert_fn_imps.hpp,
2902         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
2903         pairing_heap_.hpp, split_join_fn_imps.hpp: Likewise.
2904         * include/ext/pb_ds/detail/binomial_heap_/
2905         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
2906         binomial_heap_.hpp: Likewise.
2907         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2908         erase_fn_imps.hpp, left_child_next_sibling_heap_.hpp,
2909         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp: Likewise.
2910         * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp,
2911         find_fn_imps.hpp, thin_heap_.hpp, insert_fn_imps.hpp,
2912         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
2913         split_join_fn_imps.hpp: Likewise.
2914         * include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp,
2915         ov_tree_map_.hpp, constructors_destructor_fn_imps.hpp,
2916         debug_fn_imps.hpp, split_join_fn_imps.hpp, info_fn_imps.hpp: Likewise.
2917         * include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
2918         * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp,
2919         find_fn_imps.hpp, insert_fn_imps.hpp,
2920         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
2921         splay_fn_imps.hpp, split_join_fn_imps.hpp, splay_tree_.hpp: Likewise.
2922         * include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp,
2923         find_fn_imps.hpp, lu_map_.hpp, constructor_destructor_fn_imps.hpp,
2924         insert_fn_imps.hpp, debug_fn_imps.hpp: Likewise.
2925         * include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp,
2926         rc_binomial_heap_.hpp, insert_fn_imps.hpp,
2927         constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp, rc.hpp,
2928         split_join_fn_imps.hpp: Likewise.
2929         * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp,
2930         insert_fn_imps.hpp, constructors_destructor_fn_imps.hpp,
2931         debug_fn_imps.hpp, rb_tree_.hpp, split_join_fn_imps.hpp: Likewise.
2932         * include/ext/pb_ds/hash_policy.hpp: Likewise.
2933
2934 2011-05-06  Paolo Carlini  <paolo.carlini@oracle.com>
2935
2936         * testsuite/22_locale/messages_byname/named_equivalence.cc: Fix.
2937
2938 2011-05-04  Marc Glisse  <marc.glisse@normalesup.org>
2939
2940         PR libstdc++/47913 (again)
2941         * include/std/ratio (ratio_add, ratio_less): Rewrite.
2942         * testsuite/20_util/ratio/operations/47913.cc: Extend.
2943         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust dg-error
2944         line numbers.
2945         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
2946
2947 2011-05-03  Paolo Carlini  <paolo.carlini@oracle.com>
2948
2949         PR libstdc++/48848
2950         * include/std/valarray (valarray<>::valarray(valarray&&),
2951         valarray<>::operator=(valarray&&), valarray<>::swap): Add.
2952         * doc/xml/manual/status_cxx200x.xml: Update.
2953         * testsuite/26_numerics/valarray/moveable.cc: New.
2954         * testsuite/26_numerics/valarray/swap.cc: Likewise.
2955
2956 2011-05-03  Paolo Carlini  <paolo.carlini@oracle.com>
2957
2958         PR libstdc++/48750
2959         * include/parallel/multiway_merge.h: Run _ValueType destructors.
2960         * include/parallel/multiway_mergesort.h: Likewise.
2961         * include/parallel/quicksort.h: Likewise.
2962         * include/parallel/random_shuffle.h: Likewise.
2963         * include/parallel/partial_sum.h: Likewise.
2964         * include/parallel/losertree.h: Run destructors; minor tweaks.
2965         * include/parallel/par_loop.h: Run destructors, fix memory
2966         allocations and deallocations.
2967         * testsuite/26_numerics/accumulate/48750.cc: New.
2968
2969         * testsuite/ext/profile/mutex_extensions_neg.cc: Do not run in
2970         parallel-mode to avoid spurious multiple errors.
2971
2972 2011-05-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
2973
2974         * include/std/functional (bind): Remove from overload set when first
2975         argument type might be a socket file descriptor.
2976         * testsuite/20_util/bind/socket.cc: New.
2977
2978 2011-05-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
2979
2980         PR libstdc++/48848
2981         * doc/xml/manual/status_cxx200x.xml: Update valarray status.
2982         * doc/html/*: Regenerate.
2983
2984 2011-05-02  Ollie Wild  <aaw@google.com>
2985
2986         * include/ext/sso_string_base.h (__sso_string_base<>::_M_construct):
2987         Fix unqualified lookup.
2988         (__sso_string_base<>::_M_assign): Likewise.
2989         (__sso_string_base<>::_M_reserve): Likewise.
2990         (__sso_string_base<>::_M_mutate): Likewise.
2991         (__sso_string_base<>::_M_erase): Likewise.
2992         * include/ext/vstring.h (__versa_string<>::replace): Likewise.
2993         (__versa_string<>::compare): Likewise.
2994         * include/ext/vstring.tcc (__versa_string<>::compare): Likewise.
2995
2996 2011-05-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
2997
2998         * doc/xml/manual/status_cxx200x.xml: Update to reflect current status
2999         and FDIS content.
3000         * doc/xml/manual/documentation_hacking.xml: Fix typo.
3001         * doc/html/*: Regenerate.
3002
3003 2011-04-30  Daniel Krugler  <daniel.kruegler@googlemail.com>
3004
3005         * include/std/type_traits (__is_default_constructible_atom,
3006         __is_default_constructible_safe<, true>,
3007         __is_direct_constructible_new_safe,
3008         __is_base_to_derived_ref<,, true>, __is_lvalue_to_rvalue_ref<,, true>,
3009         __is_direct_constructible_ref_cast, __is_direct_constructible,
3010         __is_nary_constructible): Simplify; add comments throughout.
3011
3012 2011-04-30  Paolo Carlini  <paolo.carlini@oracle.com>
3013
3014         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3015         Adjust dg-error line numbers.
3016         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3017         Likewise.
3018         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3019
3020 2011-04-30  Doug Kwan  <dougkwan@google.com>
3021
3022         * include/Makefile.am (install-freestanding-headers): Also install
3023         cxxabi_tweaks.h.
3024         * include/Makefile.in: Regenerate.
3025
3026 2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>
3027
3028         PR libstdc++/48760
3029         * include/std/complex (complex<float>::complex(float, float),
3030         complex<double>::complex(double, double),
3031         complex<long double>::complex(long double, long double)): Use
3032         list-initialization in C++0x mode, initialize in the body in
3033         C++03 mode.
3034         * testsuite/26_numerics/complex/cons/48760.cc: New.
3035         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
3036
3037 2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>
3038
3039         * include/std/bitset (_Base_bitset(unsigned long long)): Minor
3040         tweak, remove redundant round braces.
3041
3042 2011-04-27  Paolo Carlini  <paolo.carlini@oracle.com>
3043
3044         * include/bits/move.h (move_if_noexcept): Add.
3045         * testsuite/20_util/move_if_noexcept/requirements/
3046         explicit_instantiation.cc: New.
3047         * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
3048
3049 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
3050
3051         * include/std/type_traits (struct underlying_type): Add.
3052         * testsuite/20_util/underlying_type/requirements/typedefs-1.cc: New.
3053         * testsuite/20_util/underlying_type/requirements/typedefs-2.cc:
3054         Likewise.
3055         * testsuite/20_util/underlying_type/requirements/
3056         explicit_instantiation.cc: Likewise.
3057         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
3058         line number.
3059
3060 2011-04-24  Paolo Carlini  <paolo.carlini@oracle.com>
3061
3062         * include/parallel/multiway_merge.h: Uglify equally_split
3063         and equally_split_point throughout.
3064         * include/parallel/par_loop.h: Likewise.
3065         * include/parallel/equally_split.h: Likewise.
3066         * include/parallel/set_operations.h: Likewise.
3067         * include/parallel/unique_copy.h: Likewise.
3068         * include/parallel/multiway_mergesort.h: Likewise.
3069         * include/parallel/search.h: Likewise.
3070         * include/parallel/partial_sum.h: Likewise.
3071         * include/parallel/find.h: Likewise.
3072
3073 2011-04-24  Gerald Pfeifer  <gerald@pfeifer.com>
3074
3075         * doc/xml/manual/parallel_mode.xml: Fix link to libgomp online
3076         documentation.  Expand link text.
3077
3078 2011-04-24  Gerald Pfeifer  <gerald@pfeifer.com>
3079
3080         * libsupc++/cxxabi.h: Adjust link to FAQ entry.
3081
3082 2011-04-22  François Dumont  <francois.cppdevs@free.fr>
3083
3084         * testsuite/lib/libstdc++.exp (check_v3_target_time): Discard
3085         unused compilation result thanks to /dev/null.
3086         * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode,
3087         check_v3_target_profile_mode, check_v3_target_normal_mode,
3088         check_v3_target_cstdint, check_v3_target_cmath,
3089         check_v3_target_atomic_builtins, check_v3_target_gthreads,
3090         check_v3_target_nanosleep, check_v3_target_sched_yield,
3091         check_v3_target_string_conversions, check_v3_target_swprintf,
3092         check_v3_target_binary_io): Use simple preprocessing rather than
3093         compilation. Discard unused preprocessing result thanks to /dev/null.
3094
3095 2011-04-20  Jim Meyering  <meyering@redhat.com>
3096
3097         * libsupc++/del_opnt.cc (operator delete): Remove useless
3098         if-before-free.
3099
3100 2011-04-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
3101
3102         PR libstdc++/48521
3103         * include/std/type_traits (result_of): Handle pointer to member.
3104         * include/std/functional (__invoke): Likewise.
3105         (_Function_to_function_pointer): Remove.
3106         (_Reference_wrapper_base): Provide nested types independent of
3107         unary_function and binary_function.
3108         (reference_wrapper::operator()): DR 2017.
3109         (ref(const A&&), cref(const A&&): Define as deleted.
3110         * include/std/future (async): Simplify SFINAE and use result_of to
3111         support pointer to member.
3112         * testsuite/20_util/reference_wrapper/invoke.cc: Test pointer to
3113         member.
3114         * testsuite/20_util/reference_wrapper/24803.cc: Likewise.
3115         * testsuite/20_util/reference_wrapper/typedefs.cc: Test for types
3116         instead of derivation from unary_function and binary_function.
3117         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
3118         * testsuite/20_util/reference_wrapper/invoke-2.cc: New.
3119         * testsuite/20_util/reference_wrapper/ref_neg.c: New.
3120         * testsuite/20_util/reference_wrapper/typedefs-3.c: New.
3121
3122 2011-04-19  Hans-Peter Nilsson  <hp@axis.com>
3123
3124         PR testsuite/48675
3125         * testsuite/20_util/hash/chi2_quality.cc (test_document_words): Stub
3126         this part if SAMPLES < 100000.
3127
3128 2011-04-18  Paolo Carlini  <paolo.carlini@oracle.com>
3129
3130         * include/std/type_traits (is_nothrow_default_constructible,
3131         is_nothrow_copy_constructible, is_nothrow_move_constructible,
3132         is_copy_constructible, is_move_constructible): Add.
3133         (has_nothrow_default_constructor, has_nothrow_copy_constructor):
3134         Remove.
3135         (is_nothrow_constructible): Adjust.
3136
3137         * testsuite/util/testsuite_tr1.h (ThrowDefaultClass,
3138         ThrowCopyConsClass, ThrowMoveConsClass, NoexceptDefaultClass,
3139         ExceptDefaultClass, NoexceptCopyConsClass, ExceptCopyConsClass,
3140         NoexceptMoveConsClass, ExceptMoveConsClass): Add in C++0x mode.
3141
3142         * testsuite/20_util/has_nothrow_default_constructor: Remove.
3143         * testsuite/20_util/has_nothrow_copy_constructor: Likewise.
3144
3145         * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
3146         * testsuite/20_util/is_nothrow_move_constructible/requirements/
3147         typedefs.cc: Likewise.
3148         * testsuite/20_util/is_nothrow_move_constructible/requirements/
3149         explicit_instantiation.cc: Likewise.
3150         * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
3151         * testsuite/20_util/is_nothrow_copy_constructible/requirements/
3152         typedefs.cc: Likewise.
3153         * testsuite/20_util/is_nothrow_copy_constructible/requirements/
3154         explicit_instantiation.cc: Likewise.
3155         * testsuite/20_util/is_nothrow_default_constructible/value.cc:
3156         Likewise.
3157         * testsuite/20_util/is_nothrow_default_constructible/requirements/
3158         typedefs.cc: Likewise.
3159         * testsuite/20_util/is_nothrow_default_constructible/requirements/
3160         explicit_instantiation.cc: Likewise.
3161         * testsuite/20_util/is_move_constructible/value.cc: Likewise.
3162         * testsuite/20_util/is_move_constructible/requirements/typedefs.cc:
3163         Likewise.
3164         * testsuite/20_util/is_move_constructible/requirements/
3165         explicit_instantiation.cc: Likewise.
3166         * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
3167         * testsuite/20_util/is_copy_constructible/requirements/typedefs.cc:
3168         Likewise.
3169         * testsuite/20_util/is_copy_constructible/requirements/
3170         explicit_instantiation.cc: Likewise.
3171
3172         * testsuite/20_util/is_default_constructible/value.cc: Add tests.
3173         * testsuite/20_util/is_nothrow_constructible/value.cc: Likewise.
3174
3175         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3176         Adjust dg-error line numbers.
3177         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3178         Likewise.
3179         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3180
3181 2011-04-17  Paolo Carlini  <paolo.carlini@oracle.com>
3182
3183         * testsuite/25_algorithms/partition/moveable.cc: Actually run
3184         it in parallel-mode for check-parallel.
3185
3186 2011-04-17  Daniel Krugler  <daniel.kruegler@googlemail.com>
3187             Paolo Carlini  <paolo.carlini@oracle.com>
3188
3189         PR libstdc++/48635 (again)
3190         * include/bits/unique_ptr.h (unique_ptr<>::unique_ptr(unique_ptr<>&&),
3191         unique_ptr<_Tp[]>::unique_ptr(unique_ptr<>&&),
3192         unique_ptr<>::operator=(unique_ptr<>&&),
3193         unique_ptr<_Tp[]>::operator=(unique_ptr<>&&)): Use forward<_Ep>, not
3194         forward<_Dp>, to forward the deleter.
3195         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: New.
3196
3197 2011-04-15  Daniel Krugler  <daniel.kruegler@googlemail.com>
3198             Paolo Carlini  <paolo.carlini@oracle.com>
3199
3200         PR libstdc++/48631
3201         * include/bits/unique_ptr.h (default_delete<_Tp[]>): Add deleted
3202         function call operator.
3203         * testsuite/20_util/default_delete/48631_neg.cc: New.
3204         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
3205         line numbers.
3206
3207 2011-04-15  Daniel Krugler  <daniel.kruegler@googlemail.com>
3208             Paolo Carlini  <paolo.carlini@oracle.com>
3209
3210         PR libstdc++/48635
3211         * include/bits/unique_ptr.h (unique_ptr<>::operator=(unique_ptr&&),
3212         unique_ptr<>::operator=(unique_ptr<>&&),
3213         unique_ptr<_Tp[],>::operator=(unique_ptr&&),
3214         unique_ptr<_Tp[],>::operator=(unique_ptr<>&&)): Forward the deleter
3215         instead of moving it.
3216         * testsuite/20_util/unique_ptr/assign/48635.cc: New.
3217
3218 2011-04-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3219
3220         * scripts/extract_symvers.pl: Handle NOTY.
3221
3222 2011-04-15  Paolo Carlini  <paolo.carlini@oracle.com>
3223
3224         * include/std/istream: Fix comments in the light of DR60 + N3168.
3225
3226 2011-04-13  Daniel Krugler  <daniel.kruegler@googlemail.com>
3227             Paolo Carlini  <paolo.carlini@oracle.com>
3228
3229         PR libstdc++/48526
3230         * include/std/type_traits (struct is_constructible): Re-implement,
3231         according to n3290.
3232         (struct is_default_constructible): Add.
3233         (struct is_destructible): Likewise.
3234         (struct __and_, __or_, __not_): Add and use throughout; reorder some
3235         facilities, other minor tweaks.
3236         * testsuite/util/testsuite_tr1.h: Add test types.
3237         * testsuite/20_util/is_constructible/value-2.cc: New.
3238         * testsuite/20_util/is_default_constructible/value.cc: Likewise.
3239         * testsuite/20_util/is_default_constructible/requirements/typedefs.cc:
3240         Likewise.
3241         * testsuite/20_util/is_default_constructible/requirements/
3242         explicit_instantiation.cc: Likewise.
3243         * testsuite/20_util/is_destructible/value.cc: Likewise.
3244         * testsuite/20_util/is_destructible/requirements/typedefs.cc:
3245         Likewise.
3246         * testsuite/20_util/is_destructible/requirements/
3247         explicit_instantiation.cc: Likewise.
3248         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
3249         dg-error line numbers.
3250         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3251         Likewise.
3252         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3253         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
3254
3255 2011-04-13  Paolo Carlini  <paolo.carlini@oracle.com>
3256
3257         * testsuite/20_util/is_function/value.cc: Add, adapted from the tr
3258         testsuite.
3259         * testsuite/20_util/is_function/requirements/typedefs.cc: Likewise.
3260         * testsuite/20_util/is_function/requirements/
3261         explicit_instantiation.cc: Likewise.
3262         * testsuite/20_util/is_function/24808.cc: Likewise.
3263         * testsuite/20_util/is_function/35637.cc: Likewise.
3264         * testsuite/20_util/is_object/value.cc: Likewise.
3265         * testsuite/20_util/is_object/requirements/typedefs.cc: Likewise.
3266         * testsuite/20_util/is_object/requirements/explicit_instantiation.cc:
3267         : Likewise.
3268         * testsuite/20_util/is_object/24808.cc: Likewise.
3269         * testsuite/20_util/is_compound/value.cc: Likewise.
3270         * testsuite/20_util/is_compound/requirements/typedefs.cc: Likewise.
3271         * testsuite/20_util/is_compound/requirements/
3272         explicit_instantiation.cc: Likewise.
3273         * testsuite/20_util/is_member_object_pointer/value.cc: Likewise.
3274         * testsuite/20_util/is_member_object_pointer/requirements/
3275         typedefs.cc: Likewise.
3276         * testsuite/20_util/is_member_object_pointer/requirements/
3277         explicit_instantiation.cc: Likewise.
3278         * testsuite/20_util/is_fundamental/value.cc: Likewise.
3279         * testsuite/20_util/is_fundamental/requirements/typedefs.cc: Likewise.
3280         * testsuite/20_util/is_fundamental/requirements/
3281         explicit_instantiation.cc: Likewise.
3282         * testsuite/20_util/is_member_pointer/value.cc: Likewise.
3283         * testsuite/20_util/is_member_pointer/requirements/typedefs.cc:
3284         Likewise.
3285         * testsuite/20_util/is_member_pointer/requirements/
3286         explicit_instantiation.cc: Likewise.
3287         * testsuite/20_util/is_member_function_pointer/value.cc: Likewise.
3288         * testsuite/20_util/is_member_function_pointer/
3289         requirements/typedefs.cc: Likewise.
3290         * testsuite/20_util/is_member_function_pointer/requirements/
3291         explicit_instantiation.cc: Likewise.
3292
3293         * testsuite/20_util/is_convertible/value.cc: Minor tweak, adjust
3294         Copyright years.
3295
3296 2011-04-12  Takaya Saito  <gintensubaru@gmail.com>
3297
3298         PR libstdc++/48476
3299         * include/std/tuple (_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&),
3300         _Tuple_impl<>::operator=(_Tuple_impl&&), _Tuple_impl<>::operator=
3301         (_Tuple_impl<>&&), tuple_cat): Use std::forward where appropriate.
3302         * testsuite/20_util/tuple/cons/48476.cc: New.
3303         * testsuite/20_util/tuple/48476.cc: Likewise.
3304         * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
3305
3306 2011-04-12  Allan McRae  <allan@archlinux.org>
3307
3308         PR libstdc++/48566
3309         * testsuite/tr1/6_containers/unordered_map/requirements/
3310         iterator_null_neg.cc: Include <cstddef>.
3311         * testsuite/tr1/6_containers/unordered_set/requirements/
3312         iterator_null_neg.cc: Likewise.
3313         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Include
3314         <cstring>.
3315         * testsuite/util/testsuite_common_types.h: Include <limits>.
3316         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc:
3317         Adjust dg-error line numbers.
3318         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
3319         * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
3320         Likewise.
3321         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
3322         Likewise.
3323         * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
3324         Likewise.
3325         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Likewise.
3326         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
3327
3328 2011-04-11  Jason Merrill  <jason@redhat.com>
3329
3330         * testsuite/20_util/is_convertible/value.cc: Adjust.
3331
3332 2011-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
3333
3334         * testsuite/25_algorithms/inplace_merge/moveable.cc: Actually run
3335         it in parallel-mode for check-parallel.
3336         * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
3337         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
3338         * testsuite/25_algorithms/remove/moveable.cc: Likewise.
3339         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc:
3340         Likewise.
3341         * testsuite/25_algorithms/unique/moveable.cc: Likewise.
3342         * testsuite/25_algorithms/remove_if/moveable.cc: Likewise.
3343         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
3344
3345         * testsuite/25_algorithms/next_permutation/moveable.cc: Only skip
3346         the tests based on std::lexicographical_compare for check-parallel.
3347         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
3348
3349 2011-04-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
3350
3351         PR libstdc++/48541
3352         * include/std/functional (_Base_manager::_M_get_pointer): Use
3353         addressof.
3354         * testsuite/20_util/function/48541.cc: New.
3355
3356 2011-04-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
3357
3358         PR libstdc++/48465
3359         * configure.ac (libtool_VERSION): Bump library version to 6:16:0.
3360         * configure: Regenerate.
3361         * config/abi/pre/gnu.ver (GLIBCXX_3.4.16): Export missing symbols.
3362         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.16.
3363
3364 2011-04-06  Jeffrey Yasskin  <jyasskin@google.com>
3365
3366         * include/ext/algorithm (is_sorted): In C++0x mode import from
3367         namespace std.
3368         * include/ext/numeric (iota): In C++0x mode import from
3369         namespace std.
3370         * testsuite/ext/is_sorted/cxx0x.cc: New.
3371         * testsuite/ext/iota/cxx0x.cc: New.
3372
3373 2011-04-02  Jonathan Wakely  <redi@gcc.gnu.org>
3374
3375         PR libstdc++/48398
3376         * include/bits/unique_ptr.h (__tuple_type): Store pointer type.
3377         * testsuite/20_util/unique_ptr/modifiers/48398.cc: New.
3378         * testsuite/20_util/unique_ptr/requirements/pointer_type.cc: Remove
3379         unused parameter name.
3380
3381 2011-03-31  Jeffrey Yasskin  <jyasskin@google.com>
3382
3383         * libsupc++/exception_ptr.h: Forward-declare std::type_info.
3384         * libsupc++/nested_exception.h (__throw_with_nested): Remove a
3385         redundant default argument from std::__throw_with_nested.
3386
3387 2011-03-31  Paolo Carlini  <paolo.carlini@oracle.com>
3388
3389         PR libstdc++/48382
3390         * src/ctype.cc: Do not include <bits/ctype_noninline.h>.
3391         * src/Makefile.am: Add ctype_configure_char.cc to host_sources.
3392         * src/Makefile.in: Regenerate.
3393         * include/Makefile.am: Remove ctype_noninline.h from host_headers.
3394         * include/Makefile.in: Regenerate.
3395         * doc/xml/manual/internals.xml: Update.
3396         * config/os/newlib/ctype_noninline.h: Fixup and rename to...
3397         * config/os/newlib/ctype_configure_char.cc: ... this.
3398         * config/os/aix/ctype_noninline.h: Likewise.
3399         * config/os/aix/ctype_configure_char.cc: Likewise.
3400         * config/os/vxworks/ctype_noninline.h: Likewise.
3401         * config/os/vxworks/ctype_configure_char.cc
3402         * config/os/hpux/ctype_noninline.h: Likewise.
3403         * config/os/hpux/ctype_configure_char.cc: Likewise.
3404         * config/os/gnu-linux/ctype_noninline.h: Likewise.
3405         * config/os/gnu-linux/ctype_configure_char.cc: Likewise.
3406         * config/os/mingw32/ctype_noninline.h: Likewise.
3407         * config/os/mingw32/ctype_configure_char.cc: Likewise.
3408         * config/os/tpf/ctype_noninline.h: Likewise.
3409         * config/os/tpf/ctype_configure_char.cc: Likewise.
3410         * config/os/uclibc/ctype_noninline.h: Likewise.
3411         * config/os/uclibc/ctype_configure_char.cc: Likewise.
3412         * config/os/bionic/ctype_noninline.h: Likewise.
3413         * config/os/bionic/ctype_configure_char.cc: Likewise.
3414         * config/os/djgpp/ctype_noninline.h: Likewise.
3415         * config/os/djgpp/ctype_configure_char.cc: Likewise.
3416         * config/os/qnx/qnx6.1/ctype_noninline.h: Likewise.
3417         * config/os/qnx/qnx6.1/ctype_configure_char.cc: Likewise.
3418         * config/os/bsd/netbsd/ctype_noninline.h: Likewise.
3419         * config/os/bsd/netbsd/ctype_configure_char.cc: Likewise.
3420         * config/os/bsd/darwin/ctype_noninline.h: Likewise.
3421         * config/os/bsd/darwin/ctype_configure_char.cc: Likewise.
3422         * config/os/bsd/freebsd/ctype_noninline.h: Likewise.
3423         * config/os/bsd/freebsd/ctype_configure_char.cc: Likewise.
3424         * config/os/irix/irix6.5/ctype_noninline.h: Likewise.
3425         * config/os/irix/irix6.5/ctype_configure_char.cc: Likewise.
3426         * config/os/generic/ctype_noninline.h: Likewise.
3427         * config/os/generic/ctype_configure_char.cc: Likewise.
3428         * config/os/solaris/solaris2.7/ctype_noninline.h: Likewise.
3429         * config/os/solaris/solaris2.7/ctype_configure_char.cc: Likewise.
3430
3431 2011-03-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
3432
3433         * include/std/future (future::share): Add.
3434         (packaged_task::result_type): Remove as per LWG 2030.
3435         (packaged_task::packaged_task): Remove redundant constructors, as per
3436         LWG 1514.
3437         * testsuite/30_threads/future/members/share.cc: New.
3438         * testsuite/30_threads/packaged_task/requirements/typedefs.cc: Remove.
3439
3440 2011-03-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
3441
3442         * testsuite/28_regex/match_results/ctors/char/default.cc: Do not call
3443         members which require a fully established result state.
3444         * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
3445
3446 2011-03-25  Paolo Carlini  <paolo.carlini@oracle.com>
3447
3448         * include/bits/random.h (negative_binomial_distribution<>::
3449         negative_binomial_distribution(_IntType, double),
3450         negative_binomial_distribution<>::
3451         negative_binomial_distribution(const param_type&)): Tweak
3452         construction of _M_gd.
3453         * include/bits/random.tcc (negative_binomial_distribution<>::
3454         operator()): Adjust.
3455
3456 2011-03-24  Paolo Carlini  <paolo.carlini@oracle.com>
3457
3458         * include/bits/random.h (negative_binomial_distribution<>::
3459         negative_binomial_distribution(_IntType, double),
3460         negative_binomial_distribution<>::
3461         negative_binomial_distribution(const param_type&)): Fix
3462         construction of _M_gd.
3463         * include/bits/random.tcc (negative_binomial_distribution<>::
3464         operator()): Fix computation, per Leger's algorithm.
3465         * testsuite/util/testsuite_random.h (discrete_pdf,
3466         negative_binomial_pdf, poisson_pdf, uniform_int_pdf): New.
3467         (binomial_pdf): Swap last two parameters.
3468         * testsuite/26_numerics/random/discrete_distribution/
3469         operators/values.cc: New.
3470         * testsuite/26_numerics/random/negative_binomial_distribution/
3471         operators/values.cc: Likewise.
3472         * testsuite/26_numerics/random/poisson_distribution/
3473         operators/values.cc: Likewise.
3474         * testsuite/26_numerics/random/uniform_int_distribution/
3475         operators/values.cc: Likewise.
3476         * testsuite/26_numerics/random/binomial_distribution/
3477         operators/values.cc: Adjust.
3478
3479 2011-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3480
3481         * config/abi/post/solaris2.8/baseline_symbols.txt: Regenerate.
3482         * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
3483         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
3484         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3485         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3486
3487 2011-03-23  Matthias Klose  <doko@ubuntu.com>
3488
3489         * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Regenerated.
3490
3491 2011-03-23  Uros Bizjak  <ubizjak@gmail.com>
3492
3493         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.
3494
3495 2011-03-22  Joseph Myers  <joseph@codesourcery.com>
3496
3497         * configure.ac: Don't handle powerpc*-*-gnu*.
3498         * configure: Regenerate.
3499
3500 2011-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
3501
3502         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Tweak
3503         Copyright years.
3504         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
3505         Likewise.
3506
3507 2011-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
3508
3509         * include/bits/shared_ptr.h (operator>, operator<=, operator>=): Add,
3510         per DR 1401.
3511         (operator==, operator!=, operator<): Fix per the letter of DR 1401.
3512         * include/bits/shared_ptr_base.h: Likewise for __shared_ptr.
3513         * include/bits/unique_ptr.h (operator==, operator!=, operator<,
3514         operator<=, operator>, operator>=): Fix per the letter of DR 1401.
3515         * testsuite/20_util/shared_ptr/comparison/dr1401.cc: New.
3516         * testsuite/20_util/unique_ptr/comparison/dr1401.cc: Likewise.
3517         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust.
3518
3519 2011-03-22  Jakub Jelinek  <jakub@redhat.com>
3520
3521         * config/abi/pre/gnu.ver (GLIBCXX_3.4.15): Export _ZNSsC2EOSs
3522         and _ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_.
3523         * config/abi/post/solaris2.8/baseline_symbols.txt: Regenerated.
3524         * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
3525         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
3526         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
3527         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
3528         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
3529         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
3530         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3531         Likewise.
3532         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
3533         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3534         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3535         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
3536         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
3537         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
3538         * testsuite/21_strings/basic_string/cons/char/moveable2.cc: New test.
3539         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc: New
3540         test.
3541
3542 2011-03-21  Jack Howarth  <howarth@bromo.med.uc.edu>
3543
3544         * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune "could not
3545         create compact unwind for" warnings.
3546
3547 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
3548
3549         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
3550         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
3551         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3552         Likewise.
3553         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
3554         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
3555         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
3556         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
3557         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
3558         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
3559         * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
3560         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3561         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3562
3563         * testsuite/util/testsuite_abi.cc (check_version): Set incompatible
3564         even when adding symbols to CXXABI_1.3, GLIBCXX_LDBL_3.4 and
3565         CXXABI_LDBL_1.3 versions.
3566
3567 2011-03-21  Benjamin Kosnik  <bkoz@redhat.com>
3568
3569         * config/abi/pre/gnu.ver: Remove typeinfo name exports for C++0x types.
3570
3571 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
3572
3573         * config/abi/pre/gnu.ver (CXXABI_1.3): Don't export _ZT[IS][PK]*[no].
3574         (CXXABI_1.3.5): Export _ZTI[PK]*[no].
3575
3576 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3577
3578         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on
3579         sparc*-sun-solaris2.10 && lp64.
3580
3581 2011-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
3582
3583         * testsuite/lib/libstdc++.exp (check_v3_target_c99_math): Rename
3584         to check_v3_target_cmath.
3585         * testsuite/lib/dg-options.exp (dg-require-c99_math): Rename
3586         to dg-require-cmath.
3587         * testsuite/26_numerics/random/binomial_distribution/
3588         operators/values.cc: Adjust.
3589
3590 2011-03-18  Diego Novillo  <dnovillo@google.com>
3591
3592         * testsuite/decimal/mixed-mode-arith_neg.cc: Rename from
3593         mixed-mode_neg.cc
3594         * testsuite/decimal/mixed-mode-cmp_neg.cc: Factor out of
3595         mixed-mode-arith_neg.cc
3596
3597 2011-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
3598
3599         * testsuite/util/testsuite_random.h: New.
3600         * testsuite/lib/libstdc++.exp (check_v3_target_c99_math): Add.
3601         * testsuite/lib/dg-options.exp (dg-require-c99_math): Likewise.
3602         * testsuite/26_numerics/random/bernoulli_distribution/
3603         operators/values.cc: New.
3604         * testsuite/26_numerics/random/binomial_distribution/
3605         operators/values.cc: Likewise.
3606         * testsuite/26_numerics/random/geometric_distribution/
3607         operators/values.cc: Likewise.
3608
3609 2011-03-16  Benjamin Kosnik  <bkoz@redhat.com>
3610
3611         * config/abi/pre/gnu.ver: Add base destructors for stdexcept classes.
3612         * testsuite/19_diagnostics/stdexcept.cc: New.
3613
3614 2011-03-15  Benjamin Kosnik  <bkoz@redhat.com>
3615
3616         * include/std/thread: Revert.
3617         * src/thread.cc: Same.
3618         * config/abi/pre/gnu.ver: Same.
3619
3620 2011-03-15  Doug Kwan  <dougkwan@google.com>
3621
3622         PR libstdc++/48123
3623         * include/Makefile.am (install-freestanding-headers): Install
3624         cpu_defines.h
3625         * include/Makefile.in: Regenerate.
3626
3627 2011-03-15  Benjamin Kosnik  <bkoz@redhat.com>
3628
3629         * config/abi/pre/gnu.ver: Make nested_exception exports super clear.
3630         Move bad_function_call exports from CXXABI_1.3.5 to GLIBCXX_3.4.15.
3631
3632 2011-03-14  Benjamin Kosnik  <bkoz@redhat.com>
3633
3634         PR libstdc++/48130
3635         * src/future.cc: Guard definitions.
3636         * libsupc++/nested_exception.cc: Same.
3637
3638 2011-03-14  Benjamin Kosnik  <bkoz@redhat.com>
3639
3640         * src/Makefile.am: Add functional.cc, shared_ptr.cc.
3641         * src/Makefile.in: Regenerate.
3642         * libsupc++/Makefile.am: Add nested_exception.cc.
3643         * libsupc++/Makefile.in: Regenerate.
3644         * src/system_error.cc: Add ctor and dtor definitions for error_category.
3645         * src/functional.cc: New. Add dtor definition for bad_function_call.
3646         * src/stdexcept.cc: Add dtor definitions for domain_error,
3647         invalid_argument, length_error, out_of_range, range_error,
3648         overflow_error, underflow_error.
3649         * src/future.cc: Add dtor definition for __future_base::_Result_base.
3650         * src/shared_ptr.cc: New. Add dtor definition for bad_weak_ptr.
3651         * src/thread.cc: Add dtor for thread::_Impl_base.
3652         * include/std/system_error: Adjust.
3653         * include/std/stdexcept: Same.
3654         * include/std/future: Same.
3655         * include/std/functional: Same.
3656         * include/std/thread: Same.
3657         * include/bits/shared_ptr_base.h: Same.
3658         * libsupc++/nested_exception.cc: New. Add dtor for nested_exception.
3659         * libsupc++/nested_exception.h: Adjust.
3660         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
3661         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
3662         * config/abi/pre/gnu.ver: Add new exports.
3663
3664 2011-03-14  Benjamin Kosnik  <bkoz@redhat.com>
3665
3666         * include/bits/regex_compiler.h: Nest namespace versioning.
3667         * include/bits/regex_grep_matcher.tcc: Same.
3668         * include/bits/regex_grep_matcher.h: Same.
3669         * include/bits/regex_cursor.h: Same.
3670         * include/bits/regex_nfa.h: Same.
3671         * include/bits/regex_nfa.tcc: Same.
3672
3673         * include/bits/regex_grep_matcher.h: Version forward declarations.
3674         * include/bits/c++config: Add namespace association for __regex.
3675         * include/bits/regex.h: Make sub_match consistent.
3676
3677 2011-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3678
3679         * doc/xml/manual/abi.xml: Replace docs.sun.com URLs by their OTN
3680         equivalents.
3681         * doc/html/manual/abi.html: Regenerate.
3682
3683 2011-03-14  Tom Tromey  <tromey@redhat.com>
3684
3685         * python/libstdcxx/v6/printers.py (_use_gdb_pp): New global.
3686         Try to import `gdb.printing' module.
3687         (UniquePointerPrinter.__init__): Add 'typename' argument.
3688         (StdSlistPrinter.__init__): Likewise.
3689         (StdSlistIteratorPrinter.__init__): Likewise.
3690         (StdVectorIteratorPrinter.__init__): Likewise.
3691         (StdRbtreeIteratorPrinter.__init__): Likewise.
3692         (StdDebugIteratorPrinter.__init__): Likewise.
3693         (StdDequeIteratorPrinter.__init__): Likewise.
3694         (StdStringPrinter.__init__): Likewise.
3695         (RxPrinter, Printer): New class.
3696         (libstdcxx_printer): New global.
3697         (register_libstdcxx_printers): Rewrite.
3698         (build_libstdcxx_dictionary): Rewrite.
3699         (pretty_printers_dict): Remove.
3700
3701 2011-03-14  Andrey Zholos  <aaz@althenia.net>
3702
3703         PR libstdc++/48114
3704         * include/bits/random.h (geometric_distribution): Correct formula
3705         in comment, per C++0x.
3706         (geometric_distribution<>::param_type::param_type(double)): Fix check.
3707         (geometric_distribution<>::param_type::_M_initialize):
3708         Store log(1 - p).
3709         * include/bits/random.tcc (geometric_distribution<>::operator()):
3710         Fix computation.
3711         (binomial_distribution<>::operator()): Likewise.
3712
3713 2011-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
3714
3715         * testsuite/util/testsuite_rvalref.h: Minor tweaks.
3716
3717 2011-03-09  Jonathan Wakely  <redi@gcc.gnu.org>
3718             Chris Jefferson  <chris@bubblescope.net>
3719             Paolo Carlini  <paolo.carlini@oracle.com>
3720
3721         * testsuite/util/testsuite_rvalref.h (rvalstruct_compare_by_value):
3722         New.
3723         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc:
3724         Likewise.
3725         * testsuite/25_algorithms/partial_sort/check_compare_by_value:
3726         Likewise.
3727         * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
3728         Likewise.
3729         * testsuite/25_algorithms/sort/check_compare_by_value: Likewise.
3730
3731 2011-03-09  Chris Jefferson  <chris@bubblescope.net>
3732
3733         PR libstdc++/48038
3734         * include/bits/stl_algo.h (__merge_backward): Rename to
3735         __move_merge_backward and change to always move rather than copy.
3736         (__move_merge): New function similar to std::merge except values
3737         are moved instead of copied.
3738         (__merge_adaptive, __merge_sort_loop): Change from using std::merge
3739         and __merge_backward to __move_merge and __move_merge_backward.
3740
3741 2011-03-07  Jason Merrill  <jason@redhat.com>
3742
3743         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
3744         expected errors.
3745
3746 2011-03-07  Benjamin Kosnik  <bkoz@redhat.com>
3747             Matthias Klose  <doko@ubuntu.com>
3748             Jonathan Wakely  <redi@gcc.gnu.org>
3749
3750         PR libstdc++/47145
3751         * acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Define.
3752         * configure.ac: Use it.
3753         * doc/Makefile.am (XSL_STYLE_DIR): Set at configure time.
3754         * configure: Regenerate.
3755         * doc/Makefile.in: Regenerate.
3756
3757 2011-03-04  Benjamin Kosnik  <bkoz@chula>
3758
3759         * src/Makefile.am (inst_sources): Make source instantion files
3760         conditional.
3761         (XTEMPLATE_FLAGS): Make -fno-implicit-templates conditional.
3762         * src/Makefile.in: Regenerate.
3763         * src/valarray-inst.cc: Move to..
3764         * src/valarray.cc: ...this.
3765         * acinclude.m4 (GLIBCXX_ENABLE_EXTERN_TEMPLATE]): Define.
3766         * configure.ac (GLIBCXX_ENABLE_EXTERN_TEMPLATE): Use it.
3767         * configure: Regenerate.
3768         * include/Makefile.am (stamp-extern-template): Add.
3769         * include/Makefile.in: Regenerate.
3770
3771         * doc/xml/manual/configure.xml: Document --enable-extern-template.
3772
3773         * include/bits/locale_classes.tcc: Adjust comment.
3774         * include/bits/locale_facets.tcc: Same.
3775         * include/bits/basic_ios.tcc: Same.
3776         * include/bits/istream.tcc: Same.
3777         * include/bits/codecvt.h: Same.
3778         * include/bits/ostream.tcc: Same.
3779         * include/bits/sstream.tcc: Same.
3780         * include/bits/c++config: Same.
3781         * include/bits/basic_string.tcc: Same.
3782         * include/bits/ostream_insert.h: Same.
3783         * include/bits/locale_facets_nonio.tcc: Same.
3784         * include/bits/streambuf.tcc: Same.
3785         * include/bits/allocator.h: Same.
3786         * include/bits/fstream.tcc: Same.
3787
3788         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
3789
3790 2011-03-02  Benjamin Kosnik  <bkoz@redhat.com>
3791
3792         * testsuite/Makefile.am: Make clean fixups.
3793         * testsuite/Makefile.in: Regenerate.
3794
3795 2011-03-02  Marc Glisse  <marc.glisse@normalesup.org>
3796
3797         * include/std/ratio (ratio_less): Add comments.
3798
3799 2011-03-02  Marc Glisse  <marc.glisse@normalesup.org>
3800
3801         PR libstdc++/47913
3802         * include/std/ratio (ratio_add): Avoid denominator overflow.
3803         * testsuite/20_util/ratio/operations/47913.cc: New.
3804
3805 2011-02-28  Benjamin Kosnik  <bkoz@redhat.com>
3806
3807         * testsuite/20_util/hash/chi2_quality.cc: Use C++0x mode on simulators.
3808         * testsuite/20_util/hash/quality.cc: Same.
3809
3810 2011-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
3811
3812         PR libstdc++/47921
3813         * include/std/streambuf (basic_streambuf<>::__safe_gbump,
3814         __safe_pbump): Add.
3815         * include/bits/streambuf.tcc (basic_streambuf<>::xgetn,
3816         xputn): Use the latter.
3817         * include/bits/streambuf_iterator.h: Likewise.
3818         * src/strstream.cc: Likewise.
3819         * src/streambuf.cc: Likewise.
3820         * src/compatibility.cc: Likewise.
3821         * src/istream.cc: Likewise.
3822         * include/bits/fstream.tcc (basic_filebuf<>::xsgetn): Use setg
3823         instead of gbump.
3824         * include/std/sstream (basic_stringbuf<>::_M_pbump): Add.
3825         * include/bits/sstream.tcc (basic_stringbuf<>::seekoff,
3826         seekpos, _M_sync): Use setg, setp, and _M_pbump.
3827         * config/abi/pre/gnu.ver: Tweak.
3828
3829 2011-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
3830
3831         * testsuite/20_util/ratio/comparisons/comp3.cc: New.
3832
3833 2011-02-28  Marc Glisse  <marc.glisse@normalesup.org>
3834
3835         PR libstdc++/42622
3836         * include/std/ratio (ratio_less): Reimplement to never overflow.
3837         * testsuite/20_util/ratio/comparisons/comp2.cc: Extend.
3838
3839 2011-02-24  Benjamin Kosnik  <bkoz@redhat.com>
3840
3841         * testsuite/18_support/type_info/fundamental.cc: New.
3842
3843         * testsuite/Makefile.am: Make clean fixups.
3844         * testsuite/Makefile.in: Regenerate.
3845
3846 2011-02-19  François Dumont  <francois.cppdevs@free.fr>
3847
3848         * include/debug/string (basic_string::insert): Add iterator check and
3849         pass normal iterator to normal insert.
3850         * include/debug/macros.h (__glibcxx_check_heap,
3851         __glibcxx_check_heap_pred): Remove __glibcxx_check_valid_range,
3852         already done.
3853
3854 2011-02-17  Paolo Carlini  <paolo.carlini@oracle.com>
3855
3856         PR libstdc++/47776
3857         * testsuite/ext/vstring/hash/char/1.cc: Fix.
3858         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
3859
3860 2011-02-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
3861
3862         * include/bits/regex.h (basic_regex::traits_type): Add typedef.
3863         (basic_regex::basic_regex(basic_regex&&)): Add noexcept.
3864         (basic_regex::operator=(basic_regex&&)): Likewise.
3865         (basic_regex::assign(basic_regex&&)): Likewise.
3866         (operator==(sub_match,...)): Implement DR 1181.
3867         (match_results::match_results(match_results&&)): Define.
3868         (match_results::operator=(const match_results&)): Fix parameter type.
3869         (match_results::operator=(match_results&&)): Define.
3870
3871 2011-02-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
3872
3873         PR libstdc++/47724
3874         * include/bits/regex_compiler.h (_Scanner::_M_advance): Do not treat
3875         line anchors as metacharacters.
3876         * testsuite/28_regex/basic_regex/ctors/47724.cc: New.
3877
3878 2011-02-16  Paolo Carlini  <paolo.carlini@oracle.com>
3879
3880         PR libstdc++/47773
3881         * include/ext/vstring.h (hash<__gnu_cxx::__vstring>,
3882         hash<__gnu_cxx::__wvstring>, hash<__gnu_cxx::__u16vstring>,
3883         hash<__gnu_cxx::__u32vstring>): Add.
3884         * testsuite/ext/vstring/hash/char/1.cc: New.
3885         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
3886
3887 2011-02-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3888
3889         * include/bits/regex.h (match_results::format): Use char_traits.
3890
3891 2011-02-16  Benjamin Kosnik  <bkoz@redhat.com>
3892
3893         * include/std/atomic: Remove atomic_address, uplift to N3225.
3894         * include/bits/atomic_0.h: Same.
3895         * include/bits/atomic_2.h: Same.
3896         * include/bits/atomic_base.h: Same.
3897         * testsuite/29_atomics/atomic_address/*: Delete.
3898
3899 2011-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
3900
3901         * include/bits/regex.h (sub_match::sub_match): Add.
3902         (match_results::ready): Add.
3903         (match_results::empty): Adjust.
3904         (match_results::length): Add missing dereference.
3905         (match_results::operator[],prefix,suffix): Add debug mode checks.
3906         (match_results::cend): Re-use end().
3907         (match_results::format): Adjust signatures.
3908         (operator==(match_results,match_results)): Implement.
3909         * include/bits/regex_compiler.h (_Scanner_base): Use constexpr.
3910         * include/bits/regex_constants.h (syntax_option_type): Likewise.
3911         * include/bits/regex_grep_matcher.h: Fix comment typo.
3912         (_SpecializedResults::_SpecializedResults): Simplify.
3913         * include/bits/regex_cursor.h: Fix comment typo.
3914         * include/bits/regex_nfa.h: Likewise.
3915         * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
3916         Fix error code, remove xfail.
3917         * testsuite/28_regex/basic_regex/ctors/extended/
3918         string_range_01_02_03.cc: Likewise.
3919
3920 2011-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
3921
3922         * include/bits/regex_compiler.h: Remove unnecessary bind() calls.
3923         * include/bits/regex_nfa.h: Remove unnecessary base classes.
3924
3925 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3926
3927         * configure: Regenerate.
3928
3929 2011-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
3930
3931         PR libstdc++/47709
3932         * include/ext/algorithm (is_heap): In C++0x mode import from
3933         namespace std.
3934         * testsuite/ext/is_heap/47709.cc: New.
3935
3936 2011-02-12  Jakub Jelinek  <jakub@redhat.com>
3937             Jonathan Wakely  <jwakely.gcc@gmail.com>
3938
3939         PR libstdc++/47662
3940         * testsuite/17_intro/headers/c++200x/operator_names.cc: New.
3941         * testsuite/17_intro/headers/c++1998/operator_names.cc: Add comment.
3942
3943 2011-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
3944
3945         * include/tr1/cmath (fabs): Define.
3946         * include/tr1/complex (acos, asin, atan): Avoid duplicate definitions
3947         in C++0x mode.
3948
3949 2011-02-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
3950
3951         * testsuite/tr1/headers/c++200x/complex.cc: New.
3952
3953 2011-02-11  Johannes Singler  <singler@kit.edu>
3954
3955         PR libstdc++/47433
3956         * include/parallel/losertree.h
3957         (_LoserTreeUnguarded<>::__delete_min_insert):
3958         Add missing "using std::swap;", as for other variants.
3959
3960 2011-02-10  Benjamin Kosnik  <bkoz@redhat.com>
3961
3962         * src/Makefile.am (sources): Add regex.cc.
3963         * src/Makefile.in: Regenerate.
3964         * src/regex.cc: New.
3965         * include/bits/regex_error.h (error_type): Use constexpr.
3966         (regex_error): Move ctor and dtor out of line.
3967
3968         * testsuite/28_regex/03_requirements: To...
3969         * testsuite/28_regex/requirements: ... this.
3970         * testsuite/28_regex/04_header: To...
3971         * testsuite/28_regex/headers: ... this.
3972         * testsuite/28_regex/05_constants: To...
3973         * testsuite/28_regex/constants: ... this.
3974         * testsuite/28_regex/06_exception_type: To...
3975         * testsuite/28_regex/regex_error: ... this.
3976         * testsuite/28_regex/07_traits: To...
3977         * testsuite/28_regex/traits: ... this.
3978         * testsuite/28_regex/08_basic_regex: To...
3979         * testsuite/28_regex/basic_regex: ... this.
3980         * testsuite/28_regex/09_sub_match: To...
3981         * testsuite/28_regex/sub_match: ... this.
3982         * testsuite/28_regex/10_match_results: To...
3983         * testsuite/28_regex/match_results: ... this.
3984         * testsuite/28_regex/11_algorithms: To...
3985         * testsuite/28_regex/algorithms: ... this.
3986         * testsuite/28_regex/12_iterators: To...
3987         * testsuite/28_regex/iterators: ... this.
3988
3989 2011-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
3990
3991         PR libstdc++/47662
3992         * include/bits/c++config: Do not use alternative token.
3993         * testsuite/17_intro/headers/c++1998/operator_names.cc: New.
3994
3995 2011-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
3996
3997         * src/future.cc (future_error_category::message): Handle no_state.
3998
3999 2011-02-10  Paolo Carlini  <paolo.carlini@oracle.com>
4000
4001         * testsuite/23_containers/multimap/modifiers/erase/47628.cc: Do
4002         not test in C++0x mode.
4003         * testsuite/23_containers/map/modifiers/erase/47628.cc: Likewise.
4004         * testsuite/20_util/headers/utility/synopsis.cc: Tweak to work
4005         in C++0x mode too.
4006
4007 2011-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
4008
4009         * doc/xml/manual/status_cxx200x.xml: Update.
4010         * doc/html/*: Regenerate.
4011
4012 2011-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
4013
4014         * doc/xml/manual/debug.xml: Improve data race docs.
4015
4016 2011-02-09  Paolo Carlini  <paolo.carlini@oracle.com>
4017
4018         PR libstdc++/47668
4019         * include/debug/map.h (map): Remove unnecessary using-declaration.
4020         * include/debug/multimap.h (multimap): Likewise.
4021         * include/profile/map.h (map): Likewise.
4022         * include/profile/multimap.h (multimap): Likewise.
4023
4024 2011-02-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
4025
4026         PR libstdc++/43863
4027         * libsupc++/guard.cc (recursive_init_error::~recursive_init_error):
4028         Move to ...
4029         * libsupc++/guard_error.cc: ... new file.
4030         * libsupc++/Makefile.am: Update.
4031         * libsupc++/Makefile.in: Regenerate.
4032
4033 2011-02-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
4034
4035         * include/std/future (packaged_task::operator bool): Rename to...
4036         (packaged_task::valid): ...this.
4037         * testsuite/30_threads/packaged_task/cons/1.cc: Adjust.
4038         * testsuite/30_threads/packaged_task/cons/2.cc: Adjust.
4039         * testsuite/30_threads/packaged_task/cons/move.cc: Adjust.
4040         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Adjust.
4041         * testsuite/30_threads/packaged_task/cons/alloc.cc: Adjust.
4042         * testsuite/30_threads/packaged_task/members/invoke.cc: Adjust.
4043         * testsuite/30_threads/packaged_task/members/reset.cc: Adjust.
4044         * testsuite/30_threads/packaged_task/members/reset2.cc: Adjust.
4045         * testsuite/30_threads/packaged_task/members/swap.cc: Adjust.
4046         * testsuite/30_threads/packaged_task/members/boolconv.cc: Remove.
4047         * testsuite/30_threads/packaged_task/members/valid.cc: Add.
4048
4049 2011-02-09  Paolo Carlini  <paolo.carlini@oracle.com>
4050
4051         * doc/xml/manual/io.xml: Fix typo.
4052         * doc/html/manual/streambufs.html: Likewise.
4053
4054 2011-02-09  Paolo Carlini  <paolo.carlini@oracle.com>
4055
4056         * config/abi/pre/gnu.ver: Fix.
4057
4058 2011-02-08  Benjamin Kosnik  <bkoz@redhat.com>
4059
4060         * doc/xml/manual/appendix_porting.xml: Add doc section.
4061         * doc/xml/manual/appendix_contributing.xml: Split out doc bits to...
4062         * doc/xml/manual/documentation_hacking.xml: ...here.
4063
4064         * doc/xml/manual/debug_mode.xml: Adjust.
4065         * doc/xml/manual/prerequisites.xml: Adjust.
4066         * doc/Makefile.am (xml_sources): Add dot files,
4067         documentation_hacking.xml.
4068         * doc/Makefile.in: Regenerate.
4069
4070         * doc/xml/manual/build_hacking.xml: Use absolute paths for images.
4071         * doc/xml/images/confdeps.pdf: Add.
4072
4073         * doc/html/*: Regenerate.
4074
4075 2011-02-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
4076
4077         * doc/xml/gnu/fdl-1.2.xml: Remove.
4078         * doc/xml/gnu/gpl-2.0.xml: Remove.
4079         * doc/Makefile.am: Update.
4080         * doc/Makefile.in: Regenerate.
4081
4082 2011-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
4083
4084         PR libstdc++/47628
4085         * include/bits/stl_tree.h (_Rb_tree::erase(iterator), erase(iterator,
4086         iterator)): Add back in C++03 mode.
4087         * testsuite/23_containers/map/modifiers/erase/47628.cc: New.
4088         * testsuite/23_containers/multimap/modifiers/erase/47628.cc: Likewise.
4089
4090 2011-02-07  Benjamin Kosnik  <bkoz@redhat.com>
4091
4092         PR libstdc++/47560 try two
4093         * config/os/hpux/os_defines.h: Guard for C++.
4094
4095 2011-02-07  Gerald Pfeifer  <gerald@pfeifer.com>
4096
4097         * doc/xml/faq.xml: Adjust link to bug database.
4098         Remove old item on broken header files.
4099
4100 2011-02-04  Benjamin Kosnik  <bkoz@redhat.com>
4101
4102         * include/bits/regex_error.h (__throw_regex_error): Not inline.
4103         * src/functexcept.cc: Add definition.
4104         * config/abi/pre/gnu.ver: Export.
4105
4106 2011-02-04  Ralf Corsépius <ralf.corsepius@rtems.org>
4107
4108         * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Add *-rtems*.
4109         * configure: Regenerate.
4110
4111 2011-02-01  Paolo Carlini  <paolo.carlini@oracle.com>
4112
4113         PR libstdc++/46914
4114         * include/bits/atomic_0.h (_ATOMIC_STORE_, _ATOMIC_MODIFY_,
4115         _ATOMIC_CMPEXCHNG_): Rename __v -> __w, and __m -> __n, to
4116         avoid name conflicts.
4117
4118 2011-02-01  Benjamin Kosnik  <bkoz@redhat.com>
4119
4120         PR libstdc++/47560
4121         * config/os/hpux/os_defines.h: Remove use of macros on namespace.
4122
4123 2011-02-01  Benjamin Kosnik  <bkoz@redhat.com>
4124
4125         * scripts/run_doxygen: Allow doxygen 1.7.0 again.
4126         * doc/doxygen/user.cfg.in (PDF_HYPERLINKS): Re-enable.
4127         (COMPACT_LATEX): Enable.
4128
4129         * include/profile/impl/profiler_container_size.h: Adjust doxygen markup.
4130         * include/profile/impl/profiler_hash_func.h: Same.
4131         * include/bits/hashtable.h: Same.
4132         * include/backward/auto_ptr.h: Same.
4133         * include/backward/strstream: Same.
4134         * include/backward/backward_warning.h: Same.
4135         * include/backward/binders.h: Same.
4136
4137 2011-02-01  Gerald Pfeifer  <gerald@pfeifer.com>
4138
4139         * doc/xml/manual/debug.xml: Use GDB instead of gdb.
4140         Adjust link to GDB manual.
4141
4142 2011-01-31  Benjamin Kosnik  <bkoz@redhat.com>
4143
4144         * include/bits/c++config (_GLIBCXX_DEPRECATED): To
4145         _GLIBCXX_USE_DEPRECATED.
4146         (_GLIBCXX_DEPRECATED_ATTR): To _GLIBCXX_DEPRECATED.
4147         * doc/xml/manual/using.xml: Same.
4148         * include/std/memory: Same.
4149         * include/std/streambuf: Same.
4150         * include/bits/shared_ptr.h: Same.
4151         * include/bits/unique_ptr.h: Same.
4152         * include/bits/shared_ptr_base.h: Same.
4153         * include/bits/stl_function.h: Same.
4154         * include/tr1/shared_ptr.h: Same.
4155         * include/backward/auto_ptr.h: Same.
4156         * include/backward/binders.h: Same.
4157
4158 2011-01-31  Paolo Carlini  <paolo.carlini@oracle.com>
4159
4160         * doc/html/ext/lwg-active.html: Update to Revision D73.
4161         * doc/html/ext/lwg-closed.html: Likewise.
4162         * doc/html/ext/lwg-defects.html: Likewise.
4163         * doc/xml/manual/intro.xml: Update status of issues 408, 539, 865.
4164
4165 2011-01-30  Benjamin Kosnik  <bkoz@redhat.com>
4166
4167         PR libstdc++/36104 part four
4168         * include/bits/c++config (_GLIBCXX_STD): Remove.
4169         (_GLIBCXX_STD_D, _GLIBCXX_PR): Now _GLIBCXX_STD_C.
4170         (_GLIBCXX_P): Now _GLIBCXX_STD_A.
4171         (_GLIBCXX_NAMESPACE_DEBUG, _GLIBCXX_NAMESPACE_PARALLEL,
4172          _GLIBCXX_NAMESPACE_PROFILE, _GLIBCXX_NAMESPACE_VERSION): Remove.
4173         (_GLIBCXX_INLINE_DEBUG, _GLIBCXX_INLINE_PARALLEL,
4174          _GLIBCXX_INLINE_PROFILE): Remove.
4175         (_GLIBCXX_BEGIN_NAMESPACE(X)): Remove.
4176         (_GLIBCXX_END_NAMESPACE): Remove.
4177         (_GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y)): Remove.
4178         (_GLIBCXX_END_NESTED_NAMESPACE): Remove.
4179         (_GLIBCXX_BEGIN_NAMESPACE_ALGO): Add.
4180         (_GLIBCXX_END_NAMESPACE_ALGO): Add.
4181         (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER): Add.
4182         (_GLIBCXX_END_NAMESPACE_CONTAINER): Add.
4183         (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Add.
4184         (_GLIBCXX_END_NAMESPACE_VERSION): Add.
4185         (_GLIBCXX_BEGIN_LDBL_NAMESPACE): To _GLIBCXX_BEGIN_NAMESPACE_LDBL.
4186         (_GLIBCXX_END_LDBL_NAMESPACE): To _GLIBCXX_END_NAMESPACE_LDBL.
4187         (_GLIBCXX_VISIBILITY_ATTR): Revert to _GLIBCXX_VISIBILITY.
4188         * include/*: Use new macros for namespace scope.
4189         * config/*: Same.
4190         * src/*: Same.
4191
4192         * src/Makefile.am (sources): Remove debug_list.cc, add
4193         compatibility-debug_list-2.cc.
4194         (parallel_sources): Remove parallel_list.cc, add
4195         compatibility-parallel_list-2.cc.
4196         (compatibility-parallel_list-2.[o,lo]): New rule.
4197         * src/Makefile.in: Regenerate.
4198         * src/debug_list.cc: Remove.
4199         * src/parallel_list.cc: Remove.
4200         * src/compatibility-list-2.cc: New.
4201         * src/compatibility-debug_list-2.cc: New.
4202         * src/compatibility-parallel_list-2.cc: New.
4203
4204         * doc/doxygen/user.cfg.in: Adjust macros.
4205
4206         * testsuite/20_util/auto_ptr/assign_neg.cc: Adjust line numbers, macros.
4207         * testsuite/20_util/declval/requirements/1_neg.cc: Same.
4208         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
4209         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
4210         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
4211         * testsuite/20_util/forward/c_neg.cc: Same.
4212         * testsuite/20_util/forward/f_neg.cc: Same.
4213         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
4214         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
4215         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same.
4216         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
4217         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same.
4218         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
4219         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
4220         * testsuite/23_containers/deque/requirements/dr438/
4221         constructor_1_neg.cc: Same.
4222         * testsuite/23_containers/deque/requirements/dr438/
4223         constructor_2_neg.cc: Same.
4224         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
4225         * testsuite/23_containers/forward_list/capacity/1.cc: Same.
4226         * testsuite/23_containers/forward_list/requirements/dr438/
4227         assign_neg.cc: Same.
4228         * testsuite/23_containers/forward_list/requirements/dr438/
4229         constructor_1_neg.cc: Same.
4230         * testsuite/23_containers/forward_list/requirements/dr438/
4231         constructor_2_neg.cc: Same.
4232         * testsuite/23_containers/forward_list/requirements/dr438/
4233         insert_neg.cc: Same.
4234         * testsuite/23_containers/list/capacity/29134.cc: Same.
4235         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
4236         * testsuite/23_containers/list/requirements/dr438/
4237         constructor_1_neg.cc: Same.
4238         * testsuite/23_containers/list/requirements/dr438/
4239         constructor_2_neg.cc: Same.
4240         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
4241         * testsuite/23_containers/vector/bool/capacity/29134.cc: Same.
4242         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Same.
4243         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
4244         * testsuite/23_containers/vector/requirements/dr438/
4245         constructor_1_neg.cc: Same.
4246         * testsuite/23_containers/vector/requirements/dr438/
4247         constructor_2_neg.cc: Same.
4248         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
4249         * testsuite/25_algorithms/sort/35588.cc: Same.
4250         * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
4251         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
4252         * testsuite/ext/profile/mutex_extensions_neg.cc: Same.
4253         * testsuite/ext/profile/profiler_algos.cc: Same.
4254         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
4255         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.
4256         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
4257         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Same.
4258         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
4259
4260 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
4261
4262         * doc/xml/manual/abi.xml: Adjust link to C++ ABI specification.
4263         Improve description of one such reference.
4264
4265 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
4266
4267         * doc/xml/manual/codecvt.xml: Fix link to The Austin Common
4268         Standards Revision Group.
4269         * doc/xml/manual/locale.xml: Ditto.
4270         * doc/xml/manual/messages.xml: Ditto.
4271         * doc/xml/manual/using_exceptions.xml: Ditto.
4272
4273 2011-01-28  Paolo Carlini  <paolo.carlini@oracle.com>
4274
4275         * include/bits/atomic_base.h: Do not include <stddef.h>.
4276         (kill_dependency): Uglify ret.
4277
4278 2011-01-26  Johannes Singler  <singler@kit.edu>
4279
4280         * include/parallel/numeric (inner_product, partial_sum):
4281         Qualify subsequent call with __gnu_parallel instead of
4282         _GLIBCXX_STD_P to reenable parallel execution without ambiguity.
4283         * include/parallel/algobase.h (equal): Likewise.
4284         * include/parallel/algo.h (find_first_of, search_n, merge,
4285         nth_element, partial_sort, max_element, min_element): Likewise.
4286         * testsuite/25_algorithms/headers/algorithm/
4287         parallel_algorithm_mixed1.cc (main): Add respective test cases.
4288         * testsuite/25_algorithms/headers/algorithm/
4289         parallel_algorithm_mixed2.cc (main): Likewise.
4290         * testsuite/26_numerics/headers/numeric/
4291         parallel_numeric_mixed1.cc (main): Likewise.
4292         * testsuite/26_numerics/headers/numeric/
4293         parallel_numeric_mixed2.cc (main): Likewise.
4294
4295 2011-01-24  Graham Reed  <greed@pobox.com>
4296
4297         PR libstdc++/47387
4298         * config/os/aix/ctype_inline.h (ctype<char>::is): Use _M_table if
4299         provided.
4300
4301 2011-01-24  Johannes Singler  <singler@kit.edu>
4302
4303         PR libstdc++/47433
4304         * include/parallel/losertree.h
4305         (_LoserTree<>::__delete_min_insert):
4306         Do not qualify swap with std:: for value type,
4307         but include a using directive instead.
4308         (_LoserTreeUnguarded<>::__delete_min_insert): Likewise.
4309         * include/parallel/balanced_quicksort.h (__qsb_divide):
4310         Use std::iter_swap instead of std::swap.
4311         (__qsb_local_sort_with_helping): Likewise.
4312         * include/parallel/partition.h (__parallel_partition):
4313         Likewise. (__parallel_nth_element): Likewise.
4314
4315 2011-01-24  Johannes Singler  <singler@kit.edu>
4316
4317         PR libstdc++/47437
4318         * include/parallel/multiway_merge.h (_UnguardedIterator):
4319         Remove useless "mutable" from reference declaration.
4320
4321 2011-01-21  Benjamin Kosnik  <bkoz@redhat.com>
4322
4323         * include/bits/c++config (_GLIBCXX_EXPORT_TEMPLATE): Remove.
4324         * include/debug/safe_sequence.h: Same.
4325         * include/debug/safe_iterator.h: Same.
4326         * include/std/forward_list: Same.
4327         * include/std/deque: Same.
4328         * include/std/list: Same.
4329         * include/std/random: Same.
4330         * include/std/streambuf: Same.
4331         * include/std/fstream: Same.
4332         * include/std/istream: Same.
4333         * include/std/string: Same.
4334         * include/std/ostream: Same.
4335         * include/std/sstream: Same.
4336         * include/ext/vstring.h: Same.
4337         * include/bits/basic_ios.h: Same.
4338         * include/bits/locale_classes.h: Same.
4339         * include/bits/locale_facets.h: Same.
4340         * include/bits/valarray_array.h: Same.
4341         * include/bits/locale_facets_nonio.h: Same.
4342         * include/tr1/random: Same.
4343
4344 2011-01-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
4345
4346         * doc/xml/manual/diagnostics.xml: Replace note about C++0x concepts.
4347
4348 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
4349
4350         PR libstdc++/36104 part three
4351         * src/hashtable_c++0x.cc: Adjust namespace macros.
4352         * testsuite/util/testsuite_rvalref.h: Don't forward declare hash.
4353         * config/abi/pre/gnu-versioned-namespace.ver: Update.
4354
4355 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
4356
4357         * include/ext/pb_ds/detail/resize_policy/
4358         hash_load_check_resize_trigger_imp.hpp: Adjust assert condition.
4359         * include/ext/pb_ds/detail/pat_trie_/
4360         constructors_destructor_fn_imps.hpp: Same.
4361         * include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Format.
4362         * include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
4363         * include/ext/pb_ds/detail/debug_map_base.hpp: Use never_adjustor.
4364
4365         * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Adjust
4366         iterations downward when testing in debug mode.
4367         * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
4368         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
4369         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
4370         * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
4371         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same.
4372         * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Use SIZE,
4373         reduce in debug mode.
4374
4375 2011-01-19  Benjamin Kosnik  <bkoz@redhat.com>
4376
4377         PR libstdc++/36104 part two
4378         * include/bits/hashtable.h: Revert to non-nested macro usage.
4379         * include/bits/hashtable_policy.h: Same.
4380
4381 2011-01-19  Graham Reed  <greed@pobox.com>
4382
4383         PR libstdc++/47354
4384         * src/bitmap_allocator.cc (free_list::_M_get): Lock mutex.
4385
4386 2011-01-18  Benjamin Kosnik  <bkoz@redhat.com>
4387
4388         * doc/xml/images/confdeps.png: Regenerate.
4389
4390         * include/std/chrono (duration): Mark copy constructor constexpr.
4391         * testsuite/20_util/duration/cons/constexpr.cc: Add test.
4392
4393 2011-01-18  Paolo Carlini  <paolo.carlini@oracle.com>
4394
4395         * include/bits/unique_ptr.h (default_delete<>::default_delete()):
4396         Declare defaulted per DR 1517.
4397         * testsuite/util/testsuite_common_types.h
4398         (constexpr_defaulted_default_constructible): Add.
4399         * testsuite/20_util/default_delete/cons/constexpr.cc: Use it.
4400
4401 2011-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
4402
4403         * include/bits/stl_queue.h (queue<>::swap, priority_queue<>::swap):
4404         Implement DR 1198.
4405         * include/bits/stl_stack.h (stack<>::swap): Likewise.
4406
4407 2011-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
4408
4409         PR libstdc++/47323
4410         * testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc:
4411         Only test wregex when _GLIBCXX_USE_WCHAR_T is defined.
4412
4413 2011-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
4414
4415         PR libstdc++/47320
4416         * testsuite/18_support/numeric_limits/lowest.cc:
4417         Only test wchar_t when _GLIBCXX_USE_WCHAR_T is defined.
4418
4419 2011-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
4420
4421         PR libstdc++/47321
4422         * testsuite/21_strings/basic_string/requirements/typedefs.cc:
4423         Only test std::wstring when _GLIBCXX_USE_WCHAR_T is defined.
4424
4425 2011-01-16  François Dumont  <francois.cppdevs@free.fr>
4426
4427         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc: Move
4428         to this. Use _neg suffix.
4429         * testsuite/23_containers/forward_list/debug/erase_after1.cc: ...from
4430         this.
4431         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
4432         Same.
4433         * testsuite/23_containers/forward_list/debug/erase_after2.cc: Same.
4434         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
4435         Same.
4436         * testsuite/23_containers/forward_list/debug/erase_after3.cc: Same.
4437         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
4438         Same.
4439         * testsuite/23_containers/forward_list/debug/erase_after4.cc: Same.
4440         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
4441         Same.
4442         * testsuite/23_containers/forward_list/debug/erase_after5.cc: Same.
4443         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
4444         Same.
4445         * testsuite/23_containers/forward_list/debug/erase_after6.cc: Same.
4446         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
4447         Same.
4448         * testsuite/23_containers/forward_list/debug/erase_after7.cc: Same.
4449         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
4450         Same.
4451         * testsuite/23_containers/forward_list/debug/erase_after8.cc: Same.
4452         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
4453         Same.
4454         * testsuite/23_containers/forward_list/debug/erase_after9.cc: Same.
4455         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
4456         Same.
4457         * testsuite/23_containers/forward_list/debug/insert_after1.cc: Same.
4458         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
4459         Same.
4460         * testsuite/23_containers/forward_list/debug/insert_after2.cc: Same.
4461         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
4462         Same.
4463         * testsuite/23_containers/forward_list/debug/insert_after3.cc: Same.
4464         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
4465         Same.
4466         * testsuite/23_containers/forward_list/debug/splice_after1.cc: Same.
4467         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
4468         Same.
4469         * testsuite/23_containers/forward_list/debug/splice_after2.cc: Same.
4470         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
4471         Same.
4472         * testsuite/23_containers/forward_list/debug/splice_after3.cc: Same.
4473         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
4474         Same.
4475         * testsuite/23_containers/forward_list/debug/splice_after4.cc: Same.
4476
4477 2011-01-14  Benjamin Kosnik  <bkoz@redhat.com>
4478
4479         PR libstdc++/36104
4480         * include/Makefile.am (bits_sup_headers, stamp-bits-sup): New.
4481         * include/Makefile.in: Regenerate.
4482         * libsupc++/Makefile.am (std_HEADERS, bits_HEADERS): New.
4483         (install-stdHEADERS, install-bitsHEADERS): New.
4484         * libsupc++/Makefile.in: Regenerate.
4485
4486         * include/bits/c++config: Update for inline namespaces.
4487         * libsupc++/cxxabi-forced.h: To...
4488         * libsupc++/cxxabi_forced.h: ...this.
4489         * libsupc++/hash_bytes.h: Separate file.
4490         * libsupc++/typeinfo: Use it.
4491         * libsupc++/exception: Adjust for bits subdirectory.
4492         * libsupc++/eh_aux_runtime.cc: Same.
4493         * libsupc++/eh_ptr.cc: Same.
4494         * libsupc++/new_op.cc: Same.
4495         * libsupc++/exception_defines.h: Same.
4496         * libsupc++/nested_exception.h: Same.
4497         * libsupc++/eh_terminate.cc: Same.
4498         * libsupc++/vec.cc: Same.
4499         * libsupc++/vterminate.cc: Same.
4500         * libsupc++/exception_ptr.h: Same.
4501         * libsupc++/eh_personality.cc: Same.
4502         * libsupc++/eh_call.cc: Same.
4503         * libsupc++/new_opnt.cc: Same.
4504         * libsupc++/hash_bytes.cc: Same.
4505         * config/cpu/arm/cxxabi_tweaks.h: Same.
4506         * config/cpu/generic/cxxabi_tweaks.h: Same.
4507         * libsupc++/cxxabi.h: Same. Consolidate _GLIBCXX_NOTHROW defines.
4508         * include/std/bitset: Same.
4509         * include/ext/vstring.tcc: Same.
4510         * include/bits/hashtable.h: Same.
4511         * include/bits/functional_hash.h: Same.
4512         * include/bits/hashtable_policy.h: Same.
4513         * include/bits/basic_string.h: Same.
4514         * include/bits/istream.tcc: Same.
4515         * include/bits/ostream.tcc: Same.
4516         * include/bits/algorithmfwd.h: Same.
4517         * include/bits/basic_string.tcc: Same.
4518         * include/bits/ostream_insert.h: Same.
4519         * include/bits/fstream.tcc: Same.
4520         * include/bits/functexcept.h: Same.
4521
4522         * doc/doxygen/user.cfg.in: Adjust names.
4523
4524         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
4525
4526 2011-01-14  Paolo Carlini  <paolo.carlini@oracle.com>
4527
4528         * testsuite/25_algorithms/is_permutation/check_type.cc: Minor
4529         tweaks.
4530         * testsuite/25_algorithms/is_permutation/1.cc: Cosmetic changes.
4531
4532 2011-01-13  Paolo Carlini  <paolo.carlini@oracle.com>
4533
4534         * testsuite/25_algorithms/is_permutation/check_type.cc: New.
4535         * testsuite/25_algorithms/is_permutation/requirements/
4536         explicit_instantiation/2.cc: Likewise.
4537         * testsuite/25_algorithms/is_permutation/requirements/
4538         explicit_instantiation/pod.cc: Likewise.
4539         * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
4540
4541 2011-01-13  John Lakos  <jlakos@bloomberg.net>
4542             Pablo Halpern  <phalpern@halpernwightsoftware.com>
4543             Paolo Carlini  <paolo.carlini@oracle.com>
4544
4545         * include/bits/stl_algo.h (is_permutation): Add, per N3068.
4546         * include/bits/algorithmfwd.h: Add.
4547
4548 2011-01-13  Jonathan Wakely  <jwakely.gcc@gmail.com>
4549
4550         PR libstdc++/47045
4551         * config/os/bsd/netbsd/ctype_base.h: Use new macros based on version.
4552
4553 2011-01-11  Paolo Carlini  <paolo.carlini@oracle.com>
4554
4555         * aclocal.m4: Regenerate.
4556
4557 2011-01-06  Paolo Carlini  <paolo.carlini@oracle.com>
4558
4559         PR libstdc++/47185
4560         * src/placeholders.cc: New.
4561         * src/Makefile.am: Adjust.
4562         * src/Makefile.in: Regenerate.
4563         * include/std/functional (placeholders::_1, _2, ..., _29): Declare
4564         extern.
4565         * config/abi/pre/gnu.ver: Export.
4566
4567 2011-01-05  François Dumont  <francois.cppdevs@free.fr>
4568
4569         * include/debug/safe_base.h (_Safe_iterator_base::_M_unlink): New.
4570         * include/src/debug.cc: Use latter
4571         * include/debug/forward_list (forward_list<>::_M_swap):  Fix to
4572         correctly handle before_begin iterators.
4573         * testsuite/23_containers/forward_list/debug/swap.cc: Remove now
4574         useless _GLIBCXX_DEBUG checks.
4575
4576 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
4577
4578         PR libstdc++/47145
4579         * configure.ac (AC_CHECK_FILE): Replaced by test -f.
4580         * configure: Regenerated.
4581
4582 2011-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
4583
4584         PR libstdc++/46922
4585         * config/abi/pre/gnu.ver: Export std::bad_function_call symbols.
4586
4587 \f
4588 Copyright (C) 2011 Free Software Foundation, Inc.
4589
4590 Copying and distribution of this file, with or without modification,
4591 are permitted in any medium without royalty provided the copyright
4592 notice and this notice are preserved.