OSDN Git Service

90fd704177d9a470c7072946c3a55a0bc0718868
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2011-12-12  Paolo Carlini  <paolo.carlini@oracle.com>
2
3         * Revert the last commit.
4
5 2011-12-12  Kai Tietz  <ktietz@redhat.com>
6
7         PR libstdc++/51135
8         * libsupc++/cxxabi.h (__cxa_dtor_type): New type.
9         (__cxa_throw): Use it for destructor-argument.
10         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
11         * libsupc++/unwind-cxx.h (__cxa_exception): Change type of member
12         exceptionDestructor to __cxa_dtor_type.
13         * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_THISCALL_ON_DTOR):
14         Define.
15         (__cxa_dtor_type): Declare target secific type variant.
16         * config/os/mingw32/os_defines.h: Likewise.
17
18 2011-12-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
19
20         * doc/xml/manual/abi.xml: Replace gcc-x.y.z with GCC x.y.z or x.y,
21         remove excessive duplication of version information.
22         * doc/html/*: Regenerate.
23
24 2011-12-10  Benjamin Kosnik  <bkoz@redhat.com>
25
26         * doc/doxygen/user.cfg.in: Add macros, directories.
27         * include/bits/locale_classes.h: Remove doxygen warnings, fix markup.
28         * include/bits/locale_classes.tcc: Same.
29         * include/bits/shared_ptr.h: Same.
30         * include/bits/stl_algo.h: Same.
31         * include/bits/stl_list.h: Same.
32         * include/bits/stl_numeric.h: Same.
33         * include/debug/safe_base.h: Same.
34         * include/parallel/equally_split.h: Same.
35         * include/std/bitset: Same.
36         * include/std/complex: Same.
37         * include/std/fstream: Same.
38         * include/std/istream: Same.
39         * include/std/ostream: Same.
40         * include/tr2/dynamic_bitset: Same.
41         * scripts/run_doxygen: Remove munging for names that no longer exist.
42
43         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
44         Adjust line numbers.
45         * testsuite/23_containers/list/requirements/dr438/
46         constructor_1_neg.cc: Same.
47         * testsuite/23_containers/list/requirements/dr438/
48         constructor_2_neg.cc: Same.
49         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
50
51 2011-12-10  François Dumont <fdumont@gcc.gnu.org>
52
53         * include/profile/unordered_set: Minor formatting changes.
54         (unordered_set<>::_M_profile_destruct,
55         unordered_multiset<>::_M_profile_destruct): Fix implementation to not
56         rely on normal implementation details anymore.
57         (unordered_set<>::_M_profile_resize,
58         unordered_multiset<>::_M_profile_resize): Implement consistently
59         accross all unordered containers.
60         (unordered_set<>::emplace, unordered_set<>::emplace_hint,
61         unordered_multiset<>::emplace, unordered_multset<>::emplace_hint): Add
62         to signal rehash to profiling system.
63         * include/profile/unordered_map: Likewise for unordered_map<> and
64         unordered_multimap<>.
65
66 2011-12-09  François Dumont <fdumont@gcc.gnu.org>
67
68         PR libstdc++/44436 (unordered containers emplace, emplace_hint bits)
69         * include/bits/hashtable.h (_Hashtable<>::emplace,
70         _Hashtable<>::emplace_hint): Add.
71         * include/debug/unordered_set (unordered_set<>::emplace,
72         unordered_set<>::emplace_hint, unordered_multiset<>::emplace,
73         unordered_multiset<>::emplace_hint): Add.
74         * include/profile/unordered_set: Likewise.
75         * include/debug/unordered_map (unordered_map<>::emplace,
76         unordered_map<>::emplace_hint, unordered_multimap<>::emplace,
77         unordered_multimap<>::emplace_hint): Add.
78         * include/profile/unordered_map: Likewise.
79         * testsuite/23_containers/unordered_map/modifiers/emplace.cc: New.
80         * testsuite/23_containers/unordered_multimap/modifiers/emplace.cc:
81         New.
82         * testsuite/23_containers/unordered_set/modifiers/emplace.cc: New.
83         * testsuite/23_containers/unordered_multiset/modifiers/emplace.cc:
84         New.
85         * testsuite/util/testsuite_container_traits.h
86         (traits_base::has_emplace): Add and defined as std::true_type for
87         unordered containers.
88         * testsuite/util/exception/safety.h (emplace, emplace_hint): Add and
89         use them in basic_safety exception test case.
90         * doc/xml/manual/status_cxx2011.xml: Update unordered containers
91         status.
92
93 2011-12-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
94
95         * include/bits/atomic_base.h (__calculate_memory_order): Rename to...
96         (__cmpexch_failure_order): This, and rewrite as constexpr function.
97         (compare_exchange_strong, compare_exchange_weak): Use it.
98         * include/std/atomic (compare_exchange_strong, compare_exchange_weak):
99         Likewise.
100
101 2011-12-07  François Dumont <fdumont@gcc.gnu.org>
102
103         PR libstdc++/51386
104         * include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt):
105         Fix computation of _M_prev_resize so that hashtable do not keep on
106         being rehashed when _M_max_load_factor is lower than 1.
107
108 2011-12-06  Paolo Carlini  <paolo.carlini@oracle.com>
109
110         PR libstdc++/51438
111         * libsupc++/nested_exception.h (nested_exception::~nested_exception):
112         Declare noexcept.
113         * libsupc++/nested_exception.cc: Adjust.
114         * testsuite/18_support/nested_exception/51438.cc: New.
115         * testsuite/18_support/nested_exception/throw_with_nested.cc: Adjust.
116         * testsuite/18_support/nested_exception/rethrow_if_nested.cc:
117         Likewise.
118
119         * src/shared_ptr.cc: Use noexcept where appropriate.
120         * include/std/system_error: Likewise.
121         * include/std/functional: Likewise.
122         * include/bits/shared_ptr_base.h: Likewise.
123         * src/stdexcept.cc: Use _GLIBCXX_USE_NOEXCEPT where appropriate.
124         * include/std/stdexcept: Likewise.
125         * libsupc++/bad_cast.cc: Likewise.
126         * libsupc++/bad_typeid.cc: Likewise.
127         * libsupc++/eh_exception.cc: Likewise.
128         * libsupc++/typeinfo: Likewise.
129         * libsupc++/exception: Likewise.
130         * libsupc++/eh_ptr.cc: Likewise.
131         * libsupc++/bad_alloc.cc: Likewise.
132         * libsupc++/exception_ptr.h: Likewise.
133
134         * include/std/chrono: Use noexcept where appropriate.
135         * src/chrono.cc: Likewise.
136
137 2011-12-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
138             Chris Jefferson  <chris@bubblescope.net>
139
140         PR libstdc++/51183
141         * include/std/stl_pair.h (pair<>::__cons, pair<>::__do_cons): Remove.
142         (pair<>::pair(piecewise_construct_t, tuple<>, tuple<>): Only declare.
143         (pair<>::pair(tuple<>&, tuple<>&, _Index_tuple<>, _Index_tuple<>)):
144         Declare.
145         * include/std/tuple (pair<>::__cons, pair<>::__do_cons): Remove.
146         (pair<>::pair(tuple<>&, tuple<>&, _Index_tuple<>, _Index_tuple<>)):
147         Define.
148         (pair<>::pair(piecewise_construct_t, tuple<>, tuple<>): Define,
149         delegating to the latter.
150         * testsuite/20_util/pair/piecewise2.cc: New.
151
152 2011-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
153
154         * libsupc++/initializer_list: Do not declare anything if
155         __GXX_EXPERIMENTAL_CXX0X__ is not defined.
156
157 2011-12-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
158
159         * include/std/type_traits: Doxygen improvements.
160         * include/bits/move.h: Likewise.
161         * include/tr1/type_traits:  Likewise.
162         * include/tr2/type_traits:  Likewise.
163         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
164         line numbers
165         * testsuite/20_util/forward/c_neg.cc: Likewise.
166         * testsuite/20_util/forward/f_neg.cc: Likewise.
167         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
168         Likewise.
169         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
170         Likewise.
171
172 2011-12-04  Markus Trippelsdorf <markus@trippelsdorf.de>
173             Jonathan Wakely  <jwakely.gcc@gmail.com>
174
175         * include/bits/stl_heap.h (pop_heap): Check for non-empty range in
176         overload taking a predicate.
177         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: New.
178
179 2011-12-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
180
181         * include/debug/macros.h (__glibcxx_check_non_empty_range): Define.
182         * include/debug/debug.h (__glibcxx_requires_non_empty_range): Define.
183         * include/debug/formatter.h (__msg_non_empty_range): Add.
184         * src/debug.cc: Message text for __msg_non_empty_range.
185         * include/bits/stl_heap.h (pop_heap): Check for non-empty range.
186         * testsuite/25_algorithms/pop_heap/empty_neg.cc: New.
187
188 2011-12-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
189
190         * doc/xml/manual/utilities.xml: Remove outdated text.
191
192 2011-12-02  Paolo Carlini  <paolo.carlini@oracle.com>
193
194         * include/std/iomanip (put_money): Fix thinko, use __err local,
195         like in, eg, basic_ostream::_M_insert.
196
197 2011-11-30  Benjamin Kosnik  <bkoz@redhat.com>
198
199         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Remove
200         size-specific macros. _GLIBCXX_ATOMIC_BUILTINS_1,
201         _GLIBCXX_ATOMIC_BUILTINS_2, _GLIBCXX_ATOMIC_BUILTINS_4,
202         _GLIBCXX_ATOMIC_BUILTINS_8. Use _GLIBCXX_ATOMIC_BUILTINS to
203         indicate use of C++11 atomic builtins.
204         * config.h.in: Regenerate.
205         * configure: Regenerate.
206         * include/Makefile.am (bits_sup_headers): Add atomic_lockfree_defines.h.
207         * include/Makefile.in: Regenerate.
208         * libsupc++/Makefile.am: Compile C++11 support with -std=gnu++0x.
209         * libsupc++/Makefile.in: Regenerate.
210
211         * include/bits/atomic_base.h: Move lock-free property macros...
212         * libsupc++/atomic_lockfree_defines.h: ...here.
213         * include/std/future: Use C++11 macros.
214         * libsupc++/eh_ptr.cc: Same.
215         * libsupc++/eh_throw.cc: Same.
216         * libsupc++/exception: Same.
217         * libsupc++/exception_ptr.h: Same.
218         * libsupc++/guard.cc: Same.
219         * libsupc++/nested_exception.cc: Same.
220         * libsupc++/nested_exception.h: Same.
221         * src/future.cc: Same.
222
223         * include/ext/atomicity.h: Use _GLIBCXX_ATOMIC_BUILTINS.
224
225         * doc/doxygen/user.cfg.in: Adjust.
226         * doc/xml/manual/concurrency_extensions.xml: Add note.
227
228         * testsuite/18_support/exception_ptr/lifespan.cc: Tweak.
229         * testsuite/lib/libstdc++.exp: Same.
230
231 2011-11-29  François Dumont <fdumont@gcc.gnu.org>
232
233         * include/bits/hashtable.h (_Hashtable<>::_M_rehash): Remove code
234         useless now that the hashtable implementation put the hash code in
235         cache if the hash functor throws.
236         * testsuite/23_containers/unordered_set/erase/1.cc: Enhance test by
237         checking also distance between begin and end iterators to validate
238         underlying data model.
239         * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
240         * testsuire/23_containers/unordered_map/erase/1.cc: Likewise.
241         * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
242         * testsuite/23_containers/unordered_multiset/erase/2.cc: New.
243         * testsuite/23_containers/unordered_multimap/erase/2.cc: New.
244
245 2011-11-28  Andrew MacLeod  <amacleod@redhat.com>
246
247         * include/bits/atomic_base.h (ATOMIC_*_LOCK_FREE): Use new cpp
248         predefined macros.
249         * testsuite/29_atomics/headers/atomic/macros.cc: Add BOOL and POINTER
250         macro checks.  Check for expected compile time values.
251
252 2011-11-28  Paolo Carlini  <paolo.carlini@oracle.com>
253
254         PR libstdc++/51288
255         * include/std/iomanip (get_money, put_money): Use sentry.
256         * testsuite/27_io/manipulators/extended/get_money/char/51288.cc: New.
257         * testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
258         Likewise.
259         * testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
260         Likewise.
261         * testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
262         Likewise.
263
264 2011-11-27  Gerald Pfeifer  <gerald@pfeifer.com>
265
266         * doc/xml/manual/using.xml (Prerequisites): Refer to x86 instead
267         of i386.
268
269 2011-11-27  Gerald Pfeifer  <gerald@pfeifer.com>
270
271         * scripts/run_doxygen (problematic): Change Linux reference to
272         GNU/Linux.
273
274 2011-11-26  Gerald Pfeifer  <gerald@pfeifer.com>
275
276         * doc/xml/manual/abi.xml (Prerequisites): Refer to GNU/Linux.
277         Fix reference to GCC.
278
279 2011-11-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
280
281         PR libstdc++/51296
282         * testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
283         on alpha*-*-osf*.
284         * testsuite/30_threads/future/cons/constexpr.cc: Disable debug
285         symbols.
286         * testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
287
288 2011-11-23  François Dumont <fdumont@gcc.gnu.org>
289
290         PR libstdc++/41975
291         * include/bits/hashtable.h (_Hashtable<>): Major data model
292         modification to limit performance impact of empty buckets in
293         erase(iterator) implementation.
294         * include/bits/hashtable_policy.h (_Hashtable_iterator,
295         _Hashtable_const_iterator): Remove not used anymore.
296         * include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
297         _M_grow_factor, just use natural evolution of prime numbers. Add
298         _M_prev_size to know when the number of buckets can be reduced.
299         * include/bits/unordered_set.h (__unordered_set<>,
300         __unordered_multiset<>), unordered_map.h (__unordered_map<>,
301         __unordered_multimap<>): Change default value of cache hash code
302         template parameter, false for integral types with noexcept hash
303         functor, true otherwise.
304         * include/debug/unordered_map, unordered_set: Adapt transformation
305         from iterator/const_iterator to respectively
306         local_iterator/const_local_iterator.
307         * testsuite/performance/23_containers/copy_construct/unordered_set.cc:
308         New.
309         * testsuite/23_containers/unordered_set/instantiation_neg.cc: New.
310         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc: New.
311         * testsuite/23_containers/unordered_multiset/cons/copy.cc: New.
312         * testsuite/23_containers/unordered_multiset/erase/1.cc,
313         24061-multiset.cc: Add checks on the number of bucket elements.
314         * testsuite/23_containers/unordered_multiset/insert/multiset_range.cc,
315         multiset_single.cc, multiset_single_move.cc: Likewise.
316
317 2011-11-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
318
319         * include/std/functional (is_placeholder, is_bind_expression): Add
320         partial specializations for cv-qualified types.
321         * include/tr1/functional (is_placeholder, is_bind_expression): Add
322         partial specializations for std::bind and std::placeholders and for
323         cv-qualified types.
324         * testsuite/20_util/bind/cv_quals_3.cc: New.
325         * testsuite/tr1/3_function_objects/bind/cv_quals.cc: New.
326         * testsuite/tr1/3_function_objects/bind/mixed.cc: New.
327
328 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
329
330         * configure: Regenerate.
331
332 2011-11-21  Daniel Krugler  <daniel.kruegler@googlemail.com>
333
334         PR libstdc++/51185
335         * include/std/type_traits (__is_base_to_derived_ref,
336         __is_lvalue_to_rvalue_ref): Fix.
337         * testsuite/20_util/is_constructible/51185.cc: New.
338         * testsuite/20_util/is_constructible/value-2.cc: Extend.
339         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
340         line number.
341         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
342         Likewise.
343         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
344         Likewise.
345
346 2011-11-21  Paolo Carlini  <paolo.carlini@oracle.com>
347
348         * include/std/tuple (__conv_types, __one_by_one_convertible,
349         __all_convertible): Remove.
350         (tuple<>::tuple(_UElements&&...),
351         tuple<>::tuple(const tuple<_UElements...>&),
352         tuple<>::tuple(tuple<_UElements...>&&)): Remove wa for c++/48322.
353         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error
354         line number.
355
356 2011-11-20  Jason Merrill  <jason@redhat.com>
357
358         PR c++/48322
359         * include/std/tuple (tuple(_UElements&&...)): Fix SFINAE.
360
361         * testsuite/20_util/bind/ref_neg.cc: Adjust error markings.
362
363 2011-11-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
364
365         * include/backward/binders.h: Fix examples in doxygen comments and
366         suggest using std::bind instead.
367
368 2011-11-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
369
370         * doc/xml/manual/status_cxx2011.xml: Fix docbook markup.
371
372 2011-11-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
373
374         * doc/xml/manual/appendix_contributing.xml: Do not use "here" as link
375         text.
376         * doc/xml/faq.xml: Likewise. Do not request standard library issues
377         to be reported to the libstdc++ mailing list.
378         * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
379         behaviour.
380         * doc/xml/manual/status_cxxtr1.xml: Likewise.
381         * doc/xml/manual/utilities.xml: Fix grammar, probably caused by a
382         global search and replace of "part" by "chapter".
383         * doc/xml/manual/shared_ptr.xml: Remove outdated information.
384         * doc/xml/manual/messages.xml: Be more specific about systems where
385         using 'int' for catalog handle is not a problem, mention LWG issue.
386
387 2011-11-19  Paolo Carlini  <paolo.carlini@oracle.com>
388
389         * include/debug/bitset (operator[](size_t) const): Declare constexpr.
390         * include/profile/bitset: Likewise.
391         * testsuite/23_containers/bitset/operations/constexpr.cc: Split out
392         non portable bits to...
393         * testsuite/23_containers/bitset/operations/constexpr-2.cc: ... here.
394
395 2011-11-18  Harti Brandt  <hartmut.brandt@dlr.de>
396
397         PR libstdc++/51209
398         * include/bits/hashtable.h (_Hashtable<>::_M_find_node): Return
399         nullptr when no node is found.
400         * include/tr1/hashtable.h (_Hashtable<>::_M_find_node): Return
401         zero when no node is found.
402
403 2011-11-18  Paolo Carlini  <paolo.carlini@oracle.com>
404
405         * src/hash-long-double-aux.cc: Rename to...
406         * src/hash-long-double-tr1-aux.cc: ... this.
407         * src/compatibility-ldbl.cc: Adjust.
408         * src/hash_tr1.cc: Likewise.
409         * src/hash_c++0x.cc: Don't use src/hash-long-double-aux.cc.
410         * include/bits/functional_hash.h (hash<_Tp*>::operator(), specs
411         for integer types, hash<float>::operator(), hash<double>::operator(),
412         hash<long double>::operator()): Declare noexcept.
413         * include/debug/bitset (hash<__debug::bitset>::operator()): Likewise.
414         * include/debug/vector (hash<__debug::vector>::operator()): Likewise.
415         * include/std/system_error (hash<error_code>::operator()): Likewise.
416         * include/std/thread (hash<thread::id>::operator()): Likewise.
417         * include/std/bitset (hash<bitset>::operator()): Likewise.
418         * include/std/typeindex (hash<type_index>::operator()): Likewise.
419         * include/profile/bitset (hash<__profile::vector>::operator()):
420         Likewise.
421         * include/profile/vector (hash<__profile::vector>::operator()):
422         Likewise.
423         * include/ext/vstring.h (hash<__vstring>::operator(),
424         hash<__wvstring>::operator(), hash<__u16vstring>::operator(),
425         hash<__u32vstring>::operator()): Likewise.
426         * include/bits/shared_ptr.h (hash<shared_ptr>::operator()): Likewise.
427         * include/bits/shared_ptr_base.h (hash<__shared_ptr>::operator()):
428         Likewise.
429         * include/bits/unique_ptr.h (hash<unique_ptr>::operator()): Likewise.
430         * include/bits/basic_string.h (hash<string>::operator(),
431         hash<wstring>::operator(), hash<u16string>::operator(),
432         hash<u32string>::operator()): Likewise.
433         * include/bits/vector.tcc (hash<vector>::operator()): Likewise.
434         * include/bits/stl_bvector.h (hash<vector>::operator()): Likewise.
435         * libsupc++/typeinfo (type_info::hash_code): Use noexcept instead of
436         throw().
437
438 2011-11-17  Richard Henderson  <rth@redhat.com>
439
440         PR libstdc++/51181
441         * libsupc++/eh_tm.cc (free_any_cxa_exception): Protect the use
442         of __sync_sub_and_fetch with _GLIBCXX_ATOMIC_BUILTINS_4.
443
444 2011-11-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
445
446         * testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
447         on darwin.
448
449 2011-11-17  Jason Merrill  <jason@redhat.com>
450
451         * testsuite/21_strings/basic_string/cons/char/moveable2.cc
452         (tstring): Add defaulted move assignment.
453         * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc
454         (tstring): Add defaulted move assignment.
455         * testsuite/util/testsuite_tr1.h (NoexceptMoveConsClass): Add
456         defaulted move assignment operator.
457         (NoexceptMoveAssignClass): Add defaulted move constructor.
458
459 2011-11-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
460
461         * doc/xml/manual/status_cxx2011.xml: Status of piecewise construction
462         and ios_base::failure.
463         * doc/xml/manual/backwards_compatibility.xml: List headers in
464         alphabetical order.
465
466 2011-11-16  Andrew MacLeod  <amacleod@redhat.com>
467
468         PR libstdc++/51102
469         * include/bits/atomic_base.h (ATOMIC_BOOL_LOCK_FREE,
470         ATOMIC_POINTER_LOCK_FREE): New. Add missing macros.
471
472 2011-11-15  Paolo Carlini  <paolo.carlini@oracle.com>
473
474         PR libstdc++/51142
475         * include/debug/unordered_map (unordered_map<>::erase(iterator),
476         unordered_multimap<>::erase(iterator)): Add, consistently with
477         LWG 2059.
478         * include/debug/unordered_set (unordered_set<>::erase(iterator),
479         unordered_multiset<>::erase(iterator)): Likewise.
480         * include/debug/map.h (map<>::erase(iterator)): Likewise.
481         * include/debug/multimap.h (multimap<>::erase(iterator)): Likewise.
482         * include/profile/map.h (map<>::erase(iterator)): Likewise.
483         * include/profile/multimap.h (multimap<>::erase(iterator)): Likewise.
484         * include/bits/hashtable.h (_Hashtable<>::erase(iterator)): Likewise.
485         * include/bits/stl_map.h (map<>::erase(iterator)): Likewise.
486         * include/bits/stl_multimap.h (multimap<>::erase(iterator)): Likewise.
487         * include/bits/stl_tree.h (_Rb_tree<>::erase(iterator)): Likewise.
488         * testsuite/23_containers/unordered_map/erase/51142.cc: New.
489         * testsuite/23_containers/multimap/modifiers/erase/51142.cc: Likewise.
490         * testsuite/23_containers/set/modifiers/erase/51142.cc: Likewise.
491         * testsuite/23_containers/unordered_multimap/erase/51142.cc: Likewise.
492         * testsuite/23_containers/unordered_set/erase/51142.cc: Likewise.
493         * testsuite/23_containers/multiset/modifiers/erase/51142.cc: Likewise.
494         * testsuite/23_containers/unordered_multiset/erase/51142.cc: Likewise.
495         * testsuite/23_containers/map/modifiers/erase/51142.cc: Likewise.
496
497 2011-11-15  Jason Dick  <dickphd@gmail.com>
498
499         PR libstdc++/51133
500         * include/tr1/poly_hermite.tcc (__poly_hermite_recursion): Fix
501         wrong sign in recursion relation.
502
503 2011-11-14  Paolo Carlini  <paolo.carlini@oracle.com>
504
505         * include/c_global/cmath (frexp, modf, remquo): Do not mark constexpr,
506         not viable anyway due to the pointer parameter.
507
508 2011-11-13  Paolo Carlini  <paolo.carlini@oracle.com>
509
510         * include/c_global/cmath (atan2, fmod, pow, copysign, fdim,
511         fma, fmax, fmin, hypot, nextafter, remainder, remquo): Simplify
512         constraining on the return type.
513         * include/tr1/cmath (copysign, fdim, fma, fmax, fmin, hypot,
514         nextafter, remainder, remquo): Likewise.
515
516 2011-11-13  Gerald Pfeifer  <gerald@pfeifer.com>
517
518         * using.xml: Use GNU/Linux.
519
520 2011-11-12  Jason Merrill  <jason@redhat.com>
521
522         PR c++/51060
523         * testsuite/25_algorithms/max/1.cc (test01): Drop references.
524         * testsuite/25_algorithms/min/1.cc (test01): Drop references.
525         * testsuite/25_algorithms/minmax/1.cc (test01): Drop references.
526
527 2011-11-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
528
529         PR libstdc++/51083
530         * include/ext/type_traits.h (__promote): Only define __type member
531         for integral and floating point types, to prevent math functions
532         participating in overload resolution for other types.
533         (__promote_2, __promote_3, __promote_4): Use __promote in default
534         template argument values, so deduction only succeeds for integral and
535         floating point types.
536         * testsuite/26_numerics/cmath/51083.cc: New.
537         * testsuite/26_numerics/complex/51083.cc: New.
538         * testsuite/tr1/8_c_compatibility/cmath/51083.cc: New.
539         * testsuite/tr1/8_c_compatibility/complex/51083.cc: New.
540
541 2011-11-10  Andrew MacLeod  <amacleod@redhat.com>
542
543         PR middle-end/51038
544         * include/bits/atomic_base.h (atomic_thread_fence): Call built-in.
545         (atomic_signal_fence): Call built-in.
546         (test_and_set, clear): Call new atomic built-ins.
547
548 2011-11-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
549
550         * include/bits/allocator.h (__shrink_to_fit_aux::_S_do_it): Create
551         the new object with the same allocator.
552         * testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: New.
553
554 2011-11-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
555
556         * include/profile/unordered_map: Add missing copy constructors.
557         * include/profile/unordered_set: Likewise.
558
559 2011-11-09  Dodji Seketeli  <dodji@redhat.com>
560
561         PR c++/51027
562         * include/ext/pointer.h (rebind): Append missing ';'.
563
564 2011-11-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
565
566         * include/bits/stl_vector.h (vector::_Alloc_traits): Make private.
567         * include/debug/vector: Add allocator-extended constructors, ensure
568         move assignment and swap have same allocator propagation semantics
569         and exceptions specification as base class.
570         * include/profile/vector: Likewise.
571         (vector::push_back(_Tp&&)): Forward argument as rvalue.
572         * testsuite/23_containers/vector/debug/alloc_prop.cc: New.
573         * doc/xml/manual/status_cxx2011.xml: Clarify status of container
574         requirements with respect to allocators.
575         (status.iso.200x): Add anchor for old ID to preserve existing links.
576
577 2011-11-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
578
579         * include/bits/shared_ptr_base.h (_Sp_counted_ptr): Make 'final'.
580         (_Sp_counted_deleter): Make 'final'. Use allocator_traits.
581         (_Sp_counted_ptr_inplace): Make 'final'. Use allocator_traits.
582         Derive from _Sp_counted_ptr instead of _Sp_counted_deleter to use EBO
583         for the allocator.
584         (__shared_count, __shared_ptr): Use allocator_traits.
585         * include/std/future (__future_base::_Result_alloc): Make 'final'. Use
586         allocator traits.
587         (__future_base::_Task_state): Make 'final'.
588         (__future_base::_Deferred_state): Likewise.
589         (__future_base::_Async_state): Likewise.
590         * testsuite/20_util/shared_ptr/cons/alloc_min.cc: New.
591         * testsuite/20_util/shared_ptr/creation/alloc_min.cc: New.
592         * testsuite/20_util/shared_ptr/creation/private.cc: New.
593         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
594         * testsuite/30_threads/packaged_task/cons/alloc_min.cc: New.
595         * testsuite/30_threads/promise/cons/alloc_min.cc: New.
596
597 2011-11-08  Paolo Carlini  <paolo.carlini@oracle.com>
598
599         * acinclude.m4 ([GLIBCXX_ENABLE_VISIBILITY]): Rename to
600         [GLIBCXX_ENABLE_LIBSTDCXX_VISIBILITY], likewise for the
601         option itself, to --enable-libstdcxx-visibility.
602         * configure.ac: Adjust call.
603         * doc/xml/manual/configure.xml: Update.
604         * configure: Regenerate.
605
606 2011-11-08  Paolo Carlini  <paolo.carlini@oracle.com>
607
608         * testsuite/29_atomics/headers/atomic/macros.cc: Avoid -Wall
609         warnings.
610         * testsuite/29_atomics/atomic/cons/user_pod.cc: Likewise.
611
612 2011-11-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
613
614         PR libstdc++/51018
615         * testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
616         on netbsd.
617
618 2011-11-07  Aldy Hernandez  <aldyh@redhat.com>
619             Richard Henderson  <rth@redhat.com>
620
621         Merged from transactional-memory.
622
623         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_TM_1.
624         * libsupc++/eh_tm.cc: New file.
625         * libsupc++/unwind-cxx.h (__cxa_tm_cleanup): Declare.
626         * config/abi/pre/gnu.ver: Export __cxa_tm_cleanup.
627         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
628         * libsupc++/Makefile.am (sources): Add eh_tm.cc.
629         * libsupc++/Makefile.in: Rebuild.
630
631 2011-11-07  Paolo Carlini  <paolo.carlini@oracle.com>
632
633         PR libstdc++/51018
634         * include/profile/impl/profiler_node.h (__stack_hash::
635         operator()(__stack_t)): Just use std::size_t everywhere.
636
637 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
638
639         * include/std/future (__future_base::_Ptr): Use alias-declaration.
640         (__is_same_pkgdtask): Rename to __constrain_pkgdtask and use decay
641         instead of remove_reference so that cv-quals are removed.
642
643 2011-11-07  Ed Smith-Rowland  <3dw4rd@verizon.net>
644
645         * include/precompiled/stdc++.h: Add cstdalign.
646
647 2011-11-07  Paolo Carlini  <paolo.carlini@oracle.com>
648
649         * include/std/complex (complex<>::real(), complex<>::imag()):
650         Remove redundant const qualifiers.
651
652 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
653
654         * include/bits/ptr_traits.h (__rebind): Replace with...
655         (rebind): Implement using alias-declaration.
656         * include/ext/pointer.h (__rebind): Replace with...
657         (rebind): Implement using alias-declaration.
658         * include/bits/alloc_traits.h (__rebind_alloc, __rebind_traits):
659         Replace with...
660         (rebind_alloc, rebind_traits): Implement using alias-declaration.
661         * include/ext/alloc_traits.h (rebind): Use rebind_alloc instead of
662         __rebind_alloc.
663         * include/std/scoped_allocator (rebind): Likewise.
664
665 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
666
667         * include/std/mutex (call_once): Store closure in __once_functor
668         as bound function wrapper might not be copyable.
669
670 2011-11-07  Andrew MacLeod  <amacleod@redhat.com>
671
672         * include/bits/atomic_base.h (atomic_thread_fence): Revert.
673         (atomic_signal_fence): Revert.
674
675 2011-11-07  Andrew MacLeod  <amacleod@redhat.com>
676
677         * include/bits/atomic_base.h (atomic_thread_fence): Call builtin.
678         (atomic_signal_fence): Call builtin.
679         (atomic_flag::test_and_set): Call __atomic_exchange when it is lockfree,
680         otherwise fall back to call __sync_lock_test_and_set.
681         (atomic_flag::clear): Call __atomic_store when it is lockfree,
682         otherwise fall back to call __sync_lock_release.
683
684 2011-11-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
685
686         PR bootstrap/50982
687         * include/Makefile.am (${host_builddir}/gthr-posix.h): Reflect
688         gthr-posix.h move.
689         * include/Makefile.in: Regenerate.
690
691 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
692
693         * acinclude.m4 (GLIBCXX_CHECK_SC_NPROC_ONLN): Define.
694         (GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP): Define.
695         (GLIBCXX_CHECK_SYSCTL_HW_NCPU): Define.
696         * configure.ac: Use new checks.
697         * configure: Regenerate.
698         * config.h.in: Regenerate.
699         * src/thread.cc: Check new config macros.
700         * testsuite/lib/libstdc++.exp: Likewise.
701
702 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
703
704         * config/abi/pre/gnu.ver: Fix exports for string::pop_back.
705
706 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
707
708         * acinclude.m4: Check for <stdalign.h>
709         * configure: Regenerate.
710         * config.h.in: Likewise.
711         * include/Makefile.am: Add <cstdalign>.
712         * include/Makefile.in: Regenerate.
713         * include/c_global/cstdalign: New.
714         * testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: New.
715         * doc/xml/manual/backwards_compatibility.xml: Update.
716         * doc/xml/manual/status_cxx2011.xml: Update.
717
718 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
719
720         PR libstdc++/50982
721         * include/std/mutex (__once_proxy): Use void parameter list to
722         work on implicit extern "C" systems.
723
724 2011-11-07  Xinliang David Li  <davidxl@google.com>
725
726         * include/backward/hashtable.h: Make __stl_prime_list
727         in comdat section.
728
729 2011-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
730
731         * include/bits/basic_string.h (basic_string::at): Move adjacent to other
732         overload.
733         (basic_string::pop_back): Define.
734         * include/debug/string (__gnu_debug::basic_string::pop_back): Likewise.
735         * include/ext/vstring.h (__versa_string::pop_back): Likewise.
736         * config/abi/pre/gnu.ver: Add new symbols.
737         * testsuite/21_strings/basic_string/modifiers/char/pop_back.cc: New.
738         * testsuite/21_strings/basic_string/modifiers/wchar_t/pop_back.cc: New.
739         * testsuite/21_strings/basic_string/range_access.cc: Split to ...
740         * testsuite/21_strings/basic_string/range_access/char/1.cc: Here and ...
741         * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc: Here.
742         * testsuite/ext/vstring/modifiers/char/pop_back.cc: New.
743         * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: New.
744
745 2011-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
746
747         * doc/xml/manual/backwards_compatibility.xml: Fix autoconf tests for
748         C++11 compiler features and library headers. Add stable id
749         attributes. Use <filename> element for headers and surround in angle
750         brackets. Use <classname> for classes.
751         * doc/html/*: Regenerate.
752
753 2011-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
754
755         * doc/xml/manual/status_cxx2011.xml: Document <cuchar> and
756         <cstdalign> as missing.
757
758 2011-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
759
760         * doc/xml/faq.xml: Replace references to C++0x with C++11.
761         * doc/xml/manual/intro.xml: Likewise.
762         * doc/xml/manual/backwards_compatibility.xml: Likewise.
763         * doc/xml/manual/shared_ptr.xml: Likewise.
764         * doc/xml/manual/configure.xml: Likewise.
765         * doc/xml/manual/evolution.xml: Likewise.
766         * doc/xml/manual/using.xml: Likewise.
767         * doc/xml/manual/strings.xml: Likewise.
768         * doc/xml/manual/debug_mode.xml: Likewise.
769         * doc/xml/manual/policy_data_structures.xml: Likewise.
770         * doc/xml/manual/extensions.xml: Likewise.
771         * doc/xml/manual/diagnostics.xml: Likewise.
772         * doc/xml/manual/test.xml: Likewise.
773         * doc/xml/manual/status_cxx200x.xml: Likewise, and rename to...
774         * doc/xml/manual/status_cxx2011.xml: Here.
775         * doc/Makefile.am: Rename status_cxx200x.xml.
776         * doc/Makefile.in: Regenerate.
777         * doc/html/*: Regenerate.
778
779 2011-11-06  François Dumont <fdumont@gcc.gnu.org>
780
781         * testsuite/performance/23_containers/insert_erase/41975.cc: Add
782         tests to check performance with or without cache of hash code and with
783         string type that has a costlier hash functor than int type.
784
785 2011-11-06  Benjamin Kosnik  <bkoz@redhat.com>
786             Andrew MacLeod  <amacleod@redhat.com>
787
788         Merged from cxx-mem-model.
789
790         * include/Makefile.am (bits_headers): Remove atomic_0.h, atomic_2.h.
791         * include/Makefile.in: Regenerate.
792         * src/Makefile.am (sources): Rename atomic.cc to
793         compatibility-atomic-c++0x.cc.
794         * src/Makefile.in: Regenerate.
795         * include/bits/atomic_0.h: Remove.
796         * include/bits/atomic_2.h: Incorporate into...
797         * include/bits/atomic_base.h: ...this.  Use new __atomic routines.
798         * include/std/atomic: Add generic atomic calls to basic atomic class.
799         * src/atomic.cc: Move...
800         * src/compatibility-atomic-c++0x.cc: ...here.
801         * src/compatibility-c++0x.cc: Tweak.
802         * testsuite/29_atomics/atomic/cons/user_pod.cc: Fix.
803         * testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc:
804           Same.
805         * testsuite/29_atomics/headers/atomic/macros.cc: Same.
806
807 2011-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
808
809         * doc/xml/manual/test.xml: Fix dg-warning examples.
810
811 2011-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
812
813         PR libstdc++/44436
814         * doc/xml/manual/status_cxx200x.xml: Document emplace members are
815         missing.
816
817 2011-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
818
819         PR libstdc++/49894
820         PR bootstrap/50982
821         * include/std/mutex (once_flag): Use NSDMI.
822
823 2011-11-04  Benjamin Kosnik  <bkoz@redhat.com>
824
825         * scripts/run_doxygen: Fix sed quoting.
826
827 2011-11-03  Benjamin Kosnik  <bkoz@redhat.com>
828
829         * doc/doxygen/doxygroups.cc: Add markup for namespace tr2.
830         * include/tr2/bool_set: Adjust doxygen markup.
831         * include/tr2/dynamic_bitset: Same.
832         * include/tr2/type_traits: Same.
833
834 2011-11-03  Benjamin Kosnik  <bkoz@redhat.com>
835
836         * doc/html/*: Regenerate.
837
838 2011-11-02  Richard B. Kreckel  <kreckel@ginac.de>
839             Paolo Carlini  <paolo.carlini@oracle.com>
840
841         PR libstdc++/50880
842         * include/std/complex (__complex_acosh): Fix in a better way,
843         use Kahan's formula.
844         * include/tr1/complex (__complex_acosh): Likewise.
845
846 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
847
848         PR libstdc++/50951
849         * include/bits/random.tcc (operator<<(basic_ostream<>&,
850         const mersenne_twister_engine<>&): Output _M_p too.
851         (operator<<(basic_ostream<>&, const
852         subtract_with_carry_engine<>&): Likewise.
853         (operator>>(basic_istream<>&, mersenne_twister_engine<>&):
854         Reload it.
855         (operator>>(basic_istream<>&, subtract_with_carry_engine<>&):
856         Likewise.
857         * include/bits/random.h (mersenne_twister_engine<>::operator==):
858         Compare _M_p too.
859         (subtract_with_carry_engine<>::operator==): Compare _M_carry
860         and _M_p too.
861         (shuffle_order_engine<>::operator==): Compare _M_v(s) and _M_y too.
862         * testsuite/26_numerics/random/independent_bits_engine/
863         operators/serialize.cc: Extend.
864         * testsuite/26_numerics/random/subtract_with_carry_engine/
865         operators/serialize.cc: Likewise.
866         * testsuite/26_numerics/random/discard_block_engine/
867         operators/serialize.cc: Likewise.
868         * testsuite/26_numerics/random/mersenne_twister_engine/
869         operators/serialize.cc: Likewise.
870         * testsuite/26_numerics/random/linear_congruential_engine/
871         operators/serialize.cc: Likewise.
872         * testsuite/26_numerics/random/shuffle_order_engine/
873         operators/serialize.cc: Likewise.
874
875 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
876
877         * acinclude.m4 (GLIBCXX_CONFIGURE): Determine and substitute
878         toplevel_builddir.
879         (GLIBCXX_ENABLE_THREADS): Remove glibcxx_thread_h,
880         HAVE_GTHR_DEFAULT, enable_thread.
881         (GLIBCXX_CHECK_GTHREADS): Reflect gthr move to libgcc.
882         * include/Makefile.am (thread_host_headers): Remove
883         ${host_builddir}/gthr-tpf.h.
884         (${host_builddir}/gthr.h): Reflect gthr move to libgcc.
885         Use $<.
886         (${host_builddir}/gthr-single.h): Likewise.
887         (${host_builddir}/gthr-posix.h): Likewise.
888         (${host_builddir}/gthr-tpf.h): Remove.
889         (${host_builddir}/gthr-default.h): Likewise.
890         * configure, config.h.in: Regenerate.
891         * Makefile.in, doc/Makefile.in, include/Makefile.in,
892         libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
893         src/Makefile.intestsuite/Makefile.in: Regenerate.
894
895 2011-11-02  Benjamin Kosnik  <bkoz@redhat.com>
896
897         * include/bits/c++config: Add tr2 to versioned namespaces.
898         * scripts/run_doxygen: Adjust generated man files as well.
899         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
900
901 2011-11-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
902
903         * include/std/future (promise): Add constructors for uses-allocator
904         construction from rvalue promise.
905         (packaged_task): Implement LWG 2067. Add additional constructors for
906         uses-allocator construction.
907         * testsuite/30_threads/packaged_task/cons/3.cc: New.
908         * testsuite/30_threads/packaged_task/cons/alloc2.cc: New.
909         * testsuite/30_threads/promise/cons/alloc2.cc: New.
910
911 2011-10-31  Jason Merrill  <jason@redhat.com>
912
913         * include/Makefile.am (install-freestanding-headers): Install
914         c++0x_warning.h.
915         * libsupc++/initializer_list: Include it.
916
917 2011-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
918
919         * acinclude.m4 (GLIBCXX_CONFIGURE): Refer to GNU/Linux.
920         * configure: Regenerate.
921
922 2011-10-31  Jason Merrill  <jason@redhat.com>
923
924         PR c++/50920
925         * include/bits/c++0x_warning.h: Change -std=c++0x to -std=c++11.
926
927 2011-10-30  Gerald Pfeifer  <gerald@pfeifer.com>
928
929         * prerequisites.xml: Refer to GCC (instead of gcc) and GNU/Linux.
930         Remove an obsolete reference to a Red Hat release we do not
931         support any longer.
932         Refer to Debian GNU/Linux.
933
934 2011-10-30  Gerald Pfeifer  <gerald@pfeifer.com>
935
936         * faq.xml (Who's in charge of it?): Refer to the Linux kernel
937         instead of just Linux.
938         (How do I install libstdc++?): Refer to GNU/Linux instead of
939         just Linux.
940
941 2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>
942
943         * testsuite/30_threads/condition_variable_any/50862.cc: Trivial
944         formatting fixes.
945
946 2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>
947
948         * testsuite/23_containers/unordered_map/operations/count.cc: New.
949         * testsuite/23_containers/multimap/operations/count.cc: Likewise.
950         * testsuite/23_containers/set/operations/count.cc: Likewise.
951         * testsuite/23_containers/unordered_multimap/operations/count.cc:
952         Likewise.
953         * testsuite/23_containers/unordered_set/operations/count.cc: Likewise.
954         * testsuite/23_containers/multiset/operations/count.cc: Likewise.
955         * testsuite/23_containers/unordered_multiset/operations/count.cc:
956         Likewise.
957         * testsuite/23_containers/map/operations/count.cc: Likewise.
958
959 2011-10-28  Richard B. Kreckel  <kreckel@ginac.de>
960
961         * include/std/complex (__complex_acosh): Just use '< _Tp()'.
962         * include/tr1/complex (__complex_acosh): Likewise.
963
964 2011-10-27  Richard B. Kreckel  <kreckel@ginac.de>
965             Paolo Carlini  <paolo.carlini@oracle.com>
966
967         PR libstdc++/50880
968         * include/std/complex (__complex_acosh): Fix for __z.real() < 0.
969         * include/tr1/complex (__complex_acosh): Likewise.
970         * testsuite/26_numerics/complex/50880.cc: New.
971         * testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.
972
973 2011-10-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
974
975         PR libstdc++/50862
976         * include/std/condition_variable (condition_variable_any::wait): Avoid
977         terminating if relocking user mutex throws during stack-unwinding.
978         * testsuite/30_threads/condition_variable_any/50862.cc: Add dg-require.
979
980 2011-10-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
981
982         * include/std/condition_variable (condition_variable_any): Remove
983         unused native_handle_type typedef.
984         * src/condition_variable.cc (condition_variable): Add missing noexcept
985         specifications.
986         * testsuite/30_threads/condition_variable_any/requirements/
987         typedefs.cc: Remove.
988
989 2011-10-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
990
991         PR libstdc++/50862
992         * include/std/condition_variable (condition_variable_any::wait): Fix
993         deadlock and ensure _Lock::lock() is called on exit.
994         (condition_variable_any::native_handle): Remove, as per LWG 1500.
995         * testsuite/30_threads/condition_variable_any/50862.cc: New.
996
997 2011-10-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
998
999         PR libstdc++/49894
1000         * include/std/mutex (__mutex_base,__recursive_mutex_base): Define new
1001         base classes to manage construction/destruction of native mutexes,
1002         using NSDMI when INIT macros are defined.
1003         (mutex,recursive_mutex,timed_mutex,recursive_timed_mutex): Derive from
1004         new base classes.
1005         * include/std/condition_variable (condition_variable): Use NSDMI when
1006         INIT macro is defined. Use noexcept.
1007         * src/condition_variable.cc (condition_variable): Explicitly-default
1008         constructor/destructor when using NSDMI. Use noexcept.
1009         (condition_variable_any): Likewise.
1010
1011 2011-10-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
1012
1013         * testsuite/30_threads/async/49668.cc: Add missing dg-require.
1014         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
1015
1016 2011-10-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1017
1018         PR libstdc++/50834
1019         * doc/xml/manual/using.xml: Update thread safety docs w.r.t. C++11.
1020
1021 2011-10-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1022
1023         PR libstdc++/50196
1024         * acinclude.m4 (GLIBCXX_HAS_GTHREADS): Don't depend on _POSIX_TIMEOUTS.
1025         * configure: Regenerate.
1026         * include/std/mutex (timed_mutex, recursive_timed_mutex): Define
1027         conditionally on GTHREADS_HAS_MUTEX_TIMEDLOCK.
1028         * testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed): Define.
1029         * testsuite/lib/dg-options.exp (dg-require-gthreads-timed): Define.
1030         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
1031         Use dg-require-gthreads-timed instead of dg-require-gthreads.
1032         * testsuite/30_threads/recursive_timed_mutex/native_handle/
1033         typesizes.cc: Likewise.
1034         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
1035         Likewise.
1036         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
1037         Likewise.
1038         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
1039         Likewise.
1040         * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
1041         Likewise.
1042         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
1043         * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
1044         Likewise.
1045         * testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
1046         Likewise.
1047         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
1048         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
1049         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
1050         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
1051         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
1052         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
1053         Likewise.
1054         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
1055         Likewise.
1056         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
1057         Likewise.
1058         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
1059         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
1060         Likewise.
1061         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
1062         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
1063         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
1064         * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
1065         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
1066         * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
1067         * testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
1068         Likewise.
1069         * testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
1070         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
1071         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
1072         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
1073         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
1074         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
1075         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
1076         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
1077         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
1078         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
1079         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
1080         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
1081
1082 2011-10-19  Ed Smith-Rowland  <3dw4rd@verizon.net>
1083
1084         * include/tr2/bool_set (bool_set): New.
1085         * include/tr2/bool_set.tcc: New.
1086         * include/tr2/dynamic_bitset (dynamic_bitset): New.
1087         * include/tr2/ratio (kibi, mebi, gibi, tebi, pebi, exbi): New.
1088         * include/Makefile.am: Add files.
1089         * include/Makefile.in: Regenerate.
1090
1091 2011-10-19  Benjamin Kosnik  <bkoz@redhat.com>
1092
1093         * doc/doxygen/user.cfg.in: Add tr2 files.
1094         * testsuite/tr2/headers/all.cc: New.
1095         * testsuite/tr2/headers/using_namespace_std_tr2.cc: New.
1096
1097         * include/tr2/type_traits: Tweak.
1098
1099 2011-10-18  Jason Merrill  <jason@redhat.com>
1100
1101         PR c++/50500
1102         * include/bits/shared_ptr.h: Default copy ctor and assignment.
1103         * testsuite/util/testsuite_allocator.h: Define copy assignment.
1104         * testsuite/util/testsuite_rvalref.h: Default copy assignment.
1105         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Remove note tags.
1106
1107 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
1108
1109         * include/tr2/type_traits (bases, direct_bases, typelist): New.
1110
1111 2011-10-17  Benjamin Kosnik  <bkoz@redhat.com>
1112
1113         * libstdc++-v3/include/Makefile.am: Add tr2 directory and includes.
1114         * libstdc++-v3/include/Makefile.in: Regenerate.
1115
1116         * scripts/create_testsuite_files: Search tr2 directory.
1117         * testsuite/libstdc++-dg/conformance.exp: Same.
1118
1119         * testsuite/tr2/bases/requirements/explicit_instantiation.cc: New.
1120         * testsuite/tr2/bases/requirements/typedefs.cc: New.
1121         * testsuite/tr2/bases/value.cc: New.
1122         * testsuite/tr2/direct_bases/requirements/
1123         explicit_instantiation.cc: New.
1124         * testsuite/tr2/direct_bases/requirements/typedefs.cc: New.
1125         * testsuite/tr2/direct_bases/value.cc: New.
1126
1127 2011-10-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1128
1129         PR bootstrap/50715
1130         * config/abi/pre/gnu.ver (CXXABI_1.3.6): Remove duplicate
1131         __cxa_get_exception_ptr.
1132
1133 2011-10-14  François Dumont  <francois.cppdevs@free.fr>
1134
1135         * testsuite/performance/23_containers/insert_erase/41975.cc: New.
1136
1137 2011-10-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
1138
1139         * testsuite/22_locale/codecvt_byname/50714.cc: Fix mychar.
1140
1141 2011-10-14  Jonathan Yong  <jon_y@users.sourceforge.net>
1142
1143         * configure.host: Use config/os/mingw32-w64 instead of
1144         config/os/mingw32 if vendor key is "w64".
1145         * config/os/mingw32-w64: Duplicate from config/os/mingw32.
1146         * config/os/mingw32-w64/os_defines.h: Enable
1147         _GLIBCXX_FULLY_DYNAMIC_STRING if undefined.
1148         * acinclude.m4: Set fully-dynamic-string to 1 when enabled,
1149         0 when disabled or undefined if unset by user.
1150         * include/bits/basic_string.h: Check if
1151         _GLIBCXX_FULLY_DYNAMIC_STRING is set to 0 instead of undefined.
1152         include/bits/basic_string.tcc: Likewise.
1153         * configure: Regenerated.
1154         * config.h.in: Likewise.
1155
1156 2011-10-13  Paolo Carlini  <paolo.carlini@oracle.com>
1157
1158         PR libstdc++/50714
1159         * include/bits/codecvt.h (codecvt<>::codecvt(size_t)): Initialize
1160         _M_c_locale_codecvt member.
1161         * testsuite/22_locale/codecvt_byname/50714.cc: New.
1162
1163 2011-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
1164
1165         PR c++/50594
1166         * libsupc++/new (operator new, operator delete): Decorate with
1167         __attribute__((__externally_visible__)).
1168         * include/bits/c++config: Add _GLIBCXX_THROW.
1169         * libsupc++/del_op.cc: Adjust.
1170         * libsupc++/del_opv.cc: Likewise.
1171         * libsupc++/del_opnt.cc: Likewise.
1172         * libsupc++/del_opvnt.cc: Likewise.
1173         * libsupc++/new_op.cc: Likewise.
1174         * libsupc++/new_opv.cc: Likewise.
1175         * libsupc++/new_opnt.cc: Likewise.
1176         * libsupc++/new_opvnt.cc: Likewise.
1177         * testsuite/18_support/50594.cc: New.
1178         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
1179         line number.
1180
1181 2011-10-11  Emil Wojak  <emil@wojak.eu>
1182
1183         PR c++/50661
1184         * include/bits/stl_algobase.h (equal): Compare arrays of pointers
1185         too with memcmp.
1186
1187 2011-10-10  Benjamin Kosnik  <bkoz@redhat.com>
1188
1189         PR libstdc++/49818
1190         * config/abi/pre/gnu.ver (CXXABI_1.3.6): Add symbols.
1191         * testsuite/util/testsuite_abi.cc: Same.
1192         * libsupc++/unwind-cxx.h: Move required eh API...
1193         * libsupc++/cxxabi.h: ... to here. Add required forward declarations.
1194         Use _GLIBCXX_NOTHROW.
1195         * libsupc++/pure.cc (__cxa_deleted_virtual): Add.
1196         * libsupc++/eh_alloc.cc: Use _GLIBCXX_NOTHROW.
1197         * libsupc++/eh_catch.cc: Same.
1198         * libsupc++/eh_globals.cc: Same.
1199         * libsupc++/eh_type.cc: Same.
1200
1201 2011-10-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1202
1203         * testsuite/util/testsuite_allocator.h (uneq_allocator): Add
1204         propagate_on_container_swap typedef for C++0x testing.
1205
1206 2011-10-06  Paolo Carlini  <paolo.carlini@oracle.com>
1207
1208         * testsuite/27_io/ios_base/cons/assign_neg.cc: Tidy dg- directives,
1209         for C++0x testing too.
1210         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
1211         * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Likewise.
1212         * testsuite/24_iterators/istreambuf_iterator/requirements/
1213         base_classes.cc: Adjust for C++0x testing.
1214         * testsuite/ext/codecvt/char-1.cc: Avoid warnings in C++0x mode.
1215         * testsuite/ext/codecvt/char-2.cc: Likewise.
1216         * testsuite/ext/codecvt/wchar_t.cc: Likewise.
1217
1218 2011-10-05  Paolo Carlini  <paolo.carlini@oracle.com>
1219
1220         * include/ext/pod_char_traits.h: Avoid warnings in C++0x mode
1221         when int_type is unsigned.
1222
1223 2011-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
1224
1225         PR libstdc++/49561
1226         * include/bits/stl_list.h (_List_base<>::_List_impl::_M_size):
1227         Add in C++0x mode.
1228         (_List_base<>::_List_impl, _List_base<>::_M_get_node,
1229         _List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&),
1230         list<>::size, list<>::swap, list<>::splice): Use it.
1231         (operator==(const list<>&, const list<>&)): Rewrite in C++0x mode.
1232         * include/bits/list.tcc (list<>::erase): Likewise.
1233         (list<>::merge): Adjust in C++0x mode.
1234         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1235         Adjust dg-error line number.
1236         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1237         Likewise.
1238         * testsuite/23_containers/list/requirements/dr438/
1239         constructor_1_neg.cc: Likewise.
1240         * testsuite/23_containers/list/requirements/dr438/
1241         constructor_2_neg.cc: Likewise.
1242
1243 2011-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
1244
1245         * testsuite/20_util/bind/48698.cc (g): Fix return type, avoid -Wall
1246         warning.
1247
1248 2011-10-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
1249
1250         * include/ext/alloc_traits.h (__alloc_traits::max_size): Define.
1251         (__alloc_traits::rebind): Define.
1252         * include/bits/stl_vector.h: Use them.
1253         * testsuite/util/testsuite_allocator.h (SimpleAllocator): Define.
1254         * testsuite/23_containers/vector/allocator/minimal.cc: New.
1255         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1256         Adjust dg-error line numbers.
1257         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1258         Likewise.
1259         * testsuite/23_containers/vector/requirements/dr438/
1260         constructor_1_neg.cc: Likewise.
1261         * testsuite/23_containers/vector/requirements/dr438/
1262         constructor_2_neg.cc: Likewise.
1263
1264 2011-10-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
1265
1266         * testsuite/20_util/pointer_traits/pointer_to.cc: Define equality
1267         operator and use.
1268
1269 2011-10-03  Paolo Carlini  <paolo.carlini@oracle.com>
1270
1271         * include/bits/hashtable.h (_Hashtable<>::insert(value_type&&),
1272         insert(const_iterator, value_type&&)): Don't define here...
1273         * include/bits/unordered_set.h (__unordered_set<>,
1274         __unordered_multiset<>): ... define here instead.
1275
1276 2011-09-29  Jason Merrill  <jason@redhat.com>
1277
1278         * testsuite/util/testsuite_tr1.h (test_property): Avoid
1279         ambiguity.
1280
1281 2011-10-01  François Dumont  <fdumont@gcc.gnu.org>
1282
1283         * include/debug/vector (vector<>::erase(iterator, iterator): Check
1284         iterators equality using normal iterators.
1285         * include/debug/deque (deque<>::erase(iterator, iterator): Likewise.
1286
1287 2011-09-29  Paolo Carlini  <paolo.carlini@oracle.com>
1288
1289         * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
1290         Remove noexcept from declaration too.
1291
1292 2011-09-27  Benjamin Kosnik  <bkoz@redhat.com>
1293
1294         * doc/html/*: Regenerate.
1295
1296         * doc/Makefile.am: Un-nest the ext output directory.
1297         * doc/Makefile.in: Regenerate.
1298         * spine.xml: Remove authors, add abstract for short
1299         contents. Rename to index.html for html output.
1300         * manual/spine.xml: Authors here, manual starts with index.html.
1301         * api.xml: Update.
1302         * faq.xml: Same.
1303
1304 2011-09-27  Marcus Shawcroft  <marcus.shawcroft@arm.com>
1305
1306         * libsupc++/tinfo.cc (type_info::operator==): Test __name instead
1307         of name().
1308
1309 2011-09-26  Paolo Carlini  <paolo.carlini@oracle.com>
1310
1311         PR libstdc++/50529
1312         * include/bits/vector.tcc (vector<>::erase(iterator, iterator)):
1313         Fix to do nothing if the range is empty.
1314         * include/bits/stl_bvector.h: Likewise.
1315         * include/bits/deque.tcc: Likewise.
1316         * include/debug/vector: Adjust.
1317         * include/debug/deque: Likewise.
1318         * testsuite/23_containers/vector/modifiers/erase/50529.cc: New.
1319         * testsuite/23_containers/deque/modifiers/erase/50529.cc: Likewise.
1320         * testsuite/23_containers/deque/modifiers/erase/3.cc: Adjust.
1321
1322 2011-09-25  Benjamin Kosnik  <bkoz@redhat.com>
1323             Jonathan Wakely  <jwakely.gcc@gmail.com>
1324
1325         PR libstdc++/48698
1326         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Set libtool_VERSION here.
1327         * configure.ac: Move AC_SUBST of libtool_VERSION past call to
1328         GLIBCXX_ENABLE_SYMVERS.
1329         * configure: Regenerate.
1330         * include/bits/c++config: Use __7 as versioned namespace name.
1331         * config/abi/pre/gnu-versioned-namespace.ver: Change mangling as
1332         per above.
1333         * include/c_global/cwchar: Adjust nested namespaces.
1334         * testsuite/20_util/bind/48698.cc: Add test case.
1335         * testsuite/ext/profile/mutex_extensions_neg.cc: Change line number.
1336
1337 2011-09-25  Paolo Carlini  <paolo.carlini@oracle.com>
1338
1339         Revert (no longer necessary post r179130):
1340
1341         2010-04-27  Fabien Chêne  <fabien.chene@gmail.com>
1342
1343         * testsuite/util/testsuite_error.h: Add empty default constructor
1344         to __gnu_test::test_category and
1345         __gnu_test::test_derived_category.
1346         * src/future.cc: Add empty default constructor to
1347         future_error_category.
1348         * src/system_error.cc: Add default ctor to generic_error_category
1349         and system_error_category.
1350
1351 2011-09-24  John Salmon  <john.salmon@deshaw.com>
1352
1353         PR libstdc++/50510
1354         * include/bits/random.tcc (seed_seq::generate): Fix computation.
1355
1356 2011-09-24  John Salmon  <john.salmon@deshaw.com>
1357
1358         PR libstdc++/50509
1359         * include/bits/random.tcc (seed_seq::generate): Fix computation.
1360
1361 2011-09-21  Benjamin Kosnik  <bkoz@redhat.com
1362
1363         * doc/Makefile.am (stamp-epub-docbook): Fix image directory location.
1364         * doc/Makefile.in: Regenerate.
1365
1366 2011-09-21  Paolo Carlini  <paolo.carlini@oracle.com>
1367
1368         * src/limits.cc: Replace everywhere __int128_t -> __int128, and
1369         __uint128_t -> unsigned __int128.
1370         * include/std/type_traits: Likewise.
1371         * include/std/limits: Likewise.
1372         * testsuite/18_support/numeric_limits/dr559.cc: Likewise.
1373         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
1374         * testsuite/18_support/numeric_limits/40856.cc: Likewise.
1375         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
1376         * testsuite/util/testsuite_common_types.h: Likewise.
1377         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
1378         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1379         * testsuite/20_util/is_floating_point/value.cc: Likewise.
1380         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
1381         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
1382         * testsuite/20_util/is_signed/value.cc: Likewise.
1383         * testsuite/20_util/is_unsigned/value.cc: Likewise.
1384         * testsuite/20_util/is_integral/value.cc: Likewise.
1385         * config/abi/pre/gnu.ver: Likewise.
1386         * acinclude.m4: Likewise.
1387         * configure: Regenerate.
1388         * config.h.in: Likewise.
1389
1390 2011-09-19  Paolo Carlini  <paolo.carlini@oracle.com>
1391
1392         PR libstdc++/40856
1393         * include/std/limits (numeric_limits<__int128_t>,
1394         numeric_limits<__uint128_t>): Add.
1395         * src/limits.cc:Define.
1396         * config/abi/pre/gnu.ver: Export.
1397         * include/ext/typelist.h (_GLIBCXX_TYPELIST_CHAIN16, 20): Add.
1398         * testsuite/util/testsuite_common_types.h (integral_types_gnu): Add
1399         (limits_tl): Use it.
1400         * testsuite/18_support/numeric_limits/requirements/
1401         constexpr_functions.cc: Likewise.
1402         * testsuite/18_support/numeric_limits/40856.cc: New.
1403         * testsuite/18_support/numeric_limits/dr559.cc: Extend.
1404         * testsuite/18_support/numeric_limits/lowest.cc: Likewise.
1405         * testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
1406         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
1407         line numbers.
1408         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
1409         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
1410         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
1411         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
1412         Likewise.
1413         * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
1414         Likewise.
1415         * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
1416         Likewise.
1417
1418 2011-09-17  Paolo Carlini  <paolo.carlini@oracle.com>
1419
1420         PR libstdc++/50441
1421         * acinclude.m4 ([GLIBCXX_ENABLE_INT128_FLOAT128]): Add.
1422         * configure.ac: Call it.
1423         * include/std/type_traits (__is_integral_helper<__int128_t>,
1424         __is_integral_helper<__uint128_t>,
1425         __is_floating_point_helper<__float128>,
1426         __make_unsigned<__int128_t>, __make_signed<__uint128_t>): Add.
1427         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Extend.
1428         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1429         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
1430         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
1431         * testsuite/20_util/is_signed/value.cc: Likewise.
1432         * testsuite/20_util/is_unsigned/value.cc: Likewise.
1433         * testsuite/20_util/is_integral/value.cc: Likewise.
1434         * testsuite/20_util/is_floating_point/value.cc: New.
1435         * testsuite/20_util/is_floating_point/requirements/typedefs.cc:
1436         Likewise.
1437         * testsuite/20_util/is_floating_point/requirements/
1438         explicit_instantiation.cc: Likewise.
1439         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1440         dg-error line numbers.
1441         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1442         Likewise.
1443         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1444         * configure: Regenerate.
1445         * config.h.in: Likewise.
1446
1447 2011-09-17  François Dumont  <fdumont@gcc.gnu.org>
1448
1449         * include/bits/hashtable.h (_Hashtable<>::__rehash_policy(const
1450         _RehashPolicy&)): Commit the modification of the policy only if no
1451         exception occured.
1452         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
1453         New.
1454
1455 2011-09-16  Paolo Carlini  <paolo.carlini@oracle.com>
1456
1457         * testsuite/23_containers/array/comparison_operators/
1458         less_or_equal.cc: New.
1459         * testsuite/23_containers/array/comparison_operators/
1460         greater_or_equal.cc: Likewise.
1461         * testsuite/23_containers/array/comparison_operators/less.cc: Likewise.
1462         * testsuite/23_containers/array/comparison_operators/equal.cc: Likewise.
1463         * testsuite/23_containers/array/comparison_operators/not_equal.cc:
1464         Likewise.
1465         * testsuite/23_containers/array/comparison_operators/greater.cc:
1466         Likewise.
1467         * testsuite/23_containers/array/iterators/end_is_one_past.cc: Likewise.
1468         * testsuite/23_containers/array/capacity/empty.cc: Likewise.
1469         * testsuite/23_containers/array/capacity/max_size.cc: Likewise.
1470         * testsuite/23_containers/array/capacity/size.cc: Likewise.
1471         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
1472         Likewise.
1473         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
1474         Likewise.
1475         * testsuite/23_containers/array/element_access/at_out_of_range.cc:
1476         Likewise.
1477         * testsuite/23_containers/array/element_access/back.cc: Likewise.
1478         * testsuite/23_containers/array/element_access/front.cc: Likewise.
1479         * testsuite/23_containers/array/element_access/data.cc: Likewise.
1480         * testsuite/23_containers/array/cons/aggregate_initialization.cc:
1481         Likewise.
1482         * testsuite/23_containers/array/requirements/zero_sized_arrays.cc:
1483         Likewise.
1484         * testsuite/23_containers/array/requirements/contiguous.cc: Likewise.
1485         * testsuite/23_containers/array/requirements/member_swap.cc: Likewise.
1486         * testsuite/23_containers/array/specialized_algorithms/swap.cc:
1487         Likewise.
1488         * testsuite/23_containers/array/constexpr_get.cc: Move...
1489         * testsuite/23_containers/array/tuple_interface/constexpr_get.cc:
1490         ... here.
1491         * testsuite/23_containers/array/requirements/get.cc: Move...
1492         * testsuite/23_containers/array/tuple_interface/get: ... here.
1493         * testsuite/23_containers/array/at_neg.cc: Move...
1494         * testsuite/23_containers/array/element_access: ... here.
1495         * testsuite/23_containers/array/requirements/constexpr_functions.cc:
1496         Move...
1497         * testsuite/23_containers/array/capacity: ... here.
1498         * testsuite/23_containers/array/requirements/
1499         constexpr_element_access.cc: Move...
1500         * testsuite/23_containers/array/element_access: ... here.
1501
1502         * testsuite/20_util/duration/cons/1_neg.cc: Avoid -Wall warnings.
1503         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
1504         * testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
1505         * testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
1506         * testsuite/23_containers/bitset/operations/constexpr.cc: Likewise.
1507
1508         * testsuite/20_util/duration/cons/1_neg.cc: Discard bogus warning.
1509         * testsuite/20_util/forward/1_neg.cc: Likewise.
1510
1511 2011-09-15  Paolo Carlini  <paolo.carlini@oracle.com>
1512
1513         * include/std/tuple (make_tuple, forward_as_tuple): Declare constexpr.
1514         (_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&)): Likewise.
1515         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Enable
1516         make_tuple test.
1517         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
1518         line number.
1519
1520 2011-09-14  François Dumont  <fdumont@gcc.gnu.org>
1521             Paolo Carlini  <paolo.carlini@oracle.com>
1522
1523         * include/bits/hashtable.h (_Hashtable<>::_M_rehash): Take and restore
1524         hash policy _M_prev_resize on exception.
1525         (_Hashtable<>::_M_insert_bucket): Capture hash policy next resize
1526         before using it and use latter method to have it restored on exception.
1527         (_Hashtable<>::_M_insert(_Arg&& __v, std::false_type): Likewise.
1528         (_Hashtable<>::insert(_InputIterator, _InputIterator): Likewise.
1529         (_Hashtable<>::rehash): Likewise.
1530         * testsuite/23_containers/unordered_set/insert/hash_policy.cc: New.
1531         * testsuite/23_containers/unordered_multiset/insert/hash_policy.cc:
1532         Likewise.
1533
1534 2011-09-13  Paul Brook  <paul@codesourcery.com>
1535
1536         * libsupc++/eh_arm.cc (__cxa_end_cleanup): Add C6X implementation.
1537         * libsupc++/eh_call.cc (__cxa_call_unexpected): Set rtti_base.
1538         * libsupc++/eh_personality.cc (NO_SIZE_OF_ENCODED_VALUE): Remove
1539         __ARM_EABI_UNWINDER__ check.
1540         (parse_lsda_header): Check _GLIBCXX_OVERRIDE_TTYPE_ENCODING.
1541         (get_ttype_entry): Use generic implementation on ARM EABI.
1542         (check_exception_spec): Use _Unwind_decode_typeinfo_ptr and
1543         UNWIND_STACK_REG.
1544         (PERSONALITY_FUNCTION): Set ttype_base.
1545
1546 2011-09-12  Daniel Krugler  <daniel.kruegler@googlemail.com>
1547             Paolo Carlini  <paolo.carlini@oracle.com>
1548
1549         * include/std/tuple (_Head_base<>::_M_head, _Head_base<>::_M_tail,
1550         _Tuple_impl<>::_M_head, _Tuple_impl<>::_M_tail): Change to static
1551         constexpr functions; adjust everywhere.
1552         (__get_helper, get): Declare constexpr all three overloads.
1553         (tuple_cat): Declare constexpr; use late return type to improve
1554         error messages.
1555         * include/std/utility (__pair_get<>::__get, __pair_get<>::__move_get,
1556         __pair_get<>::__const_get, get): Declare all constexpr.
1557         * include/std/array (get): Likewise.
1558         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Re-enable
1559         tuple_cat test.
1560         * testsuite/23_containers/array/constexpr_get.cc: New.
1561         * testsuite/20_util/tuple/element_access/constexpr_get.cc: Likewise.
1562         * testsuite/20_util/pair/constexpr_get.cc: Likewise.
1563         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
1564         line number.
1565
1566 2011-09-12  Jason Merrill  <jason@redhat.com>
1567
1568         * testsuite/20_util/is_constructible/value-2.cc: Adjust
1569         expected values.
1570
1571 2011-09-11  Daniel Krugler  <daniel.kruegler@googlemail.com>
1572
1573         PR libstdc++/50159
1574         * include/std/tuple (tuple_cat): Reimplement according to the
1575         resolution of LWG 1385.
1576         * include/std/type_traits: Define __and_ and __or_ for zero
1577         arguments too; minor tweaks.
1578         * testsuite/20_util/tuple/creation_functions/tuple_cat.cc: New.
1579         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Disable
1580         for now tuple_cat test.
1581         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1582         line numbers.
1583         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1584         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1585         Likewise.
1586         * doc/xml/manual/status_cxx200x.xml: Update.
1587
1588 2011-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
1589
1590         * include/std/tuple: Use everywhere std::size_t... instead of int...
1591         * include/std/functional: Likewise.
1592         * include/std/scoped_allocator: Likewise.
1593         * include/bits/stl_pair.h: Likewise.
1594
1595 2011-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
1596
1597         PR libstdc++/50336
1598         * include/bits/streambuf_iterator.h (class istreambuf_iterator):
1599         Implement LWG 445 in C++0x mode.
1600         * testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc:
1601         New.
1602
1603 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
1604
1605         PR c++/33255 - Support -Wunused-local-typedefs warning
1606         * include/ext/bitmap_allocator.h
1607         (__detail::__mini_vector::__lower_bound): Remove unused typedef.
1608         * src/istream.cc (std::operator>>(basic_istream<char>& __in,
1609         basic_string<char>& __str)): Likewise.
1610         (std::getline): Likewise.
1611         * src/valarray.cc (__valarray_product): Likewise.
1612
1613 2011-09-07  François Dumont  <francois.cppdevs@free.fr>
1614
1615         * testsuite/23_containers/array/at.cc: Revert to...
1616         * testsuite/23_containers/array/at_neg.cc: ...this.
1617
1618 2011-09-07  Jason Merrill  <jason@redhat.com>
1619
1620         * testsuite/20_util/bind/ref_neg.cc: Adjust errors.
1621         * testsuite/20_util/duration/cons/1_neg.cc: Adjust errors.
1622
1623 2011-09-06  Benjamin Kosnik  <bkoz@redhat.com>
1624
1625         * include/std/tuple (_Tuple_impl::_M_head, _M_tail): Mark constexpr.
1626         (tuple(tuple&&)): Same.
1627         (tuple(const tuple<_UElements...>& __in)): Same.
1628         (tuple(tuple<_UElements...>&& __in)): Same.
1629         (tuple_cat(const tuple<_TElements...>&, const tuple<_UElements...>&)):
1630         Same.
1631         (get): Same.
1632         * include/std/array: Consolidate array::data usage.
1633         * testsuite/23_containers/array/requirements/constexpr_functions.cc:
1634         Remove extra include.
1635         * testsuite/20_util/tuple/creation_functions/constexpr.cc: New.
1636         * testsuite/20_util/tuple/cons/constexpr-2.cc: Add tests.
1637         * testsuite/20_util/tuple/cons/constexpr-3.cc: Same.
1638         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line numbers.
1639
1640 2011-09-06  François Dumont  <fdumont@gcc.gnu.org>
1641             Paolo Carlini  <paolo.carlini@oracle.com>
1642
1643         * include/bits/hashtable_policy.h (_Prime_rehash_policy::
1644         _M_next_bkt): Cast _M_max_load_factor to long double.
1645         (_Prime_rehash_policy::_M_bkt_for_elements): Use _M_next_bkt.
1646         (_Prime_rehash_policy::_M_need_rehash): Likewise; cast all
1647         float quantities to long double.
1648
1649 2011-09-06  Paolo Carlini  <paolo.carlini@oracle.com>
1650
1651         PR libstdc++/50257
1652         * include/bits/hashtable_policy.h (_Prime_rehash_policy::
1653         _M_next_bkt): Optimize for small argument.
1654
1655 2011-09-02  François Dumont  <fdumont@gcc.gnu.org>
1656
1657         * testsuite/util/testsuite_allocator.h (tracker_allocator_counter::
1658         allocate): Update allocation count only if allocation succeeded.
1659
1660 2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
1661
1662         * include/std/bitset: Trivial formatting fixes.
1663
1664 2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
1665             Marc Glisse  <marc.glisse@normalesup.org>
1666
1667         * include/std/bitset (_Base_bitset<>::_M_are_all_aux): Remove.
1668         (_Base_bitset<>::_M_are_all): Add.
1669         (bitset<>::all): Use the latter, improve implementation.
1670
1671 2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
1672             Marc Glisse  <marc.glisse@normalesup.org>
1673
1674         PR libstdc++/50268
1675         * include/std/bitset (struct _Sanitize_val): Add.
1676         (bitset<>::bitset(unsigned long long)): Fix.
1677         * testsuite/23_containers/bitset/cons/50268.cc: New.
1678
1679 2011-09-01  Paolo Carlini  <paolo.carlini@oracle.com>
1680
1681         * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
1682         Remove noexcept, the move constructor allocates memory; rearrange
1683         the code in the body to consistently update __ht._M_rehash_policy
1684         before using _M_next_bkt on it.
1685         * include/debug/unordered_map: Adjust.
1686         * include/debug/unordered_set: Likewise.
1687         * include/profile/unordered_map: Likewise.
1688         * include/profile/unordered_set: Likewise.
1689         * testsuite/23_containers/unordered_map/cons/
1690         noexcept_move_construct.cc: Remove.
1691         * testsuite/23_containers/unordered_set/cons/
1692         noexcept_move_construct.cc: Likewise.
1693         * testsuite/23_containers/unordered_multimap/cons/
1694         noexcept_move_construct.cc: Likewise.
1695         * testsuite/23_containers/unordered_multiset/cons/
1696         noexcept_move_construct.cc: Likewise.
1697
1698 2011-08-31  Paolo Carlini  <paolo.carlini@oracle.com>
1699
1700         * include/std/chrono (operator*(const _Rep1&, const duration<>&)):
1701         Fix order of template parameters per LWG 2004.
1702
1703 2011-08-30  Paolo Carlini  <paolo.carlini@oracle.com>
1704
1705         * include/bits/stl_iterator.h (make_move_iterator): Implement DR2061.
1706         * testsuite/24_iterators/move_iterator/dr2061.cc: New.
1707         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
1708         line numbers.
1709
1710 2011-08-30  Paolo Carlini  <paolo.carlini@oracle.com>
1711
1712         * config/os/mingw32/error_constants.h: Fix commas.
1713
1714 2011-08-29  Benjamin Kosnik  <bkoz@redhat.com>
1715
1716         * testsuite/20_util/duration/arithmetic/constexpr.cc: Add.
1717
1718 2011-08-29  Kai Tietz  <ktietz@redhat.com>
1719
1720         * configure: Regenerated.
1721         * config.h.in: Regenerated.
1722         * acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR)  Add
1723         checks for ECHILD, ENOSPC, EPERM, ETIMEDOUT, and
1724         EWOULDBLOCK.
1725         * config/os/mingw32/error_constants.h (errc): Add
1726         enumerator values no_child_process, no_space_on_device,
1727         not_supported, operation_not_permitted, operation_would_block,
1728         timed_out, and value_too_large,
1729
1730 2011-08-29  Paolo Carlini  <paolo.carlini@oracle.com>
1731
1732         PR libstdc++/50118
1733         * include/bits/stl_list.h (_List_base<>::
1734         _List_base(const allocator_type&)): Remove.
1735         (_List_base<>::_List_base(const _Node_alloc_type&)): Add.
1736         (list<>:list(const allocator_type&), list(size_type, const
1737         value_type&, const allocator_type&),
1738         list(initializer_list<, const allocator_type&),
1739         list(_InputIterator, _InputIterator, const allocator_type&),
1740         insert(iterator, size_type, const value_type&),
1741         insert(iterator, _InputIterator, _InputIterator)): Adjust.
1742         * include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(const _Compare&,
1743         const allocator_type&)): Fix.
1744         * include/bits/stl_map.h (map<>::map(const _Compare&,
1745         const allocator_type&), map(initializer_list<>,
1746         const _Compare&, const allocator_type&), map(_InputIterator,
1747         _InputIterator, const _Compare&, const allocator_type&),
1748         get_allocator): Adjust.
1749         * include/bits/stl_set.h (set<>::set(const _Compare&,
1750         const allocator_type&), set(initializer_list<>,
1751         const _Compare&, const allocator_type&), set(_InputIterator,
1752         _InputIterator, const _Compare&, const allocator_type&),
1753         get_allocator): Likewise.
1754         * include/bits/stl_multimap.h (multimap<>::multimap(const _Compare&,
1755         const allocator_type&), multimap(initializer_list<>,
1756         const _Compare&, const allocator_type&), multimap(_InputIterator,
1757         _InputIterator, const _Compare&, const allocator_type&),
1758         get_allocator): Likewise.
1759         * include/bits/stl_multiset.h (multiset<>::multiset(const _Compare&,
1760         const allocator_type&), multiset(initializer_list<>,
1761         const _Compare&, const allocator_type&), multiset(_InputIterator,
1762         _InputIterator, const _Compare&, const allocator_type&),
1763         get_allocator): Likewise.
1764         * include/bits/forward_list.h (_Fwd_list_base<>::
1765         _Fwd_list_base(const _Alloc&), _Fwd_list_base(const _Fwd_list_base&,
1766         const _Alloc&), _Fwd_list_base(_Fwd_list_base&&, const _Alloc&)):
1767         Remove.
1768         (_Fwd_list_base<>::_Fwd_list_base(const _Node_alloc_type&),
1769         _Fwd_list_base(const _Fwd_list_base&,
1770         const _Node_alloc_type&), _Fwd_list_base(_Fwd_list_base&&,
1771         const _Node_alloc_type&)): Add.
1772         (forward_list<>::forward_list(const _Alloc&),
1773         forward_list(const forward_list&, const _Alloc&),
1774         forward_list(forward_list&&, const _Alloc&),
1775         forward_list(size_type, const _Tp&, const _Alloc&),
1776         forward_list(_InputIterator, _InputIterator, const _Alloc&),
1777         forward_list(std::initializer_list<>, const _Alloc&),
1778         get_allocator): Adjust.
1779         * include/bits/forward_list.tcc: Adjust.
1780         * testsuite/util/testsuite_allocator.h (ExplicitConsAlloc): Add.
1781         * testsuite/23_containers/unordered_map/requirements/
1782         explicit_instantiation/5.cc: New.
1783         * testsuite/23_containers/multimap/requirements/
1784         explicit_instantiation/5.cc: Likewise.
1785         * testsuite/23_containers/multimap/requirements/
1786         explicit_instantiation/5_c++0x.cc: Likewise.
1787         * testsuite/23_containers/set/requirements/explicit_instantiation/
1788         5.cc: Likewise.
1789         * testsuite/23_containers/set/requirements/explicit_instantiation/
1790         5_c++0x.cc: Likewise.
1791         * testsuite/23_containers/unordered_multimap/requirements/
1792         explicit_instantiation/5.cc: Likewise.
1793         * testsuite/23_containers/forward_list/requirements/
1794         explicit_instantiation/5.cc: Likewise.
1795         * testsuite/23_containers/unordered_set/requirements/
1796         explicit_instantiation/5.cc: Likewise.
1797         testsuite/23_containers/multiset/requirements/explicit_instantiation/
1798         5.cc: Likewise.
1799         * testsuite/23_containers/multiset/requirements/
1800         explicit_instantiation/5_c++0x.cc: Likewise.
1801         * testsuite/23_containers/list/requirements/explicit_instantiation/
1802         5_c++0x.cc: Likewise.
1803         * testsuite/23_containers/list/requirements/explicit_instantiation/
1804         5.cc: Likewise.
1805         * testsuite/23_containers/unordered_multiset/requirements/
1806         explicit_instantiation/5.cc: Likewise.
1807         * testsuite/23_containers/map/requirements/explicit_instantiation/
1808         5.cc: Likewise.
1809         * testsuite/23_containers/map/requirements/explicit_instantiation/
1810         5_c++0x.cc: Likewise.
1811         * testsuite/23_containers/forward_list/requirements/dr438/
1812         assign_neg.cc: Adjust dg-error line number.
1813         * testsuite/23_containers/forward_list/requirements/dr438/
1814         insert_neg.cc: Likewise.
1815         * testsuite/23_containers/forward_list/requirements/dr438/
1816         constructor_1_neg.cc: Likewise.
1817         * testsuite/23_containers/forward_list/requirements/dr438/
1818         constructor_2_neg.cc: Likewise.
1819         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1820         Likewise.
1821         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1822         Likewise.
1823         * testsuite/23_containers/list/requirements/dr438/
1824         constructor_1_neg.cc: Likewise.
1825         * testsuite/23_containers/list/requirements/dr438/
1826         constructor_2_neg.cc: Likewise.
1827
1828 2011-08-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1829
1830         * acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO)
1831         (GLIBCXX_CHECK_STDLIB_PROTO): New tests.
1832         * configure.ac (GLIBCXX_CHECK_MATH_PROTO)
1833         (GLIBCXX_CHECK_STDLIB_PROTO): Call them.
1834         * configure: Regenerate.
1835         * config.h.in: Regenerate.
1836         * config/os/solaris/solaris2.8/os_defines.h
1837         (__CORRECT_ISO_CPP_MATH_H_PROTO2): Don't define.
1838         * config/os/solaris/solaris2.9: Remove.
1839         * configure.host (solaris2.8): Merge with ...
1840         (solaris2.9, solaris2.1[0-9]): ... this.
1841         Always use os/solaris/solaris2.8.
1842
1843 2011-08-28  Paolo Carlini  <paolo.carlini@oracle.com>
1844
1845         * include/bits/move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove
1846         workaround for c++/49045.
1847         * include/bits/algorithmfwd.h: Likewise.
1848
1849 2011-08-25  Tom Tromey  <tromey@redhat.com>
1850
1851         * testsuite/libstdc++-prettyprinters/simple.cc: New file.
1852         * testsuite/lib/gdb-test.exp: New file.
1853         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: New
1854         file.
1855
1856 2011-08-18  Marc Glisse  <marc.glisse@normalesup.org>
1857
1858         * include/tr1/cmath: Extend/update comment.
1859
1860 2011-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
1861
1862         PR libstdc++/50119
1863         * include/bits/stl_algo.h (__copy_n(_InputIterator, _Size,
1864         _OutputIterator, input_iterator_tag)): Fix.
1865         * testsuite/25_algorithms/copy_n/50119.cc: New.
1866
1867 2011-08-18  Marc Glisse  <marc.glisse@normalesup.org>
1868             Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1869
1870         PR libstdc++/1773
1871         * config/os/solaris2.7: Rename to config/os/solaris2.9.
1872         * config/os/solaris/solaris2.9/os_defines.h
1873         (__CORRECT_ISO_CPP_MATH_H_PROTO1)
1874         (__CORRECT_ISO_CPP_STDLIB_H_PROTO)
1875         (__CORRECT_ISO_CPP_STRING_H_PROTO)
1876         (__CORRECT_ISO_CPP_WCHAR_H_PROTO): Define.
1877         * config/os/solaris2.8/ctype_base.h,
1878         config/os/solaris2.8/ctype_configure_char.cc,
1879         config/solaris2.8/ctype_inline.h,
1880         config/os/solaris2.8/os_defines.h: New files.
1881
1882         * configure.host (solaris2.[89], solaris2.1[0-9]):
1883         Split into ...
1884         (solaris2.8): ... this.
1885         Use os/solaris/solaris2.8.
1886         (solaris2.9, solaris2.1[0-9]): ... and this.
1887         Use os/solaris/solaris2.9.
1888
1889         * include/c_global/cmath (double abs(double)): Wrap in
1890         !__CORRECT_ISO_CPP_MATH_H_PROTO1 &&
1891         !__CORRECT_ISO_CPP_MATH_H_PROTO2.
1892         (float abs(float), long double abs(long double): Wrap in
1893         !__CORRECT_ISO_CPP_MATH_H_PROTO1.
1894         (float acos(float), long double acos(long double)): Likewise.
1895         (float asin(float), long double asin(long double)): Likewise.
1896         (float atan(float), long double atan(long double)): Likewise.
1897         (float atan2(float, float), long double atan2(long double, long
1898         double)): Likewise.
1899         (float ceil(float), long double ceil(long double)): Likewise.
1900         (float cos(float), long double cos(long double)): Likewise.
1901         (float cosh(float), long double cosh(long double)): Likewise.
1902         (float exp(float), long double exp(long double)): Likewise.
1903         (float fabs(float), long double fabs(long double)): Likewise.
1904         (float floor(float), long double floor(long double)): Likewise.
1905         (float fmod(float, float), long double fmod(long double, long
1906         double)): Likewise.
1907         (float frexp(float, int*), long double frexp(long double, int*)):
1908         Likewise.
1909         (float ldexp(float, int), long double ldexp(long double, int)):
1910         Likewise.
1911         (float log(float), long double log(long double)): Likewise.
1912         (float log10(float), long double log10(long double)): Likewise.
1913         (float modf(float, float*), long double modf(long double, long
1914         double*))): Likewise.
1915         (float pow(float, float), long double pow(long double, long
1916         double)): Likewise.
1917         (float sin(float), long double sin(long double)): Likewise.
1918         (float sinh(float), long double sinh(long double)): Likewise.
1919         (float sqrt(float), long double sqrt(long double)): Likewise.
1920         (float tan(float), long double tan(long double)): Likewise.
1921         (float tanh(float), long double tanh(long double)): Likewise.
1922         * include/c_global/cstdlib (long abs(long), ldiv_t div(long,
1923         long)): Wrap in !__CORRECT_ISO_CPP_STDLIB_H_PROTO.
1924         * include/tr1/cmath (float fabs(float), long double fabs(long
1925         double)): Wrap in !__CORRECT_ISO_CPP_MATH_H_PROTO1.
1926
1927 2011-08-14  Benjamin Kosnik  <bkoz@redhat.com>
1928
1929         * doc/xml/images/*: Image and image filename changes.
1930
1931 2011-08-14  Benjamin Kosnik  <bkoz@redhat.com>
1932
1933         * testsuite/data/make_graph_test_infos.xml: Edit.
1934         * testsuite/data/make_graph_htmls.xml: Remove
1935         * scripts/make_graph.py: Edit, fix.
1936         * scripts/make_graphs.py: Remove.
1937
1938         * doc/Makefile.am (doc-svg-performance): New.
1939         (doc-html-performance): Remove.
1940         * doc/Makefile.in: Regenerate.
1941
1942         * doc/xml/manual/test_policy_data_structures.xml: Markup changes.
1943         * doc/xml/manual/policy_data_structures.xml: Same.
1944         * doc/xml/manual/locale.xml: Same.
1945
1946         Testsuite renames.
1947         * performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc:
1948         Rename.
1949         * performance/ext/pb_ds/random_int_find_timing.cc: Same.
1950         * performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
1951         * performance/ext/pb_ds/multimap_text_find_timing.hpp
1952         * performance/ext/pb_ds/priority_queue_random_int_push_timing.cc: Same.
1953         * performance/ext/pb_ds/priority_queue_text_modify_timing.hpp
1954         * performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
1955         * performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc: Same.
1956         * performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc: Same.
1957         * performance/ext/pb_ds/priority_queue_text_join_timing.cc: Same.
1958         * performance/ext/pb_ds/multimap_text_insert_timing_small.cc: Same.
1959         * performance/ext/pb_ds/random_int_subscript_insert_timing.cc: Same.
1960         * performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
1961         * performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc: Same.
1962         * performance/ext/pb_ds/multimap_text_find_timing_small.cc: Same.
1963         * performance/ext/pb_ds/text_find_timing.cc: Same.
1964         * performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
1965         * performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc: Same.
1966         * performance/ext/pb_ds/random_int_subscript_find_timing.cc: Same.
1967         * performance/ext/pb_ds/priority_queue_text_push_timing.cc: Same.
1968         * performance/ext/pb_ds/tree_split_join_timing.cc: Same.
1969         * performance/ext/pb_ds/multimap_text_insert_timing_large.cc: Same.
1970         * performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc: Same.
1971         * performance/ext/pb_ds/multimap_text_find_timing_large.cc: Same.
1972         * performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc:
1973         Same.
1974         * performance/ext/pb_ds/multimap_text_insert_timing.hpp
1975         * performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc: Same.
1976         * performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc: Same.
1977
1978         * performance/ext/pb_ds/all_int_find.cc: To these new files...
1979         * performance/ext/pb_ds/all_int_subscript_find.cc: ...this.
1980         * performance/ext/pb_ds/all_int_subscript_insert.cc: ...this.
1981         * performance/ext/pb_ds/all_text_find.cc: ...this.
1982         * performance/ext/pb_ds/hash_int_erase_mem.cc: ...this.
1983         * performance/ext/pb_ds/hash_zlob_int_find.cc: ...this.
1984         * performance/ext/pb_ds/multimap_text_find.hpp
1985         * performance/ext/pb_ds/multimap_text_find_large.cc: ...this.
1986         * performance/ext/pb_ds/multimap_text_find_small.cc: ...this.
1987         * performance/ext/pb_ds/multimap_text_insert.hpp
1988         * performance/ext/pb_ds/multimap_text_insert_large.cc: ...this.
1989         * performance/ext/pb_ds/multimap_text_insert_mem.hpp
1990         * performance/ext/pb_ds/multimap_text_insert_mem_large.cc: ...this.
1991         * performance/ext/pb_ds/multimap_text_insert_mem_small.cc: ...this.
1992         * performance/ext/pb_ds/multimap_text_insert_small.cc: ...this.
1993         * performance/ext/pb_ds/priority_queue_int_push.cc: ...this.
1994         * performance/ext/pb_ds/priority_queue_int_push_pop.cc: ...this.
1995         * performance/ext/pb_ds/priority_queue_text_join.cc: ...this.
1996         * performance/ext/pb_ds/priority_queue_text_modify_down.cc: ...this.
1997         * performance/ext/pb_ds/priority_queue_text_modify.hpp
1998         * performance/ext/pb_ds/priority_queue_text_modify_up.cc: ...this.
1999         * performance/ext/pb_ds/priority_queue_text_pop_mem.cc: ...this.
2000         * performance/ext/pb_ds/priority_queue_text_push.cc: ...this.
2001         * performance/ext/pb_ds/priority_queue_text_push_pop.cc: ...this.
2002         * performance/ext/pb_ds/tree_order_statistics.cc: ...this.
2003         * performance/ext/pb_ds/tree_split_join.cc: ...this.
2004         * performance/ext/pb_ds/tree_text_insert.cc: ...this.
2005         * performance/ext/pb_ds/tree_text_lor_find.cc: ...this.
2006
2007         * doc/xml/images/*: Image and image filename changes.
2008
2009 2011-08-12  Paolo Carlini  <paolo.carlini@oracle.com>
2010
2011         * include/c_global/cmath (fmod(_Tp, _Up)): Add.
2012         * include/c_std/cmath: Likewise.
2013
2014 2011-08-11  Paolo Carlini  <paolo.carlini@oracle.com>
2015
2016         * include/std/future: constexpr functions are implicitly inline.
2017         * include/std/chrono: Likewise.
2018         * include/std/complex: Likewise.
2019         * include/bits/move.h: Likewise.
2020         * include/bits/stl_pair.h: Likewise.
2021
2022 2011-08-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
2023
2024         * include/bits/alloc_traits.h: Fix doxygen @headername.
2025
2026 2011-08-06  Benjamin Kosnik  <bkoz@redhat.com>
2027
2028         * doc/doxygen/user.cfg.in (PDF_HYPERLINKS): To NO.
2029
2030 2011-08-06  Benjamin Kosnik  <bkoz@redhat.com>
2031
2032         * doc/doxygen/user.cfg.in: Add scoped_allocator.
2033
2034         * include/debug/safe_sequence.h: Fix doxygen markup.
2035         * include/debug/safe_unordered_base.h: Same.
2036         * include/debug/safe_local_iterator.tcc: Same.
2037         * include/debug/safe_unordered_container.h: Same.
2038         * include/std/valarray: Same.
2039         * include/std/iomanip: Same.
2040         * include/std/streambuf: Same.
2041         * include/std/bitset: Same.
2042         * include/std/fstream: Same.
2043         * include/std/functional: Same.
2044         * include/std/istream: Same.
2045         * include/std/ostream: Same.
2046         * include/std/scoped_allocator: Same.
2047         * include/std/sstream: Same.
2048         * include/parallel/multiway_merge.h: Same.
2049         * include/parallel/base.h: Same.
2050         * include/parallel/for_each_selectors.h: Same.
2051         * include/parallel/multiway_mergesort.h: Same.
2052         * include/parallel/search.h: Same.
2053         * include/parallel/partial_sum.h: Same.
2054         * include/parallel/queue.h: Same.
2055         * include/parallel/sort.h: Same.
2056         * include/parallel/random_number.h: Same.
2057         * include/ext/vstring.h: Same.
2058         * include/ext/algorithm: Same.
2059         * include/ext/pb_ds/assoc_container.h: Same.
2060         * include/ext/bitmap_allocator.h: Same.
2061         * include/ext/stdio_filebuf.h: Same.
2062         * include/ext/memory: Same.
2063         * include/ext/functional: Same.
2064         * include/bits/basic_ios.h: Same.
2065         * include/bits/stl_list.h: Same.
2066         * include/bits/stl_map.h: Same.
2067         * include/bits/stl_algobase.h: Same.
2068         * include/bits/stl_queue.h: Same.
2069         * include/bits/gslice.h: Same.
2070         * include/bits/locale_classes.h: Same.
2071         * include/bits/stl_set.h: Same.
2072         * include/bits/locale_facets.h: Same.
2073         * include/bits/stl_stack.h: Same.
2074         * include/bits/stl_heap.h: Same.
2075         * include/bits/forward_list.h: Same.
2076         * include/bits/stream_iterator.h: Same.
2077         * include/bits/basic_string.h: Same.
2078         * include/bits/stl_multimap.h: Same.
2079         * include/bits/stl_pair.h: Same.
2080         * include/bits/ios_base.h: Same.
2081         * include/bits/stl_numeric.h: Same.
2082         * include/bits/stl_vector.h: Same.
2083         * include/bits/stl_deque.h: Same.
2084         * include/bits/codecvt.h: Same.
2085         * include/bits/stl_multiset.h: Same.
2086         * include/bits/stl_uninitialized.h: Same.
2087         * include/bits/ptr_traits.h: Same.
2088         * include/bits/slice_array.h: Same.
2089         * include/bits/stl_iterator_base_funcs.h: Same.
2090         * include/bits/stl_algo.h: Same.
2091         * include/bits/stl_iterator.h: Same.
2092         * include/bits/stl_tempbuf.h: Same.
2093         * include/bits/regex.h: Same.
2094         * include/bits/range_access.h: Same.
2095         * include/bits/random.h: Same.
2096         * include/bits/alloc_traits.h: Same.
2097         * include/bits/regex_error.h: Same.
2098         * include/bits/locale_facets_nonio.h: Same.
2099         * include/bits/stl_relops.h: Same.
2100         * include/backward/auto_ptr.h: Same.
2101         * libsupc++/initializer_list: Same.
2102
2103         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2104         Adjust line numbers.
2105         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
2106         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2107         Same.
2108         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2109         Same.
2110
2111 2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2112
2113         * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Point TOPLEVEL_INCLUDES
2114         to $(toplevel_srcdir)/libgcc.
2115         * configure: Regenerate.
2116
2117 2011-08-04  Benjamin Kosnik  <bkoz@redhat.com>
2118
2119         * doc/xml/manual/build_hacking.xml: Use relative fileref for PNG
2120         imagedata.
2121         * doc/xml/manual/test_policy_data_structures.xml: Same.
2122         * doc/xml/manual/policy_data_structures.xml: Same.
2123
2124         * doc/Makefile.am (stamp-html-docbook-images)
2125         (stamp-html-docbook-lwg, stamp-html-docbook-data): New.
2126         (xml_extra): Add lwg html file dependencies.
2127         (xml_images): Add image html file dependencies.
2128         * doc/Makefile.in: Regenerate.
2129         (stamp-html): Change to stamp-html-docbook-data.
2130         (stamp-html-copy): Remove.
2131
2132 2011-08-04  Paolo Carlini  <paolo.carlini@oracle.com>
2133
2134         * src/atomic.cc: Use noexcept.
2135         * include/std/atomic: Likewise.
2136         * include/bits/atomic_0.h: Likewise.
2137         * include/bits/atomic_2.h: Likewise.
2138         * include/bits/atomic_base.h: Likewise.
2139
2140 2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>
2141
2142         * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: Include
2143         unistd.h for unlink.
2144         * testsuite/performance/27_io/ofstream_insert_int.cc: Same.
2145         * testsuite/performance/27_io/ifstream_extract_int.cc: Same.
2146         * testsuite/performance/27_io/ifstream_getline-2.cc: Same.
2147         * testsuite/performance/27_io/fstream_seek_write.cc: Same.
2148         * testsuite/performance/27_io/ifstream_extract_chars.cc: Same.
2149         * testsuite/performance/27_io/ofstream_insert_float.cc: Same.
2150         * testsuite/performance/27_io/ifstream_extract_float.cc: Same.
2151         * testsuite/performance/27_io/filebuf_sputc.cc: Same.
2152
2153 2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>
2154
2155         * include/std/tuple: Mark more constructors constexpr.
2156         * testsuite/20_util/tuple/cons/constexpr.cc: Split into and extend as:
2157         * testsuite/20_util/tuple/cons/constexpr-2.cc: ...this.
2158         * testsuite/20_util/tuple/cons/constexpr-3.cc: ... and this.
2159         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line numbers.
2160
2161 2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>
2162             François Dumont  <francois.cppdevs@free.fr>
2163
2164         * testsuite/23_containers/array/at_neg.cc: Move...
2165         * testsuite/23_containers/array/at.cc: ...here. Remove
2166         -fno-exceptions, call const at member function.
2167
2168 2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>
2169
2170         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Generated.
2171
2172 2011-08-01  Paolo Carlini  <paolo.carlini@oracle.com>
2173
2174         PR c++/49813
2175         * include/c_global/cmath (isinf): Remove workaround.
2176
2177 2011-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
2178
2179         PR libstdc++/49925
2180         * include/bits/shared_ptr.h (make_shared): Qualify allocate_shared
2181         with std::.
2182         * include/bits/shared_ptr_base.h (__make_shared): Likewise.
2183
2184 2011-07-29  Benjamin Kosnik  <bkoz@redhat.com>
2185
2186         * doc/xml/manual/build_hacking.xml: Markup imagedata changes.
2187         * doc/xml/manual/policy_data_structures.xml: Same.
2188
2189         * doc/xml/class.txml: Remove biblioid.
2190         * doc/xml/manual/allocator.xml: Same.
2191         * doc/xml/manual/ctype.xml: Same.
2192         * doc/xml/manual/codecvt.xml: Same.
2193         * doc/xml/manual/backwards_compatibility.xml: Same.
2194         * doc/xml/manual/abi.xml: Same.
2195         * doc/xml/manual/shared_ptr.xml: Same.
2196         * doc/xml/manual/using_exceptions.xml: Same.
2197         * doc/xml/manual/messages.xml: Same.
2198
2199 2011-07-29  Benjamin Kosnik  <bkoz@redhat.com>
2200
2201         Docbook conversion of existing ext/pb_ds documentation.
2202         * doc/Makefile.am (xml_sources_manual): Add
2203         policy_data_structures.xml and
2204         test_policy_data_structures.xml.
2205         (stamp-html-copy): Remove special-case for ext/pb_ds directory.
2206         (XSLTPROC_FLAGS): Split into XSLT_FLAGS and XSLT_PARAM, use.
2207         * doc/Makefile.in: Regenerate.
2208         * doc/xml/manual/policy_data_structures.xml: New, adapted from
2209           previous html-only instance in doc/html/ext/pb_ds.
2210         * doc/xml/manual/test_policy_data_structures.xml: New, same as above.
2211
2212         * doc/xml/spine.xml: Update copyright.
2213         * doc/xml/manual/spine.xml: Same.
2214         * doc/xml/manual/extensions.xml: Adjust set, chapter, sections.
2215         * doc/xml/manual/bitmap_allocator.xml: Same.
2216         * doc/xml/manual/mt_allocator.xml: Same.
2217
2218         Populate image directory.
2219         * doc/xml/images/(pbds_balls_and_bins.png,
2220         pbds_binary_priority_queue_random_int_push_timing_test_local.pdf,
2221         pbds_binary_priority_queue_random_int_push_timing_test_local.png,
2222         pbds_binary_priority_queue_random_int_push_timing_test_local.svg,
2223         pbds_cc_hash_random_int_find_timing_test_local.pdf,
2224         pbds_cc_hash_random_int_find_timing_test_local.png,
2225         pbds_cc_hash_random_int_find_timing_test_local.svg,
2226         pbds_cc_hash_random_int_subscript_timing_test_find_local.pdf,
2227         pbds_cc_hash_random_int_subscript_timing_test_find_local.png,
2228         pbds_cc_hash_random_int_subscript_timing_test_find_local.svg,
2229         pbds_cc_hash_random_int_subscript_timing_test_insert_local.pdf,
2230         pbds_cc_hash_random_int_subscript_timing_test_insert_local.png,
2231         pbds_cc_hash_random_int_subscript_timing_test_insert_local.svg,
2232         pbds_container_tag_hierarchy.pdf,
2233         pbds_container_tag_hierarchy.png,
2234         pbds_container_tag_hierarchy.svg,
2235         pbds_different_underlying_dss_1.png,
2236         pbds_different_underlying_dss_2.png,
2237         pbds_embedded_lists_1.png, pbds_embedded_lists_2.png,
2238         pbds_embedded_lists_3.png, pbds_exception_hierarchy.pdf,
2239         pbds_exception_hierarchy.png, pbds_exception_hierarchy.svg,
2240         pbds_gp_hash_random_int_find_timing_test_local.pdf,
2241         pbds_gp_hash_random_int_find_timing_test_local.png,
2242         pbds_gp_hash_random_int_find_timing_test_local.svg,
2243         pbds_gp_hash_random_int_subscript_timing_test_find_local.pdf,
2244         pbds_gp_hash_random_int_subscript_timing_test_find_local.png,
2245         pbds_gp_hash_random_int_subscript_timing_test_find_local.svg,
2246         pbds_gp_hash_random_int_subscript_timing_test_insert_local.pdf,
2247         pbds_gp_hash_random_int_subscript_timing_test_insert_local.png,
2248         pbds_gp_hash_random_int_subscript_timing_test_insert_local.svg,
2249         pbds_hash_policy_cd.png,
2250         pbds_hash_random_int_erase_mem_usage_test_local.pdf,
2251         pbds_hash_random_int_erase_mem_usage_test_local.png,
2252         pbds_hash_random_int_erase_mem_usage_test_local.svg,
2253         pbds_hash_ranged_hash_range_hashing_fns.png,
2254         pbds_hash_range_hashing_seq_diagram2.png,
2255         pbds_hash_range_hashing_seq_diagram.png,
2256         pbds_hash_zlob_random_int_find_timing_test_local.pdf,
2257         pbds_hash_zlob_random_int_find_timing_test_local.png,
2258         pbds_hash_zlob_random_int_find_timing_test_local.svg,
2259         pbds_insert_resize_sequence_diagram1.png,
2260         pbds_insert_resize_sequence_diagram2.png,
2261         pbds_insert_resize_sequence_diagram3.png,
2262         pbds_invalidation_guarantee_erase.png,
2263         pbds_invalidation_tag_hierarchy.pdf,
2264         pbds_invalidation_tag_hierarchy.png,
2265         pbds_invalidation_tag_hierarchy.svg, pbds_list_update.png,
2266         pbds_multimap_text_find_timing_test_large_s2p_hash_local.pdf,
2267         pbds_multimap_text_find_timing_test_large_s2p_hash_local.png,
2268         pbds_multimap_text_find_timing_test_large_s2p_hash_local.svg,
2269         pbds_multimap_text_find_timing_test_large_s2p_tree_local.pdf,
2270         pbds_multimap_text_find_timing_test_large_s2p_tree_local.png,
2271         pbds_multimap_text_find_timing_test_large_s2p_tree_local.svg,
2272         pbds_multimap_text_find_timing_test_small_s2p_hash_local.pdf,
2273         pbds_multimap_text_find_timing_test_small_s2p_hash_local.png,
2274         pbds_multimap_text_find_timing_test_small_s2p_hash_local.svg,
2275         pbds_multimap_text_find_timing_test_small_s2p_tree_local.pdf,
2276         pbds_multimap_text_find_timing_test_small_s2p_tree_local.png,
2277         pbds_multimap_text_find_timing_test_small_s2p_tree_local.svg,
2278         pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.pdf,
2279         pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
2280         pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.svg,
2281         pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.pdf,
2282         pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
2283         pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.svg,
2284         pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.pdf,
2285         pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
2286         pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.svg,
2287         pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.pdf,
2288         pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.png,
2289         pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.svg,
2290         pbds_multimap_text_insert_timing_test_large_s2p_hash_local.pdf,
2291         pbds_multimap_text_insert_timing_test_large_s2p_hash_local.png,
2292         pbds_multimap_text_insert_timing_test_large_s2p_hash_local.svg,
2293         pbds_multimap_text_insert_timing_test_large_s2p_tree_local.pdf,
2294         pbds_multimap_text_insert_timing_test_large_s2p_tree_local.png,
2295         pbds_multimap_text_insert_timing_test_large_s2p_tree_local.svg,
2296         pbds_multimap_text_insert_timing_test_small_s2p_hash_local.pdf,
2297         pbds_multimap_text_insert_timing_test_small_s2p_hash_local.png,
2298         pbds_multimap_text_insert_timing_test_small_s2p_hash_local.svg,
2299         pbds_multimap_text_insert_timing_test_small_s2p_tree_local.pdf,
2300         pbds_multimap_text_insert_timing_test_small_s2p_tree_local.png,
2301         pbds_multimap_text_insert_timing_test_small_s2p_tree_local.svg,
2302         pbds_node_invariants.png,
2303         pbds_pairing_priority_queue_text_push_pop_timing_test_local.pdf,
2304         pbds_pairing_priority_queue_text_push_pop_timing_test_local.png,
2305         pbds_pairing_priority_queue_text_push_pop_timing_test_local.svg,
2306         pbds_pairing_priority_queue_text_push_timing_test_local.pdf,
2307         pbds_pairing_priority_queue_text_push_timing_test_local.png,
2308         pbds_pairing_priority_queue_text_push_timing_test_local.svg,
2309         pbds_pat_trie.png, pbds_point_iterator_hierarchy.png,
2310         pbds_point_iterators_range_ops_1.png,
2311         pbds_point_iterators_range_ops_2.png,
2312         pbds_priority_queue_different_underlying_dss.png,
2313         pbds_priority_queue_random_int_push_pop_timing_test_local.pdf,
2314         pbds_priority_queue_random_int_push_pop_timing_test_local.png,
2315         pbds_priority_queue_random_int_push_pop_timing_test_local.svg,
2316         pbds_priority_queue_random_int_push_timing_test_local.pdf,
2317         pbds_priority_queue_random_int_push_timing_test_local.png,
2318         pbds_priority_queue_random_int_push_timing_test_local.svg,
2319         pbds_priority_queue_tag_hierarchy.pdf,
2320         pbds_priority_queue_tag_hierarchy.png,
2321         pbds_priority_queue_tag_hierarchy.svg,
2322         pbds_priority_queue_text_join_timing_test_local.pdf,
2323         pbds_priority_queue_text_join_timing_test_local.png,
2324         pbds_priority_queue_text_join_timing_test_local.svg,
2325         pbds_priority_queue_text_modify_down_timing_test_local.pdf,
2326         pbds_priority_queue_text_modify_down_timing_test_local.png,
2327         pbds_priority_queue_text_modify_down_timing_test_local.svg,
2328         pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.pdf,
2329         pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
2330         pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.svg,
2331         pbds_priority_queue_text_modify_up_timing_test_local.pdf,
2332         pbds_priority_queue_text_modify_up_timing_test_local.png,
2333         pbds_priority_queue_text_modify_up_timing_test_local.svg,
2334         pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.pdf,
2335         pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
2336         pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.svg,
2337         pbds_priority_queue_text_pop_mem_usage_test_local.pdf,
2338         pbds_priority_queue_text_pop_mem_usage_test_local.png,
2339         pbds_priority_queue_text_pop_mem_usage_test_local.svg,
2340         pbds_priority_queue_text_push_pop_timing_test_local.pdf,
2341         pbds_priority_queue_text_push_pop_timing_test_local.png,
2342         pbds_priority_queue_text_push_pop_timing_test_local.svg,
2343         pbds_priority_queue_text_push_timing_test_local.pdf,
2344         pbds_priority_queue_text_push_timing_test_local.png,
2345         pbds_priority_queue_text_push_timing_test_local.svg,
2346         pbds_rationale_null_node_updator.png,
2347         pbds_resize_policy_cd.png, pbds_restoring_node_invariants.png,
2348         pbds_simple_list.png,
2349         pbds_text_find_timing_test_hash_local.pdf,
2350         pbds_text_find_timing_test_hash_local.png,
2351         pbds_text_find_timing_test_hash_local.svg,
2352         pbds_text_find_timing_test_tree_like_local.pdf,
2353         pbds_text_find_timing_test_tree_like_local.png,
2354         pbds_text_find_timing_test_tree_like_local.svg,
2355         pbds_tree_node_invalidations.png,
2356         pbds_tree_node_invariants.png,
2357         pbds_tree_node_updator_policy_cd.png,
2358         pbds_tree_order_statistics_timing_test_local.pdf,
2359         pbds_tree_order_statistics_timing_test_local.png,
2360         pbds_tree_order_statistics_timing_test_local.svg,
2361         pbds_tree_split_join_timing_test_local.pdf,
2362         pbds_tree_split_join_timing_test_local.png,
2363         pbds_tree_split_join_timing_test_local.svg,
2364         pbds_tree_text_insert_timing_test_node_tree_local.pdf,
2365         pbds_tree_text_insert_timing_test_node_tree_local.png,
2366         pbds_tree_text_insert_timing_test_node_tree_local.svg,
2367         pbds_tree_text_insert_timing_test_pat_trie_local.pdf,
2368         pbds_tree_text_insert_timing_test_pat_trie_local.png,
2369         pbds_tree_text_insert_timing_test_pat_trie_local.svg,
2370         pbds_tree_text_insert_timing_test_vector_tree_local.pdf,
2371         pbds_tree_text_insert_timing_test_vector_tree_local.png,
2372         pbds_tree_text_insert_timing_test_vector_tree_local.svg,
2373         pbds_tree_text_lor_find_timing_test_local.pdf,
2374         pbds_tree_text_lor_find_timing_test_local.png,
2375         pbds_tree_text_lor_find_timing_test_local.svg,
2376         pbds_trie_node_updator_policy_cd.png,
2377         pbds_update_seq_diagram.png): Add.
2378
2379         * doc/html/ext/pb_ds: Remove.
2380         * doc/html/ext/pb_ds/(acks.html, assoc_container_tag_cd.png,
2381         assoc_container_tag_cd.svg, assoc_container_traits.html,
2382         assoc_design.html, assoc_examples.html,
2383         associative_container_tag.html, assoc_performance_tests.html,
2384         assoc_regression_tests.html, assoc_tests.html,
2385         balls_and_bins.png, basic_hash_table.html,
2386         basic_hash_tag.html, basic_invalidation_guarantee.html,
2387         basic_tree_assoc_container_const_node_iterator.html,
2388         basic_tree.html, basic_tree_tag.html, binary_heap_tag.html,
2389         binary_priority_queue_random_int_push_timing_test_gcc.png,
2390         binary_priority_queue_random_int_push_timing_test_local.png,
2391         binary_priority_queue_random_int_push_timing_test_msvc.png,
2392         binomial_heap_tag.html,
2393         ccgp_hash_random_int_subscript_timing_test_insert_gcc.png,
2394         ccgp_hash_random_int_subscript_timing_test_insert_local.png,
2395         ccgp_hash_random_int_subscript_timing_test_insert_msvc.png,
2396         cc_hash_max_collision_check_resize_trigger.html,
2397         cc_hash_random_int_find_timing_test_gcc.png,
2398         cc_hash_random_int_find_timing_test_local.png,
2399         cc_hash_random_int_find_timing_test_msvc.png,
2400         cc_hash_random_int_subscript_timing_test_find_gcc.png,
2401         cc_hash_random_int_subscript_timing_test_find_local.png,
2402         cc_hash_random_int_subscript_timing_test_find_msvc.png,
2403         cc_hash_random_int_subscript_timing_test_insert_gcc.png,
2404         cc_hash_random_int_subscript_timing_test_insert_local.png,
2405         cc_hash_random_int_subscript_timing_test_insert_msvc.png,
2406         cc_hash_table.html, cc_hash_tag.html, checked_by_tidy.gif
2407         concepts.html, contact.html, container_base.html,
2408         container_cd.png, container_cd.svg, container_tag.html,
2409         counter_lu_policy.html, design.html,
2410         different_underlying_dss.png, direct_mask_range_hashing.html,
2411         direct_mod_range_hashing.html, disclaimer.html, ds_gen.html,
2412         embedded_lists_1.png, embedded_lists_2.png,
2413         embedded_lists_3.png, examples.html, exceptions.html,
2414         gp_hash_random_int_find_timing_test_gcc.png,
2415         gp_hash_random_int_find_timing_test_local.png,
2416         gp_hash_random_int_find_timing_test_msvc.png,
2417         gp_hash_random_int_subscript_timing_test_find_gcc.png,
2418         gp_hash_random_int_subscript_timing_test_find_local.png,
2419         gp_hash_random_int_subscript_timing_test_find_msvc.png,
2420         gp_hash_random_int_subscript_timing_test_insert_gcc.png,
2421         gp_hash_random_int_subscript_timing_test_insert_local.png,
2422         gp_hash_random_int_subscript_timing_test_insert_msvc.png,
2423         gp_hash_table.html, gp_hash_tag.html,
2424         hash_based_containers.html, hash_exponential_size_policy.html,
2425         hash_load_check_resize_trigger.html, hash_policy_cd.png,
2426         hash_prime_size_policy.html,
2427         hash_random_int_erase_mem_usage_test_gcc.png,
2428         hash_random_int_erase_mem_usage_test.html,
2429         hash_random_int_erase_mem_usage_test_local.png,
2430         hash_random_int_erase_mem_usage_test_msvc.png,
2431         hash_random_int_find_find_timing_test.html,
2432         hash_random_int_subscript_find_timing_test.html,
2433         hash_random_int_subscript_insert_timing_test.html,
2434         hash_ranged_hash_range_hashing_fns.png,
2435         hash_range_hashing_seq_diagram2.png,
2436         hash_range_hashing_seq_diagram.png,
2437         hash_standard_resize_policy.html,
2438         hash_text_find_find_timing_test.html,
2439         hash_zlob_random_int_find_find_timing_test.html,
2440         hash_zlob_random_int_find_timing_test_gcc.png,
2441         hash_zlob_random_int_find_timing_test_local.png,
2442         hash_zlob_random_int_find_timing_test_msvc.png, index.html,
2443         insert_error.html, insert_resize_sequence_diagram1.png,
2444         insert_resize_sequence_diagram2.png,
2445         insert_resize_sequence_diagram3.png, interface.html,
2446         introduction.html, invalidation_guarantee_cd.png,
2447         invalidation_guarantee_erase.png, join_error.html,
2448         linear_probe_fn.html, list_update.html, list_update_tag.html,
2449         lu_based_containers.html, lu.png, misc.html, motivation.html,
2450         move_to_front_lu_policy.html,
2451         multimap_text_find_timing_test_large.html,
2452         multimap_text_find_timing_test_large_s2p_hash_gcc.png,
2453         multimap_text_find_timing_test_large_s2p_hash_local.png,
2454         multimap_text_find_timing_test_large_s2p_hash_msvc.png,
2455         multimap_text_find_timing_test_large_s2p_tree_gcc.png,
2456         multimap_text_find_timing_test_large_s2p_tree_local.png,
2457         multimap_text_find_timing_test_large_s2p_tree_msvc.png,
2458         multimap_text_find_timing_test_small.html,
2459         multimap_text_find_timing_test_small_s2p_hash_gcc.png,
2460         multimap_text_find_timing_test_small_s2p_hash_local.png,
2461         multimap_text_find_timing_test_small_s2p_hash_msvc.png,
2462         multimap_text_find_timing_test_small_s2p_tree_gcc.png,
2463         multimap_text_find_timing_test_small_s2p_tree_local.png,
2464         multimap_text_find_timing_test_small_s2p_tree_msvc.png,
2465         multimap_text_insert_mem_usage_test_large.html,
2466         multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png,
2467         multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
2468         multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png,
2469         multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png,
2470         multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
2471         multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png,
2472         multimap_text_insert_mem_usage_test_small.html,
2473         multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png,
2474         multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
2475         multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png,
2476         multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png,
2477         multimap_text_insert_mem_usage_test_small_s2p_tree_local.png,
2478         multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png,
2479         multimap_text_insert_timing_test_large.html,
2480         multimap_text_insert_timing_test_large_s2p_hash_gcc.png,
2481         multimap_text_insert_timing_test_large_s2p_hash_local.png,
2482         multimap_text_insert_timing_test_large_s2p_hash_msvc.png,
2483         multimap_text_insert_timing_test_large_s2p_tree_gcc.png,
2484         multimap_text_insert_timing_test_large_s2p_tree_local.png,
2485         multimap_text_insert_timing_test_large_s2p_tree_msvc.png,
2486         multimap_text_insert_timing_test_small.html,
2487         multimap_text_insert_timing_test_small_s2p_hash_gcc.png,
2488         multimap_text_insert_timing_test_small_s2p_hash_local.png,
2489         multimap_text_insert_timing_test_small_s2p_hash_msvc.png,
2490         multimap_text_insert_timing_test_small_s2p_tree_gcc.png,
2491         multimap_text_insert_timing_test_small_s2p_tree_local.png,
2492         multimap_text_insert_timing_test_small_s2p_tree_msvc.png,
2493         node_invariant_invalidations.png, node_invariants.png,
2494         null_hash_fn.html, null_lu_metadata.html,
2495         null_mapped_type.html, null_probe_fn.html,
2496         null_tree_node_update.html, null_trie_node_update.html,
2497         ov_tree_tag.html, pairing_heap_tag.html,
2498         pairing_priority_queue_text_push_pop_timing_test_gcc.png,
2499         pairing_priority_queue_text_push_pop_timing_test_local.png,
2500         pairing_priority_queue_text_push_pop_timing_test_msvc.png,
2501         pairing_priority_queue_text_push_timing_test_gcc.png,
2502         pairing_priority_queue_text_push_timing_test_local.png,
2503         pairing_priority_queue_text_push_timing_test_msvc.png,
2504         pat_trie.png, pat_trie_tag.html,
2505         point_invalidation_guarantee.html, point_iterators_cd.png,
2506         point_iterators_range_ops_1.png,
2507         point_iterators_range_ops_2.png, pq_container_traits.html,
2508         pq_design.html, pq_different_underlying_dss.png,
2509         pq_examples.html, pq_performance_tests.html,
2510         pq_regression_tests.html, pq_tests.html, prerequisites.html,
2511         priority_queue.html,
2512         priority_queue_random_int_push_pop_timing_test_gcc.png,
2513         priority_queue_random_int_push_pop_timing_test.html,
2514         priority_queue_random_int_push_pop_timing_test_local.png,
2515         priority_queue_random_int_push_pop_timing_test_msvc.png,
2516         priority_queue_random_int_push_timing_test_gcc.png,
2517         priority_queue_random_int_push_timing_test.html,
2518         priority_queue_random_int_push_timing_test_local.png,
2519         priority_queue_random_int_push_timing_test_msvc.png,
2520         priority_queue_tag_cd.png, priority_queue_tag_cd.svg,
2521         priority_queue_tag.html,
2522         priority_queue_text_join_timing_test_gcc.png,
2523         priority_queue_text_join_timing_test.html,
2524         priority_queue_text_join_timing_test_local.png,
2525         priority_queue_text_join_timing_test_msvc.png,
2526         priority_queue_text_modify_down_timing_test_gcc.png,
2527         priority_queue_text_modify_down_timing_test.html,
2528         priority_queue_text_modify_down_timing_test_local.png,
2529         priority_queue_text_modify_down_timing_test_msvc.png,
2530         priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png,
2531         priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
2532         priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png,
2533         priority_queue_text_modify_up_timing_test_gcc.png,
2534         priority_queue_text_modify_up_timing_test.html,
2535         priority_queue_text_modify_up_timing_test_local.png,
2536         priority_queue_text_modify_up_timing_test_msvc.png,
2537         priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png,
2538         priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
2539         priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png,
2540         priority_queue_text_pop_mem_usage_test_gcc.png,
2541         priority_queue_text_pop_mem_usage_test.html,
2542         priority_queue_text_pop_mem_usage_test_local.png,
2543         priority_queue_text_pop_mem_usage_test_msvc.png,
2544         priority_queue_text_push_pop_timing_test_gcc.png,
2545         priority_queue_text_push_pop_timing_test.html,
2546         priority_queue_text_push_pop_timing_test_local.png,
2547         priority_queue_text_push_pop_timing_test_msvc.png,
2548         priority_queue_text_push_timing_test_gcc.png,
2549         priority_queue_text_push_timing_test.html,
2550         priority_queue_text_push_timing_test_local.png,
2551         priority_queue_text_push_timing_test_msvc.png,
2552         PythonPoweredSmall.gif quadratic_probe_fn.html,
2553         random_int_find_find_timing_test_tree_gcc.png,
2554         random_int_find_find_timing_test_tree_local.png,
2555         random_int_find_find_timing_test_tree_msvc.png,
2556         range_invalidation_guarantee.html,
2557         rationale_null_node_updator.png, rb_tree_tag.html,
2558         rc_binomial_heap_tag.html, references.html, resize_error.html,
2559         resize_policy_cd.png, restoring_node_invariants.png,
2560         sample_probe_fn.html, sample_ranged_hash_fn.html,
2561         sample_ranged_probe_fn.html, sample_range_hashing.html,
2562         sample_resize_policy.html, sample_resize_trigger.html,
2563         sample_size_policy.html, sample_tree_node_update.html,
2564         sample_trie_access_traits.html, sample_trie_node_update.html,
2565         sample_update_policy.html, simple_list.png,
2566         splay_tree_tag.html, tests.html,
2567         text_find_timing_test_hash_gcc.png,
2568         text_find_timing_test_hash_local.png,
2569         text_find_timing_test_hash_msvc.png,
2570         text_find_timing_test_tree_like_gcc.png,
2571         text_find_timing_test_tree_like_local.png,
2572         text_find_timing_test_tree_like_msvc.png, thin_heap_tag.html,
2573         tree_based_containers.html, tree.html,
2574         tree_node_iterator.html, tree_node_updator_policy_cd.png,
2575         tree_order_statistics_node_update.html,
2576         tree_order_statistics_timing_test_gcc.png,
2577         tree_order_statistics_timing_test.html,
2578         tree_order_statistics_timing_test_local.png,
2579         tree_order_statistics_timing_test_msvc.png,
2580         tree_random_int_find_find_timing_test.html,
2581         tree_split_join_timing_test_gcc.png,
2582         tree_split_join_timing_test.html,
2583         tree_split_join_timing_test_local.png,
2584         tree_split_join_timing_test_msvc.png, tree_tag.html,
2585         tree_text_find_find_timing_test.html,
2586         tree_text_insert_timing_test.html,
2587         tree_text_insert_timing_test_node_tree_gcc.png,
2588         tree_text_insert_timing_test_node_tree_local.png,
2589         tree_text_insert_timing_test_node_tree_msvc.png,
2590         tree_text_insert_timing_test_pat_trie_gcc.png,
2591         tree_text_insert_timing_test_pat_trie_local.png,
2592         tree_text_insert_timing_test_pat_trie_msvc.png,
2593         tree_text_insert_timing_test_vector_tree_gcc.png,
2594         tree_text_insert_timing_test_vector_tree_local.png,
2595         tree_text_insert_timing_test_vector_tree_msvc.png,
2596         tree_text_lor_find_find_timing_test.html,
2597         tree_text_lor_find_timing_test_gcc.png,
2598         tree_text_lor_find_timing_test_local.png,
2599         tree_text_lor_find_timing_test_msvc.png,
2600         trie_based_containers.html, trie_const_node_iterator.html,
2601         trie.html, trie_node_iterator.html,
2602         trie_node_updator_policy_cd.png,
2603         trie_order_statistics_node_update.html,
2604         trie_prefix_search_node_update.html,
2605         trie_string_access_traits.html, trie_tag.html,
2606         trivial_iterator_tag.html, tutorial.html,
2607         update_policy_cd.png, update_seq_diagram.png): Remove.
2608
2609 2011-07-27  Paolo Carlini  <paolo.carlini@oracle.com>
2610
2611         PR c++/49813
2612         * include/c_global/cmath: Use _GLIBCXX_CONSTEXPR and constexpr.
2613
2614 2011-07-27  Jeffrey Yasskin  <jyasskin@google.com>
2615
2616         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Updated.
2617
2618 2011-07-25  Benjamin Kosnik  <bkoz@redhat.com>
2619
2620         * include/std/array (at): Remove constexpr when -fno-exceptions.
2621         * testsuite/23_containers/array/at_neg.cc: Test.
2622
2623 2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
2624             Nathan Ridge  <zeratul976@hotmail.com>
2625
2626         PR libstdc++/49836
2627         * include/bits/stl_vector.h (vector<>::_M_emplace_back_aux):
2628         Declare.
2629         (vector<>::push_back(const value_type&)): Use it.
2630         * include/bits/vector.tcc: Define.
2631         (vector<>::emplace_back(_Args&&...)): Use it.
2632         * testsuite/util/testsuite_tr1.h (CopyConsOnlyType, MoveConsOnlyType):
2633         Add.
2634         * testsuite/23_containers/vector/modifiers/push_back/49836.cc: New.
2635         * testsuite/23_containers/deque/modifiers/push_back/49836.cc:
2636         Likewise.
2637         * testsuite/23_containers/deque/modifiers/push_front/49836.cc:
2638         Likewise.
2639         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2640         Adjust dg-error line number.
2641         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2642         Likewise.
2643         * testsuite/23_containers/vector/requirements/dr438/
2644         constructor_1_neg.cc: Likewise.
2645         * testsuite/23_containers/vector/requirements/dr438/
2646         constructor_2_neg.cc: Likewise.
2647
2648 2011-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
2649
2650         * include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt,
2651         _M_bkt_for_elements, _M_need_rehash): Fix typos in the last commit.
2652
2653 2011-07-24  François Dumont  <francois.cppdevs@free.fr>
2654
2655         * include/bits/hashtable_policy.h (_Prime_rehash_policy): Use
2656         __builtin_floor rather than __builtin_ceil to compute next resize
2657         value.
2658         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
2659         New.
2660
2661 2011-07-22  Benjamin Kosnik  <bkoz@redhat.com>
2662             Daniel Krugler  <daniel.kruegler@googlemail.com>
2663
2664         * include/bits/move.h (move, forward): Mark constexpr.
2665         * include/bits/stl_pair.h (pair): Mark move ctors constexpr.
2666         * testsuite/20_util/pair/make_pair/constexpr.cc: New.
2667         * testsuite/20_util/pair/cons/constexpr.cc: Add tests.
2668
2669 2011-07-22  Ian Lance Taylor  <iant@google.com>
2670
2671         * fragment.am (CONFIG_CXXFLAGS): Add -frandom-seed.
2672         * Makefile.in: Rebuild.
2673         * doc/Makefile.in: Rebuild.
2674         * include/Makefile.in: Rebuild.
2675         * libsupc++/Makefile.in: Rebuild.
2676         * po/Makefile.in: Rebuild.
2677         * python/Makefile.in: Rebuild.
2678         * src/Makefile.in: Rebuild.
2679         * testsuite/Makefile.in: Rebuild.
2680
2681 2011-07-21  Benjamin Kosnik  <bkoz@redhat.com>
2682
2683         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Move...
2684         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: ... here.
2685         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc: Move...
2686         * testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc: ... here.
2687         * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Move...
2688         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: ... here.
2689         * testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc: Move...
2690         * testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc: ... here.
2691
2692         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Move...
2693         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: ... here.
2694         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc: Move...
2695         * testsuite/ext/pb_ds/regression/trie_set_rand_debug.cc: ... here.
2696         * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Move...
2697         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: ... here.
2698         * testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc: Move...
2699         * testsuite/ext/pb_ds/regression/trie_map_rand_debug.cc: ... here.
2700
2701         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Move.
2702         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: ...here.
2703         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
2704         Move...
2705         * testsuite/ext/pb_ds/regression/list_update_set_rand_debug.cc: ...here.
2706         * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Move...
2707         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: ...here.
2708         * testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
2709         Move...
2710         * testsuite/ext/pb_ds/regression/list_update_map_rand_debug.cc: ...here.
2711
2712         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Move...
2713         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: ...here.
2714         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc: Move...
2715         * testsuite/ext/pb_ds/regression/hash_set_rand_debug.cc: ...here.
2716
2717         * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Move...
2718         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: ...here.
2719         * testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc: Move...
2720         * testsuite/ext/pb_ds/regression/hash_map_rand_debug.cc: ...here.
2721
2722 2011-07-21  François Dumont  <francois.cppdevs@free.fr>
2723
2724         * include/debug/safe_unordered_sequence.h,
2725         safe_unordered_sequence.tcc: Rename respectively in...
2726         * include/debug/safe_unordered_container.h,
2727         safe_unordered_container.tcc: ...those. _Safe_unordered_sequence
2728         rename _Safe_unordered_container.
2729         * include/debug/safe_unordered_base.h: _Safe_unordered_sequence_base
2730         rename _Safe_unordered_container_base.
2731         * include/debug/unordered_map, unordered_set: Adapt to previous
2732         modifications.
2733         * config/abi/pre/gnu.ver: Likewise.
2734         * src/debug.cc: Likewise.
2735         * include/Makefile.am: Likewise.
2736         * include/Makefile.in: Regenerate.
2737
2738 2011-07-21  Paolo Carlini  <paolo.carlini@oracle.com>
2739
2740         * include/std/mutex (timed_mutex, recursive_timed_mutex): Update
2741         to use steady_clock instead of monotonic_clock.
2742         * config/abi/pre/gnu.ver: Export steady_clock::now.
2743
2744 2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
2745             Daniel Krugler  <daniel.kruegler@googlemail.com>
2746
2747         * include/std/array (array::at, array::operator[]): Mark constexpr.
2748         * testsuite/23_containers/array/requirements/
2749         constexpr_element_access.cc: Add.
2750
2751 2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
2752             Daniel Krugler  <daniel.kruegler@googlemail.com>
2753
2754         * include/std/chrono: (system_clock::is_steady): Update to N3291
2755         from is_monotonic.
2756         (time_point): Mark nonmember arithmetic operators constexpr.
2757         * src/chrono.cc: Modify for above.
2758         * src/compatibility-c++0x.cc: Same.
2759         * testsuite/20_util/time_point/nonmember/constexpr.cc: New.
2760         * testsuite/20_util/time_point/1.cc: Modify.
2761         * testsuite/20_util/system_clock/constexpr_data.cc: Modify.
2762         * testsuite/20_util/system_clock/1.cc: Modify.
2763         * testsuite/20_util/monotonic_clock/constexpr_data.cc: Move to...
2764         * testsuite/20_util/steady_clock/constexpr_data.cc: ...here.
2765         * testsuite/30_threads/condition_variable/members/2.cc: Modify.
2766         * testsuite/30_threads/condition_variable_any/members/2.cc: Modify.
2767
2768 2011-07-20  Paolo Carlini  <paolo.carlini@oracle.com>
2769
2770         * include/std/system_error: Use noexcept.
2771         * src/system_error.cc: Likewise.
2772         * testsuite/19_diagnostics/error_condition/modifiers/39881.cc: Adjust.
2773         * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
2774         * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
2775         * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
2776         * testsuite/util/testsuite_error.h: Likewise.
2777
2778         * include/std/system_error (error_code::error_code(_ErrorCodeEnum)):
2779         Use enable_if on template parameter default.
2780         (error_condition::error_condition(_ErrorConditionEnum)): Likewise.
2781
2782 2011-07-20  Ed Smith-Rowland  <3dw4rd@verizon.net>
2783
2784         * include/precompiled/stdc++.h: Add scoped_allocator.
2785
2786 2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
2787
2788         * include/std/bitset (operator[]): Make constexpr.
2789         * testsuite/23_containers/bitset/operations/constexpr.cc: New.
2790
2791 2011-07-20  Paolo Carlini  <paolo.carlini@oracle.com>
2792
2793         * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
2794         _Safe_local_iterator(const _Iterator&, size_type, const _Sequence*)):
2795         Fix typo.
2796
2797 2011-07-19  François Dumont  <francois.cppdevs@free.fr>
2798
2799         * include/debug/safe_unordered_base.h, safe_unordered_sequence.h,
2800         safe_unordered_sequence.tcc, safe_local_iterator.h,
2801         safe_local_iterator.tcc: New, support for unordered sequence safe
2802         local iterators.
2803         * include/Makefile.am: Add previous files.
2804         * include/Makefile.in: Regenerate.
2805         * include/debug/unordered_map, unordered_set: Implement
2806         _Safe_unordered_sequence and expose _Safe_local_iterator.
2807         * include/debug/safe_iterator.h, safe_iterator.tcc: Refactor
2808         _Safe_iterator::_M_get_distance static method to expose it as
2809         __get_distance function and use it in _Safe_local_iterator type.
2810         * include/debug/formatter.h: Add __msg_local_iter_compare_bad
2811         _Debug_msg_id enum entry to notify invalid comparison between local
2812         iterators from different buckets. Add _Parameter constructor from
2813         _Safe_local_iterator.
2814         * include/debug/functions.h: Add __valid_range overload for
2815         _Safe_local_iterator.
2816         * src/debug.cc: Add _Safe_unordered_sequence_base and
2817         _Safe_local_iterator_base methods implementations.
2818         * config/abi/pre/gnu.ver: Add export of some
2819         _Safe_unordered_sequence_base and _Safe_local_iterator_base methods.
2820         * testsuite/util/debug/checks.h: Add use_invalid_iterator function to
2821         simulate use of a singular iterator.
2822         * testsuite/util/debug/unordered_checks.h: New, several functions
2823         to simulate classic invalid usage of unordered sequence local
2824         iterators.
2825         * testsuite/23_containers/unordered_map/debug/
2826         use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
2827         use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
2828         invalid_local_iterator_compare_neg.cc: New.
2829         * testsuite/23_containers/unordered_multimap/debug/
2830         use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
2831         use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
2832         invalid_local_iterator_compare_neg.cc: New.
2833         * testsuite/23_containers/unordered_set/debug/
2834         use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
2835         use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
2836         invalid_local_iterator_compare_neg.cc: New.
2837         * testsuite/23_containers/unordered_multiset/debug/
2838         use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
2839         use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
2840         invalid_local_iterator_compare_neg.cc: New.
2841
2842 2011-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
2843
2844         PR libstdc++/48430
2845         * include/bits/shared_ptr.h (struct hash<shared_ptr<>>): Use
2846         __hash_base.
2847         * include/bits/unique_ptr.h (struct hash<unique_ptr<>>): Likewise.
2848
2849 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2850
2851         * crossconfig.m4 (*-netware): Remove.
2852         * configure: Regenerate.
2853
2854 2011-07-15  Yufeng Zhang  <yufeng.zhang@arm.com>
2855
2856         * config/locale/newlib/ctype_members.cc: New file.
2857         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale
2858         kind: newlib.  Configure to use the newlib specific
2859         ctype_members.cc when with_newlib is enabled.
2860         * configure: Regenerate.
2861
2862 2011-07-15  Paolo Carlini  <paolo.carlini@oracle.com>
2863             Jakub Jelinek  <jakub@redhat.com>
2864
2865         PR libstdc++/49745
2866         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check separately for
2867         _POSIX_TIMEOUTS and define _GTHREADS_USE_MUTEX_TIMEDLOCK.
2868         * libsupc++/guard.cc: Include <unistd.h>.
2869         * testsuite/17_intro/headers/c++1998/49745.cc: New.
2870         * configure: Regenerate.
2871         * config.h.in: Likewise.
2872
2873 2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>
2874
2875         PR libstdc++/49559
2876         * include/bits/stl_algo.h (__move_merge_backward): Remove.
2877         (__move_merge_adaptive, __move_merge_adaptive_backward): New.
2878         (__merge_adaptive): Use the latter two.
2879         (__rotate_adaptive): Avoid self move-assignment.
2880         * include/bits/stl_algobase.h (move_backward): Fix comment.
2881         * testsuite/25_algorithms/stable_sort/49559.cc: New.
2882         * testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
2883         * testsuite/25_algorithms/inplace_merge/moveable.cc: Extend.
2884         * testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
2885         * testsuite/util/testsuite_rvalref.h (rvalstruct::operator=
2886         (rvalstruct&&)): Check for self move-assignment.
2887
2888 2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>
2889
2890         * testsuite/util/testsuite_allocator.h (propagating_allocator<>::
2891         operator=(const propagating_allocator<>&)): Retun *this.
2892
2893 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2894
2895         * include/Makefile.am: Add new header.
2896         * include/Makefile.in: Regenerate.
2897         * include/std/scoped_allocator: New.
2898         * doc/xml/manual/status_cxx200x.xml: Update.
2899         * testsuite/20_util/scoped_allocator/1.cc: New.
2900         * testsuite/20_util/scoped_allocator/propagation.cc: New.
2901         * testsuite/20_util/scoped_allocator/requirements/typedefs.cc: New.
2902         * testsuite/20_util/scoped_allocator/requirements/
2903         explicit_instantiation.cc: New.
2904
2905 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2906
2907         * include/bits/stl_vector.h: Use new allocator model in C++0x mode.
2908         * include/bits/vector.tcc: Likewise.
2909         * testsuite/util/testsuite_allocator.h (propagating_allocator): Define.
2910         * testsuite/23_containers/vector/allocator/copy_assign.cc: New.
2911         * testsuite/23_containers/vector/allocator/noexcept.cc: New.
2912         * testsuite/23_containers/vector/allocator/copy.cc: New.
2913         * testsuite/23_containers/vector/allocator/swap.cc: New.
2914         * testsuite/23_containers/vector/allocator/move_assign.cc: New.
2915         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2916         Adjust dg-error line numbers.
2917         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2918         Likewise.
2919         * testsuite/23_containers/vector/requirements/dr438/
2920         constructor_1_neg.cc: Likewise.
2921         * testsuite/23_containers/vector/requirements/dr438/
2922         constructor_2_neg.cc: Likewise.
2923
2924 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2925
2926         * include/ext/alloc_traits.h (__allocator_always_compares_equal): New
2927         trait, provide partial specializations for known allocators.
2928         (__alloc_traits::construct, __alloc_traits::destroy): Overload for
2929         non-standard pointer types.
2930         (__alloc_traits::_S_always_equal): New trait for use with noexcept.
2931         (__alloc_traits::_S_nothrow_move): Likewise.
2932         (__alloc_traits::_S_nothrow_swap): Likewise.
2933
2934 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2935
2936         * include/ext/cast.h: Fix typo in include guard.
2937         * include/ext/pointer.h (_Unqualified_type): Remove redundant
2938         partial specializations for volatile types. Fix typos in comments.
2939         (pointer_traits<_Pointer_adaptor<Tp>>::pointer_to): Define.
2940
2941 2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2942
2943         PR libstdc++/49668
2944         * include/std/functional (__bind_simple): Define.
2945         * include/std/future (_Task_setter): Parameterize by type of result
2946         pointer instead of state object.
2947         (_S_task_setter): Type deduction helper.
2948         (_Task_state): Use _S_task_setter and __bind_simple.
2949         (_Deferred_state, _Async_state): Store call wrapper directly not as
2950         std::function. Use _S_task_setter and __bind_simple.
2951         (_S_make_deferred_state, _S_make_async_state): Type deduction helpers.
2952         (async): Use new functions and __bind_simple.
2953         * include/std/mutex (call_once): Use __bind_simple.
2954         * include/std/thread (thread): Likewise. Remove unused headers.
2955         * src/thread.cc: Add header.
2956         * testsuite/30_threads/async/49668.cc: New.
2957         * testsuite/30_threads/call_once/49668.cc: New.
2958         * testsuite/30_threads/thread/cons/49668.cc: New.
2959         * testsuite/30_threads/thread/cons/moveable.cc: Remove unused bool.
2960
2961 2011-07-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2962
2963         * configure.host (abi_baseline_subdir_switch): Describe.
2964         Provide default.
2965         (*-*-solaris2.[89], *-*-solaris2.1[0-9]): Override.
2966         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Substitute
2967         baseline_subdir_switch.
2968         * testsuite/Makefile.am (site.exp): Emit it.
2969         (baseline_subdir): Use it.
2970         * testsuite/libstdc++-abi/abi.exp: Use it.
2971         * configure: Regenerate.
2972         * Makefile.in: Regenerate.
2973         * doc/Makefile.in: Regenerate.
2974         * include/Makefile.in: Regenerate.
2975         * libsupc++/Makefile.in: Regenerate.
2976         * po/Makefile.in: Regenerate.
2977         * python/Makefile.in: Regenerate.
2978         * src/Makefile.in: Regenerate.
2979         * testsuite/Makefile.in: Regenerate.
2980
2981 2011-06-29  François Dumont  <francois.cppdevs@free.fr>
2982
2983         * include/debug/set.h, unordered_map, multiset.h, forward_list,
2984         unordered_set, vector, deque, string, list, multimap.h: Remove
2985         base class default constructor calls.
2986         * include/debug/map.h: Likewise and cleanup several redefinition of
2987         base iterator typedef.
2988
2989 2011-06-29  Nathan Sidwell  <nathan@codesourcery.com>
2990
2991         * libsupc++/eh_arm.c (__cxa_type_match): Construct address of
2992         thrown object here.  Return succeded_with_ptr_to_base for all
2993         pointer cases.
2994
2995 2011-06-23  Jonathan Wakely  <jwakely.gcc@gmail.com>
2996
2997         * testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Fix for
2998         C++0x mode.
2999         * testsuite/25_algorithms/sort/35588.cc: Likewise.
3000         * testsuite/26_numerics/headers/complex/synopsis.cc: Likewise.
3001
3002 2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
3003
3004         * testsuite/20_util/bind/socket.cc: Use variable and remove attribute.
3005
3006 2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
3007
3008         * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Avoid -Wall
3009         warning.
3010
3011 2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
3012
3013         * testsuite/20_util/reference_wrapper/invoke.cc: Avoid -Wall warnings.
3014         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Likewise.
3015         * testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
3016         * testsuite/20_util/allocator_traits/members/allocate_hint.cc:
3017         Likewise.
3018         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
3019         * testsuite/20_util/bind/socket.cc: Likewise.
3020         * testsuite/20_util/pointer_traits/pointer_to.cc: Likewise.
3021         * testsuite/util/testsuite_random.h: Likewise.
3022
3023 2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
3024
3025         * include/Makefile.am: Add alloc_traits.h headers.
3026         * include/Makefile.in: Regenerate.
3027         * include/std/memory: Include uses_allocator.h explicitly.
3028         * include/bits/allocator.h (allocator_traits): Move to ...
3029         * include/bits/alloc_traits.h: New header.
3030         * include/ext/alloc_traits.h (__alloc_traits): Extension to provide
3031         a common allocator interface for C++98 and C++0x.
3032         * include/bits/stl_construct.h: Use __alloc_traits.
3033         * include/bits/stl_uninitialized.h: Likewise.
3034
3035 2011-06-22  Daniel Krugler  <daniel.kruegler@googlemail.com>
3036             Paolo Carlini  <paolo.carlini@oracle.com>
3037
3038         * include/bits/move.h (__is_nothrow_swappable): Add.
3039         (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Use noexcept.
3040         * include/bits/algorithmfwd.h: Adjust.
3041         * testsuite/25_algorithms/swap/noexcept.cc: New.
3042
3043 2011-06-21  Jakub Jelinek  <jakub@redhat.com>
3044
3045         * testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add
3046         check-DEJAGNUnormal[4-9].
3047         (check-DEJAGNU): Split into 10 jobs for parallel testing instead of 4.
3048         * testsuite/Makefile.in: Regenerated.
3049
3050 2011-06-20  Daniel Krugler  <daniel.kruegler@googlemail.com>
3051             Paolo Carlini  <paolo.carlini@oracle.com>
3052
3053         * include/std/tuple (__conv_types, __one_by_one_convertible,
3054         __all_convertible): Add.
3055         (tuple): Use the latter.
3056         (tuple<_T1>): Remove.
3057         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error
3058         line number.
3059         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
3060
3061 2011-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
3062
3063         * include/bits/ptr_traits.h (pointer_traits<T*>::pointer_to): Use
3064         noexcept.
3065
3066 2011-06-14  Paolo Carlini  <paolo.carlini@oracle.com>
3067
3068         * include/std/valarray (~valarray): Use noexcept.
3069         * include/bits/unique_ptr.h (~unique_ptr): Likewise.
3070         * testsuite/26_numerics/valarray/noexcept_move_construct.cc: New.
3071         * testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc:
3072         Likewise.
3073         * testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc:
3074         Likewise.
3075         * testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc:
3076         Likewise.
3077
3078 2011-06-14  Paolo Carlini  <paolo.carlini@oracle.com>
3079
3080         * include/std/functional: Use noexcept.
3081         * include/bits/stl_tempbuf.h: Likewise.
3082
3083 2011-06-12  François Dumont  <francois.cppdevs@free.fr>
3084             Paolo Carlini  <paolo.carlini@oracle.com>
3085
3086         * include/bits/allocator.h (__shrink_to_fit): Rename to
3087         __shrink_to_fit_aux, fix.
3088         * include/bits/stl_vector.h (_M_shrink_to_fit): Declare.
3089         (shrink_to_fit): Use the latter.
3090         * include/debug/vector (shrink_to_fit): Likewise.
3091         * include/bits/vector.tcc (_M_shrink_to_fit): Define.
3092         * include/bits/stl_deque.h (_M_shrink_to_fit): Declare.
3093         (shrink_to_fit): Use the latter.
3094         * include/debug/deque (shrink_to_fit): Likewise.
3095         * include/bits/deque.tcc (_M_shrink_to_fit): Define.
3096         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Add.
3097         * include/bits/stl_bvector.h (_M_shrink_to_fit): Declare.
3098         (shrink_to_fit): Use the latter.
3099         (reserve): Use _M_reallocate, move inline.
3100         (_Bvector_base<>::_S_nword): Add, use it throughout.
3101         * include/debug/string (shrink_to_fit): Redo.
3102         * include/ext/vstring.h (shrink_to_fit): Optimize.
3103         * include/bits/basic_string.h (shrink_to_fit): Likewise.
3104         * testsuite/21_strings/debug/shrink_to_fit.cc: New.
3105         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
3106         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc:
3107         Likewise.
3108         * testsuite/23_containers/vector/bool/capacity/shrink_to_fit.cc:
3109         Likewise.
3110         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
3111
3112 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
3113
3114         * include/ext/extptr_allocator.h (construct, destroy): Fix for C++0x
3115         mode by overloading to take allocator's pointer type.
3116         * testsuite/23_containers/vector/ext_pointer/types/2.cc: New.
3117         * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
3118         2.cc: New.
3119
3120 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
3121
3122         * testsuite/20_util/allocator_traits/requirements/
3123         explicit_instantiation.cc: Add another instantiation.
3124
3125 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
3126
3127         * testsuite/20_util/allocator_traits/requirements/typedefs.cc: Check
3128         for allocator_type and value_type.
3129
3130 2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
3131
3132         * testsuite/30_threads/packaged_task/uses_allocator.cc: New.
3133         * testsuite/30_threads/promise/uses_allocator.cc: Likewise.
3134
3135 2011-06-10  Paolo Carlini  <paolo.carlini@oracle.com>
3136
3137         * include/ext/throw_allocator.h: Use noexcept.
3138         * include/ext/pool_allocator.h: Likewise.
3139         * include/ext/bitmap_allocator.h: Likewise.
3140         * include/ext/new_allocator.h: Likewise.
3141         * include/ext/malloc_allocator.h: Likewise.
3142         * include/ext/array_allocator.h: Likewise.
3143         * include/ext/mt_allocator.h: Likewise.
3144         * include/ext/extptr_allocator.h: Likewise.
3145         * testsuite/util/testsuite_allocator.h: Likewise; do not include
3146         <cassert> directly, include <testsuite_hooks.h> instead.
3147
3148 2011-06-10  Benjamin Kosnik  <bkoz@redhat.com>
3149
3150         * include/ext/pb_ds/*: Doxygen markup redo.
3151         * include/Makefile.am: Fold in constructors_destructor_fn_imps.hpp.
3152         * include/Makefile.in: Regenerate.
3153
3154 2011-06-10  Jason Merrill  <jason@redhat.com>
3155
3156         * testsuite/20_util/bind/ref_neg.cc: Remove wrong test lines.
3157
3158         * testsuite/20_util/bind/ref_neg.cc: Remove dg-excess-errors,
3159         fix dg-error markup.
3160
3161 2011-06-09  Jason Merrill  <jason@redhat.com>
3162
3163         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust.
3164
3165         * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune notes.
3166         * testsuite/20_util/duration/cons/1_neg.cc: Remove dg-excess-errors.
3167         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
3168         * testsuite/20_util/forward/1_neg.cc: Likewise.
3169         * testsuite/20_util/function/cmp/cmp_neg.cc: Likewise.
3170         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
3171         * testsuite/20_util/reference_wrapper/ref_neg.cc: Likewise.
3172         * testsuite/20_util/tuple/comparison_operators/35480_neg.cc: Likewise.
3173         * testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc:
3174         Likewise.
3175         * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
3176         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
3177         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
3178         Likewise.
3179         * testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise.
3180         * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Likewise.
3181         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
3182         Likewise.
3183         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3184         auto_ptr_rvalue_neg.cc: Likewise.
3185         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
3186         Likewise.
3187         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
3188         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
3189         Likewise.
3190         * testsuite/23_containers/deque/requirements/dr438/
3191         constructor_1_neg.cc: Likewise.
3192         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
3193         Likewise.
3194         * testsuite/23_containers/forward_list/requirements/dr438/
3195         assign_neg.cc: Likewise.
3196         * testsuite/23_containers/forward_list/requirements/dr438/
3197         constructor_1_neg.cc: Likewise.
3198         * testsuite/23_containers/forward_list/requirements/dr438/
3199         constructor_2_neg.cc: Likewise.
3200         * testsuite/23_containers/forward_list/requirements/dr438/
3201         insert_neg.cc: Likewise.
3202         * testsuite/23_containers/list/requirements/dr438/
3203         assign_neg.cc: Likewise.
3204         * testsuite/23_containers/list/requirements/dr438/
3205         constructor_1_neg.cc: Likewise.
3206         * testsuite/23_containers/list/requirements/dr438/
3207         constructor_2_neg.cc: Likewise.
3208         * testsuite/23_containers/list/requirements/dr438/
3209         insert_neg.cc: Likewise.
3210         * testsuite/23_containers/vector/requirements/dr438/
3211         assign_neg.cc: Likewise.
3212         * testsuite/23_containers/vector/requirements/dr438/
3213         constructor_1_neg.cc: Likewise.
3214         * testsuite/23_containers/vector/requirements/dr438/
3215         constructor_2_neg.cc: Likewise.
3216         * testsuite/23_containers/vector/requirements/dr438/
3217         insert_neg.cc: Likewise.
3218         * testsuite/23_containers/map/operators/1_neg.cc: Likewise.
3219         * testsuite/29_atomics/atomic_integral/operators/
3220         bitwise_neg.cc: Likewise.
3221         * testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
3222         * testsuite/decimal/mixed-mode-cmp_neg.cc: Likewise.
3223         * testsuite/decimal/operator_neg.cc: Likewise.
3224
3225 2011-06-09  Simon Baldwin  <simonb@google.com>
3226
3227         * scripts/extract_symvers.in: Handle processor/OS specific or
3228         unknown symbol binding strings from readelf.
3229
3230 2011-06-09  Paolo Carlini  <paolo.carlini@oracle.com>
3231
3232         * include/std/type_traits (__is_copy_assignable_impl,
3233         __is_nt_copy_assignable_impl): Fix typo.
3234
3235 2011-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
3236
3237         * include/ext/extptr_allocator.h: Include <ext/numeric_traits.h>
3238         instead of <limits>.
3239         * include/bits/allocator.h: Likewise.
3240
3241         * include/std/chrono (duration_values<>::min): Call lowest, not min.
3242
3243 2011-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
3244
3245         * include/bits/allocator.h (__shrink_to_fit): Simplify.
3246         * include/bits/stl_vector.h (vector<>::shrink_to_fit): Adjust.
3247         * include/bits/stl_deque.h: Likewise.
3248         * include/bits/stl_bvector.h: Likewise.
3249
3250 2011-06-07  Jason Merrill  <jason@redhat.com>
3251
3252         * testsuite/lib/prune.exp: s/required/instantiated/.
3253         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3254         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
3255         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
3256         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
3257         * testsuite/20_util/forward/1_neg.cc: Likewise.
3258         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
3259         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3260         Likewise.
3261         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
3262         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
3263         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Likewise.
3264         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
3265         * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Likewise.
3266         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Likewise.
3267         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
3268         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
3269         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
3270         * testsuite/tr1/2_general_utilities/shared_ptr/assign/
3271         shared_ptr_neg.cc: Likewise.
3272
3273 2011-06-07  Paolo Carlini  <paolo.carlini@oracle.com>
3274
3275         * include/bits/move.h (struct __move_if_noexcept_cond): Add.
3276         (move_if_noexcept): Use the latter.
3277         * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator,
3278         _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR): Add.
3279         * include/bits/stl_uninitialized.h
3280         (__uninitialized_move_if_noexcept_a): Add.
3281         * include/bits/vector.tcc (vector<>::reserve): Use
3282         _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR.
3283         (vector<>::_M_insert_aux, _M_fill_insert, _M_default_append,
3284         _M_range_insert): Use __uninitialized_move_if_noexcept_a.
3285         * testsuite/util/testsuite_rvalref.h (throwing_move_constructor):
3286         Add.
3287         (copycounter::copycounter(copycounter&&)): Use noexcept.
3288         * testsuite/23_containers/vector/modifiers/moveable2.cc: New.
3289         * testsuite/23_containers/vector/capacity/resize/moveable2.cc:
3290         Likewise.
3291         * testsuite/23_containers/vector/capacity/reserve/moveable2.cc:
3292         Likewise.
3293
3294 2011-06-07  Paolo Carlini  <paolo.carlini@oracle.com>
3295
3296         PR libstdc++/49293
3297         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Tweak
3298         for glibc 2.14.
3299         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
3300
3301 2011-06-06  Paolo Carlini  <paolo.carlini@oracle.com>
3302
3303         * include/bits/move.h (move_if_noexcept): Use __and_ and __not_.
3304
3305 2011-06-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
3306
3307         * include/bits/ptr_traits.h (pointer_traits): Fix typos.
3308         * include/ext/pointer.h (pointer_traits): Add partial specialization
3309         for _Pointer_adapter.
3310
3311 2011-06-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
3312
3313         * testsuite/util/testsuite_allocator.h (tracker_allocator::construct):
3314         Update to C++0x definition using type to construct as template
3315         parameter.
3316         (tracker_allocator::destroy): Likewise for type to destroy.
3317         (uneq_allocator::construct, uneq_allocator::destroy): Likewise.
3318
3319 2011-06-01  Paolo Carlini  <paolo.carlini@oracle.com>
3320
3321         * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
3322         Use std::move on the allocator, use noexcept.
3323         (_Hashtable<>::~_Hashtable): Use noexcept.
3324         * include/bits/stl_list.h: Likewise.
3325         * include/bits/forward_list.h: Likewise.
3326         * include/bits/stl_vector.h: Likewise.
3327         * include/bits/stl_bvector.h: Likewise.
3328         * include/bits/stl_map.h (map<>::map(map&&)): Use noexcept.
3329         * include/bits/stl_set.h: Likewise.
3330         * include/bits/stl_multimap.h: Likewise.
3331         * include/bits/stl_multiset.h: Likewise.
3332         * include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(_Rb_tree&&)): Use
3333         std::move on the allocator.
3334         (_Rb_tree<>::~_Rb_tree): Use noexcept.
3335         * include/bits/stl_deque.h: Likewise.
3336         * include/bits/basic_string.h (basic_string<>::~basic_string): Use
3337         noexcept.
3338         * include/ext/vstring.h (__versa_string<>::~__versa_string): Likewise.
3339         * include/debug/set.h: Adjust.
3340         * include/debug/unordered_map: Likewise.
3341         * include/debug/multiset.h: Likewise.
3342         * include/debug/forward_list: Likewise.
3343         * include/debug/vector: Likewise.
3344         * include/debug/unordered_set: Likewise.
3345         * include/debug/deque: Likewise.
3346         * include/debug/map.h: Likewise.
3347         * include/debug/string: Likewise.
3348         * include/debug/list: Likewise.
3349         * include/debug/multimap.h: Likewise.
3350         * include/profile/set.h: Likewise.
3351         * include/profile/unordered_map: Likewise.
3352         * include/profile/multiset.h: Likewise.
3353         * include/profile/forward_list: Likewise.
3354         * include/profile/unordered_set: Likewise.
3355         * include/profile/vector: Likewise.
3356         * include/profile/deque: Likewise.
3357         * include/profile/map.h: Likewise.
3358         * include/profile/list: Likewise.
3359         * include/profile/multimap.h: Likewise.
3360         * testsuite/21_strings/basic_string/cons/wchar_t/
3361         noexcept_move_construct.cc: New.
3362         * testsuite/21_strings/basic_string/cons/char/
3363         noexcept_move_construct.cc: Likewise.
3364         * testsuite/ext/vstring/cons/noexcept_move_construct.cc: Likewise.
3365         * testsuite/23_containers/unordered_map/cons/
3366         noexcept_move_construct.cc: Likewise.
3367         * testsuite/23_containers/multimap/cons/
3368         noexcept_move_construct.cc: Likewise.
3369         * testsuite/23_containers/set/cons/
3370         noexcept_move_construct.cc: Likewise.
3371         * testsuite/23_containers/unordered_multimap/cons/
3372         noexcept_move_construct.cc: Likewise.
3373         * testsuite/23_containers/forward_list/cons/
3374         noexcept_move_construct.cc: Likewise.
3375         * testsuite/23_containers/unordered_set/cons/
3376         noexcept_move_construct.cc: Likewise.
3377         * testsuite/23_containers/vector/bool/cons/
3378         noexcept_move_construct.cc: Likewise.
3379         * testsuite/23_containers/vector/cons/
3380         noexcept_move_construct.cc: Likewise.
3381         * testsuite/23_containers/multiset/cons/
3382         noexcept_move_construct.cc: Likewise.
3383         * testsuite/23_containers/list/cons/
3384         noexcept_move_construct.cc: Likewise.
3385         * testsuite/23_containers/unordered_multiset/cons/
3386         noexcept_move_construct.cc: Likewise.
3387         * testsuite/23_containers/map/cons/noexcept_move_construct.cc
3388         * testsuite/23_containers/forward_list/requirements/dr438/
3389         assign_neg.cc: Adjust dg-error line numbers.
3390         * testsuite/23_containers/forward_list/requirements/dr438/
3391         insert_neg.cc: Likewise.
3392         * testsuite/23_containers/forward_list/requirements/dr438/
3393         constructor_1_neg.cc: Likewise.
3394         * testsuite/23_containers/forward_list/requirements/dr438/
3395         constructor_2_neg.cc: Likewise.
3396         * testsuite/23_containers/vector/requirements/dr438/
3397         assign_neg.cc: Likewise.
3398         * testsuite/23_containers/vector/requirements/dr438/
3399         insert_neg.cc: Likewise.
3400         * testsuite/23_containers/vector/requirements/dr438/
3401         constructor_1_neg.cc: Likewise.
3402         * testsuite/23_containers/vector/requirements/dr438/
3403         constructor_2_neg.cc: Likewise.
3404         * testsuite/23_containers/deque/requirements/dr438/
3405         assign_neg.cc: Likewise.
3406         * testsuite/23_containers/deque/requirements/dr438/
3407         insert_neg.cc: Likewise.
3408         * testsuite/23_containers/deque/requirements/dr438/
3409         constructor_1_neg.cc: Likewise.
3410         * testsuite/23_containers/deque/requirements/dr438/
3411         constructor_2_neg.cc: Likewise.
3412         * testsuite/23_containers/list/requirements/dr438/
3413         assign_neg.cc: Likewise.
3414         * testsuite/23_containers/list/requirements/dr438/
3415         insert_neg.cc: Likewise.
3416         * testsuite/23_containers/list/requirements/dr438/
3417         constructor_1_neg.cc: Likewise.
3418         * testsuite/23_containers/list/requirements/dr438/
3419         constructor_2_neg.cc: Likewise.
3420
3421         * include/bits/move.h (swap): Use __and_ in the noexcept.
3422         * include/bits/algorithmfwd.h: Adjust.
3423
3424 2011-05-31  Paolo Carlini  <paolo.carlini@oracle.com>
3425
3426         * include/bits/basic_string.h: Use noexcept per the FDIS (minus
3427         compare(const string&), which uses char_traits::compare, which
3428         isn't noexcept; also no noexcept in the move assignment operator
3429         and move assign, see c++std-lib-30855).
3430         * include/bits/basic_string.tcc: Likewise.
3431         * include/ext/vstring.h: Likewise.
3432         * include/ext/vstring.tcc: Likewise.
3433         * include/debug/string: Likewise.
3434
3435 2011-05-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
3436
3437         * doc/xml/manual/status_cxx200x.xml: Update.
3438         * doc/html/*: Regenerate.
3439
3440 2011-05-30  Paolo Carlini  <paolo.carlini@oracle.com>
3441
3442         * include/std/type_traits (__or_, __and_): Add trivial definitions
3443         for a single element.
3444         * include/bits/stl_pair.h: Use __and_ in noexcept specs and
3445         constraints.
3446         (pair<>::pair(pair&&)): Define.
3447         (pair<>::pair(const pair<>&)): Constrain with is_convertible.
3448         (pair<>::pair(pair<>&&)): Likewise, remove noexcept.
3449         * include/std/tuple: Use __and_ in noexcept specs and constraints.
3450         (_Tuple_impl<>::_Tuple_impl(allocator_arg_t, const _Alloc&,
3451         _Tuple_impl&&)): Remove noexcept.
3452         (tuple<>::tuple(_UElements&&...), tuple(const tuple<_UElements...>&),
3453         tuple(tuple<_UElements...>&&), tuple(const pair<_U1, _U2>&),
3454         tuple(pair<_U1, _U2>&&)): Constrain with is_convertible.
3455         * testsuite/20_util/tuple/moveable2.cc: Use = delete.
3456         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3457         Adjust dg-error line numbers.
3458         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3459         Likewise.
3460         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3461         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
3462         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
3463
3464 2011-05-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
3465
3466         * include/std/tuple: Restore is_convertible constraint.
3467         * testsuite/20_util/tuple/cons/allocate_noncopyable.cc: Remove.
3468
3469 2011-05-30  Paolo Carlini  <paolo.carlini@oracle.com>
3470
3471         PR libstdc++/49236
3472         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
3473         line number.
3474
3475 2011-05-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
3476
3477         * include/std/tuple: Implement uses-allocator construction.
3478         * include/bits/allocator.h (uses_allocator): Move to ...
3479         * include/bits/uses_allocator.h: New file.
3480         * include/Makefile.am: Add new header.
3481         * include/Makefile.in: Regenerate.
3482         * testsuite/20_util/uses_allocator/cons_neg.cc: New.
3483         * testsuite/20_util/uses_allocator/construction.cc: New.
3484         * testsuite/20_util/tuple/cons/allocate_noncopyable.cc: New.
3485         * testsuite/20_util/tuple/cons/allocators.cc: New.
3486
3487 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3488
3489         * testsuite/20_util/pointer_traits/pointer_to.cc: Fix.
3490
3491 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3492
3493         * acinclude.m4: Define GLIBCXX_CHECK_GET_NPROCS and
3494         GLIBCXX_CHECK_SC_NPROCESSORS_ONLN.
3495         * configure.ac: Use them. Increase minor version.
3496         * configure: Regenerate.
3497         * config.h.in: Regenerate.
3498         * include/std/thread (thread::hardware_concurrency): Remove inline
3499         definition.
3500         * src/thread.cc (thread::hardware_concurrency): Define.
3501         * config/abi/pre/gnu.ver: Export new symbol @3.4.17
3502         * testsuite/util/testsuite_abi.cc: Add new version.
3503         * testsuite/lib/libstdc++.exp (check_v3_target_nprocs): Add.
3504         * testsuite/lib/dg-options.exp (dg-require-nprocs): Add.
3505         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Use
3506         dg-require-nprocs and verify hardware_concurrency returns non-zero.
3507
3508 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3509
3510         * testsuite/20_util/pointer_traits/pointer_to.cc: New.
3511
3512 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3513
3514         * include/Makefile.am: Add new ptr_traits.h header.
3515         * include/Makefile.in: Regenerate.
3516         * include/bits/ptr_traits.h (pointer_traits): New.
3517         * include/bits/allocator.h (allocator_traits): Add.
3518         * include/ext/array_allocator.h (construct, destroy): Update C++0x
3519         versions.
3520         * include/ext/bitmap_allocator.h (construct, destroy): Likewise.
3521         * include/ext/extptr_allocator.h (construct, destroy): Likewise.
3522         * include/ext/malloc_allocator.h (construct, destroy): Likewise.
3523         * include/ext/mt_allocator.h (construct, destroy): Likewise.
3524         * include/ext/new_allocator.h (construct, destroy): Likewise.
3525         * include/ext/pool_allocator.h (construct, destroy): Likewise.
3526         * include/ext/throw_allocator.h (construct, destroy): Likewise.
3527         * testsuite/20_util/allocator_traits/requirements/typedefs.cc: New.
3528         * testsuite/20_util/allocator_traits/requirements/
3529         explicit_instantiation.cc: New.
3530         * testsuite/20_util/allocator_traits/members/max_size.cc: New.
3531         * testsuite/20_util/allocator_traits/members/select.cc: New.
3532         * testsuite/20_util/allocator_traits/members/construct.cc: New.
3533         * testsuite/20_util/allocator_traits/members/allocate_hint.cc: New.
3534         * testsuite/20_util/allocator_traits/members/destroy.cc: New.
3535         * testsuite/20_util/pointer_traits/requirements/typedefs.cc: New.
3536         * testsuite/20_util/pointer_traits/requirements/
3537         explicit_instantiation.cc: New.
3538
3539 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3540
3541         * include/std/future (launch): Update enumerators and define
3542         operators required for bitmask type. Remove trailing whitespace.
3543         * src/future.cc: Remove trailing whitespace.
3544         * testsuite/30_threads/async/any.cc: Adjust.
3545         * testsuite/30_threads/async/sync.cc: Adjust.
3546         * testsuite/30_threads/async/launch.cc: New.
3547
3548 2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3549
3550         * include/std/future: Use noexcept.
3551         * src/future.cc: Likewise.
3552
3553 2011-05-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
3554
3555         * include/std/thread (this_thread::sleep_until): Move after sleep_for.
3556
3557 2011-05-27  Paolo Carlini  <paolo.carlini@oracle.com>
3558
3559         PR libstdc++/49187
3560         * include/parallel/losertree.h: Add missing using declarations
3561         of _Base::_M_comp.
3562         * include/parallel/algobase.h: Include <parallel/algorithmfwd.h>.
3563         * include/parallel/multiway_merge.h: Include <parallel/
3564         multiseq_selection.h>, forward declare __merge_advance.
3565         * include/parallel/multiseq_selection.h: Don't include <parallel/
3566         sort.h> here.
3567         * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Fix
3568         qualification of upper_bound.
3569
3570         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc:
3571         Use dg-require-debug-mode.
3572         * testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc:
3573         Likewise.
3574         * testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc:
3575         Likewise.
3576         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc:
3577         Likewise.
3578         * testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc:
3579         Likewise.
3580         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
3581         Likewise.
3582         * testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
3583         Likewise.
3584         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc:
3585         Likewise.
3586         * testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc:
3587         Likewise.
3588
3589         * include/parallel/algo.h: Minor uglification fixes.
3590
3591 2011-05-26  Paolo Carlini  <paolo.carlini@oracle.com>
3592
3593         * src/list.cc: Use noexcept per the FDIS.
3594         * src/compatibility-list-2.cc: Likewise.
3595         * include/debug/set.h: Likewise.
3596         * include/debug/unordered_map: Likewise.
3597         * include/debug/multiset.h: Likewise.
3598         * include/debug/forward_list: Likewise.
3599         * include/debug/unordered_set: Likewise.
3600         * include/debug/vector: Likewise.
3601         * include/debug/map.h: Likewise.
3602         * include/debug/deque: Likewise.
3603         * include/debug/list: Likewise.
3604         * include/debug/multimap.h: Likewise.
3605         * include/profile/set.h: Likewise.
3606         * include/profile/unordered_map: Likewise.
3607         * include/profile/multiset.h: Likewise.
3608         * include/profile/forward_list: Likewise.
3609         * include/profile/vector: Likewise.
3610         * include/profile/unordered_set: Likewise.
3611         * include/profile/map.h: Likewise.
3612         * include/profile/deque: Likewise.
3613         * include/profile/list: Likewise.
3614         * include/profile/multimap.h: Likewise.
3615         * include/bits/hashtable.h: Likewise.
3616         * include/bits/stl_list.h: Likewise.
3617         * include/bits/stl_map.h: Likewise.
3618         * include/bits/hashtable_policy.h: Likewise.
3619         * include/bits/stl_set.h: Likewise.
3620         * include/bits/forward_list.h: Likewise.
3621         * include/bits/stl_multimap.h: Likewise.
3622         * include/bits/stl_vector.h: Likewise.
3623         * include/bits/stl_deque.h: Likewise.
3624         * include/bits/stl_multiset.h: Likewise.
3625         * include/bits/stl_bvector.h: Likewise.
3626         * include/bits/stl_tree.h: Likewise.
3627
3628 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
3629
3630         * include/bits/stl_queue.h: Use noexcept per the FDIS.
3631         * include/bits/stl_stack.h: Likewise.
3632
3633 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
3634
3635         * config/abi/pre/gnu.ver: Correct last change, export instead
3636         at the existing @3.4.16.
3637         * configure.ac: Revert last change.
3638         * testsuite/util/testsuite_abi.cc: Likewise.
3639         * configure: Regenerate.
3640
3641 2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
3642
3643         * doc/xml/manual/documentation_hacking.xml: Minor corrections.
3644
3645 2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
3646
3647         * include/std/mutex: Add doxygen comments.
3648
3649 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
3650
3651         * config/abi/pre/gnu.ver: Export recently added  basic_streambuf
3652         and basic_stringbuf symbols @3.4.17.
3653         * configure.ac: Update.
3654         * testsuite/util/testsuite_abi.cc: Likewise.
3655         * configure: Regenerate.
3656
3657 2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
3658
3659         * libsupc++/guard.cc: Fix comments.
3660
3661 2011-05-25  Ian Lance Taylor  <iant@google.com>
3662
3663         PR libstdc++/49060
3664         * include/backward/hashtable.h (hashtable::erase): Don't crash if
3665         erasing first and another element with a reference to the other
3666         element.
3667         * testsuite/backward/hash_set/49060.cc: New.
3668
3669 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
3670
3671         * include/bits/random.h (random_device::min, max): Specify constexpr.
3672
3673 2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
3674
3675         * include/std/thread: Use noexcept throughout per the FDIS.
3676         * include/std/mutex: Likewise.
3677
3678 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
3679
3680         * testsuite/20_util/duration/arithmetic/dr2020.cc: Fix typo.
3681
3682 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
3683
3684         PR libstdc++/49151
3685         * include/std/chrono (operator+, operator-, operator*, operator/,
3686         operator&): Implement LWG 2020 [WP]; specify constexpr.
3687         * testsuite/20_util/duration/arithmetic/dr2020.cc: New.
3688
3689 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
3690
3691         PR libstdc++/49141
3692         * testsuite/26_numerics/complex/cons/48760.cc: Use dg-require-c-std.
3693         * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
3694         * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
3695
3696 2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
3697
3698         * include/bits/c++config (_GLIBCXX_NOTHROW): Update for noexcept.
3699         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
3700         line number.
3701
3702 2011-05-23  Benjamin Kosnik  <bkoz@redhat.com>
3703
3704         PR libstdc++/37144
3705         PR libstdc++/28457
3706         Interface changes for ext/pb_ds.
3707         PB_DS_BASE_C_DEC to unique PB_DS_*_BASE macros.
3708         * include/ext/pb_ds/assoc_container.hpp (container_base): Remove.
3709         (basic_hash_table, basic_branch, list_update): Derive from
3710         container_base_dispatch.
3711         * include/ext/pb_ds/list_update_policy.hpp (null_lu_metadata): Remove.
3712         (move_to_front_lu_policy): To lu_move_to_front_policy.
3713         (counter_lu_policy): To lu_counter_policy.
3714         * include/ext/pb_ds/tree_policy.hpp (null_tree_node_update): Remove.
3715         * include/ext/pb_ds/tag_and_trait.hpp (container_base_dispatch): Adjust
3716         template parameters, declare here.
3717         (null_mapped_type) Remove.
3718         (null_type): Just use this for template tricks everywhere.
3719         * include/ext/pb_ds/hash_policy.hpp (null_hash_fn, null_probe_fn):
3720         Remove.
3721         * include/ext/pb_ds/trie_policy.hpp (null_trie_node_update): Remove.
3722         (string_trie_e_access_traits): To trie_string_access_traits.
3723         * include/ext/pb_ds/priority_queue.hpp: Use container_base_dispatch.
3724
3725         File changes.
3726         * include/Makefile.am (pb_headers): Removed and changed file names.
3727         * include/Makefile.in: Regenerated.
3728         * include/ext/pb_ds/detail/basic_types.hpp: Remove.
3729         * include/ext/pb_ds/detail/bin_search_tree_/
3730           cond_dtor_entry_dealtor.hpp: Remove.
3731         * include/ext/pb_ds/detail/bin_search_tree_/
3732           cond_key_dtor_entry_dealtor.hpp: Remove.
3733         * include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Move..
3734         * include/ext/pb_ds/detail/binary_heap_/
3735           point_const_iterator.hpp: ..here.
3736         * include/ext/pb_ds/detail/basic_tree_policy: Move to...
3737         * include/ext/pb_ds/detail/branch_policy: This.
3738         * include/ext/pb_ds/detail/branch_policy/
3739           basic_tree_policy_base.hpp: Move...
3740         * include/ext/pb_ds/detail/branch_policy/branch_policy.hpp: ...here.
3741         * include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp: Add.
3742         * include/ext/pb_ds/detail/branch_policy/traits.hpp: Add.
3743         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3744         null_metadata.hpp: Remove.
3745         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3746         const_point_iterator.hpp: Move...
3747         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3748         point_const_iterator.hpp: ...here.
3749         * include/ext/pb_ds/detail/list_update_policy/
3750         counter_lu_metadata.hpp: Move..
3751         * include/ext/pb_ds/detail/list_update_policy/
3752         lu_counter_metadata.hpp: ...here.
3753         * include/ext/pb_ds/detail/list_update_policy/
3754         counter_lu_policy_imp.hpp: Remove.
3755         * include/ext/pb_ds/detail/list_update_policy/
3756         mtf_lu_policy_imp.hpp: Remove.
3757         * include/ext/pb_ds/detail/trie_policy/
3758         string_trie_e_access_traits_imp.hpp: Move...
3759         * include/ext/pb_ds/detail/trie_policy/
3760         sample_trie_access_traits.hpp: ...here.
3761         * include/ext/pb_ds/detail/trie_policy/
3762         sample_trie_e_access_traits.hpp: Move...
3763         * include/ext/pb_ds/detail/trie_policy/
3764         trie_string_access_traits_imp.hpp: ...here.
3765         * include/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp: Remove.
3766         * include/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp: Remove.
3767         * include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp: Remove.
3768         * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: New, fold all
3769         types found in the following files into pat_trie_base.
3770         * include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp: Folded.
3771         * include/ext/pb_ds/detail/pat_trie_/
3772           cond_dtor_entry_dealtor.hpp: Folded.
3773         * include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Folded.
3774         * include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Folded.
3775         * include/ext/pb_ds/detail/pat_trie_/head.hpp: Folded.
3776         * include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Folded.
3777         * include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Folded.
3778         * include/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp: Folded.
3779         * include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Folded.
3780         * include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Folded.
3781         * include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Folded.
3782         * include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp: Move...
3783         * include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp: ...here.
3784         * include/ext/pb_ds/detail/unordered_iterator/
3785         const_point_iterator.hpp: Move...
3786         * include/ext/pb_ds/detail/unordered_iterator/
3787         point_const_iterator.hpp: ...here.
3788
3789
3790         Adjust for above changes.
3791         * include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp: Same.
3792         * include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp: Same.
3793         * include/ext/pb_ds/detail/resize_policy/
3794           sample_resize_trigger.hpp: Same.