]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
libstdc++: Value-initialize std::atomic for C++20 (P0883R2)
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
e4379a93
JW
12020-01-13 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/58605
4 * include/bits/atomic_base.h (__cpp_lib_atomic_value_initialization):
5 Define.
6 (__atomic_flag_base, __atomic_base, __atomic_base<_PTp*>)
7 (__atomic_float): Add default member initializer for C++20.
8 * include/std/atomic (atomic): Likewise.
9 (atomic::atomic()): Remove noexcept-specifier on default constructor.
10 * include/std/version (__cpp_lib_atomic_value_initialization): Define.
11 * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error line
12 number.
13 * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
14 * testsuite/29_atomics/atomic/cons/value_init.cc: New test.
15 * testsuite/29_atomics/atomic_flag/cons/value_init.cc: New test.
16 * testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Adjust
17 expected result for is_trivially_default_constructible.
18 * testsuite/29_atomics/atomic_float/requirements.cc: Likewise.
19 * testsuite/29_atomics/atomic_float/value_init.cc: New test.
20 * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
21 * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
22 * testsuite/29_atomics/atomic_integral/cons/value_init.cc
23 * testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Adjust
24 expected results for is_trivially_default_constructible.
25 * testsuite/util/testsuite_common_types.h (has_trivial_dtor): Add
26 new test generator.
27
7918cb93
JW
282020-01-10 Jonathan Wakely <jwakely@redhat.com>
29
68be73fc
JW
30 * testsuite/util/testsuite_iterators.h: Improve comment.
31
78f02e80
JW
32 * testsuite/25_algorithms/equal/deque_iterators/1.cc: Don't use C++11
33 initialization syntax.
34
7918cb93
JW
35 PR libstdc++/92285
36 * include/bits/streambuf_iterator.h (istreambuf_iterator): Make type
37 of base class independent of __cplusplus value.
38 [__cplusplus < 201103L] (istreambuf_iterator::reference): Override the
39 type defined in the base class
40 * testsuite/24_iterators/istreambuf_iterator/92285.cc: New test.
41 * testsuite/24_iterators/istreambuf_iterator/requirements/
42 base_classes.cc: Adjust expected base class for C++98.
43
acd43917
OH
442020-01-09 Olivier Hainque <hainque@adacore.com>
45
46 * doc/xml/manual/appendix_contributing.xml: Document _C2
47 as a reserved identifier, by VxWorks.
48 * include/bits/stl_map.h: Rename _C2 template typenames as _Cmp2.
49 * include/bits/stl_multimap.h: Likewise.
50
caa39b2e
JW
512020-01-09 Jonathan Wakely <jwakely@redhat.com>
52
1a788638
JW
53 * include/ext/extptr_allocator.h (_ExtPtr_allocator::operator==)
54 (_ExtPtr_allocator::operator!=): Add missing const qualifiers.
55 * include/ext/pointer.h (readable_traits<_Pointer_adapter<S>>): Add
56 partial specialization to disambiguate the two constrained
57 specializations.
58
caa39b2e
JW
59 * include/experimental/type_traits (experimental::is_pod_v): Disable
60 -Wdeprecated-declarations warnings around reference to std::is_pod.
61 * include/std/type_traits (is_pod_v): Likewise.
62 * testsuite/18_support/max_align_t/requirements/2.cc: Also check
63 is_standard_layout and is_trivial. Do not check is_pod for C++20.
64 * testsuite/20_util/is_pod/requirements/explicit_instantiation.cc:
65 Add -Wno-deprecated for C++20.
66 * testsuite/20_util/is_pod/requirements/typedefs.cc: Likewise.
67 * testsuite/20_util/is_pod/value.cc: Likewise.
68 * testsuite/experimental/type_traits/value.cc: Likewise.
69
1a6c5064
JTM
702020-01-09 JeanHeyd "ThePhD" Meneide <phdofthehouse@gmail.com>
71
72 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Add new macro.
73 * include/std/type_traits (is_pod, is_pod_v): Deprecate for C++20.
74 * testuite/20_util/is_pod/deprecated-2a.cc: New test.
75
d574c8aa
JW
762020-01-09 Jonathan Wakely <jwakely@redhat.com>
77
160e95dc
JW
78 PR libstdc++/93205
79 * include/bits/random.h (operator>>): Check stream operation succeeds.
80 * include/bits/random.tcc (operator<<): Remove redundant __ostream_type
81 typedefs.
82 (operator>>): Remove redundant __istream_type typedefs. Check stream
83 operations succeed.
84 (__extract_params): New function to fill a vector from a stream.
85 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line.
86
d574c8aa
JW
87 PR libstdc++/93208
88 * config/abi/pre/gnu.ver: Add new exports.
89 * include/std/memory_resource (memory_resource::~memory_resource()):
90 Do not define inline.
91 (monotonic_buffer_resource::~monotonic_buffer_resource()): Likewise.
92 * src/c++17/memory_resource.cc (memory_resource::~memory_resource()):
93 Define.
94 (monotonic_buffer_resource::~monotonic_buffer_resource()): Define.
95 * testsuite/20_util/monotonic_buffer_resource/93208.cc: New test.
96
b9c84e95
FD
972020-01-09 François Dumont <fdumont@gcc.gnu.org>
98
99 PR libstdc++/92124
100 * include/bits/hashtable.h (_Hashtable<>::__alloc_node_gen_t): New
101 template alias.
102 (_Hashtable<>::__fwd_value_for): New.
103 (_Hashtable<>::_M_assign_elements<>): Remove _NodeGenerator template
104 parameter.
105 (_Hashtable<>::_M_assign<>): Add _Ht template parameter.
106 (_Hashtable<>::operator=(const _Hashtable<>&)): Adapt.
107 (_Hashtable<>::_M_move_assign): Adapt. Replace std::move_if_noexcept
108 with std::move.
109 (_Hashtable<>::_Hashtable(const _Hashtable&)): Adapt.
110 (_Hashtable<>::_Hashtable(const _Hashtable&, const allocator_type&)):
111 Adapt.
112 (_Hashtable<>::_Hashtable(_Hashtable&&, const allocator_type&)):
113 Adapt.
114 * testsuite/23_containers/unordered_set/92124.cc: New.
115
fff148b7
JW
1162020-01-08 Jonathan Wakely <jwakely@redhat.com>
117
118 PR libstdc++/93201
119 * src/c++17/fs_ops.cc (do_remove_all): New function implementing more
120 detailed error reporting for remove_all. Check result of recursive
121 call before incrementing iterator.
122 (remove_all(const path&), remove_all(const path&, error_code&)): Use
123 do_remove_all.
124 * src/filesystem/ops.cc (remove_all(const path&, error_code&)): Check
125 result of recursive call before incrementing iterator.
126 * testsuite/27_io/filesystem/operations/remove_all.cc: Check errors
127 are reported correctly.
128 * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
129
9e3c1eb7
TR
1302020-01-07 Thomas Rodgers <trodgers@redhat.com>
131
132 * include/std/condition_variable
133 (condition_variable_any::wait_on): Rename to match current draft
134 standard.
135 (condition_variable_any::wait_on_until): Likewise.
136 (condition_variable_any::wait_on_for): Likewise.
137 * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
138 Adjust tests to account for renamed methods.
139
6af8819b
FD
1402020-01-07 François Dumont <fdumont@gcc.gnu.org>
141
142 PR libstdc++/92124
143 * include/bits/stl_tree.h
144 (_Rb_tree<>::_M_move_assign(_Rb_tree&, false_type)): Replace
145 std::move_if_noexcept by std::move.
146 * testsuite/23_containers/map/92124.cc: New.
147 * testsuite/23_containers/set/92124.cc: New.
148
f31a99f7
JW
1492020-01-06 Jonathan Wakely <jwakely@redhat.com>
150
a4a1f965
JW
151 * include/std/stop_token (stop_token): Remove operator!= (LWG 3254).
152 (stop_source): Likewise (LWG 3362).
153 * testsuite/30_threads/stop_token/stop_source.cc: Test equality
154 comparisons.
155
f31a99f7
JW
156 * include/bits/stl_algobase.h (__is_byte_iter, __min_cmp)
157 (lexicographical_compare_three_way): Do not depend on
158 __cpp_lib_concepts.
159 * include/std/version (__cpp_lib_three_way_comparison): Only define
160 when __cpp_lib_concepts is defined.
161 * libsupc++/compare (__cpp_lib_three_way_comparison): Likewise.
162
b4e70137
JW
1632020-01-03 Jonathan Wakely <jwakely@redhat.com>
164
165 * include/bits/stl_algobase.h (lexicographical_compare_three_way):
166 Only define four-argument overload when __cpp_lib_concepts is defined.
167
a8497ec6
JDA
1682020-01-01 John David Anglin <danglin@gcc.gnu.org>
169
170 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
171
8d9254fc 1722020-01-01 Jakub Jelinek <jakub@redhat.com>
5624e564
JJ
173
174 Update copyright years.
b4df5e92 175\f
8d9254fc 176Copyright (C) 2020 Free Software Foundation, Inc.
b4df5e92
JW
177
178Copying and distribution of this file, with or without modification,
179are permitted in any medium without royalty provided the copyright
180notice and this notice are preserved.