OSDN Git Service

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