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