OSDN Git Service

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