OSDN Git Service

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