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