Use fold expressions to reduce std::variant instantiation depth
[gcc.git] / libstdc++-v3 / ChangeLog
1 2017-01-06 Barrett Adair <barrettellisadair@gmail.com>
2 Jonathan Wakely <jwakely@redhat.com>
3
4 * include/std/variant (variant, swap): Replace __and_ usage with fold
5 expressions.
6
7 2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8
9 PR go/78978
10 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
11 * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
12 GLIBCXX_CHECK_ASSEMBLER_HWCAP.
13 * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
14 HWCAP_FLAGS.
15 * aclocal.m4: Regenerate.
16 * configure: Regenerate.
17 * Makefile.in, doc/Makefile.in, include/Makefile.in,
18 libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
19 src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
20 src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
21
22 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
23
24 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
25
26 PR libstdc++/78991
27 * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
28 (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
29 (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
30 move function objects.
31 (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
32 (__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
33 * testsuite/25_algorithms/sort/78991.cc: New test.
34
35 2017-01-05 Jonathan Wakely <jwakely@redhat.com>
36
37 * include/bits/std_function.h (function::_Signature_type): Remove.
38 (function::function(_Functor)): Adjust.
39
40 2017-01-05 Tim Shen <timshen@google.com>
41
42 PR libstdc++/78996
43 * include/std/variant (__gen_vtable_impl): rename __unused to
44 __dimensions to avoid naming conflict.
45
46 2017-01-04 Jonathan Wakely <jwakely@redhat.com>
47
48 PR libstdc++/78968
49 * config.h.in: Regenerate.
50 * configure: Likewise.
51 * configure.ac: Check for __cxa_thread_atexit.
52 * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
53 Don't define __cxa_thread_atexit if libc provides it.
54
55 2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com>
56
57 Implement 2801, Default-constructibility of unique_ptr.
58 * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
59 (unique_ptr::_DeleterConstraint): Likewise.
60 (unique_ptr()): Constrain.
61 (unique_ptr(pointer)): Likewise.
62 (unique_ptr(nullptr_t)): Likewise.
63 (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
64 (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
65 (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
66 (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
67 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
68 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
69 * testsuite/20_util/unique_ptr/cons/default.cc: New.
70 * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
71
72 2017-01-04 Pauli Nieminen <suokkos@gmail.com>
73 Jonathan Wakely <jwakely@redhat.com>
74
75 PR libstdc++/64735
76 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
77 * config.h.in: Regenerate.
78 * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
79 (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
80 exports for exception_ptr, nested_exception, and future conditional.
81 [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
82 exports for exception_ptr, nested_exception, and future conditional.
83 * configure: Regenerate.
84 * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
85 * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
86 * libsupc++/eh_atomics.h: New file for internal use only.
87 (__eh_atomic_inc, __eh_atomic_dec): New.
88 * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
89 (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
90 (rethrow_exception): Use eh_atomics.h reference counting helpers.
91 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
92 * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
93 * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
94 * libsupc++/exception_ptr.h: Likewise.
95 * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
96 * libsupc++/nested_exception.cc: Remove check for
97 ATOMIC_INT_LOCK_FREE.
98 * libsupc++/nested_exception.h: Likewise.
99 * src/c++11/future.cc: Likewise.
100 * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
101 * testsuite/18_support/nested_exception/*: Likewise.
102 * testsuite/30_threads/async/*: Likewise.
103 * testsuite/30_threads/future/*: Likewise.
104 * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
105 * testsuite/30_threads/packaged_task/*: Likewise.
106 * testsuite/30_threads/promise/*: Likewise.
107 * testsuite/30_threads/shared_future/*: Likewise.
108
109 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
110
111 * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
112 defaults to https; adjust reference.
113
114 2017-01-03 Jonathan Wakely <jwakely@redhat.com>
115
116 PR libstdc++/78956
117 * include/std/thread (thread(const thread&&)): Add deleted
118 constructor.
119 * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
120
121 * doc/xml/manual/spine.xml: Update copyright years.
122 * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
123 * doc/xml/manual/test.xml: Likewise.
124 * doc/html/*: Regenerate.
125
126 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com>
127
128 * doc/xml/faq.xml: Update address of C++ ABI link.
129 * doc/xml/manual/abi.xml: Ditto.
130
131 2017-01-01 Jakub Jelinek <jakub@redhat.com>
132
133 Update copyright years.
134 \f
135 Copyright (C) 2017 Free Software Foundation, Inc.
136
137 Copying and distribution of this file, with or without modification,
138 are permitted in any medium without royalty provided the copyright
139 notice and this notice are preserved.