OSDN Git Service

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