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