OSDN Git Service

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