OSDN Git Service

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