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