OSDN Git Service

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