OSDN Git Service

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