OSDN Git Service

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