OSDN Git Service

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