OSDN Git Service

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