OSDN Git Service

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