OSDN Git Service

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