Implement 2801, Default-constructibility of unique_ptr.
[gcc.git] / libstdc++-v3 / ChangeLog
1 2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com>
2
3 Implement 2801, Default-constructibility of unique_ptr.
4 * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
5 (unique_ptr::_DeleterConstraint): Likewise.
6 (unique_ptr()): Constrain.
7 (unique_ptr(pointer)): Likewise.
8 (unique_ptr(nullptr_t)): Likewise.
9 (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
10 (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
11 (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
12 (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
13 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
14 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
15 * testsuite/20_util/unique_ptr/cons/default.cc: New.
16 * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
17
18 2017-01-04 Pauli Nieminen <suokkos@gmail.com>
19 Jonathan Wakely <jwakely@redhat.com>
20
21 PR libstdc++/64735
22 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
23 * config.h.in: Regenerate.
24 * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
25 (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
26 exports for exception_ptr, nested_exception, and future conditional.
27 [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
28 exports for exception_ptr, nested_exception, and future conditional.
29 * configure: Regenerate.
30 * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
31 * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
32 * libsupc++/eh_atomics.h: New file for internal use only.
33 (__eh_atomic_inc, __eh_atomic_dec): New.
34 * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
35 (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
36 (rethrow_exception): Use eh_atomics.h reference counting helpers.
37 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
38 * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
39 * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
40 * libsupc++/exception_ptr.h: Likewise.
41 * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
42 * libsupc++/nested_exception.cc: Remove check for
43 ATOMIC_INT_LOCK_FREE.
44 * libsupc++/nested_exception.h: Likewise.
45 * src/c++11/future.cc: Likewise.
46 * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
47 * testsuite/18_support/nested_exception/*: Likewise.
48 * testsuite/30_threads/async/*: Likewise.
49 * testsuite/30_threads/future/*: Likewise.
50 * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
51 * testsuite/30_threads/packaged_task/*: Likewise.
52 * testsuite/30_threads/promise/*: Likewise.
53 * testsuite/30_threads/shared_future/*: Likewise.
54
55 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
56
57 * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
58 defaults to https; adjust reference.
59
60 2017-01-03 Jonathan Wakely <jwakely@redhat.com>
61
62 PR libstdc++/78956
63 * include/std/thread (thread(const thread&&)): Add deleted
64 constructor.
65 * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
66
67 * doc/xml/manual/spine.xml: Update copyright years.
68 * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
69 * doc/xml/manual/test.xml: Likewise.
70 * doc/html/*: Regenerate.
71
72 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com>
73
74 * doc/xml/faq.xml: Update address of C++ ABI link.
75 * doc/xml/manual/abi.xml: Ditto.
76
77 2017-01-01 Jakub Jelinek <jakub@redhat.com>
78
79 Update copyright years.
80 \f
81 Copyright (C) 2017 Free Software Foundation, Inc.
82
83 Copying and distribution of this file, with or without modification,
84 are permitted in any medium without royalty provided the copyright
85 notice and this notice are preserved.