OSDN Git Service

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