OSDN Git Service

49da2c45d3fcb5b8dfe9f7b219ee78d0230441d1
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2011-11-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2
3         * doc/xml/manual/appendix_contributing.xml: Do not use "here" as link
4         text.
5         * doc/xml/faq.xml: Likewise. Do not request standard library issues
6         to be reported to the libstdc++ mailing list.
7         * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
8         behaviour.
9         * doc/xml/manual/status_cxxtr1.xml: Likewise.
10         * doc/xml/manual/utilities.xml: Fix grammar, probably caused by a
11         global search and replace of "part" by "chapter".
12         * doc/xml/manual/shared_ptr.xml: Remove outdated information.
13         * doc/xml/manual/messages.xml: Be more specific about systems where
14         using 'int' for catalog handle is not a problem, mentioned LWG issue.
15
16 2011-11-19  Paolo Carlini  <paolo.carlini@oracle.com>
17
18         * include/debug/bitset (operator[](size_t) const): Declare constexpr.
19         * include/profile/bitset: Likewise.
20         * testsuite/23_containers/bitset/operations/constexpr.cc: Split out
21         non portable bits to...
22         * testsuite/23_containers/bitset/operations/constexpr-2.cc: ... here.
23
24 2011-11-18  Harti Brandt  <hartmut.brandt@dlr.de>
25
26         PR libstdc++/51209
27         * include/bits/hashtable.h (_Hashtable<>::_M_find_node): Return
28         nullptr when no node is found.
29         * include/tr1/hashtable.h (_Hashtable<>::_M_find_node): Return
30         zero when no node is found.
31
32 2011-11-18  Paolo Carlini  <paolo.carlini@oracle.com>
33
34         * src/hash-long-double-aux.cc: Rename to...
35         * src/hash-long-double-tr1-aux.cc: ... this.
36         * src/compatibility-ldbl.cc: Adjust.
37         * src/hash_tr1.cc: Likewise.
38         * src/hash_c++0x.cc: Don't use src/hash-long-double-aux.cc.
39         * include/bits/functional_hash.h (hash<_Tp*>::operator(), specs
40         for integer types, hash<float>::operator(), hash<double>::operator(),
41         hash<long double>::operator()): Declare noexcept.
42         * include/debug/bitset (hash<__debug::bitset>::operator()): Likewise.
43         * include/debug/vector (hash<__debug::vector>::operator()): Likewise.
44         * include/std/system_error (hash<error_code>::operator()): Likewise.
45         * include/std/thread (hash<thread::id>::operator()): Likewise.
46         * include/std/bitset (hash<bitset>::operator()): Likewise.
47         * include/std/typeindex (hash<type_index>::operator()): Likewise.
48         * include/profile/bitset (hash<__profile::vector>::operator()):
49         Likewise.
50         * include/profile/vector (hash<__profile::vector>::operator()):
51         Likewise.
52         * include/ext/vstring.h (hash<__vstring>::operator(),
53         hash<__wvstring>::operator(), hash<__u16vstring>::operator(),
54         hash<__u32vstring>::operator()): Likewise.
55         * include/bits/shared_ptr.h (hash<shared_ptr>::operator()): Likewise.
56         * include/bits/shared_ptr_base.h (hash<__shared_ptr>::operator()):
57         Likewise.
58         * include/bits/unique_ptr.h (hash<unique_ptr>::operator()): Likewise.
59         * include/bits/basic_string.h (hash<string>::operator(),
60         hash<wstring>::operator(), hash<u16string>::operator(),
61         hash<u32string>::operator()): Likewise.
62         * include/bits/vector.tcc (hash<vector>::operator()): Likewise.
63         * include/bits/stl_bvector.h (hash<vector>::operator()): Likewise.
64         * libsupc++/typeinfo (type_info::hash_code): Use noexcept instead of
65         throw().
66
67 2011-11-17  Richard Henderson  <rth@redhat.com>
68
69         PR libstdc++/51181
70         * libsupc++/eh_tm.cc (free_any_cxa_exception): Protect the use
71         of __sync_sub_and_fetch with _GLIBCXX_ATOMIC_BUILTINS_4.
72
73 2011-11-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
74
75         * testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
76         on darwin.
77
78 2011-11-17  Jason Merrill  <jason@redhat.com>
79
80         * testsuite/21_strings/basic_string/cons/char/moveable2.cc
81         (tstring): Add defaulted move assignment.
82         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc
83         (tstring): Add defaulted move assignment.
84         * testsuite/util/testsuite_tr1.h (NoexceptMoveConsClass): Add
85         defaulted move assignment operator.
86         (NoexceptMoveAssignClass): Add defaulted move constructor.
87
88 2011-11-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
89
90         * doc/xml/manual/status_cxx2011.xml: Status of piecewise construction
91         and ios_base::failure.
92         * doc/xml/manual/backwards_compatibility.xml: List headers in
93         alphabetical order.
94
95 2011-11-16  Andrew MacLeod  <amacleod@redhat.com>
96
97         PR libstdc++/51102
98         * include/bits/atomic_base.h (ATOMIC_BOOL_LOCK_FREE,
99         ATOMIC_POINTER_LOCK_FREE): New. Add missing macros.
100
101 2011-11-15  Paolo Carlini  <paolo.carlini@oracle.com>
102
103         PR libstdc++/51142
104         * include/debug/unordered_map (unordered_map<>::erase(iterator),
105         unordered_multimap<>::erase(iterator)): Add, consistently with
106         LWG 2059.
107         * include/debug/unordered_set (unordered_set<>::erase(iterator),
108         unordered_multiset<>::erase(iterator)): Likewise.
109         * include/debug/map.h (map<>::erase(iterator)): Likewise.
110         * include/debug/multimap.h (multimap<>::erase(iterator)): Likewise.
111         * include/profile/map.h (map<>::erase(iterator)): Likewise.
112         * include/profile/multimap.h (multimap<>::erase(iterator)): Likewise.
113         * include/bits/hashtable.h (_Hashtable<>::erase(iterator)): Likewise.
114         * include/bits/stl_map.h (map<>::erase(iterator)): Likewise.
115         * include/bits/stl_multimap.h (multimap<>::erase(iterator)): Likewise.
116         * include/bits/stl_tree.h (_Rb_tree<>::erase(iterator)): Likewise.
117         * testsuite/23_containers/unordered_map/erase/51142.cc: New.
118         * testsuite/23_containers/multimap/modifiers/erase/51142.cc: Likewise.
119         * testsuite/23_containers/set/modifiers/erase/51142.cc: Likewise.
120         * testsuite/23_containers/unordered_multimap/erase/51142.cc: Likewise.
121         * testsuite/23_containers/unordered_set/erase/51142.cc: Likewise.
122         * testsuite/23_containers/multiset/modifiers/erase/51142.cc: Likewise.
123         * testsuite/23_containers/unordered_multiset/erase/51142.cc: Likewise.
124         * testsuite/23_containers/map/modifiers/erase/51142.cc: Likewise.
125
126 2011-11-15  Jason Dick  <dickphd@gmail.com>
127
128         PR libstdc++/51133
129         * include/tr1/poly_hermite.tcc (__poly_hermite_recursion): Fix
130         wrong sign in recursion relation.
131
132 2011-11-14  Paolo Carlini  <paolo.carlini@oracle.com>
133
134         * include/c_global/cmath (frexp, modf, remquo): Do not mark constexpr,
135         not viable anyway due to the pointer parameter.
136
137 2011-11-13  Paolo Carlini  <paolo.carlini@oracle.com>
138
139         * include/c_global/cmath (atan2, fmod, pow, copysign, fdim,
140         fma, fmax, fmin, hypot, nextafter, remainder, remquo): Simplify
141         constraining on the return type.
142         * include/tr1/cmath (copysign, fdim, fma, fmax, fmin, hypot,
143         nextafter, remainder, remquo): Likewise.
144
145 2011-11-13  Gerald Pfeifer  <gerald@pfeifer.com>
146
147         * using.xml: Use GNU/Linux.
148
149 2011-11-12  Jason Merrill  <jason@redhat.com>
150
151         PR c++/51060
152         * testsuite/25_algorithms/max/1.cc (test01): Drop references.
153         * testsuite/25_algorithms/min/1.cc (test01): Drop references.
154         * testsuite/25_algorithms/minmax/1.cc (test01): Drop references.
155
156 2011-11-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
157
158         PR libstdc++/51083
159         * include/ext/type_traits.h (__promote): Only define __type member
160         for integral and floating point types, to prevent math functions
161         participating in overload resolution for other types.
162         (__promote_2, __promote_3, __promote_4): Use __promote in default
163         template argument values, so deduction only succeeds for integral and
164         floating point types.
165         * testsuite/26_numerics/cmath/51083.cc: New.
166         * testsuite/26_numerics/complex/51083.cc: New.
167         * testsuite/tr1/8_c_compatibility/cmath/51083.cc: New.
168         * testsuite/tr1/8_c_compatibility/complex/51083.cc: New.
169
170 2011-11-10  Andrew MacLeod  <amacleod@redhat.com>
171
172         PR middle-end/51038
173         * include/bits/atomic_base.h (atomic_thread_fence): Call built-in.
174         (atomic_signal_fence): Call built-in.
175         (test_and_set, clear): Call new atomic built-ins.
176
177 2011-11-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
178
179         * include/bits/allocator.h (__shrink_to_fit_aux::_S_do_it): Create
180         the new object with the same allocator.
181         * testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: New.
182
183 2011-11-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
184
185         * include/profile/unordered_map: Add missing copy constructors.
186         * include/profile/unordered_set: Likewise.
187
188 2011-11-09  Dodji Seketeli  <dodji@redhat.com>
189
190         PR c++/51027
191         * include/ext/pointer.h (rebind): Append missing ';'.
192
193 2011-11-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
194
195         * include/bits/stl_vector.h (vector::_Alloc_traits): Make private.
196         * include/debug/vector: Add allocator-extended constructors, ensure
197         move assignment and swap have same allocator propagation semantics
198         and exceptions specification as base class.
199         * include/profile/vector: Likewise.
200         (vector::push_back(_Tp&&)): Forward argument as rvalue.
201         * testsuite/23_containers/vector/debug/alloc_prop.cc: New.
202         * doc/xml/manual/status_cxx2011.xml: Clarify status of container
203         requirements with respect to allocators.
204         (status.iso.200x): Add anchor for old ID to preserve existing links.
205
206 2011-11-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
207
208         * include/bits/shared_ptr_base.h (_Sp_counted_ptr): Make 'final'.
209         (_Sp_counted_deleter): Make 'final'. Use allocator_traits.
210         (_Sp_counted_ptr_inplace): Make 'final'. Use allocator_traits.
211         Derive from _Sp_counted_ptr instead of _Sp_counted_deleter to use EBO
212         for the allocator.
213         (__shared_count, __shared_ptr): Use allocator_traits.
214         * include/std/future (__future_base::_Result_alloc): Make 'final'. Use
215         allocator traits.
216         (__future_base::_Task_state): Make 'final'.
217         (__future_base::_Deferred_state): Likewise.
218         (__future_base::_Async_state): Likewise.
219         * testsuite/20_util/shared_ptr/cons/alloc_min.cc: New.
220         * testsuite/20_util/shared_ptr/creation/alloc_min.cc: New.
221         * testsuite/20_util/shared_ptr/creation/private.cc: New.
222         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
223         * testsuite/30_threads/packaged_task/cons/alloc_min.cc: New.
224         * testsuite/30_threads/promise/cons/alloc_min.cc: New.
225
226 2011-11-08  Paolo Carlini  <paolo.carlini@oracle.com>
227
228         * acinclude.m4 ([GLIBCXX_ENABLE_VISIBILITY]): Rename to
229         [GLIBCXX_ENABLE_LIBSTDCXX_VISIBILITY], likewise for the
230         option itself, to --enable-libstdcxx-visibility.
231         * configure.ac: Adjust call.
232         * doc/xml/manual/configure.xml: Update.
233         * configure: Regenerate.
234
235 2011-11-08  Paolo Carlini  <paolo.carlini@oracle.com>
236
237         * testsuite/29_atomics/headers/atomic/macros.cc: Avoid -Wall
238         warnings.
239         * testsuite/29_atomics/atomic/cons/user_pod.cc: Likewise.
240
241 2011-11-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
242
243         PR libstdc++/51018
244         * testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
245         on netbsd.
246
247 2011-11-07  Aldy Hernandez  <aldyh@redhat.com>
248             Richard Henderson  <rth@redhat.com>
249
250         Merged from transactional-memory.
251
252         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_TM_1.
253         * libsupc++/eh_tm.cc: New file.
254         * libsupc++/unwind-cxx.h (__cxa_tm_cleanup): Declare.
255         * config/abi/pre/gnu.ver: Export __cxa_tm_cleanup.
256         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
257         * libsupc++/Makefile.am (sources): Add eh_tm.cc.
258         * libsupc++/Makefile.in: Rebuild.
259
260 2011-11-07  Paolo Carlini  <paolo.carlini@oracle.com>
261
262         PR libstdc++/51018
263         * include/profile/impl/profiler_node.h (__stack_hash::
264         operator()(__stack_t)): Just use std::size_t everywhere.
265
266 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
267
268         * include/std/future (__future_base::_Ptr): Use alias-declaration.
269         (__is_same_pkgdtask): Rename to __constrain_pkgdtask and use decay
270         instead of remove_reference so that cv-quals are removed.
271
272 2011-11-07  Ed Smith-Rowland  <3dw4rd@verizon.net>
273
274         * include/precompiled/stdc++.h: Add cstdalign.
275
276 2011-11-07  Paolo Carlini  <paolo.carlini@oracle.com>
277
278         * include/std/complex (complex<>::real(), complex<>::imag()):
279         Remove redundant const qualifiers.
280
281 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
282
283         * include/bits/ptr_traits.h (__rebind): Replace with...
284         (rebind): Implement using alias-declaration.
285         * include/ext/pointer.h (__rebind): Replace with...
286         (rebind): Implement using alias-declaration.
287         * include/bits/alloc_traits.h (__rebind_alloc, __rebind_traits):
288         Replace with...
289         (rebind_alloc, rebind_traits): Implement using alias-declaration.
290         * include/ext/alloc_traits.h (rebind): Use rebind_alloc instead of
291         __rebind_alloc.
292         * include/std/scoped_allocator (rebind): Likewise.
293
294 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
295
296         * include/std/mutex (call_once): Store closure in __once_functor
297         as bound function wrapper might not be copyable.
298
299 2011-11-07  Andrew MacLeod  <amacleod@redhat.com>
300
301         * include/bits/atomic_base.h (atomic_thread_fence): Revert.
302         (atomic_signal_fence): Revert.
303
304 2011-11-07  Andrew MacLeod  <amacleod@redhat.com>
305
306         * include/bits/atomic_base.h (atomic_thread_fence): Call builtin.
307         (atomic_signal_fence): Call builtin.
308         (atomic_flag::test_and_set): Call __atomic_exchange when it is lockfree,
309         otherwise fall back to call __sync_lock_test_and_set.
310         (atomic_flag::clear): Call __atomic_store when it is lockfree,
311         otherwise fall back to call __sync_lock_release.
312
313 2011-11-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
314
315         PR bootstrap/50982
316         * include/Makefile.am (${host_builddir}/gthr-posix.h): Reflect
317         gthr-posix.h move.
318         * include/Makefile.in: Regenerate.
319
320 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
321
322         * acinclude.m4 (GLIBCXX_CHECK_SC_NPROC_ONLN): Define.
323         (GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP): Define.
324         (GLIBCXX_CHECK_SYSCTL_HW_NCPU): Define.
325         * configure.ac: Use new checks.
326         * configure: Regenerate.
327         * config.h.in: Regenerate.
328         * src/thread.cc: Check new config macros.
329         * testsuite/lib/libstdc++.exp: Likewise.
330
331 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
332
333         * config/abi/pre/gnu.ver: Fix exports for string::pop_back.
334
335 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
336
337         * acinclude.m4: Check for <stdalign.h>
338         * configure: Regenerate.
339         * config.h.in: Likewise.
340         * include/Makefile.am: Add <cstdalign>.
341         * include/Makefile.in: Regenerate.
342         * include/c_global/cstdalign: New.
343         * testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: New.
344         * doc/xml/manual/backwards_compatibility.xml: Update.
345         * doc/xml/manual/status_cxx2011.xml: Update.
346
347 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
348
349         PR libstdc++/50982
350         * include/std/mutex (__once_proxy): Use void parameter list to
351         work on implicit extern "C" systems.
352
353 2011-11-07  Xinliang David Li  <davidxl@google.com>
354
355         * include/backward/hashtable.h: Make __stl_prime_list
356         in comdat section.
357
358 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
359
360         * include/bits/basic_string.h (basic_string::at): Move adjacent to other
361         overload.
362         (basic_string::pop_back): Define.
363         * include/debug/string (__gnu_debug::basic_string::pop_back): Likewise.
364         * include/ext/vstring.h (__versa_string::pop_back): Likewise.
365         * config/abi/pre/gnu.ver: Add new symbols.
366         * testsuite/21_strings/basic_string/modifiers/char/pop_back.cc: New.
367         * testsuite/21_strings/basic_string/modifiers/wchar_t/pop_back.cc: New.
368         * testsuite/21_strings/basic_string/range_access.cc: Split to ...
369         * testsuite/21_strings/basic_string/range_access/char/1.cc: Here and ...
370         * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc: Here.
371         * testsuite/ext/vstring/modifiers/char/pop_back.cc: New.
372         * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: New.
373
374 2011-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
375
376         * doc/xml/manual/backwards_compatibility.xml: Fix autoconf tests for
377         C++11 compiler features and library headers. Add stable id
378         attributes. Use <filename> element for headers and surround in angle
379         brackets. Use <classname> for classes.
380         * doc/html/*: Regenerate.
381
382 2011-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
383
384         * doc/xml/manual/status_cxx2011.xml: Document <cuchar> and
385         <cstdalign> as missing.
386
387 2011-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
388
389         * doc/xml/faq.xml: Replace references to C++0x with C++11.
390         * doc/xml/manual/intro.xml: Likewise.
391         * doc/xml/manual/backwards_compatibility.xml: Likewise.
392         * doc/xml/manual/shared_ptr.xml: Likewise.
393         * doc/xml/manual/configure.xml: Likewise.
394         * doc/xml/manual/evolution.xml: Likewise.
395         * doc/xml/manual/using.xml: Likewise.
396         * doc/xml/manual/strings.xml: Likewise.
397         * doc/xml/manual/debug_mode.xml: Likewise.
398         * doc/xml/manual/policy_data_structures.xml: Likewise.
399         * doc/xml/manual/extensions.xml: Likewise.
400         * doc/xml/manual/diagnostics.xml: Likewise.
401         * doc/xml/manual/test.xml: Likewise.
402         * doc/xml/manual/status_cxx200x.xml: Likewise, and rename to...
403         * doc/xml/manual/status_cxx2011.xml: Here.
404         * doc/Makefile.am: Rename status_cxx200x.xml.
405         * doc/Makefile.in: Regenerate.
406         * doc/html/*: Regenerate.
407
408 2011-11-06  François Dumont <fdumont@gcc.gnu.org>
409
410         * testsuite/performance/23_containers/insert_erase/41975.cc: Add
411         tests to check performance with or without cache of hash code and with
412         string type that has a costlier hash functor than int type.
413
414 2011-11-06  Benjamin Kosnik  <bkoz@redhat.com>
415             Andrew MacLeod  <amacleod@redhat.com>
416
417         Merged from cxx-mem-model.
418
419         * include/Makefile.am (bits_headers): Remove atomic_0.h, atomic_2.h.
420         * include/Makefile.in: Regenerate.
421         * src/Makefile.am (sources): Rename atomic.cc to
422         compatibility-atomic-c++0x.cc.
423         * src/Makefile.in: Regenerate.
424         * include/bits/atomic_0.h: Remove.
425         * include/bits/atomic_2.h: Incorporate into...
426         * include/bits/atomic_base.h: ...this.  Use new __atomic routines.
427         * include/std/atomic: Add generic atomic calls to basic atomic class.
428         * src/atomic.cc: Move...
429         * src/compatibility-atomic-c++0x.cc: ...here.
430         * src/compatibility-c++0x.cc: Tweak.
431         * testsuite/29_atomics/atomic/cons/user_pod.cc: Fix.
432         * testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc:
433           Same.
434         * testsuite/29_atomics/headers/atomic/macros.cc: Same.
435
436 2011-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
437
438         * doc/xml/manual/test.xml: Fix dg-warning examples.
439
440 2011-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
441
442         PR libstdc++/44436
443         * doc/xml/manual/status_cxx200x.xml: Document emplace members are
444         missing.
445
446 2011-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
447
448         PR libstdc++/49894
449         PR bootstrap/50982
450         * include/std/mutex (once_flag): Use NSDMI.
451
452 2011-11-04  Benjamin Kosnik  <bkoz@redhat.com>
453
454         * scripts/run_doxygen: Fix sed quoting.
455
456 2011-11-03  Benjamin Kosnik  <bkoz@redhat.com>
457
458         * doc/doxygen/doxygroups.cc: Add markup for namespace tr2.
459         * include/tr2/bool_set: Adjust doxygen markup.
460         * include/tr2/dynamic_bitset: Same.
461         * include/tr2/type_traits: Same.
462
463 2011-11-03  Benjamin Kosnik  <bkoz@redhat.com>
464
465         * doc/html/*: Regenerate.
466
467 2011-11-02  Richard B. Kreckel  <kreckel@ginac.de>
468             Paolo Carlini  <paolo.carlini@oracle.com>
469
470         PR libstdc++/50880
471         * include/std/complex (__complex_acosh): Fix in a better way,
472         use Kahan's formula.
473         * include/tr1/complex (__complex_acosh): Likewise.
474
475 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
476
477         PR libstdc++/50951
478         * include/bits/random.tcc (operator<<(basic_ostream<>&,
479         const mersenne_twister_engine<>&): Output _M_p too.
480         (operator<<(basic_ostream<>&, const
481         subtract_with_carry_engine<>&): Likewise.
482         (operator>>(basic_istream<>&, mersenne_twister_engine<>&):
483         Reload it.
484         (operator>>(basic_istream<>&, subtract_with_carry_engine<>&):
485         Likewise.
486         * include/bits/random.h (mersenne_twister_engine<>::operator==):
487         Compare _M_p too.
488         (subtract_with_carry_engine<>::operator==): Compare _M_carry
489         and _M_p too.
490         (shuffle_order_engine<>::operator==): Compare _M_v(s) and _M_y too.
491         * testsuite/26_numerics/random/independent_bits_engine/
492         operators/serialize.cc: Extend.
493         * testsuite/26_numerics/random/subtract_with_carry_engine/
494         operators/serialize.cc: Likewise.
495         * testsuite/26_numerics/random/discard_block_engine/
496         operators/serialize.cc: Likewise.
497         * testsuite/26_numerics/random/mersenne_twister_engine/
498         operators/serialize.cc: Likewise.
499         * testsuite/26_numerics/random/linear_congruential_engine/
500         operators/serialize.cc: Likewise.
501         * testsuite/26_numerics/random/shuffle_order_engine/
502         operators/serialize.cc: Likewise.
503
504 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
505
506         * acinclude.m4 (GLIBCXX_CONFIGURE): Determine and substitute
507         toplevel_builddir.
508         (GLIBCXX_ENABLE_THREADS): Remove glibcxx_thread_h,
509         HAVE_GTHR_DEFAULT, enable_thread.
510         (GLIBCXX_CHECK_GTHREADS): Reflect gthr move to libgcc.
511         * include/Makefile.am (thread_host_headers): Remove
512         ${host_builddir}/gthr-tpf.h.
513         (${host_builddir}/gthr.h): Reflect gthr move to libgcc.
514         Use $<.
515         (${host_builddir}/gthr-single.h): Likewise.
516         (${host_builddir}/gthr-posix.h): Likewise.
517         (${host_builddir}/gthr-tpf.h): Remove.
518         (${host_builddir}/gthr-default.h): Likewise.
519         * configure, config.h.in: Regenerate.
520         * Makefile.in, doc/Makefile.in, include/Makefile.in,
521         libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
522         src/Makefile.intestsuite/Makefile.in: Regenerate.
523
524 2011-11-02  Benjamin Kosnik  <bkoz@redhat.com>
525
526         * include/bits/c++config: Add tr2 to versioned namespaces.
527         * scripts/run_doxygen: Adjust generated man files as well.
528         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
529
530 2011-11-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
531
532         * include/std/future (promise): Add constructors for uses-allocator
533         construction from rvalue promise.
534         (packaged_task): Implement LWG 2067. Add additional constructors for
535         uses-allocator construction.
536         * testsuite/30_threads/packaged_task/cons/3.cc: New.
537         * testsuite/30_threads/packaged_task/cons/alloc2.cc: New.
538         * testsuite/30_threads/promise/cons/alloc2.cc: New.
539
540 2011-10-31  Jason Merrill  <jason@redhat.com>
541
542         * include/Makefile.am (install-freestanding-headers): Install
543         c++0x_warning.h.
544         * libsupc++/initializer_list: Include it.
545
546 2011-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
547
548         * acinclude.m4 (GLIBCXX_CONFIGURE): Refer to GNU/Linux.
549         * configure: Regenerate.
550
551 2011-10-31  Jason Merrill  <jason@redhat.com>
552
553         PR c++/50920
554         * include/bits/c++0x_warning.h: Change -std=c++0x to -std=c++11.
555
556 2011-10-30  Gerald Pfeifer  <gerald@pfeifer.com>
557
558         * prerequisites.xml: Refer to GCC (instead of gcc) and GNU/Linux.
559         Remove an obsolete reference to a Red Hat release we do not
560         support any longer.
561         Refer to Debian GNU/Linux.
562
563 2011-10-30  Gerald Pfeifer  <gerald@pfeifer.com>
564
565         * faq.xml (Who's in charge of it?): Refer to the Linux kernel
566         instead of just Linux.
567         (How do I install libstdc++?): Refer to GNU/Linux instead of
568         just Linux.
569
570 2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>
571
572         * testsuite/30_threads/condition_variable_any/50862.cc: Trivial
573         formatting fixes.
574
575 2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>
576
577         * testsuite/23_containers/unordered_map/operations/count.cc: New.
578         * testsuite/23_containers/multimap/operations/count.cc: Likewise.
579         * testsuite/23_containers/set/operations/count.cc: Likewise.
580         * testsuite/23_containers/unordered_multimap/operations/count.cc:
581         Likewise.
582         * testsuite/23_containers/unordered_set/operations/count.cc: Likewise.
583         * testsuite/23_containers/multiset/operations/count.cc: Likewise.
584         * testsuite/23_containers/unordered_multiset/operations/count.cc:
585         Likewise.
586         * testsuite/23_containers/map/operations/count.cc: Likewise.
587
588 2011-10-28  Richard B. Kreckel  <kreckel@ginac.de>
589
590         * include/std/complex (__complex_acosh): Just use '< _Tp()'.
591         * include/tr1/complex (__complex_acosh): Likewise.
592
593 2011-10-27  Richard B. Kreckel  <kreckel@ginac.de>
594             Paolo Carlini  <paolo.carlini@oracle.com>
595
596         PR libstdc++/50880
597         * include/std/complex (__complex_acosh): Fix for __z.real() < 0.
598         * include/tr1/complex (__complex_acosh): Likewise.
599         * testsuite/26_numerics/complex/50880.cc: New.
600         * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
601
602 2011-10-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
603
604         PR libstdc++/50862
605         * include/std/condition_variable (condition_variable_any::wait): Avoid
606         terminating if relocking user mutex throws during stack-unwinding.
607         * testsuite/30_threads/condition_variable_any/50862.cc: Add dg-require.
608
609 2011-10-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
610
611         * include/std/condition_variable (condition_variable_any): Remove
612         unused native_handle_type typedef.
613         * src/condition_variable.cc (condition_variable): Add missing noexcept
614         specifications.
615         * testsuite/30_threads/condition_variable_any/requirements/
616         typedefs.cc: Remove.
617
618 2011-10-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
619
620         PR libstdc++/50862
621         * include/std/condition_variable (condition_variable_any::wait): Fix
622         deadlock and ensure _Lock::lock() is called on exit.
623         (condition_variable_any::native_handle): Remove, as per LWG 1500.
624         * testsuite/30_threads/condition_variable_any/50862.cc: New.
625
626 2011-10-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
627
628         PR libstdc++/49894
629         * include/std/mutex (__mutex_base,__recursive_mutex_base): Define new
630         base classes to manage construction/destruction of native mutexes,
631         using NSDMI when INIT macros are defined.
632         (mutex,recursive_mutex,timed_mutex,recursive_timed_mutex): Derive from
633         new base classes.
634         * include/std/condition_variable (condition_variable): Use NSDMI when
635         INIT macro is defined. Use noexcept.
636         * src/condition_variable.cc (condition_variable): Explicitly-default
637         constructor/destructor when using NSDMI. Use noexcept.
638         (condition_variable_any): Likewise.
639
640 2011-10-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
641
642         * testsuite/30_threads/async/49668.cc: Add missing dg-require.
643         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
644
645 2011-10-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
646
647         PR libstdc++/50834
648         * doc/xml/manual/using.xml: Update thread safety docs w.r.t. C++11.
649
650 2011-10-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
651
652         PR libstdc++/50196
653         * acinclude.m4 (GLIBCXX_HAS_GTHREADS): Don't depend on _POSIX_TIMEOUTS.
654         * configure: Regenerate.
655         * include/std/mutex (timed_mutex, recursive_timed_mutex): Define
656         conditionally on GTHREADS_HAS_MUTEX_TIMEDLOCK.
657         * testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed): Define.
658         * testsuite/lib/dg-options.exp (dg-require-gthreads-timed): Define.
659         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
660         Use dg-require-gthreads-timed instead of dg-require-gthreads.
661         * testsuite/30_threads/recursive_timed_mutex/native_handle/
662         typesizes.cc: Likewise.
663         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
664         Likewise.
665         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
666         Likewise.
667         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
668         Likewise.
669         * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
670         Likewise.
671         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
672         * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
673         Likewise.
674         * testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
675         Likewise.
676         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
677         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
678         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
679         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
680         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
681         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
682         Likewise.
683         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
684         Likewise.
685         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
686         Likewise.
687         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
688         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
689         Likewise.
690         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
691         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
692         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
693         * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
694         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
695         * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
696         * testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
697         Likewise.
698         * testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
699         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
700         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
701         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
702         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
703         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
704         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
705         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
706         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
707         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
708         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
709         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
710
711 2011-10-19  Ed Smith-Rowland  <3dw4rd@verizon.net>
712
713         * include/tr2/bool_set (bool_set): New.
714         * include/tr2/bool_set.tcc: New.
715         * include/tr2/dynamic_bitset (dynamic_bitset): New.
716         * include/tr2/ratio (kibi, mebi, gibi, tebi, pebi, exbi): New.
717         * include/Makefile.am: Add files.
718         * include/Makefile.in: Regenerate.
719
720 2011-10-19  Benjamin Kosnik  <bkoz@redhat.com>
721
722         * doc/doxygen/user.cfg.in: Add tr2 files.
723         * testsuite/tr2/headers/all.cc: New.
724         * testsuite/tr2/headers/using_namespace_std_tr2.cc: New.
725
726         * include/tr2/type_traits: Tweak.
727
728 2011-10-18  Jason Merrill  <jason@redhat.com>
729
730         PR c++/50500
731         * include/bits/shared_ptr.h: Default copy ctor and assignment.
732         * testsuite/util/testsuite_allocator.h: Define copy assignment.
733         * testsuite/util/testsuite_rvalref.h: Default copy assignment.
734         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Remove note tags.
735
736 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
737
738         * include/tr2/type_traits (bases, direct_bases, typelist): New.
739
740 2011-10-17  Benjamin Kosnik  <bkoz@redhat.com>
741
742         * libstdc++-v3/include/Makefile.am: Add tr2 directory and includes.
743         * libstdc++-v3/include/Makefile.in: Regenerate.
744
745         * scripts/create_testsuite_files: Search tr2 directory.
746         * testsuite/libstdc++-dg/conformance.exp: Same.
747
748         * testsuite/tr2/bases/requirements/explicit_instantiation.cc: New.
749         * testsuite/tr2/bases/requirements/typedefs.cc: New.
750         * testsuite/tr2/bases/value.cc: New.
751         * testsuite/tr2/direct_bases/requirements/
752         explicit_instantiation.cc: New.
753         * testsuite/tr2/direct_bases/requirements/typedefs.cc: New.
754         * testsuite/tr2/direct_bases/value.cc: New.
755
756 2011-10-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
757
758         PR bootstrap/50715
759         * config/abi/pre/gnu.ver (CXXABI_1.3.6): Remove duplicate
760         __cxa_get_exception_ptr.
761
762 2011-10-14  François Dumont  <francois.cppdevs@free.fr>
763
764         * testsuite/performance/23_containers/insert_erase/41975.cc: New.
765
766 2011-10-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
767
768         * testsuite/22_locale/codecvt_byname/50714.cc: Fix mychar.
769
770 2011-10-14  Jonathan Yong  <jon_y@users.sourceforge.net>
771
772         * configure.host: Use config/os/mingw32-w64 instead of
773         config/os/mingw32 if vendor key is "w64".
774         * config/os/mingw32-w64: Duplicate from config/os/mingw32.
775         * config/os/mingw32-w64/os_defines.h: Enable
776         _GLIBCXX_FULLY_DYNAMIC_STRING if undefined.
777         * acinclude.m4: Set fully-dynamic-string to 1 when enabled,
778         0 when disabled or undefined if unset by user.
779         * include/bits/basic_string.h: Check if
780         _GLIBCXX_FULLY_DYNAMIC_STRING is set to 0 instead of undefined.
781         include/bits/basic_string.tcc: Likewise.
782         * configure: Regenerated.
783         * config.h.in: Likewise.
784
785 2011-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
786
787         PR libstdc++/50714
788         * include/bits/codecvt.h (codecvt<>::codecvt(size_t)): Initialize
789         _M_c_locale_codecvt member.
790         * testsuite/22_locale/codecvt_byname/50714.cc: New.
791
792 2011-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
793
794         PR c++/50594
795         * libsupc++/new (operator new, operator delete): Decorate with
796         __attribute__((__externally_visible__)).
797         * include/bits/c++config: Add _GLIBCXX_THROW.
798         * libsupc++/del_op.cc: Adjust.
799         * libsupc++/del_opv.cc: Likewise.
800         * libsupc++/del_opnt.cc: Likewise.
801         * libsupc++/del_opvnt.cc: Likewise.
802         * libsupc++/new_op.cc: Likewise.
803         * libsupc++/new_opv.cc: Likewise.
804         * libsupc++/new_opnt.cc: Likewise.
805         * libsupc++/new_opvnt.cc: Likewise.
806         * testsuite/18_support/50594.cc: New.
807         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
808         line number.
809
810 2011-10-11  Emil Wojak  <emil@wojak.eu>
811
812         PR c++/50661
813         * include/bits/stl_algobase.h (equal): Compare arrays of pointers
814         too with memcmp.
815
816 2011-10-10  Benjamin Kosnik  <bkoz@redhat.com>
817
818         PR libstdc++/49818
819         * config/abi/pre/gnu.ver (CXXABI_1.3.6): Add symbols.
820         * testsuite/util/testsuite_abi.cc: Same.
821         * libsupc++/unwind-cxx.h: Move required eh API...
822         * libsupc++/cxxabi.h: ... to here. Add required forward declarations.
823         Use _GLIBCXX_NOTHROW.
824         * libsupc++/pure.cc (__cxa_deleted_virtual): Add.
825         * libsupc++/eh_alloc.cc: Use _GLIBCXX_NOTHROW.
826         * libsupc++/eh_catch.cc: Same.
827         * libsupc++/eh_globals.cc: Same.
828         * libsupc++/eh_type.cc: Same.
829
830 2011-10-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
831
832         * testsuite/util/testsuite_allocator.h (uneq_allocator): Add
833         propagate_on_container_swap typedef for C++0x testing.
834
835 2011-10-06  Paolo Carlini  <paolo.carlini@oracle.com>
836
837         * testsuite/27_io/ios_base/cons/assign_neg.cc: Tidy dg- directives,
838         for C++0x testing too.
839         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
840         * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Likewise.
841         * testsuite/24_iterators/istreambuf_iterator/requirements/
842         base_classes.cc: Adjust for C++0x testing.
843         * testsuite/ext/codecvt/char-1.cc: Avoid warnings in C++0x mode.
844         * testsuite/ext/codecvt/char-2.cc: Likewise.
845         * testsuite/ext/codecvt/wchar_t.cc: Likewise.
846
847 2011-10-05  Paolo Carlini  <paolo.carlini@oracle.com>
848
849         * include/ext/pod_char_traits.h: Avoid warnings in C++0x mode
850         when int_type is unsigned.
851
852 2011-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
853
854         PR libstdc++/49561
855         * include/bits/stl_list.h (_List_base<>::_List_impl::_M_size):
856         Add in C++0x mode.
857         (_List_base<>::_List_impl, _List_base<>::_M_get_node,
858         _List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&),
859         list<>::size, list<>::swap, list<>::splice): Use it.
860         (operator==(const list<>&, const list<>&)): Rewrite in C++0x mode.
861         * include/bits/list.tcc (list<>::erase): Likewise.
862         (list<>::merge): Adjust in C++0x mode.
863         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
864         Adjust dg-error line number.
865         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
866         Likewise.
867         * testsuite/23_containers/list/requirements/dr438/
868         constructor_1_neg.cc: Likewise.
869         * testsuite/23_containers/list/requirements/dr438/
870         constructor_2_neg.cc: Likewise.
871
872 2011-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
873
874         * testsuite/20_util/bind/48698.cc (g): Fix return type, avoid -Wall
875         warning.
876
877 2011-10-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
878
879         * include/ext/alloc_traits.h (__alloc_traits::max_size): Define.
880         (__alloc_traits::rebind): Define.
881         * include/bits/stl_vector.h: Use them.
882         * testsuite/util/testsuite_allocator.h (SimpleAllocator): Define.
883         * testsuite/23_containers/vector/allocator/minimal.cc: New.
884         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
885         Adjust dg-error line numbers.
886         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
887         Likewise.
888         * testsuite/23_containers/vector/requirements/dr438/
889         constructor_1_neg.cc: Likewise.
890         * testsuite/23_containers/vector/requirements/dr438/
891         constructor_2_neg.cc: Likewise.
892
893 2011-10-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
894
895         * testsuite/20_util/pointer_traits/pointer_to.cc: Define equality
896         operator and use.
897
898 2011-10-03  Paolo Carlini  <paolo.carlini@oracle.com>
899
900         * include/bits/hashtable.h (_Hashtable<>::insert(value_type&&),
901         insert(const_iterator, value_type&&)): Don't define here...
902         * include/bits/unordered_set.h (__unordered_set<>,
903         __unordered_multiset<>): ... define here instead.
904
905 2011-09-29  Jason Merrill  <jason@redhat.com>
906
907         * testsuite/util/testsuite_tr1.h (test_property): Avoid
908         ambiguity.
909
910 2011-10-01  François Dumont  <fdumont@gcc.gnu.org>
911
912         * include/debug/vector (vector<>::erase(iterator, iterator): Check
913         iterators equality using normal iterators.
914         * include/debug/deque (deque<>::erase(iterator, iterator): Likewise.
915
916 2011-09-29  Paolo Carlini  <paolo.carlini@oracle.com>
917
918         * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
919         Remove noexcept from declaration too.
920
921 2011-09-27  Benjamin Kosnik  <bkoz@redhat.com>
922
923         * doc/html/*: Regenerate.
924
925         * doc/Makefile.am: Un-nest the ext output directory.
926         * doc/Makefile.in: Regenerate.
927         * spine.xml: Remove authors, add abstract for short
928         contents. Rename to index.html for html output.
929         * manual/spine.xml: Authors here, manual starts with index.html.
930         * api.xml: Update.
931         * faq.xml: Same.
932
933 2011-09-27  Marcus Shawcroft  <marcus.shawcroft@arm.com>
934
935         * libsupc++/tinfo.cc (type_info::operator==): Test __name instead
936         of name().
937
938 2011-09-26  Paolo Carlini  <paolo.carlini@oracle.com>
939
940         PR libstdc++/50529
941         * include/bits/vector.tcc (vector<>::erase(iterator, iterator)):
942         Fix to do nothing if the range is empty.
943         * include/bits/stl_bvector.h: Likewise.
944         * include/bits/deque.tcc: Likewise.
945         * include/debug/vector: Adjust.
946         * include/debug/deque: Likewise.
947         * testsuite/23_containers/vector/modifiers/erase/50529.cc: New.
948         * testsuite/23_containers/deque/modifiers/erase/50529.cc: Likewise.
949         * testsuite/23_containers/deque/modifiers/erase/3.cc: Adjust.
950
951 2011-09-25  Benjamin Kosnik  <bkoz@redhat.com>
952             Jonathan Wakely  <jwakely.gcc@gmail.com>
953
954         PR libstdc++/48698
955         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Set libtool_VERSION here.
956         * configure.ac: Move AC_SUBST of libtool_VERSION past call to
957         GLIBCXX_ENABLE_SYMVERS.
958         * configure: Regenerate.
959         * include/bits/c++config: Use __7 as versioned namespace name.
960         * config/abi/pre/gnu-versioned-namespace.ver: Change mangling as
961         per above.
962         * include/c_global/cwchar: Adjust nested namespaces.
963         * testsuite/20_util/bind/48698.cc: Add test case.
964         * testsuite/ext/profile/mutex_extensions_neg.cc: Change line number.
965
966 2011-09-25  Paolo Carlini  <paolo.carlini@oracle.com>
967
968         Revert (no longer necessary post r179130):
969
970         2010-04-27  Fabien Chêne  <fabien.chene@gmail.com>
971
972         * testsuite/util/testsuite_error.h: Add empty default constructor
973         to __gnu_test::test_category and
974         __gnu_test::test_derived_category.
975         * src/future.cc: Add empty default constructor to
976         future_error_category.
977         * src/system_error.cc: Add default ctor to generic_error_category
978         and system_error_category.
979
980 2011-09-24  John Salmon  <john.salmon@deshaw.com>
981
982         PR libstdc++/50510
983         * include/bits/random.tcc (seed_seq::generate): Fix computation.
984
985 2011-09-24  John Salmon  <john.salmon@deshaw.com>
986
987         PR libstdc++/50509
988         * include/bits/random.tcc (seed_seq::generate): Fix computation.
989
990 2011-09-21  Benjamin Kosnik  <bkoz@redhat.com
991
992         * doc/Makefile.am (stamp-epub-docbook): Fix image directory location.
993         * doc/Makefile.in: Regenerate.
994
995 2011-09-21  Paolo Carlini  <paolo.carlini@oracle.com>
996
997         * src/limits.cc: Replace everywhere __int128_t -> __int128, and
998         __uint128_t -> unsigned __int128.
999         * include/std/type_traits: Likewise.
1000         * include/std/limits: Likewise.
1001         * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
1002         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
1003         * testsuite/18_support/numeric_limits/40856.cc: Likewise.
1004         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
1005         * testsuite/util/testsuite_common_types.h: Likewise.
1006         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
1007         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1008         * testsuite/20_util/is_floating_point/value.cc: Likewise.
1009         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
1010         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
1011         * testsuite/20_util/is_signed/value.cc: Likewise.
1012         * testsuite/20_util/is_unsigned/value.cc: Likewise.
1013         * testsuite/20_util/is_integral/value.cc: Likewise.
1014         * config/abi/pre/gnu.ver: Likewise.
1015         * acinclude.m4: Likewise.
1016         * configure: Regenerate.
1017         * config.h.in: Likewise.
1018
1019 2011-09-19  Paolo Carlini  <paolo.carlini@oracle.com>
1020
1021         PR libstdc++/40856
1022         * include/std/limits (numeric_limits<__int128_t>,
1023         numeric_limits<__uint128_t>): Add.
1024         * src/limits.cc:Define.
1025         * config/abi/pre/gnu.ver: Export.
1026         * include/ext/typelist.h (_GLIBCXX_TYPELIST_CHAIN16, 20): Add.
1027         * testsuite/util/testsuite_common_types.h (integral_types_gnu): Add
1028         (limits_tl): Use it.
1029         * testsuite/18_support/numeric_limits/requirements/
1030         constexpr_functions.cc: Likewise.
1031         * testsuite/18_support/numeric_limits/40856.cc: New.
1032         * testsuite/18_support/numeric_limits/dr559.cc: Extend.
1033         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
1034         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
1035         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
1036         line numbers.
1037         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
1038         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
1039         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
1040         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
1041         Likewise.
1042         * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
1043         Likewise.
1044         * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
1045         Likewise.
1046
1047 2011-09-17  Paolo Carlini  <paolo.carlini@oracle.com>
1048
1049         PR libstdc++/50441
1050         * acinclude.m4 ([GLIBCXX_ENABLE_INT128_FLOAT128]): Add.
1051         * configure.ac: Call it.
1052         * include/std/type_traits (__is_integral_helper<__int128_t>,
1053         __is_integral_helper<__uint128_t>,
1054         __is_floating_point_helper<__float128>,
1055         __make_unsigned<__int128_t>, __make_signed<__uint128_t>): Add.
1056         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Extend.
1057         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1058         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
1059         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
1060         * testsuite/20_util/is_signed/value.cc: Likewise.
1061         * testsuite/20_util/is_unsigned/value.cc: Likewise.
1062         * testsuite/20_util/is_integral/value.cc: Likewise.
1063         * testsuite/20_util/is_floating_point/value.cc: New.
1064         * testsuite/20_util/is_floating_point/requirements/typedefs.cc:
1065         Likewise.
1066         * testsuite/20_util/is_floating_point/requirements/
1067         explicit_instantiation.cc: Likewise.
1068         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1069         dg-error line numbers.
1070         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1071         Likewise.
1072         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1073         * configure: Regenerate.
1074         * config.h.in: Likewise.
1075
1076 2011-09-17  François Dumont  <fdumont@gcc.gnu.org>
1077
1078         * include/bits/hashtable.h (_Hashtable<>::__rehash_policy(const
1079         _RehashPolicy&)): Commit the modification of the policy only if no
1080         exception occured.
1081         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
1082         New.
1083
1084 2011-09-16  Paolo Carlini  <paolo.carlini@oracle.com>
1085
1086         * testsuite/23_containers/array/comparison_operators/
1087         less_or_equal.cc: New.
1088         * testsuite/23_containers/array/comparison_operators/
1089         greater_or_equal.cc: Likewise.
1090         * testsuite/23_containers/array/comparison_operators/less.cc: Likewise.
1091         * testsuite/23_containers/array/comparison_operators/equal.cc: Likewise.
1092         * testsuite/23_containers/array/comparison_operators/not_equal.cc:
1093         Likewise.
1094         * testsuite/23_containers/array/comparison_operators/greater.cc:
1095         Likewise.
1096         * testsuite/23_containers/array/iterators/end_is_one_past.cc: Likewise.
1097         * testsuite/23_containers/array/capacity/empty.cc: Likewise.
1098         * testsuite/23_containers/array/capacity/max_size.cc: Likewise.
1099         * testsuite/23_containers/array/capacity/size.cc: Likewise.
1100         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
1101         Likewise.
1102         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
1103         Likewise.
1104         * testsuite/23_containers/array/element_access/at_out_of_range.cc:
1105         Likewise.
1106         * testsuite/23_containers/array/element_access/back.cc: Likewise.
1107         * testsuite/23_containers/array/element_access/front.cc: Likewise.
1108         * testsuite/23_containers/array/element_access/data.cc: Likewise.
1109         * testsuite/23_containers/array/cons/aggregate_initialization.cc:
1110         Likewise.
1111         * testsuite/23_containers/array/requirements/zero_sized_arrays.cc:
1112         Likewise.
1113         * testsuite/23_containers/array/requirements/contiguous.cc: Likewise.
1114         * testsuite/23_containers/array/requirements/member_swap.cc: Likewise.
1115         * testsuite/23_containers/array/specialized_algorithms/swap.cc:
1116         Likewise.
1117         * testsuite/23_containers/array/constexpr_get.cc: Move...
1118         * testsuite/23_containers/array/tuple_interface/constexpr_get.cc:
1119         ... here.
1120         * testsuite/23_containers/array/requirements/get.cc: Move...
1121         * testsuite/23_containers/array/tuple_interface/get: ... here.
1122         * testsuite/23_containers/array/at_neg.cc: Move...
1123         * testsuite/23_containers/array/element_access: ... here.
1124         * testsuite/23_containers/array/requirements/constexpr_functions.cc:
1125         Move...
1126         * testsuite/23_containers/array/capacity: ... here.
1127         * testsuite/23_containers/array/requirements/
1128         constexpr_element_access.cc: Move...
1129         * testsuite/23_containers/array/element_access: ... here.
1130
1131         * testsuite/20_util/duration/cons/1_neg.cc: Avoid -Wall warnings.
1132         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
1133         * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
1134         * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
1135         * testsuite/23_containers/bitset/operations/constexpr.cc: Likewise.
1136
1137         * testsuite/20_util/duration/cons/1_neg.cc: Discard bogus warning.
1138         * testsuite/20_util/forward/1_neg.cc: Likewise.
1139
1140 2011-09-15  Paolo Carlini  <paolo.carlini@oracle.com>
1141
1142         * include/std/tuple (make_tuple, forward_as_tuple): Declare constexpr.
1143         (_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&)): Likewise.
1144         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Enable
1145         make_tuple test.
1146         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
1147         line number.
1148
1149 2011-09-14  François Dumont  <fdumont@gcc.gnu.org>
1150             Paolo Carlini  <paolo.carlini@oracle.com>
1151
1152         * include/bits/hashtable.h (_Hashtable<>::_M_rehash): Take and restore
1153         hash policy _M_prev_resize on exception.
1154         (_Hashtable<>::_M_insert_bucket): Capture hash policy next resize
1155         before using it and use latter method to have it restored on exception.
1156         (_Hashtable<>::_M_insert(_Arg&& __v, std::false_type): Likewise.
1157         (_Hashtable<>::insert(_InputIterator, _InputIterator): Likewise.
1158         (_Hashtable<>::rehash): Likewise.
1159         * testsuite/23_containers/unordered_set/insert/hash_policy.cc: New.
1160         * testsuite/23_containers/unordered_multiset/insert/hash_policy.cc:
1161         Likewise.
1162
1163 2011-09-13  Paul Brook  <paul@codesourcery.com>
1164
1165         * libsupc++/eh_arm.cc (__cxa_end_cleanup): Add C6X implementation.
1166         * libsupc++/eh_call.cc (__cxa_call_unexpected): Set rtti_base.
1167         * libsupc++/eh_personality.cc (NO_SIZE_OF_ENCODED_VALUE): Remove
1168         __ARM_EABI_UNWINDER__ check.
1169         (parse_lsda_header): Check _GLIBCXX_OVERRIDE_TTYPE_ENCODING.
1170         (get_ttype_entry): Use generic implementation on ARM EABI.
1171         (check_exception_spec): Use _Unwind_decode_typeinfo_ptr and
1172         UNWIND_STACK_REG.
1173         (PERSONALITY_FUNCTION): Set ttype_base.
1174
1175 2011-09-12  Daniel Krugler  <daniel.kruegler@googlemail.com>
1176             Paolo Carlini  <paolo.carlini@oracle.com>
1177
1178         * include/std/tuple (_Head_base<>::_M_head, _Head_base<>::_M_tail,
1179         _Tuple_impl<>::_M_head, _Tuple_impl<>::_M_tail): Change to static
1180         constexpr functions; adjust everywhere.
1181         (__get_helper, get): Declare constexpr all three overloads.
1182         (tuple_cat): Declare constexpr; use late return type to improve
1183         error messages.
1184         * include/std/utility (__pair_get<>::__get, __pair_get<>::__move_get,
1185         __pair_get<>::__const_get, get): Declare all constexpr.
1186         * include/std/array (get): Likewise.
1187         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Re-enable
1188         tuple_cat test.
1189         * testsuite/23_containers/array/constexpr_get.cc: New.
1190         * testsuite/20_util/tuple/element_access/constexpr_get.cc: Likewise.
1191         * testsuite/20_util/pair/constexpr_get.cc: Likewise.
1192         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
1193         line number.
1194
1195 2011-09-12  Jason Merrill  <jason@redhat.com>
1196
1197         * testsuite/20_util/is_constructible/value-2.cc: Adjust
1198         expected values.
1199
1200 2011-09-11  Daniel Krugler  <daniel.kruegler@googlemail.com>
1201
1202         PR libstdc++/50159
1203         * include/std/tuple (tuple_cat): Reimplement according to the
1204         resolution of LWG 1385.
1205         * include/std/type_traits: Define __and_ and __or_ for zero
1206         arguments too; minor tweaks.
1207         * testsuite/20_util/tuple/creation_functions/tuple_cat.cc: New.
1208         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Disable
1209         for now tuple_cat test.
1210         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1211         line numbers.
1212         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1213         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1214         Likewise.
1215         * doc/xml/manual/status_cxx200x.xml: Update.
1216
1217 2011-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
1218
1219         * include/std/tuple: Use everywhere std::size_t... instead of int...
1220         * include/std/functional: Likewise.
1221         * include/std/scoped_allocator: Likewise.
1222         * include/bits/stl_pair.h: Likewise.
1223
1224 2011-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
1225
1226         PR libstdc++/50336
1227         * include/bits/streambuf_iterator.h (class istreambuf_iterator):
1228         Implement LWG 445 in C++0x mode.
1229         * testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc:
1230         New.
1231
1232 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
1233
1234         PR c++/33255 - Support -Wunused-local-typedefs warning
1235         * include/ext/bitmap_allocator.h
1236         (__detail::__mini_vector::__lower_bound): Remove unused typedef.
1237         * src/istream.cc (std::operator>>(basic_istream<char>& __in,
1238         basic_string<char>& __str)): Likewise.
1239         (std::getline): Likewise.
1240         * src/valarray.cc (__valarray_product): Likewise.
1241
1242 2011-09-07  François Dumont  <francois.cppdevs@free.fr>
1243
1244         * testsuite/23_containers/array/at.cc: Revert to...
1245         * testsuite/23_containers/array/at_neg.cc: ...this.
1246
1247 2011-09-07  Jason Merrill  <jason@redhat.com>
1248
1249         * testsuite/20_util/bind/ref_neg.cc: Adjust errors.
1250         * testsuite/20_util/duration/cons/1_neg.cc: Adjust errors.
1251
1252 2011-09-06  Benjamin Kosnik  <bkoz@redhat.com>
1253
1254         * include/std/tuple (_Tuple_impl::_M_head, _M_tail): Mark constexpr.
1255         (tuple(tuple&&)): Same.
1256         (tuple(const tuple<_UElements...>& __in)): Same.
1257         (tuple(tuple<_UElements...>&& __in)): Same.
1258         (tuple_cat(const tuple<_TElements...>&, const tuple<_UElements...>&)):
1259         Same.
1260         (get): Same.
1261         * include/std/array: Consolidate array::data usage.
1262         * testsuite/23_containers/array/requirements/constexpr_functions.cc:
1263         Remove extra include.
1264         * testsuite/20_util/tuple/creation_functions/constexpr.cc: New.
1265         * testsuite/20_util/tuple/cons/constexpr-2.cc: Add tests.
1266         * testsuite/20_util/tuple/cons/constexpr-3.cc: Same.
1267         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line numbers.
1268
1269 2011-09-06  François Dumont  <fdumont@gcc.gnu.org>
1270             Paolo Carlini  <paolo.carlini@oracle.com>
1271
1272         * include/bits/hashtable_policy.h (_Prime_rehash_policy::
1273         _M_next_bkt): Cast _M_max_load_factor to long double.
1274         (_Prime_rehash_policy::_M_bkt_for_elements): Use _M_next_bkt.
1275         (_Prime_rehash_policy::_M_need_rehash): Likewise; cast all
1276         float quantities to long double.
1277
1278 2011-09-06  Paolo Carlini  <paolo.carlini@oracle.com>
1279
1280         PR libstdc++/50257
1281         * include/bits/hashtable_policy.h (_Prime_rehash_policy::
1282         _M_next_bkt): Optimize for small argument.
1283
1284 2011-09-02  François Dumont  <fdumont@gcc.gnu.org>
1285
1286         * testsuite/util/testsuite_allocator.h (tracker_allocator_counter::
1287         allocate): Update allocation count only if allocation succeeded.
1288
1289 2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
1290
1291         * include/std/bitset: Trivial formatting fixes.
1292
1293 2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
1294             Marc Glisse  <marc.glisse@normalesup.org>
1295
1296         * include/std/bitset (_Base_bitset<>::_M_are_all_aux): Remove.
1297         (_Base_bitset<>::_M_are_all): Add.
1298         (bitset<>::all): Use the latter, improve implementation.
1299
1300 2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
1301             Marc Glisse  <marc.glisse@normalesup.org>
1302
1303         PR libstdc++/50268
1304         * include/std/bitset (struct _Sanitize_val): Add.
1305         (bitset<>::bitset(unsigned long long)): Fix.
1306         * testsuite/23_containers/bitset/cons/50268.cc: New.
1307
1308 2011-09-01  Paolo Carlini  <paolo.carlini@oracle.com>
1309
1310         * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
1311         Remove noexcept, the move constructor allocates memory; rearrange
1312         the code in the body to consistently update __ht._M_rehash_policy
1313         before using _M_next_bkt on it.
1314         * include/debug/unordered_map: Adjust.
1315         * include/debug/unordered_set: Likewise.
1316         * include/profile/unordered_map: Likewise.
1317         * include/profile/unordered_set: Likewise.
1318         * testsuite/23_containers/unordered_map/cons/
1319         noexcept_move_construct.cc: Remove.
1320         * testsuite/23_containers/unordered_set/cons/
1321         noexcept_move_construct.cc: Likewise.
1322         * testsuite/23_containers/unordered_multimap/cons/
1323         noexcept_move_construct.cc: Likewise.
1324         * testsuite/23_containers/unordered_multiset/cons/
1325         noexcept_move_construct.cc: Likewise.
1326
1327 2011-08-31  Paolo Carlini  <paolo.carlini@oracle.com>
1328
1329         * include/std/chrono (operator*(const _Rep1&, const duration<>&)):
1330         Fix order of template parameters per LWG 2004.
1331
1332 2011-08-30  Paolo Carlini  <paolo.carlini@oracle.com>
1333
1334         * include/bits/stl_iterator.h (make_move_iterator): Implement DR2061.
1335         * testsuite/24_iterators/move_iterator/dr2061.cc: New.
1336         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
1337         line numbers.
1338
1339 2011-08-30  Paolo Carlini  <paolo.carlini@oracle.com>
1340
1341         * config/os/mingw32/error_constants.h: Fix commas.
1342
1343 2011-08-29  Benjamin Kosnik  <bkoz@redhat.com>
1344
1345         * testsuite/20_util/duration/arithmetic/constexpr.cc: Add.
1346
1347 2011-08-29  Kai Tietz  <ktietz@redhat.com>
1348
1349         * configure: Regenerated.
1350         * config.h.in: Regenerated.
1351         * acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR)  Add
1352         checks for ECHILD, ENOSPC, EPERM, ETIMEDOUT, and
1353         EWOULDBLOCK.
1354         * config/os/mingw32/error_constants.h (errc): Add
1355         enumerator values no_child_process, no_space_on_device,
1356         not_supported, operation_not_permitted, operation_would_block,
1357         timed_out, and value_too_large,
1358
1359 2011-08-29  Paolo Carlini  <paolo.carlini@oracle.com>
1360
1361         PR libstdc++/50118
1362         * include/bits/stl_list.h (_List_base<>::
1363         _List_base(const allocator_type&)): Remove.
1364         (_List_base<>::_List_base(const _Node_alloc_type&)): Add.
1365         (list<>:list(const allocator_type&), list(size_type, const
1366         value_type&, const allocator_type&),
1367         list(initializer_list<, const allocator_type&),
1368         list(_InputIterator, _InputIterator, const allocator_type&),
1369         insert(iterator, size_type, const value_type&),
1370         insert(iterator, _InputIterator, _InputIterator)): Adjust.
1371         * include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(const _Compare&,
1372         const allocator_type&)): Fix.
1373         * include/bits/stl_map.h (map<>::map(const _Compare&,
1374         const allocator_type&), map(initializer_list<>,
1375         const _Compare&, const allocator_type&), map(_InputIterator,
1376         _InputIterator, const _Compare&, const allocator_type&),
1377         get_allocator): Adjust.
1378         * include/bits/stl_set.h (set<>::set(const _Compare&,
1379         const allocator_type&), set(initializer_list<>,
1380         const _Compare&, const allocator_type&), set(_InputIterator,
1381         _InputIterator, const _Compare&, const allocator_type&),
1382         get_allocator): Likewise.
1383         * include/bits/stl_multimap.h (multimap<>::multimap(const _Compare&,
1384         const allocator_type&), multimap(initializer_list<>,
1385         const _Compare&, const allocator_type&), multimap(_InputIterator,
1386         _InputIterator, const _Compare&, const allocator_type&),
1387         get_allocator): Likewise.
1388         * include/bits/stl_multiset.h (multiset<>::multiset(const _Compare&,
1389         const allocator_type&), multiset(initializer_list<>,
1390         const _Compare&, const allocator_type&), multiset(_InputIterator,
1391         _InputIterator, const _Compare&, const allocator_type&),
1392         get_allocator): Likewise.
1393         * include/bits/forward_list.h (_Fwd_list_base<>::
1394         _Fwd_list_base(const _Alloc&), _Fwd_list_base(const _Fwd_list_base&,
1395         const _Alloc&), _Fwd_list_base(_Fwd_list_base&&, const _Alloc&)):
1396         Remove.
1397         (_Fwd_list_base<>::_Fwd_list_base(const _Node_alloc_type&),
1398         _Fwd_list_base(const _Fwd_list_base&,
1399         const _Node_alloc_type&), _Fwd_list_base(_Fwd_list_base&&,
1400         const _Node_alloc_type&)): Add.
1401         (forward_list<>::forward_list(const _Alloc&),
1402         forward_list(const forward_list&, const _Alloc&),
1403         forward_list(forward_list&&, const _Alloc&),
1404         forward_list(size_type, const _Tp&, const _Alloc&),
1405         forward_list(_InputIterator, _InputIterator, const _Alloc&),
1406         forward_list(std::initializer_list<>, const _Alloc&),
1407         get_allocator): Adjust.
1408         * include/bits/forward_list.tcc: Adjust.
1409         * testsuite/util/testsuite_allocator.h (ExplicitConsAlloc): Add.
1410         * testsuite/23_containers/unordered_map/requirements/
1411         explicit_instantiation/5.cc: New.
1412         * testsuite/23_containers/multimap/requirements/
1413         explicit_instantiation/5.cc: Likewise.
1414         * testsuite/23_containers/multimap/requirements/
1415         explicit_instantiation/5_c++0x.cc: Likewise.
1416         * testsuite/23_containers/set/requirements/explicit_instantiation/
1417         5.cc: Likewise.
1418         * testsuite/23_containers/set/requirements/explicit_instantiation/
1419         5_c++0x.cc: Likewise.
1420         * testsuite/23_containers/unordered_multimap/requirements/
1421         explicit_instantiation/5.cc: Likewise.
1422         * testsuite/23_containers/forward_list/requirements/
1423         explicit_instantiation/5.cc: Likewise.
1424         * testsuite/23_containers/unordered_set/requirements/
1425         explicit_instantiation/5.cc: Likewise.
1426         testsuite/23_containers/multiset/requirements/explicit_instantiation/
1427         5.cc: Likewise.
1428         * testsuite/23_containers/multiset/requirements/
1429         explicit_instantiation/5_c++0x.cc: Likewise.
1430         * testsuite/23_containers/list/requirements/explicit_instantiation/
1431         5_c++0x.cc: Likewise.
1432         * testsuite/23_containers/list/requirements/explicit_instantiation/
1433         5.cc: Likewise.
1434         * testsuite/23_containers/unordered_multiset/requirements/
1435         explicit_instantiation/5.cc: Likewise.
1436         * testsuite/23_containers/map/requirements/explicit_instantiation/
1437         5.cc: Likewise.
1438         * testsuite/23_containers/map/requirements/explicit_instantiation/
1439         5_c++0x.cc: Likewise.
1440         * testsuite/23_containers/forward_list/requirements/dr438/
1441         assign_neg.cc: Adjust dg-error line number.
1442         * testsuite/23_containers/forward_list/requirements/dr438/
1443         insert_neg.cc: Likewise.
1444         * testsuite/23_containers/forward_list/requirements/dr438/
1445         constructor_1_neg.cc: Likewise.
1446         * testsuite/23_containers/forward_list/requirements/dr438/
1447         constructor_2_neg.cc: Likewise.
1448         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1449         Likewise.
1450         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1451         Likewise.
1452         * testsuite/23_containers/list/requirements/dr438/
1453         constructor_1_neg.cc: Likewise.
1454         * testsuite/23_containers/list/requirements/dr438/
1455         constructor_2_neg.cc: Likewise.
1456
1457 2011-08-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1458
1459         * acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO)
1460         (GLIBCXX_CHECK_STDLIB_PROTO): New tests.
1461         * configure.ac (GLIBCXX_CHECK_MATH_PROTO)
1462         (GLIBCXX_CHECK_STDLIB_PROTO): Call them.
1463         * configure: Regenerate.
1464         * config.h.in: Regenerate.
1465         * config/os/solaris/solaris2.8/os_defines.h
1466         (__CORRECT_ISO_CPP_MATH_H_PROTO2): Don't define.
1467         * config/os/solaris/solaris2.9: Remove.
1468         * configure.host (solaris2.8): Merge with ...
1469         (solaris2.9, solaris2.1[0-9]): ... this.
1470         Always use os/solaris/solaris2.8.
1471
1472 2011-08-28  Paolo Carlini  <paolo.carlini@oracle.com>
1473
1474         * include/bits/move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove
1475         workaround for c++/49045.
1476         * include/bits/algorithmfwd.h: Likewise.
1477
1478 2011-08-25  Tom Tromey  <tromey@redhat.com>
1479
1480         * testsuite/libstdc++-prettyprinters/simple.cc: New file.
1481         * testsuite/lib/gdb-test.exp: New file.
1482         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: New
1483         file.
1484
1485 2011-08-18  Marc Glisse  <marc.glisse@normalesup.org>
1486
1487         * include/tr1/cmath: Extend/update comment.
1488
1489 2011-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
1490
1491         PR libstdc++/50119
1492         * include/bits/stl_algo.h (__copy_n(_InputIterator, _Size,
1493         _OutputIterator, input_iterator_tag)): Fix.
1494         * testsuite/25_algorithms/copy_n/50119.cc: New.
1495
1496 2011-08-18  Marc Glisse  <marc.glisse@normalesup.org>
1497             Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1498
1499         PR libstdc++/1773
1500         * config/os/solaris2.7: Rename to config/os/solaris2.9.
1501         * config/os/solaris/solaris2.9/os_defines.h
1502         (__CORRECT_ISO_CPP_MATH_H_PROTO1)
1503         (__CORRECT_ISO_CPP_STDLIB_H_PROTO)
1504         (__CORRECT_ISO_CPP_STRING_H_PROTO)
1505         (__CORRECT_ISO_CPP_WCHAR_H_PROTO): Define.
1506         * config/os/solaris2.8/ctype_base.h,
1507         config/os/solaris2.8/ctype_configure_char.cc,
1508         config/solaris2.8/ctype_inline.h,
1509         config/os/solaris2.8/os_defines.h: New files.
1510
1511         * configure.host (solaris2.[89], solaris2.1[0-9]):
1512         Split into ...
1513         (solaris2.8): ... this.
1514         Use os/solaris/solaris2.8.
1515         (solaris2.9, solaris2.1[0-9]): ... and this.
1516         Use os/solaris/solaris2.9.
1517
1518         * include/c_global/cmath (double abs(double)): Wrap in
1519         !__CORRECT_ISO_CPP_MATH_H_PROTO1 &&
1520         !__CORRECT_ISO_CPP_MATH_H_PROTO2.
1521         (float abs(float), long double abs(long double): Wrap in
1522         !__CORRECT_ISO_CPP_MATH_H_PROTO1.
1523         (float acos(float), long double acos(long double)): Likewise.
1524         (float asin(float), long double asin(long double)): Likewise.
1525         (float atan(float), long double atan(long double)): Likewise.
1526         (float atan2(float, float), long double atan2(long double, long
1527         double)): Likewise.
1528         (float ceil(float), long double ceil(long double)): Likewise.
1529         (float cos(float), long double cos(long double)): Likewise.
1530         (float cosh(float), long double cosh(long double)): Likewise.
1531         (float exp(float), long double exp(long double)): Likewise.
1532         (float fabs(float), long double fabs(long double)): Likewise.
1533         (float floor(float), long double floor(long double)): Likewise.
1534         (float fmod(float, float), long double fmod(long double, long
1535         double)): Likewise.
1536         (float frexp(float, int*), long double frexp(long double, int*)):
1537         Likewise.
1538         (float ldexp(float, int), long double ldexp(long double, int)):
1539         Likewise.
1540         (float log(float), long double log(long double)): Likewise.
1541         (float log10(float), long double log10(long double)): Likewise.
1542         (float modf(float, float*), long double modf(long double, long
1543         double*))): Likewise.
1544         (float pow(float, float), long double pow(long double, long
1545         double)): Likewise.
1546         (float sin(float), long double sin(long double)): Likewise.
1547         (float sinh(float), long double sinh(long double)): Likewise.
1548         (float sqrt(float), long double sqrt(long double)): Likewise.
1549         (float tan(float), long double tan(long double)): Likewise.
1550         (float tanh(float), long double tanh(long double)): Likewise.
1551         * include/c_global/cstdlib (long abs(long), ldiv_t div(long,
1552         long)): Wrap in !__CORRECT_ISO_CPP_STDLIB_H_PROTO.
1553         * include/tr1/cmath (float fabs(float), long double fabs(long
1554         double)): Wrap in !__CORRECT_ISO_CPP_MATH_H_PROTO1.
1555
1556 2011-08-14  Benjamin Kosnik  <bkoz@redhat.com>
1557
1558         * doc/xml/images/*: Image and image filename changes.
1559
1560 2011-08-14  Benjamin Kosnik  <bkoz@redhat.com>
1561
1562         * testsuite/data/make_graph_test_infos.xml: Edit.
1563         * testsuite/data/make_graph_htmls.xml: Remove
1564         * scripts/make_graph.py: Edit, fix.
1565         * scripts/make_graphs.py: Remove.
1566
1567         * doc/Makefile.am (doc-svg-performance): New.
1568         (doc-html-performance): Remove.
1569         * doc/Makefile.in: Regenerate.
1570
1571         * doc/xml/manual/test_policy_data_structures.xml: Markup changes.
1572         * doc/xml/manual/policy_data_structures.xml: Same.
1573         * doc/xml/manual/locale.xml: Same.
1574
1575         Testsuite renames.
1576         * performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc:
1577         Rename.
1578         * performance/ext/pb_ds/random_int_find_timing.cc: Same.
1579         * performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
1580         * performance/ext/pb_ds/multimap_text_find_timing.hpp
1581         * performance/ext/pb_ds/priority_queue_random_int_push_timing.cc: Same.
1582         * performance/ext/pb_ds/priority_queue_text_modify_timing.hpp
1583         * performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
1584         * performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc: Same.
1585         * performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc: Same.
1586         * performance/ext/pb_ds/priority_queue_text_join_timing.cc: Same.
1587         * performance/ext/pb_ds/multimap_text_insert_timing_small.cc: Same.
1588         * performance/ext/pb_ds/random_int_subscript_insert_timing.cc: Same.
1589         * performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
1590         * performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc: Same.
1591         * performance/ext/pb_ds/multimap_text_find_timing_small.cc: Same.
1592         * performance/ext/pb_ds/text_find_timing.cc: Same.
1593         * performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
1594         * performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc: Same.
1595         * performance/ext/pb_ds/random_int_subscript_find_timing.cc: Same.
1596         * performance/ext/pb_ds/priority_queue_text_push_timing.cc: Same.
1597         * performance/ext/pb_ds/tree_split_join_timing.cc: Same.
1598         * performance/ext/pb_ds/multimap_text_insert_timing_large.cc: Same.
1599         * performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc: Same.
1600         * performance/ext/pb_ds/multimap_text_find_timing_large.cc: Same.
1601         * performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc:
1602         Same.
1603         * performance/ext/pb_ds/multimap_text_insert_timing.hpp
1604         * performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc: Same.
1605         * performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc: Same.
1606
1607         * performance/ext/pb_ds/all_int_find.cc: To these new files...
1608         * performance/ext/pb_ds/all_int_subscript_find.cc: ...this.
1609         * performance/ext/pb_ds/all_int_subscript_insert.cc: ...this.
1610         * performance/ext/pb_ds/all_text_find.cc: ...this.
1611         * performance/ext/pb_ds/hash_int_erase_mem.cc: ...this.
1612         * performance/ext/pb_ds/hash_zlob_int_find.cc: ...this.
1613         * performance/ext/pb_ds/multimap_text_find.hpp
1614         * performance/ext/pb_ds/multimap_text_find_large.cc: ...this.
1615         * performance/ext/pb_ds/multimap_text_find_small.cc: ...this.
1616         * performance/ext/pb_ds/multimap_text_insert.hpp
1617         * performance/ext/pb_ds/multimap_text_insert_large.cc: ...this.
1618         * performance/ext/pb_ds/multimap_text_insert_mem.hpp
1619         * performance/ext/pb_ds/multimap_text_insert_mem_large.cc: ...this.
1620         * performance/ext/pb_ds/multimap_text_insert_mem_small.cc: ...this.
1621         * performance/ext/pb_ds/multimap_text_insert_small.cc: ...this.
1622         * performance/ext/pb_ds/priority_queue_int_push.cc: ...this.
1623         * performance/ext/pb_ds/priority_queue_int_push_pop.cc: ...this.
1624         * performance/ext/pb_ds/priority_queue_text_join.cc: ...this.
1625         * performance/ext/pb_ds/priority_queue_text_modify_down.cc: ...this.
1626         * performance/ext/pb_ds/priority_queue_text_modify.hpp
1627         * performance/ext/pb_ds/priority_queue_text_modify_up.cc: ...this.
1628         * performance/ext/pb_ds/priority_queue_text_pop_mem.cc: ...this.
1629         * performance/ext/pb_ds/priority_queue_text_push.cc: ...this.
1630         * performance/ext/pb_ds/priority_queue_text_push_pop.cc: ...this.
1631         * performance/ext/pb_ds/tree_order_statistics.cc: ...this.
1632         * performance/ext/pb_ds/tree_split_join.cc: ...this.
1633         * performance/ext/pb_ds/tree_text_insert.cc: ...this.
1634         * performance/ext/pb_ds/tree_text_lor_find.cc: ...this.
1635
1636         * doc/xml/images/*: Image and image filename changes.
1637
1638 2011-08-12  Paolo Carlini  <paolo.carlini@oracle.com>
1639
1640         * include/c_global/cmath (fmod(_Tp, _Up)): Add.
1641         * include/c_std/cmath: Likewise.
1642
1643 2011-08-11  Paolo Carlini  <paolo.carlini@oracle.com>
1644
1645         * include/std/future: constexpr functions are implicitly inline.
1646         * include/std/chrono: Likewise.
1647         * include/std/complex: Likewise.
1648         * include/bits/move.h: Likewise.
1649         * include/bits/stl_pair.h: Likewise.
1650
1651 2011-08-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1652
1653         * include/bits/alloc_traits.h: Fix doxygen @headername.
1654
1655 2011-08-06  Benjamin Kosnik  <bkoz@redhat.com>
1656
1657         * doc/doxygen/user.cfg.in (PDF_HYPERLINKS): To NO.
1658
1659 2011-08-06  Benjamin Kosnik  <bkoz@redhat.com>
1660
1661         * doc/doxygen/user.cfg.in: Add scoped_allocator.
1662
1663         * include/debug/safe_sequence.h: Fix doxygen markup.
1664         * include/debug/safe_unordered_base.h: Same.
1665         * include/debug/safe_local_iterator.tcc: Same.
1666         * include/debug/safe_unordered_container.h: Same.
1667         * include/std/valarray: Same.
1668         * include/std/iomanip: Same.
1669         * include/std/streambuf: Same.
1670         * include/std/bitset: Same.
1671         * include/std/fstream: Same.
1672         * include/std/functional: Same.
1673         * include/std/istream: Same.
1674         * include/std/ostream: Same.
1675         * include/std/scoped_allocator: Same.
1676         * include/std/sstream: Same.
1677         * include/parallel/multiway_merge.h: Same.
1678         * include/parallel/base.h: Same.
1679         * include/parallel/for_each_selectors.h: Same.
1680         * include/parallel/multiway_mergesort.h: Same.
1681         * include/parallel/search.h: Same.
1682         * include/parallel/partial_sum.h: Same.
1683         * include/parallel/queue.h: Same.
1684         * include/parallel/sort.h: Same.
1685         * include/parallel/random_number.h: Same.
1686         * include/ext/vstring.h: Same.
1687         * include/ext/algorithm: Same.
1688         * include/ext/pb_ds/assoc_container.h: Same.
1689         * include/ext/bitmap_allocator.h: Same.
1690         * include/ext/stdio_filebuf.h: Same.
1691         * include/ext/memory: Same.
1692         * include/ext/functional: Same.
1693         * include/bits/basic_ios.h: Same.
1694         * include/bits/stl_list.h: Same.
1695         * include/bits/stl_map.h: Same.
1696         * include/bits/stl_algobase.h: Same.
1697         * include/bits/stl_queue.h: Same.
1698         * include/bits/gslice.h: Same.
1699         * include/bits/locale_classes.h: Same.
1700         * include/bits/stl_set.h: Same.
1701         * include/bits/locale_facets.h: Same.
1702         * include/bits/stl_stack.h: Same.
1703         * include/bits/stl_heap.h: Same.
1704         * include/bits/forward_list.h: Same.
1705         * include/bits/stream_iterator.h: Same.
1706         * include/bits/basic_string.h: Same.
1707         * include/bits/stl_multimap.h: Same.
1708         * include/bits/stl_pair.h: Same.
1709         * include/bits/ios_base.h: Same.
1710         * include/bits/stl_numeric.h: Same.
1711         * include/bits/stl_vector.h: Same.
1712         * include/bits/stl_deque.h: Same.
1713         * include/bits/codecvt.h: Same.
1714         * include/bits/stl_multiset.h: Same.
1715         * include/bits/stl_uninitialized.h: Same.
1716         * include/bits/ptr_traits.h: Same.
1717         * include/bits/slice_array.h: Same.
1718         * include/bits/stl_iterator_base_funcs.h: Same.
1719         * include/bits/stl_algo.h: Same.
1720         * include/bits/stl_iterator.h: Same.
1721         * include/bits/stl_tempbuf.h: Same.
1722         * include/bits/regex.h: Same.
1723         * include/bits/range_access.h: Same.
1724         * include/bits/random.h: Same.
1725         * include/bits/alloc_traits.h: Same.
1726         * include/bits/regex_error.h: Same.
1727         * include/bits/locale_facets_nonio.h: Same.
1728         * include/bits/stl_relops.h: Same.
1729         * include/backward/auto_ptr.h: Same.
1730         * libsupc++/initializer_list: Same.
1731
1732         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1733         Adjust line numbers.
1734         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
1735         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1736         Same.
1737         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1738         Same.
1739
1740 2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1741
1742         * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Point TOPLEVEL_INCLUDES
1743         to $(toplevel_srcdir)/libgcc.
1744         * configure: Regenerate.
1745
1746 2011-08-04  Benjamin Kosnik  <bkoz@redhat.com>
1747
1748         * doc/xml/manual/build_hacking.xml: Use relative fileref for PNG
1749         imagedata.
1750         * doc/xml/manual/test_policy_data_structures.xml: Same.
1751         * doc/xml/manual/policy_data_structures.xml: Same.
1752
1753         * doc/Makefile.am (stamp-html-docbook-images)
1754         (stamp-html-docbook-lwg, stamp-html-docbook-data): New.
1755         (xml_extra): Add lwg html file dependencies.
1756         (xml_images): Add image html file dependencies.
1757         * doc/Makefile.in: Regenerate.
1758         (stamp-html): Change to stamp-html-docbook-data.
1759         (stamp-html-copy): Remove.
1760
1761 2011-08-04  Paolo Carlini  <paolo.carlini@oracle.com>
1762
1763         * src/atomic.cc: Use noexcept.
1764         * include/std/atomic: Likewise.
1765         * include/bits/atomic_0.h: Likewise.
1766         * include/bits/atomic_2.h: Likewise.
1767         * include/bits/atomic_base.h: Likewise.
1768
1769 2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>
1770
1771         * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: Include
1772         unistd.h for unlink.
1773         * testsuite/performance/27_io/ofstream_insert_int.cc: Same.
1774         * testsuite/performance/27_io/ifstream_extract_int.cc: Same.
1775         * testsuite/performance/27_io/ifstream_getline-2.cc: Same.
1776         * testsuite/performance/27_io/fstream_seek_write.cc: Same.
1777         * testsuite/performance/27_io/ifstream_extract_chars.cc: Same.
1778         * testsuite/performance/27_io/ofstream_insert_float.cc: Same.
1779         * testsuite/performance/27_io/ifstream_extract_float.cc: Same.
1780         * testsuite/performance/27_io/filebuf_sputc.cc: Same.
1781
1782 2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>
1783
1784         * include/std/tuple: Mark more constructors constexpr.
1785         * testsuite/20_util/tuple/cons/constexpr.cc: Split into and extend as:
1786         * testsuite/20_util/tuple/cons/constexpr-2.cc: ...this.
1787         * testsuite/20_util/tuple/cons/constexpr-3.cc: ... and this.
1788         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line numbers.
1789
1790 2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>
1791             François Dumont  <francois.cppdevs@free.fr>
1792
1793         * testsuite/23_containers/array/at_neg.cc: Move...
1794         * testsuite/23_containers/array/at.cc: ...here. Remove
1795         -fno-exceptions, call const at member function.
1796
1797 2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>
1798
1799         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Generated.
1800
1801 2011-08-01  Paolo Carlini  <paolo.carlini@oracle.com>
1802
1803         PR c++/49813
1804         * include/c_global/cmath (isinf): Remove workaround.
1805
1806 2011-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
1807
1808         PR libstdc++/49925
1809         * include/bits/shared_ptr.h (make_shared): Qualify allocate_shared
1810         with std::.
1811         * include/bits/shared_ptr_base.h (__make_shared): Likewise.
1812
1813 2011-07-29  Benjamin Kosnik  <bkoz@redhat.com>
1814
1815         * doc/xml/manual/build_hacking.xml: Markup imagedata changes.
1816         * doc/xml/manual/policy_data_structures.xml: Same.
1817
1818         * doc/xml/class.txml: Remove biblioid.
1819         * doc/xml/manual/allocator.xml: Same.
1820         * doc/xml/manual/ctype.xml: Same.
1821         * doc/xml/manual/codecvt.xml: Same.
1822         * doc/xml/manual/backwards_compatibility.xml: Same.
1823         * doc/xml/manual/abi.xml: Same.
1824         * doc/xml/manual/shared_ptr.xml: Same.
1825         * doc/xml/manual/using_exceptions.xml: Same.
1826         * doc/xml/manual/messages.xml: Same.
1827
1828 2011-07-29  Benjamin Kosnik  <bkoz@redhat.com>
1829
1830         Docbook conversion of existing ext/pb_ds documentation.
1831         * doc/Makefile.am (xml_sources_manual): Add
1832         policy_data_structures.xml and
1833         test_policy_data_structures.xml.
1834         (stamp-html-copy): Remove special-case for ext/pb_ds directory.
1835         (XSLTPROC_FLAGS): Split into XSLT_FLAGS and XSLT_PARAM, use.
1836         * doc/Makefile.in: Regenerate.
1837         * doc/xml/manual/policy_data_structures.xml: New, adapted from
1838           previous html-only instance in doc/html/ext/pb_ds.
1839         * doc/xml/manual/test_policy_data_structures.xml: New, same as above.
1840
1841         * doc/xml/spine.xml: Update copyright.
1842         * doc/xml/manual/spine.xml: Same.
1843         * doc/xml/manual/extensions.xml: Adjust set, chapter, sections.
1844         * doc/xml/manual/bitmap_allocator.xml: Same.
1845         * doc/xml/manual/mt_allocator.xml: Same.
1846
1847         Populate image directory.
1848         * doc/xml/images/(pbds_balls_and_bins.png,
1849         pbds_binary_priority_queue_random_int_push_timing_test_local.pdf,
1850         pbds_binary_priority_queue_random_int_push_timing_test_local.png,
1851         pbds_binary_priority_queue_random_int_push_timing_test_local.svg,
1852         pbds_cc_hash_random_int_find_timing_test_local.pdf,
1853         pbds_cc_hash_random_int_find_timing_test_local.png,
1854         pbds_cc_hash_random_int_find_timing_test_local.svg,
1855         pbds_cc_hash_random_int_subscript_timing_test_find_local.pdf,
1856         pbds_cc_hash_random_int_subscript_timing_test_find_local.png,
1857         pbds_cc_hash_random_int_subscript_timing_test_find_local.svg,
1858         pbds_cc_hash_random_int_subscript_timing_test_insert_local.pdf,
1859         pbds_cc_hash_random_int_subscript_timing_test_insert_local.png,
1860         pbds_cc_hash_random_int_subscript_timing_test_insert_local.svg,
1861         pbds_container_tag_hierarchy.pdf,
1862         pbds_container_tag_hierarchy.png,
1863         pbds_container_tag_hierarchy.svg,
1864         pbds_different_underlying_dss_1.png,
1865         pbds_different_underlying_dss_2.png,
1866         pbds_embedded_lists_1.png, pbds_embedded_lists_2.png,
1867         pbds_embedded_lists_3.png, pbds_exception_hierarchy.pdf,
1868         pbds_exception_hierarchy.png, pbds_exception_hierarchy.svg,
1869         pbds_gp_hash_random_int_find_timing_test_local.pdf,
1870         pbds_gp_hash_random_int_find_timing_test_local.png,
1871         pbds_gp_hash_random_int_find_timing_test_local.svg,
1872         pbds_gp_hash_random_int_subscript_timing_test_find_local.pdf,
1873         pbds_gp_hash_random_int_subscript_timing_test_find_local.png,
1874         pbds_gp_hash_random_int_subscript_timing_test_find_local.svg,
1875         pbds_gp_hash_random_int_subscript_timing_test_insert_local.pdf,
1876         pbds_gp_hash_random_int_subscript_timing_test_insert_local.png,
1877         pbds_gp_hash_random_int_subscript_timing_test_insert_local.svg,
1878         pbds_hash_policy_cd.png,
1879         pbds_hash_random_int_erase_mem_usage_test_local.pdf,
1880         pbds_hash_random_int_erase_mem_usage_test_local.png,
1881         pbds_hash_random_int_erase_mem_usage_test_local.svg,
1882         pbds_hash_ranged_hash_range_hashing_fns.png,
1883         pbds_hash_range_hashing_seq_diagram2.png,
1884         pbds_hash_range_hashing_seq_diagram.png,
1885         pbds_hash_zlob_random_int_find_timing_test_local.pdf,
1886         pbds_hash_zlob_random_int_find_timing_test_local.png,
1887         pbds_hash_zlob_random_int_find_timing_test_local.svg,
1888         pbds_insert_resize_sequence_diagram1.png,
1889         pbds_insert_resize_sequence_diagram2.png,
1890         pbds_insert_resize_sequence_diagram3.png,
1891         pbds_invalidation_guarantee_erase.png,
1892         pbds_invalidation_tag_hierarchy.pdf,
1893         pbds_invalidation_tag_hierarchy.png,
1894         pbds_invalidation_tag_hierarchy.svg, pbds_list_update.png,
1895         pbds_multimap_text_find_timing_test_large_s2p_hash_local.pdf,
1896         pbds_multimap_text_find_timing_test_large_s2p_hash_local.png,
1897         pbds_multimap_text_find_timing_test_large_s2p_hash_local.svg,
1898         pbds_multimap_text_find_timing_test_large_s2p_tree_local.pdf,
1899         pbds_multimap_text_find_timing_test_large_s2p_tree_local.png,
1900         pbds_multimap_text_find_timing_test_large_s2p_tree_local.svg,
1901         pbds_multimap_text_find_timing_test_small_s2p_hash_local.pdf,
1902         pbds_multimap_text_find_timing_test_small_s2p_hash_local.png,
1903         pbds_multimap_text_find_timing_test_small_s2p_hash_local.svg,
1904         pbds_multimap_text_find_timing_test_small_s2p_tree_local.pdf,
1905         pbds_multimap_text_find_timing_test_small_s2p_tree_local.png,
1906         pbds_multimap_text_find_timing_test_small_s2p_tree_local.svg,
1907         pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.pdf,
1908         pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
1909         pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.svg,
1910         pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.pdf,
1911         pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
1912         pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.svg,
1913         pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.pdf,
1914         pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
1915         pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.svg,
1916         pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.pdf,
1917         pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.png,
1918         pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.svg,
1919         pbds_multimap_text_insert_timing_test_large_s2p_hash_local.pdf,
1920         pbds_multimap_text_insert_timing_test_large_s2p_hash_local.png,
1921         pbds_multimap_text_insert_timing_test_large_s2p_hash_local.svg,
1922         pbds_multimap_text_insert_timing_test_large_s2p_tree_local.pdf,
1923         pbds_multimap_text_insert_timing_test_large_s2p_tree_local.png,
1924         pbds_multimap_text_insert_timing_test_large_s2p_tree_local.svg,
1925         pbds_multimap_text_insert_timing_test_small_s2p_hash_local.pdf,
1926         pbds_multimap_text_insert_timing_test_small_s2p_hash_local.png,
1927         pbds_multimap_text_insert_timing_test_small_s2p_hash_local.svg,
1928         pbds_multimap_text_insert_timing_test_small_s2p_tree_local.pdf,
1929         pbds_multimap_text_insert_timing_test_small_s2p_tree_local.png,
1930         pbds_multimap_text_insert_timing_test_small_s2p_tree_local.svg,
1931         pbds_node_invariants.png,
1932         pbds_pairing_priority_queue_text_push_pop_timing_test_local.pdf,
1933         pbds_pairing_priority_queue_text_push_pop_timing_test_local.png,
1934         pbds_pairing_priority_queue_text_push_pop_timing_test_local.svg,
1935         pbds_pairing_priority_queue_text_push_timing_test_local.pdf,
1936         pbds_pairing_priority_queue_text_push_timing_test_local.png,
1937         pbds_pairing_priority_queue_text_push_timing_test_local.svg,
1938         pbds_pat_trie.png, pbds_point_iterator_hierarchy.png,
1939         pbds_point_iterators_range_ops_1.png,
1940         pbds_point_iterators_range_ops_2.png,
1941         pbds_priority_queue_different_underlying_dss.png,
1942         pbds_priority_queue_random_int_push_pop_timing_test_local.pdf,
1943         pbds_priority_queue_random_int_push_pop_timing_test_local.png,
1944         pbds_priority_queue_random_int_push_pop_timing_test_local.svg,
1945         pbds_priority_queue_random_int_push_timing_test_local.pdf,
1946         pbds_priority_queue_random_int_push_timing_test_local.png,
1947         pbds_priority_queue_random_int_push_timing_test_local.svg,
1948         pbds_priority_queue_tag_hierarchy.pdf,
1949         pbds_priority_queue_tag_hierarchy.png,
1950         pbds_priority_queue_tag_hierarchy.svg,
1951         pbds_priority_queue_text_join_timing_test_local.pdf,
1952         pbds_priority_queue_text_join_timing_test_local.png,
1953         pbds_priority_queue_text_join_timing_test_local.svg,
1954         pbds_priority_queue_text_modify_down_timing_test_local.pdf,
1955         pbds_priority_queue_text_modify_down_timing_test_local.png,
1956         pbds_priority_queue_text_modify_down_timing_test_local.svg,
1957         pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.pdf,
1958         pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
1959         pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.svg,
1960         pbds_priority_queue_text_modify_up_timing_test_local.pdf,
1961         pbds_priority_queue_text_modify_up_timing_test_local.png,
1962         pbds_priority_queue_text_modify_up_timing_test_local.svg,
1963         pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.pdf,
1964         pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
1965         pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.svg,
1966         pbds_priority_queue_text_pop_mem_usage_test_local.pdf,
1967         pbds_priority_queue_text_pop_mem_usage_test_local.png,
1968         pbds_priority_queue_text_pop_mem_usage_test_local.svg,
1969         pbds_priority_queue_text_push_pop_timing_test_local.pdf,
1970         pbds_priority_queue_text_push_pop_timing_test_local.png,
1971         pbds_priority_queue_text_push_pop_timing_test_local.svg,
1972         pbds_priority_queue_text_push_timing_test_local.pdf,
1973         pbds_priority_queue_text_push_timing_test_local.png,
1974         pbds_priority_queue_text_push_timing_test_local.svg,
1975         pbds_rationale_null_node_updator.png,
1976         pbds_resize_policy_cd.png, pbds_restoring_node_invariants.png,
1977         pbds_simple_list.png,
1978         pbds_text_find_timing_test_hash_local.pdf,
1979         pbds_text_find_timing_test_hash_local.png,
1980         pbds_text_find_timing_test_hash_local.svg,
1981         pbds_text_find_timing_test_tree_like_local.pdf,
1982         pbds_text_find_timing_test_tree_like_local.png,
1983         pbds_text_find_timing_test_tree_like_local.svg,
1984         pbds_tree_node_invalidations.png,
1985         pbds_tree_node_invariants.png,
1986         pbds_tree_node_updator_policy_cd.png,
1987         pbds_tree_order_statistics_timing_test_local.pdf,
1988         pbds_tree_order_statistics_timing_test_local.png,
1989         pbds_tree_order_statistics_timing_test_local.svg,
1990         pbds_tree_split_join_timing_test_local.pdf,
1991         pbds_tree_split_join_timing_test_local.png,
1992         pbds_tree_split_join_timing_test_local.svg,
1993         pbds_tree_text_insert_timing_test_node_tree_local.pdf,
1994         pbds_tree_text_insert_timing_test_node_tree_local.png,
1995         pbds_tree_text_insert_timing_test_node_tree_local.svg,
1996         pbds_tree_text_insert_timing_test_pat_trie_local.pdf,
1997         pbds_tree_text_insert_timing_test_pat_trie_local.png,
1998         pbds_tree_text_insert_timing_test_pat_trie_local.svg,
1999         pbds_tree_text_insert_timing_test_vector_tree_local.pdf,
2000         pbds_tree_text_insert_timing_test_vector_tree_local.png,
2001         pbds_tree_text_insert_timing_test_vector_tree_local.svg,
2002         pbds_tree_text_lor_find_timing_test_local.pdf,
2003         pbds_tree_text_lor_find_timing_test_local.png,
2004         pbds_tree_text_lor_find_timing_test_local.svg,
2005         pbds_trie_node_updator_policy_cd.png,
2006         pbds_update_seq_diagram.png): Add.
2007
2008         * doc/html/ext/pb_ds: Remove.
2009         * doc/html/ext/pb_ds/(acks.html, assoc_container_tag_cd.png,
2010         assoc_container_tag_cd.svg, assoc_container_traits.html,
2011         assoc_design.html, assoc_examples.html,
2012         associative_container_tag.html, assoc_performance_tests.html,
2013         assoc_regression_tests.html, assoc_tests.html,
2014         balls_and_bins.png, basic_hash_table.html,
2015         basic_hash_tag.html, basic_invalidation_guarantee.html,
2016         basic_tree_assoc_container_const_node_iterator.html,
2017         basic_tree.html, basic_tree_tag.html, binary_heap_tag.html,
2018         binary_priority_queue_random_int_push_timing_test_gcc.png,
2019         binary_priority_queue_random_int_push_timing_test_local.png,
2020         binary_priority_queue_random_int_push_timing_test_msvc.png,
2021         binomial_heap_tag.html,
2022         ccgp_hash_random_int_subscript_timing_test_insert_gcc.png,
2023         ccgp_hash_random_int_subscript_timing_test_insert_local.png,
2024         ccgp_hash_random_int_subscript_timing_test_insert_msvc.png,
2025         cc_hash_max_collision_check_resize_trigger.html,
2026         cc_hash_random_int_find_timing_test_gcc.png,
2027         cc_hash_random_int_find_timing_test_local.png,
2028         cc_hash_random_int_find_timing_test_msvc.png,
2029         cc_hash_random_int_subscript_timing_test_find_gcc.png,
2030         cc_hash_random_int_subscript_timing_test_find_local.png,
2031         cc_hash_random_int_subscript_timing_test_find_msvc.png,
2032         cc_hash_random_int_subscript_timing_test_insert_gcc.png,
2033         cc_hash_random_int_subscript_timing_test_insert_local.png,
2034         cc_hash_random_int_subscript_timing_test_insert_msvc.png,
2035         cc_hash_table.html, cc_hash_tag.html, checked_by_tidy.gif
2036         concepts.html, contact.html, container_base.html,
2037         container_cd.png, container_cd.svg, container_tag.html,
2038         counter_lu_policy.html, design.html,
2039         different_underlying_dss.png, direct_mask_range_hashing.html,
2040         direct_mod_range_hashing.html, disclaimer.html, ds_gen.html,
2041         embedded_lists_1.png, embedded_lists_2.png,
2042         embedded_lists_3.png, examples.html, exceptions.html,
2043         gp_hash_random_int_find_timing_test_gcc.png,
2044         gp_hash_random_int_find_timing_test_local.png,
2045         gp_hash_random_int_find_timing_test_msvc.png,
2046         gp_hash_random_int_subscript_timing_test_find_gcc.png,
2047         gp_hash_random_int_subscript_timing_test_find_local.png,
2048         gp_hash_random_int_subscript_timing_test_find_msvc.png,
2049         gp_hash_random_int_subscript_timing_test_insert_gcc.png,
2050         gp_hash_random_int_subscript_timing_test_insert_local.png,
2051         gp_hash_random_int_subscript_timing_test_insert_msvc.png,
2052         gp_hash_table.html, gp_hash_tag.html,
2053         hash_based_containers.html, hash_exponential_size_policy.html,
2054         hash_load_check_resize_trigger.html, hash_policy_cd.png,
2055         hash_prime_size_policy.html,
2056         hash_random_int_erase_mem_usage_test_gcc.png,
2057         hash_random_int_erase_mem_usage_test.html,
2058         hash_random_int_erase_mem_usage_test_local.png,
2059         hash_random_int_erase_mem_usage_test_msvc.png,
2060         hash_random_int_find_find_timing_test.html,
2061         hash_random_int_subscript_find_timing_test.html,
2062         hash_random_int_subscript_insert_timing_test.html,
2063         hash_ranged_hash_range_hashing_fns.png,
2064         hash_range_hashing_seq_diagram2.png,
2065         hash_range_hashing_seq_diagram.png,
2066         hash_standard_resize_policy.html,
2067         hash_text_find_find_timing_test.html,
2068         hash_zlob_random_int_find_find_timing_test.html,
2069         hash_zlob_random_int_find_timing_test_gcc.png,
2070         hash_zlob_random_int_find_timing_test_local.png,
2071         hash_zlob_random_int_find_timing_test_msvc.png, index.html,
2072         insert_error.html, insert_resize_sequence_diagram1.png,
2073         insert_resize_sequence_diagram2.png,
2074         insert_resize_sequence_diagram3.png, interface.html,
2075         introduction.html, invalidation_guarantee_cd.png,
2076         invalidation_guarantee_erase.png, join_error.html,
2077         linear_probe_fn.html, list_update.html, list_update_tag.html,
2078         lu_based_containers.html, lu.png, misc.html, motivation.html,
2079         move_to_front_lu_policy.html,
2080         multimap_text_find_timing_test_large.html,
2081         multimap_text_find_timing_test_large_s2p_hash_gcc.png,
2082         multimap_text_find_timing_test_large_s2p_hash_local.png,
2083         multimap_text_find_timing_test_large_s2p_hash_msvc.png,
2084         multimap_text_find_timing_test_large_s2p_tree_gcc.png,
2085         multimap_text_find_timing_test_large_s2p_tree_local.png,
2086         multimap_text_find_timing_test_large_s2p_tree_msvc.png,
2087         multimap_text_find_timing_test_small.html,
2088         multimap_text_find_timing_test_small_s2p_hash_gcc.png,
2089         multimap_text_find_timing_test_small_s2p_hash_local.png,
2090         multimap_text_find_timing_test_small_s2p_hash_msvc.png,
2091         multimap_text_find_timing_test_small_s2p_tree_gcc.png,
2092         multimap_text_find_timing_test_small_s2p_tree_local.png,
2093         multimap_text_find_timing_test_small_s2p_tree_msvc.png,
2094         multimap_text_insert_mem_usage_test_large.html,
2095         multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png,
2096         multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
2097         multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png,
2098         multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png,
2099         multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
2100         multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png,
2101         multimap_text_insert_mem_usage_test_small.html,
2102         multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png,
2103         multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
2104         multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png,
2105         multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png,
2106         multimap_text_insert_mem_usage_test_small_s2p_tree_local.png,
2107         multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png,
2108         multimap_text_insert_timing_test_large.html,
2109         multimap_text_insert_timing_test_large_s2p_hash_gcc.png,
2110         multimap_text_insert_timing_test_large_s2p_hash_local.png,
2111         multimap_text_insert_timing_test_large_s2p_hash_msvc.png,
2112         multimap_text_insert_timing_test_large_s2p_tree_gcc.png,
2113         multimap_text_insert_timing_test_large_s2p_tree_local.png,
2114         multimap_text_insert_timing_test_large_s2p_tree_msvc.png,
2115         multimap_text_insert_timing_test_small.html,
2116         multimap_text_insert_timing_test_small_s2p_hash_gcc.png,
2117         multimap_text_insert_timing_test_small_s2p_hash_local.png,
2118         multimap_text_insert_timing_test_small_s2p_hash_msvc.png,
2119         multimap_text_insert_timing_test_small_s2p_tree_gcc.png,
2120         multimap_text_insert_timing_test_small_s2p_tree_local.png,
2121         multimap_text_insert_timing_test_small_s2p_tree_msvc.png,
2122         node_invariant_invalidations.png, node_invariants.png,
2123         null_hash_fn.html, null_lu_metadata.html,
2124         null_mapped_type.html, null_probe_fn.html,
2125         null_tree_node_update.html, null_trie_node_update.html,
2126         ov_tree_tag.html, pairing_heap_tag.html,
2127         pairing_priority_queue_text_push_pop_timing_test_gcc.png,
2128         pairing_priority_queue_text_push_pop_timing_test_local.png,
2129         pairing_priority_queue_text_push_pop_timing_test_msvc.png,
2130         pairing_priority_queue_text_push_timing_test_gcc.png,
2131         pairing_priority_queue_text_push_timing_test_local.png,
2132         pairing_priority_queue_text_push_timing_test_msvc.png,
2133         pat_trie.png, pat_trie_tag.html,
2134         point_invalidation_guarantee.html, point_iterators_cd.png,
2135         point_iterators_range_ops_1.png,
2136         point_iterators_range_ops_2.png, pq_container_traits.html,
2137         pq_design.html, pq_different_underlying_dss.png,
2138         pq_examples.html, pq_performance_tests.html,
2139         pq_regression_tests.html, pq_tests.html, prerequisites.html,
2140         priority_queue.html,
2141         priority_queue_random_int_push_pop_timing_test_gcc.png,
2142         priority_queue_random_int_push_pop_timing_test.html,
2143         priority_queue_random_int_push_pop_timing_test_local.png,
2144         priority_queue_random_int_push_pop_timing_test_msvc.png,
2145         priority_queue_random_int_push_timing_test_gcc.png,
2146         priority_queue_random_int_push_timing_test.html,
2147         priority_queue_random_int_push_timing_test_local.png,
2148         priority_queue_random_int_push_timing_test_msvc.png,
2149         priority_queue_tag_cd.png, priority_queue_tag_cd.svg,
2150         priority_queue_tag.html,
2151         priority_queue_text_join_timing_test_gcc.png,
2152         priority_queue_text_join_timing_test.html,
2153         priority_queue_text_join_timing_test_local.png,
2154         priority_queue_text_join_timing_test_msvc.png,
2155         priority_queue_text_modify_down_timing_test_gcc.png,
2156         priority_queue_text_modify_down_timing_test.html,
2157         priority_queue_text_modify_down_timing_test_local.png,
2158         priority_queue_text_modify_down_timing_test_msvc.png,
2159         priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png,
2160         priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
2161         priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png,
2162         priority_queue_text_modify_up_timing_test_gcc.png,
2163         priority_queue_text_modify_up_timing_test.html,
2164         priority_queue_text_modify_up_timing_test_local.png,
2165         priority_queue_text_modify_up_timing_test_msvc.png,
2166         priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png,
2167         priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
2168         priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png,
2169         priority_queue_text_pop_mem_usage_test_gcc.png,
2170         priority_queue_text_pop_mem_usage_test.html,
2171         priority_queue_text_pop_mem_usage_test_local.png,
2172         priority_queue_text_pop_mem_usage_test_msvc.png,
2173         priority_queue_text_push_pop_timing_test_gcc.png,
2174         priority_queue_text_push_pop_timing_test.html,
2175         priority_queue_text_push_pop_timing_test_local.png,
2176         priority_queue_text_push_pop_timing_test_msvc.png,
2177         priority_queue_text_push_timing_test_gcc.png,
2178         priority_queue_text_push_timing_test.html,
2179         priority_queue_text_push_timing_test_local.png,
2180         priority_queue_text_push_timing_test_msvc.png,
2181         PythonPoweredSmall.gif quadratic_probe_fn.html,
2182         random_int_find_find_timing_test_tree_gcc.png,
2183         random_int_find_find_timing_test_tree_local.png,
2184         random_int_find_find_timing_test_tree_msvc.png,
2185         range_invalidation_guarantee.html,
2186         rationale_null_node_updator.png, rb_tree_tag.html,
2187         rc_binomial_heap_tag.html, references.html, resize_error.html,
2188         resize_policy_cd.png, restoring_node_invariants.png,
2189         sample_probe_fn.html, sample_ranged_hash_fn.html,
2190         sample_ranged_probe_fn.html, sample_range_hashing.html,
2191         sample_resize_policy.html, sample_resize_trigger.html,
2192         sample_size_policy.html, sample_tree_node_update.html,
2193         sample_trie_access_traits.html, sample_trie_node_update.html,
2194         sample_update_policy.html, simple_list.png,
2195         splay_tree_tag.html, tests.html,
2196         text_find_timing_test_hash_gcc.png,
2197         text_find_timing_test_hash_local.png,
2198         text_find_timing_test_hash_msvc.png,
2199         text_find_timing_test_tree_like_gcc.png,
2200         text_find_timing_test_tree_like_local.png,
2201         text_find_timing_test_tree_like_msvc.png, thin_heap_tag.html,
2202         tree_based_containers.html, tree.html,
2203         tree_node_iterator.html, tree_node_updator_policy_cd.png,
2204         tree_order_statistics_node_update.html,
2205         tree_order_statistics_timing_test_gcc.png,
2206         tree_order_statistics_timing_test.html,
2207         tree_order_statistics_timing_test_local.png,
2208         tree_order_statistics_timing_test_msvc.png,
2209         tree_random_int_find_find_timing_test.html,
2210         tree_split_join_timing_test_gcc.png,
2211         tree_split_join_timing_test.html,
2212         tree_split_join_timing_test_local.png,
2213         tree_split_join_timing_test_msvc.png, tree_tag.html,
2214         tree_text_find_find_timing_test.html,
2215         tree_text_insert_timing_test.html,
2216         tree_text_insert_timing_test_node_tree_gcc.png,
2217         tree_text_insert_timing_test_node_tree_local.png,
2218         tree_text_insert_timing_test_node_tree_msvc.png,
2219         tree_text_insert_timing_test_pat_trie_gcc.png,
2220         tree_text_insert_timing_test_pat_trie_local.png,
2221         tree_text_insert_timing_test_pat_trie_msvc.png,
2222         tree_text_insert_timing_test_vector_tree_gcc.png,
2223         tree_text_insert_timing_test_vector_tree_local.png,
2224         tree_text_insert_timing_test_vector_tree_msvc.png,
2225         tree_text_lor_find_find_timing_test.html,
2226         tree_text_lor_find_timing_test_gcc.png,
2227         tree_text_lor_find_timing_test_local.png,
2228         tree_text_lor_find_timing_test_msvc.png,
2229         trie_based_containers.html, trie_const_node_iterator.html,
2230         trie.html, trie_node_iterator.html,
2231         trie_node_updator_policy_cd.png,
2232         trie_order_statistics_node_update.html,
2233         trie_prefix_search_node_update.html,
2234         trie_string_access_traits.html, trie_tag.html,
2235         trivial_iterator_tag.html, tutorial.html,
2236         update_policy_cd.png, update_seq_diagram.png): Remove.
2237
2238 2011-07-27  Paolo Carlini  <paolo.carlini@oracle.com>
2239
2240         PR c++/49813
2241         * include/c_global/cmath: Use _GLIBCXX_CONSTEXPR and constexpr.
2242
2243 2011-07-27  Jeffrey Yasskin  <jyasskin@google.com>
2244
2245         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Updated.
2246
2247 2011-07-25  Benjamin Kosnik  <bkoz@redhat.com>
2248
2249         * include/std/array (at): Remove constexpr when -fno-exceptions.
2250         * testsuite/23_containers/array/at_neg.cc: Test.
2251
2252 2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
2253             Nathan Ridge  <zeratul976@hotmail.com>
2254
2255         PR libstdc++/49836
2256         * include/bits/stl_vector.h (vector<>::_M_emplace_back_aux):
2257         Declare.
2258         (vector<>::push_back(const value_type&)): Use it.
2259         * include/bits/vector.tcc: Define.
2260         (vector<>::emplace_back(_Args&&...)): Use it.
2261         * testsuite/util/testsuite_tr1.h (CopyConsOnlyType, MoveConsOnlyType):
2262         Add.
2263         * testsuite/23_containers/vector/modifiers/push_back/49836.cc: New.
2264         * testsuite/23_containers/deque/modifiers/push_back/49836.cc:
2265         Likewise.
2266         * testsuite/23_containers/deque/modifiers/push_front/49836.cc:
2267         Likewise.
2268         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2269         Adjust dg-error line number.
2270         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2271         Likewise.
2272         * testsuite/23_containers/vector/requirements/dr438/
2273         constructor_1_neg.cc: Likewise.
2274         * testsuite/23_containers/vector/requirements/dr438/
2275         constructor_2_neg.cc: Likewise.
2276
2277 2011-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
2278
2279         * include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt,
2280         _M_bkt_for_elements, _M_need_rehash): Fix typos in the last commit.
2281
2282 2011-07-24  François Dumont  <francois.cppdevs@free.fr>
2283
2284         * include/bits/hashtable_policy.h (_Prime_rehash_policy): Use
2285         __builtin_floor rather than __builtin_ceil to compute next resize
2286         value.
2287         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
2288         New.
2289
2290 2011-07-22  Benjamin Kosnik  <bkoz@redhat.com>
2291             Daniel Krugler  <daniel.kruegler@googlemail.com>
2292
2293         * include/bits/move.h (move, forward): Mark constexpr.
2294         * include/bits/stl_pair.h (pair): Mark move ctors constexpr.
2295         * testsuite/20_util/pair/make_pair/constexpr.cc: New.
2296         * testsuite/20_util/pair/cons/constexpr.cc: Add tests.
2297
2298 2011-07-22  Ian Lance Taylor  <iant@google.com>
2299
2300         * fragment.am (CONFIG_CXXFLAGS): Add -frandom-seed.
2301         * Makefile.in: Rebuild.
2302         * doc/Makefile.in: Rebuild.
2303         * include/Makefile.in: Rebuild.
2304         * libsupc++/Makefile.in: Rebuild.
2305         * po/Makefile.in: Rebuild.
2306         * python/Makefile.in: Rebuild.
2307         * src/Makefile.in: Rebuild.
2308         * testsuite/Makefile.in: Rebuild.
2309
2310 2011-07-21  Benjamin Kosnik  <bkoz@redhat.com>
2311
2312         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Move...
2313         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: ... here.
2314         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc: Move...
2315         * testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc: ... here.
2316         * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Move...
2317         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: ... here.
2318         * testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc: Move...
2319         * testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc: ... here.
2320
2321         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Move...
2322         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: ... here.
2323         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc: Move...
2324         * testsuite/ext/pb_ds/regression/trie_set_rand_debug.cc: ... here.
2325         * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Move...
2326         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: ... here.
2327         * testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc: Move...
2328         * testsuite/ext/pb_ds/regression/trie_map_rand_debug.cc: ... here.
2329
2330         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Move.
2331         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: ...here.
2332         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
2333         Move...
2334         * testsuite/ext/pb_ds/regression/list_update_set_rand_debug.cc: ...here.
2335         * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Move...
2336         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: ...here.
2337         * testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
2338         Move...
2339         * testsuite/ext/pb_ds/regression/list_update_map_rand_debug.cc: ...here.
2340
2341         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Move...
2342         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: ...here.
2343         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc: Move...
2344         * testsuite/ext/pb_ds/regression/hash_set_rand_debug.cc: ...here.
2345
2346         * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Move...
2347         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: ...here.
2348         * testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc: Move...
2349         * testsuite/ext/pb_ds/regression/hash_map_rand_debug.cc: ...here.
2350
2351 2011-07-21  François Dumont  <francois.cppdevs@free.fr>
2352
2353         * include/debug/safe_unordered_sequence.h,
2354         safe_unordered_sequence.tcc: Rename respectively in...
2355         * include/debug/safe_unordered_container.h,
2356         safe_unordered_container.tcc: ...those. _Safe_unordered_sequence
2357         rename _Safe_unordered_container.
2358         * include/debug/safe_unordered_base.h: _Safe_unordered_sequence_base
2359         rename _Safe_unordered_container_base.
2360         * include/debug/unordered_map, unordered_set: Adapt to previous
2361         modifications.
2362         * config/abi/pre/gnu.ver: Likewise.
2363         * src/debug.cc: Likewise.
2364         * include/Makefile.am: Likewise.
2365         * include/Makefile.in: Regenerate.
2366
2367 2011-07-21  Paolo Carlini  <paolo.carlini@oracle.com>
2368
2369         * include/std/mutex (timed_mutex, recursive_timed_mutex): Update
2370         to use steady_clock instead of monotonic_clock.
2371         * config/abi/pre/gnu.ver: Export steady_clock::now.
2372
2373 2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
2374             Daniel Krugler  <daniel.kruegler@googlemail.com>
2375
2376         * include/std/array (array::at, array::operator[]): Mark constexpr.
2377         * testsuite/23_containers/array/requirements/
2378         constexpr_element_access.cc: Add.
2379
2380 2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
2381             Daniel Krugler  <daniel.kruegler@googlemail.com>
2382
2383         * include/std/chrono: (system_clock::is_steady): Update to N3291
2384         from is_monotonic.
2385         (time_point): Mark nonmember arithmetic operators constexpr.
2386         * src/chrono.cc: Modify for above.
2387         * src/compatibility-c++0x.cc: Same.
2388         * testsuite/20_util/time_point/nonmember/constexpr.cc: New.
2389         * testsuite/20_util/time_point/1.cc: Modify.
2390         * testsuite/20_util/system_clock/constexpr_data.cc: Modify.
2391         * testsuite/20_util/system_clock/1.cc: Modify.
2392         * testsuite/20_util/monotonic_clock/constexpr_data.cc: Move to...
2393         * testsuite/20_util/steady_clock/constexpr_data.cc: ...here.
2394         * testsuite/30_threads/condition_variable/members/2.cc: Modify.
2395         * testsuite/30_threads/condition_variable_any/members/2.cc: Modify.
2396
2397 2011-07-20  Paolo Carlini  <paolo.carlini@oracle.com>
2398
2399         * include/std/system_error: Use noexcept.
2400         * src/system_error.cc: Likewise.
2401         * testsuite/19_diagnostics/error_condition/modifiers/39881.cc: Adjust.
2402         * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
2403         * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
2404         * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
2405         * testsuite/util/testsuite_error.h: Likewise.
2406
2407         * include/std/system_error (error_code::error_code(_ErrorCodeEnum)):
2408         Use enable_if on template parameter default.
2409         (error_condition::error_condition(_ErrorConditionEnum)): Likewise.
2410
2411 2011-07-20  Ed Smith-Rowland  <3dw4rd@verizon.net>
2412
2413         * include/precompiled/stdc++.h: Add scoped_allocator.
2414
2415 2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
2416
2417         * include/std/bitset (operator[]): Make constexpr.
2418         * testsuite/23_containers/bitset/operations/constexpr.cc: New.
2419
2420 2011-07-20  Paolo Carlini  <paolo.carlini@oracle.com>
2421
2422         * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
2423         _Safe_local_iterator(const _Iterator&, size_type, const _Sequence*)):
2424         Fix typo.
2425
2426 2011-07-19  François Dumont  <francois.cppdevs@free.fr>
2427
2428         * include/debug/safe_unordered_base.h, safe_unordered_sequence.h,
2429         safe_unordered_sequence.tcc, safe_local_iterator.h,
2430         safe_local_iterator.tcc: New, support for unordered sequence safe
2431         local iterators.
2432         * include/Makefile.am: Add previous files.
2433         * include/Makefile.in: Regenerate.
2434         * include/debug/unordered_map, unordered_set: Implement
2435         _Safe_unordered_sequence and expose _Safe_local_iterator.
2436         * include/debug/safe_iterator.h, safe_iterator.tcc: Refactor
2437         _Safe_iterator::_M_get_distance static method to expose it as
2438         __get_distance function and use it in _Safe_local_iterator type.
2439         * include/debug/formatter.h: Add __msg_local_iter_compare_bad
2440         _Debug_msg_id enum entry to notify invalid comparison between local
2441         iterators from different buckets. Add _Parameter constructor from
2442         _Safe_local_iterator.
2443         * include/debug/functions.h: Add __valid_range overload for
2444         _Safe_local_iterator.
2445         * src/debug.cc: Add _Safe_unordered_sequence_base and
2446         _Safe_local_iterator_base methods implementations.
2447         * config/abi/pre/gnu.ver: Add export of some
2448         _Safe_unordered_sequence_base and _Safe_local_iterator_base methods.
2449         * testsuite/util/debug/checks.h: Add use_invalid_iterator function to
2450         simulate use of a singular iterator.
2451         * testsuite/util/debug/unordered_checks.h: New, several functions
2452         to simulate classic invalid usage of unordered sequence local
2453         iterators.
2454         * testsuite/23_containers/unordered_map/debug/
2455         use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
2456         use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
2457         invalid_local_iterator_compare_neg.cc: New.
2458         * testsuite/23_containers/unordered_multimap/debug/
2459         use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
2460         use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
2461         invalid_local_iterator_compare_neg.cc: New.
2462         * testsuite/23_containers/unordered_set/debug/
2463         use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
2464         use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
2465         invalid_local_iterator_compare_neg.cc: New.
2466         * testsuite/23_containers/unordered_multiset/debug/
2467         use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
2468         use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
2469         invalid_local_iterator_compare_neg.cc: New.
2470
2471 2011-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
2472
2473         PR libstdc++/48430
2474         * include/bits/shared_ptr.h (struct hash<shared_ptr<>>): Use
2475         __hash_base.
2476         * include/bits/unique_ptr.h (struct hash<unique_ptr<>>): Likewise.
2477
2478 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2479
2480         * crossconfig.m4 (*-netware): Remove.
2481         * configure: Regenerate.
2482
2483 2011-07-15  Yufeng Zhang  <yufeng.zhang@arm.com>
2484
2485         * config/locale/newlib/ctype_members.cc: New file.
2486         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale
2487         kind: newlib.  Configure to use the newlib specific
2488         ctype_members.cc when with_newlib is enabled.
2489         * configure: Regenerate.
2490
2491 2011-07-15  Paolo Carlini  <paolo.carlini@oracle.com>
2492             Jakub Jelinek  <jakub@redhat.com>
2493
2494         PR libstdc++/49745
2495         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check separately for
2496         _POSIX_TIMEOUTS and define _GTHREADS_USE_MUTEX_TIMEDLOCK.
2497         * libsupc++/guard.cc: Include <unistd.h>.
2498         * testsuite/17_intro/headers/c++1998/49745.cc: New.
2499         * configure: Regenerate.
2500         * config.h.in: Likewise.
2501
2502 2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>
2503
2504         PR libstdc++/49559
2505         * include/bits/stl_algo.h (__move_merge_backward): Remove.
2506         (__move_merge_adaptive, __move_merge_adaptive_backward): New.
2507         (__merge_adaptive): Use the latter two.
2508         (__rotate_adaptive): Avoid self move-assignment.
2509         * include/bits/stl_algobase.h (move_backward): Fix comment.
2510         * testsuite/25_algorithms/stable_sort/49559.cc: New.
2511         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
2512         * testsuite/25_algorithms/inplace_merge/moveable.cc: Extend.
2513         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
2514         * testsuite/util/testsuite_rvalref.h (rvalstruct::operator=
2515         (rvalstruct&&)): Check for self move-assignment.
2516
2517 2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>
2518
2519         * testsuite/util/testsuite_allocator.h (propagating_allocator<>::
2520         operator=(const propagating_allocator<>&)): Retun *this.
2521
2522 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2523
2524         * include/Makefile.am: Add new header.
2525         * include/Makefile.in: Regenerate.
2526         * include/std/scoped_allocator: New.
2527         * doc/xml/manual/status_cxx200x.xml: Update.
2528         * testsuite/20_util/scoped_allocator/1.cc: New.
2529         * testsuite/20_util/scoped_allocator/propagation.cc: New.
2530         * testsuite/20_util/scoped_allocator/requirements/typedefs.cc: New.
2531         * testsuite/20_util/scoped_allocator/requirements/
2532         explicit_instantiation.cc: New.
2533
2534 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2535
2536         * include/bits/stl_vector.h: Use new allocator model in C++0x mode.
2537         * include/bits/vector.tcc: Likewise.
2538         * testsuite/util/testsuite_allocator.h (propagating_allocator): Define.
2539         * testsuite/23_containers/vector/allocator/copy_assign.cc: New.
2540         * testsuite/23_containers/vector/allocator/noexcept.cc: New.
2541         * testsuite/23_containers/vector/allocator/copy.cc: New.
2542         * testsuite/23_containers/vector/allocator/swap.cc: New.
2543         * testsuite/23_containers/vector/allocator/move_assign.cc: New.
2544         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2545         Adjust dg-error line numbers.
2546         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2547         Likewise.
2548         * testsuite/23_containers/vector/requirements/dr438/
2549         constructor_1_neg.cc: Likewise.
2550         * testsuite/23_containers/vector/requirements/dr438/
2551         constructor_2_neg.cc: Likewise.
2552
2553 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2554
2555         * include/ext/alloc_traits.h (__allocator_always_compares_equal): New
2556         trait, provide partial specializations for known allocators.
2557         (__alloc_traits::construct, __alloc_traits::destroy): Overload for
2558         non-standard pointer types.
2559         (__alloc_traits::_S_always_equal): New trait for use with noexcept.
2560         (__alloc_traits::_S_nothrow_move): Likewise.
2561         (__alloc_traits::_S_nothrow_swap): Likewise.
2562
2563 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2564
2565         * include/ext/cast.h: Fix typo in include guard.
2566         * include/ext/pointer.h (_Unqualified_type): Remove redundant
2567         partial specializations for volatile types. Fix typos in comments.
2568         (pointer_traits<_Pointer_adaptor<Tp>>::pointer_to): Define.
2569
2570 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2571
2572         PR libstdc++/49668
2573         * include/std/functional (__bind_simple): Define.
2574         * include/std/future (_Task_setter): Parameterize by type of result
2575         pointer instead of state object.
2576         (_S_task_setter): Type deduction helper.
2577         (_Task_state): Use _S_task_setter and __bind_simple.
2578         (_Deferred_state, _Async_state): Store call wrapper directly not as
2579         std::function. Use _S_task_setter and __bind_simple.
2580         (_S_make_deferred_state, _S_make_async_state): Type deduction helpers.
2581         (async): Use new functions and __bind_simple.
2582         * include/std/mutex (call_once): Use __bind_simple.
2583         * include/std/thread (thread): Likewise. Remove unused headers.
2584         * src/thread.cc: Add header.
2585         * testsuite/30_threads/async/49668.cc: New.
2586         * testsuite/30_threads/call_once/49668.cc: New.
2587         * testsuite/30_threads/thread/cons/49668.cc: New.
2588         * testsuite/30_threads/thread/cons/moveable.cc: Remove unused bool.
2589
2590 2011-07-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2591
2592         * configure.host (abi_baseline_subdir_switch): Describe.
2593         Provide default.
2594         (*-*-solaris2.[89], *-*-solaris2.1[0-9]): Override.
2595         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Substitute
2596         baseline_subdir_switch.
2597         * testsuite/Makefile.am (site.exp): Emit it.
2598         (baseline_subdir): Use it.
2599         * testsuite/libstdc++-abi/abi.exp: Use it.
2600         * configure: Regenerate.
2601         * Makefile.in: Regenerate.
2602         * doc/Makefile.in: Regenerate.
2603         * include/Makefile.in: Regenerate.
2604         * libsupc++/Makefile.in: Regenerate.
2605         * po/Makefile.in: Regenerate.
2606         * python/Makefile.in: Regenerate.
2607         * src/Makefile.in: Regenerate.
2608         * testsuite/Makefile.in: Regenerate.
2609
2610 2011-06-29  François Dumont  <francois.cppdevs@free.fr>
2611
2612         * include/debug/set.h, unordered_map, multiset.h, forward_list,
2613         unordered_set, vector, deque, string, list, multimap.h: Remove
2614         base class default constructor calls.
2615         * include/debug/map.h: Likewise and cleanup several redefinition of
2616         base iterator typedef.
2617
2618 2011-06-29  Nathan Sidwell  <nathan@codesourcery.com>
2619
2620         * libsupc++/eh_arm.c (__cxa_type_match): Construct address of
2621         thrown object here.  Return succeded_with_ptr_to_base for all
2622         pointer cases.
2623
2624 2011-06-23  Jonathan Wakely  <jwakely.gcc@gmail.com>
2625
2626         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Fix for
2627         C++0x mode.
2628         * testsuite/25_algorithms/sort/35588.cc: Likewise.
2629         * testsuite/26_numerics/headers/complex/synopsis.cc: Likewise.
2630
2631 2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
2632
2633         * testsuite/20_util/bind/socket.cc: Use variable and remove attribute.
2634
2635 2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
2636
2637         * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Avoid -Wall
2638         warning.
2639
2640 2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
2641
2642         * testsuite/20_util/reference_wrapper/invoke.cc: Avoid -Wall warnings.
2643         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Likewise.
2644         * testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
2645         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
2646         Likewise.
2647         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
2648         * testsuite/20_util/bind/socket.cc: Likewise.
2649         * testsuite/20_util/pointer_traits/pointer_to.cc: Likewise.
2650         * testsuite/util/testsuite_random.h: Likewise.
2651
2652 2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
2653
2654         * include/Makefile.am: Add alloc_traits.h headers.
2655         * include/Makefile.in: Regenerate.
2656         * include/std/memory: Include uses_allocator.h explicitly.
2657         * include/bits/allocator.h (allocator_traits): Move to ...
2658         * include/bits/alloc_traits.h: New header.
2659         * include/ext/alloc_traits.h (__alloc_traits): Extension to provide
2660         a common allocator interface for C++98 and C++0x.
2661         * include/bits/stl_construct.h: Use __alloc_traits.
2662         * include/bits/stl_uninitialized.h: Likewise.
2663
2664 2011-06-22  Daniel Krugler  <daniel.kruegler@googlemail.com>
2665             Paolo Carlini  <paolo.carlini@oracle.com>
2666
2667         * include/bits/move.h (__is_nothrow_swappable): Add.
2668         (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Use noexcept.
2669         * include/bits/algorithmfwd.h: Adjust.
2670         * testsuite/25_algorithms/swap/noexcept.cc: New.
2671
2672 2011-06-21  Jakub Jelinek  <jakub@redhat.com>
2673
2674         * testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add
2675         check-DEJAGNUnormal[4-9].
2676         (check-DEJAGNU): Split into 10 jobs for parallel testing instead of 4.
2677         * testsuite/Makefile.in: Regenerated.
2678
2679 2011-06-20  Daniel Krugler  <daniel.kruegler@googlemail.com>
2680             Paolo Carlini  <paolo.carlini@oracle.com>
2681
2682         * include/std/tuple (__conv_types, __one_by_one_convertible,
2683         __all_convertible): Add.
2684         (tuple): Use the latter.
2685         (tuple<_T1>): Remove.
2686         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error
2687         line number.
2688         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
2689
2690 2011-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
2691
2692         * include/bits/ptr_traits.h (pointer_traits<T*>::pointer_to): Use
2693         noexcept.
2694
2695 2011-06-14  Paolo Carlini  <paolo.carlini@oracle.com>
2696
2697         * include/std/valarray (~valarray): Use noexcept.
2698         * include/bits/unique_ptr.h (~unique_ptr): Likewise.
2699         * testsuite/26_numerics/valarray/noexcept_move_construct.cc: New.
2700         * testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc:
2701         Likewise.
2702         * testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc:
2703         Likewise.
2704         * testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc:
2705         Likewise.
2706
2707 2011-06-14  Paolo Carlini  <paolo.carlini@oracle.com>
2708
2709         * include/std/functional: Use noexcept.
2710         * include/bits/stl_tempbuf.h: Likewise.
2711
2712 2011-06-12  François Dumont  <francois.cppdevs@free.fr>
2713             Paolo Carlini  <paolo.carlini@oracle.com>
2714
2715         * include/bits/allocator.h (__shrink_to_fit): Rename to
2716         __shrink_to_fit_aux, fix.
2717         * include/bits/stl_vector.h (_M_shrink_to_fit): Declare.
2718         (shrink_to_fit): Use the latter.
2719         * include/debug/vector (shrink_to_fit): Likewise.
2720         * include/bits/vector.tcc (_M_shrink_to_fit): Define.
2721         * include/bits/stl_deque.h (_M_shrink_to_fit): Declare.
2722         (shrink_to_fit): Use the latter.
2723         * include/debug/deque (shrink_to_fit): Likewise.
2724         * include/bits/deque.tcc (_M_shrink_to_fit): Define.
2725         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Add.
2726         * include/bits/stl_bvector.h (_M_shrink_to_fit): Declare.
2727         (shrink_to_fit): Use the latter.
2728         (reserve): Use _M_reallocate, move inline.
2729         (_Bvector_base<>::_S_nword): Add, use it throughout.
2730         * include/debug/string (shrink_to_fit): Redo.
2731         * include/ext/vstring.h (shrink_to_fit): Optimize.
2732         * include/bits/basic_string.h (shrink_to_fit): Likewise.
2733         * testsuite/21_strings/debug/shrink_to_fit.cc: New.
2734         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
2735         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc:
2736         Likewise.
2737         * testsuite/23_containers/vector/bool/capacity/shrink_to_fit.cc:
2738         Likewise.
2739         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
2740
2741 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
2742
2743         * include/ext/extptr_allocator.h (construct, destroy): Fix for C++0x
2744         mode by overloading to take allocator's pointer type.
2745         * testsuite/23_containers/vector/ext_pointer/types/2.cc: New.
2746         * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
2747         2.cc: New.
2748
2749 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
2750
2751         * testsuite/20_util/allocator_traits/requirements/
2752         explicit_instantiation.cc: Add another instantiation.
2753
2754 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
2755
2756         * testsuite/20_util/allocator_traits/requirements/typedefs.cc: Check
2757         for allocator_type and value_type.
2758
2759 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
2760
2761         * testsuite/30_threads/packaged_task/uses_allocator.cc: New.
2762         * testsuite/30_threads/promise/uses_allocator.cc: Likewise.
2763
2764 2011-06-10  Paolo Carlini  <paolo.carlini@oracle.com>
2765
2766         * include/ext/throw_allocator.h: Use noexcept.
2767         * include/ext/pool_allocator.h: Likewise.
2768         * include/ext/bitmap_allocator.h: Likewise.
2769         * include/ext/new_allocator.h: Likewise.
2770         * include/ext/malloc_allocator.h: Likewise.
2771         * include/ext/array_allocator.h: Likewise.
2772         * include/ext/mt_allocator.h: Likewise.
2773         * include/ext/extptr_allocator.h: Likewise.
2774         * testsuite/util/testsuite_allocator.h: Likewise; do not include
2775         <cassert> directly, include <testsuite_hooks.h> instead.
2776
2777 2011-06-10  Benjamin Kosnik  <bkoz@redhat.com>
2778
2779         * include/ext/pb_ds/*: Doxygen markup redo.
2780         * include/Makefile.am: Fold in constructors_destructor_fn_imps.hpp.
2781         * include/Makefile.in: Regenerate.
2782
2783 2011-06-10  Jason Merrill  <jason@redhat.com>
2784
2785         * testsuite/20_util/bind/ref_neg.cc: Remove wrong test lines.
2786
2787         * testsuite/20_util/bind/ref_neg.cc: Remove dg-excess-errors,
2788         fix dg-error markup.
2789
2790 2011-06-09  Jason Merrill  <jason@redhat.com>
2791
2792         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust.
2793
2794         * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune notes.
2795         * testsuite/20_util/duration/cons/1_neg.cc: Remove dg-excess-errors.
2796         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
2797         * testsuite/20_util/forward/1_neg.cc: Likewise.
2798         * testsuite/20_util/function/cmp/cmp_neg.cc: Likewise.
2799         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
2800         * testsuite/20_util/reference_wrapper/ref_neg.cc: Likewise.
2801         * testsuite/20_util/tuple/comparison_operators/35480_neg.cc: Likewise.
2802         * testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc:
2803         Likewise.
2804         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
2805         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
2806         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
2807         Likewise.
2808         * testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise.
2809         * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Likewise.
2810         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
2811         Likewise.
2812         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
2813         auto_ptr_rvalue_neg.cc: Likewise.
2814         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
2815         Likewise.
2816         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
2817         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2818         Likewise.
2819         * testsuite/23_containers/deque/requirements/dr438/
2820         constructor_1_neg.cc: Likewise.
2821         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2822         Likewise.
2823         * testsuite/23_containers/forward_list/requirements/dr438/
2824         assign_neg.cc: Likewise.
2825         * testsuite/23_containers/forward_list/requirements/dr438/
2826         constructor_1_neg.cc: Likewise.
2827         * testsuite/23_containers/forward_list/requirements/dr438/
2828         constructor_2_neg.cc: Likewise.
2829         * testsuite/23_containers/forward_list/requirements/dr438/
2830         insert_neg.cc: Likewise.
2831         * testsuite/23_containers/list/requirements/dr438/
2832         assign_neg.cc: Likewise.
2833         * testsuite/23_containers/list/requirements/dr438/
2834         constructor_1_neg.cc: Likewise.
2835         * testsuite/23_containers/list/requirements/dr438/
2836         constructor_2_neg.cc: Likewise.
2837         * testsuite/23_containers/list/requirements/dr438/
2838         insert_neg.cc: Likewise.
2839         * testsuite/23_containers/vector/requirements/dr438/
2840         assign_neg.cc: Likewise.
2841         * testsuite/23_containers/vector/requirements/dr438/
2842         constructor_1_neg.cc: Likewise.
2843         * testsuite/23_containers/vector/requirements/dr438/
2844         constructor_2_neg.cc: Likewise.
2845         * testsuite/23_containers/vector/requirements/dr438/
2846         insert_neg.cc: Likewise.
2847         * testsuite/23_containers/map/operators/1_neg.cc: Likewise.
2848         * testsuite/29_atomics/atomic_integral/operators/
2849         bitwise_neg.cc: Likewise.
2850         * testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
2851         * testsuite/decimal/mixed-mode-cmp_neg.cc: Likewise.
2852         * testsuite/decimal/operator_neg.cc: Likewise.
2853
2854 2011-06-09  Simon Baldwin  <simonb@google.com>
2855
2856         * scripts/extract_symvers.in: Handle processor/OS specific or
2857         unknown symbol binding strings from readelf.
2858
2859 2011-06-09  Paolo Carlini  <paolo.carlini@oracle.com>
2860
2861         * include/std/type_traits (__is_copy_assignable_impl,
2862         __is_nt_copy_assignable_impl): Fix typo.
2863
2864 2011-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
2865
2866         * include/ext/extptr_allocator.h: Include <ext/numeric_traits.h>
2867         instead of <limits>.
2868         * include/bits/allocator.h: Likewise.
2869
2870         * include/std/chrono (duration_values<>::min): Call lowest, not min.
2871
2872 2011-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
2873
2874         * include/bits/allocator.h (__shrink_to_fit): Simplify.
2875         * include/bits/stl_vector.h (vector<>::shrink_to_fit): Adjust.
2876         * include/bits/stl_deque.h: Likewise.
2877         * include/bits/stl_bvector.h: Likewise.
2878
2879 2011-06-07  Jason Merrill  <jason@redhat.com>
2880
2881         * testsuite/lib/prune.exp: s/required/instantiated/.
2882         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2883         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
2884         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
2885         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
2886         * testsuite/20_util/forward/1_neg.cc: Likewise.
2887         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
2888         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2889         Likewise.
2890         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
2891         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
2892         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Likewise.
2893         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
2894         * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Likewise.
2895         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Likewise.
2896         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
2897         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
2898         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
2899         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
2900         shared_ptr_neg.cc: Likewise.
2901
2902 2011-06-07  Paolo Carlini  <paolo.carlini@oracle.com>
2903
2904         * include/bits/move.h (struct __move_if_noexcept_cond): Add.
2905         (move_if_noexcept): Use the latter.
2906         * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator,
2907         _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR): Add.
2908         * include/bits/stl_uninitialized.h
2909         (__uninitialized_move_if_noexcept_a): Add.
2910         * include/bits/vector.tcc (vector<>::reserve): Use
2911         _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR.
2912         (vector<>::_M_insert_aux, _M_fill_insert, _M_default_append,
2913         _M_range_insert): Use __uninitialized_move_if_noexcept_a.
2914         * testsuite/util/testsuite_rvalref.h (throwing_move_constructor):
2915         Add.
2916         (copycounter::copycounter(copycounter&&)): Use noexcept.
2917         * testsuite/23_containers/vector/modifiers/moveable2.cc: New.
2918         * testsuite/23_containers/vector/capacity/resize/moveable2.cc:
2919         Likewise.
2920         * testsuite/23_containers/vector/capacity/reserve/moveable2.cc:
2921         Likewise.
2922
2923 2011-06-07  Paolo Carlini  <paolo.carlini@oracle.com>
2924
2925         PR libstdc++/49293
2926         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Tweak
2927         for glibc 2.14.
2928         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
2929
2930 2011-06-06  Paolo Carlini  <paolo.carlini@oracle.com>
2931
2932         * include/bits/move.h (move_if_noexcept): Use __and_ and __not_.
2933
2934 2011-06-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
2935
2936         * include/bits/ptr_traits.h (pointer_traits): Fix typos.
2937         * include/ext/pointer.h (pointer_traits): Add partial specialization
2938         for _Pointer_adapter.
2939
2940 2011-06-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
2941
2942         * testsuite/util/testsuite_allocator.h (tracker_allocator::construct):
2943         Update to C++0x definition using type to construct as template
2944         parameter.
2945         (tracker_allocator::destroy): Likewise for type to destroy.
2946         (uneq_allocator::construct, uneq_allocator::destroy): Likewise.
2947
2948 2011-06-01  Paolo Carlini  <paolo.carlini@oracle.com>
2949
2950         * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
2951         Use std::move on the allocator, use noexcept.
2952         (_Hashtable<>::~_Hashtable): Use noexcept.
2953         * include/bits/stl_list.h: Likewise.
2954         * include/bits/forward_list.h: Likewise.
2955         * include/bits/stl_vector.h: Likewise.
2956         * include/bits/stl_bvector.h: Likewise.
2957         * include/bits/stl_map.h (map<>::map(map&&)): Use noexcept.
2958         * include/bits/stl_set.h: Likewise.
2959         * include/bits/stl_multimap.h: Likewise.
2960         * include/bits/stl_multiset.h: Likewise.
2961         * include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(_Rb_tree&&)): Use
2962         std::move on the allocator.
2963         (_Rb_tree<>::~_Rb_tree): Use noexcept.
2964         * include/bits/stl_deque.h: Likewise.
2965         * include/bits/basic_string.h (basic_string<>::~basic_string): Use
2966         noexcept.
2967         * include/ext/vstring.h (__versa_string<>::~__versa_string): Likewise.
2968         * include/debug/set.h: Adjust.
2969         * include/debug/unordered_map: Likewise.
2970         * include/debug/multiset.h: Likewise.
2971         * include/debug/forward_list: Likewise.
2972         * include/debug/vector: Likewise.
2973         * include/debug/unordered_set: Likewise.
2974         * include/debug/deque: Likewise.
2975         * include/debug/map.h: Likewise.
2976         * include/debug/string: Likewise.
2977         * include/debug/list: Likewise.
2978         * include/debug/multimap.h: Likewise.
2979         * include/profile/set.h: Likewise.
2980         * include/profile/unordered_map: Likewise.
2981         * include/profile/multiset.h: Likewise.
2982         * include/profile/forward_list: Likewise.
2983         * include/profile/unordered_set: Likewise.
2984         * include/profile/vector: Likewise.
2985         * include/profile/deque: Likewise.
2986         * include/profile/map.h: Likewise.
2987         * include/profile/list: Likewise.
2988         * include/profile/multimap.h: Likewise.
2989         * testsuite/21_strings/basic_string/cons/wchar_t/
2990         noexcept_move_construct.cc: New.
2991         * testsuite/21_strings/basic_string/cons/char/
2992         noexcept_move_construct.cc: Likewise.
2993         * testsuite/ext/vstring/cons/noexcept_move_construct.cc: Likewise.
2994         * testsuite/23_containers/unordered_map/cons/
2995         noexcept_move_construct.cc: Likewise.
2996         * testsuite/23_containers/multimap/cons/
2997         noexcept_move_construct.cc: Likewise.
2998         * testsuite/23_containers/set/cons/
2999         noexcept_move_construct.cc: Likewise.
3000         * testsuite/23_containers/unordered_multimap/cons/
3001         noexcept_move_construct.cc: Likewise.
3002         * testsuite/23_containers/forward_list/cons/
3003         noexcept_move_construct.cc: Likewise.
3004         * testsuite/23_containers/unordered_set/cons/
3005         noexcept_move_construct.cc: Likewise.
3006         * testsuite/23_containers/vector/bool/cons/
3007         noexcept_move_construct.cc: Likewise.
3008         * testsuite/23_containers/vector/cons/
3009         noexcept_move_construct.cc: Likewise.
3010         * testsuite/23_containers/multiset/cons/
3011         noexcept_move_construct.cc: Likewise.
3012         * testsuite/23_containers/list/cons/
3013         noexcept_move_construct.cc: Likewise.
3014         * testsuite/23_containers/unordered_multiset/cons/
3015         noexcept_move_construct.cc: Likewise.
3016         * testsuite/23_containers/map/cons/noexcept_move_construct.cc
3017         * testsuite/23_containers/forward_list/requirements/dr438/
3018         assign_neg.cc: Adjust dg-error line numbers.
3019         * testsuite/23_containers/forward_list/requirements/dr438/
3020         insert_neg.cc: Likewise.
3021         * testsuite/23_containers/forward_list/requirements/dr438/
3022         constructor_1_neg.cc: Likewise.
3023         * testsuite/23_containers/forward_list/requirements/dr438/
3024         constructor_2_neg.cc: Likewise.
3025         * testsuite/23_containers/vector/requirements/dr438/
3026         assign_neg.cc: Likewise.
3027         * testsuite/23_containers/vector/requirements/dr438/
3028         insert_neg.cc: Likewise.
3029         * testsuite/23_containers/vector/requirements/dr438/
3030         constructor_1_neg.cc: Likewise.
3031         * testsuite/23_containers/vector/requirements/dr438/
3032         constructor_2_neg.cc: Likewise.
3033         * testsuite/23_containers/deque/requirements/dr438/
3034         assign_neg.cc: Likewise.
3035         * testsuite/23_containers/deque/requirements/dr438/
3036         insert_neg.cc: Likewise.
3037         * testsuite/23_containers/deque/requirements/dr438/
3038         constructor_1_neg.cc: Likewise.
3039         * testsuite/23_containers/deque/requirements/dr438/
3040         constructor_2_neg.cc: Likewise.
3041         * testsuite/23_containers/list/requirements/dr438/
3042         assign_neg.cc: Likewise.
3043         * testsuite/23_containers/list/requirements/dr438/
3044         insert_neg.cc: Likewise.
3045         * testsuite/23_containers/list/requirements/dr438/
3046         constructor_1_neg.cc: Likewise.
3047         * testsuite/23_containers/list/requirements/dr438/
3048         constructor_2_neg.cc: Likewise.
3049
3050         * include/bits/move.h (swap): Use __and_ in the noexcept.
3051         * include/bits/algorithmfwd.h: Adjust.
3052
3053 2011-05-31  Paolo Carlini  <paolo.carlini@oracle.com>
3054
3055         * include/bits/basic_string.h: Use noexcept per the FDIS (minus
3056         compare(const string&), which uses char_traits::compare, which
3057         isn't noexcept; also no noexcept in the move assignment operator
3058         and move assign, see c++std-lib-30855).
3059         * include/bits/basic_string.tcc: Likewise.
3060         * include/ext/vstring.h: Likewise.
3061         * include/ext/vstring.tcc: Likewise.
3062         * include/debug/string: Likewise.
3063
3064 2011-05-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
3065
3066         * doc/xml/manual/status_cxx200x.xml: Update.
3067         * doc/html/*: Regenerate.
3068
3069 2011-05-30  Paolo Carlini  <paolo.carlini@oracle.com>
3070
3071         * include/std/type_traits (__or_, __and_): Add trivial definitions
3072         for a single element.
3073         * include/bits/stl_pair.h: Use __and_ in noexcept specs and
3074         constraints.
3075         (pair<>::pair(pair&&)): Define.
3076         (pair<>::pair(const pair<>&)): Constrain with is_convertible.
3077         (pair<>::pair(pair<>&&)): Likewise, remove noexcept.
3078         * include/std/tuple: Use __and_ in noexcept specs and constraints.
3079         (_Tuple_impl<>::_Tuple_impl(allocator_arg_t, const _Alloc&,
3080         _Tuple_impl&&)): Remove noexcept.
3081         (tuple<>::tuple(_UElements&&...), tuple(const tuple<_UElements...>&),
3082         tuple(tuple<_UElements...>&&), tuple(const pair<_U1, _U2>&),
3083         tuple(pair<_U1, _U2>&&)): Constrain with is_convertible.
3084         * testsuite/20_util/tuple/moveable2.cc: Use = delete.
3085         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3086         Adjust dg-error line numbers.
3087         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3088         Likewise.
3089         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3090         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
3091         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
3092
3093 2011-05-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
3094
3095         * include/std/tuple: Restore is_convertible constraint.
3096         * testsuite/20_util/tuple/cons/allocate_noncopyable.cc: Remove.
3097
3098 2011-05-30  Paolo Carlini  <paolo.carlini@oracle.com>
3099
3100         PR libstdc++/49236
3101         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
3102         line number.
3103
3104 2011-05-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
3105
3106         * include/std/tuple: Implement uses-allocator construction.
3107         * include/bits/allocator.h (uses_allocator): Move to ...
3108         * include/bits/uses_allocator.h: New file.
3109         * include/Makefile.am: Add new header.
3110         * include/Makefile.in: Regenerate.
3111         * testsuite/20_util/uses_allocator/cons_neg.cc: New.
3112         * testsuite/20_util/uses_allocator/construction.cc: New.
3113         * testsuite/20_util/tuple/cons/allocate_noncopyable.cc: New.
3114         * testsuite/20_util/tuple/cons/allocators.cc: New.
3115
3116 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3117
3118         * testsuite/20_util/pointer_traits/pointer_to.cc: Fix.
3119
3120 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3121
3122         * acinclude.m4: Define GLIBCXX_CHECK_GET_NPROCS and
3123         GLIBCXX_CHECK_SC_NPROCESSORS_ONLN.
3124         * configure.ac: Use them. Increase minor version.
3125         * configure: Regenerate.
3126         * config.h.in: Regenerate.
3127         * include/std/thread (thread::hardware_concurrency): Remove inline
3128         definition.
3129         * src/thread.cc (thread::hardware_concurrency): Define.
3130         * config/abi/pre/gnu.ver: Export new symbol @3.4.17
3131         * testsuite/util/testsuite_abi.cc: Add new version.
3132         * testsuite/lib/libstdc++.exp (check_v3_target_nprocs): Add.
3133         * testsuite/lib/dg-options.exp (dg-require-nprocs): Add.
3134         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Use
3135         dg-require-nprocs and verify hardware_concurrency returns non-zero.
3136
3137 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3138
3139         * testsuite/20_util/pointer_traits/pointer_to.cc: New.
3140
3141 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3142
3143         * include/Makefile.am: Add new ptr_traits.h header.
3144         * include/Makefile.in: Regenerate.
3145         * include/bits/ptr_traits.h (pointer_traits): New.
3146         * include/bits/allocator.h (allocator_traits): Add.
3147         * include/ext/array_allocator.h (construct, destroy): Update C++0x
3148         versions.
3149         * include/ext/bitmap_allocator.h (construct, destroy): Likewise.
3150         * include/ext/extptr_allocator.h (construct, destroy): Likewise.
3151         * include/ext/malloc_allocator.h (construct, destroy): Likewise.
3152         * include/ext/mt_allocator.h (construct, destroy): Likewise.
3153         * include/ext/new_allocator.h (construct, destroy): Likewise.
3154         * include/ext/pool_allocator.h (construct, destroy): Likewise.
3155         * include/ext/throw_allocator.h (construct, destroy): Likewise.
3156         * testsuite/20_util/allocator_traits/requirements/typedefs.cc: New.
3157         * testsuite/20_util/allocator_traits/requirements/
3158         explicit_instantiation.cc: New.
3159         * testsuite/20_util/allocator_traits/members/max_size.cc: New.
3160         * testsuite/20_util/allocator_traits/members/select.cc: New.
3161         * testsuite/20_util/allocator_traits/members/construct.cc: New.
3162         * testsuite/20_util/allocator_traits/members/allocate_hint.cc: New.
3163         * testsuite/20_util/allocator_traits/members/destroy.cc: New.
3164         * testsuite/20_util/pointer_traits/requirements/typedefs.cc: New.
3165         * testsuite/20_util/pointer_traits/requirements/
3166         explicit_instantiation.cc: New.
3167
3168 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3169
3170         * include/std/future (launch): Update enumerators and define
3171         operators required for bitmask type. Remove trailing whitespace.
3172         * src/future.cc: Remove trailing whitespace.
3173         * testsuite/30_threads/async/any.cc: Adjust.
3174         * testsuite/30_threads/async/sync.cc: Adjust.
3175         * testsuite/30_threads/async/launch.cc: New.
3176
3177 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3178
3179         * include/std/future: Use noexcept.
3180         * src/future.cc: Likewise.
3181
3182 2011-05-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
3183
3184         * include/std/thread (this_thread::sleep_until): Move after sleep_for.
3185
3186 2011-05-27  Paolo Carlini  <paolo.carlini@oracle.com>
3187
3188         PR libstdc++/49187
3189         * include/parallel/losertree.h: Add missing using declarations
3190         of _Base::_M_comp.
3191         * include/parallel/algobase.h: Include <parallel/algorithmfwd.h>.
3192         * include/parallel/multiway_merge.h: Include <parallel/
3193         multiseq_selection.h>, forward declare __merge_advance.
3194         * include/parallel/multiseq_selection.h: Don't include <parallel/
3195         sort.h> here.
3196         * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Fix
3197         qualification of upper_bound.
3198
3199         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc:
3200         Use dg-require-debug-mode.
3201         * testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc:
3202         Likewise.
3203         * testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc:
3204         Likewise.
3205         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc:
3206         Likewise.
3207         * testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc:
3208         Likewise.
3209         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
3210         Likewise.
3211         * testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
3212         Likewise.
3213         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc:
3214         Likewise.
3215         * testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc:
3216         Likewise.
3217
3218         * include/parallel/algo.h: Minor uglification fixes.
3219
3220 2011-05-26  Paolo Carlini  <paolo.carlini@oracle.com>
3221
3222         * src/list.cc: Use noexcept per the FDIS.
3223         * src/compatibility-list-2.cc: Likewise.
3224         * include/debug/set.h: Likewise.
3225         * include/debug/unordered_map: Likewise.
3226         * include/debug/multiset.h: Likewise.
3227         * include/debug/forward_list: Likewise.
3228         * include/debug/unordered_set: Likewise.
3229         * include/debug/vector: Likewise.
3230         * include/debug/map.h: Likewise.
3231         * include/debug/deque: Likewise.
3232         * include/debug/list: Likewise.
3233         * include/debug/multimap.h: Likewise.
3234         * include/profile/set.h: Likewise.
3235         * include/profile/unordered_map: Likewise.
3236         * include/profile/multiset.h: Likewise.
3237         * include/profile/forward_list: Likewise.
3238         * include/profile/vector: Likewise.
3239         * include/profile/unordered_set: Likewise.
3240         * include/profile/map.h: Likewise.
3241         * include/profile/deque: Likewise.
3242         * include/profile/list: Likewise.
3243         * include/profile/multimap.h: Likewise.
3244         * include/bits/hashtable.h: Likewise.
3245         * include/bits/stl_list.h: Likewise.
3246         * include/bits/stl_map.h: Likewise.
3247         * include/bits/hashtable_policy.h: Likewise.
3248         * include/bits/stl_set.h: Likewise.
3249         * include/bits/forward_list.h: Likewise.
3250         * include/bits/stl_multimap.h: Likewise.
3251         * include/bits/stl_vector.h: Likewise.
3252         * include/bits/stl_deque.h: Likewise.
3253         * include/bits/stl_multiset.h: Likewise.
3254         * include/bits/stl_bvector.h: Likewise.
3255         * include/bits/stl_tree.h: Likewise.
3256
3257 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
3258
3259         * include/bits/stl_queue.h: Use noexcept per the FDIS.
3260         * include/bits/stl_stack.h: Likewise.
3261
3262 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
3263
3264         * config/abi/pre/gnu.ver: Correct last change, export instead
3265         at the existing @3.4.16.
3266         * configure.ac: Revert last change.
3267         * testsuite/util/testsuite_abi.cc: Likewise.
3268         * configure: Regenerate.
3269
3270 2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
3271
3272         * doc/xml/manual/documentation_hacking.xml: Minor corrections.
3273
3274 2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
3275
3276         * include/std/mutex: Add doxygen comments.
3277
3278 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
3279
3280         * config/abi/pre/gnu.ver: Export recently added  basic_streambuf
3281         and basic_stringbuf symbols @3.4.17.
3282         * configure.ac: Update.
3283         * testsuite/util/testsuite_abi.cc: Likewise.
3284         * configure: Regenerate.
3285
3286 2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
3287
3288         * libsupc++/guard.cc: Fix comments.
3289
3290 2011-05-25  Ian Lance Taylor  <iant@google.com>
3291
3292         PR libstdc++/49060
3293         * include/backward/hashtable.h (hashtable::erase): Don't crash if
3294         erasing first and another element with a reference to the other
3295         element.
3296         * testsuite/backward/hash_set/49060.cc: New.
3297
3298 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
3299
3300         * include/bits/random.h (random_device::min, max): Specify constexpr.
3301
3302 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
3303
3304         * include/std/thread: Use noexcept throughout per the FDIS.
3305         * include/std/mutex: Likewise.
3306
3307 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
3308
3309         * testsuite/20_util/duration/arithmetic/dr2020.cc: Fix typo.
3310
3311 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
3312
3313         PR libstdc++/49151
3314         * include/std/chrono (operator+, operator-, operator*, operator/,
3315         operator&): Implement LWG 2020 [WP]; specify constexpr.
3316         * testsuite/20_util/duration/arithmetic/dr2020.cc: New.
3317
3318 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
3319
3320         PR libstdc++/49141
3321         * testsuite/26_numerics/complex/cons/48760.cc: Use dg-require-c-std.
3322         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
3323         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
3324
3325 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
3326
3327         * include/bits/c++config (_GLIBCXX_NOTHROW): Update for noexcept.
3328         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
3329         line number.
3330
3331 2011-05-23  Benjamin Kosnik  <bkoz@redhat.com>
3332
3333         PR libstdc++/37144
3334         PR libstdc++/28457
3335         Interface changes for ext/pb_ds.
3336         PB_DS_BASE_C_DEC to unique PB_DS_*_BASE macros.
3337         * include/ext/pb_ds/assoc_container.hpp (container_base): Remove.
3338         (basic_hash_table, basic_branch, list_update): Derive from
3339         container_base_dispatch.
3340         * include/ext/pb_ds/list_update_policy.hpp (null_lu_metadata): Remove.
3341         (move_to_front_lu_policy): To lu_move_to_front_policy.
3342         (counter_lu_policy): To lu_counter_policy.
3343         * include/ext/pb_ds/tree_policy.hpp (null_tree_node_update): Remove.
3344         * include/ext/pb_ds/tag_and_trait.hpp (container_base_dispatch): Adjust
3345         template parameters, declare here.
3346         (null_mapped_type) Remove.
3347         (null_type): Just use this for template tricks everywhere.
3348         * include/ext/pb_ds/hash_policy.hpp (null_hash_fn, null_probe_fn):
3349         Remove.
3350         * include/ext/pb_ds/trie_policy.hpp (null_trie_node_update): Remove.
3351         (string_trie_e_access_traits): To trie_string_access_traits.
3352         * include/ext/pb_ds/priority_queue.hpp: Use container_base_dispatch.
3353
3354         File changes.
3355         * include/Makefile.am (pb_headers): Removed and changed file names.
3356         * include/Makefile.in: Regenerated.
3357         * include/ext/pb_ds/detail/basic_types.hpp: Remove.
3358         * include/ext/pb_ds/detail/bin_search_tree_/
3359           cond_dtor_entry_dealtor.hpp: Remove.
3360         * include/ext/pb_ds/detail/bin_search_tree_/
3361           cond_key_dtor_entry_dealtor.hpp: Remove.
3362         * include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Move..
3363         * include/ext/pb_ds/detail/binary_heap_/
3364           point_const_iterator.hpp: ..here.
3365         * include/ext/pb_ds/detail/basic_tree_policy: Move to...
3366         * include/ext/pb_ds/detail/branch_policy: This.
3367         * include/ext/pb_ds/detail/branch_policy/
3368           basic_tree_policy_base.hpp: Move...
3369         * include/ext/pb_ds/detail/branch_policy/branch_policy.hpp: ...here.
3370         * include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp: Add.
3371         * include/ext/pb_ds/detail/branch_policy/traits.hpp: Add.
3372         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3373         null_metadata.hpp: Remove.
3374         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3375         const_point_iterator.hpp: Move...
3376         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3377         point_const_iterator.hpp: ...here.
3378         * include/ext/pb_ds/detail/list_update_policy/
3379         counter_lu_metadata.hpp: Move..
3380         * include/ext/pb_ds/detail/list_update_policy/
3381         lu_counter_metadata.hpp: ...here.
3382         * include/ext/pb_ds/detail/list_update_policy/
3383         counter_lu_policy_imp.hpp: Remove.
3384         * include/ext/pb_ds/detail/list_update_policy/
3385         mtf_lu_policy_imp.hpp: Remove.
3386         * include/ext/pb_ds/detail/trie_policy/
3387         string_trie_e_access_traits_imp.hpp: Move...
3388         * include/ext/pb_ds/detail/trie_policy/
3389         sample_trie_access_traits.hpp: ...here.
3390         * include/ext/pb_ds/detail/trie_policy/
3391         sample_trie_e_access_traits.hpp: Move...
3392         * include/ext/pb_ds/detail/trie_policy/
3393         trie_string_access_traits_imp.hpp: ...here.
3394         * include/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp: Remove.
3395         * include/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp: Remove.
3396         * include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp: Remove.
3397         * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: New, fold all
3398         types found in the following files into pat_trie_base.
3399         * include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp: Folded.
3400         * include/ext/pb_ds/detail/pat_trie_/
3401           cond_dtor_entry_dealtor.hpp: Folded.
3402         * include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Folded.
3403         * include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Folded.
3404         * include/ext/pb_ds/detail/pat_trie_/head.hpp: Folded.
3405         * include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Folded.
3406         * include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Folded.
3407         * include/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp: Folded.
3408         * include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Folded.
3409         * include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Folded.
3410         * include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Folded.
3411         * include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp: Move...
3412         * include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp: ...here.
3413         * include/ext/pb_ds/detail/unordered_iterator/
3414         const_point_iterator.hpp: Move...
3415         * include/ext/pb_ds/detail/unordered_iterator/
3416         point_const_iterator.hpp: ...here.
3417
3418
3419         Adjust for above changes.
3420         * include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp: Same.
3421         * include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp: Same.
3422         * include/ext/pb_ds/detail/resize_policy/
3423           sample_resize_trigger.hpp: Same.
3424         * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp: Same.
3425         * include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp: Same.
3426         * include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp: Same.
3427         * include/ext/pb_ds/detail/binomial_heap_base_/
3428           binomial_heap_base_.hpp: Same.
3429         * include/ext/pb_ds/detail/binomial_heap_base_/
3430           constructors_destructor_fn_imps.hpp: Same.
3431         * include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp: Same.
3432         * include/ext/pb_ds/detail/binomial_heap_base_/
3433           split_join_fn_imps.hpp: Same.
3434         * include/ext/pb_ds/detail/container_base_dispatch.hpp: Same. Adjust
3435           for template parameter ordering change.
3436         * include/ext/pb_ds/detail/cc_hash_table_map_/
3437           erase_store_hash_fn_imps.hpp: Same.
3438         * include/ext/pb_ds/detail/cc_hash_table_map_/
3439           constructor_destructor_no_store_hash_fn_imps.hpp: Same.
3440         * include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp: Same.
3441         * include/ext/pb_ds/detail/cc_hash_table_map_/
3442           insert_no_store_hash_fn_imps.hpp: Same.
3443         * include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp: Same.
3444         * include/ext/pb_ds/detail/cc_hash_table_map_/
3445           policy_access_fn_imps.hpp: Same.
3446         * include/ext/pb_ds/detail/cc_hash_table_map_/
3447           resize_store_hash_fn_imps.hpp: Same.
3448         * include/ext/pb_ds/detail/cc_hash_table_map_/
3449           constructor_destructor_store_hash_fn_imps.hpp: Same.
3450         * include/ext/pb_ds/detail/cc_hash_table_map_/
3451           insert_store_hash_fn_imps.hpp: Same.
3452         * include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp: Same.
3453         * include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp: Same.
3454         * include/ext/pb_ds/detail/cc_hash_table_map_/
3455           entry_list_fn_imps.hpp: Same.
3456         * include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp: Same.
3457         * include/ext/pb_ds/detail/cc_hash_table_map_/
3458           find_store_hash_fn_imps.hpp: Same.
3459         * include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
3460         * include/ext/pb_ds/detail/cc_hash_table_map_/
3461           debug_no_store_hash_fn_imps.hpp: Same.
3462         * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
3463         * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
3464         * include/ext/pb_ds/detail/cc_hash_table_map_/
3465           constructor_destructor_fn_imps.hpp: Same.
3466         * include/ext/pb_ds/detail/cc_hash_table_map_/
3467           cond_key_dtor_entry_dealtor.hpp: Same.
3468         * include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp: Same.
3469         * include/ext/pb_ds/detail/cc_hash_table_map_/
3470           debug_store_hash_fn_imps.hpp: Same.
3471         * include/ext/pb_ds/detail/cc_hash_table_map_/
3472           erase_no_store_hash_fn_imps.hpp: Same.
3473         * include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp: Same.
3474         * include/ext/pb_ds/detail/cc_hash_table_map_/
3475           iterators_fn_imps.hpp: Same.
3476         * include/ext/pb_ds/detail/cc_hash_table_map_/
3477           resize_no_store_hash_fn_imps.hpp: Same.
3478         * include/ext/pb_ds/detail/cc_hash_table_map_/
3479           standard_policies.hpp: Same.
3480         * include/ext/pb_ds/detail/tree_trace_base.hpp: Same.
3481         * include/ext/pb_ds/detail/unordered_iterator/iterator.hpp: Same.
3482         * include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp: Same.
3483         * include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp: Same.
3484         * include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Same.
3485         * include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp: Same.
3486         * include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Same.
3487         * include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Same.
3488         * include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp: Same.
3489         * include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Same.
3490         * include/ext/pb_ds/detail/pat_trie_/
3491           constructors_destructor_fn_imps.hpp: Same.
3492         * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
3493         * include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Same.
3494         * include/ext/pb_ds/detail/pat_trie_/traits.hpp: Same.
3495         * include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp: Same.
3496         * include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Same.
3497         * include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Same.
3498         * include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Same.
3499         * include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Same.
3500         * include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp: Same.
3501         * include/ext/pb_ds/detail/bin_search_tree_/
3502           policy_access_fn_imps.hpp: Same.
3503         * include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp: Same.
3504         * include/ext/pb_ds/detail/bin_search_tree_/
3505           constructors_destructor_fn_imps.hpp: Same.
3506         * include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp: Same.
3507         * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Same.
3508         * include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp: Same.
3509         * include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp: Same.
3510         * include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp: Same.
3511         * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
3512         * include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp: Same.
3513         * include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp: Same.
3514         * include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp: Same.
3515         * include/ext/pb_ds/detail/bin_search_tree_/
3516           split_join_fn_imps.hpp: Same.
3517         * include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp: Same.
3518         * include/ext/pb_ds/detail/list_update_policy/
3519           sample_update_policy.hpp: Same.
3520         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3521           trace_fn_imps.hpp: Same.
3522         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3523           erase_fn_imps.hpp: Same.
3524         * include/ext/pb_ds/detail/gp_hash_table_map_/
3525           erase_store_hash_fn_imps.hpp: Same.
3526         * include/ext/pb_ds/detail/gp_hash_table_map_/
3527           constructor_destructor_no_store_hash_fn_imps.hpp: Same.
3528         * include/ext/pb_ds/detail/gp_hash_table_map_/
3529           insert_no_store_hash_fn_imps.hpp: Same.
3530         * include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp: Same.
3531         * include/ext/pb_ds/detail/gp_hash_table_map_/
3532           policy_access_fn_imps.hpp: Same.
3533         * include/ext/pb_ds/detail/gp_hash_table_map_/
3534           resize_store_hash_fn_imps.hpp: Same.
3535         * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
3536         * include/ext/pb_ds/detail/gp_hash_table_map_/
3537           constructor_destructor_store_hash_fn_imps.hpp: Same.
3538         * include/ext/pb_ds/detail/gp_hash_table_map_/
3539           insert_store_hash_fn_imps.hpp: Same.
3540         * include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp: Same.
3541         * include/ext/pb_ds/detail/gp_hash_table_map_/
3542           iterator_fn_imps.hpp: Same.
3543         * include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp: Same.
3544         * include/ext/pb_ds/detail/gp_hash_table_map_/
3545           find_no_store_hash_fn_imps.hpp: Same.
3546         * include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp: Same.
3547         * include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp: Same.
3548         * include/ext/pb_ds/detail/gp_hash_table_map_/
3549           find_store_hash_fn_imps.hpp: Same.
3550         * include/ext/pb_ds/detail/gp_hash_table_map_/
3551           debug_no_store_hash_fn_imps.hpp: Same.
3552         * include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
3553         * include/ext/pb_ds/detail/gp_hash_table_map_/
3554           constructor_destructor_fn_imps.hpp: Same.
3555         * include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp: Same.
3556         * include/ext/pb_ds/detail/gp_hash_table_map_/
3557           debug_store_hash_fn_imps.hpp: Same.
3558         * include/ext/pb_ds/detail/gp_hash_table_map_/
3559           erase_no_store_hash_fn_imps.hpp: Same.
3560         * include/ext/pb_ds/detail/gp_hash_table_map_/
3561           resize_no_store_hash_fn_imps.hpp: Same.
3562         * include/ext/pb_ds/detail/gp_hash_table_map_/
3563           standard_policies.hpp: Same.
3564         * include/ext/pb_ds/detail/standard_policies.hpp: Same.
3565         * include/ext/pb_ds/detail/types_traits.hpp: Same.
3566         * include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp: Same.
3567         * include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp: Same.
3568         * include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Same.
3569         * include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp: Same.
3570         * include/ext/pb_ds/detail/binary_heap_/
3571           constructors_destructor_fn_imps.hpp: Same.
3572         * include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp: Same.
3573         * include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp: Same.
3574         * include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp: Same.
3575         * include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Same.
3576         * include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp: Same.
3577         * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Same.
3578         * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
3579         * include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp: Same.
3580         * include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
3581         * include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp: Same.
3582         * include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp: Same.
3583         * include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Same.
3584         * include/ext/pb_ds/detail/tree_policy/
3585           sample_tree_node_update.hpp: Same.
3586         * include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp: Same.
3587         * include/ext/pb_ds/detail/trie_policy/
3588           sample_trie_node_update.hpp: Same.
3589         * include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp: Same.
3590         * include/ext/pb_ds/detail/trie_policy/
3591           prefix_search_node_update_imp.hpp: Same.
3592         * include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Same.
3593         * include/ext/pb_ds/detail/cond_dealtor.hpp: Same.
3594         * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Same.
3595           Adjust for template parameter change, fold into
3596           container_base_dispatch.
3597         * include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Same.
3598         * include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp: Same.
3599         * include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Same.
3600         * include/ext/pb_ds/detail/pairing_heap_/
3601           constructors_destructor_fn_imps.hpp: Same.
3602         * include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Same.
3603         * include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
3604         * include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp: Same.
3605         * include/ext/pb_ds/detail/binomial_heap_/
3606           constructors_destructor_fn_imps.hpp: Same.
3607         * include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp: Same.
3608         * include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
3609         * include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp: Same.
3610         * include/ext/pb_ds/detail/type_utils.hpp: Same.
3611         * include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp: Same.
3612         * include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp: Same.
3613         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3614           policy_access_fn_imps.hpp: Same.
3615         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3616           left_child_next_sibling_heap_.hpp: Same.
3617         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3618           const_iterator.hpp: Same.
3619         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3620           insert_fn_imps.hpp: Same.
3621         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3622           constructors_destructor_fn_imps.hpp: Same.
3623         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3624           debug_fn_imps.hpp: Same.
3625         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3626           node.hpp: Same.
3627         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3628           info_fn_imps.hpp: Same.
3629         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3630           iterators_fn_imps.hpp: Same.
3631         * include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp: Same.
3632         * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Same.
3633         * include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Same.
3634         * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
3635         * include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Same.
3636         * include/ext/pb_ds/detail/thin_heap_/
3637           constructors_destructor_fn_imps.hpp: Same.
3638         * include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Same.
3639         * include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp: Same.
3640         * include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Same.
3641         * include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp: Same.
3642         * include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Same.
3643         * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
3644         * include/ext/pb_ds/detail/ov_tree_map_/
3645           constructors_destructor_fn_imps.hpp: Same.
3646         * include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
3647         * include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
3648         * include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
3649         * include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp: Same.
3650         * include/ext/pb_ds/detail/ov_tree_map_/traits.hpp: Same.
3651         * include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp: Same.
3652         * include/ext/pb_ds/detail/debug_map_base.hpp: Same.
3653         * include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
3654         * include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp: Same.
3655         * include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp: Same.
3656         * include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp: Same.
3657         * include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp: Same.
3658         * include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Same.
3659         * include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp: Same.
3660         * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Same.
3661         * include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Same.
3662         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Same.
3663         * include/ext/pb_ds/detail/splay_tree_/
3664           constructors_destructor_fn_imps.hpp: Same.
3665         * include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Same.
3666         * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Same.
3667         * include/ext/pb_ds/detail/splay_tree_/node.hpp: Same.
3668         * include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp: Same.
3669         * include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp: Same.
3670         * include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
3671         * include/ext/pb_ds/detail/splay_tree_/traits.hpp: Same.
3672         * include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp: Same.
3673         * include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp: Same.
3674         * include/ext/pb_ds/detail/list_update_map_/
3675           entry_metadata_base.hpp: Same.
3676         * include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp: Same.
3677         * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
3678         * include/ext/pb_ds/detail/list_update_map_/
3679           constructor_destructor_fn_imps.hpp: Same.
3680         * include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp: Same.
3681         * include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp: Same.
3682         * include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp: Same.
3683         * include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp: Same.
3684         * include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp: Same.
3685         * include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp: Same.
3686         * include/ext/pb_ds/detail/rc_binomial_heap_/
3687           rc_binomial_heap_.hpp: Same.
3688         * include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp: Same.
3689         * include/ext/pb_ds/detail/rc_binomial_heap_/
3690           constructors_destructor_fn_imps.hpp: Same.
3691         * include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp: Same.
3692         * include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
3693         * include/ext/pb_ds/detail/rc_binomial_heap_/
3694           split_join_fn_imps.hpp: Same.
3695         * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Same.
3696         * include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp: Same.
3697         * include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Same.
3698         * include/ext/pb_ds/detail/rb_tree_map_/
3699           constructors_destructor_fn_imps.hpp: Same.
3700         * include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Same.
3701         * include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
3702         * include/ext/pb_ds/detail/rb_tree_map_/node.hpp: Same.
3703         * include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp: Same.
3704         * include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Same.
3705         * include/ext/pb_ds/detail/rb_tree_map_/traits.hpp: Same.
3706
3707
3708         Documentation changes.
3709         * include/ext/pb_ds/*: Add doxygen markup.
3710         * doc/doxygen/user.cfg.in: Add details for extracting comments
3711         from pb_ds.
3712         * scripts/run_doxygen: Fixup __gnu_pb_ds::detail.
3713         * scripts/make_graph.py: Move to svg output. Re-format generated tables.
3714
3715         * doc/Makefile.am (stamp-html-copy): New rule.
3716         (stamp-html): Use it to copy non-generated files into html docs.
3717         * doc/Makefile.in: Regenerated.
3718
3719         * doc/html/ext/pb_ds/sample_trie_e_access_traits.html: Move...
3720         * doc/html/ext/pb_ds/trie_string_access_traits.html: ...here.
3721         * doc/html/ext/pb_ds/string_trie_e_access_traits.html: Move..
3722         * doc/html/ext/pb_ds/sample_trie_access_traits.html: ...here.
3723
3724         * doc/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png,
3725         hash_random_int_erase_mem_usage_test_local.png,
3726         multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
3727         tree_text_insert_timing_test_pat_trie_local.png ,
3728         multimap_text_insert_mem_usage_test_small_s2p_tree_local.png ,
3729         priority_queue_text_modify_down_timing_test_local.png,
3730         gp_hash_random_int_subscript_timing_test_find_local.png,
3731         text_find_timing_test_hash_local.png,
3732         multimap_text_insert_timing_test_small_s2p_hash_local.png,
3733         multimap_text_insert_timing_test_small_s2p_tree_local.png,
3734         multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
3735         multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
3736         multimap_text_insert_timing_test_large_s2p_hash_local.png,
3737         hash_zlob_random_int_find_timing_test_local.png,
3738         multimap_text_insert_timing_test_large_s2p_tree_local.png,
3739         binary_priority_queue_random_int_push_timing_test_local.png,
3740         priority_queue_text_pop_mem_usage_test_local.png,
3741         priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
3742         tree_split_join_timing_test_local.png,
3743         multimap_text_find_timing_test_small_s2p_hash_local.png,
3744         ccgp_hash_random_int_subscript_timing_test_insert_local.png,
3745         priority_queue_random_int_push_pop_timing_test_local.png,
3746         multimap_text_find_timing_test_small_s2p_tree_local.png,
3747         gp_hash_random_int_subscript_timing_test_insert_local.png,
3748         priority_queue_text_push_timing_test_local.png,
3749         cc_hash_random_int_subscript_timing_test_find_local.png,
3750         tree_text_insert_timing_test_vector_tree_local.png,
3751         multimap_text_find_timing_test_large_s2p_hash_local.png,
3752         pairing_priority_queue_text_push_timing_test_local.png,
3753         tree_order_statistics_timing_test_local.png,
3754         priority_queue_text_push_pop_timing_test_local.png,
3755         text_find_timing_test_tree_like_local.png,
3756         multimap_text_find_timing_test_large_s2p_tree_local.png,
3757         priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
3758         cc_hash_random_int_subscript_timing_test_insert_local.png,
3759         priority_queue_text_modify_up_timing_test_local.png,
3760         random_int_find_find_timing_test_tree_local.png,
3761         priority_queue_random_int_push_timing_test_local.png,
3762         tree_text_insert_timing_test_node_tree_local.png,
3763         pairing_priority_queue_text_push_pop_timing_test_local.png,
3764         gp_hash_random_int_find_timing_te