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