OSDN Git Service

7d898f63d4c8af8f966fd2ad6d76bbdbfbd78b85
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2010-03-23  Paolo Carlini  <paolo.carlini@oracle.com>
2
3         * testsuite/util/testsuite_tr1.h (NType, TType, SLType, PODType): Add.
4         * testsuite/20_util/is_trivial/value.cc: Adjust.
5         * testsuite/20_util/is_standard_layout/value.cc: Likewise.
6         * testsuite/20_util/is_pod/value.cc: Likewise.
7
8 2010-03-23  Paolo Carlini  <paolo.carlini@oracle.com>
9
10         * testsuite/20_util/is_trivial/value.cc: New.
11         * testsuite/20_util/is_standard_layout/value.cc: Likewise.
12         * testsuite/20_util/is_pod/value.cc: Extend.
13
14 2010-03-23  Paolo Carlini  <paolo.carlini@oracle.com>
15
16         * include/bits/stl_algobase.h (lower_bound(_ForwardIterator,
17         _ForwardIterator, const _Tp&, _Compare)): Move...
18         * include/bits/stl_algo.h: ... here.
19
20 2010-03-22  Johannes Singler  <singler@kit.edu>
21
22         * include/parallel/numeric (inner_product, partial_sum):
23         Precede subsequent call with _GLIBCXX_STD_P:: to avoid ambiguity
24         between __gnu_parallel:: and std::
25         * include/parallel/algobase.h (equal): Likewise.
26         * include/parallel/algo.h (find_first_of, search_n, merge, nth_element,
27         partial_sort, max_element, min_element): Likewise.
28         * include/parallel/partial_sum.h (__parallel_partial_sum_linear):
29         Qualify accumulate call with __gnu_parallel::.
30
31 2010-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
32
33         * include/parallel/base.h (_PseudoSequence): Do not forward declare.
34         (_VoidFunctor): Remove, unused.
35         (__median_of_three_iterators): Take __comp by value.
36         (_PseudoSequenceIterator<>::operator++(int)): Do not const qualify
37         the return type.
38         (_PseudoSequenceIterator<>::operator!=): Fix return type to bool.
39
40 2010-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
41
42         * include/parallel/base.h (_Less): Use std::less.
43         (_Plus): Likewise use std::plus.
44         (_Multiplies): Likewise use std::multiplies.
45         * include/parallel/numeric: Adjust.
46
47 2010-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
48
49         * testsuite/17_intro/freestanding.cc: Avoid -Wall warnings.
50
51 2010-03-19  Rodolfo Lima  <rodolfo@rodsoft.org>
52
53         * include/bits/shared_ptr.h (shared_ptr(unique_ptr&&),
54         shared_ptr(auto_ptr&&)): Remove explicit specifier (as per DR 925).
55         * include/bits/shared_ptr_base.h: Likewise.
56         * testsuite/20_util/shared_ptr/creation/dr925.cc: New.
57
58 2010-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
59
60         * include/bits/random.tcc: Minor formatting changes.
61
62 2010-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
63
64         * include/bits/stl_algo.h (shuffle): Fix typo in signature.
65         * include/bits/algorithmfwd.h: Adjust.
66         * testsuite/25_algorithms/shuffle/requirements/
67         explicit_instantiation/2.cc: Likewise.
68         * testsuite/25_algorithms/shuffle/requirements/
69         explicit_instantiation/pod.cc: Likewise.
70
71 2010-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
72
73         * include/bits/stl_algo.h (shuffle): Add, per D3056.
74         (random_shuffle): Fix signature in C++0x mode.
75         (lower_bound, __lg): Move...
76         * include/bits/stl_algobase.h: ... here.
77         * include/bits/algorithmfwd.h: Adjust.
78         * include/parallel/algorithmfwd.h: Likewise.
79         * include/parallel/algo.h: Likewise.
80         * include/bits/hashtable_policy.h (__lower_bound): Remove,
81         adjust callers.
82         * include/tr1/hashtable_policy.h (__lower_bound): Likewise.
83         * include/bits/random.tcc (__detail::__transform): Add,
84         adjust std::transform callers; don't include <algorithm>.
85         * testsuite/25_algorithms/shuffle/1.cc: Add.
86         * testsuite/25_algorithms/shuffle/requirements/
87         explicit_instantiation/2.cc: Likewise.
88         * testsuite/25_algorithms/shuffle/requirements/
89         explicit_instantiation/pod.cc: Likewise.
90
91         * include/bits/random.h: Add comments.
92
93 2010-03-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
94
95         * doc/xml/manual/debug_mode.xml: Correct debug headers.
96
97 2010-03-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
98
99         PR libstdc++/43397
100         * include/std/functional (_Mem_fn): Use perfect forwarding.
101         * testsuite/20_util/function/43397.cc: New.
102
103 2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>
104
105         PR libstdc++/43394
106         * include/parallel/compatibility.h: Add __k8 and __core2 among the
107         i386 targets supporting atomic operations.
108
109 2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>
110
111         * include/backward/hash_map: Use consistently the _BACKWARD_*
112         prefix for the include guard.
113         * include/backward/hash_fun.h: Likewise.
114         * include/backward/hashtable.h: Likewise.
115         * include/backward/auto_ptr.h: Likewise.
116         * include/backward/strstream: Likewise.
117         * include/backward/binders.h: Likewise.
118         * include/backward/hash_set: Likewise.
119
120 2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>
121
122         * include/bits/random.h (operator==(const uniform_int_distribution<>&,
123         const uniform_int_distribution<>&), operator==(const
124         uniform_real_distribution<>&, const uniform_real_distribution<>&),
125         operator==(const lognormal_distribution<>&,
126         const lognormal_distribution<>&), operator==(const
127         chi_squared_distribution<>&, const chi_squared_distribution<>&),
128         operator==(const cauchy_distribution<>&, const cauchy_distribution<>&),
129         operator==(const fisher_distribution<>&, const fisher_distribution<>&),
130         operator==(const student_t_distribution<>&,
131         const student_t_distribution<>&), operator==(const
132         bernoulli_distribution<>&, const bernoulli_distribution<>&),
133         operator==(const binomial_distribution<>&, const
134         binomial_distribution<>&), operator==(const geometric_distribution<>&,
135         const geometric_distribution<>&), operator==(const
136         negative_binomial_distribution<>&, const
137         negative_binomial_distribution<>&), operator==(const
138         poisson_distribution<>&, const poisson_distribution<>&),
139         operator==(const exponential_distribution<>&,
140         const exponential_distribution<>&), operator==(const
141         gamma_distribution<>&, const gamma_distribution<>&), operator==(const
142         weibull_distribution<>&, const weibull_distribution<>&),
143         operator==(const extreme_value_distribution<>&,
144         const extreme_value_distribution<>&), operator==(const
145         discrete_distribution<>&, const discrete_distribution<>&),
146         operator==(const piecewise_constant_distribution<>&,
147         const piecewise_constant_distribution<>&), operator==(const
148         piecewise_linear_distribution<>&, const
149         piecewise_linear_distribution<>&)): Add, likewise for operator!=.
150         (operator!=(const independent_bits_engine<>&, const
151         independent_bits_engine<>&), operator!=(const
152         subtract_with_carry_engine<>&, const subtract_with_carry_engine<>&),
153         operator!=(const discard_block_engine<>&, const
154         discard_block_engine<>&), operator!=(const mersenne_twister_engine<>&,
155         const mersenne_twister_engine<>&), operator!=(const
156         linear_congruential_engine<>&, const linear_congruential_engine<>&),
157         operator!=(const shuffle_order_engine<>&, const
158         shuffle_order_engine<>&): Add.
159         * include/bits/random.tcc (operator==(const normal_distribution<>&,
160         const normal_distribution<>&)): Add.
161         * testsuite/26_numerics/random/uniform_real_distribution/operators/
162         inequal.cc: New.
163         * testsuite/26_numerics/random/uniform_real_distribution/operators/
164         equal.cc: Likewise.
165         * testsuite/26_numerics/random/piecewise_constant_distribution/
166         operators/inequal.cc: Likewise.
167         * testsuite/26_numerics/random/piecewise_constant_distribution/
168         operators/equal.cc: Likewise.
169         * testsuite/26_numerics/random/chi_squared_distribution/operators/
170         inequal.cc: Likewise.
171         * testsuite/26_numerics/random/chi_squared_distribution/operators/
172         equal.cc: Likewise.
173         * testsuite/26_numerics/random/normal_distribution/operators/
174         inequal.cc: Likewise.
175         * testsuite/26_numerics/random/normal_distribution/operators/
176         equal.cc: Likewise.
177         * testsuite/26_numerics/random/uniform_int_distribution/operators/
178         inequal.cc: Likewise.
179         * testsuite/26_numerics/random/uniform_int_distribution/operators/
180         equal.cc: Likewise.
181         * testsuite/26_numerics/random/poisson_distribution/operators/
182         inequal.cc: Likewise.
183         * testsuite/26_numerics/random/poisson_distribution/operators/
184         equal.cc: Likewise.
185         * testsuite/26_numerics/random/bernoulli_distribution/operators/
186         inequal.cc: Likewise.
187         * testsuite/26_numerics/random/bernoulli_distribution/operators/
188         equal.cc: Likewise.
189         * testsuite/26_numerics/random/discrete_distribution/operators/
190         inequal.cc: Likewise.
191         * testsuite/26_numerics/random/discrete_distribution/operators/
192         equal.cc: Likewise.
193         * testsuite/26_numerics/random/weibull_distribution/operators/
194         inequal.cc: Likewise.
195         * testsuite/26_numerics/random/weibull_distribution/operators/
196         equal.cc: Likewise.
197         * testsuite/26_numerics/random/independent_bits_engine/operators/
198         inequal.cc: Likewise.
199         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
200         inequal.cc: Likewise.
201         * testsuite/26_numerics/random/discard_block_engine/operators/
202         inequal.cc: Likewise.
203         * testsuite/26_numerics/random/cauchy_distribution/operators/
204         inequal.cc: Likewise.
205         * testsuite/26_numerics/random/cauchy_distribution/operators/
206         equal.cc: Likewise.
207         * testsuite/26_numerics/random/negative_binomial_distribution/
208         operators/inequal.cc: Likewise.
209         * testsuite/26_numerics/random/negative_binomial_distribution/
210         operators/equal.cc: Likewise.
211         * testsuite/26_numerics/random/gamma_distribution/operators/
212         inequal.cc: Likewise.
213         * testsuite/26_numerics/random/gamma_distribution/operators/
214         equal.cc: Likewise.
215         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
216         inequal.cc: Likewise.
217         * testsuite/26_numerics/random/fisher_f_distribution/operators/
218         inequal.cc: Likewise.
219         * testsuite/26_numerics/random/fisher_f_distribution/operators/
220         equal.cc: Likewise.
221         * testsuite/26_numerics/random/exponential_distribution/operators/
222         inequal.cc: Likewise.
223         * testsuite/26_numerics/random/exponential_distribution/operators/
224         equal.cc: Likewise.
225         * testsuite/26_numerics/random/binomial_distribution/operators/
226         inequal.cc: Likewise.
227         * testsuite/26_numerics/random/binomial_distribution/operators/
228         equal.cc: Likewise.
229         * testsuite/26_numerics/random/lognormal_distribution/operators/
230         inequal.cc: Likewise.
231         * testsuite/26_numerics/random/lognormal_distribution/operators/
232         equal.cc: Likewise.
233         * testsuite/26_numerics/random/extreme_value_distribution/operators/
234         inequal.cc: Likewise.
235         * testsuite/26_numerics/random/extreme_value_distribution/operators/
236         equal.cc: Likewise.
237         * testsuite/26_numerics/random/piecewise_linear_distribution/
238         operators/inequal.cc: Likewise.
239         * testsuite/26_numerics/random/piecewise_linear_distribution/
240         operators/equal.cc: Likewise.
241         * testsuite/26_numerics/random/student_t_distribution/operators/
242         inequal.cc: Likewise.
243         * testsuite/26_numerics/random/student_t_distribution/operators/
244         equal.cc: Likewise.
245         * testsuite/26_numerics/random/linear_congruential_engine/operators/
246         inequal.cc: Likewise.
247         * testsuite/26_numerics/random/shuffle_order_engine/operators/
248         inequal.cc: Likewise.
249         * testsuite/26_numerics/random/geometric_distribution/operators/
250         inequal.cc: Likewise.
251         * testsuite/26_numerics/random/geometric_distribution/operators/
252         equal.cc: Likewise.
253
254 2010-03-15  Paolo Carlini  <paolo.carlini@oracle.com>
255
256         * include/bits/forward_list.tcc (_Fwd_list_node_base::
257         _M_transfer_after): Return _Fwd_list_node_base*.
258         (forward_list<>::_M_splice_after): Add.
259         (forward_list<>::insert_after(const_iterator, size_type, const _Tp&),
260         insert_after(const_iterator, _InputIterator, _InputIterator),
261         insert_after(const_iterator, initializer_list<>)): Use the above,
262         implement DR 1278 ([Ready] in Pittsburgh).
263         * include/bits/forward_list.h (insert_after(const_iterator,
264         size_type, const _Tp&), insert_after(const_iterator, _InputIterator,
265         _InputIterator), insert_after(const_iterator, initializer_list<>)):
266         Only declare.
267         * testsuite/23_containers/forward_list/modifiers/2.cc: Adjust.
268         * testsuite/23_containers/forward_list/requirements/dr438/
269         assign_neg.cc: Adjust dg-error line number.
270         * testsuite/23_containers/forward_list/requirements/dr438/
271         insert_neg.cc: Likewise.
272         * testsuite/23_containers/forward_list/requirements/dr438/
273         constructor_1_neg.cc: Likewise.
274         * testsuite/23_containers/forward_list/requirements/dr438/
275         constructor_2_neg.cc: Likewise.
276
277 2010-03-15  Paolo Carlini  <paolo.carlini@oracle.com>
278
279         * testsuite/23_containers/forward_list/requirements/dr438/
280         assign_neg.cc: Adjust dg-error line number.
281         * testsuite/23_containers/forward_list/requirements/dr438/
282         constructor_1_neg.cc: Likewise.
283         * testsuite/23_containers/forward_list/requirements/dr438/
284         constructor_2_neg.cc: Likewise.
285         * testsuite/23_containers/forward_list/requirements/dr438/
286         insert_neg.cc: Likewise.
287         * testsuite/23_containers/forward_list/capacity/1.cc: Adjust.
288
289         Revert:
290         2008-11-11  Bob Walters  <bob.s.walters@gmail.com>
291
292         * include/bits/forward_list.h: Support non-standard pointer types
293         (_Fwd_list_node_base): Add _Alloc template parameter.
294         (_Fwd_list_node<>): Likewise.
295         (_Fwd_list_iterator<>): Likewise.
296         (_Fwd_list_const_iterator<>): Likewise.
297         (_Fwd_list_node_base::_M_next, _M_transfer_after, _M_reverse_after):
298         Use _Alloc<_Tp>::pointer.
299         (_Fwd_list_iterator<>::_M_node): Use _Node_base::_Pointer.
300         (_Fwd_list_base<>::_M_get_node, _M_create_node, _M_create_node,
301         _M_insert_after, _M_put_node, _M_erase_after): Likewise.
302         (_Fwd_list_const_iterator<>::_M_node): use _Node_base::_Const_pointer.
303         (forward_list<>): Use __static_pointer_cast in place of static_cast,
304         and __const_pointer_cast in place of const_cast.
305         * include/bits/forward_list.tcc
306         (_Fwd_list_node<>::_M_sort_after): Using _Pointer typedefs in place
307         of standard pointers, __static_pointer_cast in place of static_cast.
308         (_Fwd_list_base<>::_Fwd_list_base, _M_insert_after, _M_erase_after):
309         Likewise.
310         (forward_list<>::_M_initialize_dispatch, _M_fill_initialize,
311         splice_after, remove, remove_if, merge): Likewise.
312         * testsuite/23_containers/forward_list/ext_pointer/modifiers/1.cc: New.
313         * testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
314         Likewise.
315         * testsuite/23_containers/forward_list/ext_pointer/modifiers/3.cc:
316         Likewise.
317         * testsuite/23_containers/forward_list/ext_pointer/modifiers/4.cc:
318         Likewise.
319         * testsuite/23_containers/forward_list/ext_pointer/modifiers/5.cc:
320         Likewise.
321         * testsuite/23_containers/forward_list/ext_pointer/operations/1.cc:
322         Likewise.
323         * testsuite/23_containers/forward_list/ext_pointer/operations/2.cc:
324         Likewise.
325         * testsuite/23_containers/forward_list/ext_pointer/operations/3.cc:
326         Likewise.
327         * testsuite/23_containers/forward_list/ext_pointer/operations/4.cc:
328         Likewise.
329         * testsuite/23_containers/forward_list/ext_pointer/operations/5.cc:
330         Likewise.
331         * testsuite/23_containers/forward_list/ext_pointer/operations/6.cc:
332         Likewise.
333         * testsuite/23_containers/forward_list/ext_pointer/operations/7.cc:
334         Likewise.
335         * testsuite/23_containers/forward_list/ext_pointer/requirements/1.cc:
336         Likewise.
337         * testsuite/23_containers/forward_list/ext_pointer/requirements/
338         explicit_instantiation/1.cc: Likewise.
339         * testsuite/23_containers/forward_list/ext_pointer/requirements/
340         explicit_instantiation/3.cc: Likewise.
341         * testsuite/23_containers/forward_list/ext_pointer/1.cc: Likewise.
342
343 2010-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
344
345         * include/tr1_impl/array (swap(array<>&, array<>&)): Use member swap.
346
347         * include/bits/stl_algo.h: Improve comment.
348
349 2010-03-12  Benjamin Kosnik  <bkoz@redhat.com>
350
351         * scripts/run_doxygen: Adjust.
352         * doc/doxygen/user.cfg.in: Adjust latex, xml prefs.
353         * doc/xml/api.xml: Update.
354         * doc/Makefile.am: Re-do stamp rules.
355         * doc/Makefile.in: Regenerate.
356
357 2010-03-10  Paolo Carlini  <paolo.carlini@oracle.com>
358
359         * include/bits/hashtable_policy.h (_Rehash_base<_Prime_rehash_policy,
360         _Hashtable>::reserve): Add, per DR 1189.
361         * include/bits/hashtable.h (_Hashtable<>::size_type,
362         _Hashtable<>::difference_type): Do not typedef from _Allocator.
363         * testsuite/23_containers/unordered_map/dr1189.cc: New.
364         * testsuite/23_containers/unordered_set/dr1189.cc: Likewise.
365         * testsuite/23_containers/unordered_multimap/dr1189.cc: Likewise.
366         * testsuite/23_containers/unordered_multiset/dr1189.cc: Likewise.
367
368 2010-03-08  Paolo Carlini  <paolo.carlini@oracle.com>
369
370         Revert:
371         2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
372
373         PR libstdc++/41975, DR 579
374         * include/bits/hashtable.h (_Hashtable<>::_M_erase_node): Remove.
375         (erase(const_iterator), erase(const_iterator, const_iterator)):
376         Change return type to void.
377         * include/debug/unordered_map: Adjust.
378         * include/debug/unordered_set: Likewise.
379         * testsuite/util/exception/safety.h: Likewise.
380         * testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
381         * testsuite/23_containers/unordered_map/erase/24061-map.cc: Likewise.
382         * testsuite/23_containers/unordered_set/erase/1.cc:  Likewise.
383         * testsuite/23_containers/unordered_set/erase/24061-map.cc: Likewise.
384         * testsuite/23_containers/unordered_multimap/erase/1.cc:  Likewise.
385         * testsuite/23_containers/unordered_multimap/erase/24061-map.cc:
386         Likewise.
387         * testsuite/23_containers/unordered_multiset/erase/1.cc:  Likewise.
388         * testsuite/23_containers/unordered_multiset/erase/24061-map.cc:
389         Likewise.
390
391 2010-03-04  Paolo Carlini  <paolo.carlini@oracle.com>
392
393         * testsuite/util/testsuite_container_traits.h (traits_base): Add
394         has_throwing_erase trait.
395         (traits<vector>, traits<deque>): Typedef the latter to true_type.
396         * testsuite/util/exception/safety.h (generation_prohibited):
397         Do not test vector::erase and deque::erase: can throw if
398         either copy constructor or assignment operator of value_type
399         throws.
400         * testsuite/23_containers/vector/requirements/exception/
401         generation_prohibited.cc: Remove xfail.
402         * testsuite/23_containers/deque/requirements/exception/
403         generation_prohibited.cc: Likewise.
404
405         * include/ext/throw_allocator.h (hash<__gnu_cxx::throw_value_limit>::
406         operator(), hash<__gnu_cxx::throw_value_random>::operator()): Pass
407         argument by const ref.
408
409         * testsuite/util/testsuite_container_traits.h (traits<map>,
410         traits<multimap>, traits<set>, traits<multiset>,
411         traits<unordered_map>, traits<unordered_multimap>,
412         traits<unordered_set>, traits<unordered_multiset>): Typedef
413         consistently has_erase and has_insert as true_type.
414
415         * testsuite/util/testsuite_container_traits.h
416         (traits<unordered_map>, traits<unordered_multimap>,
417         traits<unordered_set>, traits<unordered_multiset>): Do not wrongly
418         typedef has_size_type_constructor as true_type: the constructor
419         accepting a size_type actually gets the initial number of
420         buckets.
421
422 2010-03-03  Benjamin Kosnik  <bkoz@redhat.com>
423
424         * doc/Makefile.am: Re-organize xml sources.
425         (doc-latex-doxygen): New.
426         (doc-pdf-doxygen): New.
427         (stamp-xml-doxygen, stamp-latex-doxygen): New.
428         * doc/Makefile.in: Regenerate.
429         * doc/doxygen/user.cfg.in: Add support here.
430         * doc/xml/manual/appendix_contributing.xml: Add specifics.
431
432         * doc/xml/manual/concurrency.xml: New.
433         * doc/xml/manual/atomics.xml: New.
434         * doc/xml/manual/spine.xml: Adjust.
435         * doc/xml/manual/diagnostics.xml: Adjust.
436
437 2010-03-03  Paolo Carlini  <paolo.carlini@oracle.com>
438             Jonathan Wakely  <jwakely.gcc@gmail.com>
439
440         * include/bits/unique_ptr.h (unique_ptr<>::get_deleter): Simplify
441         return type.
442         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust
443         dg-error line number.
444         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Likewise.
445
446 2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>
447
448         * include/debug/bitset (hash): Minor tweaks.
449         * include/debug/vector (hash): Likewise.
450         * include/profile/bitset (hash): Likewise.
451         * include/profile/vector (hash): Likewise.
452
453 2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>
454
455         * include/bits/functional_hash.h (_Fnv_hash_base<>::hash): Change
456         to template.
457         * include/tr1/functional_hash.h (_Fnv_hash_base<>::hash): Likewise.
458         * include/bits/vector.tcc (hash): Adjust.
459         * include/bits/basic_string.h (hash): Likewise.
460         * include/std/bitset (hash): Likewise.
461         * src/hash-string-aux.cc (hash): Likewise.
462
463 2010-03-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
464
465         * include/std/mutex (lock_guard::lock_guard): Do not lock mutex when
466         adopt_lock_t constructor is used.
467         * testsuite/30_threads/lock_guard/cons/1.cc: New.
468
469 2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>
470
471         * include/bits/stl_bvector.h (hash<vector<bool, _Alloc>>::
472         operator()(const vector<bool, _Alloc>&)): Move definition...
473         * include/bits/vector.tcc: ... here.
474
475 2010-03-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
476
477         * testsuite/Makefile.am (check-DEJAGNU): Include de* in normal0
478         dirs.
479         * testsuite/Makefile.in: Regenerate.
480
481 2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>
482
483         * include/bits/stl_bvector.h (hash<vector<bool, _Alloc>>): Add.
484         * include/debug/vector (hash<__debug::vector<bool, _Alloc>>):
485         Likewise.
486         * include/profile/vector (hash<__profile::vector<bool, _Alloc>>):
487         Likewise.
488         * testsuite/23_containers/vector/bool/hash/1.cc: New.
489
490         * include/std/bitset (hash<bitset<_Nb>>): Small tweaks.
491         (hash<bitset<0>>): Add.
492         * include/debug/bitset (hash<__debug::bitset<_Nb>>): Forward to
493         hash<bitset<_Nb>>.
494         * include/profile/bitset (hash<__profile::bitset<_Nb>>): Likewise.
495         * testsuite/23_containers/bitset/hash/1.cc: Improve.
496
497 2010-03-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
498
499         PR libstdc++/43230
500         * testsuite/30_threads/promise/members/set_value3.cc
501         (tester::~tester): Remove.
502
503 2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>
504
505         * include/std/bitset (_Base_bitset<>::_M_getdata()): Add.
506         (hash<bitset<_Nb>>): Add, use the latter.
507         * include/debug/bitset (hash<__debug::bitset<_Nb>>): Add.
508         * include/profile/bitset (hash<__profile::bitset<_Nb>>): Likewise.
509         * testsuite/23_containers/bitset/hash/1.cc: New.
510
511 2010-03-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
512
513         PR libstdc++/43183
514         * include/bits/unique_ptr.h (reset): Fix as per working paper.
515         (operator*, operator->, operator[], operator bool, release): Use
516         pointer's null value instead of 0.
517         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Adjust.
518         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust.
519         * testsuite/20_util/unique_ptr/modifiers/43183.cc: New.
520
521 2010-03-01  Paolo Carlini  <paolo.carlini@oracle.com>
522
523         * include/std/iomanip (get_money, put_money): Add in C++0x mode; tidy.
524         * testsuite/27_io/manipulators/extended/get_money/char/1.cc: New.
525         * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
526         Likewise.
527         * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
528         * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
529         Likewise.
530
531 2010-03-01  Benjamin Kosnik  <bkoz@redhat.com>
532
533         * include/bits/atomicfwd_cxx.h: Add typedefs to group.
534
535 2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
536
537         PR libstdc++/32499
538         * testsuite/Makefile.am (check-DEJAGNU
539         $(check_DEJAGNU_normal_targets)): Export AR, RANLIB.
540         * testsuite/Makefile.in: Regenerate.
541
542 2010-02-28  Gerald Pfeifer  <gerald@pfeifer.com>
543
544         * doc/html/ext/pb_ds/references.html: Adjust link to SGI's STL
545         site.
546
547 2010-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
548
549        * src/hash-long-double-aux.cc (hash<long double>::
550        operator()(long double)): Hash both -0 and +0 to 0.
551
552 2010-02-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
553
554         * include/bits/random.tcc (operator<<): Use max_digits10.
555
556 2010-02-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
557
558         * include/std/limits (__numeric_limits_base::max_digits10,
559         numeric_limits<>::max_digits10, numeric_limits<>::lowest): Add.
560         * src/limits.cc: Define max_digits10.
561         * config/abi/pre/gnu.ver: Adjust.
562         * testsuite/18_support/numeric_limits/dr559.cc: Test max_digits10
563         and lowest too.
564         * testsuite/18_support/numeric_limits/lowest.cc: New.
565         * testsuite/18_support/numeric_limits/max_digits10.cc: New.
566
567 2010-02-25  Paolo Carlini  <paolo.carlini@oracle.com>
568
569         * include/bits/functional_hash.h (__hash_combine): Remove.
570         (_Fnv_hash_base<>::hash(const char*, size_t)): Add defaulted
571         hash parameter.
572         (_Fnv_hash::__hash_combine(const _Tp&, size_t)): Add.
573         * include/std/system_error (hash<system_error>): Adjust.
574         * src/compatibility-c++0x.cc (hash<system_error>): Likewise.
575
576 2010-02-24  Benjamin Kosnik  <bkoz@redhat.com>
577
578         * doc/xml/faq.xml: Adjust structure for pdf index.
579         * doc/xml/manual/mt_allocator.xml: Same.
580         * doc/xml/manual/allocator.xml: Same.
581         * doc/xml/manual/ctype.xml: Same.
582         * doc/xml/manual/numerics.xml: Same.
583         * doc/xml/manual/codecvt.xml: Same.
584         * doc/xml/manual/intro.xml: Same.
585         * doc/xml/manual/shared_ptr.xml: Same.
586         * doc/xml/manual/status_cxxtr1.xml: Same.
587         * doc/xml/manual/auto_ptr.xml: Same.
588         * doc/xml/manual/internals.xml: Same.
589         * doc/xml/manual/status_cxx1998.xml: Same.
590         * doc/xml/manual/parallel_mode.xml: Same.
591         * doc/xml/manual/profile_mode.xml: Same.
592         * doc/xml/manual/containers.xml: Same.
593         * doc/xml/manual/io.xml: Same.
594         * doc/xml/manual/concurrency_extensions.xml: Same.
595         * doc/xml/manual/appendix_porting.xml: Same.
596         * doc/xml/manual/utilities.xml: Same.
597         * doc/xml/manual/support.xml: Same.
598         * doc/xml/manual/bitmap_allocator.xml: Same.
599         * doc/xml/manual/configure.xml: Same.
600         * doc/xml/manual/build_hacking.xml: Same.
601         * doc/xml/manual/evolution.xml: Same.
602         * doc/xml/manual/using.xml: Same.
603         * doc/xml/manual/debug.xml: Same.
604         * doc/xml/manual/localization.xml: Same.
605         * doc/xml/manual/strings.xml: Same.
606         * doc/xml/manual/debug_mode.xml: Same.
607         * doc/xml/manual/locale.xml: Same.
608         * doc/xml/manual/extensions.xml: Same.
609         * doc/xml/manual/appendix_contributing.xml: Same.
610         * doc/xml/manual/prerequisites.xml: Same.
611         * doc/xml/manual/messages.xml: Same.
612         * doc/xml/manual/diagnostics.xml: Same.
613         * doc/xml/manual/algorithms.xml: Same.
614         * doc/xml/manual/appendix_free.xml: Same.
615         * doc/xml/manual/iterators.xml: Same.
616         * doc/xml/manual/spine.xml: Same.
617         * doc/xml/manual/status_cxxtr24733.xml: Same.
618         * doc/xml/manual/status_cxx200x.xml: Same.
619         * doc/Makefile.am: Refactor.
620         * doc/Makefile.in: Regenerate.
621
622         * include/bits/c++0x_warning.h: Tweak doxygen file markup.
623
624 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
625
626         * testsuite/ext/new_allocator/deallocate_global.cc: Require
627         __cxa_atexit.
628         * testsuite/ext/throw_allocator/deallocate_global.cc: Likewise.
629
630 2010-02-23  Benjamin Kosnik  <bkoz@redhat.com>
631
632         * doc/xml/manual/concurrency.xml: Move...
633         * doc/xml/manual/concurrency_extensions.xml: ...here.
634         * doc/xml/manual/extensions.xml: Adjust.
635         * doc/Makefile.am: Adjust.
636         * doc/Makefile.in: Regenerate.
637
638 2010-02-23  Benjamin Kosnik  <bkoz@redhat.com>
639
640         * include/bits/random.h: Doxygen group markup fixes.
641
642 2010-02-23  Paolo Carlini  <paolo.carlini@oracle.com>
643
644         * include/bits/functional_hash.h (struct _Fnv_hash): Rename
645         to _Fnv_hash_base.
646         (struct _Fnv_hash): Add, derives from the latter.
647         (__hash_combine): Add.
648         (hash<float>::operator()(float), hash<double>::operator()(double)):
649         Adjust.
650         * include/bits/basic_string.h (hash<string>, hash<wstring>,
651         hash<u16string>, hash<u32string>): Adjust.
652         * src/hash-string-aux.cc: Adjust.
653         * src/compatibility-c++0x.cc (hash<error_code>): Use __hash_combine.
654         * include/std/system_error (hash<error_code>): Likewise.
655         * include/std/thread (struct hash<thread::id>): Add.
656         * include/tr1/functional_hash.h : Rename to _Fnv_hash_base.
657         (struct _Fnv_hash): Add, derives from the latter.
658         (hash<float>::operator()(float), hash<double>::operator()(double)):
659         Adjust.
660         * testsuite/30_threads/thread/id/hash.cc: New.
661         * testsuite/30_threads/thread/cons/assign_neg.cc: Adjust dg-error
662         line number.
663         * testsuite/30_threads/thread/cons/copy_neg.cc: Likewise.
664
665 2010-02-22  Janis Johnson  <janis187@us.ibm.com>
666
667         * src/compatibility-ldbl.cc: Include new hash-long-double-aux.cc.
668
669 2010-02-22  Paolo Carlini  <paolo.carlini@oracle.com>
670
671         * src/hash-aux.cc: Rename to...
672         * src/hash-string-aux.cc: ... this.
673         * src/hash-long-double-aux.cc: New.
674         * src/hash_c++0x.cc: Adjust.
675         * src/hash_tr1.cc: Likewise.
676         * src/compatibility-c++0x.cc: Likewise.
677
678 2010-02-22  Benjamin Kosnik  <bkoz@redhat.com>
679
680         * doc/xml/class.txml: Adjust biblio markup.
681         * doc/xml/manual/allocator.xml: Same.
682         * doc/xml/manual/ctype.xml: Same.
683         * doc/xml/manual/codecvt.xml: Same.
684         * doc/xml/manual/backwards_compatibility.xml: Same.
685         * doc/xml/manual/abi.xml: Same.
686         * doc/xml/manual/shared_ptr.xml: Same.
687         * doc/xml/manual/profile_mode.xml: Same.
688         * doc/xml/manual/using_exceptions.xml: Same.
689         * doc/xml/manual/locale.xml: Same.
690         * doc/xml/manual/appendix_contributing.xml: Same.
691         * doc/xml/manual/messages.xml: Same.
692         * doc/Makefile.am (DBLATEX_FLAGS): Adjust.
693         * doc/Makefile.in: Regenerate.
694
695 2010-02-22  François Dumont  <francois.cppdevs@free.fr>
696
697        * doc/xml/manual/profile_mode.xml: Minor updates and fixes.
698        * doc/xml/manual/debug_mode.xml: Likewise.
699        * doc/xml/manual/test.xml: Likewise.
700
701 2010-02-22  Paolo Carlini  <paolo.carlini@oracle.com>
702
703         * include/tr1_impl/complex (arg): Use std::signbit only when
704         available.
705
706 2010-02-22  Paolo Carlini  <paolo.carlini@oracle.com>
707
708         * include/bits/functional_hash.h (hash<string>, hash<wstring>,
709         hash<u16string>, hash<u32string>, hash<error_code>): Move, per
710         DR 1182 to...
711         * include/bits/basic_string.h: ... here.
712         * include/std/system_error: ... and here, respectively.
713         * src/hash-aux.cc (hash<long double>::operator()(long double)):
714         Move definition...
715         * src/hash_c++0x.cc: ... here, new file.
716         * src/hash_tr1.cc: ... and here, tweak includes.
717         * src/compatibility-c++0x.cc (hash, _Fnv_hash): Remove.
718         * src/Makefile.am: Adjust.
719         * src/Makefile.in: Regenerate.
720         * include/std/functional: Include <bits/functexcept.h>.
721         * include/std/unordered_set: Remove redundant include.
722         * include/std/unordered_map: Likewise.
723         * include/tr1/functional_hash.h: Remove spurious trailing semicolon.
724         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Remove
725         dg-excess.
726
727 2010-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
728
729         * include/std/complex (proj): Change return type per DR 1137.
730         (conj): Copy from tr1_impl, likewise adjust return type.
731         * include/tr1_impl/complex (conj): Remove.
732         * include/tr1/complex (conj): Add both overloads.
733         * testsuite/26_numerics/complex/dr781.cc: Rename to...
734         * testsuite/26_numerics/complex/dr781_dr1137.cc: ... this, and extend.
735
736         * include/tr1_impl/complex (arg): Optimize.
737
738 2010-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
739
740         * testsuite/20_util/is_trivial/requirements/typedefs.cc: New.
741         * testsuite/20_util/is_trivial/requirements/
742         explicit_instantiation.cc: Likewise.
743         * testsuite/20_util/is_pod/value.cc: Likewise.
744         * testsuite/20_util/is_pod/requirements/typedefs.cc: Likewise.
745         * testsuite/20_util/is_pod/requirements/
746         explicit_instantiation.cc: Likewise.
747         * testsuite/20_util/is_standard_layout/requiremenents/
748         typedefs.cc: Likewise.
749         * testsuite/20_util/is_standard_layout/requiremenents/
750         explicit_instantiation.cc: Likewise.
751
752 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
753
754         PR c++/35669
755         * testsuite/18_support/headers/cstddef/macros.cc: Add
756         -Wno-conversion-null.
757
758 2010-02-19  Paolo Carlini  <paolo.carlini@oracle.com>
759
760         * include/tr1_impl/array (array): Add pointer and const_pointer
761         typedefs in C++0x mode, per DR 1306.
762         * testsuite/util/testsuite_containers.h (basic_types): Add pointer
763         and const_pointer typedefs.
764         (pointer_aware_types): Remove.
765         * testsuite/util/testsuite_container_traits.h: Adjust.
766
767 2010-02-19  Paolo Carlini  <paolo.carlini@oracle.com>
768
769         * include/bits/stl_algo.h (for_each): Implement resolution of DR 1110.
770         * testsuite/25_algorithms/for_each/1.cc: New.
771
772 2010-02-19  Paolo Carlini  <paolo.carlini@oracle.com>
773
774         * include/bits/shared_ptr_base.h (__weak_ptr): Remove deleted
775         comparison operators, per DR 1256.
776         * include/bits/shared_ptr.h (weak_ptr): Likewise.
777         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust.
778
779 2010-02-18  Benjamin Kosnik  <bkoz@redhat.com>
780
781         * scripts/run_doxygen: Add shortnames option.
782         * doc/Makefile.am (doc-man-doxygen): Use it.
783         (doc-html-doxygen): Use it.
784         (doc-xml-doxygen): Use it, but default to NO.
785         (doc-pdf-dblatex): Add.
786         * doc/Makefile.in: Regenerate.
787         * doc/doxygen/user.cfg.in: Update filelist.
788         * include/bits/locale_facets.h: Fix markup warning.
789
790 2010-02-18  Benjamin Kosnik  <bkoz@redhat.com>
791
792         * doc/xml/manual/using.xml: Update.
793         * doc/xml/manual/status_cxx1998.xml: Same.
794         * doc/xml/manual/status_cxx200x.xml: Add link.
795         * doc/html/*: Regenerate.
796
797         * testsuite/17_intro/freestanding.cc: Add.
798
799 2010-02-18  Paolo Carlini  <paolo.carlini@oracle.com>
800
801         * libsupc++/typeinfo: Add system_header pragma.
802         * libsupc++/exception: Likewise.
803         * libsupc++/cxxabi-forced.h: Likewise.
804         * libsupc++/new: Likewise.
805         * libsupc++/cxxabi.h: Likewise.
806         * libsupc++/initializer_list: Likewise.
807
808 2010-02-18  Paolo Carlini  <paolo.carlini@oracle.com>
809
810         * libsupc++/nested_exception.h: Fix <bits/c++0x_warning.h> include.
811
812 2010-02-17  Benjamin Kosnik  <bkoz@redhat.com>
813
814         * doc/xml/manual/appendix_contributing.xml: Update markup rules
815         for quoting and functions.
816
817 2010-02-17  Chris Jefferson  <chris@bubblescope.net>
818
819         * include/bits/locale_facets.h (__convert_to_v): Add empty
820         exception-specification.
821
822 2010-02-17  Paolo Carlini  <paolo.carlini@oracle.com>
823
824         * include/std/limits: Implement resolution of DR 559 (CD1) in
825         C++0x mode.
826         * testsuite/18_support/numeric_limits/dr559.cc: New.
827
828 2010-02-16  Benjamin Kosnik  <bkoz@redhat.com>
829
830         * src/ios_locale.cc: Fixes for -pedantic.
831         * src/system_error.cc: Same.
832         * src/locale.cc: Same.
833         * src/list.cc: Same.
834         * src/locale_facets.cc: Same.
835         * src/locale_init.cc: Same.
836         * src/ios.cc: Same.
837         * config/locale/darwin/ctype_members.cc: Same.
838         * config/locale/gnu/collate_members.cc: Same.
839         * config/locale/gnu/ctype_members.cc: Same.
840         * config/locale/gnu/c_locale.cc: Same.
841         * config/locale/gnu/monetary_members.cc: Same.
842         * config/locale/gnu/time_members.cc: Same.
843         * config/locale/ieee_1003.1-2001/c_locale.cc: Same.
844         * config/locale/generic/collate_members.cc: Same.
845         * config/locale/generic/ctype_members.cc: Same.
846         * config/locale/generic/c_locale.cc: Same.
847         * config/locale/generic/monetary_members.cc: Same.
848         * config/locale/generic/time_members.cc: Same.
849         * config/io/basic_file_stdio.cc: Same.
850
851         * libsupc++/pbase_type_info.cc: Fixes for -fno-rtti.
852         * libsupc++/pointer_type_info.cc: Same.
853         * libsupc++/eh_personality.cc: Same.
854
855         * include/std/system_error: Throw spacing.
856         * include/bits/locale_classes.h: Same.
857         * include/bits/locale_facets.h: Same.
858         * include/bits/ios_base.h: Same.
859
860         * testsuite/17_intro/headers/c++200x/all_no_rtti.cc: New.
861         * testsuite/17_intro/headers/c++1998/all_no_rtti.cc: New.
862
863 2010-02-16  Paolo Carlini  <paolo.carlini@oracle.com>
864
865         * include/bits/random.h (linear_congruential_engine(_Sseq&),
866         mersenne_twister_engine(_Sseq&), subtract_with_carry_engine(_Sseq&)):
867         Do not enable for the type itself.
868         (discard_block_engine(_Sseq&), independent_bits_engine(_Sseq&),
869         shuffle_order_engine(_Sseq&)): Do not enable for the type itself too.
870         (linear_congruential_engine<>::seed(_Sseq&),
871         mersenne_twister_engine<>::seed(_Sseq&),
872         subtract_with_carry_engine<>::seed(_Sseq&)): Use enable_if on the
873         return type.
874         (discard_block_engine<>::seed(_Sseq&),
875         independent_bits_engine<>::seed(_Sseq&),
876         shuffle_order_engine<>::seed(_Sseq&)): Do not use enable_if.
877         * include/bits/random.tcc: Adjust definitions.
878         * testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc:
879         New.
880         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
881         copy.cc: Likewise.
882         * testsuite/26_numerics/random/discard_block_engine/cons/
883         copy.cc: Likewise.
884         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
885         copy.cc: Likewise.
886         * testsuite/26_numerics/random/linear_congruential_engine/cons/
887         copy.cc: Likewise.
888         * testsuite/26_numerics/random/shuffle_order_engine/cons/
889         copy.cc: Likewise.
890
891         * testsuite/26_numerics/random/independent_bits_engine/cons/
892         base_move.cc: Minor tweaks.
893         * testsuite/26_numerics/random/independent_bits_engine/cons/seed1.cc:
894         Likewise.
895         * testsuite/26_numerics/random/independent_bits_engine/cons/seed2.cc:
896         Likewise.
897         * testsuite/26_numerics/random/independent_bits_engine/cons/
898         base_copy.cc: Likewise.
899         * testsuite/26_numerics/random/independent_bits_engine/cons/
900         default.cc: Likewise.
901         * testsuite/26_numerics/random/independent_bits_engine/cons/
902         seed_seq.cc: Likewise.
903         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
904         seed1.cc: Likewise.
905         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
906         seed2.cc: Likewise.
907         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
908         default.cc: Likewise.
909         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
910         seed_seq.cc: Likewise.
911         * testsuite/26_numerics/random/discard_block_engine/cons/base_move.cc:
912         Likewise.
913         * testsuite/26_numerics/random/discard_block_engine/cons/seed1.cc:
914         Likewise.
915         * testsuite/26_numerics/random/discard_block_engine/cons/seed2.cc:
916         Likewise.
917         * testsuite/26_numerics/random/discard_block_engine/cons/base_copy.cc:
918         Likewise.
919         * testsuite/26_numerics/random/discard_block_engine/cons/default.cc:
920         Likewise.
921         * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq.cc:
922         Likewise.
923         * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed1.cc:
924         Likewise.
925         * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed2.cc:
926         Likewise.
927         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
928         default.cc: Likewise.
929         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
930         seed_seq.cc: Likewise.
931         * testsuite/26_numerics/random/linear_congruential_engine/cons/
932         seed1.cc: Likewise.
933         * testsuite/26_numerics/random/linear_congruential_engine/cons/
934         seed2.cc: Likewise.
935         * testsuite/26_numerics/random/linear_congruential_engine/cons/
936         seed_seq.cc: Likewise.
937         * testsuite/26_numerics/random/shuffle_order_engine/cons/base_move.cc:
938         Likewise.
939         * testsuite/26_numerics/random/shuffle_order_engine/cons/seed1.cc:
940         Likewise.
941         * testsuite/26_numerics/random/shuffle_order_engine/cons/seed2.cc:
942         Likewise.
943         * testsuite/26_numerics/random/shuffle_order_engine/cons/base_copy.cc:
944         Likewise.
945         * testsuite/26_numerics/random/shuffle_order_engine/cons/default.cc:
946         Likewise.
947         * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq.cc:
948         Likewise.
949
950 2010-02-16  Paolo Carlini  <paolo.carlini@oracle.com>
951
952         * include/bits/unique_ptr.h: (unique_ptr<>::
953         unique_ptr(const unique_ptr<_Up, _Up_Deleter>&),
954         operator=(const unique_ptr<_Up, _Up_Deleter>&)): Remove, redundant,
955         per DR 1303.
956         * include/bits/shared_ptr.h (shared_ptr<>::
957         shared_ptr(const unique_ptr<_Up, _Up_Deleter>&),
958         operator=(const unique_ptr<_Up, _Up_Deleter>&)): Likewise.
959         * include/bits/shared_ptr_base.h (__shared_ptr<>::
960         __shared_ptr(const unique_ptr<_Up, _Up_Deleter>&),
961         operator=(const unique_ptr<_Up, _Up_Deleter>&)): Likewise.
962         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust.
963         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Likewise.
964         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
965         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
966         Likewise.
967
968 2010-02-15  Paolo Carlini  <paolo.carlini@oracle.com>
969
970         * testsuite/ext/median.cc: Adjust.
971
972 2010-02-15  Paolo Carlini  <paolo.carlini@oracle.com>
973
974         * include/bits/stl_algo.h (__median): Move...
975         * include/ext/algorithm: ... here, being an SGI extension.
976
977 2010-02-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
978             Paolo Carlini  <paolo.carlini@oracle.com>
979
980         PR libstdc++/42819, DR 1315
981         * include/std/future (async): Use std::result_of for the template
982         argument of the std::future return type; adjust everywhere.
983         * testsuite/30_threads/async/42819.cc: New.
984         * testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust
985         dg-error line number.
986         * testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise.
987         * testsuite/30_threads/future/cons/assign_neg.cc: Likewise.
988         * testsuite/30_threads/future/cons/copy_neg.cc: Likewise.
989         * testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
990         * testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
991
992 2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
993
994         * config/abi/pre/gnu.ver: Revert last changes.
995
996 2010-02-11  Jason Merrill  <jason@redhat.com>
997
998         * include/std/thread (~_Impl_base): Declare inline.
999         * libsupc++/nested_exception.h (~nested_exception): Likewise.
1000
1001 2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
1002
1003         PR libstdc++/41975, DR 579
1004         * include/bits/hashtable.h (_Hashtable<>::_M_erase_node): Remove.
1005         (erase(const_iterator), erase(const_iterator, const_iterator)):
1006         Change return type to void.
1007         * include/debug/unordered_map: Adjust.
1008         * include/debug/unordered_set: Likewise.
1009         * testsuite/util/exception/safety.h: Likewise.
1010         * testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
1011         * testsuite/23_containers/unordered_map/erase/24061-map.cc: Likewise.
1012         * testsuite/23_containers/unordered_set/erase/1.cc:  Likewise.
1013         * testsuite/23_containers/unordered_set/erase/24061-map.cc: Likewise.
1014         * testsuite/23_containers/unordered_multimap/erase/1.cc:  Likewise.
1015         * testsuite/23_containers/unordered_multimap/erase/24061-map.cc:
1016         Likewise.
1017         * testsuite/23_containers/unordered_multiset/erase/1.cc:  Likewise.
1018         * testsuite/23_containers/unordered_multiset/erase/24061-map.cc:
1019         Likewise.
1020
1021 2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
1022
1023         * config/abi/pre/gnu.ver: Avoid exporting inadvertently
1024         std::nested_exception symbols at GLIBCXX_3.4.
1025
1026 2010-02-10  Jason Merrill  <jason@redhat.com>
1027
1028         Core issue 906
1029         * include/std/thread (~_Impl_base): Move defaulted dtor out of line.
1030         * libsupc++/nested_exception.h (~nested_exception): Likewise.
1031         * testsuite/18_support/nested_exception/throw_with_nested.cc: Likewise.
1032         * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Likewise.
1033
1034 2010-02-10  Paolo Carlini  <paolo.carlini@oracle.com>
1035
1036         * include/tr1/hashtable.h: Fold in include/tr1_impl/hashtable.h
1037         contents.
1038         * include/tr1_impl/hashtable.h: Remove.
1039         * include/tr1_impl/hashtable_policy.h: Move and rename...
1040         * include/tr1/hashtable_policy.h: ... here.
1041         * include/tr1_impl/unordered_map: Move and rename...
1042         * include/tr1/unordered_map.h: ... here.
1043         * include/tr1_impl/unordered_set: Move and rename...
1044         * include/tr1/unordered_set.h: ... here.
1045         * include/tr1_impl/unordered_map: Move and rename...
1046         * include/tr1/unordered_map.h: ... here.
1047         * include/tr1/unordered_map: Adjust.
1048         * include/tr1/unordered_set: Likewise.
1049         * include/Makefile.am: Adjust.
1050         * include/Makefile.in: Regenerate.
1051
1052         * include/std/c++0x_warning.h: Move...
1053         * include/bits/c++0x_warning.h: ... here.
1054         * include/debug/unordered_map: Adjust.
1055         * include/debug/unordered_set: Likewise.
1056         * include/std/tuple: Likewise.
1057         * include/std/system_error: Likewise.
1058         * include/std/forward_list: Likewise.
1059         * include/std/thread: Likewise.
1060         * include/std/type_traits: Likewise.
1061         * include/std/future: Likewise.
1062         * include/std/regex: Likewise.
1063         * include/std/atomic: Likewise.
1064         * include/std/ratio: Likewise.
1065         * include/std/random: Likewise.
1066         * include/std/unordered_map: Likewise.
1067         * include/std/chrono: Likewise.: Likewise.
1068         * include/std/condition_variable: Likewise.
1069         * include/std/mutex: Likewise.
1070         * include/std/unordered_set: Likewise.
1071         * include/std/array: Likewise.
1072         * include/profile/unordered_map: Likewise.
1073         * include/profile/unordered_set: Likewise.
1074         * include/c_global/cinttypes: Likewise.
1075         * include/c_global/ctgmath: Likewise.
1076         * include/c_global/cfenv: Likewise.
1077         * include/c_global/cstdint: Likewise.
1078         * include/c_global/cstdbool: Likewise.
1079         * include/c_global/ccomplex: Likewise.
1080
1081         * include/bits/shared_ptr.h: Do not include <bits/c++0x_warning.h>
1082         at all, the file is not meant to be included by the users.
1083         * include/bits/functional_hash.h: Likewise.
1084         * include/bits/unique_ptr.h: Likewise.
1085         * include/bits/forward_list.h: Likewise.
1086
1087         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-*
1088         line numbers.
1089         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
1090         * testsuite/23_containers/forward_list/requirements/dr438/
1091         assign_neg.cc: Likewise.
1092         * testsuite/23_containers/forward_list/requirements/dr438/
1093         insert_neg.cc: Likewise.
1094         * testsuite/23_containers/forward_list/requirements/dr438/
1095         constructor_1_neg.cc: Likewise.
1096         * testsuite/23_containers/forward_list/requirements/dr438/
1097         constructor_2_neg.cc: Likewise.
1098         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Likewise.
1099         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Likewise.
1100
1101 2010-02-10  Paolo Carlini  <paolo.carlini@oracle.com>
1102
1103         * include/bits/hashtable.h: Fold in include/tr1_impl/hashtable.h
1104         for C++0x use.
1105         * include/bits/hashtable_policy.h: New, copy and adjust for
1106         C++0x use, include/tr1_impl/hashtable_policy.h; fix erase and
1107         insert member functions per n3000.
1108         * include/bits/unordered_map.h: Likewise for include/tr1_impl/
1109         unordered_map.
1110         * include/bits/unordered_set.h: Likewise for include/tr1_impl/
1111         unordered_set.
1112         * include/Makefile.am: Adjust.
1113         * include/Makefile.in: Regenerate.
1114         * include/tr1/unordered_map: Adjust.
1115         * include/tr1/unordered_set: Likewise.
1116         * include/tr1_impl/unordered_map: Adjust, now used only by tr1.
1117         * include/tr1_impl/hashtable: Likewise.
1118         * include/tr1_impl/hashtable_policy.h: Likewise.
1119         * include/tr1_impl/unordered_set: Likewise.
1120         * include/std/unordered_map: Adjust and simplify includes.
1121         * include/std/unordered_set: Likewise.
1122         * include/debug/unordered_map: Adjuse erase and insert members.
1123         * include/debug/unordered_set: Likewise.
1124         * include/profile/unordered_map: Likewise.
1125         * include/profile/unordered_set: Likewise.
1126         * testsuite/util/exception/safety.h: Fix for the updated erase and
1127         insert member functions of the unordered_containers.
1128         * testsuite/23_containers/unordered_map/erase/1.cc: New.
1129         * testsuite/23_containers/unordered_map/erase/24061-map.cc: Likewise.
1130         * testsuite/23_containers/unordered_map/insert/map_single.cc:
1131         Likewise.
1132         * testsuite/23_containers/unordered_map/insert/array_syntax.cc:
1133         Likewise.
1134         * testsuite/23_containers/unordered_map/insert/24061-map.cc: Likewise.
1135         * testsuite/23_containers/unordered_map/insert/map_range.cc: Likewise.
1136         * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
1137         * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
1138         * testsuite/23_containers/unordered_multimap/erase/
1139         24061-multimap.cc: Likewise.
1140         * testsuite/23_containers/unordered_multimap/insert/
1141         24061-multimap.cc: Likewise.
1142         * testsuite/23_containers/unordered_multimap/insert/
1143         multimap_range.cc: Likewise.
1144         * testsuite/23_containers/unordered_multimap/insert/
1145         multimap_single.cc: Likewise.
1146         * testsuite/23_containers/unordered_set/erase/1.cc: Likewise.
1147         * testsuite/23_containers/unordered_set/erase/24061-set.cc: Likewise.
1148         * testsuite/23_containers/unordered_set/insert/set_single.cc: Likewise.
1149         * testsuite/23_containers/unordered_set/insert/24061-set.cc: Likewise.
1150         * testsuite/23_containers/unordered_set/insert/set_range.cc: Likewise.
1151         * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
1152         * testsuite/23_containers/unordered_multiset/erase/
1153         24061-multiset.cc: Likewise.
1154         * testsuite/23_containers/unordered_multiset/insert/
1155         24061-multiset.cc: Likewise.
1156         * testsuite/23_containers/unordered_multiset/insert/
1157         multiset_range.cc: Likewise.
1158         * testsuite/23_containers/unordered_multiset/insert/
1159         multiset_single.cc: Likewise.
1160
1161         * testsuite/23_containers/set/operators/1_neg.cc: Tweak dg-errors
1162         to avoid spurious fails in debug-mode.
1163         * testsuite/23_containers/map/operators/1_neg.cc: Likewise.
1164
1165 2010-02-09  Benjamin Kosnik  <bkoz@redhat.com>
1166
1167         * include/std/streambuf: Adjust doxygen group markup.
1168         * include/std/functional: Same.
1169         * include/ext/vstring.h: Same.
1170         * include/ext/pb_ds/assoc_container.hpp: Same.
1171         * include/ext/stdio_filebuf.h: Same.
1172         * include/ext/stdio_sync_filebuf.h: Same.
1173         * include/bits/localefwd.h: Same.
1174         * include/bits/functional_hash.h: Same.
1175         * include/bits/locale_classes.h: Same.
1176         * include/bits/locale_facets.h: Same.
1177         * include/bits/ios_base.h: Same.
1178         * include/bits/codecvt.h: Same.
1179         * include/bits/locale_facets_nonio.h: Same.
1180
1181         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
1182         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
1183
1184 2010-02-08  Benjamin Kosnik  <bkoz@redhat.com>
1185
1186         PR libstdc++/42460
1187         * include/tr1_impl/regex: Fix quoting issues in doxygen markup.
1188         * include/bits/random.h: Fix multi-line doxygen function markup.
1189
1190 2010-02-08  Matthias Klose  <doko@debian.org>
1191
1192         PR libstdc++/42460
1193         * include/std/istream: Fix '\' quoting in doxygen markup.
1194
1195 2010-02-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
1196
1197         * include/bits/random.tcc (uniform_int_distribution<>::
1198         operator()(_UniformRandomNumberGenerator&, const param_type&)):
1199         Use make_unsigned instead of __add_unsigned and conditional
1200         instead of __conditional_type.
1201         * include/std/random: Do not include <ext/type_traits.h> and
1202         <ext/numeric_traits.h>.
1203
1204 2010-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
1205
1206         PR libstdc++/16896
1207         * include/bits/stl_list.h (_List_node_base::transfer): Rename
1208         to _M_transfer.
1209         (_List_node_base::reverse): Rename to _M_reverse.
1210         (_List_node_base::hook): Rename to _M_hook.
1211         (_List_node_base::unhook): Rename to _M_unhook; adjust callers.
1212         * include/bits/list.tcc: Adjust callers.
1213         * src/list.cc: Adjust.
1214         * src/compatibility.cc: Likewise.
1215         * src/compatibility-list.cc: New.
1216         * src/compatibility-debug_list.cc: Likewise.
1217         * src/compatibility-parallel_list.cc: Likewise.
1218         * src/Makefile.am: Add.
1219         * src/Makefile.in: Regenerate.
1220         * config/abi/pre/gnu.ver: Export _M_* symbols.
1221
1222         * src/hash.cc: Rename to hash-aux.cc.
1223         * src/compatibility-ldbl.cc: Adjust.
1224         * src/compatibility-c++0x.cc: Likewise.
1225         * src/hash_tr1.cc: Likewise.
1226
1227         * src/hashtable.cc: Rename to hashtable-aux.cc.
1228         * src/hashtable_c++0x.cc: Adjust.
1229         * src/hashtable_tr1.cc: Likewise.
1230
1231         * src/limits_c++0x.cc: Fold...
1232         * src/limits.cc... here.
1233
1234 2010-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
1235
1236         * include/bits/stl_pair.h (pair<>::pair(_U1&&, const _T2&),
1237         pair<>::pair(const _T1&, _U2&&), pair<>::pair(_U1&&, _U2&&)):
1238         Revert to std::is_convertible, basing on DR 811.
1239
1240 2010-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
1241
1242         PR libstdc++/42989
1243         * config/abi/pre/gnu.ver: Fix wstring move assignment operator typo.
1244
1245 2010-02-06  Paolo Carlini  <paolo.carlini@oracle.com>
1246
1247         PR libstdc++/27340
1248         * include/bits/valarray_before.h: Uglify the structs wrapping
1249         cmath functions differently, eg, _Cos instead of __cos.
1250         * include/bits/valarray_after.h: Adjust.
1251
1252 2010-02-05  Paolo Carlini  <paolo.carlini@oracle.com>
1253
1254         * include/std/future (swap(packaged_task<>&, packaged_task<>&)): Fix
1255         typo in last commit.
1256
1257 2010-02-05  Paolo Carlini  <paolo.carlini@oracle.com>
1258
1259         * include/std/future (swap(packaged_task<>&, packaged_task<>&),
1260         swap(promise<>&, promise<>&)): Add; minor formatting fixes.
1261         * testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust
1262         dg-error line number.
1263         * testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise.
1264         * testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
1265         * testsuite/30_threads/promise/cons/copy_neg.cc: Likewise.
1266
1267 2010-02-05  Paolo Carlini  <paolo.carlini@oracle.com>
1268
1269         * include/bits/stl_algobase.h (struct __iter_base): Rename to
1270         _Iter_base; add iterator_type typedef.
1271         (struct __miter_base): Rename to _Miter_base.
1272         (struct __niter_base): Rename to _Niter_base.
1273         (__miter_base, __niter_base): Add, use the latter; adjust everywhere.
1274
1275 2010-02-04  Benjamin Kosnik  <bkoz@redhat.com>
1276
1277         PR libstdc++/42460
1278         * doc/doxygen/user.cfg.in: Update file list.
1279         * include/debug/safe_sequence.h: Doxygen markup fixes for '' and "".
1280         * include/debug/safe_base.h: Same.
1281         * include/debug/macros.h: Same.
1282         * include/tr1_impl/regex: Same.
1283         * include/std/iostream: Same.
1284         * include/std/streambuf: Same.
1285         * include/std/bitset: Same.
1286         * include/std/iosfwd: Same.
1287         * include/std/limits: Same.
1288         * include/std/fstream: Same.
1289         * include/std/istream: Same.
1290         * include/std/ostream: Same.
1291         * include/std/sstream: Same.
1292         * include/parallel/multiway_merge.h: Same.
1293         * include/parallel/for_each.h: Same.
1294         * include/parallel/workstealing.h: Same.
1295         * include/parallel/omp_loop_static.h: Same.
1296         * include/parallel/omp_loop.h: Same.
1297         * include/c_std/csignal: Same.
1298         * include/c_std/cstdlib: Same.
1299         * include/c_std/cstdio: Same.
1300         * include/c_std/cstdarg: Same.
1301         * include/c_std/cctype: Same.
1302         * include/c_std/cerrno: Same.
1303         * include/c_std/cmath: Same.
1304         * include/c_std/ciso646: Same.
1305         * include/c_std/ctime: Same.
1306         * include/c_std/clocale: Same.
1307         * include/c_std/climits: Same.
1308         * include/c_std/cassert: Same.
1309         * include/c_std/csetjmp: Same.
1310         * include/c_std/cwchar: Same.
1311         * include/c_std/cfloat: Same.
1312         * include/c_std/cstring: Same.
1313         * include/c_std/cstddef: Same.
1314         * include/c_std/cwctype: Same.
1315         * include/profile/iterator_tracker.h: Same.
1316         * include/profile/impl/profiler_trace.h: Same.
1317         * include/ext/vstring.h: Same.
1318         * include/ext/algorithm: Same.
1319         * include/ext/pb_ds/detail/pat_trie_/pat_trie_.h.pp: Same.
1320         * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.h.pp: Same.
1321         * include/ext/pb_ds/detail/type_utils.hpp: Same.
1322         * include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same
1323         * include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
1324         * include/ext/rc_string_base.h: Same.
1325         * include/ext/stdio_sync_filebuf.h: Same.
1326         * include/ext/functional: Same.
1327         * include/ext/mt_allocator.h: Same.
1328         * include/bits/basic_ios.h: Same.
1329         * include/bits/stl_map.h: Same.
1330         * include/bits/stl_algobase.h: Same.
1331         * include/bits/stl_queue.h: Same.
1332         * include/bits/locale_classes.h: Same.
1333         * include/bits/stl_set.h: Same.
1334         * include/bits/locale_facets.h: Same.
1335         * include/bits/stl_stack.h: Same.
1336         * include/bits/stl_iterator_base_types.h: Same.
1337         * include/bits/basic_string.h: Same.
1338         * include/bits/stl_multimap.h: Same.
1339         * include/bits/ios_base.h: Same.
1340         * include/bits/stl_deque.h: Same.
1341         * include/bits/stl_multiset.h: Same.
1342         * include/bits/stl_iterator_base_funcs.h: Same.
1343         * include/bits/char_traits.h: Same.
1344         * include/bits/stl_algo.h: Same.
1345         * include/bits/stl_iterator.h: Same.
1346         * include/bits/stl_tempbuf.h: Same.
1347         * include/bits/random.tcc: Same.
1348         * include/bits/stl_function.h: Same.
1349         * include/bits/cpp_type_traits.h: Same.
1350         * include/bits/random.h: Same.
1351         * include/bits/allocator.h: Same.
1352         * include/bits/locale_facets_nonio.h: Same.
1353         * include/c_global/csignal: Same.
1354         * include/c_global/cstdlib: Same.
1355         * include/c_global/cstdio: Same.
1356         * include/c_global/cstdarg: Same.
1357         * include/c_global/cctype: Same.
1358         * include/c_global/cerrno: Same.
1359         * include/c_global/cmath: Same.
1360         * include/c_global/ciso646: Same.
1361         * include/c_global/ctime: Same.
1362         * include/c_global/clocale: Same.
1363         * include/c_global/climits: Same.
1364         * include/c_global/cassert: Same.
1365         * include/c_global/csetjmp: Same.
1366         * include/c_global/cwchar: Same.
1367         * include/c_global/cfloat: Same.
1368         * include/c_global/cstring: Same.
1369         * include/c_global/cstddef: Same.
1370         * include/c_global/cwctype: Same.
1371         * include/tr1/hypergeometric.tcc: Same.
1372         * include/tr1/random.tcc: Same.
1373         * include/tr1/functional: Same.
1374         * include/tr1/random.h: Same.
1375         * include/backward/auto_ptr.h: Same.
1376         * include/backward/binders.h: Same.
1377         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1378         Adjust line numbers.
1379         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
1380         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
1381         Same.
1382         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
1383         Same.
1384
1385 2010-02-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
1386
1387         * include/std/condition_variable (condition_variable_any): Provide
1388         definitions for all members.
1389         * src/condition_variable.cc (condition_variable_any): Adjust
1390         definitions.
1391         * config/abi/pre/gnu.ver: Adjust exports for condition_variable_any.
1392         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
1393         Adjust dg-error line number.
1394         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
1395         Likewise.
1396         * testsuite/30_threads/condition_variable_any/members/1.cc: New.
1397         * testsuite/30_threads/condition_variable_any/members/2.cc: New.
1398         * testsuite/30_threads/condition_variable_any/requirements/
1399         standard_layout.cc: Remove.
1400         * testsuite/30_threads/condition_variable_any/native_handle/
1401         typesizes.cc: Remove.
1402
1403 2010-02-02  Paolo Carlini  <paolo.carlini@oracle.com>
1404
1405         * include/ext/vstring.h (__versa_string::shrink_to_fit): Fix
1406         for -fno-exceptions.
1407
1408 2010-02-02  Benjamin Kosnik  <bkoz@redhat.com>
1409
1410         * include/bits/allocator.h: Fix for -fno-exceptions.
1411         * include/bits/basic_string.h (basic_string::shrink_to_fit): Same.
1412
1413 2010-02-02  Paolo Carlini  <paolo.carlini@oracle.com>
1414
1415         * testsuite/30_threads/unique_future: Rename to /future.
1416
1417 2010-02-01  Paolo Carlini  <paolo.carlini@oracle.com>
1418
1419         PR libstdc++/42408
1420         * include/bits/random.h (linear_congruential_engine<>::
1421         linear_congruential_engine(seed_seq&),
1422         linear_congruential_engine<>::seed(seed_seq&),
1423         mersenne_twister<>::mersenne_twister(seed_seq&),
1424         mersenne_twister<>::seed(seed_seq&),
1425         subtract_with_carry_engine<>::subtract_with_carry_engine(seed_seq&),
1426         subtract_with_carry_engine<>::seed(seed_seq&),
1427         discard_block_engine<>::discard_block_engine(seed_seq&),
1428         discard_block_engine<>::seed(seed_seq&),
1429         independent_bits_engine<>::independent_bits_engine(seed_seq&),
1430         independent_bits_engine<>::seed(seed_seq&),
1431         shuffle_order_engine<>::shuffle_order_engine(seed_seq&),
1432         shuffle_order_engine<>::seed(seed_seq&)): Templatize.
1433         * include/bits/random.tcc: Adjust.
1434         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
1435         seed_seq.cc: New.
1436         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
1437         seed_seq.cc: Likewise.
1438         * testsuite/26_numerics/random/linear_congruential_engine/
1439         cons/seed_seq.cc: Likewise.
1440
1441 2010-02-01  Paolo Carlini  <paolo.carlini@oracle.com>
1442
1443         * include/bits/forward_list.h (forward_list<>::resize(size_type),
1444         forward_list(size_type)): Only declare.
1445         * include/bits/forward_list.tcc (forward_list<>::resize(size_type),
1446         forward_list(size_type)): Define, don't assume CopyConstructible.
1447         * testsuite/23_containers/forward_list/cons/10.cc: New.
1448         * testsuite/23_containers/forward_list/modifiers/6.cc: Likewis.
1449         * testsuite/23_containers/forward_list/requirements/dr438/
1450         assign_neg.cc: Adjust dg-error line numbers.
1451         * testsuite/23_containers/forward_list/requirements/dr438/
1452         insert_neg.cc: Likewise.
1453         * testsuite/23_containers/forward_list/requirements/dr438/
1454         constructor_1_neg.cc: Likewise.
1455         * testsuite/23_containers/forward_list/requirements/dr438/
1456         constructor_2_neg.cc: Likewise.
1457
1458         * include/bits/forward_list.h: Use _M_get_Node_allocator throughout.
1459
1460 2010-01-31  Paolo Carlini  <paolo.carlini@oracle.com>
1461
1462         * testsuite/23_containers/array/requirements/exception/
1463         generation_prohibited.c: Remove, swap can indeed throw (DR 774).
1464
1465         * testsuite/util/exception/safety.h (insert_base<__versa_string>): Fix.
1466         * testsuite/util/testsuite_container_traits.h
1467         (traits<__versa_string>): Enable insert tests.
1468
1469 2010-01-31  Paolo Carlini  <paolo.carlini@oracle.com>
1470
1471         * include/bits/forward_list.h (forward_list<>::insert_after
1472         (const_iterator, size_type, const _Tp&), insert_after(const_iterator,
1473         _InputIterator, _InputIterator), insert_after(const_iterator,
1474         std::initializer_list<>)): Fix return type per N3000.
1475         * testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
1476         Adjust.
1477         * testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
1478         * testsuite/23_containers/forward_list/requirements/dr438/
1479         assign_neg.cc: Adjust dg-error line numbers.
1480         * testsuite/23_containers/forward_list/requirements/dr438/
1481         insert_neg.cc: Likewise.
1482         * testsuite/23_containers/forward_list/requirements/dr438/
1483         constructor_1_neg.cc: Likewise.
1484         * testsuite/23_containers/forward_list/requirements/dr438/
1485         constructor_2_neg.cc: Likewise.
1486
1487 2010-01-31  Paolo Carlini  <paolo.carlini@oracle.com>
1488
1489         Revert last changes. Also revert, among the previous changes:
1490         * include/std/condition_variable (condition_variable_any::
1491         wait<>(_Lock&)): Provide definition.
1492
1493 2010-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
1494
1495         * include/std/condition_variable (condition_variable_any::
1496         __wait_until_impl): Add.
1497         (condition_variable_any::wait_until): Provide definitions.
1498         * testsuite/30_threads/condition_variable_any/members/2.cc: New.
1499         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
1500         Adjust dg-error line number.
1501         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
1502         Likewise.
1503
1504         * testsuite/30_threads/condition_variable/members/1.cc: Minor
1505         stylistic changes.
1506         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
1507
1508 2010-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
1509
1510         * include/std/condition_variable (enum class cv_status): Add and
1511         use it throughout, per N3000.
1512         (condition_variable_any::wait<>(_Lock&), wait<>(_Lock&, _Predicate),
1513         wait_until<>(_Lock&, const chrono::time_point<>&, _Predicate)):
1514         Provide definitions.
1515         * src/condition_variable.cc (condition_variable_any::notify_one,
1516         condition_variable_any::notify_all): Likewise.
1517         * config/abi/pre/gnu.ver: Export.
1518         * testsuite/30_threads/condition_variable_any/requirements/
1519         typedefs.cc: New.
1520         * testsuite/30_threads/condition_variable_any/requirements/
1521         standard_layout.cc: Likewise.
1522         * testsuite/30_threads/condition_variable/members/1.cc: Adjust.
1523         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
1524         * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Adjust
1525         dg-error line numbers.
1526         * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
1527         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
1528         Likewise.
1529         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
1530         Likewise.
1531
1532 2010-01-28  François Dumont  <francois.cppdevs@free.fr>
1533
1534         * include/bits/stl_algobase.h (struct __iter_base): Add.
1535         (__niter_base, __miter_base): Adjust, use the latter.
1536
1537 2010-01-28  Paolo Carlini  <paolo.carlini@oracle.com>
1538
1539         * testsuite/21_strings/basic_string/element_access/char/21674.cc:
1540         Extend xfail to all systems.
1541         * testsuite/21_strings/basic_string/element_access/wchar_T/21674.cc:
1542         Likewise.
1543         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1544         Extend xfail to darwin10 systems.
1545
1546 2010-01-27  Benjamin Kosnik  <bkoz@redhat.com>
1547
1548         PR c++/42346
1549         * testsuite/23_containers/unordered_map/requirements/exception/: Remove
1550         -O1 workaround.
1551         * testsuite/23_containers/multimap/requirements/exception/: Same.
1552         * testsuite/23_containers/map/requirements/exception: Same.
1553
1554 2010-01-27  Richard Guenther  <rguenther@suse.de>
1555
1556         PR libstdc++/42832
1557         * include/std/functional (function<>::swap): Perform bytewise
1558         swap of _M_functor.
1559         * include/tr1/functional (function<>::swap): Likewise.
1560
1561 2010-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1562
1563         * config/abi/pre/gnu.ver: Avoid time_get pattern conflicts.
1564
1565 2010-01-26  François Dumont  <francois.cppdevs@free.fr>
1566
1567         * doc/xml/manual/allocator.xml: Minor updates and fixes.
1568         * doc/xml/manual/containers.xml: Likewise.
1569         * doc/xml/manual/using.xml: Likewise.
1570         * doc/xml/manual/locale.xml: Likewise.
1571         * doc/xml/manual/appendix_contributing.xml: Likewise.
1572
1573 2010-01-26  Daniel Frey  <d.frey@gmx.de>
1574
1575         * include/std/functional: Use enable_if instead of __enable_if
1576         throughout, do not include ext/type_traits.h.
1577         (is_placeholder, is_bind_expression): Use integral_constant.
1578
1579 2010-01-25  Paolo Carlini  <paolo.carlini@oracle.com>
1580
1581         * testsuite/util/testsuite_common_types.h (has_bitwise_operators):
1582         Avoid -Wall warnings.
1583
1584 2010-01-25  Paolo Carlini  <paolo.carlini@oracle.com>
1585
1586         * testsuite/22_locale/time_get/get_monthname/char/6.cc: Use an int
1587         as loop variable, to avoid -Wall warnings.
1588         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
1589         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
1590         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
1591         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
1592
1593         * testsuite/20_util/reference_wrapper/24803.cc: Remove unused vars.
1594         * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
1595
1596 2010-01-22  Daniel Frey  <d.frey@gmx.de>
1597
1598         * include/std/functional (_Index_tuple, _Build_index_tuple):
1599         Simplify and speed-up.
1600
1601 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
1602
1603         PR libstdc++/36101, PR libstdc++/42813
1604         * acinclude.m4 (enable_parallel): Test ${TARGET_CONFIGDIRS} instead of
1605         looking for omp.h.
1606         * configure: Regenerate.
1607
1608 2010-01-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
1609
1610         PR libstdc++/42201
1611         * include/std/future: Update to latest WP.
1612         * src/functexcept.cc (__throw_future_error): Use make_error_code.
1613         * testsuite/30_threads/async/any.cc: New.
1614         * testsuite/30_threads/async/async.cc: New.
1615         * testsuite/30_threads/async/sync.cc: New.
1616         * testsuite/30_threads/packaged_task/cons/alloc.cc: New.
1617         * testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
1618         * testsuite/30_threads/packaged_task/cons/copy_neg.cc: Adjust.
1619         * testsuite/30_threads/packaged_task/members/get_future.cc: Adjust.
1620         * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
1621         * testsuite/30_threads/packaged_task/members/invoke.cc: Adjust.
1622         * testsuite/30_threads/packaged_task/members/invoke2.cc: Adjust.
1623         * testsuite/30_threads/packaged_task/members/invoke3.cc: Adjust.
1624         * testsuite/30_threads/packaged_task/members/invoke4.cc: Adjust.
1625         * testsuite/30_threads/packaged_task/members/reset.cc: Adjust.
1626         * testsuite/30_threads/packaged_task/members/reset2.cc: Adjust.
1627         * testsuite/30_threads/shared_future/cons/assign_neg.cc: Remove.
1628         * testsuite/30_threads/shared_future/cons/default_neg.cc: Remove.
1629         * testsuite/30_threads/shared_future/cons/default.cc: New.
1630         * testsuite/30_threads/shared_future/cons/assign.cc: New.
1631         * testsuite/30_threads/shared_future/cons/copy.cc: Adjust.
1632         * testsuite/30_threads/shared_future/cons/move.cc: Adjust.
1633         * testsuite/30_threads/shared_future/cons/move_assign.cc: New.
1634         * testsuite/30_threads/shared_future/members/is_ready.cc: Remove.
1635         * testsuite/30_threads/shared_future/members/has_value.cc: Remove.
1636         * testsuite/30_threads/shared_future/members/has_exception.cc: Remove.
1637         * testsuite/30_threads/shared_future/members/valid.cc: New.
1638         * testsuite/30_threads/unique_future/cons/default_neg.cc: Remove.
1639         * testsuite/30_threads/unique_future/cons/default.cc: New.
1640         * testsuite/30_threads/unique_future/cons/move_assign.cc: New.
1641         * testsuite/30_threads/unique_future/cons/assign_neg.cc: Adjust.
1642         * testsuite/30_threads/unique_future/cons/copy_neg.cc: Adjust.
1643         * testsuite/30_threads/unique_future/cons/move.cc: Adjust.
1644         * testsuite/30_threads/unique_future/requirements/
1645         explicit_instantiation.cc: Adjust.
1646         * testsuite/30_threads/unique_future/members/is_ready.cc: Remove.
1647         * testsuite/30_threads/unique_future/members/has_value.cc: Remove.
1648         * testsuite/30_threads/unique_future/members/has_exception.cc: Remove.
1649         * testsuite/30_threads/unique_future/members/valid.cc: New.
1650         * testsuite/30_threads/unique_future/members/get.cc: Adjust.
1651         * testsuite/30_threads/unique_future/members/get2.cc: Adjust.
1652         * testsuite/30_threads/unique_future/members/wait.cc: Adjust.
1653         * testsuite/30_threads/unique_future/members/wait_for.cc: Adjust.
1654         * testsuite/30_threads/unique_future/members/wait_until.cc: Adjust.
1655         * testsuite/30_threads/headers/future/types_std_c++0x.cc: Adjust.
1656         * testsuite/30_threads/promise/cons/alloc.cc: New.
1657         * testsuite/30_threads/promise/cons/assign_neg.cc: Adjust.
1658         * testsuite/30_threads/promise/cons/copy_neg.cc: Adjust.
1659         * testsuite/30_threads/promise/cons/move.cc: Adjust.
1660         * testsuite/30_threads/promise/cons/move_assign.cc: Adjust.
1661         * testsuite/30_threads/promise/members/get_future.cc: Adjust.
1662         * testsuite/30_threads/promise/members/set_value.cc: Adjust.
1663         * testsuite/30_threads/promise/members/set_exception.cc: Adjust.
1664         * testsuite/30_threads/promise/members/set_exception2.cc: Adjust.
1665         * testsuite/30_threads/promise/members/set_value2.cc: Adjust.
1666         * testsuite/30_threads/promise/members/set_value3.cc: Adjust.
1667         * testsuite/30_threads/promise/members/swap.cc: Adjust.
1668
1669 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
1670             Paolo Carlini  <paolo.carlini@oracle.com>
1671
1672         PR libstdc++/21769
1673         * testsuite/lib/dg-options.exp (add_options_for_no_pch): Add.
1674         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1675         Use it.
1676
1677 2010-01-19  Johannes Singler  <singler@kit.edu>
1678
1679         PR libstdc++/42712
1680         * include/parallel/settings.h (_Settings): Add search_minimal_n.
1681         * include/parallel/algo.h (__search_switch):
1682         Add serial fallback for too small inputs.
1683         (__search_n_switch): Likewise.  Call serial fallback on higher level
1684         to gain special treatment for __count 0 or 1.
1685         * testsuite/25_algorithms/search_n/iterator.cc:
1686         Reenable full test depth for parallel mode.
1687
1688 2010-01-18  Daniel Frey  <d.frey@gmx.de>
1689
1690         * include/std/functional (_Bind<_Functor(_Bound_args...)>::
1691         operator()): "Pass" _Result to __call*.
1692         (_Bind<_Functor(_Bound_args...)>::__call*): Adjust, simplify.
1693
1694 2010-01-18  Johannes Singler  <singler@kit.edu>
1695
1696         * include/parallel/base.h (__unary_negate): Correct comment.
1697
1698 2010-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
1699
1700         * include/std/functional (_Bind<_Functor(_Bound_args...)>::__call):
1701         Rename const version to __call_c and remove _Sfinae template
1702         parameter.
1703         (_Bind<_Functor(_Bound_args...)>::operator()): Adjust.
1704
1705         * include/std/functional: Pass everywhere temporary tuple<_Args...>
1706         arguments by rvalue reference.
1707
1708         * testsuite/20_util/bind/cv_quals.cc: New.
1709
1710         * testsuite/20_util/bind/ref2.cc: Add missing test variables.
1711
1712 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1713
1714         PR libstdc++/35942
1715         * configure.ac: Remove -lstdc++ from libtool's postdeps_CXX.
1716         * configure: Regenerate.
1717
1718 2010-01-15  Phil Muldoon  <pmuldoon@redhat.com>
1719
1720         * python/libstdcxx/v6/printers.py (StdStringPrinter.__init__):
1721         Remove encoding argument.
1722         (StdStringPrinter.to_string): Do not compute or pass encoding.
1723         Use lazy_string over string function.
1724
1725 2010-01-14  Paolo Carlini  <paolo.carlini@oracle.com>
1726
1727         * include/c_std/cstring (memchr): Forward to the builtin.
1728         * include/c_std/cstring: Remove redundant casts; use names consistent
1729         with the letter of the Standard.
1730         * include/c_global/cstring: Likewise.
1731
1732 2010-01-13  Benjamin Kosnik  <bkoz@redhat.com>
1733
1734         * include/profile/iterator_tracker.h: Add copyright.
1735
1736 2010-01-13  Paolo Carlini  <paolo.carlini@oracle.com>
1737
1738         * testsuite/Makefile.am (check-debug): Add.
1739         * testsuite/Makefile.in: Regenerate.
1740         * config.h.in: Likewise.
1741
1742 2010-01-12  Paolo Carlini  <paolo.carlini@oracle.com>
1743
1744         * testsuite/17_intro/using_namespace_std_tr1_neg.cc: Do not run
1745         in parallel-mode.
1746         * testsuite/25_algorithms/inplace_merge/moveable.cc: Likewiwse.
1747         * testsuite/25_algorithms/rotate/moveable.cc: Likewiwse.
1748         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewiwse.
1749         * testsuite/25_algorithms/remove/moveable.c: Likewiwse.
1750         * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewiwse.
1751         * testsuite/25_algorithms/nth_element/moveable.cc: Likewiwse.
1752         * testsuite/25_algorithms/partial_sort/moveable.cc: Likewiwse.
1753         * testsuite/25_algorithms/next_permutation/moveable.cc: Likewiwse.
1754         * testsuite/25_algorithms/partition/moveable.cc: Likewiwse.
1755         * testsuite/25_algorithms/stable_sort/moveable.cc: Likewiwse.
1756         * testsuite/25_algorithms/stable_sort/moveable2.cc: Likewiwse.
1757         * testsuite/25_algorithms/sort/moveable.cc: Likewiwse.
1758         * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewiwse.
1759         * testsuite/25_algorithms/unique/moveable.cc: Likewiwse.
1760         * testsuite/25_algorithms/remove_if/moveable.cc: Likewiwse.
1761         * testsuite/25_algorithms/heap/moveable.cc: Likewiwse.
1762
1763         * testsuite/25_algorithms/search_n/iterator.cc: Reduce iteration #
1764         in parallel-mode.
1765
1766 2010-01-12  Hans-Peter Nilsson  <hp@axis.com>
1767
1768         * testsuite/ext/profile/all.cc: Pass -D_GLIBCXX_PROFILE_NO_THREADS
1769         for non-tls_native targets.
1770
1771 2010-01-12  Benjamin Kosnik  <bkoz@redhat.com>
1772
1773         * scripts/run_doxygen: Correct nested scope on the man pages.
1774         * doc/xml/faq.xml: Edits, linkcheck, doxygen link reassociate.
1775         * doc/xml/manual/mt_allocator.xml: Same.
1776         * doc/xml/manual/allocator.xml: Same.
1777         * doc/xml/manual/codecvt.xml: Same.
1778         * doc/xml/manual/backwards_compatibility.xml: Same.
1779         * doc/xml/manual/concurrency.xml: Same.
1780         * doc/xml/manual/parallel_mode.xml: Same.
1781         * doc/xml/manual/io.xml: Same.
1782         * doc/xml/manual/support.xml: Same.
1783         * doc/xml/manual/evolution.xml: Same.
1784         * doc/xml/manual/using.xml: Same.
1785         * doc/xml/manual/extensions.xml: Same.
1786         * doc/xml/manual/appendix_contributing.xml: Same.
1787         * doc/xml/manual/prerequisites.xml: Same.
1788         * doc/xml/manual/diagnostics.xml: Same.
1789         * doc/xml/manual/spine.xml: Same.
1790         * doc/xml/manual/status_cxx200x.xml: Same.
1791         * doc/xml/manual/test.xml: Same.
1792         * doc/xml/spine.xml: Same.
1793         * doc/html/*: Regenerate.
1794
1795         * include/profile/impl/profiler.h: Remove duplicate markup.
1796
1797 2010-01-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
1798
1799         PR libstdc++/24803
1800         PR libstdc++/35569
1801         PR libstdc++/42593
1802         * include/std/functional (bind): Forward rvalues and detect correct
1803         result type of bound function object.
1804         * include/std/mutex (call_once): Specify bind result type.
1805         * testsuite/20_util/reference_wrapper/invoke.cc: Remove invalid tests.
1806         * testsuite/20_util/reference_wrapper/24803.cc: Remove invalid tests
1807         and enable FIXME tests.
1808         * testsuite/20_util/bind/35569.cc: New.
1809         * testsuite/20_util/bind/ref2.cc: New.
1810         * testsuite/20_util/bind/38889.cc: New.
1811         * testsuite/20_util/bind/ref_neg.cc: New.
1812         * testsuite/20_util/bind/42593.cc: New.
1813
1814 2010-01-11  Paolo Carlini  <paolo.carlini@oracle.com>
1815
1816         * include/parallel/base.h (decode2): Rename to __decode2.
1817         (binder2nd): Likewise to __binder2nd.
1818         * include/parallel/quicksort.h: Adjust callers.
1819         * include/parallel/balanced_quicksort.h: Likewise.
1820         * include/parallel/partition.h: Likewise.
1821         * include/parallel/queue.h: Likewise.
1822
1823         * include/parallel/algo.h: Qualify with std:: binder2nd use.
1824
1825 2010-01-10  Paolo Carlini  <paolo.carlini@oracle.com>
1826
1827         * include/debug/string (basic_string<>::basic_string(basic_string&&),
1828         operator=(basic_string&&), assign(basic_string&&)): Add.
1829
1830         * include/debug/string: Fully qualify initializer_list with std; fix
1831         _Allocator misspellings as _Alloc.
1832
1833 2010-01-10  Paolo Carlini  <paolo.carlini@oracle.com>
1834
1835         * include/bits/basic_string.h (basic_string<>::
1836         basic_string(basic_string&&), operator=(basic_string&&),
1837         assign(basic_string&&)): Add.
1838         * config/abi/pre/gnu.ver: Export new symbols.
1839         * include/ext/vstring.h (__versa_string<>::assign(__versa_string&&)):
1840         Add.
1841         (operator=(__versa_string&&)): Don't call clear unnecessarily.
1842         * include/ext/rc_string_base.h (__rc_string_base<>::
1843         __rc_string_base(__rc_string_base&&)): Simplify a tad.
1844         * testsuite/21_strings/basic_string/cons/char/moveable.cc: New.
1845         * testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
1846         * testsuite/ext/vstring/assign/move_assign.cc: Likewise.
1847         * testsuite/21_strings/basic_string/assign/char/move_assign.cc:
1848         Likewise.
1849         * testsuite/21_strings/basic_string/assign/wchar_t/move_assign.cc:
1850         Likewise.
1851
1852         * testsuite/ext/vstring/cons/moveable.cc: Fix comment nit.
1853
1854 2010-01-10  Silvius Rus  <rus@google.com>
1855
1856         * configure.ac: Add detection of execinfo.h.
1857         * configure: Regenerate.
1858         * config.h.in: Likewise.
1859         * doc/xml/manual/profile_mode.xml: Add list_to_slist manual.
1860         Also, correct user interface mistakes.
1861         * include/Makefile.am: Add references to new include files.
1862         * include/Makefile.in: Regenerate.
1863         * include/backward/hash_map: Remove profile include.
1864         * include/backward/hash_set: Likewise.
1865         * include/profile/hashtable.h: Delete file.
1866         * include/profile/iterator_tracker.h: New file.
1867         * include/profile/vector: Add instrumentation for tracked iterator.
1868         * include/profile/list: Same.
1869         * include/profile/impl/profiler_list_to_slist.h: New file.
1870         * include/profile/impl/profiler_list_to_vector.h: Same.
1871         * include/profile/impl/profiler.h: Add list_to_slist and
1872         list_to_vector instrumentation hook interfaces.  Fixed broken
1873         diagnostic disabling mechanism.
1874         (_GLIBCXX_PROFILE_DEFINE_DATA,_GLIBCXX_PROFILE_DATA) New macros.
1875         (__reentrance_guard) Fix bug.
1876         * include/profile/impl/profiler_trace.h: Replace dummy templates
1877         with _GLIBCXX_PROFILE_DEFINE_DATA.
1878         * include/profile/impl/profiler_container_size.h: Same.
1879         * include/profile/impl/profiler_vector_size.h: Same.
1880         * include/profile/impl/profiler_hash_func.h: Same.
1881         * include/profile/impl/profiler_vector_to_list.h: Same.
1882         * include/profile/impl/profiler_map_to_unordered_map.h: Same.
1883         * include/profile/impl/profiler_hashtable_size.h: Same.
1884         * include/profile/impl/profiler_node.h: Same.
1885         * include/profile/impl/profiler_state.h: Same.  Also, remove
1886         class __state. Also, use __sync_val_compare_and_swap to set state.
1887
1888 2010-01-09  H.J. Lu  <hongjiu.lu@intel.com>
1889
1890         PR other/42230
1891         * testsuite/abi/pr42230.cc: New.
1892
1893 2010-01-09  Paolo Carlini  <paolo.carlini@oracle.com>
1894
1895         * include/debug/set.h: Revert last change, per DR 1204 [Ready];
1896         mention the latter in comment.
1897         * include/debug/unordered_map: Likewise.
1898         * include/debug/multiset.h: Likewise.
1899         * include/debug/vector: Likewise.
1900         * include/debug/unordered_set: Likewise.
1901         * include/debug/deque: Likewise.
1902         * include/debug/map.h: Likewise.
1903         * include/debug/list: Likewise.
1904         * include/debug/multimap.h: Likewise.
1905         * include/tr1_impl/unordered_map: Likewise.
1906         * include/tr1_impl/unordered_set: Likewise.
1907         * include/profile/set.h: Likewise.
1908         * include/profile/unordered_map: Likewise.
1909         * include/profile/multiset.h: Likewise.
1910         * include/profile/unordered_set: Likewise.
1911         * include/profile/vector: Likewise.
1912         * include/profile/deque: Likewise.
1913         * include/profile/map.h: Likewise.
1914         * include/profile/list: Likewise.
1915         * include/profile/multimap.h: Likewise.
1916         * include/ext/vstring.h: Likewise.
1917         * include/bits/stl_list.h: Likewise.
1918         * include/bits/stl_map.h: Likewise.
1919         * include/bits/stl_set.h: Likewise.
1920         * include/bits/stl_multimap.h: Likewise.
1921         * include/bits/stl_vector.h: Likewise.
1922         * include/bits/stl_deque.h: Likewise.
1923         * include/bits/stl_multiset.h: Likewise.
1924
1925         * include/bits/forward_list.h: Remove pre-existing check.
1926         * include/ext/vstring.h: Likewise.
1927
1928         * testsuite/ext/vstring/cons/self_move_assign.cc: Remove.
1929         * testsuite/23_containers/unordered_map/cons/self_move_assign.cc:
1930         Likewise.
1931         * testsuite/23_containers/multimap/cons/self_move_assign.cc: Likewise.
1932         * testsuite/23_containers/set/cons/self_move_assign.cc: Likewise.
1933         * testsuite/23_containers/unordered_multimap/cons/
1934         self_move_assign.cc: Likewise.
1935         * testsuite/23_containers/forward_list/cons/self_move_assign.cc:
1936         Likewise.
1937         * testsuite/23_containers/unordered_set/cons/self_move_assign.cc:
1938         Likewise.
1939         * testsuite/23_containers/vector/cons/self_move_assign.cc: Likewise.
1940         * testsuite/23_containers/deque/cons/self_move_assign.cc: Likewise.
1941         * testsuite/23_containers/multiset/cons/self_move_assign.cc: Likewise.
1942         * testsuite/23_containers/list/cons/self_move_assign.cc: Likewise.
1943         * testsuite/23_containers/unordered_multiset/cons/
1944         self_move_assign.cc: Likewise.
1945         * testsuite/23_containers/map/cons/self_move_assign.cc: Likewise.
1946
1947         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1948         Adjust dg-error line numbers.
1949         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1950         Likewise.
1951         * testsuite/23_containers/vector/requirements/dr438/
1952         constructor_1_neg.cc: Likewise.
1953         * testsuite/23_containers/vector/requirements/dr438/
1954         constructor_2_neg.cc: Likewise.
1955         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1956         Likewise.
1957         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1958         Likewise.
1959         * testsuite/23_containers/deque/requirements/dr438/
1960         constructor_1_neg.cc: Likewise.
1961         * testsuite/23_containers/forward_list/requirements/dr438/
1962         assign_neg.cc: Likewise.
1963         * testsuite/23_containers/forward_list/requirements/dr438/
1964         insert_neg.cc: Likewise.
1965         * testsuite/23_containers/forward_list/requirements/dr438/
1966         constructor_1_neg.cc: Likewise.
1967         * testsuite/23_containers/forward_list/requirements/dr438/
1968         constructor_2_neg.cc: Likewise.
1969         * testsuite/23_containers/deque/requirements/dr438/
1970         constructor_2_neg.cc: Likewise.
1971         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1972         Likewise.
1973         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1974         Likewise.
1975         * testsuite/23_containers/list/requirements/dr438/
1976         constructor_1_neg.cc: Likewise.
1977         * testsuite/23_containers/list/requirements/dr438/
1978         constructor_2_neg.cc: Likewise.
1979
1980 2010-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
1981
1982         * include/debug/set.h: Protect move assignment operator vs self
1983         assignment.
1984         * include/debug/unordered_map: Likewise.
1985         * include/debug/multiset.h: Likewise.
1986         * include/debug/vector: Likewise.
1987         * include/debug/unordered_set: Likewise.
1988         * include/debug/deque: Likewise.
1989         * include/debug/map.h: Likewise.
1990         * include/debug/list: Likewise.
1991         * include/debug/multimap.h: Likewise.
1992         * include/tr1_impl/unordered_map: Likewise.
1993         * include/tr1_impl/unordered_set: Likewise.
1994         * include/profile/set.h: Likewise.
1995         * include/profile/unordered_map: Likewise.
1996         * include/profile/multiset.h: Likewise.
1997         * include/profile/unordered_set: Likewise.
1998         * include/profile/vector: Likewise.
1999         * include/profile/deque: Likewise.
2000         * include/profile/map.h: Likewise.
2001         * include/profile/list: Likewise.
2002         * include/profile/multimap.h: Likewise.
2003         * include/ext/vstring.h: Likewise.
2004         * include/bits/stl_list.h: Likewise.
2005         * include/bits/stl_map.h: Likewise.
2006         * include/bits/stl_set.h: Likewise.
2007         * include/bits/stl_multimap.h: Likewise.
2008         * include/bits/stl_vector.h: Likewise.
2009         * include/bits/stl_deque.h: Likewise.
2010         * include/bits/stl_multiset.h: Likewise.
2011         * include/ext/vstring.h: Use clear().
2012         * testsuite/ext/vstring/cons/self_move_assign.cc: New.
2013         * testsuite/23_containers/unordered_map/cons/self_move_assign.cc:
2014         Likewise.
2015         * testsuite/23_containers/multimap/cons/self_move_assign.cc: Likewise.
2016         * testsuite/23_containers/set/cons/self_move_assign.cc: Likewise.
2017         * testsuite/23_containers/unordered_multimap/cons/
2018         self_move_assign.cc: Likewise.
2019         * testsuite/23_containers/forward_list/cons/self_move_assign.cc:
2020         Likewise.
2021         * testsuite/23_containers/unordered_set/cons/self_move_assign.cc:
2022         Likewise.
2023         * testsuite/23_containers/vector/cons/self_move_assign.cc: Likewise.
2024         * testsuite/23_containers/deque/cons/self_move_assign.cc: Likewise.
2025         * testsuite/23_containers/multiset/cons/self_move_assign.cc: Likewise.
2026         * testsuite/23_containers/list/cons/self_move_assign.cc: Likewise.
2027         * testsuite/23_containers/unordered_multiset/cons/
2028         self_move_assign.cc: Likewise.
2029         * testsuite/23_containers/map/cons/self_move_assign.cc: Likewise.
2030
2031         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2032         Adjust dg-error line numbers.
2033         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2034         Likewise.
2035         * testsuite/23_containers/vector/requirements/dr438/
2036         constructor_1_neg.cc: Likewise.
2037         * testsuite/23_containers/vector/requirements/dr438/
2038         constructor_2_neg.cc: Likewise.
2039         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2040         Likewise.
2041         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2042         Likewise.
2043         * testsuite/23_containers/deque/requirements/dr438/
2044         constructor_1_neg.cc: Likewise.
2045         * testsuite/23_containers/deque/requirements/dr438/
2046         constructor_2_neg.cc: Likewise.
2047         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2048         Likewise.
2049         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2050         Likewise.
2051         * testsuite/23_containers/list/requirements/dr438/
2052         constructor_1_neg.cc: Likewise.
2053         * testsuite/23_containers/list/requirements/dr438/
2054         constructor_2_neg.cc: Likewise.
2055
2056         * testsuite/ext/vstring/moveable.cc: Move to...
2057         * testsuite/ext/vstring/cons/moveable.cc: ... here.
2058         * testsuite/23_containers/unordered_map/moveable.cc: Move to...
2059         * testsuite/23_containers/unordered_map/cons/moveable.cc ... here.
2060         * testsuite/23_containers/multimap/moveable.cc: Move to...
2061         * testsuite/23_containers/multimap/cons/moveable.cc: ... here.
2062         * testsuite/23_containers/set/moveable.cc: Move to...
2063         * testsuite/23_containers/set/cons/moveable.cc: ... here.
2064         * testsuite/23_containers/unordered_multimap/moveable.cc: Move to...
2065         * testsuite/23_containers/unordered_multimap/cons/moveable.cc:
2066         ... here.
2067         * testsuite/23_containers/forward_list/moveable.cc: Move to...
2068         * testsuite/23_containers/forward_list/cons/moveable.cc: ... here.
2069         * testsuite/23_containers/unordered_set/moveable.cc Move to...
2070         * testsuite/23_containers/unordered_set/moveable.cc: ... here.
2071         * testsuite/23_containers/vector/cons/moveable.cc Move to...
2072         * testsuite/23_containers/vector/cons/moveable2.cc: ... this.
2073         * testsuite/23_containers/deque/cons/moveable.cc Move to...
2074         * testsuite/23_containers/deque/cons/moveable2.cc: ... this.
2075         * testsuite/23_containers/multiset/moveable.cc Move to...
2076         * testsuite/23_containers/multiset/cons/moveable.cc: ... here.
2077         * testsuite/23_containers/list/moveable.h Move to...
2078         * testsuite/23_containers/list/cons/moveable.h: ... here.
2079         * testsuite/23_containers/list/moveable.cc Move to...
2080         * testsuite/23_containers/list/cons/moveable.cc: ... here.
2081         * testsuite/23_containers/unordered_multiset/moveable.cc Move to...
2082         * testsuite/23_containers/unordered_multiset/cons/moveable.cc:
2083         ... here.
2084         * testsuite/23_containers/map/moveable.cc Move to...
2085         * testsuite/23_containers/map/cons/moveable.cc: ... here.
2086         * testsuite/23_containers/vector/moveable.cc: Move to...
2087         * testsuite/23_containers/vector/cons/moveable.cc: ... here.
2088         * testsuite/23_containers/deque/moveable.cc: Move to...
2089         * testsuite/23_containers/deque/cons/moveable.cc: ... here.
2090
2091 2010-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
2092
2093         PR libstdc++/42573
2094         * include/bits/allocator.h (struct __shrink_to_fit): Add.
2095         * include/bits/stl_deque.h (deque<>::shrink_to_fit): Add.
2096         * include/bits/stl_vector.h (vector<>::shrink_to_fit): Likewise.
2097         * include/bits/stl_bvector.h (vector<bool>::shrink_to_fit): Likewise.
2098         * include/bits/basic_string.h (basic_string<>::shrink_to_fit):
2099         Likewise.
2100         * include/ext/vstring.h (__versa_string<>::shrink_to_fit): Likewise.
2101         * include/debug/deque: Add corresponding using declaration.
2102         * include/debug/vector: Likewise.
2103         * include/debug/string: Likewise.
2104         * include/profile/deque: Likewise.
2105         * include/profile/vector: Likewise.
2106         * config/abi/pre/gnu.ver: Export new symbols.
2107         * testsuite/23_containers/deque/capacity/shrink_to_fit.cc: New.
2108         * testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise.
2109         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
2110         Likewise.
2111         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
2112         Likewise.
2113         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
2114         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2115         Adjust dg-error line number.
2116         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2117         Likewise.
2118         * testsuite/23_containers/deque/requirements/dr438/
2119         constructor_1_neg.cc: Likewise.
2120         * testsuite/23_containers/deque/requirements/dr438/
2121         constructor_2_neg.cc: Likewise.
2122         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2123         Adjust dg-error line number.
2124         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2125         Likewise.
2126         * testsuite/23_containers/vector/requirements/dr438/
2127         constructor_1_neg.cc: Likewise.
2128         * testsuite/23_containers/vector/requirements/dr438/
2129         constructor_2_neg.cc: Likewise.
2130
2131 2010-01-07  Benjamin Kosnik  <bkoz@redhat.com>
2132
2133         * doc/xml/manual/evolution.xml: Fix typos, update.
2134
2135 2010-01-07  Paolo Carlini  <paolo.carlini@oracle.com>
2136
2137         * include/bits/locale_facets_nonio.tcc (time_put<>::do_put): Avoid
2138         pointless __builtin_alloca use.
2139
2140 2010-01-06  Paolo Carlini  <paolo.carlini@oracle.com>
2141
2142         PR libstdc++/26701
2143         * include/bits/locale_facets_nonio.tcc (time_get<>::_M_extract_num):
2144         Encode short two digits over four parsings to negative numbers.
2145         (time_get<>::_M_extract_via_format): Adjust, accept both two digits
2146         and four digits for both 'y' and 'Y'.
2147         (time_get<>::do_get_year): Call time_get<>::_M_extract_num.
2148         * doc/xml/manual/prerequisites.xml: Add en_GB.
2149         * testsuite/lib/libstdc++.exp: Adjust
2150         * testsuite/22_locale/time_get/get_date/char/26701.cc: New.
2151         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
2152
2153 2010-01-06  Benjamin Kosnik  <bkoz@redhat.com>
2154
2155         PR libstdc++/42491
2156         * scripts/check_performance (CXX): Add -std=gnu++0x.
2157         * testsuite/performance/30_threads/future/polling.cc: Mark up as
2158         using threads.
2159
2160 2010-01-06  Paolo Carlini  <paolo.carlini@oracle.com>
2161
2162         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc:
2163         Add dg-require-namedlocale.
2164
2165 2010-01-05  Benjamin Kosnik  <bkoz@redhat.com>
2166
2167         * doc/xml/manual/evolution.xml: Update for 4.4 and 4.5 releases.
2168         * doc/html: Regenerate.
2169
2170 2010-01-05  Paolo Carlini  <paolo.carlini@oracle.com>
2171
2172         PR libstdc++/38081
2173         * include/bits/locale_facets_nonio.h (time_get<>::
2174         _M_extract_wday_or_month): New, declare.
2175         * include/bits/locale_facets_nonio.tcc (time_get<>::
2176         _M_extract_wday_or_month): Define.
2177         (time_get<>::do_get_weekday, time_get<>::do_get_monthname): Use it.
2178         * config/abi/pre/gnu.ver: Export new symbols.
2179         * doc/xml/manual/prerequisites.xml: Add ru_RU.UTF-8 and
2180         ru_RU.ISO-8859-5.
2181         * testsuite/lib/libstdc++.exp: Adjust.
2182         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: New.
2183         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
2184
2185 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2186
2187         * configure: Regenerate.
2188
2189 2010-01-05  Paolo Carlini  <paolo.carlini@oracle.com>
2190
2191         * testsuite/22_locale/time_get/get_monthname/char/6.cc: New.
2192         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
2193         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
2194         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
2195
2196 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
2197
2198         * include/profile/list: Implement DR 1133 here too.
2199
2200         * testsuite/25_algorithms/set_intersection/34730.cc: Do not force
2201         debug-mode, leads to spurious failures in profile-mode.
2202         * testsuite/25_algorithms/upper_bound/33613.cc: Likewise.
2203         * testsuite/25_algorithms/lower_bound/33613.cc: Likewise.
2204         * testsuite/25_algorithms/set_difference/35541.cc: Likewise.
2205         * testsuite/21_strings/basic_string/40160.cc: Likewise.
2206         * testsuite/26_numerics/random/uniform_real_distribution/
2207         cons/parms_neg.cc: Likewise.
2208         * testsuite/26_numerics/random/uniform_int_distribution/
2209         cons/parms_neg.cc: Likewise.
2210         * testsuite/23_containers/unordered_map/requirements/debug_mode.cc:
2211         Likewise.
2212         * testsuite/23_containers/multimap/14340.cc: Likewise.
2213         * testsuite/23_containers/bitset/18604.cc: Likewise.
2214         * testsuite/23_containers/set/14340.cc: Likewise.
2215         * testsuite/23_containers/set/18604.cc: Likewise.
2216         * testsuite/23_containers/unordered_set/requirements/
2217         debug_mode.cc: Likewise.
2218         * testsuite/23_containers/vector/
2219         debug_mode_requires_reallocation-1.cc: Likewise.
2220         * testsuite/23_containers/vector/
2221         debug_mode_requires_reallocation-2.cc: Likewise.
2222         * testsuite/23_containers/vector/14340.cc: Likewise.
2223         * testsuite/23_containers/vector/15523.cc: Likewise.
2224         * testsuite/23_containers/vector/18604.cc: Likewise.
2225         * testsuite/23_containers/deque/14340.cc: Likewise.
2226         * testsuite/23_containers/deque/18604.cc: Likewise.
2227         * testsuite/23_containers/multiset/14340.cc: Likewise.
2228         * testsuite/23_containers/list/operations/35969.cc: Likewise.
2229         * testsuite/23_containers/list/14340.cc: Likewise.
2230         * testsuite/23_containers/list/18604.cc: Likewise.
2231         * testsuite/23_containers/map/14340.cc: Likewise.
2232         * testsuite/23_containers/map/18604.cc: Likewise.
2233         * testsuite/tr1/5_numerical_facilities/random/uniform_int/
2234         cons/range_neg.cc: Likewise.
2235
2236         * testsuite/23_containers/unordered_map/requirements/
2237         explicit_instantiation/2.cc: Do not instantiate for
2238         non-defaultconstructible mapped_type.
2239
2240 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
2241
2242         * include/debug/set.h: Implement DR 130 here too.
2243         * include/debug/multiset.h: Likewise.
2244         * include/debug/map.h: Likewise.
2245         * include/debug/multimap.h: Likewise.
2246         * include/profile/set.h: Implement DR 130 fully.
2247         * include/profile/multiset.h: Likewise.
2248         * include/profile/map.h: Likewise.
2249         * include/profile/multimap.h: Likewise.
2250         * include/debug/list: Implement DR 1133 here too.
2251         * include/ext/pb_ds/detail/debug_map_base.hpp: Comment out for
2252         now uses of __gnu_cxx::throw_allocator.
2253         * testsuite/21_strings/basic_string/40160.cc: Don't pass
2254         explicitly -D_GLIBCXX_DEBUG, doesn't play well with profile-mode
2255         testing.
2256
2257 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
2258
2259         * include/profile/bitset (bitset<>::bitset(unsigned long long)): Add
2260         in C++0x mode.
2261         * include/debug/bitset (bitset<>::bitset(unsigned long long)):
2262         Likewise.
2263
2264 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
2265
2266         * include/tr1_impl/hashtable (_Hashtable<>): Remove insert_return_type
2267         typedef.
2268         * include/profile/unordered_map (unordered_map<>::insert(const
2269         value_type&), unordered_multimap<>::insert(const value_type&)): Adjust.
2270         * include/profile/unordered_set (unordered_set<>::insert(const
2271         value_type&), unordered_multimap<>::insert(const value_type&)):
2272         Likewise.
2273
2274 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
2275
2276         * include/bits/stl_pair.h (pair<>::pair(_U1&&, const _T2&),
2277         pair<>::pair(const _T1&, _U2&&), pair<>::pair(_U1&&, _U2&&)):
2278         Use std::is_constructible instead of std::is_convertible.
2279
2280 2010-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
2281
2282         Revert last change, reinstantiate basic_string and vstring tests.
2283
2284 2010-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
2285
2286         * testsuite/21_strings/basic_string/requirements/exception/
2287         propagation_consistent.cc: Remove, cannot instantiate basic_string
2288         for non-PODs (21/1).
2289         * testsuite/21_strings/basic_string/requirements/exception/
2290         basic.cc: Likewise.
2291         * testsuite/21_strings/basic_string/requirements/exception/
2292         generation_prohibited.cc: Likewise.
2293         * testsuite/ext/vstring/requirements/exception/
2294         propagation_consistent.cc: Likewise.
2295         * testsuite/ext/vstring/requirements/exception/basic.cc:
2296         Likewise.
2297         * testsuite/ext/vstring/requirements/exception/
2298         generation_prohibited.cc: Likewise.