OSDN Git Service

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