OSDN Git Service

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