OSDN Git Service

2009-02-09 Jack Howarth <howarth@bromo.med.uc.edu>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2009-02-09  Jack Howarth  <howarth@bromo.med.uc.edu>
2
3         PR testsuite/33300
4         * libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc: Skip
5         on darwin for lp64.
6
7 2009-02-09  Adam Nemet  <anemet@caviumnetworks.com>
8
9         * configure.host: Set abi_baseline_pair for mips64*-linux.
10         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: New file.
11
12 2009-02-08  Chris Fairles  <cfairles@gcc.gnu.org>
13
14         * include/std/thread (this_thread::get_id): Inline.
15
16 2009-02-08  Chris Fairles  <cfairles@gcc.gnu.org>
17
18         * include/std/thread (thread<>::thread(_Callable)): Explicitly use
19         _Callable as template argument for _M_make_shared_data.
20         * testsuite/30_threads/thread/cons/6.cc: New.
21         * testsuite/30_threads/thread/cons/7.cc: New.
22         * testsuite/30_threads/thread/cons/8.cc: New.
23
24 2009-02-07  Benjamin Kosnik  <bkoz@redhat.com>
25
26         * testsuite/30_threads/thread/member: To..
27         * testsuite/30_threads/thread/members: ...this.
28         * testsuite/30_threads/condition_variable/member: To...
29         * testsuite/30_threads/condition_variable/members: ...this.
30
31 2009-02-06  Benjamin Kosnik  <bkoz@redhat.com>
32
33         * include/std/thread (thread::id): Move definition inside thread.
34         Use native_handle_type. Remove this_thread::get_id friend.
35         Change __thread_data_ptr to __shared_base_ptr.
36         (thread::id::id(native_handle_type): Make public. Still explicit.
37         Use native_handle_type. Change _M_thread_id to _M_thread.
38         (thread::__thread_data_base): Rename to _Impl_base. Use id, change
39         _M_thread_handle to _M_id.
40         (thread::__thread_data): Rename to _Impl.
41         Fixup for renames.
42         (thread::_M_make_thread_data): Return derived type.
43         (thread::hardware_concurrency): Add definition for default case.
44         (thread::get_id): Now can define inline.
45         (thread): Change _M_thread_data to _M_data.
46         (this_thread::get_id): Now can define inline.
47         * src/thread.cc (__thread_proxy): Rename to
48         execute_native_thread_routine.
49         Fixup for other renames.
50         * testsuite/30_threads/thread/cons/assign_neg.cc: New.
51         * testsuite/30_threads/thread/cons/copy_neg.cc: New.
52         * testsuite/30_threads/thread/algorithm: Move to..
53         * testsuite/30_threads/thread/swap: ...this.
54         * testsuite/30_threads/thread/member/hardware_concurrency.cc: Add.
55         * testsuite/30_threads/thread/id/operators.cc: New.
56
57 2009-02-05  Chris Fairles  <cfairles@gcc.gnu.org>
58
59         * include/std/tuple (_Head_base<>::_Head_base(_UHead&&)): Formatting.
60         (_Head_base<>::__swap_impl): Rename to _M_swap_impl.
61         (_Tuple_impl<>::__swap_impl): Likewise and make protected to avoid
62         exposing it in public std::tuple interface.
63
64 2009-02-05  Chris Fairles  <cfairles@gcc.gnu.org>
65             Benjamin Kosnik  <bkoz@redhat.com>
66
67         * include/std/thread (__thread_data_base): Nest class in std::thread.
68         (__thread_data): Likewise.
69         (__thread_data_ptr): Nest typedef in std::thread.
70         * src/thread.cc (__thread_proxy): Qualify the above names.
71         * config/abi/pre/gnu.ver: Remove unused exports.
72
73 2009-02-04  Benjamin Kosnik  <bkoz@redhat.com>
74
75         * include/bits/unique_ptr.h: Remove private __this_type typedef.
76         * include/bits/stl_vector.h: Remove private vector_type typedef.
77         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
78         Fix line numbers.
79         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
80         * testsuite/23_containers/vector/requirements/dr438/
81         constructor_1_neg.cc: Same.
82         * testsuite/23_containers/vector/requirements/dr438/
83         constructor_2_neg.cc: Same.
84         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
85         * testsuite/20_util/unique_ptr/assign/assign.cc: Same.
86
87 2009-02-03  Paolo Carlini  <paolo.carlini@oracle.com>
88
89         PR libstdc++/25191
90         * libsupc++/exception_defines.h: Depending on __EXCEPTIONS,
91         deal consistently with __try and __catch too.
92         * src/localename.cc: Replace try -> __try, catch -> __catch.
93         * src/ios.cc: Likewise.
94         * src/locale.cc: Likewise.
95         * src/istream.cc: Likewise.
96         * src/thread.cc: Likewise.
97         * src/compatibility.cc: Likewise.
98         * src/bitmap_allocator.cc: Likewise.
99         * src/ios_init.cc: Likewise.
100         * include/debug/deque: Likewise.
101         * include/debug/list: Likewise.
102         * include/tr1_impl/hashtable: Likewise.
103         * include/std/bitset: Likewise.
104         * include/ext/pb_ds/detail/resize_policy/
105         hash_load_check_resize_trigger_imp.hpp: Likewise.
106         * include/ext/pb_ds/detail/resize_policy/
107         hash_standard_resize_policy_imp.hpp: Likewise.
108         * include/ext/pb_ds/detail/cc_hash_table_map_/
109         resize_fn_imps.hpp: Likewise.
110         * include/ext/pb_ds/detail/cc_hash_table_map_/
111         constructor_destructor_fn_imps.hpp: Likewise.
112         * include/ext/pb_ds/detail/pat_trie_/
113         split_join_branch_bag.hpp: Likewise.
114         * include/ext/pb_ds/detail/pat_trie_/
115         constructors_destructor_fn_imps.hpp: Likewise.
116         * include/ext/pb_ds/detail/bin_search_tree_/
117         constructors_destructor_fn_imps.hpp: Likewise.
118         * include/ext/pb_ds/detail/gp_hash_table_map_/
119         resize_fn_imps.hpp: Likewise.
120         * include/ext/pb_ds/detail/gp_hash_table_map_/
121         constructor_destructor_fn_imps.hpp: Likewise.
122         * include/ext/pb_ds/detail/binary_heap_/
123         constructors_destructor_fn_imps.hpp: Likewise.
124         * include/ext/pb_ds/detail/binary_heap_/
125         erase_fn_imps.hpp: Likewise.
126         * include/ext/pb_ds/detail/binary_heap_/
127         split_join_fn_imps.hpp: Likewise.
128         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
129         constructors_destructor_fn_imps.hpp: Likewise.
130         * include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
131         * include/ext/pb_ds/detail/list_update_map_/
132         constructor_destructor_fn_imps.hpp: Likewise.
133         * include/ext/slist: Likewise.
134         * include/ext/memory: Likewise.
135         * include/ext/rc_string_base.h: Likewise.
136         * include/ext/ropeimpl.h: Likewise.
137         * include/ext/vstring.tcc: Likewise.
138         * include/ext/rope: Likewise.
139         * include/ext/sso_string_base.h: Likewise.
140         * include/bits/shared_ptr.h: Likewise.
141         * include/bits/stl_list.h: Likewise.
142         * include/bits/locale_classes.tcc: Likewise.
143         * include/bits/locale_facets.tcc: Likewise.
144         * include/bits/locale_classes.h: Likewise.
145         * include/bits/forward_list.h: Likewise.
146         * include/bits/stl_vector.h: Likewise.
147         * include/bits/stl_deque.h: Likewise.
148         * include/bits/istream.tcc: Likewise.
149         * include/bits/stl_uninitialized.h: Likewise.
150         * include/bits/ostream.tcc: Likewise.
151         * include/bits/vector.tcc: Likewise.
152         * include/bits/stl_tempbuf.h: Likewise.
153         * include/bits/deque.tcc: Likewise.
154         * include/bits/basic_string.tcc: Likewise.
155         * include/bits/ostream_insert.h: Likewise.
156         * include/bits/locale_facets_nonio.tcc: Likewise.
157         * include/bits/stl_tree.h: Likewise.
158         * include/bits/fstream.tcc: Likewise.
159         * include/tr1/shared_ptr.h: Likewise.
160         * include/tr1/hypergeometric.tcc: Likewise.
161         * include/backward/hashtable.h: Likewise.
162         * libsupc++/exception_ptr.h: Likewise.
163         * libsupc++/eh_personality.cc: Likewise.
164         * libsupc++/eh_call.cc: Likewise.
165         * config/locale/gnu/monetary_members.cc: Likewise.
166         * config/locale/gnu/time_members.h: Likewise.
167         * config/locale/generic/time_members.h: Likewise.
168
169 2009-02-03  Johannes Singler  <singler@ira.uka.de>
170
171         * include/parallel/algorithmfwd.h:
172         Add parallelism default for many declarations.
173         * include/parallel/numericfwd.h: Likewise.
174         * include/parallel/iterator.h: Use iterator_traits as usual.
175         * include/parallel/par_loop.h:
176         Include equally_split.h.
177         (for_each_template_random_access_ed):
178         Avoid calling the Result default constructor.
179         * include/parallel/numeric: Replace
180         for_each_template_random_access by
181         for_each_template_random_access_ed in numeric functions.
182
183 2009-02-02  Benjamin Kosnik  <bkoz@redhat.com>
184
185         * config/os/gnu-linux/os_defines.h: Remove superfluous
186         __NO_STRING_INLINES.
187
188 2009-02-02  Jakub Jelinek  <jakub@redhat.com>
189
190         * testsuite/21_strings/c_strings/char/3.cc: New test.
191         * testsuite/21_strings/c_strings/wchar_t/3.cc: New test.
192
193 2009-01-30  Ulrich Drepper  <drepper@redhat.com>
194             Jakub Jelinek  <jakub@redhat.com>
195
196         PR libstdc++/30928 (partial, works together with recent glibcs)
197         * include/c_std/cstring (memchr, strchr, strpbrk, strrchr, strstr):
198         Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
199         defined.
200         * include/c_std/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
201         Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
202         defined.
203         * include/c_global/cstring (memchr, strchr, strpbrk, strrchr, strstr):
204         Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
205         defined.
206         * include/c_global/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
207         Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
208         defined.
209         * testsuite/21_strings/c_strings/char_t/2.cc (test02): If first
210         argument is const char *, assign result to const char * var, not
211         char *.
212         * testsuite/21_strings/c_strings/wchar_t/2.cc (test02): If first
213         argument is const wchar_t *, assign result to const wchar_t * var, not
214         wchar_t *.
215
216 2009-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
217
218         * include/std/thread: Remove unused headers.
219         (__thread_data_base): Remove unused mutex and base.
220         (thread::~thread): Only detach if joinable.
221         (thread::joinable): Test if thread data ptr is empty.
222         (thread::_M_thread_data_mutex): Remove.
223         (thread::_M_get_thread_data): Remove.
224         (thread::_M_make_thread_data): Remove overload, use make_shared.
225         (thread::id::id): Make constructor explicit.
226         * src/thread.cc (thread::join,thread::detach): Throw if not joinable.
227         (thread::_M_start_thread): Break shared_ptr cycle on error.
228         (__thread_proxy): Use shared_ptr swap instead of copy and reset.
229         * testsuite/30_threads/thread/member/4.cc: New.
230         * testsuite/30_threads/thread/member/5.cc: New.
231
232 2009-01-28  Benjamin Kosnik  <bkoz@redhat.com>
233
234         * testsuite/util/testsuite_common_types.h (has_trivial_cons_dtor): New.
235         (standard_layout): Just use !has_virtual_destructor for now.
236         * testsuite/30_threads/mutex/requirements/standard_layout.cc: New.
237         * testsuite/30_threads/timed_mutex/requirements/standard_layout.cc: New.
238         * testsuite/30_threads/recursive_mutex/requirements/
239         standard_layout.cc: New.
240         * testsuite/30_threads/condition_variable/requirements/
241         standard_layout.cc: New.
242         * testsuite/29_atomics/atomic_address/requirements/
243         standard_layout.cc: Adjust.
244         * testsuite/29_atomics/atomic_flag/requirements/
245         standard_layout.cc: Same.
246         * testsuite/29_atomics/atomic_address/requirements/trivial.cc: New.
247         * testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Same.
248         * testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Same.
249         * testsuite/30_threads/condition_variable/requirements/typedefs.cc: New.
250         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Adjust
251         line numbers.
252         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
253         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
254         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
255         * testsuite/29_atomics/atomic/requirements/standard_layout.cc:
256         Remove, not required.
257
258 2009-01-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
259
260         * include/std/thread (__thread_data_base, thread): Rename member
261         functions to match coding style.
262         (thread::thread,thread::operator=): Define move operations.
263         * src/thread.cc (__thread_data_base, thread): Rename member functions.
264         * config/abi/pre/gnu.ver: Adjust.
265
266 2009-01-22  Benjamin Kosnik  <bkoz@redhat.com>
267
268         PR libstdc++/38384
269         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Disable symbol versioning
270         on HPUX.
271         * configure: Regenerate.
272
273 2009-01-22  Dodji Seketeli  <dodji@redhat.com>
274
275         * include/ext/bitmap_allocator.h: Reverting changes related to PR
276         c++/26693.
277
278 2009-01-21  Benjamin Kosnik  <bkoz@redhat.com>
279
280         * testsuite/29_atomics/headers/stdatomic.h/functions.c: Remove
281         atomic_flag_fence.
282
283 2009-01-21  Dodji Seketeli  <dodji@redhat.com>
284
285         * include/ext/bitmap_allocator.h: the typedefs should be made public
286         if we want them to be accessible. This has been revealed by the patch
287         that fixes PR c++/26693 in g++.
288
289 2009-01-20  Benjamin Kosnik  <bkoz@redhat.com>
290             Uros Bizjak  <ubizjak@gmail.com>
291
292         PR libstdc++/38834
293         * config/abi/pre/gnu.ver: Correct char16_t and char32_t exports.
294         * config/os/gnu-linux/ldbl-extra.ver: Tweak.
295
296 2009-01-20  Benjamin Kosnik  <bkoz@redhat.com>
297             Rainer Emrich  <r.emrich@de.tecosim.com>
298
299         PR libstdc++/38919
300         * crossconfig.m4: Use GLIBCXX_CHECK_MATH_SUPPORT and
301         GLIBCXX_CHECK_STDLIB_SUPPORT for mingw crosses.
302         * configure: Regenerate.
303
304 2009-01-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
305
306         * include/std/thread (__thread_data_base::__run): Make non-const.
307         * testsuite/30_threads/thread/cons/5.cc: New.
308
309 2009-01-16  Benjamin Kosnik  <bkoz@redhat.com>
310
311         * src/Makefile.am (sources): Add math_stubs_float.cc.
312         * src/Makefile.in: Regenerate.
313         * src/math_stubs_float.cc: New, from libmath/stubs.c.
314
315 2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>
316
317         * src/Makefile.am (sources): Add math_stubs_long_double.cc.
318         * src/Makefile.in: Regenerate.
319         * src/math_stubs_long_double.cc: New, from libmath/stubs.c.
320
321 2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>
322
323         PR libstdc++/32666
324         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
325
326 2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>
327
328         PR libstdc++/32666
329         * Makefile.am (hosted_source): Remove libmath directory.
330         * Makefile.in: Regenerate.
331         * linkage.m4 (GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT): Remove.
332         (AC_REPLACE_MATHFUNCS): Remove.
333         (GLIBCXX_CHECK_MATH_SUPPORT): Remove copysign, copysignl checks as done
334         in GLIBCXX_CHECK_C99_TR1.
335         * acinclude.m4: Remove libmath, need_math.
336         * crossconfig.m4: Remove use of HAVE_COPYSIGN, HAVE_COPYSIGNL,
337         HAVE_COPYSIGNF, GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT, need_libmath.
338         * configure.ac: Same.
339         * configure: Regenerate.
340         * fragment.am: Fix comment.
341         * config.h.in: Regenerate.
342         * src/Makefile.in: Regenerate.
343         * src/Makefile.am: Remove libmath references.
344         * doc/Makefile.in: Regenerate.
345         * po/Makefile.in: Regenerate.
346         * include/Makefile.in: Regenerate.
347         * libsupc++/Makefile.in: Regenerate.
348         * testsuite/Makefile.in: Regenerate.
349
350         * src/compatibility.cc: Also export long double versions of "C" math
351         library if hppa-linux.
352         * config/abi/pre/gnu.ver: Remove unused __signbit exports.
353         * doc/xml/manual/appendix_contributing.xml: Remove libmath reference.
354
355         * libmath: Remove.
356         * libmath/signbit.c: Same.
357         * libmath/stubs.c: Same.
358         * libmath/Makefile.in: Same.
359         * libmath/copysignf.c: Same.
360         * libmath/mathconf.h: Same.
361         * libmath/signbitf.c: Same.
362         * libmath/Makefile.am: Same.
363         * libmath/signbitl.c: Same.
364
365 2009-01-15  Chris Fairles  <cfairles@gcc.gnu.org>
366             Paolo Carlini  <paolo.carlini@oracle.com>
367
368         * acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME],
369         [GLIBCXX_CHECK_NANOSLEEP]): Remove.
370         ([GLIBCXX_ENABLE_LIBSTDCXX_TIME]): Add.
371         * configure.ac: Adjust.
372         * doc/xml/manual/configure.xml: Update.
373         * testsuite/lib/libstdc++.exp (check_v3_target_sched_yield): Add.
374         * testsuite/lib/dg-options.exp (dg-require-sched-yield): Add.
375         * testsuite/30_threads/thread/this_thread/2.cc: Use the latter.
376         * configure: Regenerate.
377         * config.h.in: Likewise.
378
379         * src/thread.cc (thread::thread(), thread::~thread, thread::get_id,
380         thread::joinable, thread::swap, this_thread::get_id,
381         this_thread::yield): Define inline...
382         * include/std/thread: ... here.
383         * config/abi/pre/gnu.ver: Adjust.
384
385 2009-01-13  Uros Bizjak  <ubizjak@gmail.com>
386
387         * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc:
388         Add dg-timeout-factor 2.0.
389         * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Ditto.
390         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Ditto.
391         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Ditto.
392         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Ditto.
393         * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Ditto.
394         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Ditto.
395
396 2009-01-13  Uros Bizjak  <ubizjak@gmail.com>
397
398         * scripts/extract_symvers: Add sed script to remove ' [<other>: xx] '
399         field from readelf output.
400
401 2009-01-12  Benjamin Kosnik  <bkoz@redhat.com>
402
403         PR libstdc++/38384
404         * crossconfig.m4 (hpux): Update for 10.20, 11, 11.20.
405         * configure: Regenerate.
406
407 2009-01-12  Benjamin Kosnik  <bkoz@redhat.com>
408
409         * crossconfig.m4 (linux): Add GCC_CHECK_TLS to define
410         _GLIBCXX_HAVE_TLS.
411         Use GLIBCXX_CHECK_COMPILER_FEATURES to compute SECTION_FLAGS.
412
413 2009-01-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
414
415         * include/tr1_impl/regex (basic_regex::basic_regex): Use range
416         constructor for _M_pattern.
417         * testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
418         string.cc: Test construction from different basic_string type.
419         * testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
420         string.cc: Likewise.
421
422 2009-01-07  Benjamin Kosnik  <bkoz@redhat.com>
423             Jonathan Larmour  <jifl@eCosCentric.com>
424
425         PR libstdc++/36801
426         * config/cpu/generic/atomicity_mutex/atomicity.h (get_atomic_mutex):
427         New.
428         (__gnu_cxx::__exchange_and_add): Use it.
429         * src/atomic.cc (get_atomic_mutex): New.
430         * src/debug.cc (get_safe_base_mutex): New.
431         * src/locale.cc (get_locale_cache_mutex): New.
432         * src/mt_allocator.cc (get_freelist): New.
433         (get_freelist_mutex): New.
434         * src/pool_allocator.cc (get_palloc_mutex): New.
435         * include/std/mutex (__once_functor_lock): To
436         (__get_once_functor_lock): ...this.
437         * src/mutex.cc (__once_mutex): Don't export, use
438         (get_once_mutex): ...this.
439         * config/abi/pre/gnu.ver: Adjust exports.
440
441 2009-01-07  Jakub Jelinek  <jakub@redhat.com>
442
443         PR libstdc++/38732
444         * libsupc++/unwind-cxx.h (__cxxabiv1::__cxa_exception): Remove
445         referenceCount field again.
446         (__cxxabiv1::__cxa_refcounted_exception): New struct.
447         (__cxxabiv1::__get_refcounted_exception_header_from_obj,
448         __cxxabiv1::__get_refcounted_exception_header_from_ue): New static
449         inline functions.
450         * libsupc++/eh_alloc.cc (__cxxabiv1::__cxa_allocate_exception,
451         __cxxabiv1::__cxa_free_exception): Use __cxa_refcounted_exception
452         instead of __cxa_exception.
453         * libsupc++/eh_throw.cc (__gxx_exception_cleanup,
454         __cxxabiv1::__cxa_throw): Likewise.
455         * libsupc++/eh_ptr.cc (std::rethrow_exception,
456         std::__exception_ptr::exception_ptr::_M_addref,
457         std::__exception_ptr::exception_ptr::_M_release,
458         __gxx_dependent_exception_cleanup): Likewise.
459         * testsuite/18_support/exception/38732.cc: New test.
460
461         PR libstdc++/38092
462         * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New test.
463         * src/compatibility.cc: Don't use .symver directives if
464         _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE is not defined.
465         * config.h.in: Regenerated.
466         * configure: Likewise.
467
468 2009-01-07  Paolo Carlini  <paolo.carlini@oracle.com>
469
470         PR libstdc++/38466
471         * include/bits/stl_pair.h: Document C++03 pair vs swap.
472
473 2009-01-06  Benjamin Kosnik  <bkoz@redhat.com>
474
475         * src/locale_init.cc (locale::_S_initialize_once): Move construction
476         of classic locale...
477         (locale::classic): Here.
478
479 2009-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
480
481         * include/tr1_impl/regex: Fix bad return statements and typos.
482
483 2009-01-05  Benjamin Kosnik  <bkoz@redhat.com>
484
485         * include/tr1_impl/regex: Remove unimplemented function definitions.
486         * testsuite/28_regex/init-list.cc: Compile only.
487         * testsuite/tr1/7_regular_expressions/regex/cons/char/
488         c_string_extended.cc: Same.
489         * testsuite/tr1/7_regular_expressions/basic_regex/assign/*: Same.
490         * testsuite/tr1/7_regular_expressions/basic_regex/ctors/*: Same.
491
492 2009-01-05  Benjamin Kosnik  <bkoz@redhat.com>
493
494         PR libstdc++/38384
495         * crossconfig.m4: Define HAVE_FABSF for hpux crosses.
496         * configure: Regenerate.
497
498 2009-01-05  Ben Elliston  <bje@au.ibm.com>
499
500         * configure.ac (GLIBCXX_CHECK_STANDARD_LAYOUT): Remove invocation.
501         * configure: Regenerate.
502
503 2009-01-05  Ben Elliston  <bje@au.ibm.com>
504
505         * configure.ac: Exchange the order of GLIBCXX_ENABLE_THREADS and
506         GLIBCXX_ENABLE_ATOMIC_BUILTINS macro invocations.
507         * configure: Regenerate.
508
509 2009-01-04  Richard Guenther  <rguenther@suse.de>
510
511         PR libstdc++/38720
512         * include/ext/pointer.h (_Relative_pointer_impl): Use an unsigned
513         integer type for storage, arithmetic and comparisons.
514         * testsuite/ext/ext_pointer/1_neg.cc: Adjust line numbers.
515
516 2009-01-04  Paolo Carlini  <paolo.carlini@oracle.com>
517
518         PR libstdc++/38719
519         * include/bits/forward_list.h (_Fwd_list_iterator<>::_M_next,
520         _Fwd_list_const_iterator::_M_next): Fix return type.
521
522 2009-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
523
524         * Revert last commit, reopen and suspend libstdc++/38678.
525
526 2009-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
527
528         PR libstdc++/38678
529         * include/std/istream (basic_istream<>::_M_read): New.
530         * include/bits/istream.tcc (basic_istream<>::_M_read): Define.
531         (basic_istream<>::read, basic_istream<>::readsome): Use it.
532         * include/std/ostream (basic_ostream<>::_M_write_): New.
533         (basic_ostream<>::_M_write): Adjust.
534         * include/bits/ostream.tcc (basic_ostream<>::_M_write_): Define.
535         * testsuite/27_io/basic_istream/read/char/38678.cc: New.
536         * testsuite/27_io/basic_istream/read/wchar_t/38678.cc: Likewise.
537         * testsuite/27_io/basic_ostream/write/char/38678.cc: Likewise.
538         * testsuite/27_io/basic_ostream/write/wchar_t/38678.cc: Likewise.
539
540 2008-12-22  Jonathan Larmour  <jifl@eCosCentric.com>
541
542         * include/ext/concurrence.h: Fix __gthread_cond_t initialisation
543         function macro name.
544
545 2008-12-22  Benjamin Kosnik  <bkoz@redhat.com>
546
547         * doc/doxygen/stdheader.cc: Add cstdlib.
548         * doc/doxygen/user.cfg.in: Regenerate for doxygen 1.5.7.
549
550 2008-12-21  Andrew Pinski  <pinskia@gmail.com>
551
552         PR target/38300
553         * configure: Regenerate.
554
555 2008-12-21  Paolo Carlini  <paolo.carlini@oracle.com>
556
557         PR libstdc++/38596
558         * include/tr1_impl/functional (function<>::target,
559         function<>::target_type): Provide only when __GXX_RTTI is defined.
560         (_Function_base::_M_manager, _Ref_manager<>::_M_manager,
561         _Function_handler<void(_ArgTypes...), _Member _Class::*>::_M_manager):
562         Adjust.
563
564 2008-12-19  Ben Elliston  <bje@au.ibm.com>
565
566         * acinclude.m4: Guard a variable test against an empty string.
567         * configure: Regenerate.
568
569 2008-12-18  Jack Howarth  <howarth@bromo.med.uc.edu>
570
571         * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
572         Add xfail on all targets except darwin.
573         * libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/
574         1674.cc: Same.
575         * libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc: Correct syntax
576         for xfailing on all targets except linux.
577
578 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
579
580         * configure: Regenerate.
581
582 2008-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
583
584         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
585         Don't xfail test on darwin8 or later.
586
587 2008-12-16  Jack Howarth  <howarth@bromo.med.uc.edu>
588
589         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
590         Don't xfail excessive errors on darwin8 or later.
591
592 2008-12-15  Benjamin Kosnik  <bkoz@redhat.com>
593
594         * include/c_global/cstdatomic: Remove assert include.
595         * include/debug/debug.h: Consolidate __replacement_assert...
596         * include/parallel/base.h: Consolidate __replacement_assert...
597         * include/bits/c++config: ...here.
598         * include/bits/atomic_0.h: Use it.
599         * include/bits/atomic_2.h: Same.
600         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
601         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
602
603 2008-12-13  Benjamin Kosnik  <bkoz@redhat.com>
604
605         * src/atomic.cc: Revert last change.
606         * include/bits/atomic_2.h: Move cassert include to...
607         * include/c_global/cstdatomic: ...here.
608         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
609         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
610
611 2008-12-12  Benjamin Kosnik  <bkoz@redhat.com>
612
613         * src/Makefile.am: Remove -x c++ for atomic build rules.
614         * src/Makefile.in: Regenerate.
615         * src/atomic.cc: Move mutex include before cstdatomic.
616
617 2008-12-12  H.J. Lu  <hongjiu.lu@intel.com>
618
619         PR libstdc++/37144
620         * testsuite/util/regression/trait/assoc/type_trait.hpp
621         (regression_test_type_traits): Add const to pair_type_rebind.
622
623 2008-12-12  Benjamin Kosnik  <bkoz@redhat.com>
624
625         * src/atomic.cc: Correct guards to match mutex.cc.
626
627 2008-12-11  Benjamin Kosnik  <bkoz@redhat.com>
628             Richard Henderson  <rth@redhat.com>
629
630         * include/c_global/cstdatomic: Update to N2798.
631         (atomic): Remove explicit constructors as per DR 845.
632         * include/bits/atomic_0.h: New. Switchable implementation.
633         * include/bits/atomic_2.h: New. Lock-free implementation.
634         * include/c_compatibility/stdatomic.h: Use foward headers.
635         * include/bits/atomicfwd_cxx.h: New.
636         * include/bits/atomicfwd_c.h: New.
637         * src/atomic.cc: Adjust.
638         * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Remove,
639         unconditionally use default/deleted syntax.
640         (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for 2, 8.
641         * include/Makefile.am (bits_headers): Add atomicfwd_c.h,
642         atomicfwd_cxx.h, atomic_0.h, atomic_2.h.
643         * include/Makefile.in: Regenerate.
644         * configure: Regenerate.
645         * config.h.in: Regenerate.
646         * config/abi/pre/gnu.ver: Adjust exports.
647
648         * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: Adjust.
649         * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: Same.
650         * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: Same.
651         * testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
652         * testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Move to..
653         * testsuite/29_atomics/atomic_address/cons/single_value.cc: ...this.
654         * testsuite/29_atomics/atomic_address/cons/copy_neg.cc
655         * testsuite/29_atomics/atomic_integral/cons/single_value.cc: New.
656         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: New.
657         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: New.
658         * testsuite/29_atomics/atomic_integral/cons/default.cc: New.
659         * testsuite/29_atomics/atomic_integral/cons/direct_list.cc: New.
660         * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
661         * testsuite/29_atomics/atomic_integral/requirements/
662         standard_layout.cc: New.
663         * testsuite/29_atomics/atomic_integral/operators/
664         integral_assignment.cc: New.
665         * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: New.
666         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: New.
667         * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: New.
668         * testsuite/29_atomics/atomic_integral/operators/increment.cc: New.
669         * testsuite/29_atomics/atomic_integral/operators/decrement.cc: New.
670         * testsuite/29_atomics/atomic_integral/operators/bitwise.cc: New.
671         * testsuite/29_atomics/atomic_integral/operators/
672         integral_conversion.cc: New.
673         * testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Adjust.
674         * testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
675         * testsuite/29_atomics/atomic_flag/requirements/
676         standard_layout.cc: Same.
677         * testsuite/29_atomics/atomic_flag/
678         atomic_global_fence_compatibility.cc: Kill.
679         * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Adjust.
680         * testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same.
681         * testsuite/29_atomics/headers/cstdatomic/macros.cc: Same.
682         * testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
683         * testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
684         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
685         * testsuite/29_atomics/atomic/cons/explicit_value.cc: Move to...
686         * testsuite/29_atomics/atomic/cons/single_value.cc: ...this.
687         * testsuite/29_atomics/atomic/cons/copy_neg.cc
688         * testsuite/29_atomics/atomic/cons/direct_list.cc: New.
689         * testsuite/29_atomics/atomic/cons/copy_list.cc: New.
690         * testsuite/29_atomics/atomic/requirements/standard_layout.cc: New.
691         * testsuite/29_atomics/atomic/requirements/base_classes.cc: New.
692         * testsuite/29_atomics/atomic/operators/integral_assignment.cc: New.
693         * testsuite/29_atomics/atomic/operators/integral_conversion.cc: New.
694         * testsuite/util/testsuite_hooks.h (bitmask_operators): Move...
695         * testsuite/util/testsuite_common_types.h: ...here.
696         (atomic_integrals_no_bool): New.
697         (atomic_integrals): New.
698         (has_increment_operators, has_decrement_operators)
699         (direct_list_initializable, single_value_constructible)
700         (standard_layout, has_bitwise_operators, integral_convertable)
701         (integral_assignable): Add.
702
703 2008-12-11  Jakub Jelinek  <jakub@redhat.com>
704
705         PR c++/37582
706         * testsuite/26_numerics/headers/cmath/37582.cc: New.
707
708 2008-12-08  Paolo Carlini  <paolo.carlini@oracle.com>
709
710         * include/tr1_impl/cmath: Undef remquof / remquol too; add using
711         declarations.
712         * acinclude.m4 [GLIBCXX_CHECK_C99_TR1]: Check remquof / remquol too.
713         * testsuite/tr1/8_c_compatibility/cmath/functions.cc: Adjust.
714         * configure: Regenerate.
715
716 2008-12-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
717
718         * include/bits/forward_list.h: Fixed spurious "forward_swap" in doxy.
719
720 2008-12-06  Paolo Carlini  <paolo.carlini@oracle.com>
721
722         PR libstdc++/38421
723         * include/tr1/ell_integral.tcc: Avoid __ea, future SPU badname.
724         * doc/xml/manual/appendix_contributing.xml: Add __ea to the list
725         of badnames.
726
727 2008-12-05  Tom Tromey  <tromey@redhat.com>
728
729         * include/tr1_impl/functional (_Mu): Fix typo.
730
731 2008-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
732
733         PR libstdc++/38399
734         * include/bits/locale_facets_nonio.tcc (money_get<>::
735         _M_extract(iter_type, iter_type, ios_base&, ios_base::iostate&,
736         string&)): Fix, reject decimal point when frac_digits <= 0.
737         * testsuite/22_locale/money_get/get/char/38399.cc: New.
738         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
739         * testsuite/22_locale/money_get/get/char/5.cc: Adjust.
740         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
741
742 2008-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
743
744         PR libstdc++/38411
745         * testsuite/22_locale/numpunct/members/char/2.cc: Use is_IS instead
746         of fr_FR.
747         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
748         * testsuite/22_locale/locale/cons/7.cc: Likewise.
749
750 2008-12-04  Paolo Carlini  <paolo.carlini@oracle.com>
751
752         PR libstdc++/38368
753         * config/locale/gnu/numeric_members.cc (numpunct<char>::
754         _M_initialize_numpunct, numpunct<wchar_t>::_M_initialize_numpunct):
755         Fix for THOUSANDS_SEP == '\0' consistently with "C" locale.
756         * config/locale/gnu/monetary_members.cc (moneypunct<char, true>::
757         _M_initialize_moneypunct, moneypunct<char, false>::
758         _M_initialize_moneypunct, moneypunct<wchar_t, true>::
759         _M_initialize_moneypunct, moneypunct<wchar_t, false>::
760         _M_initialize_moneypunct): Fix for __MON_DECIMAL_POINT == '\0' or
761         __MON_THOUSANDS_SEP == '\0' consistently with "C" locale.
762         * testsuite/22_locale/locale/cons/38368.cc: New.
763
764 2008-12-02  Paolo Carlini  <paolo.carlini@oracle.com>
765
766         PR libstdc++/38365 (cont)
767         * src/localename.cc (locale::locale(const locale&, const locale&,
768         category)): Revert last changes.
769         (locale::_Impl::_M_replace_categories(const _Impl*, category)):
770         Fix here instead; rework.
771
772 2008-12-02  Paolo Carlini  <paolo.carlini@oracle.com>
773
774         PR libstdc++/38365
775         * src/localename.cc (locale::locale(const locale&, const locale&,
776         category)): Fix.
777         * testsuite/22_locale/locale/cons/38365.cc: New.
778
779 2008-12-01  Benjamin Kosnik  <bkoz@redhat.com>
780
781         PR libstdc++/38080
782         * include/std/iostream: Correct URL.
783         * include/std/streambuf: Same.
784         * include/std/bitset: Same.
785         * include/std/iosfwd: Same.
786         * include/std/fstream: Same.
787         * include/std/istream: Same.
788         * include/std/ostream: Same.
789         * include/std/sstream: Same.
790         * include/bits/basic_ios.h: Same.
791         * include/bits/stl_map.h: Same.
792         * include/bits/stl_set.h: Same.
793         * include/bits/stl_multimap.h: Same.
794         * include/bits/ios_base.h: Same.
795         * include/bits/stl_multiset.h: Same.
796         * include/bits/char_traits.h: Same.
797         * include/bits/stl_relops.h: Same.
798         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
799         * testsuite/27_io/ios_base/cons/copy_neg.cc: Ditto.
800
801 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
802
803         PR testsuite/28870
804         * testsuite/lib/libstdc++.exp: Include new timeout library files.
805         (libstdc++_init): Define tool_timeout.
806         (dg-test): Override DejaGnu proc.
807         (v3_target_compile): Set timeout value from new proc.
808         (v3_target_compile_as_c): Ditto.
809
810 2008-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
811
812         PR libstdc++/38244 (cont, debug bits)
813         * include/debug/bitset (bitset<>::bitset(const char*, char, char)):
814         Remove, do not implement DR 778.
815
816 2008-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
817
818         PR libstdc++/38244
819         * include/std/bitset (bitset<>::bitset(const char*, char, char)):
820         Remove, do not implement DR 778.
821         * doc/xml/manual/intro.xml: Remove entry for DR 778.
822         * testsuite/23_containers/bitset/cons/2.cc: Remove.
823         * testsuite/23_containers/bitset/cons/dr396.cc: Tweak.
824         * testsuite/23_containers/bitset/cons/38244.cc: Add.
825
826 2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>
827
828         * testsuite/22_locale/num_put/put/char/38210.cc: Tweak.
829         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
830
831 2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>
832
833         PR libstdc++/38210
834         * include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
835         ios_base&, char_type, const void*)): Fix.
836         * testsuite/22_locale/num_put/put/char/38210.cc: New.
837         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
838
839 2008-11-20  Paolo Carlini  <paolo.carlini@oracle.com>
840
841         PR libstdc++/38196
842         * include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
843         ios_base&, char_type, bool)): Fix.
844         * testsuite/22_locale/num_put/put/char/38196.cc: New.
845         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
846
847 2008-11-18  Paolo Carlini  <paolo.carlini@oracle.com>
848
849         * include/tr1_impl/cinttypes: Remove redundant pragma system_header.
850         * include/tr1_impl/cfenv: Likewise.
851         * include/tr1_impl/cstdint: Likewise.
852
853 2008-11-13  Paolo Carlini  <paolo.carlini@oracle.com>
854
855         PR libstdc++/38000
856         * include/c_global/csignal: Do not use include_next.
857         * include/c_global/cstdlib: Likewise.
858         * include/c_global/cstdio: Likewise.
859         * include/c_global/cstdarg: Likewise.
860         * include/c_global/cctype: Likewise.
861         * include/c_global/cerrno: Likewise.
862         * include/c_global/cmath: Likewise.
863         * include/c_global/clocale: Likewise.
864         * include/c_global/climits: Likewise.
865         * include/c_global/cassert: Likewise.
866         * include/c_global/csetjmp: Likewise.
867         * include/c_global/cwchar: Likewise.
868         * include/c_global/cfloat: Likewise.
869         * include/c_global/cstdbool: Likewise.
870         * include/c_global/cstring: Likewise.
871         * include/c_global/cstddef: Likewise.
872         * include/c_global/cwctype: Likewise.
873         * include/tr1/cstdbool: Likewise.
874         * include/tr1_impl/cinttypes: Do not include <inttypes.h>.
875         * include/c_global/cinttypes: Do it here.
876         * include/tr1/cinttypes: Likewise.
877         * include/tr1_impl/cfenv: Do not include <fenv.h>.
878         * include/c_global/cfenv: Do it here.
879         * include/tr1/cfenv: Likewise.
880         * include/tr1_impl/cstdint: Do not include <stdint.h>.
881         * include/c_global/cstdint: Do it here.
882         * include/tr1/cstdint: Likewise.
883         * include/c_compatibility/fenv.h: Include <tr1_impl/cfenv>.
884         * include/c_compatibility/stdint.h: Include <tr1_impl/cstdint>.
885         * include/c_compatibility/inttypes.h: Include <tr1_impl/cinttypes>.
886
887         * include/c_compatibility/math.h: Minor tweak, add comment.
888
889 2008-11-12  Steve Ellcey  <sje@cup.hp.com>
890
891         * configure.ac: Move call to GCC_CHECK_UNWIND_GETIPINFO.
892         * configure: Regenerate to get new GCC_CHECK_UNWIND_GETIPINFO.
893
894 2008-11-12  Paolo Carlini  <paolo.carlini@oracle.com>
895
896         PR libstdc++/37986 (cont)
897         * include/tr1_impl/random (struct _Adaptor): Use only remove_reference
898         on _Engine.
899         (struct _Adaptor<_Engine*, _Distribution>): Add.
900         * testsuite/tr1/5_numerical_facilities/random/variate_generator/
901         37986.cc: Extend.
902
903 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
904
905         PR libstdc++/37986
906         * include/tr1_impl/random (struct _Adaptor): Use remove_pointer
907         and remove_reference on _Engine.
908         * testsuite/tr1/5_numerical_facilities/random/variate_generator/
909         37986.cc: New.
910
911 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
912
913         * testsuite/ext/ext_pointer/1_neg.cc: Adjust dg-error line numbers.
914
915 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
916
917         * testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc: Fix.
918         * testsuite/23_containers/vector/ext_pointer/modifiers/element.cc:
919         Likewise.
920
921 2008-11-11  Bob Walters  <bob.s.walters@gmail.com>
922
923         * include/bits/forward_list.h: Support non-standard pointer types
924         (_Fwd_list_node_base): Add _Alloc template parameter.
925         (_Fwd_list_node<>): Likewise.
926         (_Fwd_list_iterator<>): Likewise.
927         (_Fwd_list_const_iterator<>): Likewise.
928         (_Fwd_list_node_base::_M_next, _M_transfer_after, _M_reverse_after):
929         Use _Alloc<_Tp>::pointer.
930         (_Fwd_list_iterator<>::_M_node): Use _Node_base::_Pointer.
931         (_Fwd_list_base<>::_M_get_node, _M_create_node, _M_create_node,
932         _M_insert_after, _M_put_node, _M_erase_after): Likewise.
933         (_Fwd_list_const_iterator<>::_M_node): use _Node_base::_Const_pointer.
934         (forward_list<>): Use __static_pointer_cast in place of static_cast,
935         and __const_pointer_cast in place of const_cast.
936         * include/bits/forward_list.tcc
937         (_Fwd_list_node<>::_M_sort_after): Using _Pointer typedefs in place
938         of standard pointers, __static_pointer_cast in place of static_cast.
939         (_Fwd_list_base<>::_Fwd_list_base, _M_insert_after, _M_erase_after):
940         Likewise.
941         (forward_list<>::_M_initialize_dispatch, _M_fill_initialize,
942         splice_after, remove, remove_if, merge): Likewise.
943         * testsuite/23_containers/forward_list/ext_pointer/modifiers/1.cc: New.
944         * testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
945         Likewise.
946         * testsuite/23_containers/forward_list/ext_pointer/modifiers/3.cc:
947         Likewise.
948         * testsuite/23_containers/forward_list/ext_pointer/modifiers/4.cc:
949         Likewise.
950         * testsuite/23_containers/forward_list/ext_pointer/modifiers/5.cc:
951         Likewise.
952         * testsuite/23_containers/forward_list/ext_pointer/operations/1.cc:
953         Likewise.
954         * testsuite/23_containers/forward_list/ext_pointer/operations/2.cc:
955         Likewise.
956         * testsuite/23_containers/forward_list/ext_pointer/operations/3.cc:
957         Likewise.
958         * testsuite/23_containers/forward_list/ext_pointer/operations/4.cc:
959         Likewise.
960         * testsuite/23_containers/forward_list/ext_pointer/operations/5.cc:
961         Likewise.
962         * testsuite/23_containers/forward_list/ext_pointer/operations/6.cc:
963         Likewise.
964         * testsuite/23_containers/forward_list/ext_pointer/operations/7.cc:
965         Likewise.
966         * testsuite/23_containers/forward_list/ext_pointer/requirements/1.cc:
967         Likewise.
968         * testsuite/23_containers/forward_list/ext_pointer/requirements/
969         explicit_instantiation/1.cc: Likewise.
970         * testsuite/23_containers/forward_list/ext_pointer/requirements/
971         explicit_instantiation/3.cc: Likewise.
972         * testsuite/23_containers/forward_list/ext_pointer/1.cc: Likewise.
973
974 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
975
976         * include/ext/extptr_allocator.h: Minor tweaks.
977         * include/ext/pointer.h: Likewise.
978         * include/ext/cast.h: Likewise.
979
980 2008-11-10  Paolo Carlini  <paolo.carlini@oracle.com>
981
982         PR libstdc++/38067
983         * config/locale/gnu/monetary_members.cc (moneypunct<>::
984         _M_initialize_moneypunct(__c_locale, const char*)): Use correct vector
985         delete for __wcs_ps and __wcs_ns.
986
987 2008-11-07  Bob Walters  <bob.s.walters@gmail.com>
988
989         * include/ext/pointer.h: New, add experimental support for non-standard
990         pointer types in containers via the allocator::pointer typedef.
991         (Currently only supported/working with std::vector)
992         * include/ext/cast.h: New, add overload-able pointer casting functions
993         for use in containers supporting non-standard pointer types.
994         * include/ext/extptr_allocator.h: New, add _ExtPtr_allocator.
995         * include/Makefile.am: Update.
996         * include/precompiled/extc++.h: Likewise.
997         * include/Makefile.in: Regenerate.
998         * testsuite/ext/ext_pointer/1.cc: New.
999         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
1000         * testsuite/23_containers/vector/ext_pointer/citerators.cc: New.
1001         * testsuite/23_containers/vector/ext_pointer/data_access.cc: Likewise.
1002         * testsuite/23_containers/vector/ext_pointer/resize.cc: Likewise.
1003         * testsuite/23_containers/vector/ext_pointer/types/1.cc: Likewise.
1004         * testsuite/23_containers/vector/ext_pointer/modifiers/element.cc:
1005         Likewise.
1006         * testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc:
1007         Likewise.
1008         * testsuite/23_containers/vector/ext_pointer/modifiers/insert.cc:
1009         Likewise.
1010         * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
1011         1.cc: Likewise.
1012         * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
1013         3.cc: Likewise.
1014
1015 2008-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1016
1017         PR libstdc++/38017
1018         Revert:
1019         * include/tr1_impl/functional (result_of,reference_wrapper): Update
1020         to use C++0x features.
1021         * testsuite/20_util/function_objects/return_types/result_of.cc: New.
1022         * testsuite/20_util/function_objects/return_types/result_of_neg.cc:
1023         New.
1024         * testsuite/20_util/function_objects/return_types/result_of_ref.cc:
1025         New.
1026         * testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.
1027
1028 2008-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1029
1030         PR libstdc++/24803
1031         PR libstdc++/37351
1032         * include/tr1_impl/functional (result_of,reference_wrapper): Update
1033         to use C++0x features.
1034         * testsuite/20_util/function_objects/return_types/result_of.cc: New.
1035         * testsuite/20_util/function_objects/return_types/result_of_neg.cc:
1036         New.
1037         * testsuite/20_util/function_objects/return_types/result_of_ref.cc:
1038         New.
1039         * testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.
1040
1041 2008-11-03  Paolo Carlini  <paolo.carlini@oracle.com>
1042
1043         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
1044         iter_type, ios_base&, ios_base::iostate&, bool&): Tidy.
1045         * testsuite/22_locale/num_get/get/char/37958.cc: Extend.
1046         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
1047
1048 2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
1049
1050         PR libstdc++/37958 (cont again)
1051         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
1052         iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
1053         * testsuite/22_locale/num_get/get/char/37958.cc: Extend.
1054         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
1055
1056 2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
1057
1058         * include/bits/locale_facets.tcc (num_get<>::do_get(, long&),
1059         num_get<>::do_get(, unsigned short&),
1060         num_get<>::do_get(, unsigned int&),
1061         num_get<>::do_get(, unsigned long&),
1062         num_get<>::do_get(, long long&),
1063         num_get<>::do_get(, unsigned long long&),
1064         num_put<>::do_put(, long), num_put<>::do_put(, unsigned long),
1065         num_put<>::do_put(, long long),
1066         num_put<>::do_put(, unsigned long long)): Move inline...
1067         * include/bits/locale_facets.h: ... here.
1068
1069 2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
1070
1071         PR libstdc++/37958 (cont)
1072         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
1073         iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
1074
1075 2008-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
1076
1077         * include/bits/shared_ptr.h: Update comparisons to match WP.
1078         (_Sp_counted_ptr): Make copy and assignment members deleted.
1079         (_Sp_counted_deleter): Remove private copy and assignment members.
1080         (__shared_count::_M_less,__weak_count::_M_less,operator<): Replace
1081         friend operator< with overloaded _M_less member functions to allow
1082         comparison with either shared_count or weak_count.
1083         (__shared_ptr::_M_less,__weak_ptr::_M_less): Replace with...
1084         (__shared_ptr::owner_before,__weak_ptr::owner_before): New overloads
1085         for ownership-based ordering.
1086         (operator<(__shared_ptr,__shared_ptr)): Compare stored pointers,
1087         make non-friend.
1088         (operator==(__shared_ptr,__shared_ptr)): Make non-friend.
1089         (operator!=(__shared_ptr,__shared_ptr)): Likewise.
1090         (less<__shared_ptr<>>,less<shared_ptr<>>,_Sp_less): Explicitly call
1091         pointer specialization.
1092         (__weak_ptr::operator<,weak_ptr::operator<=,weak_ptr::operator>,
1093         weak_ptr::operator>=): Remove operator< and delete all comparisons.
1094         (_Sp_owner_less,owner_less): Predicate for ownership-based ordering.
1095         (operator<(shared_ptr,shared_ptr): Overload for derived shared_ptr.
1096         (operator==(shared_ptr,shared_ptr): Likewise.
1097         (operator!=(shared_ptr,shared_ptr): Likewise.
1098         (swap(shared_ptr,shared_ptr)): Fix parameter types.
1099         (swap(weak_ptr,weak_ptr)): Add missing overload.
1100         * testsuite/20_util/owner_less/cmp.cc: New.
1101         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Test other ops.
1102         * testsuite/20_util/shared_ptr/comparison/less.cc: New.
1103         * testsuite/20_util/shared_ptr/observers/owner_before.cc: New.
1104         * testsuite/20_util/weak_ptr/observers/owner_before.cc: New.
1105         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: New.
1106
1107 2008-10-31  Paolo Carlini  <paolo.carlini@oracle.com>
1108
1109         PR libstdc++/37958
1110         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
1111         iter_type, ios_base&, ios_base::iostate&, bool&): Fix.
1112         * testsuite/22_locale/num_get/get/char/37958.cc: New.
1113         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
1114
1115 2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>
1116
1117         PR libstdc++/37919
1118         Revert:
1119         2008-10-18  Douglas Gregor  <doug.gregor@gmail.com>
1120
1121         * include/bits/stl_pair.h (__may_be_null_pointer_init): New.
1122         (pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
1123         Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
1124         Remove the old variadic constructor, and instead provide several
1125         variadic constructors that avoid failing when attempting to
1126         initialize a pointer from a null pointer constant.
1127         * testsuite/20_util/pair/moveable.cc (test3): Add new tests with
1128         initialization of pointers from the null pointer constant.
1129
1130 2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>
1131
1132         PR libstdc++/37522
1133         * config/os/mingw32/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSWPRINTF
1134         * include/bits/basic_string.h: Guard string conversions with
1135         !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) too.
1136         * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
1137         New.
1138         * testsuite/lib/dg-options.exp (dg-require-string-conversions): New.
1139         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
1140         Use the latter.
1141         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
1142         Likewise.
1143         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
1144         Likewise.
1145         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
1146         Likewise.
1147         * testsuite/21_strings/basic_string/numeric_conversions/char/
1148         stoull.cc: Likewise.
1149         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
1150         Likewise.
1151         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
1152         Likewise.
1153         * testsuite/21_strings/basic_string/numeric_conversions/char/
1154         to_string.cc: Likewise.
1155         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
1156         Likewise.
1157
1158 2008-10-24  Paolo Carlini  <paolo.carlini@oracle.com>
1159
1160         * config/os/generic/error_constants.h (enum errc): Remove
1161         no_posix_equivalent.
1162         * config/os/mingw32/error_constants.h (enum errc): Likewise.
1163         * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
1164         Adjust.
1165
1166 2008-10-24  Jakub Jelinek  <jakub@redhat.com>
1167
1168         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove dejagnu.
1169         (RUNTESTDEFAULTFLAGS, EXPECT, check_DEJAGNU_normal_targets): New
1170         variables.
1171         (%/site.exp, check-DEJAGNU%): New targets.
1172         (check-am): Run $(MAKE) check-DEJAGNU.
1173         * testsuite/Makefile.in: Regenerated.
1174
1175 2008-10-23  Chris Fairles  <cfairles@gcc.gnu.org>
1176
1177         * config/os/generic/error_constants.h (errc): Use long type.
1178         * config/os/mingw32/error_constants.h (errc): Likewise.
1179
1180 2008-10-22  Chris Fairles  <cfairles@gcc.gnu.org>
1181
1182         * include/std/system_error (is_error_code_enum): Specialize for errc.
1183         (error_category::error_category): Defaulted and protected.
1184         (error_category::~error_category): New, virtual.
1185         (error_category::error_category(const error_category&),
1186         error_category::operator=(const error_category&)): Deleted.
1187         (get_system_category, get_posix_category): Remove (DR 890).
1188         (system_category): External linkage (DR 890).
1189         (posix_category): Remove.
1190         (generic_category): Add. External linkage (DR 890).
1191         (error_code::error_code<>(_ErrorCodeEnum)): Use generic_category.
1192         (error_code::clear, error_code::operator=<>(_ErrorCodeEnum)): Forward to
1193         error_code::assign, use generic_category.
1194         (error_condition::error_condition,
1195         error_condition::error_condition<>(_ErrorConditionEnum)): Use
1196         generic_category.
1197         (error_condition::clear,
1198         error_condition::operator=<>(_ErrorConditionEnum)): Forward to
1199         error_code::assign, use generic_category.
1200         (make_error_code, make_error_condition): Define in namespace std.
1201         * include/std/mutex (unique_lock<>::lock, unique_lock<>::try_lock,
1202         unique_lock<>::try_lock_until<>(duration),
1203         unique_lock<>::try_lock_for<>(duration)): Replace posix_error with errc.
1204         * src/system_error.cc (system_error_category, generic_error_category):
1205         New.
1206         (gnu_error_category): Remove.
1207         (get_system_category, get_posix_category): Remove (DR 890).
1208         (system_category, generic_category): Define.
1209         * src/functexcept.cc (__throw_system_error): Use generic_category.
1210         * config/abi/pre/gnu.ver: Export system_category and generic_category,
1211         remove get_system_category and get_generic_category (DR 890).
1212         * config/os/generic/error_constants.h (posix_errno): Rename to errc, use
1213         enum class type. Fix spelling.
1214         * config/os/mingw32/error_constants.h (posix_errno): Likewise.
1215         * testsuite/19_diagnostics/error_code/cons/1.cc: Use errc and
1216         generic_category.
1217         * testsuite/19_diagnostics/error_code/operators/bool.cc: Use errc.
1218         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
1219         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
1220         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Update
1221         dg-error line numbers.
1222         * testsuite/19_diagnostics/error_condition/cons/1.cc: Use
1223         generic_category.
1224         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Use errc.
1225         * testsuite/19_diagnostics/error_condition/operators/equal.cc: Likewise.
1226         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
1227         Likewise.
1228         * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: New.
1229         * testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc:
1230         Remove using tests since errc is not a namespace.
1231         * testsuite/19_diagnostics/system_error/cons-1.cc: Use errc.
1232         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
1233         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
1234         Likewise.
1235         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1236         Likewise.
1237         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
1238
1239 2008-10-20  Paolo Carlini  <paolo.carlini@oracle.com>
1240
1241         * include/tr1_impl/hashtable_policy.h (_Hash_node<>::_Hash_node<>
1242         (_Args&&...)): Add in C++0x mode.
1243         * include/tr1_impl/hashtable (_Hashtable<>::_M_allocate_node,
1244         _Hashtable<>::_M_deallocate_node): Use _M_get_Node_allocator in
1245         C++0x mode.
1246
1247         * include/tr1_impl/hashtable (_Hashtable<>::max_size): Use
1248         Node_allocator for improved accuracy.
1249         * testsuite/tr1/6_containers/unordered_multimap/capacity/
1250         29134-multimap.cc: Adjust.
1251         * testsuite/tr1/6_containers/unordered_multimap/capacity/
1252         29134-map.cc: Likewise.
1253         * testsuite/tr1/6_containers/unordered_multimap/capacity/
1254         29134-multiset.cc: Adjust.
1255         * testsuite/tr1/6_containers/unordered_multimap/capacity/
1256         29134-set.cc: Likewise.
1257
1258 2008-10-19  Paolo Carlini  <paolo.carlini@oracle.com>
1259
1260         * include/bits/stl_tree.h (_Rb_tree_node<>::_Rb_tree_node<>
1261         (_Args&&...)): Add in C++0x mode.
1262         (_Rb_tree<>::_M_create_node<>(_Args&&...)): Add in C++0x mode,
1263         use _M_get_Node_allocator.
1264         (_Rb_tree<>::_M_destroy_node(_Link_type): Use _M_get_Node_allocator
1265         in C++0x mode.
1266         * testsuite/23_containers/set/operators/1_neg.cc: Adjust dg-error
1267         line numbers.
1268         * testsuite/23_containers/map/operators/1_neg.cc: Likewise.
1269
1270 2008-10-18  Douglas Gregor  <doug.gregor@gmail.com>
1271
1272         * include/bits/stl_pair.h (__may_be_null_pointer_init): New.
1273         (pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
1274         Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
1275         Remove the old variadic constructor, and instead provide several
1276         variadic constructors that avoid failing when attempting to
1277         initialize a pointer from a null pointer constant.
1278         * testsuite/20_util/pair/moveable.cc (test3): Add new tests with
1279         initialization of pointers from the null pointer constant.
1280
1281 2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1282
1283         * include/bits/forward_list.tcc (forward_list<>::
1284         _M_initialize_dispatch(_InputIterator, _InputIterator, __false_type)):
1285         Simplify.
1286
1287 2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1288
1289         * include/bits/forward_list.h (forward_list<>::
1290         forward_list(size_type)): Tweak, use _Base default constructor.
1291
1292 2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1293
1294         * include/bits/forward_list.h (forward_list<>::insert_after): Minor
1295         cosmetic changes.
1296
1297 2008-10-16  Edward Smith-Rowland  <3dw4rd@verizon.net>
1298
1299         * include/bits/forward_list.h: Factor list construction to dispatch
1300         routines.
1301         * include/bits/forward_list.tcc: Likewise.
1302         * testsuite/23_containers/forward_list/modifiers/2.cc:
1303
1304 2008-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
1305
1306         * include/bits/forward_list.tcc (operator==): Use auto.
1307
1308 2008-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
1309
1310         * include/bits/forward_list.h (_Fwd_list_base<>::_M_insert_after):
1311         Move out of line, tweak to return _Fwd_list_node_base*.
1312         (forward_list<>::insert_after(const_iterator, const _Tp&),
1313         forward_list<>::insert_after(const_iterator, _Tp&&)): Use it.
1314         * include/bits/forward_list.tcc (_Fwd_list_base<>::_M_insert_after):
1315         Define.
1316
1317         * include/bits/forward_list.h (forward_list<>): Consistently qualify
1318         calls of base class functions with this->.
1319         * include/bits/forward_list.tcc (forward_list<>): Likewise.
1320
1321         * include/bits/forward_list.h: Move some functions out of line...
1322         * include/bits/forward_list.tcc: ... here.
1323
1324         * include/bits/forward_list.h (forward_list<>::resize(size_type)): Fix.
1325
1326 2008-10-15  Paolo Carlini  <paolo.carlini@oracle.com>
1327
1328         * include/bits/forward_list.h: Remove pointless const qualifiers in
1329         const_casts.
1330         * include/bits/forward_list.tcc: Likewise.
1331
1332         * include/bits/forward_list.h (forward_list<>::pointer,
1333         const_pointer, reference, const_reference): Fix, use _Tp_alloc_type.
1334         * testsuite/23_containers/forward_list/requirements/
1335         explicit_instantiation/1.cc: New.
1336         * testsuite/23_containers/forward_list/requirements/
1337         explicit_instantiation/1.cc: Likewise.
1338
1339 2008-10-15  Paolo Carlini  <paolo.carlini@oracle.com>
1340
1341         * include/bits/forward_list.h (forward_list<>::max_size): Use
1342         Node_allocator; minor cosmetic changes.
1343         * testsuite/23_containers/forward_list/capacity/1.cc: Adjust.
1344
1345 2008-10-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
1346
1347         * include/std/forward_list: New.
1348         * include/bits/forward_list.h: Likewise.
1349         * include/bits/forward_list.tcc: Likewise.
1350         * include/precompiled/stdc++.h: Modified to include forward_list.
1351         * include/Makefile.am: Add forward_list, forward_list.h, and
1352         forward_list.tcc.
1353         * include/Makefile.in: Regenerate.
1354         * testsuite/23_containers/forward_list/modifiers/1.cc: New.
1355         * testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
1356         * testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
1357         * testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
1358         * testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
1359         * testsuite/23_containers/forward_list/cons/1.cc: Likewise.
1360         * testsuite/23_containers/forward_list/cons/2.cc: Likewise.
1361         * testsuite/23_containers/forward_list/cons/3.cc: Likewise.
1362         * testsuite/23_containers/forward_list/cons/4.cc: Likewise.
1363         * testsuite/23_containers/forward_list/cons/5.cc: Likewise.
1364         * testsuite/23_containers/forward_list/cons/6.cc: Likewise.
1365         * testsuite/23_containers/forward_list/cons/7.cc: Likewise.
1366         * testsuite/23_containers/forward_list/cons/8.cc: Likewise.
1367         * testsuite/23_containers/forward_list/cons/9.cc: Likewise.
1368         * testsuite/23_containers/forward_list/requirements/1.cc: Likewise.
1369         * testsuite/23_containers/forward_list/operations/1.cc: Likewise.
1370         * testsuite/23_containers/forward_list/operations/2.cc: Likewise.
1371         * testsuite/23_containers/forward_list/operations/3.cc: Likewise.
1372         * testsuite/23_containers/forward_list/operations/4.cc: Likewise.
1373         * testsuite/23_containers/forward_list/operations/5.cc: Likewise.
1374         * testsuite/23_containers/forward_list/operations/6.cc: Likewise.
1375         * testsuite/23_containers/forward_list/operations/7.cc: Likewise.
1376         * testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
1377         * testsuite/23_containers/forward_list/comparable.cc: Likewise.
1378         * testsuite/23_containers/forward_list/moveable.cc: Likewise.
1379         * testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise.
1380         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Update.
1381         * testsuite/17_intro/headers/c++200x/all: Likewise.
1382
1383 2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
1384
1385         * include/bits/stl_list.h (_List_node<>::_List_node<>(_Args&&...)):
1386         Add in C++0x mode.
1387         (list<>::_M_create_node<>(_Args&&...)): Use _M_get_Node_allocator.
1388         (list<>::_M_erase(iterator): Likewise, in C++0x mode.
1389         * include/bits/list.tcc (_List_base<>::_M_clear): Likewise.
1390         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1391         Adjust dg-error line number.
1392         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1393         Likewise.
1394         * testsuite/23_containers/list/requirements/dr438/
1395         constructor_1_neg.cc: Likewise.
1396         * testsuite/23_containers/list/requirements/dr438/
1397         constructor_2_neg.cc: Likewise.
1398
1399 2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
1400
1401         * include/bits/stl_tree.h (_Rb_tree<>::max_size): Use Node_allocator
1402         for improved accuracy.
1403         * include/bits/stl_list.h (list<>::max_size): Likewise.
1404         * testsuite/23_containers/multimap/capacity/29134.cc: Adjust.
1405         * testsuite/23_containers/set/capacity/29134.cc: Likewise.
1406         * testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
1407         * testsuite/23_containers/list/capacity/29134.cc: Likewise.
1408         * testsuite/23_containers/map/capacity/29134.cc: Likewise.
1409
1410 2008-10-10  Paolo Carlini  <paolo.carlini@oracle.com>
1411
1412         * testsuite/20_util/reference_wrapper/24803.cc: Avoid uninitialized
1413         warnings.
1414
1415 2008-10-10  Paolo Carlini  <paolo.carlini@oracle.com>
1416
1417         * include/std/system_error (native_category): Remove.
1418         (posix_category): Add.
1419         (error_code::error_code(_ErrorCodeEnum, typename enable_if<>:type*):
1420         Fix _M_cat initialization.
1421         (error_code::operator=(_ErrorCodeEnum)): Assign _M_cat too.
1422         (error_condition::_M_cat, error_condtion::operator=
1423         (_ErrorConditionEnum)): Implement resolution of DR 804.
1424         (error_condition::error_condition(_ErrorConditionEnum, typename
1425         enable_if<>:type*): Fix.
1426         (error_condition::clear, error_condition::assign): Implement.
1427         (operator==, operator!=): Fix uglification of parameters.
1428         (make_error_code, make_error_condition): Define in namespace
1429         posix_error.
1430         (operator<<(basic_ostream<>&, const error_code&)): Define here.
1431         * include/std/ostream (operator<<(basic_ostream<>&,
1432         const error_code&)): Do not define here.
1433         * testsuite/19_diagnostics/error_condition/cons/1.cc: New.
1434         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
1435         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
1436         Likewise.
1437         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
1438         Likewise.
1439         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
1440         Likewise.
1441         * testsuite/19_diagnostics/error_code/cons/1.cc: Tweak.
1442         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
1443         dg-error line numbers.
1444         * testsuite/30_threads/unique_lock/locking/2.cc: Tweak.
1445
1446         * testsuite/util/testsuite_error.h: Minor tweaks.
1447         * testsuite/util/testsuite_hooks.cc: Avoid uninitialized warning.
1448
1449 2008-10-10  Chris Fairles  <cfairles@gcc.gnu.org>
1450
1451         * testsuite/20_util/duration/cons/1.cc: Remove invalid check of
1452         uninitialized duration.
1453
1454 2008-10-08  Bob Walters  <bob.s.walters@gmail.com>
1455
1456         * include/bits/stl_vector.h (_Vector_base<>::_Vector_impl::_M_start,
1457         _M_finish, _M_end_of_storage, _Vector_base<>::_M_allocate,
1458         _M_deallocate): Use _Tp_alloc_type::pointer.
1459
1460 2008-10-07  Jason Merrill  <jason@redhat.com>
1461
1462         PR libstdc++/37761
1463         * testsuite/abi/demangle/abi_examples/20.cc: Adjust expected spacing.
1464         * testsuite/abi/demangle/abi_text/02.cc: Likewise.
1465         * testsuite/abi/demangle/regression/cw-16.cc: Likewise.
1466
1467 2008-10-07  Paolo Carlini  <paolo.carlini@oracle.com>
1468
1469         * include/bits/stl_iterator.h (operator-(const reverse_iterator<>&,
1470         const reverse_iterator<>&), operator-(const __normal_iterator<>&,
1471         const __normal_iterator<>&), operator-(const move_iterator<>&,
1472         const move_iterator<>&)): Use the auto -> return type syntax,
1473         implement DR 685.
1474
1475 2008-10-06  Jason Merrill  <jason@redhat.com>
1476
1477         * config/abi/pre/gnu.ver: Update char16/32_t manglings.
1478
1479 2008-10-05  Paolo Carlini  <paolo.carlini@oracle.com>
1480
1481         * testsuite/20_util/reference_wrapper/invoke.cc: New.
1482         * testsuite/20_util/reference_wrapper/24803.cc: Likewise.
1483         * testsuite/20_util/reference_wrapper/typedefs.cc: Likewise.
1484
1485 2008-10-01  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1486
1487         * config/locale/generic/c_locale.cc (__convert_to_v): Fix
1488         !__FLT_HAS_INFINITY__ case.
1489
1490 2008-09-30  Chris Fairles  <cfairles@gcc.gnu.org>
1491
1492         * include/std/tuple (tuple<>::swap): Implement swap for tuple as per
1493         DR 522 [Ready].
1494         * testsuite/20_util/tuple/swap.cc: New.
1495
1496 2008-09-30  Paolo Carlini  <paolo.carlini@oracle.com>
1497
1498         PR libstdc++/30085 (again)
1499         * include/debug/unordered_map (unordered_map<>, unordered_multimap<>):
1500         Do not derive from _Safe_association, derive from _GLIBCXX_STD_D::
1501         unordered_map / unordered_multimap; add missing member functions.
1502         * include/debug/unordered_set (unordered_set<>, unordered_multiset<>):
1503         Likewise for _GLIBCXX_STD_D::unordered_set / unordered_multiset.
1504         * include/debug/safe_association.h: Remove.
1505         * include/Makefile.am: Adjust.
1506         * include/Makefile.in: Regenerate.
1507         * testsuite/23_containers/unordered_multimap/init-list.cc: Remove
1508         xfail.
1509
1510 2008-09-28  Paolo Carlini  <paolo.carlini@oracle.com>
1511
1512         * include/bits/unique_ptr.h (unique_ptr<_Tp[]>::template<typename U>
1513         void reset(U)): Add as deleted function, per DR 821 [Ready].
1514         * include/bits/unique_ptr.h: Prefer everywhere deleted to private
1515         member function declarations; minor formatting tweaks.
1516         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: New.
1517         * testsuite/20_util/unique_ptr/assign/assign.cc: Adjust DejaGNU
1518         directives.
1519
1520 2008-09-28  Chris Fairles  <cfairles@gcc.gnu.org>
1521
1522         * include/std/mutex (try_lock): Implement generic try_lock.
1523         * testsuite/30_threads/try_lock/1.cc: New.
1524         * testsuite/30_threads/try_lock/2.cc: Likewise.
1525         * testsuite/30_threads/try_lock/3.cc: Likewise.
1526         * testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
1527         * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
1528         * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
1529         * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
1530         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
1531         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
1532         * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
1533         Likewise.
1534         * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Likewise.
1535
1536 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
1537             Steve Ellcey  <sje@cup.hp.com>
1538
1539         * configure: Regenerate for new libtool.
1540         * aclocal.m4: Ditto.
1541         * Makefile.in: Ditto.
1542         * src/Makefile.in: Ditto.
1543         * doc/Makefile.in: Ditto.
1544         * po/Makefile.in: Ditto.
1545         * libmath/Makefile.in: Ditto.
1546         * include/Makefile.in: Ditto.
1547         * libsupc++/Makefile.in: Ditto.
1548         * testsuite/Makefile.in: Ditto.
1549
1550 2008-09-24  Paolo Carlini  <paolo.carlini@oracle.com>
1551
1552         * include/std/bitset: Adjust comment to reflect DR 853.
1553         * include/debug/bitset: Likewise.
1554         * doc/xml/manual/intro.xml: Add an entry for DR 853.
1555
1556 2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
1557
1558         Implement DR 396 [Ready].
1559         * include/std/bitset (bitset<>::bitset(const std::basic_string<>&,
1560         size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
1561         char, char), bitset<>::to_string(_CharT, _CharT),
1562         bitset<>::_M_copy_from_string(const std::basic_string<>&, size_t,
1563         size_t, _CharT, _CharT), bitset<>::_M_copy_to_string
1564         (std::basic_string<>&, _CharT, _CharT), bitset<>::_M_copy_from_ptr(
1565         const _CharT*, size_t, size_t, size_t, _CharT, _CharT)): Add.
1566         (operator>>(std::basic_istream<>&, bitset<_Nb>&), operator<<(
1567         std::basic_ostream<>&, const bitset<_Nb>&)): Adjust.
1568         * include/debug/bitset (bitset<>::bitset(const std::basic_string<>&,
1569         size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
1570         char, char), bitset<>::to_string(_CharT, _CharT)): Add.
1571         * doc/xml/manual/intro.xml: Add an entry for DR 396.
1572         * testsuite/23_containers/bitset/cons/dr396.cc: Add.
1573         * testsuite/23_containers/bitset/to_string/dr396.cc: Likewise.
1574
1575 2008-09-23  Chris Fairles  <cfairles@gcc.gnu.org>
1576
1577         * testsuite/25_algorithms/min/37547.cc: Return void to avoid warnings.
1578         * testsuite/25_algorithms/max/37547.cc: Likewise.
1579         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
1580
1581 2008-09-23  Chris Fairles  <cfairles@gcc.gnu.org>
1582
1583         * include/std/chrono: If _GLIBCXX_USE_MONOTONIC_CLOCK is defined, don't
1584         typedef monotonic_clock to system_clock and instead declare new class.
1585         * src/chrono.cc: Conditionally define monotonic_clock::now().
1586         * include/std/condition_variable (wait_until): Throw exception if
1587         __gthread_cond_timedwait returns with error other than timed_out. Use
1588         system_clock as known clock type (__clock_t) and add overloads for known
1589         and unknown clocks. In the unknown case, sync to the known clock.
1590         Implement overload taking a predicate.
1591         (wait_for): Implement overload taking a predicate.
1592         * config/abi/pre/gnu.ver: Add exports for monotonic_clock.
1593         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Modify
1594         line numbers.
1595         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
1596         Likewise.
1597         * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
1598         * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
1599         * testsuite/30_threads/condition_variable/member/1.cc: New.
1600         * testsuite/30_threads/condition_variable/member/2.cc: Likewise.
1601
1602 2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
1603
1604         PR libstdc++/37624
1605         * testsuite/22_locale/num_get/get/char/10.cc: Skip long double case
1606         when strtold is not available.
1607         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
1608
1609 2008-09-23  Benjamin Kosnik  <bkoz@redhat.com>
1610
1611         PR libstdc++/37391 continued.
1612         * doc/html/ext/pb_ds/assoc_examples.html: Don't use base tag,
1613         specify full path for source file links.
1614         * doc/html/ext/pb_ds/pq_examples.html: Same.
1615
1616 2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
1617
1618         * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't use const
1619         by value parameters.
1620         * include/bits/locale_facets.h (__pad<>::_S_pad): Likewise.
1621
1622 2008-09-22  Paolo Carlini  <paolo.carlini@oracle.com>
1623
1624         PR libstdc++/32422, DR 23 [Ready in R60]
1625         * config/locale/gnu/c_locale.cc (__convert_to_v(const char*, float&,
1626         ios_base::iostate&, const __c_locale&), __convert_to_v(const char*,
1627         double&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
1628         char*, long double&, ios_base::iostate&, const __c_locale&)): Implement
1629         DR 23 and deal correctly with broken exponents.
1630         * config/locale/generic/c_locale.cc (__convert_to_v(const char*,
1631         float&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
1632         char*, double&, ios_base::iostate&, const __c_locale&),
1633         __convert_to_v(const char*, long double&, ios_base::iostate&, const
1634         __c_locale&)): Likewise.
1635         * include/bits/locale_facets.tcc (num_get<>::_M_extract_int(_InIter,
1636         _InIter, ios_base&, ios_base::iostate&, _ValueT&)): Likewise.
1637         (num_get<>::_M_extract_float(_InIter, _InIter, ios_base&,
1638         ios_base::iostate&, string&): Change grouping check to set instead of
1639         OR failbit; do not check for eofbit here...
1640         (num_get<>::do_get(iter_type, iter_type, ios_base&,
1641         ios_base::iostate&, float&), num_get<>::do_get(iter_type, iter_type,
1642         ios_base&, ios_base::iostate&, double&), num_get<>::do_get(iter_type,
1643         iter_type, ios_base&, ios_base::iostate&, long double&),
1644         num_get<>::__do_get(iter_type, iter_type, ios_base&,
1645         ios_base::iostate&, double&)): ... do it here instead.
1646         (num_get<>::do_get(iter_type, iter_type, ios_base&,
1647         ios_base::iostate&, bool&)): Implement DR 23.
1648         (num_get<>::do_get(iter_type, iter_type, ios_base&,
1649         ios_base::iostate&, void*&)): Adjust.
1650         * doc/xml/manual/intro.xml: Add and entry for DR 23.
1651         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
1652         Adjust.
1653         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1654         Likewise.
1655         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
1656         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
1657         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
1658         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
1659         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
1660         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
1661         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
1662         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
1663         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
1664         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
1665
1666 2008-09-22  Benjamin Kosnik  <bkoz@redhat.com>
1667
1668         PR libstdc++/37391
1669         * doc/html/ext/pb_ds/*.html: Fix external links.
1670
1671 2008-09-22  Benjamin Kosnik  <bkoz@redhat.com>
1672
1673         * doc/doxygen/user.cfg.in: Define _GLIBCXX_HAS_GTHREADS for mutex,
1674         condition_variable, and thread output.
1675
1676 2008-09-22  Paolo Carlini  <paolo.carlini@oracle.com>
1677
1678         * doc/html/ext/lwg-closed.html: Update to Revision R59.
1679         * doc/html/ext/lwg-active.html: Likewise.
1680         * doc/html/ext/lwg-defects.html: Likewise.
1681         * doc/xml/manual/intro.xml: Adjust.
1682
1683 2008-09-21  Paolo Carlini  <paolo.carlini@oracle.com>
1684
1685         * include/bits/stl_algo.h (minmax(initializer_list<>): Use make_pair,
1686         consistently with the other overload for initializer_list.
1687
1688 2008-09-19  Johannes Singler  <singler@ira.uka.de>
1689
1690         PR libstdc++/37470
1691         * include/parallel/base.h: Rename log2 to __log2.
1692           (__log2) Avoid infinite loop for n <= 0, return 0.
1693         * include/parallel/losertree.h: Rename log2 to __log2.
1694         * include/parallel/multiseq_selection.h: Likewise.
1695         * include/parallel/random_shuffle.h: Likewise.
1696
1697 2008-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
1698
1699         * include/bits/shared_ptr.h (__shared_count<>::
1700         __shared_count(_Ptr, _Deleter), __shared_count<>::
1701         __shared_count(_Ptr, _Deleter, _Alloc), __shared_count<>::
1702         __shared_count(_Sp_make_shared_tag, _Tp*, _Alloc, _Args&&...)):
1703         Qualify new with ::.
1704
1705 2008-09-17  Paolo Carlini  <paolo.carlini@oracle.com>
1706
1707         PR libstdc++/37547
1708         * include/bits/stl_algo.h (min(initializer_list<>),
1709         min(initializer_list<>, Compare), max(initializer_list<>),
1710         max(initializer_list<>, Compare), minmax(initializer_list<>),
1711         minmax(initializer_list<>, Compare)): Fix return type.
1712         * include/bits/algorithmfwd.h: Adjust.
1713         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
1714         * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
1715         Likewise.
1716         * testsuite/25_algorithms/max/requirements/explicit_instantiation/
1717         pod2.cc: Likewise.
1718         * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
1719         Likewise.
1720         * testsuite/25_algorithms/min/requirements/explicit_instantiation/
1721         pod2.cc: Likewise.
1722         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
1723         3.cc: Likewise.
1724         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
1725         pod2.cc: Likewise.
1726         * testsuite/25_algorithms/max/37547.cc: New.
1727         * testsuite/25_algorithms/min/37547.cc: Likewise.
1728         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
1729
1730 2008-09-16  Chris Fairles  <chris.fairles@gmail.com>
1731
1732         * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
1733         New.
1734         * testsuite/25_algorithms/min/requirements/explicit_instantiation/
1735         pod2.cc: Likewise.
1736         * testsuite/25_algorithms/min/3.cc: Likewise.
1737         * testsuite/25_algorithms/min/4.cc: Likewise.
1738         * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
1739         Likewise.
1740         * testsuite/25_algorithms/max/requirements/explicit_instantiation/
1741         pod2.cc: Likewise.
1742         * testsuite/25_algorithms/max/3.cc: Likewise.
1743         * testsuite/25_algorithms/max/4.cc: Likewise.
1744         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
1745         3.cc: Likewise.
1746         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
1747         pod2.cc: Likewise.
1748         * testsuite/25_algorithms/minmax/2.cc: Likewise.
1749         * testsuite/25_algorithms/minmax/3.cc: Likewise.
1750
1751 2008-09-16  Paolo Carlini  <paolo.carlini@oracle.com>
1752
1753         * include/bits/stl_algo.h (min(initializer_list<>),
1754         min(initializer_list<>, Compare), max(initializer_list<>),
1755         max(initializer_list<>, Compare), minmax(initializer_list<>),
1756         minmax(initializer_list<>, Compare)): Add in C++0x mode.
1757         * include/bits/algorithmfwd.h: Add.
1758         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
1759
1760 2008-09-13  Chris Fairles  <chris.fairles@gmail.com>
1761
1762         * testsuite/30_threads/thread/algorithm/1.cc: Join thread before
1763         program exits.
1764         * testsuite/30_threads/thread/algorithm/2.cc: Likewise.
1765         * testsuite/30_threads/thread/this_thread/3.cc: Define test variable.
1766         * testsuite/30_threads/thread/this_thread/4.cc: Likewise.
1767
1768 2008-09-12  Chris Fairles  <chris.fairles@gmail.com>
1769             Benjamin Kosnik  <bkoz@redhat.com>
1770
1771         * include/std/thread: New.
1772         * include/Makefile.am: Update.
1773         * include/Makefile.in: Regenerate.
1774         * src/thread.cc: New.
1775         * src/Makefile.am: Update.
1776         * src/Makefile.in: Regenerate.
1777         * acinclude.m4: Add check for nanosleep.
1778         * configure.ac: Call it.
1779         * configure: Regenerate.
1780         * config.h.in: Likewise.
1781         * config/abi/pre/gnu.ver: Add exports.
1782         * doc/doxygen/user.cfg.in: Add thread header.
1783         * testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Add.
1784         * testsuite/lib/dg-options.exp (dg-require-nanosleep): Add.
1785         * testsuite/30_threads/thread/cons/1.cc: New.
1786         * testsuite/30_threads/thread/cons/2.cc: Likewise.
1787         * testsuite/30_threads/thread/cons/3.cc: Likewise.
1788         * testsuite/30_threads/thread/cons/4.cc: Likewise.
1789         * testsuite/30_threads/thread/algorithm/1.cc: Likewise.
1790         * testsuite/30_threads/thread/algorithm/2.cc: Likewise.
1791         * testsuite/30_threads/thread/member/1.cc: Likewise.
1792         * testsuite/30_threads/thread/member/2.cc: Likewise.
1793         * testsuite/30_threads/thread/member/3.cc: Likewise.
1794         * testsuite/30_threads/thread/this_thread/1.cc: Likewise.
1795         * testsuite/30_threads/thread/this_thread/2.cc: Likewise.
1796         * testsuite/30_threads/thread/this_thread/3.cc: Likewise.
1797         * testsuite/30_threads/thread/this_thread/4.cc: Likewise.
1798         * testsuite/30_threads/headers/thread/types_std_c++0x.cc: Likewise.
1799         * testsuite/30_threads/headers/thread/std_c++0x_neg.cc: Likewise.
1800         * testsuite/17_intro/headers/c++200x/all.cc: Add thread.
1801         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc:
1802         Add thread, condition_variable and mutex.
1803
1804 2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
1805
1806         * src/ctype.cc (use_facet<ctype<char> >, use_facet<ctype<wchar_t>):
1807         Remove specializations.
1808         * src/locale-inst.cc (use_facet<ctype<C> >): Instantiate.
1809         * include/bits/locale_facets.tcc (use_facet<ctype<char> >,
1810         use_facet<ctype<wchar_t>): Declare as extern template.
1811         * include/bits/locale_facets.h (use_facet<ctype<char> >,
1812         use_facet<ctype<wchar_t>): Do not declare as specializations.
1813
1814 2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
1815
1816         * config/locale/darwin/ctype_members.cc (ctype<char>::_M_narrow_init,
1817         ctype<char>::_M_widen_init): Don't define here.
1818         * config/locale/gnu/ctype_members.cc: Likewise.
1819         * config/locale/generic/ctype_members.cc: Likewise.
1820         * src/ctype.cc: Define here.
1821
1822 2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
1823
1824         PR libstdc++/37455
1825         * include/bits/locale_facets.h (ctype<char>::_M_narrow_init,
1826         ctype<char>::_M_widen_init): Don't define inline.
1827         * config/locale/darwin/ctype_members.cc: ... define here.
1828         * config/locale/gnu/ctype_members.cc: ... likewise.
1829         * config/locale/generic/ctype_members.cc: ... likewise.
1830         * config/abi/pre/gnu.ver: Export.
1831
1832 2008-09-09  Benjamin Kosnik  <bkoz@redhat.com>
1833
1834         * doc/xml/manual/abi.xml: Update for new releases.
1835         * doc/doxygen/user.cfg.in: Include C compatibility headers.
1836         * doc/html/*: Regenerate.
1837
1838 2008-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
1839
1840         * include/tr1_impl/cinttypes: Restore __STDC_FORMAT_MACROS after
1841         inclusion of <inttypes.h>.
1842         * include/tr1_impl/cstdint: Likewise for __STDC_LIMIT_MACROS and
1843         __STDC_CONSTANT_MACROS after <stdint.h>.
1844         * include/bits/postypes.h: Likewise.
1845
1846 2008-09-09  Andreas Schwab  <schwab@suse.de>
1847
1848         * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Fix compile check
1849         not to redefine main.
1850
1851 2008-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
1852
1853         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Check wcstoimax and
1854         wcstoumax, define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
1855         * include/tr1_impl/cinttypes: Use the latter.
1856         * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Likewise.
1857         * configure: Regenerate.
1858         * config.h.in: Likewise.
1859
1860 2008-09-05  Peter Dimov  <pdimov@mmltd.net>
1861
1862         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: New.
1863
1864 2008-09-05  Paolo Carlini  <paolo.carlini@oracle.com>
1865
1866         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref.cc: Rename
1867         to...
1868         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc: ...
1869         this.
1870
1871 2008-09-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
1872
1873         PR libstdc++/36962
1874         * include/Makefile.am: Update headers.
1875         * include/Makefile.in: Regenerate.
1876         * include/std/memory: Update headers.
1877         * include/tr1/memory: Likewise.
1878         * include/tr1_impl/boost_shared_ptr.h: Remove, splitting into
1879         separate implementations for std and tr1.
1880         * include/bits/boost_sp_shared_count.h: Remove.
1881         * include/tr1/boost_sp_shared_count.h: Remove.
1882         * include/bits/shared_ptr.h: New. Combines boost_sp_shared_count.h
1883         and boost_shared_ptr.h into one file.
1884         (__shared_count,__shared_ptr,shared_ptr,swap): Add unique_ptr
1885         and rvalue-reference support as per current WP.
1886         * include/tr1/shared_ptr.h: New. Combines boost_sp_shared_count.h
1887         and boost_shared_ptr.h into one file.
1888         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: New.
1889         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: New.
1890         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref.cc: New.
1891         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: New.
1892         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: New.
1893         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: New.
1894         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: New.
1895         * testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc: New.
1896         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Remove.
1897
1898 2008-09-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
1899
1900         * doc/xml/manual/locale.xml: Fix typo.
1901
1902 2008-09-04  Paolo Carlini  <paolo.carlini@oracle.com>
1903
1904         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Tidy checks in case of
1905         POSIX threads.
1906         * configure: Regenerate.
1907
1908 2008-09-04  Chris Fairles  <chris.fairles@gmail.com>
1909
1910         * include/std/mutex (once_flag): Construct __gthread_once_t in a
1911         temporary variable before assigning to _M_once to avoid initialization
1912         errors.
1913
1914 2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
1915
1916         * config/abi/pre/gnu.ver: Also export __once_functor_lock; tighten
1917         GLIBCXX_3.4 exports (necessary in case of undef _GLIBCXX_HAVE_TLS).
1918
1919         * Makefile.in: Regenerate.
1920         * src/Makefile.in: Likewise.
1921         * doc/Makefile.in: Likewise.
1922         * po/Makefile.in: Likewise.
1923         * libmath/Makefile.in: Likewise.
1924         * include/Makefile.in: Likewise.
1925         * libsupc++/Makefile.in: Likewise.
1926         * testsuite/Makefile.in: Likewise.
1927
1928 2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
1929
1930         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Fix typo in last commit,
1931         check _POSIX_TIMEOUTS, not _POSIX_TIMERS.
1932         * configure: Regenerate.
1933
1934 2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
1935
1936         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check _POSIX_TIMERS too.
1937         * configure: Regenerate.
1938
1939 2008-09-03  Chris Fairles  <chris.fairles@gmail.com>
1940
1941         * include/std/condition_variable: Use new deleted ctors.
1942         * include/std/mutex: Likewise plus implement timed_mutex,
1943         recursive_timed_mutex and call_once.
1944         * src/condition_variable.cc: Implement wait(). Use gthread types.
1945         Remove _GTHREADS_HAS_COND checks in favor of global
1946         _GLIBCXX_HAS_GTHREADS.
1947         * src/mutex.cc (call_once): Implementation using TLS with mutex
1948         fallback.
1949         * config/abi/pre/gnu.ver: Add exported symbols.
1950         * testsuite/lib/libstdc++.exp (check_v3_target_gthreads): New.
1951         * testsuite/lib/dg-options.exp (dg-require-gthreads): Likewise.
1952         * testsuite/30_threads/lock_guard/requirements/typedefs.cc: Use
1953         dg-require-gthreads and dg-require-cstdint.
1954         * testsuite/30_threads/lock_guard/requirements/
1955         explicit_instantiation.cc: Likewise.
1956         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
1957         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
1958         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
1959         * testsuite/30_threads/mutex/requirements/typedefs.cc: Likewise.
1960         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
1961         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
1962         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
1963         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
1964         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
1965         Likewise.
1966         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
1967         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
1968         * testsuite/30_threads/recursive_mutex/requirements/typedefs.cc:
1969         Likewise.
1970         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
1971         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
1972         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
1973         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
1974         * testsuite/30_threads/unique_lock/requirements/
1975         explicit_instantiation.cc: Likewise.
1976         * testsuite/30_threads/unique_lock/requirements/typedefs.cc: Likewise.
1977         * testsuite/30_threads/mutex/cons/assign_neg.cc: Also adjust dg-error
1978         lines for deleted members.
1979         * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
1980         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
1981         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
1982         * testsuite/30_threads/call_once/once_flag.cc: New.
1983         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
1984         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
1985         * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise
1986         * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
1987         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
1988         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
1989         Likewise.
1990         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
1991         Likewise.
1992         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
1993         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
1994         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
1995         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
1996         * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
1997         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
1998         * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
1999         * testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
2000         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2001         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2002         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2003         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2004         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2005         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2006         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2007         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2008         Likewise.
2009         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2010         Likewise.
2011         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2012         Likewise.
2013         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2014         Likewise.
2015         * testsuite/30_threads/recursive_timed_mutex/cons: Likewise.
2016         * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
2017         Likewise.
2018         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2019         * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
2020         Likewise.
2021         * testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
2022         Likewise.
2023         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
2024         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
2025         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2026         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2027         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
2028         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2029         Likewise.
2030         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2031         Likewise.
2032         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2033         Likewise.
2034         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2035         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
2036         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2037         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2038         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2039         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2040         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2041         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2042         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2043         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2044         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2045         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2046
2047 2008-09-01  Mark Mitchell  <mark@codesourcery.com>
2048
2049         * include/std/type_traits (__make_unsigned_selector<>): Consider
2050         enums of size smaller than short.
2051         (__make_signed_selector<>): Likewise.
2052         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2053         Adjust line numbers.
2054         * testsuite/20_util/make_usigned/requirements/typedefs_neg.cc:
2055         Adjust line numbers.
2056         * testsuite/20_util/make_signed/requirements/typedefs-2.cc:
2057         Ensure test_enum is the same size as short.
2058         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
2059         Ensure test_enum is the same size as short.
2060
2061 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
2062
2063         * acinclude.m4 <enable_symvers>: Don't use symvers on Windows.
2064         * configure: Regenerated.
2065         * Makefile.in: Regenerated.
2066         * src/Makefile.in: Regenerated.
2067         * doc/Makefile.in: Regenerated.
2068         * po/Makefile.in: Regenerated.
2069         * libmath/Makefile.in: Regenerated.
2070         * include/Makefile.in: Regenerated.
2071         * libsupc++/Makefile.in: Regenerated.
2072         * testsuite/Makefile.in: Regenerated.
2073
2074 2008-08-29  Mark Mitchell  <mark@codesourcery.com>
2075
2076         * testsuite/25_algorithms/nth_element/2.cc: Constrain iterations
2077         when testing on a simultor.
2078
2079 2008-08-28  Paolo Carlini  <paolo.carlini@oracle.com>
2080
2081         * testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
2082         Rename to .../typedefs.cc.
2083         * testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
2084         Likewise.
2085         * testsuite/tr1/6_containers/unordered_multiset/requirements/
2086         typedef.cc: Likewise.
2087         * testsuite/tr1/6_containers/unordered_multimap/requirements/
2088         typedef.cc: Likewise.
2089         * testsuite/23_containers/unordered_set/requirements/typedef.cc:
2090         Likewise.
2091         * testsuite/23_containers/unordered_map/requirements/typedef.cc:
2092         Likewise.
2093         * testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
2094         Likewise.
2095         * testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
2096         Likewise.
2097
2098 2008-08-28  Chris Fairles  <chris.fairles@gmail.com>
2099
2100         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): New. Checks for gthread
2101         support used by c++0x thread library.
2102         * configure.ac: Test unconditionally.
2103         * configure: Regenerate.
2104         * config.h.in: Regenerate.
2105
2106 2008-08-27  Benjamin Kosnik  <bkoz@redhat.com>
2107
2108         * doc/Makefile.am: Edit xml file list.
2109         * doc/Makefile.in: Regenerate.
2110         * configure: Regenerate.
2111         * doc/xml/manual/intro.xml: Edit, correct links, structure.
2112         * doc/xml/manual/configure.xml: Same.
2113         * doc/xml/manual/debug.xml: Same.
2114         * doc/xml/manual/test.xml: Same.
2115         * doc/xml/manual/build.xml: Remove.
2116         * doc/xml/manual/prerequisites.xml: Add.
2117         * doc/html/*: Regenerate.
2118
2119 2008-08-27  Paolo Carlini  <paolo.carlini@oracle.com>
2120
2121         * include/tr1_impl/hashtable (_Hashtable<>): Add missing pointer and
2122         const_pointer typedefs.
2123         * testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
2124         Add.
2125         * testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
2126         Likewise.
2127         * testsuite/tr1/6_containers/unordered_multiset/requirements/
2128         typedef.cc: Likewise.
2129         * testsuite/tr1/6_containers/unordered_multimap/requirements/
2130         typedef.cc: Likewise.
2131         * testsuite/23_containers/unordered_set/requirements/typedef.cc:
2132         Likewise.
2133         * testsuite/23_containers/unordered_map/requirements/typedef.cc:
2134         Likewise.
2135         * testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
2136         Likewise.
2137         * testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
2138         Likewise.
2139
2140 2008-08-27  Paul Brook  <paul@codesourcery.com>
2141
2142         * libsupc++/eh_call.cc (__cxa_call_unexpected): Fix name of
2143         __get_object_from_ambiguous_exception.
2144
2145 2008-08-26  Ben Elliston  <bje@au.ibm.com>
2146
2147         * src/mt_allocator.cc (__pool): Fix error in comment.
2148
2149 2008-08-25  Paolo Carlini  <paolo.carlini@oracle.com>
2150
2151         * linkage.m4 ([GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1],
2152         [GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT]): Remove
2153         * configure.ac: Do not call the latter.
2154         * crossconfig.m4: Likewise.
2155         * libmath/mathconf.h: Adjust.
2156         * configure: Regenerate.
2157         * config.h.in: Likewise.
2158
2159 2008-08-24  Paolo Carlini  <paolo.carlini@oracle.com>
2160
2161         * acinclude.m4 ([GLIBCXX_CHECK_RANDOM_TR1]): Simplify, just use
2162         two test -r instead of an AC_TRY_RUN.
2163         * configure: Regenerate.
2164         * config.h.in: Likewise.
2165
2166 2008-08-24  Paolo Carlini  <paolo.carlini@oracle.com>
2167
2168         * acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Improve documentation.
2169         * doc/xml/manual/configure.xml: Likewise.
2170
2171 2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>
2172
2173         * acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Use [=KIND] in
2174         GLIBCXX_ENABLE.
2175         * configure: Regenerate.
2176
2177 2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>
2178
2179         * acinclude.m4 ([GLIBCXX_CHECK_GETTIMEOFDAY]): Change to use
2180         GCC_TRY_COMPILE_OR_LINK.
2181         ([GLIBCXX_CHECK_CLOCK_GETTIME]): Rename to
2182         [GLIBCXX_ENABLE_CLOCK_GETTIME], a versatile configure-time option,
2183         [no] by default, since it includes TRY_LINK checks.  librt is also
2184         searched, if requested.
2185         * doc/xml/manual/configure.xml: Document the latter.
2186         * configure.ac: Move the above checks outside native-only.
2187         * configure: Regenerate.
2188
2189 2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>
2190
2191         * testsuite/lib/libstdc++.exp (check_v3_target_atomic_builtins): Add.
2192         * testsuite/lib/dg-options.exp (dg-require-atomic-builtins): Likewise.
2193         * testsuite/18_support/exception_ptr/current_exception.cc: Use it.
2194         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
2195         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
2196
2197 2008-08-23  Sebastian Redl <sebastian.redl@getdesigned.at>
2198
2199         Add (again) exception propagation support as per N2179.  Feature is
2200         available only when _GLIBCXX_ATOMIC_BUILTINS_4 is defined.
2201         * libsupc++/exception_ptr.h (exception_ptr, current_exception,
2202         copy_exception, rethrow_exception): New file, implement exception
2203         propagation.
2204         * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
2205         rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
2206         * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
2207         (__cxa_dependent_exception, __cxa_allocate_dependent_exception,
2208         __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
2209         __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
2210         __gxx_dependent_exception_class, __get_object_from_ue,
2211         __get_object_from_ambiguous_exception): Add.
2212         (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
2213         (__is_gxx_exception_class): Handle dependent exceptions.
2214         * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
2215         * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
2216         * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
2217         * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
2218         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
2219         __cxa_free_dependent_exception): Add.
2220         * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
2221         counting.
2222         * libsupc++/exception: Conditionally include exception_ptr.h.
2223         * libsupc++/Makefile.am: Register new files.
2224         * libsupc++/Makefile.in: Regenerate.
2225         * config/abi/pre/gnu.ver: Add new symbols.
2226         * testsuite/18_support/exception_ptr/current_exception.cc: Test the
2227         core functionality of current_exception().
2228         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
2229         core functionality of rethrow_exception().
2230         * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
2231         exception objects during exception propagation.
2232
2233 2008-08-22  Paolo Carlini  <paolo.carlini@oracle.com>
2234
2235         Revert again the N2179 patch.
2236
2237 2008-08-21  Sebastian Redl <sebastian.redl@getdesigned.at>
2238
2239         * libsupc++/eh_ptr.cc (__gxx_dependent_exception_cleanup): Call
2240         __cxa_free_dependent_exception.
2241
2242 2008-08-20  Paolo Carlini  <paolo.carlini@oracle.com>
2243
2244         * include/bits/char_traits.h (char_traits<char16_t>::
2245         assign(char_type*, size_t, char_type), char_traits<char32_t>::
2246         assign(char_type*, size_t, char_type)): For now, just open-code.
2247
2248 2008-08-20  Paolo Carlini  <paolo.carlini@oracle.com>
2249
2250         PR c++/33979 (partial)
2251         * include/bits/postypes.h (u16streampos, u32streampos): Add.
2252         * include/bits/char_traits.h (char_traits<char16_t>,
2253         char_traits<char32_t>): Add.
2254         * include/bits/stringfwd.h (u16string, u32string): Add.
2255         * include/ext/vstring_fwd.h: Add typedefs for char16_t/char32_t.
2256         * testsuite/21_strings/char_traits/requirements/char32_t/typedefs.cc:
2257         New.
2258         * testsuite/21_strings/char_traits/requirements/
2259         explicit_instantiation/short/1.cc: Likewise.
2260         * testsuite/21_strings/char_traits/requirements/
2261         explicit_instantiation/char32_t/1.cc: Likewise.
2262         * testsuite/21_strings/char_traits/requirements/
2263         explicit_instantiation/wchar_t/1.cc: Likewise.
2264         * testsuite/21_strings/char_traits/requirements/
2265         explicit_instantiation/char16_t/1.cc: Likewise.
2266         * testsuite/21_strings/char_traits/requirements/
2267         explicit_instantiation/char/1.cc: Likewise.
2268         * testsuite/21_strings/char_traits/requirements/char16_t/typedefs.cc:
2269         Likewise.
2270         * testsuite/21_strings/basic_string/requirements/
2271         explicit_instantiation/char32_t/1.cc: Likewise.
2272         * testsuite/21_strings/basic_string/requirements/
2273         explicit_instantiation/wchar_t/1.cc: Likewise.
2274         * testsuite/21_strings/basic_string/requirements/
2275         explicit_instantiation/char16_t/1.cc: Likewise.
2276         * testsuite/21_strings/basic_string/requirements/
2277         explicit_instantiation/char/1.cc: Likewise.
2278         * testsuite/21_strings/headers/string/types_std_c++0x.cc: Likewise.
2279         * testsuite/ext/vstring/requirements/explicit_instantiation/
2280         char32_t/1.cc: Likewise.
2281         * testsuite/ext/vstring/requirements/explicit_instantiation/
2282         char16_t/1.cc: Likewise.
2283
2284 2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
2285
2286         PR libstdc++/37149
2287         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Include
2288         <cstdio>.
2289         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
2290         Likewise.
2291         * testsuite/27_io/objects/char/12048-1.cc: Likewise.
2292         * testsuite/27_io/objects/char/12048-3.cc: Likewise.
2293         * testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise.
2294         * testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise.
2295         * testsuite/ext/malloc_allocator/deallocate_global.cc: Likewise.
2296         * testsuite/ext/malloc_allocator/deallocate_local.cc: Likewise.
2297         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Likewise.
2298         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Likewise.
2299         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Likewise.
2300         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Likewise.
2301         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Likewise.
2302         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Likewise.
2303         * testsuite/ext/mt_allocator/deallocate_local-6.cc: Likewise.
2304         * testsuite/ext/mt_allocator/deallocate_local-8.cc: Likewise.
2305         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Likewise.
2306         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Likewise.
2307         * testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: Likewise.
2308         * testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: Likewise.
2309         * testsuite/ext/new_allocator/deallocate_global.cc: Likewise.
2310         * testsuite/ext/new_allocator/deallocate_local.cc: Likewise.
2311         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
2312         * include/std/regex: Include <sstream>.
2313         * include/tr1/regex: Likewise.
2314
2315 2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
2316
2317         * configure.ac: Do not hardcode HAVE_S_ISREG and HAVE_S_IFREG for
2318         newlib.
2319         * configure: Regenerate.
2320
2321 2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
2322
2323         PR libstdc++/37147
2324         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Tighten checks on stdint.h,
2325         check the macros too.
2326         * configure: Regenerate.
2327
2328 2008-08-17  Paolo Carlini  <paolo.carlini@oracle.com>
2329
2330         * acinclude.m4 ([AC_LC_MESSAGES]): Use AC_TRY_COMPILE instead of
2331         AC_TRY_LINK.
2332         * configure.ac: Run unconditionally AC_LC_MESSAGES.
2333         * crossconfig.m4: Adjust.
2334         * configure: Regenerate.
2335
2336 2008-08-17  Paolo Carlini  <paolo.carlini@oracle.com>
2337
2338         * acinclude.m4 ([GLIBCXX_CHECK_LFS], [GLIBCXX_CHECK_POLL],
2339         [GLIBCXX_CHECK_S_ISREG_OR_S_IFREG], [GLIBCXX_CHECK_WRITEV]):
2340         Use GCC_TRY_COMPILE_OR_LINK instead of AC_TRY_LINK, in C++,
2341         with -fno-exceptions as flags.
2342         * configure.ac: Run unconditionally GLIBCXX_CHECK_LFS,
2343         GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_S_ISREG_OR_S_IFREG,
2344         GLIBCXX_CHECK_WRITEV and commonized AC_CHECK_HEADERS.
2345         * crossconfig.m4: Adjust; remove AC_CHECK_HEADERS commonized
2346         in configure.ac.
2347         * configure: Regenerate.
2348
2349 2008-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
2350
2351         Re-instate last patch, amended to use __exchange_and_add_dispatch
2352         and __atomic_add_dispatch in eh_ptr.cc and eh_throw.cc.
2353
2354 2008-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
2355
2356         Revert the last patch.
2357
2358 2008-08-13  Sebastian Redl <sebastian.redl@getdesigned.at>
2359
2360         Add exception propagation support as per N2179.
2361         * libsupc++/exception_ptr.h (exception_ptr, current_exception,
2362         copy_exception, rethrow_exception): New file, implement exception
2363         propagation.
2364         * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
2365         rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
2366         * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
2367         (__cxa_dependent_exception, __cxa_allocate_dependent_exception,
2368         __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
2369         __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
2370         __gxx_dependent_exception_class, __get_object_from_ue,
2371         __get_object_from_ambiguous_exception): Add.
2372         (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
2373         (__is_gxx_exception_class): Handle dependent exceptions.
2374         * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
2375         * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
2376         * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
2377         * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
2378         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
2379         __cxa_free_dependent_exception): Add.
2380         * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
2381         counting.
2382         * libsupc++/exception: Conditionally include exception_ptr.h.
2383         * libsupc++/Makefile.am: Register new files.
2384         * libsupc++/Makefile.in: Regenerate.
2385         * config/abi/pre/gnu.ver: Add new symbols.
2386         * testsuite/18_support/exception_ptr/current_exception.cc: Test the
2387         core functionality of current_exception().
2388         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
2389         core functionality of rethrow_exception().
2390         * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
2391         exception objects during exception propagation.
2392
2393 2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>
2394
2395         PR libstdc++/37100
2396         * include/bits/stl_pair.h: Fix documentation URL in comment.
2397
2398 2008-08-12  Johannes Singler  <singler@ira.uka.de>
2399
2400         * include/paralle/losertree.h
2401         (LoserTreePointerBase<>::~LoserTreePointerBase):
2402         Replace delete by appropriate delete[].
2403
2404 2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>
2405
2406         * configure.ac: Run unconditionally GLIBCXX_CHECK_INT64_T and
2407         GLIBCXX_CHECK_C99_TR1; remove sigsetjmp and mmap checks (unused).
2408         * crossconfig.m4: Adjust; remove HAVE_GETPAGESIZE defines (unused).
2409         * configure: Regenerate.
2410         * config.h.in: Likewise.
2411
2412         * acinclude.m4: Minor formatting fixes.
2413
2414 2008-08-11  Stephen M. Webb  <stephenw@xandros.com>
2415
2416         * include/tr1_impl/regex: Formatting fixes.
2417         * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
2418           New test.
2419         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
2420           New test.
2421
2422 2008-08-11  Paolo Carlini  <paolo.carlini@oracle.com>
2423
2424         * config/locale/generic/c_locale.cc: Include <cstdio>.
2425
2426 2008-08-11  Paolo Carlini  <paolo.carlini@oracle.com>
2427
2428         * configure.ac: Run GLIBCXX_CHECK_STDIO_MACROS unconditionally.
2429         * configure: Regenerate.
2430
2431 2008-08-10  Paolo Carlini  <paolo.carlini@oracle.com>
2432
2433         * include/tr1_impl/type_traits (_DEFINE_SPEC*): Simplify.
2434         (_DEFINE_SPEC_BODY): Remove.
2435         (__is_void_helper, __is_integral_helper, __is_floating_point_helper,
2436         __is_member_object_pointer_helper, __is_member_function_pointer_helper,
2437         __remove_pointer_helper): Add.
2438         (is_void, is_integral, is_floating_point, is_member_object_pointer,
2439         is_member_function_pointer, remove_pointer): Use the latter.
2440         * include/tr1/type_traits (_DEFINE_SPEC): Simplify.
2441         (_DEFINE_SPEC_HELPER): Remove.
2442         (__is_signed_helper, __is_unsigned_helper): Add.
2443         (is_signed, is_unsigned): Use the latter.
2444
2445 2008-08-09  Paolo Carlini  <paolo.carlini@oracle.com>
2446
2447         Revert fix for libstdc++/35637, thanks to other/36901.
2448         * include/tr1_impl/type_traits (__is_function_helper): New, uses
2449         variadic templates.
2450         (is_function): Forward to the latter.
2451         (__in_array): Remove.
2452
2453 2008-08-09  Paolo Carlini  <paolo.carlini@oracle.com>
2454
2455         * config/locale/darwin/ctype_members.cc: Include <cstdio>.
2456
2457 2008-08-08  Paolo Carlini  <paolo.carlini@oracle.com>
2458
2459         * include/bits/ios_base.h: Undef _IOS_BASE_SEEK_CUR and
2460         _IOS_BASE_SEEK_END at the end of the file.
2461         * include/bits/char_traits.h: Likewise for _CHAR_TRAITS_EOF.
2462
2463 2008-08-07  Stephen M. Webb  <stephenw@xandros.com>
2464
2465         * include/tr1_impl/regex (match_results<>::cbegin, cend): Add, per
2466         N2691 WD.
2467
2468 2008-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
2469
2470         * acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): New, checks for
2471         common values of EOF, SEEK_CUR, SEEK_END.
2472         * configure.ac: Use it.
2473         * include/bits/ios_base.h: Likewise.
2474         * include/bits/char_traits.h: Likewise.
2475         * config/locale/gnu/ctype_members.cc: Include <cstdio>.
2476         * config/locale/generic/ctype_members.cc: Likewise.
2477         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error lines.
2478         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
2479         * configure: Regenerate.
2480         * config.h.in: Likewise.
2481
2482 2008-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
2483
2484         * acinclude.m4 ([GLIBCXX_CHECK_INT64_T]): Also check whether int64_t
2485         is actually a typedef to long or long long.
2486         * include/bits/postypes.h: If int64_t is actually a typedef for
2487         long or long long don't include <stdint.h> unnecessarily.
2488         * configure: Regenerate.
2489         * config.h.in: Likewise.
2490
2491 2008-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
2492
2493         * testsuite/util/testsuite_api.h (diamond_derivation<>::test):
2494         Expect ambiguity together with the standard exception classes.
2495         * testsuite/27_io/ios_base/failure/cons_virtual_derivation.cc: Remove
2496         xfail.
2497         * testsuite/19_diagnostics/logic_error/cons_virtual_derivation.cc:
2498         Likewise.
2499         * testsuite/19_diagnostics/runtime_error/cons_virtual_derivation.cc:
2500         Likewise.
2501         * testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc:
2502         Likewise.
2503         * testsuite/18_support/bad_alloc/cons_virtual_derivation.cc: Likewise.
2504         * testsuite/18_support/bad_cast/cons_virtual_derivation.cc: Likewise.
2505         * testsuite/18_support/bad_exception/cons_virtual_derivation.cc:
2506         Likewise.
2507         * testsuite/18_support/bad_typeid/cons_virtual_derivation.cc:
2508         Likewise.
2509         * testsuite/ext/concurrence_lock_error/cons_virtual_derivation.cc:
2510         Likewise.
2511         * testsuite/ext/forced_exception_error/cons_virtual_derivation.cc:
2512         Likewise.
2513         * testsuite/ext/concurrence_unlock_error/cons_virtual_derivation.cc:
2514         Likewise.
2515         * testsuite/20_util/bad_function_call/cons_virtual_derivation.cc:
2516         Likewise.
2517
2518 2008-08-04  Paolo Carlini  <paolo.carlini@oracle.com>
2519
2520         * include/bits/postypes.h: Reinstate inclusion of <stdint.h>;
2521         also define the __STDC_* macros.
2522         (streamoff): Adjust.
2523
2524         * include/tr1_impl/cstdint: Check that the __STDC_* macros are
2525         not defined before defining.
2526
2527 2008-08-01  Paolo Bonzini  <bonzini@gnu.org>
2528             Chris Fairles  <chris.fairles@gmail.com>
2529
2530         * acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Reinstate clock_gettime
2531         search, but only in libposix4, never link librt.
2532         * src/Makefile.am: Reinstate previous change to add GLIBCXX_LIBS.
2533         * configure: Regenerate.
2534         * configure.in: Likewise.
2535         * Makefile.in: Likewise.
2536         * src/Makefile.in: Likewise.
2537         * libsup++/Makefile.in: Likewise.
2538         * po/Makefile.in: Likewise.
2539         * doc/Makefile.in: Likewise.
2540
2541 2008-07-31  Chris Fairles <chris.fairles@gmail.com>
2542
2543         * include/std/chrono (duration): Use explicitly defaulted ctor, cctor,
2544         dtor and assignment. Add diagnostics as per 20.8.3 paragraphs 2, 3
2545         and 4 in WD. Other minor tweaks.
2546         * testsuite/20_util/duration/cons/1_neg.cc: Adjust line numbers.
2547         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: New.
2548         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
2549         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
2550
2551 2008-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
2552
2553         * testsuite/lib/libstdc++.exp (libstdc++_init): Set v3-libgomp.
2554         (check_v3_target_parallel_mode): Robustify, just follow the
2555         structure of testsuite/Makefile.am.
2556
2557 2008-07-29  Paolo Carlini  <paolo.carlini@oracle.com>
2558
2559         * include/debug/set.h: Minor formatting fixes.
2560         * include/debug/multiset.h: Likewise.
2561         * include/debug/safe_association.h: Likewise.
2562         * include/debug/vector: Likewise.
2563         * include/debug/map.h: Likewise.
2564         * include/debug/string: Likewise.
2565         * include/debug/multimap.h: Likewise.
2566         * include/bits/stl_list.h: Likewise.
2567         * include/bits/stl_map.h: Likewise.
2568         * include/bits/stl_set.h: Likewise.
2569         * include/bits/stl_multimap.h: Likewise.
2570         * include/bits/stl_vector.h: Likewise.
2571         * include/bits/stl_multiset.h: Likewise.
2572         * include/bits/stl_bvector.h: Likewise.
2573
2574 2008-07-29  Paolo Carlini  <paolo.carlini@oracle.com>
2575
2576         * include/std/utility: Include <initializer_list>, per the current WP.
2577
2578         * testsuite/lib/libstdc++.exp (check_v3_target_cstdint): Tweak,
2579         don't use -std=gnu++0x unnecessarily.
2580         * testsuite/18_support/numeric_limits/char16_32_t.cc: Use
2581         dg-require-cstdint.
2582         * testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Likewise.
2583         * testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Likewise.
2584
2585 2008-07-28  Paolo Carlini  <paolo.carlini@oracle.com>
2586
2587         PR libstdc++/36949
2588         * include/tr1_impl/boost_shared_ptr.h
2589         (__shared_ptr(_Sp_make_shared_tag, _Alloc, _Args&&...): Call
2590         __enable_shared_from_this_helper.
2591         * testsuite/20_util/shared_ptr/creation/36949.cc: New.
2592
2593 2008-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
2594
2595         PR libstdc++/36924
2596         Revert:
2597         2008-07-23  Chris Fairles <chris.fairles@gmail.com>
2598
2599         * acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
2600         Holds the lib that defines clock_gettime (-lrt or -lposix4).
2601         * src/Makefile.am: Use it.
2602         * configure: Regenerate.
2603         * configure.in: Likewise.
2604         * Makefile.in: Likewise.
2605         * src/Makefile.in: Likewise.
2606         * libsup++/Makefile.in: Likewise.
2607         * po/Makefile.in: Likewise.
2608         * doc/Makefile.in: Likewise.
2609
2610 2008-07-23  Chris Fairles <chris.fairles@gmail.com>
2611
2612         * include/std/condition_variable: Update to N2691 WD.
2613         * include/std/mutex: Likewise.
2614         * testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
2615         * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
2616         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
2617         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
2618
2619 2008-07-23  Chris Fairles <chris.fairles@gmail.com>
2620
2621         * acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
2622         Holds the lib that defines clock_gettime (-lrt or -lposix4).
2623         * src/Makefile.am: Use it.
2624         * configure: Regenerate.
2625         * configure.in: Likewise.
2626         * Makefile.in: Likewise.
2627         * src/Makefile.in: Likewise.
2628         * libsup++/Makefile.in: Likewise.
2629         * po/Makefile.in: Likewise.
2630         * doc/Makefile.in: Likewise.
2631
2632 2008-07-22  Paolo Carlini  <paolo.carlini@oracle.com>
2633
2634         * include/ext/sso_string_base.h
2635         (__sso_string_base<>::__sso_string_base(std::initializer_list<_CharT>,
2636         const _Alloc&)): Remove.
2637         * include/ext/rc_string_base.h
2638         (__rc_string_base<>::__rc_string_base(std::initializer_list<_CharT>,
2639         const _Alloc&)): Likewise.
2640         * include/ext/vstring.h
2641         (__versa_string<>::__versa_string(std::initializer_list<_CharT>,
2642         const _Alloc&)): Adjust.
2643
2644 2008-07-21  Jason Merrill  <jason@redhat.com>
2645
2646         Add initializer_list support as per N2679.
2647         * include/debug/unordered_map: Add initializer_list support.
2648         * include/debug/safe_association.h: Likewise.
2649         * include/debug/unordered_set: Likewise.
2650         * include/debug/vector: Likewise.
2651         * include/debug/deque: Likewise.
2652         * include/debug/map.h: Likewise.
2653         * include/debug/set.h: Likewise.
2654         * include/debug/string: Likewise.
2655         * include/debug/list: Likewise.
2656         * include/debug/multimap.h: Likewise.
2657         * include/tr1_impl/unordered_map: Likewise.
2658         * include/tr1_impl/hashtable: Likewise.
2659         * include/tr1_impl/unordered_set: Likewise.
2660         * include/tr1_impl/regex: Likewise.
2661         * include/std/valarray: Likewise.
2662         * include/std/unordered_map: Likewise.
2663         * include/std/unordered_set: Likewise.
2664         * include/bits/stl_list.h: Likewise.
2665         * include/bits/stl_map.h: Likewise.
2666         * include/bits/stl_set.h: Likewise.
2667         * include/bits/basic_string.h: Likewise.
2668         * include/bits/basic_string.tcc: Likewise.
2669         * include/bits/stl_multimap.h: Likewise.
2670         * include/bits/stl_vector.h: Likewise.
2671         * include/bits/stl_deque.h: Likewise.
2672         * include/bits/stl_multiset.h: Likewise.
2673         * include/bits/stl_bvector.h: Likewise.
2674         * include/ext/vstring.h: Likewise.
2675         * include/ext/rc_string_base.h: Likewise.
2676         * include/ext/sso_string_base.h: Likewise.
2677         * src/Makefile.am (w?string-inst): Build with -std=gnu++0x.
2678         * src/Makefile.in: Likewise.
2679         * config/abi/pre/gnu.ver: Add new w?string exports.
2680         * testsuite/21_strings/basic_string/init-list.cc: New test.
2681         * testsuite/23_containers/vector/init-list.cc: New test.
2682         * testsuite/23_containers/deque/init-list.cc: New test.
2683         * testsuite/23_containers/list/init-list.cc: New test.
2684         * testsuite/23_containers/map/init-list.cc: New test.
2685         * testsuite/23_containers/multimap/init-list.cc: New test.
2686         * testsuite/23_containers/set/init-list.cc: New test.
2687         * testsuite/23_containers/multiset/init-list.cc: New test.
2688         * testsuite/23_containers/unordered_map/init-list.cc: New test.
2689         * testsuite/23_containers/unordered_multimap/init-list.cc: New test.
2690         * testsuite/23_containers/unordered_set/init-list.cc: New test.
2691         * testsuite/23_containers/unordered_multiset/init-list.cc: New test.
2692         * testsuite/26_numerics/valarray/init-list.cc: New test.
2693         * testsuite/28_regex/init-list.cc: New test.
2694         * testsuite/ext/vstring/init-list.cc: New test.
2695         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2696         Update error lineno.
2697         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2698         Update error lineno.
2699         * testsuite/23_containers/vector/requirements/dr438/
2700         constructor_1_neg.cc: Update error lineno.
2701         * testsuite/23_containers/vector/requirements/dr438/
2702         constructor_2_neg.cc: Update error lineno.
2703         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2704         Update error lineno.
2705         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2706         Update error lineno.
2707         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
2708         Update error lineno.
2709         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
2710         Update error lineno.
2711         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2712         Update error lineno.
2713         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2714         Update error lineno.
2715         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2716         Update error lineno.
2717         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2718         Update error lineno.
2719
2720 2008-07-21  Mark Mitchell  <mark@codesourcery.com>
2721
2722         * config/os/gnu-linux/arm-eabi-extra.ver: New file.
2723         * configure.host: Use it for arm*-*-linux-*eabi.
2724
2725 2008-07-19  Paolo Carlini  <paolo.carlini@oracle.com>
2726
2727         * include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
2728         (assert_node_consistent): Avoid ambiguous else warning.
2729
2730         * include/ext/pb_ds/detail/debug_map_base.hpp: Include <iostream>.
2731
2732         * include/bits/c++config: In debug-mode (and parallel-mode) set
2733         _GLIBCXX_EXTERN_TEMPLATE to -1, not 0, thus disabling extern
2734         templates only for basic_string (per libstdc++/21674).
2735         * include/bits/basic_string.tcc: Use extern templates when
2736         _GLIBCXX_EXTERN_TEMPLATE > 0.
2737
2738 2008-07-18  Kris Van Hees  <kris.van.hees@oracle.com>
2739             Holger Hopp  <holger.hopp@sap.com>
2740
2741         * config/abi/pre/gnu.ver: Support char16_t and char32_t.
2742         * testsuite/util/testsuite_abi.cc (check_version): Add
2743         CXXABI_1.3.3 to known_versions.
2744
2745 2008-07-16  Paolo Carlini  <paolo.carlini@oracle.com>
2746
2747         * include/debug/vector (insert(iterator, _Tp&&), push_back(_Tp&&)):
2748         Enable only when _Tp != bool.
2749
2750         * testsuite/25_algorithms/heap/1.cc: Avoid unused variable warnings.
2751
2752 2008-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
2753
2754         * testsuite/lib/libstdc++.exp (check_v3_target_c_std): Avoid unused
2755         variable warnings leading to spurious fails of the test.
2756
2757 2008-07-16  Paolo Carlini  <paolo.carlini@oracle.com>
2758
2759         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Adjust
2760         dg-error lines.
2761         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
2762         * testsuite/20_util/duration/cons/1_neg.cc: Likewise.
2763
2764         * include/tr1_impl/type_traits: Fix comment typo.
2765
2766 2008-07-16  Paolo Carlini  <paolo.carlini@oracle.com>
2767
2768         * include/bits/unique_ptr.h: Remove stray character.
2769
2770 2008-07-15  Benjamin Kosnik  <bkoz@redhat.com>
2771
2772         * doc/doxygen/user.cfg.in: Add complex, ratio,
2773         intializer_list.
2774         (PREDEFINED): Add _GLIBCXX_USE_C99_STDINT_TR1.
2775         * doc/doxygen/doxygroups.cc: Add std::chrono.
2776         * include/bits/unique_ptr.h (default_delete, unique_ptr): Add markup.
2777         * libsupc++/initializer_list (initializer_list): Same.
2778         * include/std/ratio: Same.
2779         * include/std/chrono: Same.
2780         * include/std/complex: Disambiguate file markup.
2781
2782 2008-07-15  Chris Fairles  <chris.fairles@gmail.com>
2783
2784         * include/std/chrono: New, as per N2661.
2785         * src/chrono.cc: New.
2786         * include/Makefile.am: Update.
2787         * src/Makefile.am: Likewise.
2788         * include/Makefile.in: Regenerate.
2789         * src/Makefile.in: Likewise.
2790         * acinclude.m4: Add tests for clock_gettime and gettimeofday that
2791         define _GLIBCXX_HAS_CLOCK_GETTIME and/or _GLIBCXX_HAS_GETTIMEOFDAY.
2792         * configure.ac: Use them.
2793         * configure: Regenerate.
2794         * config.h.in: Likewise.
2795         * config/abi/pre/gnu.ver: Add symbols for system_clock::now() and
2796         system_clock::is_monotonic.
2797         * testsuite/20_util/duration/cons/1.cc: New.
2798         * testsuite/20_util/duration/cons/2.cc: Likewise.
2799         * testsuite/20_util/duration/cons/1_neg.cc: Likewise.
2800         * testsuite/20_util/duration/requirements/explicit_instantiation/
2801         explicit_instantiation.cc: Likewise.
2802         * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
2803         * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
2804         * testsuite/20_util/duration/comparisons/1.cc: Likewise.
2805         * testsuite/20_util/time_point/requirements/explicit_instantiation/
2806         explicit_instantiation.cc: Likewise.
2807         * testsuite/20_util/time_point/1.cc: Likewise.
2808         * testsuite/20_util/time_point/2.cc: Likewise.
2809         * testsuite/20_util/time_point/3.cc: Likewise.
2810         * testsuite/20_util/clocks/1.cc: Likewise.
2811         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Add
2812         missing headers.
2813         * testsuite/17_intro/headers/c++200x/all.cc: Likewise.
2814         * include/precompiled/stdc++.h: Likewise and remove <date_time>.
2815         * doc/doxygen/user.cfg.in: Likewise.
2816
2817 2008-07-15  Paolo Carlini  <paolo.carlini@oracle.com>
2818
2819         PR libstdc++/36832
2820         * include/ext/rope (_Destroy_const): Add.
2821         (rope<>::copy): Call it.
2822         * testsuite/ext/rope/36832.cc: New.
2823
2824 2008-07-15  Johannes Singler  <singler@ira.uka.de>
2825
2826         * include/parallel/find_selectors.h:
2827         Correct name for include guard #ifndef.
2828         * include/parallel/balanced_quicksort.h: Likewise.
2829         * include/parallel/unique_copy.h: Likewise.
2830         * include/parallel/multiway_mergesort.h: Likewise.
2831         * include/parallel/checkers.h: Likewise.
2832         * include/parallel/[various files]:
2833         Add/correct comment for #endif of include guard (at end of file)
2834
2835 2008-07-12  Paolo Carlini  <paolo.carlini@oracle.com>
2836
2837         * include/std/date_time: Remove, per N2549, in WP.
2838         * src/date_time.cc: Likewise.
2839         * config/abi/pre/gnu.ver: Remove <date_time> symbols.
2840         * include/Makefile.am: Remove date_time in std headers.
2841         * src/Makefile.am: Remove date_time.cc to source files.
2842         * include/Makefile.in: Regenerate.
2843         * src/Makefile.in: Likewise.
2844         * testsuite/31_date_time/headers/date_time/types_std.cc: Remove.
2845         * testsuite/31_date_time/headers/date_time/std_c++0x_neg.cc: Likewise.
2846         * testsuite/31_date_time/headers/date_time/functions_std.cc: Likewise.
2847         * testsuite/31_date_time/headers/date_time/synopsis.cc: Likewise.
2848         * testsuite/31_date_time/nanoseconds/requirements/traits.cc: Likewise.
2849         * testsuite/31_date_time/nanoseconds/requirements/duration.cc: Likewise.
2850         * testsuite/31_date_time/system_time/requirements: Likewise.
2851         * testsuite/31_date_time/system_time/requirements/traits.cc: Likewise.
2852         * testsuite/17_intro/headers/c++200x/all.cc: Adjust.
2853         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Adjust.
2854
2855 2008-07-10  Johannes Singler  <singler@ira.uka.de>
2856
2857         * include/parallel/balanced_quicksort.h:
2858         (qsb_divide) Replace "*end" by "*(end - 1)" in assertion.
2859
2860 2008-07-09  Benjamin Kosnik  <bkoz@redhat.com>
2861
2862         PR libstdc++/36451
2863         * doc/xml/manual/allocator.xml: Fix links.
2864         * doc/html/*: Regenerate.
2865
2866 2008-07-09  Joseph Myers  <joseph@codesourcery.com>
2867
2868         * libsupc++/unwind-cxx.h (__is_gxx_forced_unwind_class,
2869         __GXX_INIT_FORCED_UNWIND_CLASS): Define for ARM EABI unwinder.
2870         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Call
2871         __GXX_INIT_FORCED_UNWIND_CLASS for forced unwind with ARM EABI
2872         unwinder.
2873         * libsupc++/eh_arm.cc (__cxa_type_match): Use
2874         __is_gxx_forced_unwind_class to check for forced unwind.
2875
2876 2008-07-09  Andreas Beckmann  <gcc@abeckmann.de>
2877
2878         PR libstdc++/36552
2879         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2880         null_metadata.hpp: Remove self-include.
2881
2882 2008-07-09  Joseph Myers  <joseph@codesourcery.com>
2883
2884         * testsuite/20_util/make_signed/requirements/typedefs-2.cc,
2885         testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Use
2886         -Wl,--no-enum-size-warning for arm*-*-linux*eabi.
2887
2888 2008-07-09  Johannes Singler  <singler@ira.uka.de>
2889
2890         PR libstdc++/36729
2891         * include/parallel/random_shuffle.h:
2892         (sequential_random_shuffle) Copy data back.
2893         * testsuite/25_algorithms/random_shuffle/1.cc:
2894         New. Generic random_shuffle functionality test.
2895
2896 2008-07-08  Chris Fairles  <chris.fairles@gmail.com>
2897
2898         * include/std/type_traits: Add common_type.
2899         * testsuite/20_util/common_type/requirements/
2900         explicit_instantiation.cc: New.
2901         * testsuite/20_util/common_type/requirements/
2902         typedefs-1.cc: Likewise.
2903
2904 2008-07-07  Paolo Carlini  <paolo.carlini@oracle.com>
2905
2906         * testsuite/lib/libstdc++.exp (check_v3_target_stdint): New.
2907         * testsuite/lib/dg-options.exp (dg-require-cstdint): New.
2908         * testsuite/20_util/ratio/cons/cons1.cc: Use it.
2909         * testsuite/20_util/ratio/cons/cons_overflow.cc: Likewise.
2910         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
2911         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
2912         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
2913         * testsuite/20_util/ratio/operations/ops_overflow.cc: Likewise.
2914         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
2915         * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
2916
2917         * include/std/type_traits: Fix comment typo.
2918
2919 2008-07-06  Roger Sayle  <roger@eyesopen.com>
2920
2921         * include/std/system_error (is_error_code_enum): Use identifier
2922         _Tp instead of _T to avoid conflict with system macro on Darwin.
2923         (is_error_condition_enum): Likewise.
2924
2925 2008-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
2926
2927         * include/bits/postypes.h: Do not include <stdint.h>.
2928
2929         * include/Makefile.am: Reorder.
2930
2931 2008-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
2932
2933         * include/std/ratio: Prefer __INTMAX_MAX__ to INTMAX_MAX (INTMAX_MIN).
2934
2935 2008-07-05  Chris Fairles  <chris.fairles@gmail.com>
2936
2937         * include/std/ratio: Documentation for std::ratio class. Add conditions
2938         to ratio_less to prevent overflow.
2939         * testsuite/20_util/ratio/comparisons/comp2.cc: New.
2940         * testsuite/20_util/ratio/cons/cons_overflow.cc: Update dg-error line
2941         numbers.
2942
2943 2008-07-04  Chris Fairles  <chris.fairles@gmail.com>
2944
2945         * include/std/ratio: New, per N2661.
2946         * include/Makefile.am: Update.
2947         * include/Makefile.in: Regenerate.
2948         * testsuite/20_util/ratio/cons/cons1.cc: New.
2949         * testsuite/20_util/ratio/cons/cons_overflow.cc: Likewise.
2950         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
2951         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
2952         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
2953         * testsuite/20_util/ratio/operations/ops_overflow.cc: Likewise.
2954         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
2955
2956 2008-07-04  Paolo Carlini  <paolo.carlini@oracle.com>
2957
2958         PR libstdc++/36616
2959         * testsuite/22_locale/time_put/put/char/4.cc: Just use es_ES instead.
2960         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2961
2962 2008-07-03  Paolo Carlini  <paolo.carlini@oracle.com>
2963
2964         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
2965         Improve check on long double limits.
2966         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
2967         Likewise.
2968         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
2969         stof.cc: Likewise.
2970         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
2971         stod.cc: Likewise.
2972
2973 2008-07-03  Paolo Carlini  <paolo.carlini@oracle.com>
2974
2975         * libsupc++/Makefile.am: Add initializer_list to the headers.
2976         * libsupc++/Makefile.in: Regenerate.
2977
2978         * libsupc++/initializer_list: Minor cosmetic changes.
2979
2980 2008-07-02  Jason Merrill  <jason@redhat.com>
2981
2982         * libsupc++/initializer_list: Uglify and wrap in
2983         __GXX_EXPERIMENTAL_CXX0X__.
2984         * include/bits/stl_map.h (insert(initializer_list)): Wrap.
2985
2986 2008-07-02  Jason Merrill  <jason@redhat.com>
2987
2988         * libsupc++/initializer_list: New file.
2989         * include/bits/stl_map.h (insert(initializer_list)): New method.
2990
2991 2008-06-30  Alfred E. Heggestad  <aeh@db.org>
2992
2993         * include/backward/backward_warning.h: Fix typo.
2994
2995 2008-06-29  Paolo Carlini  <paolo.carlini@oracle.com>
2996
2997         * src/string_conversions.cc: Remove.
2998         * config/abi/pre/gnu.ver: Delete exports.
2999         * src/Makefile.am: Update.
3000         * include/ext/string_conversions.h: Add.
3001         * include/Makefile.am: Update.
3002         * include/bits/basic_string.h: Include string_conversions.h,
3003         define numeric conversion functions.
3004         * include/ext/vstring.h: Likewise.
3005         * src/Makefile.in: Regenerate.
3006         * include/Makefile.in: Regenerate.
3007
3008 2008-06-29  Paolo Carlini  <paolo.carlini@oracle.com>
3009
3010         * include/bits/stl_algo.h (copy_n): Add in C++0x mode.
3011         * include/bits/algorithmfwd.h: Add.
3012         * include/bits/stl_uninitialized.h (uninitialized_copy_n): Add
3013         in C++0x mode.
3014         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
3015         move_iterators/1.cc: New
3016         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
3017         * testsuite/25_algorithms/copy_n/1.cc: New.
3018         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
3019         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
3020         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
3021         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
3022         * testsuite/25_algorithms/copy_n/requirements/
3023         explicit_instantiation/2.cc: Likewise.
3024         * testsuite/25_algorithms/partition_point/requirements/
3025         explicit_instantiation/pod.cc: Likewise.
3026
3027 2008-06-28  Paolo Carlini  <paolo.carlini@oracle.com>
3028
3029         * include/bits/stl_algo.h (partition_point): Add in C++0x mode.
3030         * include/bits/algorithmfwd.h: Add.
3031         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
3032         * testsuite/25_algorithms/partition_point/1.cc: New.
3033         * testsuite/25_algorithms/partition_point/check_type.cc: Likewise.
3034         * testsuite/25_algorithms/partition_point/requirements/
3035         explicit_instantiation/2.cc: Likewise.
3036         * testsuite/25_algorithms/partition_point/requirements/
3037         explicit_instantiation/pod.cc: Likewise.
3038
3039 2008-06-28  Paolo Carlini  <paolo.carlini@oracle.com>
3040
3041         PR libstdc++/36660
3042         * include/ext/pb_ds/detail/resize_policy/
3043         sample_resize_trigger.hpp: Remove spurious namespace end.
3044
3045 2008-06-27  Mark Mitchell  <mark@codesourcery.com>
3046
3047         * libsupc++/vec.cc (__aeabi_vec_dtor_cookie): Handle NULL array
3048         address.
3049         (__aeabi_vec_delete): Likewise.
3050         (__aeabi_vec_delete3): Likewise.
3051         (__aeabi_vec_delete3_nodtor): Likewise.
3052
3053 2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
3054
3055         * include/bits/stl_algo.h (is_partitioned): Add in C++0x mode.
3056         * include/bits/algorithmfwd.h: Add.
3057         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
3058         * testsuite/25_algorithms/is_partitioned/1.cc: New.
3059         * testsuite/25_algorithms/is_partitioned/check_type.cc: Likewise.
3060         * testsuite/25_algorithms/is_partitioned/requirements/
3061         explicit_instantiation/2.cc: Likewise.
3062         * testsuite/25_algorithms/is_partitioned/requirements/
3063         explicit_instantiation/pod.cc: Likewise.
3064
3065 2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
3066
3067         * include/bits/stl_numeric.h (iota): Add in C++0x mode.
3068         * testsuite/util/testsuite_character.h (pod_int): Add operator++
3069         in C++0x mode.
3070         * testsuite/util/testsuite_api.h (NonDefaultConstructible): Likewise.
3071         * testsuite/26_numerics/iota/1.cc: New.
3072         * testsuite/26_numerics/iota/requirements/explicit_instantiation/
3073         2.cc: Likewise.
3074         * testsuite/26_numerics/iota/requirements/explicit_instantiation/
3075         pod.cc: Likewise.
3076
3077         * include/ext/algorithm: Do not fiddle with the legacy headers.
3078
3079         * testsuite/26_numerics/partial_sum/1.cc: Minor changes, comments,
3080         style.
3081         * testsuite/26_numerics/accumulate/1.cc: Likewise.
3082         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
3083         * testsuite/26_numerics/inner_product/1.cc: Likewise.
3084
3085 2008-06-26  Paolo Carlini  <paolo.carlini@oracle.com>
3086
3087         * include/bits/stl_algo.h (partition_copy): Add in C++0x mode.
3088         * include/bits/algorithmfwd.h: Add.
3089         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
3090         * testsuite/25_algorithms/partition_copy/1.cc: New.
3091         * testsuite/25_algorithms/partition_copy/check_type.cc: Likewise.
3092         * testsuite/25_algorithms/partition_copy/requirements/
3093         explicit_instantiation/2.cc: Likewise.
3094         * testsuite/25_algorithms/partition_copy/requirements/
3095         explicit_instantiation/pod.cc: Likewise.
3096
3097 2008-06-26  Chris Fairles  <chris.fairles@gmail.com>
3098
3099         * testsuite/20_util/unique_ptr/cons/pointer_array.cc: New.
3100         * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
3101         * testsuite/20_util/unique_ptr/cons/pointer_array_convertible.cc:
3102         Likewise.
3103         * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
3104         * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
3105         * testsuite/20_util/unique_ptr/specialized_algorithms/
3106         comparisons_array.cc: Likewise.
3107         * testsuite/20_util/unique_ptr/specialized_algorithms/comparisons.cc:
3108         Likewise
3109         * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
3110         Likewise.
3111
3112 2008-06-26  Paolo Carlini  <paolo.carlini@oracle.com>
3113
3114         * include/parallel/base.h (plus, multiplies): Use __typeof__,
3115         not typeof.
3116
3117 2008-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
3118
3119         * testsuite/29_atomics/atomic_flag/cons/default.cc: Avoid -Wall
3120         warnings.
3121         * testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Likewise.
3122         * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc:
3123         Likewise.
3124         * testsuite/29_atomics/headers/stdatomic.h/types.c: Likewise.
3125         * testsuite/util/testsuite_common_types.h (struct assignable,
3126         struct default_constructible, struct copy_constructible,
3127         struct explicit_value_constructible): Use a tad of simulated
3128         concept checking techniques to avoid spurious warnings.
3129         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
3130         markers.
3131         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
3132
3133 2008-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
3134
3135         * include/bits/stl_algo.h (__find_if_not, find_if_not, all_of,
3136         any_of, none_of): Add in C++0x, per N2666.
3137         * include/bits/algorithmfwd.h: Update.
3138         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
3139         * testsuite/25_algorithms/all_of/check_type.cc: New.
3140         * testsuite/25_algorithms/all_of/1.cc: Likewise.
3141         * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/
3142         2.cc: Likewise.
3143         * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/
3144         pod.cc: Likewise.
3145         * testsuite/25_algorithms/any_of/check_type.cc: Likewise.
3146         * testsuite/25_algorithms/any_of/1.cc: Likewise.
3147         * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/
3148         2.cc: Likewise.
3149         * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/
3150         pod.cc: Likewise.
3151         * testsuite/25_algorithms/none_of/check_type.cc: Likewise.
3152         * testsuite/25_algorithms/none_of/1.cc: Likewise.
3153         * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/
3154         2.cc: Likewise.
3155         * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/
3156         pod.cc: Likewise.
3157         * testsuite/25_algorithms/find_if_not/check_type.cc: Likewise.
3158         * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
3159         * testsuite/25_algorithms/find_if_not/requirements/
3160         explicit_instantiation/2.cc: Likewise.
3161         * testsuite/25_algorithms/find_if_not/requirements/
3162         explicit_instantiation/pod.cc: Likewise.
3163         * testsuite/25_algorithms/copy_if/check_type.cc: Likewise.
3164         * testsuite/25_algorithms/remove_copy_if/check_type.cc: Likewise.
3165         * testsuite/25_algorithms/find_if/1.cc: Minor tweaks.
3166
3167 2008-06-24  Benjamin Kosnik  <bkoz@redhat.com>
3168
3169         * doc/xml/manual/parallel_mode.xml: Clarify use of explicit
3170         parallel algorithms.
3171         * doc/xml/manual/using.xml: Markup fixes caught by validation check.
3172         * doc/xml/manual/test.xml: Remove empty para tags.
3173
3174         * doc/html/*: Regenerate.
3175
3176 2008-06-24  Paolo Carlini  <paolo.carlini@oracle.com>
3177
3178         * include/bits/stl_algo.h (remove_if): Cast __pred result to bool.
3179         (copy_if): Add, per N2666.
3180         * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/
3181         2.cc: New.
3182         * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/
3183         pod.cc: Likewise.
3184         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
3185
3186 2008-06-24  Paolo Carlini  <paolo.carlini@oracle.com>
3187             Chalathip Thumkanon  <chalathip@gmail.com>
3188
3189         PR libstdc++/36612
3190         * include/ext/pb_ds/exception.hpp (__throw_container_error,
3191         __throw_insert_error, __throw_join_error, __throw_resize_error):
3192         Mark inline.
3193
3194 2008-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
3195
3196         * include/bits/move.h (swap(_Tp (&)[_Nm], _Tp (&)[_Nm])): Add,
3197         per DR 809.
3198         * include/bits/algorithmfwd.h: Add.
3199         * doc/xml/manual/intro.xml: Add an entry for DR 809.
3200         * testsuite/25_algorithms/swap/dr809.cc: New.
3201
3202         * testsuite/25_algorithms/swap/requirements/explicit_instantiation/
3203         2.cc: Remove stray empty line.
3204
3205 2008-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
3206
3207         * include/bits/stl_move.h: Rename to move.h.
3208         * include/std/utility: Adjust.
3209         * include/ext/vstring_util.h: Likewise.
3210         * include/ext/throw_allocator.h: Likewise.
3211         * include/ext/pool_allocator.h: Likewise.
3212         * include/ext/bitmap_allocator.h: Likewise.
3213         * include/ext/new_allocator.h: Likewise.
3214         * include/ext/malloc_allocator.h: Likewise.
3215         * include/ext/array_allocator.h: Likewise.
3216         * include/ext/mt_allocator.h: Likewise.
3217         * include/bits/stl_algobase.h: Likewise.
3218         * include/bits/stl_heap.h: Likewise.
3219         * include/bits/stl_pair.h: Likewise.
3220         * include/bits/stl_iterator.h: Likewise.
3221         * testsuite/util/testsuite_allocator.h: Likewise.
3222         * testsuite/util/testsuite_iterators.h: Likewise.
3223         * include/Makefile.am: Likewise.
3224         * include/Makefile.in: Regenerate.
3225
3226 2008-06-21  Chris Fairles  <chris.fairles@gmail.com>
3227
3228         * include/bits/unique_ptr.h: New.
3229         * include/std/memory: Adjust.
3230         * include/Makefile.am: Add.
3231         * testsuite/20_util/unique_ptr/requirements/explicit_instantiation/
3232         explicit_instantiation.cc: New.
3233         * testsuite/20_util/unique_ptr/assign/assign.cc: Likewise.
3234         * include/Makefile.in: Regenerate.
3235
3236 2008-06-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
3237
3238         * include/c_global/climits, include/tr1/climits: Add parentheses.
3239
3240 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3241
3242         * configure: Regenerate.
3243
3244 2008-06-17  Chris Fairles  <chris.fairles@gmail.com>
3245
3246         * include/bits/stl_iterator_base_funcs.h (next, prev): Add in
3247         C++0x mode.
3248         * testsuite/24_iterators/operations/next.cc: New.
3249         * testsuite/24_iterators/operations/prev.cc: Likewise.
3250
3251 2008-06-17  Paolo Carlini  <paolo.carlini@oracle.com>
3252
3253         * src/string_conversions.cc (__to_xstring<>): New.
3254         (to_string, to_wstring): Use it.
3255
3256 2008-06-16  Paolo Carlini  <paolo.carlini@oracle.com>
3257
3258         * include/bits/basic_string.h (stod, stof, stoi, stol, stold, stoll,
3259         stoul, stoull, to_string, to_wstring): Declare in C++0x mode.
3260         * src/string_conversions.cc: Add.
3261         * src/Makefile.am: Update.
3262         * config/abi/pre/gnu.ver: Adjust exports.
3263         * src/Makefile.in: Regenerate.
3264         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
3265         New.
3266         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
3267         Likewise.
3268         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
3269         Likewise.
3270         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
3271         Likewise.
3272         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
3273         Likewise.
3274         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
3275         Likewise.
3276         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
3277         Likewise.
3278         * testsuite/21_strings/basic_string/numeric_conversions/char/stoull.cc:
3279         Likewise.
3280         * testsuite/21_strings/basic_string/numeric_conversions/char/