OSDN Git Service

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