OSDN Git Service

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