OSDN Git Service

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