OSDN Git Service

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