ChangeLog revision 1.1.1.21 1 1.1.1.21 mrg 2022-06-28 Release Manager
2 1.1.1.21 mrg
3 1.1.1.21 mrg * GCC 10.4.0 released.
4 1.1.1.21 mrg
5 1.1.1.21 mrg 2022-06-15 Jonathan Wakely <jwakely (a] redhat.com>
6 1.1.1.21 mrg
7 1.1.1.21 mrg Backported from master:
8 1.1.1.21 mrg 2022-06-13 Jonathan Wakely <jwakely (a] redhat.com>
9 1.1.1.21 mrg
10 1.1.1.21 mrg * include/std/atomic (__atomic_val_t): Use __type_identity_t
11 1.1.1.21 mrg instead of atomic<T>::value_type, as per LWG 3220.
12 1.1.1.21 mrg * testsuite/29_atomics/atomic/lwg3220.cc: New test.
13 1.1.1.21 mrg
14 1.1.1.21 mrg 2022-06-15 Mark Mentovai <mark (a] mentovai.com>
15 1.1.1.21 mrg
16 1.1.1.21 mrg Backported from master:
17 1.1.1.21 mrg 2022-06-13 Mark Mentovai <mark (a] mentovai.com>
18 1.1.1.21 mrg
19 1.1.1.21 mrg * include/experimental/bits/fs_path.h (__detail::__null_terminated):
20 1.1.1.21 mrg Rename to __nul_terminated to avoid colliding with a macro in
21 1.1.1.21 mrg Apple's SDK.
22 1.1.1.21 mrg
23 1.1.1.21 mrg 2022-06-15 Jonathan Wakely <jwakely (a] redhat.com>
24 1.1.1.21 mrg
25 1.1.1.21 mrg Backported from master:
26 1.1.1.21 mrg 2022-05-06 Jonathan Wakely <jwakely (a] redhat.com>
27 1.1.1.21 mrg
28 1.1.1.21 mrg PR libstdc++/104731
29 1.1.1.21 mrg * testsuite/27_io/filesystem/iterators/error_reporting.cc:
30 1.1.1.21 mrg Use a trailing char array as storage for dirent::d_name.
31 1.1.1.21 mrg
32 1.1.1.21 mrg 2022-06-15 Jonathan Wakely <jwakely (a] redhat.com>
33 1.1.1.21 mrg
34 1.1.1.21 mrg Backported from master:
35 1.1.1.21 mrg 2022-02-02 Jonathan Wakely <jwakely (a] redhat.com>
36 1.1.1.21 mrg
37 1.1.1.21 mrg * testsuite/27_io/filesystem/iterators/error_reporting.cc: Use
38 1.1.1.21 mrg autoconf macro to check whether d_type is present.
39 1.1.1.21 mrg * testsuite/experimental/filesystem/iterators/error_reporting.cc:
40 1.1.1.21 mrg Likewise.
41 1.1.1.21 mrg
42 1.1.1.21 mrg 2022-06-15 Jonathan Wakely <jwakely (a] redhat.com>
43 1.1.1.21 mrg
44 1.1.1.21 mrg Backported from master:
45 1.1.1.21 mrg 2022-02-01 Jonathan Wakely <jwakely (a] redhat.com>
46 1.1.1.21 mrg
47 1.1.1.21 mrg * src/c++17/fs_dir.cc (recursive_directory_iterator::increment):
48 1.1.1.21 mrg Reset state to past-the-end iterator on error.
49 1.1.1.21 mrg (fs::recursive_directory_iterator::pop(error_code&)): Likewise.
50 1.1.1.21 mrg (fs::recursive_directory_iterator::pop()): Check _M_dirs before
51 1.1.1.21 mrg it might get reset.
52 1.1.1.21 mrg * src/filesystem/dir.cc (recursive_directory_iterator): Likewise,
53 1.1.1.21 mrg for the TS implementation.
54 1.1.1.21 mrg * testsuite/27_io/filesystem/iterators/error_reporting.cc: New test.
55 1.1.1.21 mrg * testsuite/experimental/filesystem/iterators/error_reporting.cc: New test.
56 1.1.1.21 mrg
57 1.1.1.21 mrg 2022-06-15 Jonathan Wakely <jwakely (a] redhat.com>
58 1.1.1.21 mrg
59 1.1.1.21 mrg * testsuite/23_containers/map/allocator/move_cons.cc: New test.
60 1.1.1.21 mrg * testsuite/23_containers/multimap/allocator/move_cons.cc: New test.
61 1.1.1.21 mrg * testsuite/23_containers/multiset/allocator/move_cons.cc: New test.
62 1.1.1.21 mrg * testsuite/23_containers/set/allocator/move_cons.cc: New test.
63 1.1.1.21 mrg
64 1.1.1.21 mrg 2022-06-15 Jonathan Wakely <jwakely (a] redhat.com>
65 1.1.1.21 mrg
66 1.1.1.21 mrg Backported from master:
67 1.1.1.21 mrg 2021-12-01 Jonathan Wakely <jwakely (a] redhat.com>
68 1.1.1.21 mrg
69 1.1.1.21 mrg PR libstdc++/103501
70 1.1.1.21 mrg * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&, false_type)):
71 1.1.1.21 mrg Clear container if elements have been moved-from.
72 1.1.1.21 mrg * testsuite/23_containers/multiset/allocator/103501.cc: New test.
73 1.1.1.21 mrg * testsuite/23_containers/set/allocator/103501.cc: New test.
74 1.1.1.21 mrg
75 1.1.1.21 mrg 2022-06-14 Jonathan Wakely <jwakely (a] redhat.com>
76 1.1.1.21 mrg
77 1.1.1.21 mrg PR libstdc++/97944
78 1.1.1.21 mrg * testsuite/30_threads/jthread/95989.cc: Mark XFAIL.
79 1.1.1.21 mrg
80 1.1.1.21 mrg 2022-06-14 Jonathan Wakely <jwakely (a] redhat.com>
81 1.1.1.21 mrg
82 1.1.1.21 mrg Backported from master:
83 1.1.1.21 mrg 2020-11-24 Jonathan Wakely <jwakely (a] redhat.com>
84 1.1.1.21 mrg
85 1.1.1.21 mrg * testsuite/30_threads/jthread/95989.cc: Run all three test
86 1.1.1.21 mrg functions, not just the first one twice.
87 1.1.1.21 mrg
88 1.1.1.21 mrg 2022-06-14 Jonathan Wakely <jwakely (a] redhat.com>
89 1.1.1.21 mrg
90 1.1.1.21 mrg Backported from master:
91 1.1.1.21 mrg 2022-04-28 Jonathan Wakely <jwakely (a] redhat.com>
92 1.1.1.21 mrg
93 1.1.1.21 mrg PR libstdc++/99290
94 1.1.1.21 mrg * src/c++17/fs_ops.cc (fs::copy): Pass error_code to
95 1.1.1.21 mrg directory_iterator constructor, and check on each iteration.
96 1.1.1.21 mrg * src/filesystem/ops.cc (fs::copy): Likewise.
97 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/copy.cc: Check for
98 1.1.1.21 mrg errors during recursion.
99 1.1.1.21 mrg * testsuite/experimental/filesystem/operations/copy.cc:
100 1.1.1.21 mrg Likewise.
101 1.1.1.21 mrg
102 1.1.1.21 mrg 2022-06-14 Jonathan Wakely <jwakely (a] redhat.com>
103 1.1.1.21 mrg
104 1.1.1.21 mrg Backported from master:
105 1.1.1.21 mrg 2021-11-05 Jonathan Wakely <jwakely (a] redhat.com>
106 1.1.1.21 mrg
107 1.1.1.21 mrg * testsuite/lib/gdb-test.exp: Add target selector support to the
108 1.1.1.21 mrg dg-final directives.
109 1.1.1.21 mrg * testsuite/libstdc++-prettyprinters/80276.cc: Add xfail for
110 1.1.1.21 mrg C++20.
111 1.1.1.21 mrg * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
112 1.1.1.21 mrg * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Tweak
113 1.1.1.21 mrg comment.
114 1.1.1.21 mrg
115 1.1.1.21 mrg 2022-06-10 Jonathan Wakely <jwakely (a] redhat.com>
116 1.1.1.21 mrg
117 1.1.1.21 mrg Backported from master:
118 1.1.1.21 mrg 2022-06-10 Jonathan Wakely <jwakely (a] redhat.com>
119 1.1.1.21 mrg
120 1.1.1.21 mrg PR libstdc++/105915
121 1.1.1.21 mrg * include/experimental/bits/fs_path.h (path::begin, path::end):
122 1.1.1.21 mrg Remove noexcept from declarations.
123 1.1.1.21 mrg
124 1.1.1.21 mrg 2022-05-31 Patrick Palka <ppalka (a] redhat.com>
125 1.1.1.21 mrg
126 1.1.1.21 mrg Backported from master:
127 1.1.1.21 mrg 2021-07-16 Patrick Palka <ppalka (a] redhat.com>
128 1.1.1.21 mrg
129 1.1.1.21 mrg PR libstdc++/103904
130 1.1.1.21 mrg PR libstdc++/101231
131 1.1.1.21 mrg * include/std/ranges (_CachedPosition::_M_get): For non-forward
132 1.1.1.21 mrg ranges, just call __builtin_unreachable.
133 1.1.1.21 mrg * testsuite/std/ranges/istream_view.cc (test05): New test.
134 1.1.1.21 mrg
135 1.1.1.21 mrg 2022-05-31 Patrick Palka <ppalka (a] redhat.com>
136 1.1.1.21 mrg
137 1.1.1.21 mrg Backported from master:
138 1.1.1.21 mrg 2021-06-18 Patrick Palka <ppalka (a] redhat.com>
139 1.1.1.21 mrg
140 1.1.1.21 mrg PR libstdc++/103904
141 1.1.1.21 mrg * include/bits/iterator_concepts.h (weakly_incrementable): Remove
142 1.1.1.21 mrg default_initializable requirement.
143 1.1.1.21 mrg * include/bits/stl_iterator.h (common_iterator): Constrain the
144 1.1.1.21 mrg default ctor.
145 1.1.1.21 mrg (counted_iterator): Likewise.
146 1.1.1.21 mrg * include/std/ranges (ranges::view): Remove default_initializable
147 1.1.1.21 mrg requirement.
148 1.1.1.21 mrg (subrange): Constrain the default ctor.
149 1.1.1.21 mrg (__detail::__box::operator=): Handle self-assignment.
150 1.1.1.21 mrg (single_view): Constraint the default ctor.
151 1.1.1.21 mrg (iota_view): Relax semiregular constraint to copyable.
152 1.1.1.21 mrg Constrain the default ctor.
153 1.1.1.21 mrg (iota_view::_Iterator): Constraint the default ctor.
154 1.1.1.21 mrg (filter_view): Likewise.
155 1.1.1.21 mrg (filter_view::_Iterator): Likewise.
156 1.1.1.21 mrg (transform_view): Likewise.
157 1.1.1.21 mrg (transform_view::_Iterator): Likewise.
158 1.1.1.21 mrg (take_view): Likewise.
159 1.1.1.21 mrg (take_view::_Iterator): Likewise.
160 1.1.1.21 mrg (take_while_view): Likewise.
161 1.1.1.21 mrg (take_while_view::_Iterator): Likewise.
162 1.1.1.21 mrg (drop_while_view): Likewise.
163 1.1.1.21 mrg (drop_while_view::_Iterator): Likewise.
164 1.1.1.21 mrg (join_view): Likewise.
165 1.1.1.21 mrg (split_view): Constrain the default ctor.
166 1.1.1.21 mrg (common_view): Likewise.
167 1.1.1.21 mrg (reverse_view): Likewise.
168 1.1.1.21 mrg (elements_view): Likewise.
169 1.1.1.21 mrg (elements_view::_Iterator): Likewise.
170 1.1.1.21 mrg * include/std/span (enable_view<span<_ElementType, _Extent>>):
171 1.1.1.21 mrg Define this partial specialization to true unconditionally.
172 1.1.1.21 mrg * testsuite/std/ranges/p2325.cc: New test.
173 1.1.1.21 mrg * testsuite/std/ranges/single_view.cc (test06): New test.
174 1.1.1.21 mrg * testsuite/std/ranges/view.cc: Adjust now that view doesn't
175 1.1.1.21 mrg require default_initializable.
176 1.1.1.21 mrg
177 1.1.1.21 mrg 2022-05-29 Iain Sandoe <iain (a] sandoe.co.uk>
178 1.1.1.21 mrg
179 1.1.1.21 mrg Backported from master:
180 1.1.1.21 mrg 2021-03-15 Iain Sandoe <iain (a] sandoe.co.uk>
181 1.1.1.21 mrg
182 1.1.1.21 mrg * testsuite/17_intro/names.cc: Exclude j from the list
183 1.1.1.21 mrg of test symbols for Darwin.
184 1.1.1.21 mrg
185 1.1.1.21 mrg 2022-05-29 Iain Sandoe <iain (a] sandoe.co.uk>
186 1.1.1.21 mrg
187 1.1.1.21 mrg Backported from master:
188 1.1.1.21 mrg 2021-11-19 Iain Sandoe <iain (a] sandoe.co.uk>
189 1.1.1.21 mrg
190 1.1.1.21 mrg * testsuite/lib/prune.exp: Prune dsymutil (ld64) warning.
191 1.1.1.21 mrg
192 1.1.1.21 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com>
193 1.1.1.21 mrg
194 1.1.1.21 mrg Backported from master:
195 1.1.1.21 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com>
196 1.1.1.21 mrg
197 1.1.1.21 mrg * doc/xml/manual/prerequisites.xml: Fix attributes for external
198 1.1.1.21 mrg hyperlink.
199 1.1.1.21 mrg * doc/html/manual/setup.html: Regenerate.
200 1.1.1.21 mrg
201 1.1.1.21 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com>
202 1.1.1.21 mrg
203 1.1.1.21 mrg Backported from master:
204 1.1.1.21 mrg 2022-05-16 Jonathan Wakely <jwakely (a] redhat.com>
205 1.1.1.21 mrg
206 1.1.1.21 mrg * doc/html/manual/status.html: Regenerate.
207 1.1.1.21 mrg * doc/xml/manual/status_cxx2020.xml: Fix supported version for
208 1.1.1.21 mrg C++20 bit operations.
209 1.1.1.21 mrg
210 1.1.1.21 mrg 2022-05-09 Jonathan Wakely <jwakely (a] redhat.com>
211 1.1.1.21 mrg
212 1.1.1.21 mrg Backported from master:
213 1.1.1.21 mrg 2022-04-20 Jonathan Wakely <jwakely (a] redhat.com>
214 1.1.1.21 mrg
215 1.1.1.21 mrg PR libstdc++/93602
216 1.1.1.21 mrg * doc/xml/manual/prerequisites.xml: Document libiconv
217 1.1.1.21 mrg workarounds.
218 1.1.1.21 mrg * doc/html/manual/setup.html: Regenerate.
219 1.1.1.21 mrg * src/Makefile.am (CXXLINK): Add $(LTLIBICONV).
220 1.1.1.21 mrg * src/Makefile.in: Regenerate.
221 1.1.1.21 mrg
222 1.1.1.21 mrg 2022-05-09 Jonathan Wakely <jwakely (a] redhat.com>
223 1.1.1.21 mrg
224 1.1.1.21 mrg Backported from master:
225 1.1.1.21 mrg 2022-05-06 Jonathan Wakely <jwakely (a] redhat.com>
226 1.1.1.21 mrg
227 1.1.1.21 mrg PR libstdc++/105502
228 1.1.1.21 mrg * include/bits/random.tcc
229 1.1.1.21 mrg (operator>>(basic_istream<C,T>&, normal_distribution<R>&)):
230 1.1.1.21 mrg Update state when __state_avail is false.
231 1.1.1.21 mrg * testsuite/26_numerics/random/normal_distribution/operators/serialize.cc:
232 1.1.1.21 mrg Check that deserialized object equals serialized one.
233 1.1.1.21 mrg
234 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
235 1.1.1.21 mrg
236 1.1.1.21 mrg Backported from master:
237 1.1.1.21 mrg 2021-12-09 Jonathan Wakely <jwakely (a] redhat.com>
238 1.1.1.21 mrg
239 1.1.1.21 mrg * include/bits/stl_iterator.h (operator==, operator<=>): Define
240 1.1.1.21 mrg overloads for homogeneous specializations of reverse_iterator,
241 1.1.1.21 mrg __normal_iterator and move_iterator.
242 1.1.1.21 mrg
243 1.1.1.21 mrg 2022-04-26 Patrick Palka <ppalka (a] redhat.com>
244 1.1.1.21 mrg
245 1.1.1.21 mrg Backported from master:
246 1.1.1.21 mrg 2021-10-21 Patrick Palka <ppalka (a] redhat.com>
247 1.1.1.21 mrg
248 1.1.1.21 mrg * include/bits/stl_iterator.h (common_iterator::__arrow_proxy):
249 1.1.1.21 mrg Make fully constexpr as per LWG 3595.
250 1.1.1.21 mrg (common_iterator::__postfix_proxy): Likewise.
251 1.1.1.21 mrg
252 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
253 1.1.1.21 mrg
254 1.1.1.21 mrg Backported from master:
255 1.1.1.21 mrg 2022-01-18 Jonathan Wakely <jwakely (a] redhat.com>
256 1.1.1.21 mrg
257 1.1.1.21 mrg PR libstdc++/104098
258 1.1.1.21 mrg * include/bits/stl_iterator.h (reverse_iterator): Check
259 1.1.1.21 mrg __cpp_lib_concepts instead of __cplusplus.
260 1.1.1.21 mrg
261 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
262 1.1.1.21 mrg
263 1.1.1.21 mrg Backported from master:
264 1.1.1.21 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com>
265 1.1.1.21 mrg
266 1.1.1.21 mrg * include/bits/range_access.h (ranges::empty): Check whether
267 1.1.1.21 mrg conversion to bool can throw.
268 1.1.1.21 mrg * testsuite/std/ranges/access/empty.cc: Check for correct
269 1.1.1.21 mrg noexcept-specifier.
270 1.1.1.21 mrg
271 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
272 1.1.1.21 mrg
273 1.1.1.21 mrg PR libstdc++/102048
274 1.1.1.21 mrg * include/ext/rope (rope::erase(size_type)): Deprecate broken
275 1.1.1.21 mrg function.
276 1.1.1.21 mrg
277 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
278 1.1.1.21 mrg
279 1.1.1.21 mrg Backported from master:
280 1.1.1.21 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com>
281 1.1.1.21 mrg
282 1.1.1.21 mrg PR libstdc++/100153
283 1.1.1.21 mrg * include/bits/vector.tcc (vector<bool>::_M_shrink_to_fit()):
284 1.1.1.21 mrg When size() is zero just deallocate and reset.
285 1.1.1.21 mrg
286 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
287 1.1.1.21 mrg
288 1.1.1.21 mrg Backported from master:
289 1.1.1.21 mrg 2021-11-01 Jonathan Wakely <jwakely (a] redhat.com>
290 1.1.1.21 mrg
291 1.1.1.21 mrg * include/std/span (span(Range&&)): Reorder constraints.
292 1.1.1.21 mrg
293 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
294 1.1.1.21 mrg
295 1.1.1.21 mrg Backported from master:
296 1.1.1.21 mrg 2021-11-09 Jonathan Wakely <jwakely (a] redhat.com>
297 1.1.1.21 mrg
298 1.1.1.21 mrg * testsuite/26_numerics/random/random_device/cons/token.cc:
299 1.1.1.21 mrg Retry if random devices produce the same value.
300 1.1.1.21 mrg
301 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
302 1.1.1.21 mrg
303 1.1.1.21 mrg Backported from master:
304 1.1.1.21 mrg 2021-11-16 Jonathan Wakely <jwakely (a] redhat.com>
305 1.1.1.21 mrg
306 1.1.1.21 mrg * testsuite/21_strings/basic_string/modifiers/append/wchar_t/1.cc:
307 1.1.1.21 mrg Fix reads past the end of strings.
308 1.1.1.21 mrg * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
309 1.1.1.21 mrg Likewise.
310 1.1.1.21 mrg * testsuite/experimental/string_view/operations/compare/wchar_t/1.cc:
311 1.1.1.21 mrg Likewise.
312 1.1.1.21 mrg
313 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
314 1.1.1.21 mrg
315 1.1.1.21 mrg Backported from master:
316 1.1.1.21 mrg 2021-11-10 Jonathan Wakely <jwakely (a] redhat.com>
317 1.1.1.21 mrg
318 1.1.1.21 mrg PR libstdc++/100117
319 1.1.1.21 mrg * testsuite/17_intro/headers/c++1998/49745.cc: Explicitly list
320 1.1.1.21 mrg all C++ headers instead of including <bits/stdc++.h>
321 1.1.1.21 mrg
322 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
323 1.1.1.21 mrg
324 1.1.1.21 mrg Backported from master:
325 1.1.1.21 mrg 2021-12-09 Jonathan Wakely <jwakely (a] redhat.com>
326 1.1.1.21 mrg
327 1.1.1.21 mrg PR libstdc++/103630
328 1.1.1.21 mrg * libsupc++/exception_ptr.h (make_exception_ptr): Decay the
329 1.1.1.21 mrg template parameter. Use typeid of the static type.
330 1.1.1.21 mrg * testsuite/18_support/exception_ptr/103630.cc: New test.
331 1.1.1.21 mrg
332 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
333 1.1.1.21 mrg
334 1.1.1.21 mrg Backported from master:
335 1.1.1.21 mrg 2022-01-17 Jonathan Wakely <jwakely (a] redhat.com>
336 1.1.1.21 mrg
337 1.1.1.21 mrg PR libstdc++/103650
338 1.1.1.21 mrg * include/Makefile.am: Rename LT_OBJDIR and STDC_HEADERS.
339 1.1.1.21 mrg * include/Makefile.in: Regenerate.
340 1.1.1.21 mrg * testsuite/17_intro/headers/c++1998/103650.cc: New test.
341 1.1.1.21 mrg
342 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
343 1.1.1.21 mrg
344 1.1.1.21 mrg Backported from master:
345 1.1.1.21 mrg 2022-02-04 Jonathan Wakely <jwakely (a] redhat.com>
346 1.1.1.21 mrg
347 1.1.1.21 mrg * include/experimental/bits/fs_ops.h (fs::copy_file): Remove
348 1.1.1.21 mrg noexcept.
349 1.1.1.21 mrg (fs::create_directories): Likewise.
350 1.1.1.21 mrg (fs::remove_all): Likewise.
351 1.1.1.21 mrg * src/filesystem/ops.cc (fs::copy_file): Remove noexcept.
352 1.1.1.21 mrg (fs::create_directories): Likewise.
353 1.1.1.21 mrg (fs::remove_all): Likewise.
354 1.1.1.21 mrg
355 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
356 1.1.1.21 mrg
357 1.1.1.21 mrg Backported from master:
358 1.1.1.21 mrg 2022-04-01 Jonathan Wakely <jwakely (a] redhat.com>
359 1.1.1.21 mrg
360 1.1.1.21 mrg * include/experimental/bits/fs_fwd.h (copy_file): Remove
361 1.1.1.21 mrg incorrect noexcept from declaration.
362 1.1.1.21 mrg * include/experimental/bits/fs_path.h (path::begin, path::end):
363 1.1.1.21 mrg Add noexcept to declarations, to match definitions.
364 1.1.1.21 mrg
365 1.1.1.21 mrg 2022-04-26 Timm Bder <tbaeder (a] redhat.com>
366 1.1.1.21 mrg
367 1.1.1.21 mrg Backported from master:
368 1.1.1.21 mrg 2022-04-01 Timm Bder <tbaeder (a] redhat.com>
369 1.1.1.21 mrg
370 1.1.1.21 mrg * include/bits/fs_ops.h: Fix filename in Doxygen comment.
371 1.1.1.21 mrg * include/experimental/bits/fs_ops.h: Likewise.
372 1.1.1.21 mrg
373 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
374 1.1.1.21 mrg
375 1.1.1.21 mrg Backported from master:
376 1.1.1.21 mrg 2022-04-20 Jonathan Wakely <jwakely (a] redhat.com>
377 1.1.1.21 mrg
378 1.1.1.21 mrg * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
379 1.1.1.21 mrg Check correct feature test macro.
380 1.1.1.21 mrg
381 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
382 1.1.1.21 mrg
383 1.1.1.21 mrg Backported from master:
384 1.1.1.21 mrg 2022-04-14 Jonathan Wakely <jwakely (a] redhat.com>
385 1.1.1.21 mrg
386 1.1.1.21 mrg * doc/xml/manual/intro.xml: Fix comment.
387 1.1.1.21 mrg
388 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
389 1.1.1.21 mrg
390 1.1.1.21 mrg Backported from master:
391 1.1.1.21 mrg 2022-03-03 Jonathan Wakely <jwakely (a] redhat.com>
392 1.1.1.21 mrg
393 1.1.1.21 mrg * testsuite/17_intro/names.cc (func): Undef on AIX.
394 1.1.1.21 mrg
395 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
396 1.1.1.21 mrg
397 1.1.1.21 mrg Backported from master:
398 1.1.1.21 mrg 2022-01-27 Jonathan Wakely <jwakely (a] redhat.com>
399 1.1.1.21 mrg
400 1.1.1.21 mrg * include/bits/range_access.h (ranges::advance): Avoid signed
401 1.1.1.21 mrg overflow. Do nothing if already equal to desired result.
402 1.1.1.21 mrg * testsuite/24_iterators/range_operations/advance_overflow.cc:
403 1.1.1.21 mrg New test.
404 1.1.1.21 mrg
405 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
406 1.1.1.21 mrg
407 1.1.1.21 mrg Backported from master:
408 1.1.1.21 mrg 2022-01-06 Jonathan Wakely <jwakely (a] redhat.com>
409 1.1.1.21 mrg
410 1.1.1.21 mrg * testsuite/ext/rope/pthread7-rope.cc: Add dg-timeout-factor.
411 1.1.1.21 mrg
412 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
413 1.1.1.21 mrg
414 1.1.1.21 mrg Backported from master:
415 1.1.1.21 mrg 2022-01-06 Jonathan Wakely <jwakely (a] redhat.com>
416 1.1.1.21 mrg
417 1.1.1.21 mrg PR libstdc++/103911
418 1.1.1.21 mrg * include/std/charconv (__from_chars_alpha_to_num): Return
419 1.1.1.21 mrg char instead of unsigned char. Change invalid return value to
420 1.1.1.21 mrg 127 instead of using numeric trait.
421 1.1.1.21 mrg (__from_chars_alnum): Fix comment. Do not use std::isdigit.
422 1.1.1.21 mrg Change type of variable to char.
423 1.1.1.21 mrg
424 1.1.1.21 mrg 2022-04-26 Pavel I. Kryukov <pavel.kryukov (a] phystech.edu>
425 1.1.1.21 mrg
426 1.1.1.21 mrg Backported from master:
427 1.1.1.21 mrg 2022-01-06 Pavel I. Kryukov <pavel.kryukov (a] phystech.edu>
428 1.1.1.21 mrg Jonathan Wakely <jwakely (a] redhat.com>
429 1.1.1.21 mrg
430 1.1.1.21 mrg PR libstdc++/103853
431 1.1.1.21 mrg * include/bits/forward_list.tcc (forward_list::merge): Check for
432 1.1.1.21 mrg self-merge.
433 1.1.1.21 mrg * testsuite/23_containers/forward_list/operations/merge.cc: New test.
434 1.1.1.21 mrg
435 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
436 1.1.1.21 mrg
437 1.1.1.21 mrg Backported from master:
438 1.1.1.21 mrg 2021-12-14 Jonathan Wakely <jwakely (a] redhat.com>
439 1.1.1.21 mrg
440 1.1.1.21 mrg * include/bits/regex_compiler.tcc (_Compiler::_M_match_token):
441 1.1.1.21 mrg Use reserved name for parameter.
442 1.1.1.21 mrg * testsuite/17_intro/names.cc: Check "token".
443 1.1.1.21 mrg
444 1.1.1.21 mrg 2022-04-26 Jonathan Wakely <jwakely (a] redhat.com>
445 1.1.1.21 mrg
446 1.1.1.21 mrg Backported from master:
447 1.1.1.21 mrg 2021-08-25 Jonathan Wakely <jwakely (a] redhat.com>
448 1.1.1.21 mrg
449 1.1.1.21 mrg * testsuite/17_intro/names.cc: Check 'sz'.
450 1.1.1.21 mrg
451 1.1.1.21 mrg 2022-04-14 Jonathan Wakely <jwakely (a] redhat.com>
452 1.1.1.21 mrg
453 1.1.1.21 mrg * doc/xml/manual/status_cxx1998.xml: Refer to GCC 10 not
454 1.1.1.21 mrg mainline.
455 1.1.1.21 mrg * doc/xml/manual/status_cxx2011.xml: Likewise.
456 1.1.1.21 mrg * doc/xml/manual/status_cxx2014.xml: Likewise.
457 1.1.1.21 mrg * doc/xml/manual/status_cxx2017.xml: Likewise.
458 1.1.1.21 mrg * doc/xml/manual/status_cxx2020.xml: Likewise.
459 1.1.1.21 mrg * doc/xml/manual/status_cxxtr1.xml: Likewise.
460 1.1.1.21 mrg * doc/xml/manual/status_cxxtr24733.xml: Likewise.
461 1.1.1.21 mrg * doc/html/manual/status.html: Regenerate.
462 1.1.1.21 mrg
463 1.1.1.21 mrg 2022-02-17 Patrick Palka <ppalka (a] redhat.com>
464 1.1.1.21 mrg
465 1.1.1.21 mrg Backported from master:
466 1.1.1.21 mrg 2021-10-21 Patrick Palka <ppalka (a] redhat.com>
467 1.1.1.21 mrg
468 1.1.1.21 mrg PR libstdc++/102358
469 1.1.1.21 mrg * include/bits/stl_iterator.h (__niter_base): Make constexpr
470 1.1.1.21 mrg for C++20.
471 1.1.1.21 mrg (__miter_base): Likewise.
472 1.1.1.21 mrg * testsuite/25_algorithms/move/constexpr.cc: New test.
473 1.1.1.21 mrg
474 1.1.1.21 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
475 1.1.1.21 mrg
476 1.1.1.21 mrg Backported from master:
477 1.1.1.21 mrg 2021-11-18 Jonathan Wakely <jwakely (a] redhat.com>
478 1.1.1.21 mrg
479 1.1.1.21 mrg * include/bits/char_traits.h (__gnu_cxx::char_traits::move):
480 1.1.1.21 mrg Do not compare unrelated pointers during constant evaluation.
481 1.1.1.21 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
482 1.1.1.21 mrg Improve tests for char_traits::move.
483 1.1.1.21 mrg
484 1.1.1.21 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
485 1.1.1.21 mrg
486 1.1.1.21 mrg Backported from master:
487 1.1.1.21 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
488 1.1.1.21 mrg
489 1.1.1.21 mrg PR libstdc++/103877
490 1.1.1.21 mrg * doc/xml/faq.xml: Add '-x c++' to preprocessor command.
491 1.1.1.21 mrg * doc/html/faq.html: Regenerate.
492 1.1.1.21 mrg
493 1.1.1.21 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
494 1.1.1.21 mrg
495 1.1.1.21 mrg Backported from master:
496 1.1.1.21 mrg 2021-12-04 Jonathan Wakely <jwakely (a] redhat.com>
497 1.1.1.21 mrg
498 1.1.1.21 mrg PR libstdc++/103549
499 1.1.1.21 mrg * include/bits/regex.h (match_results): Give names to template
500 1.1.1.21 mrg parameters in first declaration.
501 1.1.1.21 mrg (match_results::_M_begin): Add default member-initializer.
502 1.1.1.21 mrg
503 1.1.1.21 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
504 1.1.1.21 mrg
505 1.1.1.21 mrg Backported from master:
506 1.1.1.21 mrg 2021-11-30 Jonathan Wakely <jwakely (a] redhat.com>
507 1.1.1.21 mrg
508 1.1.1.21 mrg PR libstdc++/103453
509 1.1.1.21 mrg * config/allocator/malloc_allocator_base.h
510 1.1.1.21 mrg (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define for Clang.
511 1.1.1.21 mrg * config/allocator/new_allocator_base.h
512 1.1.1.21 mrg (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Likewise.
513 1.1.1.21 mrg
514 1.1.1.21 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
515 1.1.1.21 mrg
516 1.1.1.21 mrg Backported from master:
517 1.1.1.21 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
518 1.1.1.21 mrg
519 1.1.1.21 mrg * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Strip
520 1.1.1.21 mrg versioned namespace from the type name that is printed.
521 1.1.1.21 mrg
522 1.1.1.21 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
523 1.1.1.21 mrg
524 1.1.1.21 mrg Backported from master:
525 1.1.1.21 mrg 2021-08-28 Jonathan Wakely <jwakely (a] redhat.com>
526 1.1.1.21 mrg
527 1.1.1.21 mrg * include/bits/alloc_traits.h (allocator_traits): Add explicit
528 1.1.1.21 mrg specialization for allocator<void>. Improve doxygen comments.
529 1.1.1.21 mrg * include/bits/allocator.h (allocator<void>): Restore for the
530 1.1.1.21 mrg versioned namespace.
531 1.1.1.21 mrg (allocator<void>::construct, allocator<void>::destroy): Remove.
532 1.1.1.21 mrg * include/ext/extptr_allocator.h (_Extptr_allocator<void>):
533 1.1.1.21 mrg Add default constructor and converting constructor.
534 1.1.1.21 mrg
535 1.1.1.21 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
536 1.1.1.21 mrg
537 1.1.1.21 mrg Backported from master:
538 1.1.1.21 mrg 2021-11-23 Jonathan Wakely <jwakely (a] redhat.com>
539 1.1.1.21 mrg
540 1.1.1.21 mrg PR libstdc++/103086
541 1.1.1.21 mrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Check unique_ptr
542 1.1.1.21 mrg with non-empty pointer and non-empty deleter.
543 1.1.1.21 mrg
544 1.1.1.21 mrg 2022-01-05 Jonathan Wakely <jwakely (a] redhat.com>
545 1.1.1.21 mrg
546 1.1.1.21 mrg Backported from master:
547 1.1.1.21 mrg 2021-11-04 Jonathan Wakely <jwakely (a] redhat.com>
548 1.1.1.21 mrg
549 1.1.1.21 mrg PR libstdc++/103086
550 1.1.1.21 mrg * python/libstdcxx/v6/printers.py (_tuple_impl_get): New helper
551 1.1.1.21 mrg for accessing the tuple element stored in a _Tuple_impl node.
552 1.1.1.21 mrg (tuple_get): New function for accessing a tuple element.
553 1.1.1.21 mrg (unique_ptr_get): New function for accessing a unique_ptr.
554 1.1.1.21 mrg (UniquePointerPrinter, StdPathPrinter): Use unique_ptr_get.
555 1.1.1.21 mrg * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker): Cast
556 1.1.1.21 mrg tuple to its base class before accessing _M_head_impl.
557 1.1.1.21 mrg
558 1.1.1.21 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com>
559 1.1.1.21 mrg
560 1.1.1.21 mrg Backported from master:
561 1.1.1.21 mrg 2021-07-22 Jonathan Wakely <jwakely (a] redhat.com>
562 1.1.1.21 mrg
563 1.1.1.21 mrg PR libstdc++/101571
564 1.1.1.21 mrg * include/bits/ranges_uninitialized.h (_DestroyGuard): Change
565 1.1.1.21 mrg constructor parameter to reference and use addressof.
566 1.1.1.21 mrg * testsuite/util/testsuite_iterators.h: Define deleted operator&
567 1.1.1.21 mrg overloads for test iterators.
568 1.1.1.21 mrg
569 1.1.1.21 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com>
570 1.1.1.21 mrg
571 1.1.1.21 mrg Backported from master:
572 1.1.1.21 mrg 2021-08-19 Jonathan Wakely <jwakely (a] redhat.com>
573 1.1.1.21 mrg
574 1.1.1.21 mrg PR libstdc++/101965
575 1.1.1.21 mrg * include/std/charconv (__to_chars_i): Remove redundant check.
576 1.1.1.21 mrg
577 1.1.1.21 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com>
578 1.1.1.21 mrg
579 1.1.1.21 mrg Backported from master:
580 1.1.1.21 mrg 2021-10-22 Jonathan Wakely <jwakely (a] redhat.com>
581 1.1.1.21 mrg
582 1.1.1.21 mrg PR libstdc++/102894
583 1.1.1.21 mrg * include/std/any (make_any): Add SFINAE constraint.
584 1.1.1.21 mrg * testsuite/20_util/any/102894.cc: New test.
585 1.1.1.21 mrg
586 1.1.1.21 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com>
587 1.1.1.21 mrg
588 1.1.1.21 mrg PR libstdc++/102270
589 1.1.1.21 mrg * include/std/tuple (_Head_base, _Tuple_impl): Add
590 1.1.1.21 mrg _GLIBCXX20_CONSTEXPR to allocator-extended constructors.
591 1.1.1.21 mrg (tuple<>::swap(tuple&)): Add _GLIBCXX20_CONSTEXPR.
592 1.1.1.21 mrg * testsuite/20_util/tuple/cons/102270.cc: New test.
593 1.1.1.21 mrg * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add
594 1.1.1.21 mrg constexpr to constructor so it can be used for C++20 tests.
595 1.1.1.21 mrg
596 1.1.1.21 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com>
597 1.1.1.21 mrg
598 1.1.1.21 mrg Backported from master:
599 1.1.1.21 mrg 2021-08-09 Jonathan Wakely <jwakely (a] redhat.com>
600 1.1.1.21 mrg
601 1.1.1.21 mrg * testsuite/23_containers/unordered_map/cons/default.cc: Add
602 1.1.1.21 mrg equality comparison operators to allocator.
603 1.1.1.21 mrg * testsuite/23_containers/unordered_set/cons/default.cc:
604 1.1.1.21 mrg Likewise.
605 1.1.1.21 mrg
606 1.1.1.21 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com>
607 1.1.1.21 mrg
608 1.1.1.21 mrg Backported from master:
609 1.1.1.21 mrg 2021-07-20 Jonathan Wakely <jwakely (a] redhat.com>
610 1.1.1.21 mrg
611 1.1.1.21 mrg PR libstdc++/100863
612 1.1.1.21 mrg * include/bits/hashtable.h (_Hashtable): Conditionally delete
613 1.1.1.21 mrg default constructor by deriving from _Enable_default_constructor.
614 1.1.1.21 mrg Construct that base-class explicitly in all non-forwarding,
615 1.1.1.21 mrg non-defaulted constructors.
616 1.1.1.21 mrg * testsuite/23_containers/unordered_map/cons/default.cc: New test.
617 1.1.1.21 mrg * testsuite/23_containers/unordered_set/cons/default.cc: New test.
618 1.1.1.21 mrg
619 1.1.1.21 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com>
620 1.1.1.21 mrg
621 1.1.1.21 mrg Backported from master:
622 1.1.1.21 mrg 2021-06-02 Jonathan Wakely <jwakely (a] redhat.com>
623 1.1.1.21 mrg
624 1.1.1.21 mrg PR libstdc++/100863
625 1.1.1.21 mrg PR libstdc++/65816
626 1.1.1.21 mrg * include/bits/hashtable_policy.h (_Hashtable_ebo_helper):
627 1.1.1.21 mrg Value-initialize subobject.
628 1.1.1.21 mrg * testsuite/23_containers/unordered_map/allocator/default_init.cc:
629 1.1.1.21 mrg Remove XFAIL.
630 1.1.1.21 mrg * testsuite/23_containers/unordered_set/allocator/default_init.cc:
631 1.1.1.21 mrg Remove XFAIL.
632 1.1.1.21 mrg
633 1.1.1.21 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com>
634 1.1.1.21 mrg
635 1.1.1.21 mrg Backported from master:
636 1.1.1.21 mrg 2021-09-28 Jonathan Wakely <jwakely (a] redhat.com>
637 1.1.1.21 mrg
638 1.1.1.21 mrg * include/bits/move.h (forward(remove_reference_t<T>&&)):
639 1.1.1.21 mrg Improve text of static_assert.
640 1.1.1.21 mrg * testsuite/20_util/forward/c_neg.cc: Adjust dg-error.
641 1.1.1.21 mrg * testsuite/20_util/forward/f_neg.cc: Likewise.
642 1.1.1.21 mrg
643 1.1.1.21 mrg 2021-11-26 Antony Polukhin <antoshkka (a] gmail.com>
644 1.1.1.21 mrg
645 1.1.1.21 mrg Backported from master:
646 1.1.1.21 mrg 2021-08-17 Antony Polukhin <antoshkka (a] gmail.com>
647 1.1.1.21 mrg Jonathan Wakely <jwakely (a] redhat.com>
648 1.1.1.21 mrg
649 1.1.1.21 mrg * include/bits/random.tcc (seed_seq::seed_seq): Reserve capacity
650 1.1.1.21 mrg if distance is O(1).
651 1.1.1.21 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
652 1.1.1.21 mrg line number.
653 1.1.1.21 mrg
654 1.1.1.21 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com>
655 1.1.1.21 mrg
656 1.1.1.21 mrg Backported from master:
657 1.1.1.21 mrg 2021-08-12 Jonathan Wakely <jwakely (a] redhat.com>
658 1.1.1.21 mrg
659 1.1.1.21 mrg PR libstdc++/101870
660 1.1.1.21 mrg * include/c_global/cmath (hypot): Use __promoted_t.
661 1.1.1.21 mrg (lerp): Add new overload accepting any arithmetic types.
662 1.1.1.21 mrg * include/ext/type_traits.h (__promoted_t): New alias template.
663 1.1.1.21 mrg * testsuite/26_numerics/lerp.cc: Moved to...
664 1.1.1.21 mrg * testsuite/26_numerics/lerp/1.cc: ...here.
665 1.1.1.21 mrg * testsuite/26_numerics/lerp/constexpr.cc: New test.
666 1.1.1.21 mrg * testsuite/26_numerics/lerp/version.cc: New test.
667 1.1.1.21 mrg
668 1.1.1.21 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com>
669 1.1.1.21 mrg
670 1.1.1.21 mrg * testsuite/27_io/types/1.cc: Add c++11 target selector to
671 1.1.1.21 mrg warnings.
672 1.1.1.21 mrg
673 1.1.1.21 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com>
674 1.1.1.21 mrg
675 1.1.1.21 mrg Backported from master:
676 1.1.1.21 mrg 2021-05-11 Jonathan Wakely <jwakely (a] redhat.com>
677 1.1.1.21 mrg
678 1.1.1.21 mrg * testsuite/20_util/headers/memory/synopsis.cc: Define C++98
679 1.1.1.21 mrg alternative for macro.
680 1.1.1.21 mrg * testsuite/20_util/shared_ptr/creation/99006.cc: Add effective
681 1.1.1.21 mrg target keyword.
682 1.1.1.21 mrg * testsuite/25_algorithms/copy/debug/99402.cc: Avoid C++11
683 1.1.1.21 mrg syntax.
684 1.1.1.21 mrg
685 1.1.1.21 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com>
686 1.1.1.21 mrg
687 1.1.1.21 mrg * testsuite/23_containers/array/comparison_operators/96851.cc:
688 1.1.1.21 mrg Skip test in debug mode.
689 1.1.1.21 mrg
690 1.1.1.21 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com>
691 1.1.1.21 mrg
692 1.1.1.21 mrg * include/bits/stl_iterator.h: Include required header for
693 1.1.1.21 mrg std::iterator class template and iterator category tags.
694 1.1.1.21 mrg
695 1.1.1.21 mrg 2021-11-26 Jonathan Wakely <jwakely (a] redhat.com>
696 1.1.1.21 mrg
697 1.1.1.21 mrg Backported from master:
698 1.1.1.21 mrg 2021-11-25 Jonathan Wakely <jwakely (a] redhat.com>
699 1.1.1.21 mrg
700 1.1.1.21 mrg PR libstdc++/101608
701 1.1.1.21 mrg * include/bits/ranges_algobase.h (__fill_n_fn): Check for
702 1.1.1.21 mrg constant evaluation before using memset.
703 1.1.1.21 mrg * testsuite/25_algorithms/fill_n/constrained.cc: Check
704 1.1.1.21 mrg byte-sized values as well.
705 1.1.1.21 mrg
706 1.1.1.21 mrg 2021-11-23 Jonathan Wakely <jwakely (a] redhat.com>
707 1.1.1.21 mrg
708 1.1.1.21 mrg Backported from master:
709 1.1.1.21 mrg 2021-11-23 Jonathan Wakely <jwakely (a] redhat.com>
710 1.1.1.21 mrg
711 1.1.1.21 mrg PR libstdc++/103381
712 1.1.1.21 mrg * include/ext/bitmap_allocator.h: Include <bits/stl_function.h>
713 1.1.1.21 mrg instead of <functional>.
714 1.1.1.21 mrg
715 1.1.1.21 mrg 2021-11-01 Jonathan Wakely <jwakely (a] redhat.com>
716 1.1.1.21 mrg
717 1.1.1.21 mrg * include/std/valarray (begin, end): Remove nodiscard attribute.
718 1.1.1.21 mrg
719 1.1.1.21 mrg 2021-11-01 Jonathan Wakely <jwakely (a] redhat.com>
720 1.1.1.21 mrg
721 1.1.1.21 mrg Backported from master:
722 1.1.1.21 mrg 2021-11-01 Jonathan Wakely <jwakely (a] redhat.com>
723 1.1.1.21 mrg
724 1.1.1.21 mrg PR libstdc++/103022
725 1.1.1.21 mrg * include/std/valarray (begin, end): Do not dereference an empty
726 1.1.1.21 mrg valarray. Add noexcept and [[nodiscard]].
727 1.1.1.21 mrg * testsuite/26_numerics/valarray/range_access.cc: Check empty
728 1.1.1.21 mrg valarray. Check iterator properties. Run as well as compiling.
729 1.1.1.21 mrg * testsuite/26_numerics/valarray/range_access2.cc: Likewise.
730 1.1.1.21 mrg * testsuite/26_numerics/valarray/103022.cc: New test.
731 1.1.1.21 mrg
732 1.1.1.21 mrg 2021-10-13 Jonathan Wakely <jwakely (a] redhat.com>
733 1.1.1.21 mrg
734 1.1.1.21 mrg Backported from master:
735 1.1.1.21 mrg 2021-10-13 Jonathan Wakely <jwakely (a] redhat.com>
736 1.1.1.21 mrg
737 1.1.1.21 mrg * testsuite/28_regex/match_results/102667.C: Moved to...
738 1.1.1.21 mrg * testsuite/28_regex/match_results/102667.cc: ...here.
739 1.1.1.21 mrg
740 1.1.1.21 mrg 2021-10-13 Jonathan Wakely <jwakely (a] redhat.com>
741 1.1.1.21 mrg
742 1.1.1.21 mrg * testsuite/21_strings/basic_string_view/requirements/trivially_copyable.cc:
743 1.1.1.21 mrg Use -std=gnu++17 option.
744 1.1.1.21 mrg
745 1.1.1.21 mrg 2021-10-13 Jonathan Wakely <jwakely (a] redhat.com>
746 1.1.1.21 mrg
747 1.1.1.21 mrg Backported from master:
748 1.1.1.21 mrg 2021-08-20 Jonathan Wakely <jwakely (a] redhat.com>
749 1.1.1.21 mrg
750 1.1.1.21 mrg PR libstdc++/90787
751 1.1.1.21 mrg * testsuite/27_io/filesystem/iterators/directory_iterator.cc:
752 1.1.1.21 mrg Use new __gnu_test::permissions_are_testable() function.
753 1.1.1.21 mrg * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
754 1.1.1.21 mrg Likewise.
755 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/exists.cc: Likewise.
756 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
757 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/remove.cc: Likewise.
758 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/remove_all.cc: Likewise.
759 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/status.cc: Likewise.
760 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/symlink_status.cc:
761 1.1.1.21 mrg Likewise.
762 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/temp_directory_path.cc:
763 1.1.1.21 mrg Likewise.
764 1.1.1.21 mrg * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
765 1.1.1.21 mrg Likewise.
766 1.1.1.21 mrg * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc:
767 1.1.1.21 mrg Likewise.
768 1.1.1.21 mrg * testsuite/experimental/filesystem/operations/exists.cc:
769 1.1.1.21 mrg Likewise.
770 1.1.1.21 mrg * testsuite/experimental/filesystem/operations/is_empty.cc:
771 1.1.1.21 mrg Likewise.
772 1.1.1.21 mrg * testsuite/experimental/filesystem/operations/remove.cc:
773 1.1.1.21 mrg Likewise.
774 1.1.1.21 mrg * testsuite/experimental/filesystem/operations/remove_all.cc:
775 1.1.1.21 mrg Likewise.
776 1.1.1.21 mrg * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
777 1.1.1.21 mrg Likewise.
778 1.1.1.21 mrg * testsuite/util/testsuite_fs.h (__gnu_test::permissions_are_testable):
779 1.1.1.21 mrg New function to guess whether testing permissions will work.
780 1.1.1.21 mrg
781 1.1.1.21 mrg 2021-10-13 Jonathan Wakely <jwakely (a] redhat.com>
782 1.1.1.21 mrg
783 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/remove_all.cc: Remove
784 1.1.1.21 mrg test directory after making it writable again.
785 1.1.1.21 mrg * testsuite/experimental/filesystem/operations/remove_all.cc:
786 1.1.1.21 mrg Likewise.
787 1.1.1.21 mrg
788 1.1.1.21 mrg 2021-10-13 Jonathan Wakely <jwakely (a] redhat.com>
789 1.1.1.21 mrg
790 1.1.1.21 mrg Backported from master:
791 1.1.1.21 mrg 2021-06-22 Jonathan Wakely <jwakely (a] redhat.com>
792 1.1.1.21 mrg
793 1.1.1.21 mrg * include/bits/random.h (seed_seq): Constrain initializer-list
794 1.1.1.21 mrg constructor.
795 1.1.1.21 mrg * include/bits/random.tcc (seed_seq): Add template parameter.
796 1.1.1.21 mrg * testsuite/26_numerics/random/seed_seq/cons/default.cc: Check
797 1.1.1.21 mrg for noexcept.
798 1.1.1.21 mrg * testsuite/26_numerics/random/seed_seq/cons/initlist.cc: Check
799 1.1.1.21 mrg constraints.
800 1.1.1.21 mrg
801 1.1.1.21 mrg 2021-10-13 Jonathan Wakely <jwakely (a] redhat.com>
802 1.1.1.21 mrg
803 1.1.1.21 mrg Backported from master:
804 1.1.1.21 mrg 2021-05-12 Jonathan Wakely <jwakely (a] redhat.com>
805 1.1.1.21 mrg
806 1.1.1.21 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
807 1.1.1.21 mrg Increase dg-timeout-factor to 4. Fix -Wunused-parameter
808 1.1.1.21 mrg warnings. Replace bitwise AND with logical AND in loop
809 1.1.1.21 mrg condition.
810 1.1.1.21 mrg * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
811 1.1.1.21 mrg Replace bitwise AND with logical AND in loop condition.
812 1.1.1.21 mrg * testsuite/util/pstl/test_utils.h: Remove unused parameter
813 1.1.1.21 mrg names.
814 1.1.1.21 mrg
815 1.1.1.21 mrg 2021-10-13 Patrick Palka <ppalka (a] redhat.com>
816 1.1.1.21 mrg
817 1.1.1.21 mrg Backported from master:
818 1.1.1.21 mrg 2021-04-28 Patrick Palka <ppalka (a] redhat.com>
819 1.1.1.21 mrg
820 1.1.1.21 mrg PR libstdc++/100187
821 1.1.1.21 mrg PR libstdc++/100237
822 1.1.1.21 mrg PR libstdc++/100249
823 1.1.1.21 mrg PR libstdc++/100287
824 1.1.1.21 mrg * include/bits/ranges_algo.h (__search_n_fn::operator()): Give
825 1.1.1.21 mrg the __value_comp lambda an explicit bool return type.
826 1.1.1.21 mrg (__is_permutation_fn::operator()): Give the __proj_scan local
827 1.1.1.21 mrg variable auto&& return type. Give the __comp_scan lambda an
828 1.1.1.21 mrg explicit bool return type.
829 1.1.1.21 mrg (__remove_fn::operator()): Give the __pred lambda an explicit
830 1.1.1.21 mrg bool return type.
831 1.1.1.21 mrg (__partition_fn::operator()): Don't std::move __first twice
832 1.1.1.21 mrg when returning an empty subrange.
833 1.1.1.21 mrg (__min_fn::operator()): Don't std::move __comp.
834 1.1.1.21 mrg (__max_fn::operator()): Likewise.
835 1.1.1.21 mrg (__minmax_fn::operator()): Likewise.
836 1.1.1.21 mrg
837 1.1.1.21 mrg 2021-10-12 Patrick Palka <ppalka (a] redhat.com>
838 1.1.1.21 mrg
839 1.1.1.21 mrg Backported from master:
840 1.1.1.21 mrg 2021-08-02 Patrick Palka <ppalka (a] redhat.com>
841 1.1.1.21 mrg
842 1.1.1.21 mrg PR libstdc++/101599
843 1.1.1.21 mrg * include/bits/ranges_algo.h (__reverse_copy_fn::operator()):
844 1.1.1.21 mrg Add missing std::move in return statement.
845 1.1.1.21 mrg (__partition_copy_fn::operator()): Rename templtae parameter
846 1.1.1.21 mrg _O2 to _Out2. Uglify function parameters out_true and out_false.
847 1.1.1.21 mrg * include/bits/ranges_algobase.h (__copy_or_move): Add missing
848 1.1.1.21 mrg std::move to recursive call that unwraps a __normal_iterator
849 1.1.1.21 mrg output iterator.
850 1.1.1.21 mrg * testsuite/25_algorithms/copy/constrained.cc (test06): New test.
851 1.1.1.21 mrg * testsuite/25_algorithms/move/constrained.cc (test05): New test.
852 1.1.1.21 mrg
853 1.1.1.21 mrg 2021-10-12 Patrick Palka <ppalka (a] redhat.com>
854 1.1.1.21 mrg
855 1.1.1.21 mrg Backported from master:
856 1.1.1.21 mrg 2021-08-02 Patrick Palka <ppalka (a] redhat.com>
857 1.1.1.21 mrg
858 1.1.1.21 mrg PR libstdc++/101589
859 1.1.1.21 mrg * include/std/ranges (lazy_split_view::_InnerIter::base): Make
860 1.1.1.21 mrg the const& overload unconstrained and return a const reference
861 1.1.1.21 mrg as per LWG 3533. Make unconditionally noexcept.
862 1.1.1.21 mrg (elements_view::base): Revert accidental r12-569 change.
863 1.1.1.21 mrg (elements_view::_Iterator::base): Make the const& overload
864 1.1.1.21 mrg unconstrained and return a const reference as per LWG 3533.
865 1.1.1.21 mrg Make unconditionally noexcept.
866 1.1.1.21 mrg
867 1.1.1.21 mrg 2021-10-12 Patrick Palka <ppalka (a] redhat.com>
868 1.1.1.21 mrg
869 1.1.1.21 mrg Backported from master:
870 1.1.1.21 mrg 2021-08-02 Patrick Palka <ppalka (a] redhat.com>
871 1.1.1.21 mrg
872 1.1.1.21 mrg PR libstdc++/101483
873 1.1.1.21 mrg * include/std/ranges (join_view::_Iterator::_Iterator): Add
874 1.1.1.21 mrg missing std::move.
875 1.1.1.21 mrg
876 1.1.1.21 mrg 2021-10-12 Patrick Palka <ppalka (a] redhat.com>
877 1.1.1.21 mrg
878 1.1.1.21 mrg Backported from master:
879 1.1.1.21 mrg 2021-06-20 Patrick Palka <ppalka (a] redhat.com>
880 1.1.1.21 mrg
881 1.1.1.21 mrg * include/std/ranges (split_view::_InnerIter::base): Define as
882 1.1.1.21 mrg per P2210.
883 1.1.1.21 mrg
884 1.1.1.21 mrg 2021-10-12 Patrick Palka <ppalka (a] redhat.com>
885 1.1.1.21 mrg
886 1.1.1.21 mrg Backported from master:
887 1.1.1.21 mrg 2021-06-19 Patrick Palka <ppalka (a] redhat.com>
888 1.1.1.21 mrg
889 1.1.1.21 mrg * include/std/ranges (transform_view::_Iterator::_S_iter_concept):
890 1.1.1.21 mrg Consider _Base instead of _Vp as per LWG 3555.
891 1.1.1.21 mrg (elements_view::_Iterator::_S_iter_concept): Likewise.
892 1.1.1.21 mrg
893 1.1.1.21 mrg 2021-10-12 Patrick Palka <ppalka (a] redhat.com>
894 1.1.1.21 mrg
895 1.1.1.21 mrg Backported from master:
896 1.1.1.21 mrg 2021-06-19 Patrick Palka <ppalka (a] redhat.com>
897 1.1.1.21 mrg
898 1.1.1.21 mrg * include/std/ranges (split_view::_OuterIter::value_type::begin):
899 1.1.1.21 mrg Remove the non-const overload, and remove the copyable constraint
900 1.1.1.21 mrg on the const overload as per LWG 3553.
901 1.1.1.21 mrg
902 1.1.1.21 mrg 2021-10-12 Patrick Palka <ppalka (a] redhat.com>
903 1.1.1.21 mrg
904 1.1.1.21 mrg Backported from master:
905 1.1.1.21 mrg 2021-06-19 Patrick Palka <ppalka (a] redhat.com>
906 1.1.1.21 mrg
907 1.1.1.21 mrg * include/bits/stl_iterator.h
908 1.1.1.21 mrg (__detail::__common_iter_use_postfix_proxy): Add
909 1.1.1.21 mrg move_constructible constraint as per LWG 3546.
910 1.1.1.21 mrg (common_iterator::__postfix_proxy): Adjust initializer of
911 1.1.1.21 mrg _M_keep as per LWG 3546.
912 1.1.1.21 mrg
913 1.1.1.21 mrg 2021-10-12 Patrick Palka <ppalka (a] redhat.com>
914 1.1.1.21 mrg
915 1.1.1.21 mrg Backported from master:
916 1.1.1.21 mrg 2021-06-18 Patrick Palka <ppalka (a] redhat.com>
917 1.1.1.21 mrg
918 1.1.1.21 mrg PR libstdc++/100387
919 1.1.1.21 mrg * include/bits/ranges_algo.h (__minmax_fn::operator()): Rewrite
920 1.1.1.21 mrg to limit comparison complexity to 3*N/2.
921 1.1.1.21 mrg (__minmax_element_fn::operator()): Likewise.
922 1.1.1.21 mrg (shift_right): Avoid premature std::move of __result.
923 1.1.1.21 mrg * testsuite/25_algorithms/minmax/constrained.cc (test04, test05):
924 1.1.1.21 mrg New tests.
925 1.1.1.21 mrg * testsuite/25_algorithms/minmax_element/constrained.cc (test02):
926 1.1.1.21 mrg Likewise.
927 1.1.1.21 mrg
928 1.1.1.21 mrg 2021-10-12 Patrick Palka <ppalka (a] redhat.com>
929 1.1.1.21 mrg
930 1.1.1.21 mrg Backported from master:
931 1.1.1.21 mrg 2021-06-18 Patrick Palka <ppalka (a] redhat.com>
932 1.1.1.21 mrg
933 1.1.1.21 mrg * include/std/concepts (convertible_to): Just use declval as per
934 1.1.1.21 mrg LWG 3557.
935 1.1.1.21 mrg
936 1.1.1.21 mrg 2021-10-12 Patrick Palka <ppalka (a] redhat.com>
937 1.1.1.21 mrg
938 1.1.1.21 mrg Backported from master:
939 1.1.1.21 mrg 2021-05-21 Patrick Palka <ppalka (a] redhat.com>
940 1.1.1.21 mrg
941 1.1.1.21 mrg PR libstdc++/100606
942 1.1.1.21 mrg * include/std/ranges (drop_while_view::begin): Assert the
943 1.1.1.21 mrg precondition added by LWG 3490.
944 1.1.1.21 mrg
945 1.1.1.21 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com>
946 1.1.1.21 mrg
947 1.1.1.21 mrg Backported from master:
948 1.1.1.21 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com>
949 1.1.1.21 mrg
950 1.1.1.21 mrg * testsuite/20_util/tuple/comparison_operators/overloaded.cc:
951 1.1.1.21 mrg Restore test for operator<.
952 1.1.1.21 mrg
953 1.1.1.21 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com>
954 1.1.1.21 mrg
955 1.1.1.21 mrg Backported from master:
956 1.1.1.21 mrg 2021-10-08 Jonathan Wakely <jwakely (a] redhat.com>
957 1.1.1.21 mrg
958 1.1.1.21 mrg * testsuite/27_io/basic_filebuf/close/81256.cc: Moved to...
959 1.1.1.21 mrg * testsuite/27_io/basic_filebuf/close/wchar_t/81256.cc: ...here.
960 1.1.1.21 mrg
961 1.1.1.21 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com>
962 1.1.1.21 mrg
963 1.1.1.21 mrg Backported from master:
964 1.1.1.21 mrg 2021-10-05 Jonathan Wakely <jwakely (a] redhat.com>
965 1.1.1.21 mrg
966 1.1.1.21 mrg * testsuite/21_strings/basic_string_view/requirements/trivially_copyable.cc:
967 1.1.1.21 mrg New test.
968 1.1.1.21 mrg * testsuite/23_containers/span/trivially_copyable.cc: New test.
969 1.1.1.21 mrg
970 1.1.1.21 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com>
971 1.1.1.21 mrg
972 1.1.1.21 mrg Backported from master:
973 1.1.1.21 mrg 2021-08-16 Jonathan Wakely <jwakely (a] redhat.com>
974 1.1.1.21 mrg
975 1.1.1.21 mrg * python/Makefile.am [GLIBCXX_BUILD_DEBUG] (install-data-local):
976 1.1.1.21 mrg Install another copy of the GDB hook.
977 1.1.1.21 mrg * python/Makefile.in: Regenerate.
978 1.1.1.21 mrg
979 1.1.1.21 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com>
980 1.1.1.21 mrg
981 1.1.1.21 mrg Backported from master:
982 1.1.1.21 mrg 2021-08-17 Jonathan Wakely <jwakely (a] redhat.com>
983 1.1.1.21 mrg
984 1.1.1.21 mrg * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Define.
985 1.1.1.21 mrg (build_libstdcxx_dictionary): Register printer for
986 1.1.1.21 mrg std::error_code and std::error_condition.
987 1.1.1.21 mrg * testsuite/libstdc++-prettyprinters/cxx11.cc: Test it.
988 1.1.1.21 mrg
989 1.1.1.21 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com>
990 1.1.1.21 mrg
991 1.1.1.21 mrg Backported from master:
992 1.1.1.21 mrg 2021-09-23 Jonathan Wakely <jwakely (a] redhat.com>
993 1.1.1.21 mrg
994 1.1.1.21 mrg PR libstdc++/102425
995 1.1.1.21 mrg * src/c++11/system_error.cc
996 1.1.1.21 mrg (system_error_category::default_error_condition): Add 0 to
997 1.1.1.21 mrg switch.
998 1.1.1.21 mrg * testsuite/19_diagnostics/error_category/102425.cc: New test.
999 1.1.1.21 mrg
1000 1.1.1.21 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com>
1001 1.1.1.21 mrg
1002 1.1.1.21 mrg Backported from master:
1003 1.1.1.21 mrg 2021-09-16 Jonathan Wakely <jwakely (a] redhat.com>
1004 1.1.1.21 mrg
1005 1.1.1.21 mrg * include/bits/fs_path.h (advance): Remove non-deducible
1006 1.1.1.21 mrg template parameter.
1007 1.1.1.21 mrg
1008 1.1.1.21 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com>
1009 1.1.1.21 mrg
1010 1.1.1.21 mrg Backported from master:
1011 1.1.1.21 mrg 2021-08-28 Jonathan Wakely <jwakely (a] redhat.com>
1012 1.1.1.21 mrg
1013 1.1.1.21 mrg PR libstdc++/99876
1014 1.1.1.21 mrg * src/c++17/fs_ops.cc (fs::absolute): Call non-throwing form,
1015 1.1.1.21 mrg to avoid unnecessary current_path() call.
1016 1.1.1.21 mrg
1017 1.1.1.21 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com>
1018 1.1.1.21 mrg
1019 1.1.1.21 mrg Backported from master:
1020 1.1.1.21 mrg 2021-09-17 Jonathan Wakely <jwakely (a] redhat.com>
1021 1.1.1.21 mrg
1022 1.1.1.21 mrg * testsuite/26_numerics/valarray/dr630-3.C: Moved to...
1023 1.1.1.21 mrg * testsuite/26_numerics/valarray/dr630-3.cc: ...here.
1024 1.1.1.21 mrg * testsuite/27_io/basic_iostream/cons/16251.C: Moved to...
1025 1.1.1.21 mrg * testsuite/27_io/basic_iostream/cons/16251.cc: ...here.
1026 1.1.1.21 mrg
1027 1.1.1.21 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com>
1028 1.1.1.21 mrg
1029 1.1.1.21 mrg Backported from master:
1030 1.1.1.21 mrg 2021-09-16 Jonathan Wakely <jwakely (a] redhat.com>
1031 1.1.1.21 mrg
1032 1.1.1.21 mrg PR libstdc++/102280
1033 1.1.1.21 mrg * include/std/span (span(Range&&)): Add constraint to deduction
1034 1.1.1.21 mrg guide.
1035 1.1.1.21 mrg
1036 1.1.1.21 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com>
1037 1.1.1.21 mrg
1038 1.1.1.21 mrg Backported from master:
1039 1.1.1.21 mrg 2021-10-01 Jonathan Wakely <jwakely (a] redhat.com>
1040 1.1.1.21 mrg
1041 1.1.1.21 mrg * testsuite/25_algorithms/is_permutation/2.cc: Include <iterator>.
1042 1.1.1.21 mrg
1043 1.1.1.21 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com>
1044 1.1.1.21 mrg
1045 1.1.1.21 mrg Backported from master:
1046 1.1.1.21 mrg 2021-10-05 Jonathan Wakely <jwakely (a] redhat.com>
1047 1.1.1.21 mrg
1048 1.1.1.21 mrg * testsuite/20_util/integer_comparisons/greater.cc: New test.
1049 1.1.1.21 mrg
1050 1.1.1.21 mrg 2021-10-12 Jonathan Wakely <jwakely (a] redhat.com>
1051 1.1.1.21 mrg
1052 1.1.1.21 mrg Backported from master:
1053 1.1.1.21 mrg 2021-10-11 Jonathan Wakely <jwakely (a] redhat.com>
1054 1.1.1.21 mrg
1055 1.1.1.21 mrg PR libstdc++/102667
1056 1.1.1.21 mrg * include/bits/regex.h (match_result::empty()): Optimize by
1057 1.1.1.21 mrg calling the base function directly.
1058 1.1.1.21 mrg (match_results::end()): Check _Base_type::empty() not empty().
1059 1.1.1.21 mrg * testsuite/28_regex/match_results/102667.C: New test.
1060 1.1.1.21 mrg
1061 1.1.1.21 mrg 2021-08-23 Jonathan Wakely <jwakely (a] redhat.com>
1062 1.1.1.21 mrg
1063 1.1.1.21 mrg Backported from master:
1064 1.1.1.21 mrg 2021-08-23 Jonathan Wakely <jwakely (a] redhat.com>
1065 1.1.1.21 mrg
1066 1.1.1.21 mrg * include/std/ranges (basic_istream_view): Add default template
1067 1.1.1.21 mrg argument.
1068 1.1.1.21 mrg * testsuite/std/ranges/istream_view.cc: Check it.
1069 1.1.1.21 mrg
1070 1.1.1.21 mrg 2021-08-19 Jonathan Wakely <jwakely (a] redhat.com>
1071 1.1.1.21 mrg
1072 1.1.1.21 mrg Backported from master:
1073 1.1.1.21 mrg 2021-08-19 Jonathan Wakely <jwakely (a] redhat.com>
1074 1.1.1.21 mrg
1075 1.1.1.21 mrg PR libstdc++/100139
1076 1.1.1.21 mrg * doc/xml/manual/status_cxx2020.xml: Add P1739R4 to status table.
1077 1.1.1.21 mrg * doc/html/manual/status.html: Regenerate.
1078 1.1.1.21 mrg
1079 1.1.1.21 mrg 2021-08-17 Thomas Schwinge <thomas (a] codesourcery.com>
1080 1.1.1.21 mrg
1081 1.1.1.21 mrg Backported from master:
1082 1.1.1.21 mrg 2021-08-17 Thomas Schwinge <thomas (a] codesourcery.com>
1083 1.1.1.21 mrg
1084 1.1.1.21 mrg * testsuite/lib/libstdc++.exp: Avoid illegal argument to verbose,
1085 1.1.1.21 mrg continued.
1086 1.1.1.21 mrg
1087 1.1.1.21 mrg 2021-08-11 Jonathan Wakely <jwakely (a] redhat.com>
1088 1.1.1.21 mrg
1089 1.1.1.21 mrg Backported from master:
1090 1.1.1.21 mrg 2021-08-11 Jonathan Wakely <jwakely (a] redhat.com>
1091 1.1.1.21 mrg
1092 1.1.1.21 mrg PR libstdc++/101866
1093 1.1.1.21 mrg * testsuite/experimental/random/randint.cc: Loop and retry if
1094 1.1.1.21 mrg reseed() produces the same sequence.
1095 1.1.1.21 mrg
1096 1.1.1.21 mrg 2021-08-11 Jonathan Wakely <jwakely (a] redhat.com>
1097 1.1.1.21 mrg
1098 1.1.1.21 mrg Backported from master:
1099 1.1.1.21 mrg 2021-07-20 Jonathan Wakely <jwakely (a] redhat.com>
1100 1.1.1.21 mrg
1101 1.1.1.21 mrg PR libstdc++/101510
1102 1.1.1.21 mrg * src/c++17/fs_ops.cc (fs::create_directories): Use status
1103 1.1.1.21 mrg instead of symlink_status.
1104 1.1.1.21 mrg * src/filesystem/ops.cc (fs::create_directories): Likewise.
1105 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/create_directories.cc:
1106 1.1.1.21 mrg Check symlink to existing directory.
1107 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/create_directory.cc: Do
1108 1.1.1.21 mrg not test with symlinks on Windows.
1109 1.1.1.21 mrg * testsuite/experimental/filesystem/operations/create_directories.cc:
1110 1.1.1.21 mrg Check symlink to existing directory.
1111 1.1.1.21 mrg * testsuite/experimental/filesystem/operations/create_directory.cc:
1112 1.1.1.21 mrg Do not test with symlinks on Windows.
1113 1.1.1.21 mrg
1114 1.1.1.21 mrg 2021-08-11 Jonathan Wakely <jwakely (a] redhat.com>
1115 1.1.1.21 mrg
1116 1.1.1.21 mrg Backported from master:
1117 1.1.1.21 mrg 2021-07-20 Jonathan Wakely <jwakely (a] redhat.com>
1118 1.1.1.21 mrg
1119 1.1.1.21 mrg PR libstdc++/101510
1120 1.1.1.21 mrg * src/c++17/fs_ops.cc (create_dir): Adjust whitespace.
1121 1.1.1.21 mrg * testsuite/27_io/filesystem/operations/create_directory.cc:
1122 1.1.1.21 mrg Test creating directory with name of existing symlink to
1123 1.1.1.21 mrg directory.
1124 1.1.1.21 mrg * testsuite/experimental/filesystem/operations/create_directory.cc:
1125 1.1.1.21 mrg Likewise.
1126 1.1.1.21 mrg
1127 1.1.1.21 mrg 2021-08-11 Jonathan Wakely <jwakely (a] redhat.com>
1128 1.1.1.21 mrg
1129 1.1.1.21 mrg Backported from master:
1130 1.1.1.21 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com>
1131 1.1.1.21 mrg
1132 1.1.1.21 mrg PR libstdc++/101056
1133 1.1.1.21 mrg * libsupc++/compare (compare_partial_order_fallback): Add
1134 1.1.1.21 mrg constraint using reversed parameter order, as per LWG 3465.
1135 1.1.1.21 mrg * testsuite/18_support/comparisons/algorithms/fallback.cc:
1136 1.1.1.21 mrg Adjust expected result.
1137 1.1.1.21 mrg
1138 1.1.1.21 mrg 2021-08-11 Jonathan Wakely <jwakely (a] redhat.com>
1139 1.1.1.21 mrg
1140 1.1.1.21 mrg Backported from master:
1141 1.1.1.21 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com>
1142 1.1.1.21 mrg
1143 1.1.1.21 mrg * libsupc++/compare (__decayed_same_as): New helper concept.
1144 1.1.1.21 mrg (strong_order, weak_order, partial_order): Constrain with new
1145 1.1.1.21 mrg concept instead of using static_assert.
1146 1.1.1.21 mrg (compare_strong_order_fallback, compare_weak_order_fallback)
1147 1.1.1.21 mrg (compare_partial_order_fallback): Likewise. Do not deduce return
1148 1.1.1.21 mrg types. Remove redundant if-constexpr checks.
1149 1.1.1.21 mrg * testsuite/18_support/comparisons/algorithms/fallback.cc: New test.
1150 1.1.1.21 mrg
1151 1.1.1.21 mrg 2021-08-10 Jonathan Wakely <jwakely (a] redhat.com>
1152 1.1.1.21 mrg
1153 1.1.1.21 mrg Backported from master:
1154 1.1.1.21 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com>
1155 1.1.1.21 mrg
1156 1.1.1.21 mrg PR libstdc++/100894
1157 1.1.1.21 mrg * include/std/type_traits (__common_ref_impl<X&, Y&>): Only
1158 1.1.1.21 mrg use the type if it's a reference.
1159 1.1.1.21 mrg * testsuite/20_util/common_reference/100894.cc: New test.
1160 1.1.1.21 mrg
1161 1.1.1.21 mrg 2021-07-22 Jonathan Wakely <jwakely (a] redhat.com>
1162 1.1.1.21 mrg
1163 1.1.1.21 mrg Backported from master:
1164 1.1.1.21 mrg 2021-04-15 Jonathan Wakely <jwakely (a] redhat.com>
1165 1.1.1.21 mrg
1166 1.1.1.21 mrg PR libstdc++/96657
1167 1.1.1.21 mrg * libsupc++/Makefile.am: Add atomicity.cc here.
1168 1.1.1.21 mrg * src/c++98/Makefile.am: Remove it from here.
1169 1.1.1.21 mrg * libsupc++/Makefile.in: Regenerate.
1170 1.1.1.21 mrg * src/c++98/Makefile.in: Regenerate.
1171 1.1.1.21 mrg * testsuite/18_support/exception_ptr/96657.cc: New test.
1172 1.1.1.21 mrg
1173 1.1.1.21 mrg 2021-07-22 Jonathan Wakely <jwakely (a] redhat.com>
1174 1.1.1.21 mrg
1175 1.1.1.21 mrg Backported from master:
1176 1.1.1.21 mrg 2021-06-07 Jonathan Wakely <jwakely (a] redhat.com>
1177 1.1.1.21 mrg
1178 1.1.1.21 mrg PR libstdc++/98842
1179 1.1.1.21 mrg * include/std/optional (operator<=>(const optional<T>& const U&)):
1180 1.1.1.21 mrg Add missing constraint and add workaround for template
1181 1.1.1.21 mrg recursion.
1182 1.1.1.21 mrg * testsuite/20_util/optional/relops/three_way.cc: Check that
1183 1.1.1.21 mrg type without equality comparison cannot be compared when wrapped
1184 1.1.1.21 mrg in std::optional.
1185 1.1.1.21 mrg
1186 1.1.1.21 mrg 2021-07-14 Jonathan Wakely <jwakely (a] redhat.com>
1187 1.1.1.21 mrg
1188 1.1.1.21 mrg Backported from master:
1189 1.1.1.21 mrg 2021-07-13 Jonathan Wakely <jwakely (a] redhat.com>
1190 1.1.1.21 mrg
1191 1.1.1.21 mrg PR c++/101361
1192 1.1.1.21 mrg * include/std/string_view (ends_with): Use traits_type::compare
1193 1.1.1.21 mrg directly.
1194 1.1.1.21 mrg
1195 1.1.1.21 mrg 2021-07-14 Jonathan Wakely <jwakely (a] redhat.com>
1196 1.1.1.21 mrg
1197 1.1.1.21 mrg Backported from master:
1198 1.1.1.21 mrg 2021-07-12 Jonathan Wakely <jwakely (a] redhat.com>
1199 1.1.1.21 mrg
1200 1.1.1.21 mrg PR libstdc++/101411
1201 1.1.1.21 mrg * include/std/span (as_writable_bytes): Add requires-clause.
1202 1.1.1.21 mrg * testsuite/23_containers/span/101411.cc: New test.
1203 1.1.1.21 mrg
1204 1.1.1.21 mrg 2021-07-06 Avi Kivity <avi (a] scylladb.com>
1205 1.1.1.21 mrg
1206 1.1.1.21 mrg Backported from master:
1207 1.1.1.21 mrg 2021-06-07 Avi Kivity <avi (a] scylladb.com>
1208 1.1.1.21 mrg
1209 1.1.1.21 mrg PR libstdc++/100900
1210 1.1.1.21 mrg * include/std/ranges (elements_view::__iter_cat::_S_iter_cat):
1211 1.1.1.21 mrg Add missing typename.
1212 1.1.1.21 mrg
1213 1.1.1.21 mrg 2021-06-18 Jonathan Wakely <jwakely (a] redhat.com>
1214 1.1.1.21 mrg
1215 1.1.1.21 mrg Backported from master:
1216 1.1.1.21 mrg 2021-06-18 Jonathan Wakely <jwakely (a] redhat.com>
1217 1.1.1.21 mrg
1218 1.1.1.21 mrg PR libstdc++/95833
1219 1.1.1.21 mrg * include/std/numeric (reduce(Iter, Iter, T, BinaryOp)): Replace
1220 1.1.1.21 mrg incorrect static_assert with ones matching the 'Mandates'
1221 1.1.1.21 mrg conditions in the standard.
1222 1.1.1.21 mrg * testsuite/26_numerics/reduce/95833.cc: New test.
1223 1.1.1.21 mrg
1224 1.1.1.21 mrg 2021-06-18 Jonathan Wakely <jwakely (a] redhat.com>
1225 1.1.1.21 mrg
1226 1.1.1.21 mrg * include/std/variant (__same_types, __check_visitor_results):
1227 1.1.1.21 mrg Remove.
1228 1.1.1.21 mrg
1229 1.1.1.21 mrg 2021-06-18 Jonathan Wakely <jwakely (a] redhat.com>
1230 1.1.1.21 mrg
1231 1.1.1.21 mrg Backported from master:
1232 1.1.1.21 mrg 2021-05-04 Jonathan Wakely <jwakely (a] redhat.com>
1233 1.1.1.21 mrg
1234 1.1.1.21 mrg * include/std/future (promise::set_value): Check for existence
1235 1.1.1.21 mrg of shared state before dereferncing it.
1236 1.1.1.21 mrg (promise::set_exception, promise::set_value_at_thread_exit)
1237 1.1.1.21 mrg (promise::set_exception_at_thread_exit): Likewise.
1238 1.1.1.21 mrg (promise<R&>::set_value, promise<R&>::set_exception)
1239 1.1.1.21 mrg (promise<R&>::set_value_at_thread_exit)
1240 1.1.1.21 mrg (promise<R&>::set_exception_at_thread_exit): Likewise.
1241 1.1.1.21 mrg (promise<void>::set_value, promise<void>::set_exception)
1242 1.1.1.21 mrg (promise<void>::set_value_at_thread_exit)
1243 1.1.1.21 mrg (promise<void>::set_exception_at_thread_exit): Likewise.
1244 1.1.1.21 mrg * testsuite/30_threads/promise/members/at_thread_exit2.cc:
1245 1.1.1.21 mrg Remove unused variable.
1246 1.1.1.21 mrg
1247 1.1.1.21 mrg 2021-06-18 Jonathan Wakely <jwakely (a] redhat.com>
1248 1.1.1.21 mrg
1249 1.1.1.21 mrg Backported from master:
1250 1.1.1.21 mrg 2021-05-04 Jonathan Wakely <jwakely (a] redhat.com>
1251 1.1.1.21 mrg
1252 1.1.1.21 mrg * include/bits/basic_string.h (basic_string(const CharT*, const A&)):
1253 1.1.1.21 mrg Do not do arithmetic on null pointer.
1254 1.1.1.21 mrg
1255 1.1.1.21 mrg 2021-06-18 Jonathan Wakely <jwakely (a] redhat.com>
1256 1.1.1.21 mrg
1257 1.1.1.21 mrg Backported from master:
1258 1.1.1.21 mrg 2021-05-04 Jonathan Wakely <jwakely (a] redhat.com>
1259 1.1.1.21 mrg
1260 1.1.1.21 mrg * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
1261 1.1.1.21 mrg (find_key_pointer(key_const_reference, false_type))
1262 1.1.1.21 mrg (find_key_pointer(key_const_reference, true_type)): Do not
1263 1.1.1.21 mrg dereference null pointer.
1264 1.1.1.21 mrg
1265 1.1.1.21 mrg 2021-06-18 Jonathan Wakely <jwakely (a] redhat.com>
1266 1.1.1.21 mrg
1267 1.1.1.21 mrg Backported from master:
1268 1.1.1.21 mrg 2021-05-04 Jonathan Wakely <jwakely (a] redhat.com>
1269 1.1.1.21 mrg
1270 1.1.1.21 mrg * testsuite/20_util/from_chars/3.cc: Use unsigned type to avoid
1271 1.1.1.21 mrg overflow.
1272 1.1.1.21 mrg * testsuite/24_iterators/reverse_iterator/2.cc: Do not add
1273 1.1.1.21 mrg non-zero value to null pointer.
1274 1.1.1.21 mrg * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc:
1275 1.1.1.21 mrg Use past-the-end iterator for result.
1276 1.1.1.21 mrg * testsuite/25_algorithms/move_backward/69478.cc: Likewise.
1277 1.1.1.21 mrg * testsuite/25_algorithms/move_backward/93872.cc: Likewise.
1278 1.1.1.21 mrg
1279 1.1.1.21 mrg 2021-06-18 Jonathan Wakely <jwakely (a] redhat.com>
1280 1.1.1.21 mrg
1281 1.1.1.21 mrg Backported from master:
1282 1.1.1.21 mrg 2021-05-04 Jonathan Wakely <jwakely (a] redhat.com>
1283 1.1.1.21 mrg
1284 1.1.1.21 mrg PR libstdc++/100384
1285 1.1.1.21 mrg * include/std/variant (__get_t): New alias template yielding the
1286 1.1.1.21 mrg return type of std::get<N> on a variant.
1287 1.1.1.21 mrg (__visit_result_t): New alias template yielding the result of
1288 1.1.1.21 mrg std::visit.
1289 1.1.1.21 mrg (__same_types): Move into namespace __detail::__variant.
1290 1.1.1.21 mrg (__check_visitor_results): Likewise. Use __invoke_result_t and
1291 1.1.1.21 mrg __get_t.
1292 1.1.1.21 mrg (__check_visitor_result): Remove.
1293 1.1.1.21 mrg (visit): Use __visit_result_t for return type.
1294 1.1.1.21 mrg * testsuite/20_util/variant/100384.cc: New test.
1295 1.1.1.21 mrg
1296 1.1.1.21 mrg 2021-06-18 Jonathan Wakely <jwakely (a] redhat.com>
1297 1.1.1.21 mrg
1298 1.1.1.21 mrg Backported from master:
1299 1.1.1.21 mrg 2021-04-22 Jonathan Wakely <jwakely (a] redhat.com>
1300 1.1.1.21 mrg
1301 1.1.1.21 mrg PR libstdc++/99006
1302 1.1.1.21 mrg * include/bits/shared_ptr.h (allocate_shared): Assert that _Tp
1303 1.1.1.21 mrg is not an array type.
1304 1.1.1.21 mrg * include/bits/shared_ptr_base.h (__allocate_shared): Likewise.
1305 1.1.1.21 mrg * testsuite/20_util/shared_ptr/creation/99006.cc: New test.
1306 1.1.1.21 mrg
1307 1.1.1.21 mrg 2021-06-18 Jonathan Wakely <jwakely (a] redhat.com>
1308 1.1.1.21 mrg
1309 1.1.1.21 mrg Backported from master:
1310 1.1.1.21 mrg 2021-05-11 Jonathan Wakely <jwakely (a] redhat.com>
1311 1.1.1.21 mrg
1312 1.1.1.21 mrg * include/bits/allocator.h (allocator<void>) [C++20]: Add
1313 1.1.1.21 mrg missing noexcept to constructor. Restore missing POCMA and
1314 1.1.1.21 mrg is_always_equal_traits.
1315 1.1.1.21 mrg * include/bits/memoryfwd.h (allocator_traits): Declare.
1316 1.1.1.21 mrg * include/ext/malloc_allocator.h (malloc_allocator::allocate):
1317 1.1.1.21 mrg Add nodiscard attribute. Add static assertion for LWG 3307.
1318 1.1.1.21 mrg * include/ext/new_allocator.h (new_allocator::allocate): Add
1319 1.1.1.21 mrg static assertion for LWG 3307.
1320 1.1.1.21 mrg * testsuite/20_util/allocator/void.cc: Check that converting
1321 1.1.1.21 mrg constructor is noexcept. Check for propagation traits and
1322 1.1.1.21 mrg size_type and difference_type. Check that pointer and
1323 1.1.1.21 mrg const_pointer are gone in C++20.
1324 1.1.1.21 mrg
1325 1.1.1.21 mrg 2021-06-18 Jonathan Wakely <jwakely (a] redhat.com>
1326 1.1.1.21 mrg
1327 1.1.1.21 mrg Backported from master:
1328 1.1.1.21 mrg 2021-05-10 Jonathan Wakely <jwakely (a] redhat.com>
1329 1.1.1.21 mrg
1330 1.1.1.21 mrg * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)):
1331 1.1.1.21 mrg Initialize a non-reference deleter from an rvalue, as per LWG
1332 1.1.1.21 mrg 3548.
1333 1.1.1.21 mrg (__shared_ptr::_UniqCompatible): Add missing constraint.
1334 1.1.1.21 mrg * testsuite/20_util/shared_ptr/cons/lwg3548.cc: New test.
1335 1.1.1.21 mrg * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Check
1336 1.1.1.21 mrg constraints.
1337 1.1.1.21 mrg
1338 1.1.1.21 mrg 2021-06-18 Jonathan Wakely <jwakely (a] redhat.com>
1339 1.1.1.21 mrg
1340 1.1.1.21 mrg Backported from master:
1341 1.1.1.21 mrg 2021-06-17 Jonathan Wakely <jwakely (a] redhat.com>
1342 1.1.1.21 mrg
1343 1.1.1.21 mrg PR libstdc++/91488
1344 1.1.1.21 mrg * include/bits/basic_string.h (__cpp_lib_constexpr_string): Only
1345 1.1.1.21 mrg define C++20 value when std::is_constant_evaluated is available.
1346 1.1.1.21 mrg * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits):
1347 1.1.1.21 mrg Likewise.
1348 1.1.1.21 mrg (__constant_string_p, __constant_array_p): Give external
1349 1.1.1.21 mrg linkage.
1350 1.1.1.21 mrg * include/std/version (__cpp_lib_constexpr_char_traits)
1351 1.1.1.21 mrg (__cpp_lib_constexpr_string): Only define C++20 values when
1352 1.1.1.21 mrg is_constant_evaluated is available.
1353 1.1.1.21 mrg
1354 1.1.1.21 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com>
1355 1.1.1.21 mrg
1356 1.1.1.21 mrg Backported from master:
1357 1.1.1.21 mrg 2021-05-10 Jonathan Wakely <jwakely (a] redhat.com>
1358 1.1.1.21 mrg
1359 1.1.1.21 mrg * testsuite/20_util/scoped_allocator/69293_neg.cc: Add dg-error
1360 1.1.1.21 mrg for additional errors in C++20.
1361 1.1.1.21 mrg * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
1362 1.1.1.21 mrg * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
1363 1.1.1.21 mrg
1364 1.1.1.21 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com>
1365 1.1.1.21 mrg
1366 1.1.1.21 mrg Backported from master:
1367 1.1.1.21 mrg 2021-06-09 Jonathan Wakely <jwakely (a] redhat.com>
1368 1.1.1.21 mrg
1369 1.1.1.21 mrg PR libstdc++/100982
1370 1.1.1.21 mrg * include/std/optional (optional::operator=(const optional<U>&)):
1371 1.1.1.21 mrg Fix value category used in is_assignable check.
1372 1.1.1.21 mrg * testsuite/20_util/optional/assignment/100982.cc: New test.
1373 1.1.1.21 mrg
1374 1.1.1.21 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com>
1375 1.1.1.21 mrg
1376 1.1.1.21 mrg Backported from master:
1377 1.1.1.21 mrg 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com>
1378 1.1.1.21 mrg
1379 1.1.1.21 mrg PR libstdc++/101034
1380 1.1.1.21 mrg * include/std/any (any(in_place_t<T>, initializer_list<U>, A&&...))
1381 1.1.1.21 mrg (any::emplace<T>(initializer_list<U>, A&&...)): Fix constraint
1382 1.1.1.21 mrg to use lvalue.
1383 1.1.1.21 mrg * testsuite/20_util/any/cons/101034.cc: New test.
1384 1.1.1.21 mrg
1385 1.1.1.21 mrg 2021-06-10 Patrick Palka <ppalka (a] redhat.com>
1386 1.1.1.21 mrg
1387 1.1.1.21 mrg Backported from master:
1388 1.1.1.21 mrg 2021-06-03 Patrick Palka <ppalka (a] redhat.com>
1389 1.1.1.21 mrg
1390 1.1.1.21 mrg PR libstdc++/100770
1391 1.1.1.21 mrg * include/bits/ranges_algo.h (__detail::__can_reread_output):
1392 1.1.1.21 mrg Factor out this concept from ...
1393 1.1.1.21 mrg (__unique_copy_fn::operator()): ... here. Use the concept
1394 1.1.1.21 mrg throughout.
1395 1.1.1.21 mrg * testsuite/std/ranges/range.cc: Remove now ill-formed use
1396 1.1.1.21 mrg of range_value_t on an output_range.
1397 1.1.1.21 mrg * testsuite/util/testsuite_iterators.h (output_iterator_wrapper):
1398 1.1.1.21 mrg Define value_type, pointer and reference member types to void.
1399 1.1.1.21 mrg
1400 1.1.1.21 mrg 2021-06-10 Patrick Palka <ppalka (a] redhat.com>
1401 1.1.1.21 mrg
1402 1.1.1.21 mrg Backported from master:
1403 1.1.1.21 mrg 2021-05-21 Patrick Palka <ppalka (a] redhat.com>
1404 1.1.1.21 mrg
1405 1.1.1.21 mrg PR libstdc++/100690
1406 1.1.1.21 mrg * include/std/ranges (iota_view::_Sentinel::_M_distance_from):
1407 1.1.1.21 mrg Split out this member function from ...
1408 1.1.1.21 mrg (iota_view::_Sentinel::operator-): ... here, for sake of access
1409 1.1.1.21 mrg control.
1410 1.1.1.21 mrg * testsuite/std/ranges/iota/iota_view.cc (test05): New test.
1411 1.1.1.21 mrg
1412 1.1.1.21 mrg 2021-06-10 Patrick Palka <ppalka (a] redhat.com>
1413 1.1.1.21 mrg
1414 1.1.1.21 mrg Backported from master:
1415 1.1.1.21 mrg 2021-05-06 Patrick Palka <ppalka (a] redhat.com>
1416 1.1.1.21 mrg
1417 1.1.1.21 mrg * include/std/ranges (filter_view::_Iterator::base): Make the
1418 1.1.1.21 mrg const& overload unconstrained and return a const reference as
1419 1.1.1.21 mrg per LWG 3533. Make unconditionally noexcept.
1420 1.1.1.21 mrg (transform_view::_Iterator::base): Likewise.
1421 1.1.1.21 mrg (elements_view::_Iterator::base): Likewise.
1422 1.1.1.21 mrg
1423 1.1.1.21 mrg 2021-06-10 Patrick Palka <ppalka (a] redhat.com>
1424 1.1.1.21 mrg
1425 1.1.1.21 mrg Backported from master:
1426 1.1.1.21 mrg 2021-05-06 Patrick Palka <ppalka (a] redhat.com>
1427 1.1.1.21 mrg
1428 1.1.1.21 mrg * include/bits/stl_iterator.h (move_iterator::base): Make the
1429 1.1.1.21 mrg const& overload unconstrained and return a const reference as
1430 1.1.1.21 mrg per LWG 3391. Make unconditionally noexcept.
1431 1.1.1.21 mrg (counted_iterator::base): Likewise.
1432 1.1.1.21 mrg * testsuite/24_iterators/move_iterator/lwg3391.cc: New test.
1433 1.1.1.21 mrg * testsuite/24_iterators/move_iterator/move_only.cc: Adjust
1434 1.1.1.21 mrg has_member_base concept to decay-copy the result of base().
1435 1.1.1.21 mrg
1436 1.1.1.21 mrg 2021-06-10 Patrick Palka <ppalka (a] redhat.com>
1437 1.1.1.21 mrg
1438 1.1.1.21 mrg Backported from master:
1439 1.1.1.21 mrg 2021-05-18 Patrick Palka <ppalka (a] redhat.com>
1440 1.1.1.21 mrg
1441 1.1.1.21 mrg PR libstdc++/100631
1442 1.1.1.21 mrg * include/std/ranges (elements_view::_Sentinel::operator-): Use
1443 1.1.1.21 mrg _M_distance_from in the other operator- overload too.
1444 1.1.1.21 mrg * testsuite/std/ranges/adaptors/elements.cc (test06): Augment test.
1445 1.1.1.21 mrg
1446 1.1.1.21 mrg 2021-06-10 Patrick Palka <ppalka (a] redhat.com>
1447 1.1.1.21 mrg
1448 1.1.1.21 mrg Backported from master:
1449 1.1.1.21 mrg 2021-05-18 Patrick Palka <ppalka (a] redhat.com>
1450 1.1.1.21 mrg
1451 1.1.1.21 mrg PR libstdc++/100631
1452 1.1.1.21 mrg * include/std/ranges (elements_view::_Iterator): Also befriend
1453 1.1.1.21 mrg _Sentinel<!_Const>.
1454 1.1.1.21 mrg (elements_view::_Sentinel::_M_equal): Templatize.
1455 1.1.1.21 mrg (elements_view::_Sentinel::_M_distance_from): Split out from ...
1456 1.1.1.21 mrg (elements_view::_Sentinel::operator-): ... here. Depend on
1457 1.1.1.21 mrg _Base2 instead of _Base in the return type.
1458 1.1.1.21 mrg * testsuite/std/ranges/adaptors/elements.cc (test06, test07):
1459 1.1.1.21 mrg New tests.
1460 1.1.1.21 mrg
1461 1.1.1.21 mrg 2021-06-10 Patrick Palka <ppalka (a] redhat.com>
1462 1.1.1.21 mrg
1463 1.1.1.21 mrg Backported from master:
1464 1.1.1.21 mrg 2021-05-20 Patrick Palka <ppalka (a] redhat.com>
1465 1.1.1.21 mrg
1466 1.1.1.21 mrg PR libstdc++/100639
1467 1.1.1.21 mrg * include/bits/stl_iterator.h (reverse_iterator::difference_type):
1468 1.1.1.21 mrg In C++20 mode, define in terms of iter_difference_t as per P0896R4.
1469 1.1.1.21 mrg (reverse_iterator::reference): Likewise, but with iter_reference_t.
1470 1.1.1.21 mrg (reverse_iterator::value_type): Likewise, but with iter_value_t.
1471 1.1.1.21 mrg * testsuite/std/ranges/adaptors/reverse.cc (test08): New test.
1472 1.1.1.21 mrg * testsuite/24_iterators/reverse_iterator/100639.cc: New test.
1473 1.1.1.21 mrg
1474 1.1.1.21 mrg 2021-06-03 Jonathan Wakely <jwakely (a] redhat.com>
1475 1.1.1.21 mrg
1476 1.1.1.21 mrg Backported from master:
1477 1.1.1.21 mrg 2021-06-01 Jonathan Wakely <jwakely (a] redhat.com>
1478 1.1.1.21 mrg
1479 1.1.1.21 mrg PR libstdc++/100833
1480 1.1.1.21 mrg * include/bits/range_access.h (ranges::advance(iter, n, sentinel)):
1481 1.1.1.21 mrg Fix return value for no-op case.
1482 1.1.1.21 mrg * testsuite/24_iterators/range_operations/advance.cc: Test
1483 1.1.1.21 mrg return values of three-argument overload.
1484 1.1.1.21 mrg
1485 1.1.1.21 mrg 2021-06-03 Jonathan Wakely <jwakely (a] redhat.com>
1486 1.1.1.21 mrg
1487 1.1.1.21 mrg Backported from master:
1488 1.1.1.21 mrg 2021-05-26 Jonathan Wakely <jwakely (a] redhat.com>
1489 1.1.1.21 mrg
1490 1.1.1.21 mrg PR libstdc++/100768
1491 1.1.1.21 mrg * include/bits/range_access.h (ranges::advance)
1492 1.1.1.21 mrg (ranges::distance, ranges::next, ranges::prev): Replace
1493 1.1.1.21 mrg function templates with function objects.
1494 1.1.1.21 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
1495 1.1.1.21 mrg Adjust for changes to function objects.
1496 1.1.1.21 mrg * testsuite/std/ranges/adaptors/elements.cc: Add using
1497 1.1.1.21 mrg declarations for names from namespace ranges.
1498 1.1.1.21 mrg * testsuite/std/ranges/adaptors/transform.cc: Likewise.
1499 1.1.1.21 mrg * testsuite/24_iterators/range_operations/100768.cc: New test.
1500 1.1.1.21 mrg
1501 1.1.1.21 mrg 2021-06-03 Jonathan Wakely <jwakely (a] redhat.com>
1502 1.1.1.21 mrg
1503 1.1.1.21 mrg Backported from master:
1504 1.1.1.21 mrg 2021-06-01 Jonathan Wakely <jwakely (a] redhat.com>
1505 1.1.1.21 mrg
1506 1.1.1.21 mrg PR libstdc++/99453
1507 1.1.1.21 mrg * python/Makefile.am: Use archive name for printer hook if no
1508 1.1.1.21 mrg dynamic library name is available.
1509 1.1.1.21 mrg * python/Makefile.in: Regenerate.
1510 1.1.1.21 mrg
1511 1.1.1.21 mrg 2021-06-03 Philippe Blain <levraiphilippeblain (a] gmail.com>
1512 1.1.1.21 mrg
1513 1.1.1.21 mrg Backported from master:
1514 1.1.1.21 mrg 2021-04-21 Philippe Blain <levraiphilippeblain (a] gmail.com>
1515 1.1.1.21 mrg Jonathan Wakely <jwakely (a] redhat.com>
1516 1.1.1.21 mrg
1517 1.1.1.21 mrg PR libstdc++/99453
1518 1.1.1.21 mrg * python/Makefile.am: Install libstdc++*-gdb.py more robustly.
1519 1.1.1.21 mrg * python/Makefile.in: Regenerate.
1520 1.1.1.21 mrg
1521 1.1.1.21 mrg 2021-05-17 Jonathan Wakely <jwakely (a] redhat.com>
1522 1.1.1.21 mrg
1523 1.1.1.21 mrg PR libstdc++/100630
1524 1.1.1.21 mrg * include/bits/fs_path.h (__is_constructible_from): Test
1525 1.1.1.21 mrg construction from a const lvalue, not an rvalue.
1526 1.1.1.21 mrg * include/experimental/bits/fs_path.h (__is_constructible_from):
1527 1.1.1.21 mrg Likewise.
1528 1.1.1.21 mrg * testsuite/27_io/filesystem/path/construct/100630.cc: New test.
1529 1.1.1.21 mrg * testsuite/experimental/filesystem/path/construct/100630.cc:
1530 1.1.1.21 mrg New test.
1531 1.1.1.21 mrg
1532 1.1.1.21 mrg 2021-05-17 Jonathan Wakely <jwakely (a] redhat.com>
1533 1.1.1.21 mrg
1534 1.1.1.21 mrg Backported from master:
1535 1.1.1.21 mrg 2021-03-11 Jonathan Wakely <jwakely (a] redhat.com>
1536 1.1.1.21 mrg
1537 1.1.1.21 mrg * python/libstdcxx/v6/printers.py (find_type): Use tag attribute
1538 1.1.1.21 mrg instead of unqualified() method.
1539 1.1.1.21 mrg
1540 1.1.1.21 mrg 2021-05-05 Patrick Palka <ppalka (a] redhat.com>
1541 1.1.1.21 mrg
1542 1.1.1.21 mrg Backported from master:
1543 1.1.1.21 mrg 2021-05-05 Patrick Palka <ppalka (a] redhat.com>
1544 1.1.1.21 mrg
1545 1.1.1.21 mrg * include/std/ranges (transform_view::_Iterator::iter_swap):
1546 1.1.1.21 mrg Remove as per LWG 3520.
1547 1.1.1.21 mrg (join_view::_Iterator::iter_swap): Add indirectly_swappable
1548 1.1.1.21 mrg constraint as per LWG 3517.
1549 1.1.1.21 mrg
1550 1.1.1.21 mrg 2021-05-04 Patrick Palka <ppalka (a] redhat.com>
1551 1.1.1.21 mrg
1552 1.1.1.21 mrg Backported from master:
1553 1.1.1.21 mrg 2021-04-30 Patrick Palka <ppalka (a] redhat.com>
1554 1.1.1.21 mrg
1555 1.1.1.21 mrg * include/std/ranges (split_view::_InnerIter::operator++):
1556 1.1.1.21 mrg Depend on _Base instead of _Vp directly, as per LWG 3532.
1557 1.1.1.21 mrg
1558 1.1.1.21 mrg 2021-05-04 Patrick Palka <ppalka (a] redhat.com>
1559 1.1.1.21 mrg
1560 1.1.1.21 mrg Backported from master:
1561 1.1.1.21 mrg 2021-04-20 Patrick Palka <ppalka (a] redhat.com>
1562 1.1.1.21 mrg
1563 1.1.1.21 mrg PR libstdc++/95983
1564 1.1.1.21 mrg * include/bits/stl_iterator.h (__detail::__move_iter_cat):
1565 1.1.1.21 mrg Define.
1566 1.1.1.21 mrg (move_iterator): Derive from the above in C++20 in order to
1567 1.1.1.21 mrg conditionally define iterator_category as per P2259.
1568 1.1.1.21 mrg (move_iterator::__base_cat): No longer used, so remove.
1569 1.1.1.21 mrg (move_iterator::iterator_category): Remove in C++20.
1570 1.1.1.21 mrg (__detail::__common_iter_use_postfix_proxy): Define.
1571 1.1.1.21 mrg (common_iterator::_Proxy): Rename to ...
1572 1.1.1.21 mrg (common_iterator:__arrow_proxy): ... this.
1573 1.1.1.21 mrg (common_iterator::__postfix_proxy): Define as per P2259.
1574 1.1.1.21 mrg (common_iterator::operator->): Adjust.
1575 1.1.1.21 mrg (common_iterator::operator++): Adjust as per P2259.
1576 1.1.1.21 mrg (iterator_traits<common_iterator>::_S_iter_cat): Define.
1577 1.1.1.21 mrg (iterator_traits<common_iterator>::iterator_category): Change as
1578 1.1.1.21 mrg per P2259.
1579 1.1.1.21 mrg (__detail::__counted_iter_value_type): Define.
1580 1.1.1.21 mrg (__detail::__counted_iter_concept): Define.
1581 1.1.1.21 mrg (__detail::__counted_iter_cat): Define.
1582 1.1.1.21 mrg (counted_iterator): Derive from the above three classes in order
1583 1.1.1.21 mrg to conditionally define value_type, iterator_concept and
1584 1.1.1.21 mrg iterator category respectively as per P2259.
1585 1.1.1.21 mrg (counted_iterator::operator->): Define as per P2259.
1586 1.1.1.21 mrg (incrementable_traits<counted_iterator>): Remove as per P2259.
1587 1.1.1.21 mrg (iterator_traits<counted_iterator>): Adjust as per P2259.
1588 1.1.1.21 mrg * include/std/ranges (__detail::__iota_view_iter_cat): Define.
1589 1.1.1.21 mrg (iota_view::_Iterator): Derive from the above in order to
1590 1.1.1.21 mrg conditionally define iterator_category as per P2259.
1591 1.1.1.21 mrg (iota_view::_S_iter_cat): Rename to ...
1592 1.1.1.21 mrg (iota_view::_S_iter_concept): ... this.
1593 1.1.1.21 mrg (iota_view::iterator_concept): Use it to apply LWG 3291 changes.
1594 1.1.1.21 mrg (iota_view::iterator_category): Remove.
1595 1.1.1.21 mrg (__detail::__filter_view_iter_cat): Define.
1596 1.1.1.21 mrg (filter_view::_Iterator): Derive from the above in order to
1597 1.1.1.21 mrg conditionally define iterator_category as per P2259.
1598 1.1.1.21 mrg (filter_view::_Iterator): Move to struct __filter_view_iter_cat.
1599 1.1.1.21 mrg (filter_view::_Iterator::iterator_category): Remove.
1600 1.1.1.21 mrg (transform_view::_Base): Define.
1601 1.1.1.21 mrg (transform_view::__iter_cat): Define.
1602 1.1.1.21 mrg (transform_view::_Iterator): Derive from the above in order to
1603 1.1.1.21 mrg conditionally define iterator_category as per P2259.
1604 1.1.1.21 mrg (transform_view::_Iterator::_Base): Just alias
1605 1.1.1.21 mrg transform_view::_Base.
1606 1.1.1.21 mrg (transform_view::_Iterator::_S_iter_cat): Move to struct
1607 1.1.1.21 mrg transform_view::__iter_cat.
1608 1.1.1.21 mrg (transform_view::_Iterator::iterator_category): Remove.
1609 1.1.1.21 mrg (transform_view::_Sentinel::_Base): Just alias
1610 1.1.1.21 mrg transform_view::_Base.
1611 1.1.1.21 mrg (join_view::_Base): Define.
1612 1.1.1.21 mrg (join_view::_Outer_iter): Define.
1613 1.1.1.21 mrg (join_view::_Inner_iter): Define.
1614 1.1.1.21 mrg (join_view::_S_ref_is_glvalue): Define.
1615 1.1.1.21 mrg (join_view::__iter_cat): Define.
1616 1.1.1.21 mrg (join_view::_Iterator): Derive from it in order to conditionally
1617 1.1.1.21 mrg define iterator_category as per P2259.
1618 1.1.1.21 mrg (join_view::_Iterator::_Base): Just alias join_view::_Base.
1619 1.1.1.21 mrg (join_view::_Iterator::_S_ref_is_glvalue): Just alias
1620 1.1.1.21 mrg join_view::_S_ref_is_glvalue.
1621 1.1.1.21 mrg (join_view::_Iterator::_S_iter_cat): Move to struct
1622 1.1.1.21 mrg transform_view::__iter_cat.
1623 1.1.1.21 mrg (join_view::_Iterator::_Outer_iter): Just alias
1624 1.1.1.21 mrg join_view::_Outer_iter.
1625 1.1.1.21 mrg (join_view::_Iterator::_Inner_iter): Just alias
1626 1.1.1.21 mrg join_view::_Inner_iter.
1627 1.1.1.21 mrg (join_view::_Iterator::iterator_category): Remove.
1628 1.1.1.21 mrg (join_view::_Sentinel::_Base): Just alias join_view::_Base.
1629 1.1.1.21 mrg (__detail::__split_view_outer_iter_cat): Define.
1630 1.1.1.21 mrg (__detail::__split_view_inner_iter_cat): Define.
1631 1.1.1.21 mrg (split_view::_Base): Define.
1632 1.1.1.21 mrg (split_view::_Outer_iter): Derive from __split_view_outer_iter_cat
1633 1.1.1.21 mrg in order to conditionally define iterator_category as per P2259.
1634 1.1.1.21 mrg (split_view::_Outer_iter::iterator_category): Remove.
1635 1.1.1.21 mrg (split_view::_Inner_iter): Derive from __split_view_inner_iter_cat
1636 1.1.1.21 mrg in order to conditionally define iterator_category as per P2259.
1637 1.1.1.21 mrg (split_view::_Inner_iter::_S_iter_cat): Move to
1638 1.1.1.21 mrg __split_view_inner_iter_cat.
1639 1.1.1.21 mrg (split_view::_Inner_iter::iterator_category): Remove.
1640 1.1.1.21 mrg (elements_view::_Base): Define.
1641 1.1.1.21 mrg (elements_view::__iter_cat): Define.
1642 1.1.1.21 mrg (elements_view::_Iterator): Derive from the above in order to
1643 1.1.1.21 mrg conditionall define iterator_category as per P2259.
1644 1.1.1.21 mrg (elements_view::_Iterator::_Base): Just alias
1645 1.1.1.21 mrg elements_view::_Base.
1646 1.1.1.21 mrg (elements_view::_Iterator::_S_iter_concept)
1647 1.1.1.21 mrg (elements_view::_Iterator::iterator_concept): Define as per
1648 1.1.1.21 mrg P2259.
1649 1.1.1.21 mrg (elements_view::_Iterator::iterator_category): Remove.
1650 1.1.1.21 mrg (elements_view::_Sentinel::_Base): Just alias
1651 1.1.1.21 mrg elements_view::_Base.
1652 1.1.1.21 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
1653 1.1.1.21 mrg Adjust constraints on iterator_traits<counted_iterator>.
1654 1.1.1.21 mrg * testsuite/std/ranges/p2259.cc: New test.
1655 1.1.1.21 mrg
1656 1.1.1.21 mrg 2021-05-03 Patrick Palka <ppalka (a] redhat.com>
1657 1.1.1.21 mrg
1658 1.1.1.21 mrg Backported from master:
1659 1.1.1.21 mrg 2021-04-27 Patrick Palka <ppalka (a] redhat.com>
1660 1.1.1.21 mrg
1661 1.1.1.21 mrg PR libstdc++/100290
1662 1.1.1.21 mrg * include/std/ranges (join_view::_Iterator::operator++): Correct
1663 1.1.1.21 mrg the return type of the lambda to avoid returning a copy of
1664 1.1.1.21 mrg _M_parent->_M_inner.
1665 1.1.1.21 mrg * testsuite/std/ranges/adaptors/join.cc (test10): New test.
1666 1.1.1.21 mrg
1667 1.1.1.21 mrg 2021-04-30 Jonathan Wakely <jwakely (a] redhat.com>
1668 1.1.1.21 mrg
1669 1.1.1.21 mrg Backported from master:
1670 1.1.1.21 mrg 2021-04-30 Jonathan Wakely <jwakely (a] redhat.com>
1671 1.1.1.21 mrg
1672 1.1.1.21 mrg * include/bits/basic_string.h (__cpp_lib_constexpr_string):
1673 1.1.1.21 mrg Only define for C++17 and later.
1674 1.1.1.21 mrg
1675 1.1.1.21 mrg 2021-04-29 Jonathan Wakely <jwakely (a] redhat.com>
1676 1.1.1.21 mrg
1677 1.1.1.21 mrg Backported from master:
1678 1.1.1.21 mrg 2021-04-26 Jonathan Wakely <jwakely (a] redhat.com>
1679 1.1.1.21 mrg
1680 1.1.1.21 mrg PR libstdc++/100259
1681 1.1.1.21 mrg * include/experimental/internet (net::ip::make_error_code)
1682 1.1.1.21 mrg (net::ip::make_error_condition, net::ip::make_network_v4)
1683 1.1.1.21 mrg (net::ip::operator==(const udp&, const udp&)): Add 'inline'.
1684 1.1.1.21 mrg
1685 1.1.1.21 mrg 2021-04-29 Jonathan Wakely <jwakely (a] redhat.com>
1686 1.1.1.21 mrg
1687 1.1.1.21 mrg Backported from master:
1688 1.1.1.21 mrg 2021-04-28 Jonathan Wakely <jwakely (a] redhat.com>
1689 1.1.1.21 mrg
1690 1.1.1.21 mrg * include/bits/basic_string.h (__cpp_lib_constexpr_string): Define.
1691 1.1.1.21 mrg * include/std/version (__cpp_lib_constexpr_string): Define.
1692 1.1.1.21 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
1693 1.1.1.21 mrg Check for __cpp_lib_constexpr_string.
1694 1.1.1.21 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
1695 1.1.1.21 mrg Likewise.
1696 1.1.1.21 mrg * testsuite/21_strings/char_traits/requirements/version.cc: New test.
1697 1.1.1.21 mrg
1698 1.1.1.21 mrg 2021-04-21 Jonathan Wakely <jwakely (a] redhat.com>
1699 1.1.1.21 mrg
1700 1.1.1.21 mrg PR libstdc++/100180
1701 1.1.1.21 mrg * testsuite/experimental/net/internet/address/v6/members.cc:
1702 1.1.1.21 mrg Require gthreads.
1703 1.1.1.21 mrg
1704 1.1.1.21 mrg 2021-04-21 Patrick Palka <ppalka (a] redhat.com>
1705 1.1.1.21 mrg
1706 1.1.1.21 mrg Backported from master:
1707 1.1.1.21 mrg 2021-04-08 Patrick Palka <ppalka (a] redhat.com>
1708 1.1.1.21 mrg
1709 1.1.1.21 mrg * include/std/ranges (__detail::find): Define.
1710 1.1.1.21 mrg (split_view::_OuterIter::operator++): Apply proposed resolution
1711 1.1.1.21 mrg of LWG 3505.
1712 1.1.1.21 mrg * testsuite/std/ranges/adaptors/split.cc (test10): New test.
1713 1.1.1.21 mrg
1714 1.1.1.21 mrg 2021-04-21 Patrick Palka <ppalka (a] redhat.com>
1715 1.1.1.21 mrg
1716 1.1.1.21 mrg Backported from master:
1717 1.1.1.21 mrg 2021-04-08 Patrick Palka <ppalka (a] redhat.com>
1718 1.1.1.21 mrg
1719 1.1.1.21 mrg * include/std/ranges (__detail::find_if): Simplify.
1720 1.1.1.21 mrg (__detail::find_if_not): Likewise.
1721 1.1.1.21 mrg (__detail::min): Remove.
1722 1.1.1.21 mrg (__detail::mismatch): Simplify.
1723 1.1.1.21 mrg (take_view::size): Use std::min instead of __detail::min.
1724 1.1.1.21 mrg
1725 1.1.1.21 mrg 2021-04-21 Patrick Palka <ppalka (a] redhat.com>
1726 1.1.1.21 mrg
1727 1.1.1.21 mrg Backported from master:
1728 1.1.1.21 mrg 2021-04-08 Patrick Palka <ppalka (a] redhat.com>
1729 1.1.1.21 mrg
1730 1.1.1.21 mrg * include/std/ranges (__detail::__returnable_element): New
1731 1.1.1.21 mrg concept.
1732 1.1.1.21 mrg (elements_view): Use this concept in its constraints. Add
1733 1.1.1.21 mrg missing private access specifier.
1734 1.1.1.21 mrg (elements_view::_S_get_element): Define as per LWG 3502.
1735 1.1.1.21 mrg (elements_view::operator*, elements_view::operator[]): Use
1736 1.1.1.21 mrg _S_get_element.
1737 1.1.1.21 mrg (elements_view::operator++): Remove unnecessary constraint
1738 1.1.1.21 mrg as per LWG 3492.
1739 1.1.1.21 mrg * testsuite/std/ranges/adaptors/elements.cc (test05): New test.
1740 1.1.1.21 mrg
1741 1.1.1.21 mrg 2021-04-21 Patrick Palka <ppalka (a] redhat.com>
1742 1.1.1.21 mrg
1743 1.1.1.21 mrg Backported from master:
1744 1.1.1.21 mrg 2020-10-31 Patrick Palka <ppalka (a] redhat.com>
1745 1.1.1.21 mrg
1746 1.1.1.21 mrg PR libstdc++/97600
1747 1.1.1.21 mrg * include/std/ranges (basic_istream_view::begin): Initialize
1748 1.1.1.21 mrg _Iterator from 'this' instead of '*this'.
1749 1.1.1.21 mrg (basic_istream_view::_Iterator::_Iterator): Adjust constructor
1750 1.1.1.21 mrg accordingly.
1751 1.1.1.21 mrg (filter_view::_Iterator::_Iterator): Take a filter_view*
1752 1.1.1.21 mrg argument instead of a filter_view& argument.
1753 1.1.1.21 mrg (filter_view::_Sentinel::_Sentinel): Likewise.
1754 1.1.1.21 mrg (filter_view::begin): Initialize _Iterator from 'this' instead
1755 1.1.1.21 mrg of '*this'.
1756 1.1.1.21 mrg (filter_view::end): Likewise.
1757 1.1.1.21 mrg (transform_view::_Iterator::_Iterator): Take a _Parent* instead
1758 1.1.1.21 mrg of a _Parent&.
1759 1.1.1.21 mrg (filter_view::_Iterator::operator+): Adjust accordingly.
1760 1.1.1.21 mrg (filter_view::_Iterator::operator-): Likewise.
1761 1.1.1.21 mrg (filter_view::begin): Initialize _Iterator from 'this' instead
1762 1.1.1.21 mrg of '*this'.
1763 1.1.1.21 mrg (filter_view::end): Likewise.
1764 1.1.1.21 mrg (join_view::_Iterator): Take a _Parent* instead of a _Parent&.
1765 1.1.1.21 mrg (join_view::_Sentinel): Likewise.
1766 1.1.1.21 mrg (join_view::begin): Initialize _Iterator from 'this' instead of
1767 1.1.1.21 mrg '*this'.
1768 1.1.1.21 mrg (join_view::end): Initialize _Sentinel from 'this' instead of
1769 1.1.1.21 mrg '*this'.
1770 1.1.1.21 mrg (split_view::_OuterIter): Take a _Parent& instead of a _Parent*.
1771 1.1.1.21 mrg (split_view::begin): Initialize _OuterIter from 'this' instead
1772 1.1.1.21 mrg of '*this'.
1773 1.1.1.21 mrg (split_view::end): Likewise.
1774 1.1.1.21 mrg * testsuite/std/ranges/97600.cc: New test.
1775 1.1.1.21 mrg
1776 1.1.1.21 mrg 2021-04-19 Franois Dumont <fdumont (a] gcc.gnu.org>
1777 1.1.1.21 mrg
1778 1.1.1.21 mrg PR libstdc++/99402
1779 1.1.1.21 mrg * include/debug/helper_functions.h (__can_advance(_InputIterator,
1780 1.1.1.21 mrg const std::pair<_Diff, _Distance_precision>&, int)): New.
1781 1.1.1.21 mrg (__can_advance(const _Safe_iterator<>&,
1782 1.1.1.21 mrg const std::pair<_Diff, _Distance_precision>&, int)): New.
1783 1.1.1.21 mrg * include/debug/macros.h (__glibcxx_check_can_increment_dist): New,
1784 1.1.1.21 mrg use latter.
1785 1.1.1.21 mrg (__glibcxx_check_can_increment_range): Adapt to use latter.
1786 1.1.1.21 mrg (__glibcxx_check_can_decrement_range): Likewise.
1787 1.1.1.21 mrg * include/debug/safe_iterator.h
1788 1.1.1.21 mrg (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
1789 1.1.1.21 mrg int)): New.
1790 1.1.1.21 mrg (__can_advance(const _Safe_iterator<>&,
1791 1.1.1.21 mrg const std::pair<_Diff, _Distance_precision>&, int)): New.
1792 1.1.1.21 mrg * include/debug/safe_iterator.tcc
1793 1.1.1.21 mrg (_Safe_iterator<>::_M_can_advance(const std::pair<_Diff, _Distance_precision>&,
1794 1.1.1.21 mrg int)): New.
1795 1.1.1.21 mrg (_Safe_iterator<>::_M_valid_range(const _Safe_iterator<>&,
1796 1.1.1.21 mrg std::pair<difference_type, _Distance_precision>&, bool)): Adapt for
1797 1.1.1.21 mrg __dp_sign_max_size.
1798 1.1.1.21 mrg (__copy_move_a): Adapt to use __glibcxx_check_can_increment_dist.
1799 1.1.1.21 mrg (__copy_move_backward_a): Likewise.
1800 1.1.1.21 mrg (__equal_aux): Likewise.
1801 1.1.1.21 mrg * include/debug/stl_iterator.h (__can_advance(const std::reverse_iterator<>&,
1802 1.1.1.21 mrg const std::pair<_Diff, _Distance_precision>&, int)): New.
1803 1.1.1.21 mrg (__can_advance(const std::move_iterator<>&,
1804 1.1.1.21 mrg const std::pair<_Diff, _Distance_precision>&, int)): New.
1805 1.1.1.21 mrg * testsuite/25_algorithms/copy/debug/99402.cc: New test.
1806 1.1.1.21 mrg
1807 1.1.1.21 mrg 2021-04-19 Jonathan Wakely <jwakely (a] redhat.com>
1808 1.1.1.21 mrg
1809 1.1.1.21 mrg Backported from master:
1810 1.1.1.21 mrg 2020-10-26 Jonathan Wakely <jwakely (a] redhat.com>
1811 1.1.1.21 mrg
1812 1.1.1.21 mrg PR libstdc++/97570
1813 1.1.1.21 mrg * libsupc++/new_opa.cc: Declare size_t in global namespace.
1814 1.1.1.21 mrg Remove unused header.
1815 1.1.1.21 mrg
1816 1.1.1.21 mrg 2021-04-13 Jonathan Wakely <jwakely (a] redhat.com>
1817 1.1.1.21 mrg
1818 1.1.1.21 mrg Backported from master:
1819 1.1.1.21 mrg 2021-04-13 Jonathan Wakely <jwakely (a] redhat.com>
1820 1.1.1.21 mrg
1821 1.1.1.21 mrg PR libstdc++/100060
1822 1.1.1.21 mrg * include/std/bit: Only include <ext/numeric_traits.h> for
1823 1.1.1.21 mrg hosted build, use <limits> otherwise.
1824 1.1.1.21 mrg
1825 1.1.1.21 mrg 2021-04-12 Jonathan Wakely <jwakely (a] redhat.com>
1826 1.1.1.21 mrg
1827 1.1.1.21 mrg Backported from master:
1828 1.1.1.21 mrg 2021-04-12 Jonathan Wakely <jwakely (a] redhat.com>
1829 1.1.1.21 mrg
1830 1.1.1.21 mrg PR libstdc++/100044
1831 1.1.1.21 mrg * include/std/ranges (__detail::__iterator_sentinel_pair):
1832 1.1.1.21 mrg Remove helper concept.
1833 1.1.1.21 mrg (subrange(_Pr), subrange(Pr, __make_unsigned_like<...>)): Remove
1834 1.1.1.21 mrg deduction guides, as per LWG 3404.
1835 1.1.1.21 mrg * testsuite/std/ranges/subrange/lwg3282_neg.cc: Check that class
1836 1.1.1.21 mrg template argument deduction fails.
1837 1.1.1.21 mrg
1838 1.1.1.21 mrg 2021-04-12 Jonathan Wakely <jwakely (a] redhat.com>
1839 1.1.1.21 mrg
1840 1.1.1.21 mrg Backported from master:
1841 1.1.1.21 mrg 2020-08-24 Jonathan Wakely <jwakely (a] redhat.com>
1842 1.1.1.21 mrg
1843 1.1.1.21 mrg * include/bits/iterator_concepts.h (indirectly_readable): Add
1844 1.1.1.21 mrg partial specializations to resolve ambiguities (LWG 3446).
1845 1.1.1.21 mrg * testsuite/24_iterators/associated_types/readable.traits.cc:
1846 1.1.1.21 mrg Check types with both value_type and element_type.
1847 1.1.1.21 mrg
1848 1.1.1.21 mrg 2021-04-09 Jonathan Wakely <jwakely (a] redhat.com>
1849 1.1.1.21 mrg
1850 1.1.1.21 mrg PR bootstrap/99983
1851 1.1.1.21 mrg * include/bits/hashtable.h (_Hashtable): Fix noexcept-speciofier
1852 1.1.1.21 mrg on definition to match the one on the declaration.
1853 1.1.1.21 mrg
1854 1.1.1.21 mrg 2021-04-09 Jonathan Wakely <jwakely (a] redhat.com>
1855 1.1.1.21 mrg
1856 1.1.1.21 mrg Backported from master:
1857 1.1.1.21 mrg 2021-04-09 Jonathan Wakely <jwakely (a] redhat.com>
1858 1.1.1.21 mrg
1859 1.1.1.21 mrg PR libstdc++/99985
1860 1.1.1.21 mrg * include/bits/hashtable.h (_Hashtable::_S_nothrow_move()): Fix
1861 1.1.1.21 mrg to be a valid constexpr function in C++11.
1862 1.1.1.21 mrg * testsuite/23_containers/unordered_set/cons/99985.cc: New test.
1863 1.1.1.21 mrg
1864 1.1.1.21 mrg 2021-04-09 Jonathan Wakely <jwakely (a] redhat.com>
1865 1.1.1.21 mrg
1866 1.1.1.21 mrg Backported from master:
1867 1.1.1.21 mrg 2021-04-09 Jonathan Wakely <jwakely (a] redhat.com>
1868 1.1.1.21 mrg
1869 1.1.1.21 mrg * include/bits/fs_fwd.h: Fix doxygen group command.
1870 1.1.1.21 mrg * include/bits/streambuf_iterator.h: Likewise.
1871 1.1.1.21 mrg * include/std/chrono: Likewise.
1872 1.1.1.21 mrg * include/std/memory: Likewise.
1873 1.1.1.21 mrg * include/std/thread: Likewise.
1874 1.1.1.21 mrg * include/tr1/complex: Likewise.
1875 1.1.1.21 mrg
1876 1.1.1.21 mrg 2021-04-09 Jonathan Wakely <jwakely (a] redhat.com>
1877 1.1.1.21 mrg
1878 1.1.1.21 mrg Backported from master:
1879 1.1.1.21 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com>
1880 1.1.1.21 mrg
1881 1.1.1.21 mrg * include/bits/basic_string.h: Tweak doxygen comment.
1882 1.1.1.21 mrg
1883 1.1.1.21 mrg 2021-04-09 Jonathan Wakely <jwakely (a] redhat.com>
1884 1.1.1.21 mrg
1885 1.1.1.21 mrg Backported from master:
1886 1.1.1.21 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com>
1887 1.1.1.21 mrg
1888 1.1.1.21 mrg * include/bits/random.h: Fix doxygen group commands.
1889 1.1.1.21 mrg * include/bits/regex_constants.h: Likewise.
1890 1.1.1.21 mrg * include/tr1/random.h: Likewise.
1891 1.1.1.21 mrg
1892 1.1.1.21 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com>
1893 1.1.1.21 mrg
1894 1.1.1.21 mrg Backported from master:
1895 1.1.1.21 mrg 2020-07-30 Jonathan Wakely <jwakely (a] redhat.com>
1896 1.1.1.21 mrg
1897 1.1.1.21 mrg * testsuite/23_containers/unordered_multiset/cons/noexcept_default_construct.cc:
1898 1.1.1.21 mrg Use allocator with the correct value type.
1899 1.1.1.21 mrg * testsuite/23_containers/unordered_set/cons/noexcept_default_construct.cc:
1900 1.1.1.21 mrg Likewise.
1901 1.1.1.21 mrg
1902 1.1.1.21 mrg 2021-04-08 Franois Dumont <fdumont (a] gcc.gnu.org>
1903 1.1.1.21 mrg
1904 1.1.1.21 mrg Backported from master:
1905 1.1.1.21 mrg 2020-07-29 Franois Dumont <fdumont (a] gcc.gnu.org>
1906 1.1.1.21 mrg
1907 1.1.1.21 mrg PR libstdc++/96029
1908 1.1.1.21 mrg * include/bits/hashtable.h
1909 1.1.1.21 mrg (_Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a, true_type)):
1910 1.1.1.21 mrg Add noexcept qualification.
1911 1.1.1.21 mrg (_Hashtable(_Hashtable&&)): Fix noexcept qualification.
1912 1.1.1.21 mrg (_Hashtable(_Hashtable&&, const allocator_type&)): Add noexcept
1913 1.1.1.21 mrg qualification.
1914 1.1.1.21 mrg * include/bits/unordered_map.h
1915 1.1.1.21 mrg (unordered_map(unordered_map&&, const allocator_type&)): Add noexcept
1916 1.1.1.21 mrg qualification.
1917 1.1.1.21 mrg (unordered_multimap(unordered_multimap&&, const allocator_type&)):
1918 1.1.1.21 mrg Likewise.
1919 1.1.1.21 mrg * include/bits/unordered_set.h
1920 1.1.1.21 mrg (unordered_set(unordered_set&&, const allocator_type&)): Likewise.
1921 1.1.1.21 mrg (unordered_multiset(unordered_multiset&&, const allocator_type&)):
1922 1.1.1.21 mrg Likewise.
1923 1.1.1.21 mrg * include/debug/unordered_map
1924 1.1.1.21 mrg (unordered_map(unordered_map&&, const allocator_type&)): Likewise.
1925 1.1.1.21 mrg (unordered_multimap(unordered_multimap&&, const allocator_type&)):
1926 1.1.1.21 mrg Likewise.
1927 1.1.1.21 mrg * include/debug/unordered_set
1928 1.1.1.21 mrg (unordered_set(unordered_set&&, const allocator_type&)): Likewise.
1929 1.1.1.21 mrg (unordered_multiset(unordered_multiset&&, const allocator_type&)):
1930 1.1.1.21 mrg Likewise.
1931 1.1.1.21 mrg * testsuite/23_containers/unordered_map/allocator/default_init.cc:
1932 1.1.1.21 mrg New test.
1933 1.1.1.21 mrg * testsuite/23_containers/unordered_map/cons/noexcept_default_construct.cc:
1934 1.1.1.21 mrg New test.
1935 1.1.1.21 mrg * testsuite/23_containers/unordered_map/cons/noexcept_move_construct.cc:
1936 1.1.1.21 mrg New test.
1937 1.1.1.21 mrg * testsuite/23_containers/unordered_map/modifiers/move_assign.cc:
1938 1.1.1.21 mrg New test.
1939 1.1.1.21 mrg * testsuite/23_containers/unordered_multimap/cons/noexcept_default_construct.cc:
1940 1.1.1.21 mrg New test.
1941 1.1.1.21 mrg * testsuite/23_containers/unordered_multimap/cons/noexcept_move_construct.cc:
1942 1.1.1.21 mrg New test.
1943 1.1.1.21 mrg * testsuite/23_containers/unordered_multiset/cons/noexcept_default_construct.cc:
1944 1.1.1.21 mrg New test.
1945 1.1.1.21 mrg * testsuite/23_containers/unordered_multiset/cons/noexcept_move_construct.cc:
1946 1.1.1.21 mrg New test.
1947 1.1.1.21 mrg * testsuite/23_containers/unordered_set/allocator/default_init.cc:
1948 1.1.1.21 mrg New test.
1949 1.1.1.21 mrg * testsuite/23_containers/unordered_set/cons/noexcept_default_construct.cc:
1950 1.1.1.21 mrg New test.
1951 1.1.1.21 mrg * testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc:
1952 1.1.1.21 mrg New test.
1953 1.1.1.21 mrg
1954 1.1.1.21 mrg 2021-04-08 Franois Dumont <fdumont (a] gcc.gnu.org>
1955 1.1.1.21 mrg
1956 1.1.1.21 mrg Backported from master:
1957 1.1.1.21 mrg 2020-07-08 Franois Dumont <fdumont (a] gcc.gnu.org>
1958 1.1.1.21 mrg
1959 1.1.1.21 mrg PR libstdc++/96029
1960 1.1.1.21 mrg * include/bits/stl_tree.h (_Rb_tree_impl(_Rb_tree_impl&&)): Add noexcept
1961 1.1.1.21 mrg qualification based only on _Compare one.
1962 1.1.1.21 mrg * testsuite/23_containers/map/cons/noexcept_move_construct.cc: Add
1963 1.1.1.21 mrg static asserts.
1964 1.1.1.21 mrg * testsuite/23_containers/multimap/cons/noexcept_move_construct.cc:
1965 1.1.1.21 mrg Likewise.
1966 1.1.1.21 mrg * testsuite/23_containers/multiset/cons/noexcept_move_construct.cc:
1967 1.1.1.21 mrg Likewise.
1968 1.1.1.21 mrg * testsuite/23_containers/set/cons/noexcept_move_construct.cc: Likewise.
1969 1.1.1.21 mrg
1970 1.1.1.21 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com>
1971 1.1.1.21 mrg
1972 1.1.1.21 mrg Backported from master:
1973 1.1.1.21 mrg 2021-04-07 Jonathan Wakely <jwakely (a] redhat.com>
1974 1.1.1.21 mrg
1975 1.1.1.21 mrg PR libstdc++/99805
1976 1.1.1.21 mrg * src/c++17/fs_path.cc (path::_M_split_cmpts): Do not call
1977 1.1.1.21 mrg non-const member on _M_pathname, to avoid copy-on-write.
1978 1.1.1.21 mrg * testsuite/27_io/filesystem/path/decompose/parent_path.cc:
1979 1.1.1.21 mrg Check construction from strings that might be shared.
1980 1.1.1.21 mrg
1981 1.1.1.21 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com>
1982 1.1.1.21 mrg
1983 1.1.1.21 mrg * doc/xml/manual/status_cxx2017.xml: Replace Intel parallelstl
1984 1.1.1.21 mrg link with LLVM repo for PSTL.
1985 1.1.1.21 mrg * doc/html/manual/status.html: Regenerate.
1986 1.1.1.21 mrg
1987 1.1.1.21 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com>
1988 1.1.1.21 mrg
1989 1.1.1.21 mrg Backported from master:
1990 1.1.1.21 mrg 2021-04-06 Jonathan Wakely <jwakely (a] redhat.com>
1991 1.1.1.21 mrg
1992 1.1.1.21 mrg * include/bits/alloc_traits.h: Use markdown for code font.
1993 1.1.1.21 mrg * include/bits/basic_string.h: Fix @param names.
1994 1.1.1.21 mrg * include/bits/regex.h: Fix duplicate @retval names, and rename.
1995 1.1.1.21 mrg * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Add
1996 1.1.1.21 mrg group open to match existing group close.
1997 1.1.1.21 mrg * include/ext/pb_ds/priority_queue.hpp: Add blank line before group
1998 1.1.1.21 mrg open.
1999 1.1.1.21 mrg
2000 1.1.1.21 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com>
2001 1.1.1.21 mrg
2002 1.1.1.21 mrg Backported from master:
2003 1.1.1.21 mrg 2021-04-06 Jonathan Wakely <jwakely (a] redhat.com>
2004 1.1.1.21 mrg
2005 1.1.1.21 mrg * include/bits/atomic_base.h: Fix doxygen group close.
2006 1.1.1.21 mrg * include/bits/basic_ios.h: Likewise.
2007 1.1.1.21 mrg * include/bits/forward_list.h: Likewise.
2008 1.1.1.21 mrg * include/bits/fs_dir.h: Likewise.
2009 1.1.1.21 mrg * include/bits/fs_ops.h: Likewise.
2010 1.1.1.21 mrg * include/bits/fs_path.h: Likewise.
2011 1.1.1.21 mrg * include/bits/functional_hash.h: Likewise.
2012 1.1.1.21 mrg * include/bits/gslice.h: Likewise.
2013 1.1.1.21 mrg * include/bits/gslice_array.h: Likewise.
2014 1.1.1.21 mrg * include/bits/hashtable_policy.h: Likewise.
2015 1.1.1.21 mrg * include/bits/indirect_array.h: Likewise.
2016 1.1.1.21 mrg * include/bits/locale_classes.h: Likewise.
2017 1.1.1.21 mrg * include/bits/locale_facets.h: Likewise.
2018 1.1.1.21 mrg * include/bits/locale_facets_nonio.h: Likewise.
2019 1.1.1.21 mrg * include/bits/mask_array.h: Likewise.
2020 1.1.1.21 mrg * include/bits/refwrap.h: Likewise.
2021 1.1.1.21 mrg * include/bits/regex.h: Likewise.
2022 1.1.1.21 mrg * include/bits/regex_automaton.h: Likewise.
2023 1.1.1.21 mrg * include/bits/regex_compiler.h: Likewise.
2024 1.1.1.21 mrg * include/bits/regex_constants.h: Likewise.
2025 1.1.1.21 mrg * include/bits/regex_error.h: Likewise.
2026 1.1.1.21 mrg * include/bits/regex_executor.h: Likewise.
2027 1.1.1.21 mrg * include/bits/regex_scanner.h: Likewise.
2028 1.1.1.21 mrg * include/bits/shared_ptr.h: Likewise.
2029 1.1.1.21 mrg * include/bits/shared_ptr_atomic.h: Likewise.
2030 1.1.1.21 mrg * include/bits/shared_ptr_base.h: Likewise.
2031 1.1.1.21 mrg * include/bits/slice_array.h: Likewise.
2032 1.1.1.21 mrg * include/bits/specfun.h: Likewise.
2033 1.1.1.21 mrg * include/bits/std_function.h: Likewise.
2034 1.1.1.21 mrg * include/bits/std_mutex.h: Likewise.
2035 1.1.1.21 mrg * include/bits/stl_deque.h: Likewise.
2036 1.1.1.21 mrg * include/bits/stl_iterator.h: Likewise.
2037 1.1.1.21 mrg * include/bits/stl_iterator_base_types.h: Likewise.
2038 1.1.1.21 mrg * include/bits/stl_map.h: Likewise.
2039 1.1.1.21 mrg * include/bits/stl_multimap.h: Likewise.
2040 1.1.1.21 mrg * include/bits/stl_multiset.h: Likewise.
2041 1.1.1.21 mrg * include/bits/stl_numeric.h: Likewise.
2042 1.1.1.21 mrg * include/bits/stl_pair.h: Likewise.
2043 1.1.1.21 mrg * include/bits/stl_set.h: Likewise.
2044 1.1.1.21 mrg * include/bits/stl_uninitialized.h: Likewise.
2045 1.1.1.21 mrg * include/bits/stream_iterator.h: Likewise.
2046 1.1.1.21 mrg * include/bits/streambuf_iterator.h: Likewise.
2047 1.1.1.21 mrg * include/bits/unique_ptr.h: Likewise.
2048 1.1.1.21 mrg * include/bits/unordered_map.h: Likewise.
2049 1.1.1.21 mrg * include/bits/unordered_set.h: Likewise.
2050 1.1.1.21 mrg * include/decimal/decimal: Likewise.
2051 1.1.1.21 mrg * include/experimental/any: Likewise.
2052 1.1.1.21 mrg * include/experimental/array: Likewise.
2053 1.1.1.21 mrg * include/experimental/bits/fs_dir.h: Likewise.
2054 1.1.1.21 mrg * include/experimental/bits/fs_fwd.h: Likewise.
2055 1.1.1.21 mrg * include/experimental/bits/fs_ops.h: Likewise.
2056 1.1.1.21 mrg * include/experimental/bits/fs_path.h: Likewise.
2057 1.1.1.21 mrg * include/experimental/buffer: Likewise.
2058 1.1.1.21 mrg * include/experimental/internet: Likewise.
2059 1.1.1.21 mrg * include/experimental/optional: Likewise.
2060 1.1.1.21 mrg * include/experimental/propagate_const: Likewise.
2061 1.1.1.21 mrg * include/experimental/socket: Likewise.
2062 1.1.1.21 mrg * include/ext/pb_ds/assoc_container.hpp: Likewise.
2063 1.1.1.21 mrg * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp:
2064 1.1.1.21 mrg Likewise.
2065 1.1.1.21 mrg * include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Likewise.
2066 1.1.1.21 mrg * include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Likewise.
2067 1.1.1.21 mrg * include/ext/pb_ds/detail/types_traits.hpp: Likewise.
2068 1.1.1.21 mrg * include/ext/pb_ds/exception.hpp: Likewise.
2069 1.1.1.21 mrg * include/ext/pb_ds/priority_queue.hpp: Likewise.
2070 1.1.1.21 mrg * include/ext/pb_ds/tag_and_trait.hpp: Likewise.
2071 1.1.1.21 mrg * include/ext/random: Likewise.
2072 1.1.1.21 mrg * include/std/any: Likewise.
2073 1.1.1.21 mrg * include/std/atomic: Likewise.
2074 1.1.1.21 mrg * include/std/bitset: Likewise.
2075 1.1.1.21 mrg * include/std/chrono: Likewise.
2076 1.1.1.21 mrg * include/std/complex: Likewise.
2077 1.1.1.21 mrg * include/std/condition_variable: Likewise.
2078 1.1.1.21 mrg * include/std/fstream: Likewise.
2079 1.1.1.21 mrg * include/std/future: Likewise.
2080 1.1.1.21 mrg * include/std/istream: Likewise.
2081 1.1.1.21 mrg * include/std/iostream: Likewise.
2082 1.1.1.21 mrg * include/std/mutex: Likewise.
2083 1.1.1.21 mrg * include/std/numeric: Likewise.
2084 1.1.1.21 mrg * include/std/ostream: Likewise.
2085 1.1.1.21 mrg * include/std/ratio: Likewise.
2086 1.1.1.21 mrg * include/std/shared_mutex: Likewise.
2087 1.1.1.21 mrg * include/std/stdexcept: Likewise.
2088 1.1.1.21 mrg * include/std/streambuf: Likewise.
2089 1.1.1.21 mrg * include/std/system_error: Likewise.
2090 1.1.1.21 mrg * include/std/valarray: Likewise.
2091 1.1.1.21 mrg * include/std/variant: Likewise.
2092 1.1.1.21 mrg * include/tr1/cmath: Likewise.
2093 1.1.1.21 mrg * include/tr1/regex: Likewise.
2094 1.1.1.21 mrg * include/tr2/dynamic_bitset: Likewise.
2095 1.1.1.21 mrg * libsupc++/atomic_lockfree_defines.h: Likewise.
2096 1.1.1.21 mrg * libsupc++/exception: Likewise.
2097 1.1.1.21 mrg * libsupc++/exception.h: Likewise.
2098 1.1.1.21 mrg * libsupc++/exception_ptr.h: Likewise.
2099 1.1.1.21 mrg * libsupc++/nested_exception.h: Likewise.
2100 1.1.1.21 mrg
2101 1.1.1.21 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com>
2102 1.1.1.21 mrg
2103 1.1.1.21 mrg Backported from master:
2104 1.1.1.21 mrg 2021-04-08 Jonathan Wakely <jwakely (a] redhat.com>
2105 1.1.1.21 mrg
2106 1.1.1.21 mrg * include/std/string_view: Adjust Doxygen @file comment.
2107 1.1.1.21 mrg
2108 1.1.1.20 mrg 2021-04-08 Release Manager
2109 1.1.1.16 mrg
2110 1.1.1.20 mrg * GCC 10.3.0 released.
2111 1.1.1.19 mrg
2112 1.1.1.20 mrg 2021-04-01 Jonathan Wakely <jwakely (a] redhat.com>
2113 1.1.1.19 mrg
2114 1.1.1.20 mrg Backported from master:
2115 1.1.1.20 mrg 2021-02-14 Jonathan Wakely <jwakely (a] redhat.com>
2116 1.1.1.19 mrg
2117 1.1.1.20 mrg PR libstdc++/99096
2118 1.1.1.20 mrg * testsuite/util/testsuite_fs.h: Always include <unistd.h>.
2119 1.1.1.19 mrg
2120 1.1.1.20 mrg 2021-04-01 Jonathan Wakely <jwakely (a] redhat.com>
2121 1.1.1.19 mrg
2122 1.1.1.20 mrg Backported from master:
2123 1.1.1.20 mrg 2020-12-17 Jonathan Wakely <jwakely (a] redhat.com>
2124 1.1.1.19 mrg
2125 1.1.1.20 mrg * config.h.in: Regenerate.
2126 1.1.1.20 mrg * config/os/djgpp/error_constants.h: Test POSIX errno macros
2127 1.1.1.20 mrg directly, instead of corresponding _GLIBCXX_HAVE_EXXX macros.
2128 1.1.1.20 mrg * config/os/mingw32-w64/error_constants.h: Likewise.
2129 1.1.1.20 mrg * config/os/mingw32/error_constants.h: Likewise.
2130 1.1.1.20 mrg * configure: Regenerate.
2131 1.1.1.19 mrg
2132 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2133 1.1.1.19 mrg
2134 1.1.1.20 mrg Backported from master:
2135 1.1.1.20 mrg 2020-11-30 Jonathan Wakely <jwakely (a] redhat.com>
2136 1.1.1.19 mrg
2137 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/pstl/*: Add
2138 1.1.1.20 mrg dg-timeout-factor.
2139 1.1.1.20 mrg * testsuite/25_algorithms/pstl/*: Likewise.
2140 1.1.1.20 mrg * testsuite/26_numerics/pstl/*: Likewise.
2141 1.1.1.20 mrg * testsuite/28_regex/*: Likewise.
2142 1.1.1.19 mrg
2143 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2144 1.1.1.19 mrg
2145 1.1.1.20 mrg Backported from master:
2146 1.1.1.20 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com>
2147 1.1.1.19 mrg
2148 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc:
2149 1.1.1.20 mrg Add dg-timeout-factor directive.
2150 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
2151 1.1.1.20 mrg Likewise.
2152 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
2153 1.1.1.20 mrg Likewise.
2154 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
2155 1.1.1.20 mrg Likewise.
2156 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
2157 1.1.1.20 mrg Likewise.
2158 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
2159 1.1.1.20 mrg Likewise.
2160 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
2161 1.1.1.20 mrg Likewise.
2162 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
2163 1.1.1.20 mrg Likewise.
2164 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
2165 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
2166 1.1.1.20 mrg Likewise.
2167 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
2168 1.1.1.20 mrg Likewise.
2169 1.1.1.20 mrg * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise.
2170 1.1.1.19 mrg
2171 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2172 1.1.1.19 mrg
2173 1.1.1.20 mrg Backported from master:
2174 1.1.1.20 mrg 2020-08-11 Jonathan Wakely <jwakely (a] redhat.com>
2175 1.1.1.19 mrg
2176 1.1.1.20 mrg * include/std/stop_token: Check _GLIBCXX_HAS_GTHREADS using
2177 1.1.1.20 mrg #ifdef instead of #if.
2178 1.1.1.20 mrg (stop_token::_S_yield()): Check _GLIBCXX_HAS_GTHREADS before
2179 1.1.1.20 mrg using __gthread_yield.
2180 1.1.1.19 mrg
2181 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2182 1.1.1.19 mrg
2183 1.1.1.20 mrg Backported from master:
2184 1.1.1.20 mrg 2020-06-19 Jonathan Wakely <jwakely (a] redhat.com>
2185 1.1.1.19 mrg
2186 1.1.1.20 mrg PR libstdc++/95765
2187 1.1.1.20 mrg * include/bits/stl_algobase.h (__size_to_integer(float))
2188 1.1.1.20 mrg (__size_to_integer(double), __size_to_integer(long double))
2189 1.1.1.20 mrg (__size_to_integer(__float128)): Cast return type explicitly.
2190 1.1.1.19 mrg
2191 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2192 1.1.1.18 mrg
2193 1.1.1.20 mrg Backported from master:
2194 1.1.1.20 mrg 2020-11-25 Jonathan Wakely <jwakely (a] redhat.com>
2195 1.1.1.18 mrg
2196 1.1.1.20 mrg * testsuite/17_intro/names.cc: Do not test 'v' on AIX.
2197 1.1.1.18 mrg
2198 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2199 1.1.1.18 mrg
2200 1.1.1.20 mrg Backported from master:
2201 1.1.1.20 mrg 2020-07-30 Jonathan Wakely <jwakely (a] redhat.com>
2202 1.1.1.18 mrg
2203 1.1.1.20 mrg * include/bits/basic_string.h (size_type, difference_type):
2204 1.1.1.20 mrg Use allocator_traits to obtain the allocator's size_type and
2205 1.1.1.20 mrg difference_type.
2206 1.1.1.18 mrg
2207 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2208 1.1.1.18 mrg
2209 1.1.1.20 mrg Backported from master:
2210 1.1.1.20 mrg 2020-09-01 Jonathan Wakely <jwakely (a] redhat.com>
2211 1.1.1.18 mrg
2212 1.1.1.20 mrg * include/std/chrono (duration::_S_gcd(intmax_t, intmax_t)):
2213 1.1.1.20 mrg New helper function for finding GCD of two positive intmax_t
2214 1.1.1.20 mrg values.
2215 1.1.1.20 mrg (duration::__divide): New helper alias for dividing one period
2216 1.1.1.20 mrg by another.
2217 1.1.1.20 mrg (duration::__is_harmonic): Use __divide not ratio_divide.
2218 1.1.1.20 mrg (duration(const duration<R2, P2>&)): Require the duration rep
2219 1.1.1.20 mrg types to be convertible.
2220 1.1.1.20 mrg * testsuite/20_util/duration/cons/dr2094.cc: New test.
2221 1.1.1.20 mrg * testsuite/20_util/duration/requirements/reduced_period.cc:
2222 1.1.1.20 mrg Fix definition of unused member functions in test type.
2223 1.1.1.20 mrg * testsuite/20_util/duration/requirements/typedefs_neg2.cc:
2224 1.1.1.20 mrg Adjust expected errors.
2225 1.1.1.18 mrg
2226 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2227 1.1.1.18 mrg
2228 1.1.1.20 mrg Backported from master:
2229 1.1.1.20 mrg 2020-08-27 Jonathan Wakely <jwakely (a] redhat.com>
2230 1.1.1.18 mrg
2231 1.1.1.20 mrg * include/std/chrono (__duration_common_type): Ensure the
2232 1.1.1.20 mrg reduced ratio is used. Remove unused partial specialization
2233 1.1.1.20 mrg using __failure_type.
2234 1.1.1.20 mrg (common_type): Pass reduced ratios to __duration_common_type.
2235 1.1.1.20 mrg Add partial specializations for simple cases involving a single
2236 1.1.1.20 mrg duration or time_point type.
2237 1.1.1.20 mrg (duration::period): Use reduced ratio.
2238 1.1.1.20 mrg (duration::operator+(), duration::operator-()): Return duration
2239 1.1.1.20 mrg type using the reduced ratio.
2240 1.1.1.20 mrg * testsuite/20_util/duration/requirements/typedefs_neg2.cc:
2241 1.1.1.20 mrg Adjust expected errors.
2242 1.1.1.20 mrg * testsuite/20_util/duration/requirements/reduced_period.cc: New test.
2243 1.1.1.18 mrg
2244 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2245 1.1.1.18 mrg
2246 1.1.1.20 mrg Backported from master:
2247 1.1.1.20 mrg 2020-09-03 Jonathan Wakely <jwakely (a] redhat.com>
2248 1.1.1.18 mrg
2249 1.1.1.20 mrg PR libstdc++/96592
2250 1.1.1.20 mrg * include/std/tuple (_TupleConstraints<true, T...>): Use
2251 1.1.1.20 mrg alternative is_constructible instead of std::is_constructible.
2252 1.1.1.20 mrg * testsuite/20_util/tuple/cons/96592.cc: New test.
2253 1.1.1.19 mrg
2254 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2255 1.1.1.18 mrg
2256 1.1.1.20 mrg Backported from master:
2257 1.1.1.20 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com>
2258 1.1.1.18 mrg
2259 1.1.1.20 mrg * testsuite/20_util/is_aggregate/value.cc: Adjust for changes to
2260 1.1.1.20 mrg definition of aggregates in C++20.
2261 1.1.1.20 mrg * testsuite/20_util/optional/requirements.cc: Adjust for
2262 1.1.1.20 mrg defaulted comparisons in C++20.
2263 1.1.1.18 mrg
2264 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2265 1.1.1.18 mrg
2266 1.1.1.20 mrg Backported from master:
2267 1.1.1.20 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com>
2268 1.1.1.18 mrg
2269 1.1.1.20 mrg * testsuite/20_util/tuple/78939.cc: Suppress warnings about
2270 1.1.1.20 mrg deprecation of volatile-qualified structured bindings in C++20.
2271 1.1.1.20 mrg * testsuite/20_util/variable_templates_for_traits.cc: Likewise
2272 1.1.1.20 mrg for deprecation of is_pod in C++20
2273 1.1.1.18 mrg
2274 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2275 1.1.1.18 mrg
2276 1.1.1.20 mrg Backported from master:
2277 1.1.1.20 mrg 2020-06-09 Jonathan Wakely <jwakely (a] redhat.com>
2278 1.1.1.18 mrg
2279 1.1.1.20 mrg * include/std/optional (bad_optional_access): Define default
2280 1.1.1.20 mrg constructor and destructor as defaulted.
2281 1.1.1.20 mrg * testsuite/20_util/optional/bad_access.cc: New test.
2282 1.1.1.19 mrg
2283 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2284 1.1.1.19 mrg
2285 1.1.1.20 mrg Backported from master:
2286 1.1.1.20 mrg 2020-06-04 Jonathan Wakely <jwakely (a] redhat.com>
2287 1.1.1.18 mrg
2288 1.1.1.20 mrg * include/bits/ranges_algobase.h (__copy_n_fn): Only call
2289 1.1.1.20 mrg ranges::copy for positive values.
2290 1.1.1.20 mrg * include/bits/stl_algo.h (copy_n): Convert Size argument to an
2291 1.1.1.20 mrg integral type and only call __copy_n for positive values.
2292 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h
2293 1.1.1.20 mrg (random_access_iterator_wrapper::operator+=): Fix range check for
2294 1.1.1.20 mrg negative values.
2295 1.1.1.20 mrg (output_container, input_container, forward_container)
2296 1.1.1.20 mrg (bidirectional_container, random_access_container): New alias
2297 1.1.1.20 mrg templates.
2298 1.1.1.20 mrg * testsuite/25_algorithms/copy_n/5.cc: New test.
2299 1.1.1.19 mrg
2300 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2301 1.1.1.19 mrg
2302 1.1.1.20 mrg Backported from master:
2303 1.1.1.20 mrg 2020-06-16 Jonathan Wakely <jwakely (a] redhat.com>
2304 1.1.1.18 mrg
2305 1.1.1.20 mrg * include/std/atomic (atomic): Add static assertions.
2306 1.1.1.20 mrg * testsuite/29_atomics/atomic/requirements/types_neg.cc: New test.
2307 1.1.1.16 mrg
2308 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2309 1.1.1.19 mrg
2310 1.1.1.20 mrg Backported from master:
2311 1.1.1.20 mrg 2020-06-09 Jonathan Wakely <jwakely (a] redhat.com>
2312 1.1.1.19 mrg
2313 1.1.1.20 mrg * include/bits/stl_iterator.h (move_iterator::operator=): Define.
2314 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/dr3265.cc: New test.
2315 1.1.1.19 mrg
2316 1.1.1.20 mrg 2021-03-29 Paul Keir <paul.keir (a] uws.ac.uk>
2317 1.1.1.19 mrg
2318 1.1.1.20 mrg Backported from master:
2319 1.1.1.20 mrg 2020-06-15 Paul Keir <paul.keir (a] uws.ac.uk>
2320 1.1.1.19 mrg
2321 1.1.1.20 mrg * include/bits/char_traits.h (char_traits::move): constexpr move with
2322 1.1.1.20 mrg overlap was using copy_backward incorrectly.
2323 1.1.1.20 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
2324 1.1.1.20 mrg New test.
2325 1.1.1.19 mrg
2326 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2327 1.1.1.19 mrg
2328 1.1.1.20 mrg Backported from master:
2329 1.1.1.20 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com>
2330 1.1.1.19 mrg
2331 1.1.1.20 mrg * testsuite/20_util/time_point_cast/rounding.cc: Remove
2332 1.1.1.20 mrg duplicate dg-do directive and add c++17 effective target.
2333 1.1.1.19 mrg
2334 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2335 1.1.1.19 mrg
2336 1.1.1.20 mrg Backported from master:
2337 1.1.1.20 mrg 2020-08-11 Jonathan Wakely <jwakely (a] redhat.com>
2338 1.1.1.19 mrg
2339 1.1.1.20 mrg * testsuite/30_threads/thread/cons/84535.cc: Use a custom
2340 1.1.1.20 mrg namespace.
2341 1.1.1.20 mrg * testsuite/30_threads/thread/cons/lwg2097.cc: Likewise.
2342 1.1.1.19 mrg
2343 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2344 1.1.1.19 mrg
2345 1.1.1.20 mrg Backported from master:
2346 1.1.1.20 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com>
2347 1.1.1.19 mrg
2348 1.1.1.20 mrg * testsuite/lib/libstdc++.exp (libstdc++_init): Only set
2349 1.1.1.20 mrg tool_timeout if it hasn't been set by the user already.
2350 1.1.1.16 mrg
2351 1.1.1.20 mrg 2021-03-29 Moritz Sichert <sichert (a] in.tum.de>
2352 1.1.1.19 mrg
2353 1.1.1.20 mrg Backported from master:
2354 1.1.1.20 mrg 2021-03-23 Moritz Sichert <sichert (a] in.tum.de>
2355 1.1.1.19 mrg
2356 1.1.1.20 mrg * include/std/ranges (reverse_view::begin, reverse_view::end):
2357 1.1.1.20 mrg Qualify make_reverse_iterator calls to avoid ADL.
2358 1.1.1.20 mrg * testsuite/std/ranges/adaptors/reverse.cc: Test that
2359 1.1.1.20 mrg views::reverse works when make_reverse_iterator is defined
2360 1.1.1.20 mrg in an associated namespace.
2361 1.1.1.19 mrg
2362 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2363 1.1.1.19 mrg
2364 1.1.1.20 mrg Backported from master:
2365 1.1.1.20 mrg 2021-03-22 Jonathan Wakely <jwakely (a] redhat.com>
2366 1.1.1.19 mrg
2367 1.1.1.20 mrg * include/bits/range_access.h (begin(T (&)[N]), end(T (&)[N])):
2368 1.1.1.20 mrg Add missing 'noexcept' as per LWG 2280.
2369 1.1.1.20 mrg (rbegin(T (&)[N]), rend(T (&)[N]), rbegin(initializer_list<T>))
2370 1.1.1.20 mrg (rend(initializer_list<T>)): Add 'noexcept' as per LWG 3537.
2371 1.1.1.20 mrg * testsuite/24_iterators/range_access/range_access.cc: Check for
2372 1.1.1.20 mrg expected noexcept specifiers. Check result types of generic
2373 1.1.1.20 mrg std::begin and std::end overloads.
2374 1.1.1.20 mrg * testsuite/24_iterators/range_access/range_access_cpp14.cc:
2375 1.1.1.20 mrg Check for expected noexcept specifiers.
2376 1.1.1.20 mrg * testsuite/24_iterators/range_access/range_access_cpp17.cc:
2377 1.1.1.19 mrg Likewise.
2378 1.1.1.18 mrg
2379 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2380 1.1.1.19 mrg
2381 1.1.1.20 mrg Backported from master:
2382 1.1.1.20 mrg 2021-03-11 Jonathan Wakely <jwakely (a] redhat.com>
2383 1.1.1.19 mrg
2384 1.1.1.20 mrg PR libstdc++/99537
2385 1.1.1.20 mrg * include/std/stop_token (_Stop_state_t::_M_release_ownership):
2386 1.1.1.20 mrg Use acq_rel memory ordering.
2387 1.1.1.19 mrg
2388 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2389 1.1.1.19 mrg
2390 1.1.1.20 mrg Backported from master:
2391 1.1.1.20 mrg 2021-03-11 Jonathan Wakely <jwakely (a] redhat.com>
2392 1.1.1.18 mrg
2393 1.1.1.20 mrg PR libstdc++/99533
2394 1.1.1.20 mrg * src/c++17/fs_dir.cc (recursive_directory_iterator): Use new
2395 1.1.1.20 mrg helper function to check for permission denied errors.
2396 1.1.1.20 mrg * src/filesystem/dir.cc (recursive_directory_iterator):
2397 1.1.1.20 mrg Likewise.
2398 1.1.1.20 mrg * src/filesystem/dir-common.h (is_permission_denied_error): New
2399 1.1.1.20 mrg helper function.
2400 1.1.1.18 mrg
2401 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2402 1.1.1.18 mrg
2403 1.1.1.20 mrg Backported from master:
2404 1.1.1.20 mrg 2021-03-11 Jonathan Wakely <jwakely (a] redhat.com>
2405 1.1.1.16 mrg
2406 1.1.1.20 mrg PR libstdc++/99536
2407 1.1.1.20 mrg * include/bits/random.h (normal_distribution): Use
2408 1.1.1.20 mrg default-initializer for _M_saved and _M_saved_available.
2409 1.1.1.16 mrg
2410 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2411 1.1.1.19 mrg
2412 1.1.1.20 mrg Backported from master:
2413 1.1.1.20 mrg 2021-03-10 Jonathan Wakely <jwakely (a] redhat.com>
2414 1.1.1.19 mrg
2415 1.1.1.20 mrg * include/bits/range_cmp.h (__eq_builtin_ptr_cmp): Remove.
2416 1.1.1.20 mrg (ranges::equal_to, ranges::not_equal_to): Do not constrain
2417 1.1.1.20 mrg with __eq_builtin_ptr_cmp.
2418 1.1.1.20 mrg (ranges::less, ranges::greater, ranges::less_equal)
2419 1.1.1.20 mrg (ranges::greater_equal): Do not constrain with
2420 1.1.1.20 mrg __less_builtin_ptr_cmp.
2421 1.1.1.20 mrg * libsupc++/compare (compare_three_way): Do not constrain with
2422 1.1.1.20 mrg __3way_builtin_ptr_cmp.
2423 1.1.1.20 mrg * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: Moved to...
2424 1.1.1.20 mrg * testsuite/18_support/comparisons/object/lwg3530.cc: ...here.
2425 1.1.1.20 mrg * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: New test.
2426 1.1.1.19 mrg
2427 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2428 1.1.1.19 mrg
2429 1.1.1.20 mrg Backported from master:
2430 1.1.1.20 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com>
2431 1.1.1.16 mrg
2432 1.1.1.20 mrg * doc/xml/manual/status_cxx2014.xml: Document implementation
2433 1.1.1.20 mrg specific properties of std::experimental::filesystem::rename.
2434 1.1.1.20 mrg * doc/xml/manual/status_cxx2017.xml: Document implementation
2435 1.1.1.20 mrg specific properties of std::filesystem::rename.
2436 1.1.1.16 mrg * doc/html/*: Regenerate.
2437 1.1.1.20 mrg * src/c++17/fs_ops.cc (fs::rename): Implement correct behaviour
2438 1.1.1.20 mrg for directories on Windows.
2439 1.1.1.20 mrg * src/filesystem/ops-common.h (__gnu_posix::rename): Use
2440 1.1.1.20 mrg MoveFileExW on Windows.
2441 1.1.1.20 mrg * testsuite/27_io/filesystem/operations/rename.cc: New test.
2442 1.1.1.20 mrg * testsuite/experimental/filesystem/operations/rename.cc: New test.
2443 1.1.1.20 mrg
2444 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2445 1.1.1.20 mrg
2446 1.1.1.20 mrg Backported from master:
2447 1.1.1.20 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com>
2448 1.1.1.20 mrg
2449 1.1.1.20 mrg * testsuite/util/testsuite_fs.h (nonexistent_path): Add
2450 1.1.1.20 mrg random number to the path.
2451 1.1.1.20 mrg
2452 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2453 1.1.1.20 mrg
2454 1.1.1.20 mrg Backported from master:
2455 1.1.1.20 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com>
2456 1.1.1.20 mrg
2457 1.1.1.20 mrg * include/experimental/internet (address_v6::to_string): Include
2458 1.1.1.20 mrg scope ID in string.
2459 1.1.1.20 mrg (address_v6::loopback): Fix to be constexpr in C++14.
2460 1.1.1.20 mrg * testsuite/experimental/net/internet/address/v6/members.cc:
2461 1.1.1.20 mrg Test to_string() results.
2462 1.1.1.20 mrg
2463 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2464 1.1.1.20 mrg
2465 1.1.1.20 mrg Backported from master:
2466 1.1.1.20 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com>
2467 1.1.1.20 mrg
2468 1.1.1.20 mrg * include/experimental/internet (address_v6::any): Avoid using
2469 1.1.1.20 mrg memcpy in constexpr function.
2470 1.1.1.20 mrg (address_v6::loopback): Likewise.
2471 1.1.1.20 mrg (make_address_v6): Fix missing return statements on error paths.
2472 1.1.1.20 mrg * include/experimental/io_context: Avoid -Wdangling-else
2473 1.1.1.20 mrg warning.
2474 1.1.1.20 mrg * testsuite/experimental/net/internet/address/v4/members.cc:
2475 1.1.1.20 mrg Remove unused variables.
2476 1.1.1.20 mrg * testsuite/experimental/net/internet/address/v6/members.cc:
2477 1.1.1.20 mrg New test.
2478 1.1.1.16 mrg
2479 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2480 1.1.1.16 mrg
2481 1.1.1.20 mrg Backported from master:
2482 1.1.1.20 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com>
2483 1.1.1.16 mrg
2484 1.1.1.20 mrg * testsuite/25_algorithms/all_of/constexpr.cc: Check result of
2485 1.1.1.20 mrg the algorithm.
2486 1.1.1.20 mrg * testsuite/25_algorithms/any_of/constexpr.cc: Likewise.
2487 1.1.1.20 mrg * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
2488 1.1.1.20 mrg * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise.
2489 1.1.1.20 mrg * testsuite/25_algorithms/count/constexpr.cc: Likewise.
2490 1.1.1.20 mrg * testsuite/25_algorithms/equal/constexpr.cc: Likewise.
2491 1.1.1.20 mrg * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise.
2492 1.1.1.20 mrg * testsuite/25_algorithms/fill/constexpr.cc: Likewise.
2493 1.1.1.20 mrg * testsuite/25_algorithms/find_end/constexpr.cc: Likewise.
2494 1.1.1.20 mrg * testsuite/25_algorithms/find_if/constexpr.cc: Likewise.
2495 1.1.1.20 mrg * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise.
2496 1.1.1.20 mrg * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise.
2497 1.1.1.20 mrg * testsuite/25_algorithms/is_sorted_until/constexpr.cc:
2498 1.1.1.20 mrg Likewise.
2499 1.1.1.20 mrg * testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
2500 1.1.1.20 mrg Likewise.
2501 1.1.1.20 mrg * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise.
2502 1.1.1.20 mrg * testsuite/25_algorithms/merge/constexpr.cc: Likewise.
2503 1.1.1.20 mrg * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
2504 1.1.1.20 mrg * testsuite/25_algorithms/none_of/constexpr.cc: Likewise.
2505 1.1.1.20 mrg * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise.
2506 1.1.1.20 mrg * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise.
2507 1.1.1.20 mrg * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise.
2508 1.1.1.20 mrg * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise.
2509 1.1.1.20 mrg * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise.
2510 1.1.1.20 mrg * testsuite/25_algorithms/reverse/constexpr.cc: Likewise.
2511 1.1.1.20 mrg * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise.
2512 1.1.1.20 mrg * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise.
2513 1.1.1.20 mrg * testsuite/25_algorithms/search/constexpr.cc: Likewise.
2514 1.1.1.20 mrg * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
2515 1.1.1.20 mrg * testsuite/25_algorithms/set_intersection/constexpr.cc:
2516 1.1.1.20 mrg Likewise.
2517 1.1.1.20 mrg * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
2518 1.1.1.20 mrg Likewise.
2519 1.1.1.20 mrg * testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
2520 1.1.1.20 mrg * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
2521 1.1.1.20 mrg * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
2522 1.1.1.20 mrg
2523 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2524 1.1.1.20 mrg
2525 1.1.1.20 mrg Backported from master:
2526 1.1.1.20 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com>
2527 1.1.1.20 mrg
2528 1.1.1.20 mrg PR libstdc++/99077
2529 1.1.1.20 mrg * src/c++11/cxx11-ios_failure.cc (__ios_failure(const char*, int)):
2530 1.1.1.20 mrg Change int parameter to error_code, to match std::ios_failure.
2531 1.1.1.20 mrg (__throw_ios_failure(const char*, int)): Construct error_code
2532 1.1.1.20 mrg from int parameter.
2533 1.1.1.20 mrg
2534 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2535 1.1.1.20 mrg
2536 1.1.1.20 mrg Backported from master:
2537 1.1.1.20 mrg 2021-02-11 Jonathan Wakely <jwakely (a] redhat.com>
2538 1.1.1.20 mrg
2539 1.1.1.20 mrg PR libstdc++/99058
2540 1.1.1.20 mrg * doc/xml/manual/status_cxx2011.xml: Document when support
2541 1.1.1.20 mrg became stable.
2542 1.1.1.20 mrg * doc/xml/manual/status_cxx2014.xml: Likewise.
2543 1.1.1.20 mrg * doc/xml/manual/status_cxx2017.xml: Likewise.
2544 1.1.1.20 mrg * doc/html/manual/status.html: Regenerate.
2545 1.1.1.19 mrg
2546 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2547 1.1.1.19 mrg
2548 1.1.1.20 mrg Backported from master:
2549 1.1.1.20 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com>
2550 1.1.1.19 mrg
2551 1.1.1.20 mrg PR libstdc++/88881
2552 1.1.1.20 mrg * src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround.
2553 1.1.1.19 mrg
2554 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2555 1.1.1.19 mrg
2556 1.1.1.20 mrg Backported from master:
2557 1.1.1.20 mrg 2021-02-10 Jonathan Wakely <jwakely (a] redhat.com>
2558 1.1.1.19 mrg
2559 1.1.1.20 mrg PR libstdc++/88881
2560 1.1.1.20 mrg * src/c++17/fs_ops.cc (fs::status): Re-enable workaround.
2561 1.1.1.19 mrg
2562 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2563 1.1.1.19 mrg
2564 1.1.1.20 mrg Backported from master:
2565 1.1.1.20 mrg 2021-02-10 Jonathan Wakely <jwakely (a] redhat.com>
2566 1.1.1.18 mrg
2567 1.1.1.20 mrg * src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent)
2568 1.1.1.20 mrg (fs::remove): Use std::system_category() for error codes from
2569 1.1.1.20 mrg GetLastError().
2570 1.1.1.20 mrg * src/filesystem/ops.cc (fs::create_hard_link, fs::remove):
2571 1.1.1.20 mrg Likewise.
2572 1.1.1.16 mrg
2573 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2574 1.1.1.19 mrg
2575 1.1.1.20 mrg Backported from master:
2576 1.1.1.20 mrg 2021-02-10 Jonathan Wakely <jwakely (a] redhat.com>
2577 1.1.1.19 mrg
2578 1.1.1.20 mrg * testsuite/27_io/filesystem/operations/proximate.cc: Fix typo
2579 1.1.1.20 mrg in __MINGW32__ macro name.
2580 1.1.1.20 mrg * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
2581 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generation/proximate.cc:
2582 1.1.1.20 mrg Likewise.
2583 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generation/relative.cc:
2584 1.1.1.20 mrg Likewise.
2585 1.1.1.20 mrg * testsuite/util/testsuite_fs.h: Likewise.
2586 1.1.1.16 mrg
2587 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2588 1.1.1.16 mrg
2589 1.1.1.20 mrg Backported from master:
2590 1.1.1.20 mrg 2021-02-03 Jonathan Wakely <jwakely (a] redhat.com>
2591 1.1.1.19 mrg
2592 1.1.1.20 mrg * testsuite/19_diagnostics/error_code/operators/not_equal.cc:
2593 1.1.1.20 mrg Add comparison with same category and different values.
2594 1.1.1.20 mrg * testsuite/19_diagnostics/error_code/operators/less.cc:
2595 1.1.1.20 mrg Likewise. Fix comparison involving different categories.
2596 1.1.1.20 mrg * testsuite/19_diagnostics/error_code/operators/three_way.cc:
2597 1.1.1.19 mrg Likewise.
2598 1.1.1.20 mrg * testsuite/19_diagnostics/error_condition/operators/less.cc:
2599 1.1.1.20 mrg Add comment.
2600 1.1.1.20 mrg * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
2601 1.1.1.19 mrg Likewise.
2602 1.1.1.19 mrg
2603 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2604 1.1.1.19 mrg
2605 1.1.1.20 mrg Backported from master:
2606 1.1.1.20 mrg 2020-12-16 Jonathan Wakely <jwakely (a] redhat.com>
2607 1.1.1.19 mrg
2608 1.1.1.20 mrg PR libstdc++/98319
2609 1.1.1.20 mrg * include/experimental/random: Only define contents for C++14
2610 1.1.1.20 mrg and later.
2611 1.1.1.20 mrg * include/experimental/source_location: Likewise.
2612 1.1.1.20 mrg * include/experimental/utility: Likewise.
2613 1.1.1.20 mrg * testsuite/experimental/feat-lib-fund.cc: Include all LFTS
2614 1.1.1.20 mrg headers that are present. Allow test to run for all modes.
2615 1.1.1.19 mrg
2616 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2617 1.1.1.19 mrg
2618 1.1.1.20 mrg Backported from master:
2619 1.1.1.20 mrg 2020-12-16 Jonathan Wakely <jwakely (a] redhat.com>
2620 1.1.1.19 mrg
2621 1.1.1.20 mrg PR libstdc++/93151
2622 1.1.1.20 mrg * acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Remove.
2623 1.1.1.20 mrg * configure.ac: Regenerate.
2624 1.1.1.20 mrg * config/os/generic/error_constants.h: Test POSIX errno macros
2625 1.1.1.20 mrg directly, instead of corresponding _GLIBCXX_HAVE_EXXX macros.
2626 1.1.1.20 mrg * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
2627 1.1.1.20 mrg Likewise.
2628 1.1.1.20 mrg * testsuite/19_diagnostics/headers/system_error/93151.cc: New
2629 1.1.1.20 mrg test.
2630 1.1.1.19 mrg
2631 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2632 1.1.1.19 mrg
2633 1.1.1.20 mrg Backported from master:
2634 1.1.1.20 mrg 2020-12-10 Jonathan Wakely <jwakely (a] redhat.com>
2635 1.1.1.19 mrg
2636 1.1.1.20 mrg PR libstdc++/98226
2637 1.1.1.20 mrg * include/std/bit (__countl_one, __countr_one): Remove redundant
2638 1.1.1.20 mrg branches.
2639 1.1.1.19 mrg
2640 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2641 1.1.1.19 mrg
2642 1.1.1.20 mrg Backported from master:
2643 1.1.1.20 mrg 2020-11-09 Jonathan Wakely <jwakely (a] redhat.com>
2644 1.1.1.19 mrg
2645 1.1.1.20 mrg * include/std/bit (__popcount): Remove redundant check for zero.
2646 1.1.1.19 mrg
2647 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2648 1.1.1.19 mrg
2649 1.1.1.20 mrg Backported from master:
2650 1.1.1.20 mrg 2020-10-30 Jonathan Wakely <jwakely (a] redhat.com>
2651 1.1.1.19 mrg
2652 1.1.1.20 mrg * include/std/ranges (enable_borrowed_view<take_view<T>>)
2653 1.1.1.20 mrg (enable_borrowed_view<drop_view<T>>)
2654 1.1.1.20 mrg (enable_borrowed_view<drop_while_view<T>>)
2655 1.1.1.20 mrg (enable_borrowed_view<reverse_view<T>>)
2656 1.1.1.20 mrg (enable_borrowed_view<common_view<T>>)
2657 1.1.1.20 mrg (enable_borrowed_view<elements_view<T>>): Add partial
2658 1.1.1.20 mrg specializations as per P2017R1.
2659 1.1.1.20 mrg * testsuite/std/ranges/adaptors/conditionally_borrowed.cc:
2660 1.1.1.20 mrg New test.
2661 1.1.1.19 mrg
2662 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2663 1.1.1.19 mrg
2664 1.1.1.20 mrg Backported from master:
2665 1.1.1.20 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com>
2666 1.1.1.19 mrg
2667 1.1.1.20 mrg * include/std/ranges (subrange::subrange(R&&)): Use
2668 1.1.1.20 mrg direct-initialization instead of list-initialization, so a
2669 1.1.1.20 mrg potential narrowing conversion from ranges::size(r) to the
2670 1.1.1.20 mrg stored size isn't ill-formed.
2671 1.1.1.19 mrg
2672 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2673 1.1.1.16 mrg
2674 1.1.1.20 mrg Backported from master:
2675 1.1.1.20 mrg 2020-10-08 Jonathan Wakely <jwakely (a] redhat.com>
2676 1.1.1.19 mrg
2677 1.1.1.20 mrg PR libstdc++/82584
2678 1.1.1.20 mrg * include/bits/random.tcc
2679 1.1.1.20 mrg (discrete_distribution::param_type::_M_initialize)
2680 1.1.1.20 mrg (piecewise_constant_distribution::param_type::_M_initialize)
2681 1.1.1.20 mrg (piecewise_linear_distribution::param_type::_M_initialize):
2682 1.1.1.20 mrg Add assertions for positive sums..
2683 1.1.1.20 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
2684 1.1.1.20 mrg line.
2685 1.1.1.19 mrg
2686 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2687 1.1.1.19 mrg
2688 1.1.1.20 mrg Backported from master:
2689 1.1.1.20 mrg 2020-10-08 Jonathan Wakely <jwakely (a] redhat.com>
2690 1.1.1.18 mrg
2691 1.1.1.20 mrg * include/bits/random.h (__detail::_Mod): Revert last change.
2692 1.1.1.20 mrg (__detail::__mod): Do not use _Mod for a==0 case.
2693 1.1.1.20 mrg * testsuite/26_numerics/random/linear_congruential_engine/operators/call.cc:
2694 1.1.1.20 mrg Check other cases with a==0. Also check runtime results.
2695 1.1.1.20 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
2696 1.1.1.20 mrg line.
2697 1.1.1.18 mrg
2698 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2699 1.1.1.18 mrg
2700 1.1.1.20 mrg Backported from master:
2701 1.1.1.20 mrg 2020-10-07 Jonathan Wakely <jwakely (a] redhat.com>
2702 1.1.1.18 mrg
2703 1.1.1.20 mrg * include/bits/random.h (__detail::_Mod): Avoid divide by zero.
2704 1.1.1.20 mrg * testsuite/26_numerics/random/linear_congruential_engine/operators/call.cc:
2705 1.1.1.20 mrg New test.
2706 1.1.1.18 mrg
2707 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2708 1.1.1.18 mrg
2709 1.1.1.20 mrg Backported from master:
2710 1.1.1.20 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com>
2711 1.1.1.18 mrg
2712 1.1.1.20 mrg * include/std/ranges (drop_view::begin()): Adjust constraints
2713 1.1.1.20 mrg to match the correct condition for O(1) ranges::next (LWG 3482).
2714 1.1.1.20 mrg * testsuite/std/ranges/adaptors/drop.cc: Check that iterator is
2715 1.1.1.20 mrg cached for non-sized_range.
2716 1.1.1.16 mrg
2717 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2718 1.1.1.16 mrg
2719 1.1.1.20 mrg Backported from master:
2720 1.1.1.20 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com>
2721 1.1.1.16 mrg
2722 1.1.1.20 mrg * include/std/ranges (transform_view, elements_view): Relax
2723 1.1.1.20 mrg constraints on operator- for iterators, as per LWG 3483.
2724 1.1.1.20 mrg * testsuite/std/ranges/adaptors/elements.cc: Check that we
2725 1.1.1.20 mrg can take the difference of two iterators from a non-random
2726 1.1.1.20 mrg access range.
2727 1.1.1.20 mrg * testsuite/std/ranges/adaptors/transform.cc: Likewise.
2728 1.1.1.16 mrg
2729 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2730 1.1.1.16 mrg
2731 1.1.1.20 mrg Backported from master:
2732 1.1.1.20 mrg 2020-10-28 Jonathan Wakely <jwakely (a] redhat.com>
2733 1.1.1.19 mrg
2734 1.1.1.20 mrg PR libstdc++/95592
2735 1.1.1.20 mrg * include/bits/valarray_after.h (_DEFINE_EXPR_UNARY_OPERATOR)
2736 1.1.1.20 mrg (_DEFINE_EXPR_BINARY_OPERATOR, _DEFINE_EXPR_BINARY_FUNCTION):
2737 1.1.1.20 mrg Use elaborated-type-specifier and qualified-id to avoid
2738 1.1.1.20 mrg ambiguities with QNX system headers.
2739 1.1.1.20 mrg * testsuite/26_numerics/valarray/95592.cc: New test.
2740 1.1.1.19 mrg
2741 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2742 1.1.1.19 mrg
2743 1.1.1.20 mrg Backported from master:
2744 1.1.1.20 mrg 2020-10-27 Jonathan Wakely <jwakely (a] redhat.com>
2745 1.1.1.19 mrg
2746 1.1.1.20 mrg * include/bits/locale_conv.h (__str_codecvt_out_all):
2747 1.1.1.20 mrg Add cast to compare operands of the same signedness.
2748 1.1.1.20 mrg * include/bits/locale_facets_nonio.tcc
2749 1.1.1.20 mrg (time_get::_M_extract_wday_or_month): Likewise.
2750 1.1.1.20 mrg * include/bits/sstream.tcc (basic_stringbuf::overflow):
2751 1.1.1.20 mrg Likewise.
2752 1.1.1.20 mrg * include/tr1/legendre_function.tcc (__sph_legendre): Use
2753 1.1.1.20 mrg unsigned for loop variable.
2754 1.1.1.19 mrg
2755 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2756 1.1.1.19 mrg
2757 1.1.1.20 mrg Backported from master:
2758 1.1.1.20 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com>
2759 1.1.1.19 mrg
2760 1.1.1.20 mrg * include/bits/locale_conv.h (__do_str_codecvt, __str_codecvt_in_all):
2761 1.1.1.20 mrg Add casts to compare types of the same signedness.
2762 1.1.1.19 mrg
2763 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2764 1.1.1.19 mrg
2765 1.1.1.20 mrg Backported from master:
2766 1.1.1.20 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com>
2767 1.1.1.19 mrg
2768 1.1.1.20 mrg * include/bits/ranges_algobase.h (__equal_fn): Remove unused
2769 1.1.1.20 mrg typedef.
2770 1.1.1.19 mrg
2771 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2772 1.1.1.19 mrg
2773 1.1.1.20 mrg Backported from master:
2774 1.1.1.20 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com>
2775 1.1.1.19 mrg
2776 1.1.1.20 mrg * include/experimental/bits/shared_ptr.h (shared_ptr(auto_ptr&&))
2777 1.1.1.20 mrg (operator=(auto_ptr&&)): Add diagnostic pragmas to suppress
2778 1.1.1.20 mrg warnings for uses of std::auto_ptr.
2779 1.1.1.20 mrg * include/experimental/type_traits (is_literal_type_v):
2780 1.1.1.20 mrg Likewise, for use of std::is_literal_type.
2781 1.1.1.20 mrg * include/std/condition_variable (condition_variable_any::_Unlock):
2782 1.1.1.20 mrg Likewise, for use of std::uncaught_exception.
2783 1.1.1.19 mrg
2784 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2785 1.1.1.19 mrg
2786 1.1.1.20 mrg Backported from master:
2787 1.1.1.20 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com>
2788 1.1.1.19 mrg
2789 1.1.1.20 mrg * include/bits/fs_path.h (path::_List::type()): Avoid narrowing
2790 1.1.1.20 mrg conversion.
2791 1.1.1.19 mrg
2792 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2793 1.1.1.16 mrg
2794 1.1.1.20 mrg Backported from master:
2795 1.1.1.20 mrg 2020-09-07 Jonathan Wakely <jwakely (a] redhat.com>
2796 1.1.1.16 mrg
2797 1.1.1.20 mrg * include/std/ranges (__box): Simplify constraints as per LWG 3477.
2798 1.1.1.16 mrg
2799 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2800 1.1.1.19 mrg
2801 1.1.1.20 mrg Backported from master:
2802 1.1.1.20 mrg 2020-08-24 Jonathan Wakely <jwakely (a] redhat.com>
2803 1.1.1.16 mrg
2804 1.1.1.20 mrg * include/std/ranges (ranges::iota_view::size()): Perform all
2805 1.1.1.20 mrg calculations in the right unsigned types.
2806 1.1.1.20 mrg * testsuite/std/ranges/iota/size.cc: New test.
2807 1.1.1.16 mrg
2808 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2809 1.1.1.16 mrg
2810 1.1.1.20 mrg Backported from master:
2811 1.1.1.20 mrg 2020-08-11 Jonathan Wakely <jwakely (a] redhat.com>
2812 1.1.1.16 mrg
2813 1.1.1.20 mrg * include/experimental/executor (system_context::_M_run()):
2814 1.1.1.20 mrg Fix predicate.
2815 1.1.1.20 mrg (system_context::join()): Do not join unless joinable.
2816 1.1.1.20 mrg * testsuite/experimental/net/system_context/1.cc: New test.
2817 1.1.1.18 mrg
2818 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2819 1.1.1.18 mrg
2820 1.1.1.20 mrg Backported from master:
2821 1.1.1.20 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com>
2822 1.1.1.18 mrg
2823 1.1.1.20 mrg * include/bits/stl_iterator.h (inserter): Do not deduce
2824 1.1.1.20 mrg iterator type (LWG 561).
2825 1.1.1.20 mrg * testsuite/24_iterators/insert_iterator/dr561.cc: New test.
2826 1.1.1.18 mrg
2827 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2828 1.1.1.19 mrg
2829 1.1.1.20 mrg Backported from master:
2830 1.1.1.20 mrg 2020-10-27 Jonathan Wakely <jwakely (a] redhat.com>
2831 1.1.1.19 mrg
2832 1.1.1.20 mrg * include/bits/fs_path.h (path::_List::begin, path::_List::end):
2833 1.1.1.20 mrg Add noexcept to match definitions in src/c++17/fs_path.cc.
2834 1.1.1.19 mrg
2835 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
2836 1.1.1.19 mrg
2837 1.1.1.20 mrg Backported from master:
2838 1.1.1.20 mrg 2020-10-27 Jonathan Wakely <jwakely (a] redhat.com>
2839 1.1.1.19 mrg
2840 1.1.1.20 mrg * src/c++17/fs_dir.cc (fs::directory_iterator::operator*):
2841 1.1.1.20 mrg Add noexcept. Do not throw on precondition violation.
2842 1.1.1.19 mrg
2843 1.1.1.20 mrg 2021-03-19 Jakub Jelinek <jakub (a] redhat.com>
2844 1.1.1.19 mrg
2845 1.1.1.20 mrg Backported from master:
2846 1.1.1.20 mrg 2021-02-23 Jakub Jelinek <jakub (a] redhat.com>
2847 1.1.1.19 mrg
2848 1.1.1.20 mrg PR libstdc++/99181
2849 1.1.1.20 mrg * testsuite/21_strings/char_traits/requirements/char/99181.cc: New
2850 1.1.1.20 mrg test.
2851 1.1.1.19 mrg
2852 1.1.1.20 mrg 2021-03-19 Jakub Jelinek <jakub (a] redhat.com>
2853 1.1.1.19 mrg
2854 1.1.1.20 mrg Backported from master:
2855 1.1.1.20 mrg 2021-02-23 Jakub Jelinek <jakub (a] redhat.com>
2856 1.1.1.19 mrg
2857 1.1.1.20 mrg PR libstdc++/99181
2858 1.1.1.20 mrg * include/bits/char_traits.h (char_traits<char>::compare): For
2859 1.1.1.20 mrg constexpr evaluation don't call
2860 1.1.1.20 mrg __gnu_cxx::char_traits<char_type>::compare but do the comparison loop
2861 1.1.1.20 mrg directly.
2862 1.1.1.19 mrg
2863 1.1.1.20 mrg 2021-02-09 Jonathan Wakely <jwakely (a] redhat.com>
2864 1.1.1.19 mrg
2865 1.1.1.20 mrg Backported from master:
2866 1.1.1.20 mrg 2021-02-09 Jonathan Wakely <jwakely (a] redhat.com>
2867 1.1.1.19 mrg
2868 1.1.1.20 mrg PR libstdc++/99021
2869 1.1.1.20 mrg * include/std/coroutine (coroutine_handle<P>::from_address): Add
2870 1.1.1.20 mrg noexcept.
2871 1.1.1.19 mrg
2872 1.1.1.20 mrg 2021-01-13 Jonathan Wakely <jwakely (a] redhat.com>
2873 1.1.1.19 mrg
2874 1.1.1.20 mrg PR libstdc++/98605
2875 1.1.1.20 mrg * include/std/mutex (call_once): Use NOLINT to suppress clang
2876 1.1.1.20 mrg analyzer warnings.
2877 1.1.1.19 mrg
2878 1.1.1.20 mrg 2021-01-11 Jonathan Wakely <jwakely (a] redhat.com>
2879 1.1.1.19 mrg
2880 1.1.1.20 mrg Backported from master:
2881 1.1.1.20 mrg 2020-12-02 Jonathan Wakely <jwakely (a] redhat.com>
2882 1.1.1.19 mrg
2883 1.1.1.20 mrg * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Store the
2884 1.1.1.20 mrg name of the type and pass it to the iterator.
2885 1.1.1.20 mrg (StdPathPrinter): Likewise.
2886 1.1.1.20 mrg * testsuite/libstdc++-prettyprinters/filesystem-ts.cc: New test.
2887 1.1.1.19 mrg
2888 1.1.1.20 mrg 2021-01-11 Jonathan Wakely <jwakely (a] redhat.com>
2889 1.1.1.19 mrg
2890 1.1.1.20 mrg Backported from master:
2891 1.1.1.20 mrg 2020-12-16 Jonathan Wakely <jwakely (a] redhat.com>
2892 1.1.1.19 mrg
2893 1.1.1.20 mrg PR libstdc++/96083
2894 1.1.1.20 mrg * include/ext/throw_allocator.h: Use __has_builtin to check for
2895 1.1.1.20 mrg __builtin_sprintf support, and use std::sprintf if necessary.
2896 1.1.1.19 mrg
2897 1.1.1.20 mrg 2021-01-11 Jonathan Wakely <jwakely (a] redhat.com>
2898 1.1.1.19 mrg
2899 1.1.1.20 mrg Backported from master:
2900 1.1.1.20 mrg 2020-12-02 Jonathan Wakely <jwakely (a] redhat.com>
2901 1.1.1.19 mrg
2902 1.1.1.20 mrg PR libstdc++/65480
2903 1.1.1.20 mrg PR libstdc++/68735
2904 1.1.1.20 mrg * python/libstdcxx/v6/printers.py (function_pointer_to_name):
2905 1.1.1.20 mrg New helper function to get the name of a function from its
2906 1.1.1.20 mrg address.
2907 1.1.1.20 mrg (StdExpAnyPrinter.__init__): Use it.
2908 1.1.1.19 mrg
2909 1.1.1.20 mrg 2021-01-11 Jonathan Wakely <jwakely (a] redhat.com>
2910 1.1.1.18 mrg
2911 1.1.1.20 mrg Backported from master:
2912 1.1.1.20 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com>
2913 1.1.1.18 mrg
2914 1.1.1.20 mrg * testsuite/experimental/filesystem/filesystem_error/cons.cc:
2915 1.1.1.20 mrg Remove -std=gnu++17 option.
2916 1.1.1.18 mrg
2917 1.1.1.20 mrg 2021-01-08 Iain Sandoe <iain (a] sandoe.co.uk>
2918 1.1.1.18 mrg
2919 1.1.1.20 mrg Backported from master:
2920 1.1.1.20 mrg 2020-07-17 Iain Sandoe <iain (a] sandoe.co.uk>
2921 1.1.1.16 mrg
2922 1.1.1.20 mrg * include/std/coroutine: Mark the methods of the
2923 1.1.1.20 mrg trivial awaitables as constexpr.
2924 1.1.1.16 mrg
2925 1.1.1.20 mrg 2021-01-03 Iain Sandoe <iain (a] sandoe.co.uk>
2926 1.1.1.20 mrg Jakub Jelinek <jakub (a] redhat.com>
2927 1.1.1.18 mrg
2928 1.1.1.20 mrg PR target/97865
2929 1.1.1.20 mrg * configure: Regenerate.
2930 1.1.1.18 mrg
2931 1.1.1.20 mrg 2020-12-03 Jonathan Wakely <jwakely (a] redhat.com>
2932 1.1.1.18 mrg
2933 1.1.1.20 mrg Backported from master:
2934 1.1.1.20 mrg 2020-12-03 Jonathan Wakely <jwakely (a] redhat.com>
2935 1.1.1.18 mrg
2936 1.1.1.20 mrg * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt:
2937 1.1.1.20 mrg Update.
2938 1.1.1.20 mrg * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2939 1.1.1.20 mrg Update.
2940 1.1.1.18 mrg
2941 1.1.1.20 mrg 2020-12-01 Patrick Palka <ppalka (a] redhat.com>
2942 1.1.1.16 mrg
2943 1.1.1.20 mrg Backported from master:
2944 1.1.1.20 mrg 2020-10-12 Patrick Palka <ppalka (a] redhat.com>
2945 1.1.1.18 mrg
2946 1.1.1.20 mrg PR libstdc++/95322
2947 1.1.1.20 mrg * include/std/ranges (take_view::_CI): Define this alias
2948 1.1.1.20 mrg template as per LWG 3449 and remove ...
2949 1.1.1.20 mrg (take_view::_Sentinel::_CI): ... this type alias.
2950 1.1.1.20 mrg (take_view::_Sentinel::operator==): Adjust use of _CI
2951 1.1.1.20 mrg accordingly. Define a second overload that accepts an iterator
2952 1.1.1.20 mrg of the opposite constness as per LWG 3449.
2953 1.1.1.20 mrg (take_while_view::_Sentinel::operator==): Likewise.
2954 1.1.1.20 mrg * testsuite/std/ranges/adaptors/95322.cc: Add tests for LWG 3449.
2955 1.1.1.18 mrg
2956 1.1.1.20 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com>
2957 1.1.1.18 mrg
2958 1.1.1.20 mrg Backported from master:
2959 1.1.1.20 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com>
2960 1.1.1.19 mrg
2961 1.1.1.20 mrg PR libstdc++/98001
2962 1.1.1.20 mrg * testsuite/ext/stdio_filebuf/char/79820.cc: Do not pass invalid
2963 1.1.1.20 mrg FILE* to constructor.
2964 1.1.1.19 mrg
2965 1.1.1.20 mrg 2020-11-25 Jonathan Wakely <jwakely (a] redhat.com>
2966 1.1.1.19 mrg
2967 1.1.1.20 mrg Backported from master:
2968 1.1.1.20 mrg 2020-11-25 Jonathan Wakely <jwakely (a] redhat.com>
2969 1.1.1.19 mrg
2970 1.1.1.20 mrg PR libstdc++/97935
2971 1.1.1.20 mrg * include/bits/iterator_concepts.h (__detail::__iter_without_category):
2972 1.1.1.20 mrg New helper concept.
2973 1.1.1.20 mrg (__iterator_traits::__cat): Use __detail::__iter_without_category.
2974 1.1.1.20 mrg * testsuite/24_iterators/associated_types/iterator.traits.cc: New test.
2975 1.1.1.19 mrg
2976 1.1.1.20 mrg 2020-11-25 Jonathan Wakely <jwakely (a] redhat.com>
2977 1.1.1.19 mrg
2978 1.1.1.20 mrg Backported from master:
2979 1.1.1.20 mrg 2020-06-04 Jonathan Wakely <jwakely (a] redhat.com>
2980 1.1.1.19 mrg
2981 1.1.1.20 mrg * include/bits/iterator_concepts.h (__detail::__ptr, __detail::__ref)
2982 1.1.1.20 mrg (__detail::__cat, __detail::__diff): Move to class scope in the
2983 1.1.1.20 mrg relevant __iterator_traits specializations.
2984 1.1.1.20 mrg (__iterator_traits<>): Use nested class templates instead of ones from
2985 1.1.1.20 mrg namespace __detail.
2986 1.1.1.20 mrg * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Move to
2987 1.1.1.20 mrg class scope in iterator_traits<common_iterator<I, S>>.
2988 1.1.1.20 mrg (iterator_traits<common_iterator<I, S>>): Use nested class template
2989 1.1.1.20 mrg instead of __detail::__common_iter_ptr.
2990 1.1.1.19 mrg
2991 1.1.1.20 mrg 2020-11-24 Jonathan Wakely <jwakely (a] redhat.com>
2992 1.1.1.19 mrg
2993 1.1.1.20 mrg Backported from master:
2994 1.1.1.20 mrg 2020-10-02 Jonathan Wakely <jwakely (a] redhat.com>
2995 1.1.1.19 mrg
2996 1.1.1.20 mrg * testsuite/29_atomics/atomic_float/value_init.cc: Use float
2997 1.1.1.20 mrg instead of double so that __atomic_load_8 isn't needed.
2998 1.1.1.19 mrg
2999 1.1.1.20 mrg 2020-11-20 Jonathan Wakely <jwakely (a] redhat.com>
3000 1.1.1.18 mrg
3001 1.1.1.20 mrg Backported from master:
3002 1.1.1.20 mrg 2020-11-20 Jonathan Wakely <jwakely (a] redhat.com>
3003 1.1.1.18 mrg
3004 1.1.1.20 mrg PR libstdc++/92546
3005 1.1.1.20 mrg * include/std/regex (pmr::smatch, pmr::wsmatch): Declare using
3006 1.1.1.20 mrg underlying __normal_iterator type, not nested typedef
3007 1.1.1.20 mrg basic_string::const_iterator.
3008 1.1.1.16 mrg
3009 1.1.1.20 mrg 2020-11-20 Jonathan Wakely <jwakely (a] redhat.com>
3010 1.1.1.16 mrg
3011 1.1.1.20 mrg PR libstdc++/97876
3012 1.1.1.20 mrg * include/std/stop_token (_Stop_state_t): Define default
3013 1.1.1.20 mrg constructor as user-provided not defaulted.
3014 1.1.1.19 mrg
3015 1.1.1.20 mrg 2020-11-20 Jonathan Wakely <jwakely (a] redhat.com>
3016 1.1.1.19 mrg
3017 1.1.1.20 mrg Backported from master:
3018 1.1.1.20 mrg 2020-11-19 Jonathan Wakely <jwakely (a] redhat.com>
3019 1.1.1.16 mrg
3020 1.1.1.20 mrg PR libstdc++/95989
3021 1.1.1.20 mrg * config/os/gnu-linux/os_defines.h (_GLIBCXX_NATIVE_THREAD_ID):
3022 1.1.1.20 mrg Define new macro to get reliable thread ID.
3023 1.1.1.20 mrg * include/std/stop_token (_Stop_state_t::_M_request_stop):
3024 1.1.1.20 mrg Use new macro if it's defined.
3025 1.1.1.20 mrg (_Stop_state_t::_M_remove_callback): Likewise.
3026 1.1.1.20 mrg * include/std/thread (this_thread::get_id): Likewise.
3027 1.1.1.20 mrg * testsuite/30_threads/jthread/95989.cc: New test.
3028 1.1.1.20 mrg * testsuite/30_threads/this_thread/95989.cc: New test.
3029 1.1.1.16 mrg
3030 1.1.1.20 mrg 2020-11-18 Patrick Palka <ppalka (a] redhat.com>
3031 1.1.1.16 mrg
3032 1.1.1.20 mrg Backported from master:
3033 1.1.1.20 mrg 2020-11-18 Patrick Palka <ppalka (a] redhat.com>
3034 1.1.1.16 mrg
3035 1.1.1.20 mrg * include/std/ranges (join_view::_Iterator::_M_satisfy): Uglify
3036 1.1.1.20 mrg local variable inner.
3037 1.1.1.20 mrg (join_view::_Iterator::operator->): Use _Inner_iter instead of
3038 1.1.1.20 mrg _Outer_iter in the function signature as per LWG 3500.
3039 1.1.1.20 mrg * testsuite/std/ranges/adaptors/join.cc (test08): Test it.
3040 1.1.1.19 mrg
3041 1.1.1.20 mrg 2020-11-18 Jonathan Wakely <jwakely (a] redhat.com>
3042 1.1.1.19 mrg
3043 1.1.1.20 mrg Backported from master:
3044 1.1.1.20 mrg 2020-10-06 Jonathan Wakely <jwakely (a] redhat.com>
3045 1.1.1.16 mrg
3046 1.1.1.20 mrg * include/std/ranges (join_view): Remove deduction guide.
3047 1.1.1.20 mrg (views::join): Add explicit template argument list to prevent
3048 1.1.1.20 mrg deducing the wrong type.
3049 1.1.1.20 mrg * testsuite/std/ranges/adaptors/join.cc: Move test for LWG 3474
3050 1.1.1.20 mrg here, from ...
3051 1.1.1.20 mrg * testsuite/std/ranges/adaptors/join_lwg3474.cc: Removed.
3052 1.1.1.16 mrg
3053 1.1.1.20 mrg 2020-11-18 Jonathan Wakely <jwakely (a] redhat.com>
3054 1.1.1.16 mrg
3055 1.1.1.20 mrg Backported from master:
3056 1.1.1.20 mrg 2020-08-24 Jonathan Wakely <jwakely (a] redhat.com>
3057 1.1.1.16 mrg
3058 1.1.1.20 mrg * include/std/ranges (join_view): Add deduction guide (LWG 3474).
3059 1.1.1.20 mrg * testsuite/std/ranges/adaptors/join_lwg3474.cc: New test.
3060 1.1.1.16 mrg
3061 1.1.1.20 mrg 2020-11-18 Jonathan Wakely <jwakely (a] redhat.com>
3062 1.1.1.16 mrg
3063 1.1.1.20 mrg Backported from master:
3064 1.1.1.20 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com>
3065 1.1.1.16 mrg
3066 1.1.1.20 mrg * include/std/version (__cpp_lib_array_constexpr)
3067 1.1.1.20 mrg (__cpp_lib_constexpr_char_traits): Only define C++17 value when
3068 1.1.1.20 mrg compiling C++17.
3069 1.1.1.16 mrg
3070 1.1.1.20 mrg 2020-11-18 Jonathan Wakely <jwakely (a] redhat.com>
3071 1.1.1.18 mrg
3072 1.1.1.20 mrg Backported from master:
3073 1.1.1.20 mrg 2020-06-15 Jonathan Wakely <jwakely (a] redhat.com>
3074 1.1.1.19 mrg
3075 1.1.1.20 mrg * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits):
3076 1.1.1.20 mrg Update value for C++20.
3077 1.1.1.20 mrg * include/std/version (__cpp_lib_constexpr_char_traits): Likewise.
3078 1.1.1.20 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
3079 1.1.1.20 mrg Update expected value.
3080 1.1.1.19 mrg
3081 1.1.1.20 mrg 2020-11-18 Jonathan Wakely <jwakely (a] redhat.com>
3082 1.1.1.18 mrg
3083 1.1.1.20 mrg Backported from master:
3084 1.1.1.20 mrg 2020-11-17 Jonathan Wakely <jwakely (a] redhat.com>
3085 1.1.1.18 mrg
3086 1.1.1.20 mrg PR libstdc++/97869
3087 1.1.1.20 mrg * include/precompiled/stdc++.h: Include <coroutine>.
3088 1.1.1.20 mrg * include/std/version (__cpp_lib_span): Check __cpp_lib_concepts
3089 1.1.1.20 mrg before defining.
3090 1.1.1.18 mrg
3091 1.1.1.20 mrg 2020-11-17 Patrick Palka <ppalka (a] redhat.com>
3092 1.1.1.18 mrg
3093 1.1.1.20 mrg Backported from master:
3094 1.1.1.20 mrg 2020-11-17 Patrick Palka <ppalka (a] redhat.com>
3095 1.1.1.18 mrg
3096 1.1.1.20 mrg PR libstdc++/97828
3097 1.1.1.20 mrg * include/bits/ranges_algo.h (__search_n_fn::operator()): Check
3098 1.1.1.20 mrg random_access_iterator before using the backtracking
3099 1.1.1.20 mrg implementation. When the backwards scan fails prematurely,
3100 1.1.1.20 mrg reset __remainder appropriately.
3101 1.1.1.20 mrg * testsuite/25_algorithms/search_n/97828.cc: New test.
3102 1.1.1.18 mrg
3103 1.1.1.20 mrg 2020-11-16 Jonathan Wakely <jwakely (a] redhat.com>
3104 1.1.1.18 mrg
3105 1.1.1.20 mrg Backported from master:
3106 1.1.1.20 mrg 2020-11-13 Jonathan Wakely <jwakely (a] redhat.com>
3107 1.1.1.18 mrg
3108 1.1.1.20 mrg PR libstdc++/93456
3109 1.1.1.20 mrg * src/c++11/futex.cc (relative_timespec): Remove redundant check
3110 1.1.1.20 mrg negative values.
3111 1.1.1.20 mrg * testsuite/30_threads/future/members/93456.cc: New.
3112 1.1.1.19 mrg
3113 1.1.1.20 mrg 2020-11-16 Jonathan Wakely <jwakely (a] redhat.com>
3114 1.1.1.19 mrg
3115 1.1.1.20 mrg Backported from master:
3116 1.1.1.20 mrg 2020-11-16 Jonathan Wakely <jwakely (a] redhat.com>
3117 1.1.1.18 mrg
3118 1.1.1.20 mrg * src/c++11/futex.cc (relative_timespec): New function to
3119 1.1.1.20 mrg create relative time from two absolute times.
3120 1.1.1.20 mrg (__atomic_futex_unsigned_base::_M_futex_wait_until): Use
3121 1.1.1.20 mrg relative_timespec.
3122 1.1.1.18 mrg
3123 1.1.1.20 mrg 2020-11-16 Jonathan Wakely <jwakely (a] redhat.com>
3124 1.1.1.18 mrg
3125 1.1.1.20 mrg Backported from master:
3126 1.1.1.20 mrg 2020-11-12 Jonathan Wakely <jwakely (a] redhat.com>
3127 1.1.1.19 mrg
3128 1.1.1.20 mrg * include/std/future (future::wait_for): Do not wait for
3129 1.1.1.20 mrg durations less than or equal to zero.
3130 1.1.1.20 mrg * testsuite/30_threads/future/members/poll.cc: New test.
3131 1.1.1.18 mrg
3132 1.1.1.20 mrg 2020-11-13 Jonathan Wakely <jwakely (a] redhat.com>
3133 1.1.1.18 mrg
3134 1.1.1.20 mrg Backported from master:
3135 1.1.1.20 mrg 2020-11-13 Jonathan Wakely <jwakely (a] redhat.com>
3136 1.1.1.18 mrg
3137 1.1.1.20 mrg PR libstdc++/97798
3138 1.1.1.20 mrg * include/ext/numeric_traits.h (__glibcxx_signed)
3139 1.1.1.20 mrg (__glibcxx_digits, __glibcxx_min, __glibcxx_max): Remove
3140 1.1.1.20 mrg macros.
3141 1.1.1.20 mrg (__is_integer_nonstrict::__width): Define new constant.
3142 1.1.1.20 mrg (__numeric_traits_integer): Define constants in terms of each
3143 1.1.1.20 mrg other and __is_integer_nonstrict::__width, rather than the
3144 1.1.1.20 mrg removed macros.
3145 1.1.1.20 mrg (_GLIBCXX_INT_N_TRAITS): Macro to define explicit
3146 1.1.1.20 mrg specializations for non-standard integer types.
3147 1.1.1.18 mrg
3148 1.1.1.20 mrg 2020-11-13 Jonathan Wakely <jwakely (a] redhat.com>
3149 1.1.1.19 mrg
3150 1.1.1.20 mrg PR libstdc++/96042
3151 1.1.1.20 mrg * testsuite/std/ranges/iota/96042.cc: Only assert that the
3152 1.1.1.20 mrg difference type is wider than long long if __int128 is
3153 1.1.1.20 mrg supported.
3154 1.1.1.19 mrg
3155 1.1.1.20 mrg 2020-11-12 Jonathan Wakely <jwakely (a] redhat.com>
3156 1.1.1.19 mrg
3157 1.1.1.20 mrg Backported from master:
3158 1.1.1.20 mrg 2020-08-20 Jonathan Wakely <jwakely (a] redhat.com>
3159 1.1.1.19 mrg
3160 1.1.1.20 mrg * include/bits/iterator_concepts.h [__STRICT_ANSI__]
3161 1.1.1.20 mrg (incrementable_traits<__int128>): Define specialization.
3162 1.1.1.20 mrg (incrementable_traits<unsigned __int128>): Likewise.
3163 1.1.1.20 mrg * testsuite/std/ranges/iota/96042.cc: Test iota_view with
3164 1.1.1.20 mrg __int128.
3165 1.1.1.19 mrg
3166 1.1.1.20 mrg 2020-11-12 Jonathan Wakely <jwakely (a] redhat.com>
3167 1.1.1.19 mrg
3168 1.1.1.20 mrg Backported from master:
3169 1.1.1.20 mrg 2020-08-19 Jonathan Wakely <jwakely (a] redhat.com>
3170 1.1.1.20 mrg Patrick Palka <ppalka (a] redhat.com>
3171 1.1.1.19 mrg
3172 1.1.1.20 mrg PR libstdc++/96042
3173 1.1.1.20 mrg * include/bits/range_access.h (__detail::__to_unsigned_like):
3174 1.1.1.20 mrg Do not use make_unsigned_t<T> in the return type, as it can
3175 1.1.1.20 mrg result in an error before the integral<T> constraint is checked.
3176 1.1.1.20 mrg [__STRICT_ANSI__]: Add overloads for 128-bit integer types.
3177 1.1.1.20 mrg (__detail::__make_unsigned_like_t): Define as the return type
3178 1.1.1.20 mrg of __to_unsigned_like.
3179 1.1.1.20 mrg * testsuite/std/ranges/subrange/96042.cc: New test.
3180 1.1.1.19 mrg
3181 1.1.1.20 mrg 2020-11-12 Jonathan Wakely <jwakely (a] redhat.com>
3182 1.1.1.18 mrg
3183 1.1.1.20 mrg Backported from master:
3184 1.1.1.20 mrg 2020-08-19 Jonathan Wakely <jwakely (a] redhat.com>
3185 1.1.1.19 mrg
3186 1.1.1.20 mrg PR libstdc++/96042
3187 1.1.1.20 mrg * include/ext/numeric_traits.h (__is_integer_nonstrict): New
3188 1.1.1.20 mrg trait which is true for 128-bit integers even in strict modes.
3189 1.1.1.20 mrg (__numeric_traits_integer, __numeric_traits): Use
3190 1.1.1.20 mrg __is_integer_nonstrict instead of __is_integer.
3191 1.1.1.20 mrg * include/std/limits [__STRICT_ANSI__ && __SIZEOF_INT128__]
3192 1.1.1.20 mrg (numeric_limits<__int128>, (numeric_limits<unsigned __int128>):
3193 1.1.1.20 mrg Define.
3194 1.1.1.20 mrg * testsuite/std/ranges/iota/96042.cc: New test.
3195 1.1.1.19 mrg
3196 1.1.1.20 mrg 2020-11-11 Paul Scharnofske <asynts (a] gmail.com>
3197 1.1.1.19 mrg
3198 1.1.1.20 mrg Backported from master:
3199 1.1.1.20 mrg 2020-11-11 Paul Scharnofske <asynts (a] gmail.com>
3200 1.1.1.19 mrg
3201 1.1.1.20 mrg * include/std/thread (jthread::operator=(jthread&&)): Transfer
3202 1.1.1.20 mrg any existing state to a temporary that will request a stop and
3203 1.1.1.20 mrg then join.
3204 1.1.1.20 mrg * testsuite/30_threads/jthread/jthread.cc: Test move assignment.
3205 1.1.1.19 mrg
3206 1.1.1.20 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com>
3207 1.1.1.20 mrg
3208 1.1.1.20 mrg Backported from master:
3209 1.1.1.20 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com>
3210 1.1.1.20 mrg
3211 1.1.1.20 mrg PR libstdc++/96269
3212 1.1.1.20 mrg * include/std/optional (operator==, operator!=, operator<)
3213 1.1.1.20 mrg (operator>, operator<=, operator>=): Fix types used in
3214 1.1.1.20 mrg SFINAE constraints.
3215 1.1.1.20 mrg * testsuite/20_util/optional/relops/96269.cc: New test.
3216 1.1.1.20 mrg
3217 1.1.1.20 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com>
3218 1.1.1.20 mrg
3219 1.1.1.20 mrg Backported from master:
3220 1.1.1.20 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com>
3221 1.1.1.20 mrg
3222 1.1.1.20 mrg PR libstdc++/97731
3223 1.1.1.20 mrg * src/filesystem/dir.cc (recursive_directory_iterator): Call the
3224 1.1.1.20 mrg right overload of _Dir::advance.
3225 1.1.1.20 mrg * testsuite/experimental/filesystem/iterators/97731.cc: New test.
3226 1.1.1.20 mrg
3227 1.1.1.20 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com>
3228 1.1.1.20 mrg
3229 1.1.1.20 mrg Backported from master:
3230 1.1.1.20 mrg 2020-10-10 Jonathan Wakely <jwakely (a] redhat.com>
3231 1.1.1.20 mrg
3232 1.1.1.20 mrg PR libstdc++/97362
3233 1.1.1.20 mrg * doc/html/manual/source_code_style.html: Regenerate.
3234 1.1.1.20 mrg * doc/xml/manual/appendix_contributing.xml: Add __deref to
3235 1.1.1.20 mrg BADNAMES.
3236 1.1.1.20 mrg * include/debug/functions.h (_Irreflexive_checker::__deref):
3237 1.1.1.20 mrg Rename to __ref.
3238 1.1.1.20 mrg * testsuite/17_intro/badnames.cc: Check __deref.
3239 1.1.1.20 mrg
3240 1.1.1.20 mrg 2020-11-04 Jonathan Wakely <jwakely (a] redhat.com>
3241 1.1.1.20 mrg
3242 1.1.1.20 mrg Backported from master:
3243 1.1.1.20 mrg 2020-11-04 Jonathan Wakely <jwakely (a] redhat.com>
3244 1.1.1.20 mrg
3245 1.1.1.20 mrg PR libstdc++/92285
3246 1.1.1.20 mrg * doc/xml/manual/evolution.xml: Document change to base class.
3247 1.1.1.20 mrg * doc/html/manual/api.html: Regenerate.
3248 1.1.1.20 mrg
3249 1.1.1.20 mrg 2020-11-04 Jonathan Wakely <jwakely (a] redhat.com>
3250 1.1.1.20 mrg
3251 1.1.1.20 mrg * doc/xml/manual/evolution.xml: Document new C++20 headers.
3252 1.1.1.20 mrg * doc/html/*: Regenerate.
3253 1.1.1.20 mrg
3254 1.1.1.20 mrg 2020-11-04 Jonathan Wakely <jwakely (a] redhat.com>
3255 1.1.1.20 mrg
3256 1.1.1.20 mrg Backported from master:
3257 1.1.1.20 mrg 2020-06-01 Jonathan Wakely <jwakely (a] redhat.com>
3258 1.1.1.20 mrg
3259 1.1.1.20 mrg * doc/xml/manual/evolution.xml: Document deprecation of
3260 1.1.1.20 mrg __is_nullptr_t and removal of std::allocator members.
3261 1.1.1.20 mrg * doc/html/manual/api.html: Regenerate.
3262 1.1.1.20 mrg
3263 1.1.1.20 mrg 2020-11-04 Jonathan Wakely <jwakely (a] redhat.com>
3264 1.1.1.20 mrg
3265 1.1.1.20 mrg Backported from master:
3266 1.1.1.20 mrg 2020-06-01 Jonathan Wakely <jwakely (a] redhat.com>
3267 1.1.1.20 mrg
3268 1.1.1.20 mrg * doc/xml/manual/containers.xml: Replace <xref> with <link>.
3269 1.1.1.20 mrg * doc/xml/manual/evolution.xml: Likewise.
3270 1.1.1.20 mrg * doc/html/manual/api.html: Regenerate.
3271 1.1.1.20 mrg * doc/html/manual/containers.html: Regenerate.
3272 1.1.1.20 mrg
3273 1.1.1.20 mrg 2020-10-29 Patrick Palka <ppalka (a] redhat.com>
3274 1.1.1.20 mrg
3275 1.1.1.20 mrg Backported from master:
3276 1.1.1.20 mrg 2020-10-29 Patrick Palka <ppalka (a] redhat.com>
3277 1.1.1.20 mrg
3278 1.1.1.20 mrg * testsuite/25_algorithms/lexicographical_compare/constrained.cc:
3279 1.1.1.20 mrg (test03): Fix initializing the vector vy with the array y of size 4.
3280 1.1.1.20 mrg
3281 1.1.1.20 mrg 2020-10-28 Patrick Palka <ppalka (a] redhat.com>
3282 1.1.1.20 mrg
3283 1.1.1.20 mrg Backported from master:
3284 1.1.1.20 mrg 2020-10-23 Patrick Palka <ppalka (a] redhat.com>
3285 1.1.1.20 mrg
3286 1.1.1.20 mrg * include/std/ranges (single_view::single_view): Mark the
3287 1.1.1.20 mrg in place constructor explicit as per LWG 3428.
3288 1.1.1.20 mrg (take_view): Remove the constraint on the deduction guide's
3289 1.1.1.20 mrg template parameter as per LWG 3447.
3290 1.1.1.20 mrg
3291 1.1.1.20 mrg 2020-10-21 Patrick Palka <ppalka (a] redhat.com>
3292 1.1.1.20 mrg
3293 1.1.1.20 mrg Backported from master:
3294 1.1.1.20 mrg 2020-09-22 Patrick Palka <ppalka (a] redhat.com>
3295 1.1.1.20 mrg
3296 1.1.1.20 mrg * include/std/span (span::front): Remove static_assert.
3297 1.1.1.20 mrg (span::back): Likewise.
3298 1.1.1.20 mrg (span::operator[]): Likewise.
3299 1.1.1.20 mrg * testsuite/23_containers/span/back_neg.cc: Rewrite to verify
3300 1.1.1.20 mrg that we check the preconditions of back() only when it's called.
3301 1.1.1.20 mrg * testsuite/23_containers/span/front_neg.cc: Likewise for
3302 1.1.1.20 mrg front().
3303 1.1.1.20 mrg * testsuite/23_containers/span/index_op_neg.cc: Likewise for
3304 1.1.1.20 mrg operator[].
3305 1.1.1.20 mrg
3306 1.1.1.20 mrg 2020-10-21 Patrick Palka <ppalka (a] redhat.com>
3307 1.1.1.20 mrg
3308 1.1.1.20 mrg Backported from master:
3309 1.1.1.20 mrg 2020-10-12 Patrick Palka <ppalka (a] redhat.com>
3310 1.1.1.20 mrg
3311 1.1.1.20 mrg * include/std/ranges (take_while_view::begin): Constrain the
3312 1.1.1.20 mrg const overload further as per LWG 3450.
3313 1.1.1.20 mrg (take_while_view::end): Likewise.
3314 1.1.1.20 mrg * testsuite/std/ranges/adaptors/take_while.cc: Add test for LWG
3315 1.1.1.20 mrg 3450.
3316 1.1.1.20 mrg
3317 1.1.1.20 mrg 2020-10-21 Patrick Palka <ppalka (a] redhat.com>
3318 1.1.1.20 mrg
3319 1.1.1.20 mrg Backported from master:
3320 1.1.1.20 mrg 2020-09-22 Patrick Palka <ppalka (a] redhat.com>
3321 1.1.1.20 mrg
3322 1.1.1.20 mrg * include/bits/stl_algo.h (__sample): Exit early when the
3323 1.1.1.20 mrg input range is empty.
3324 1.1.1.20 mrg * testsuite/25_algorithms/sample/3.cc: New test.
3325 1.1.1.20 mrg
3326 1.1.1.20 mrg 2020-10-21 Patrick Palka <ppalka (a] redhat.com>
3327 1.1.1.20 mrg
3328 1.1.1.20 mrg Backported from master:
3329 1.1.1.20 mrg 2020-09-22 Patrick Palka <ppalka (a] redhat.com>
3330 1.1.1.20 mrg
3331 1.1.1.20 mrg * include/bits/stl_algo.h (for_each_n): Mark constexpr for C++20.
3332 1.1.1.20 mrg (search): Likewise for the overload that takes a searcher.
3333 1.1.1.20 mrg * testsuite/25_algorithms/for_each/constexpr.cc: Test constexpr
3334 1.1.1.20 mrg std::for_each_n.
3335 1.1.1.20 mrg * testsuite/25_algorithms/search/constexpr.cc: Test constexpr
3336 1.1.1.20 mrg std::search overload that takes a searcher.
3337 1.1.1.20 mrg
3338 1.1.1.20 mrg 2020-10-21 Patrick Palka <ppalka (a] redhat.com>
3339 1.1.1.20 mrg
3340 1.1.1.20 mrg Backported from master:
3341 1.1.1.20 mrg 2020-08-27 Patrick Palka <ppalka (a] redhat.com>
3342 1.1.1.20 mrg
3343 1.1.1.20 mrg PR libstdc++/95322
3344 1.1.1.20 mrg * include/std/ranges (transform_view::sentinel::__distance_from):
3345 1.1.1.20 mrg Give this a deduced return type.
3346 1.1.1.20 mrg (transform_view::sentinel::operator-): Adjust the return type so
3347 1.1.1.20 mrg that it's based on the constness of the iterator rather than
3348 1.1.1.20 mrg that of the sentinel.
3349 1.1.1.20 mrg * testsuite/std/ranges/adaptors/95322.cc: Refer to LWG 3488.
3350 1.1.1.20 mrg
3351 1.1.1.20 mrg 2020-10-21 Patrick Palka <ppalka (a] redhat.com>
3352 1.1.1.20 mrg
3353 1.1.1.20 mrg Backported from master:
3354 1.1.1.20 mrg 2020-08-27 Patrick Palka <ppalka (a] redhat.com>
3355 1.1.1.20 mrg
3356 1.1.1.20 mrg * include/std/ranges (elements_view::begin): Adjust constraints.
3357 1.1.1.20 mrg (elements_view::end): Likewise.
3358 1.1.1.20 mrg (elements_view::_Sentinel::operator==): Templatize to take both
3359 1.1.1.20 mrg _Iterator<true> and _Iterator<false>.
3360 1.1.1.20 mrg (elements_view::_Sentinel::operator-): Likewise.
3361 1.1.1.20 mrg * testsuite/std/ranges/adaptors/elements.cc: Add testcase for
3362 1.1.1.20 mrg the example from P1994R1.
3363 1.1.1.20 mrg * testsuite/std/ranges/adaptors/lwg3406.cc: New test.
3364 1.1.1.20 mrg
3365 1.1.1.20 mrg 2020-10-21 Patrick Palka <ppalka (a] redhat.com>
3366 1.1.1.20 mrg
3367 1.1.1.20 mrg Backported from master:
3368 1.1.1.20 mrg 2020-08-27 Patrick Palka <ppalka (a] redhat.com>
3369 1.1.1.20 mrg
3370 1.1.1.20 mrg * include/std/ranges (elements_view::end): Replace these two
3371 1.1.1.20 mrg overloads with four new overloads.
3372 1.1.1.20 mrg (elements_view::_Iterator::operator==): Remove.
3373 1.1.1.20 mrg (elements_view::_Iterator::operator-): Likewise.
3374 1.1.1.20 mrg (elements_view::_Sentinel): Define.
3375 1.1.1.20 mrg
3376 1.1.1.20 mrg 2020-10-20 Jonathan Wakely <jwakely (a] redhat.com>
3377 1.1.1.20 mrg
3378 1.1.1.20 mrg Backported from master:
3379 1.1.1.20 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com>
3380 1.1.1.20 mrg
3381 1.1.1.20 mrg * python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__):
3382 1.1.1.20 mrg Use gdb.Type.strip_typedefs().
3383 1.1.1.20 mrg * testsuite/libstdc++-prettyprinters/compat.cc: Use a typedef in
3384 1.1.1.20 mrg the emulated old type.
3385 1.1.1.20 mrg
3386 1.1.1.20 mrg 2020-10-20 Jonathan Wakely <jwakely (a] redhat.com>
3387 1.1.1.20 mrg
3388 1.1.1.20 mrg Backported from master:
3389 1.1.1.20 mrg 2020-10-14 Jonathan Wakely <jwakely (a] redhat.com>
3390 1.1.1.20 mrg
3391 1.1.1.20 mrg * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
3392 1.1.1.20 mrg (basic_string(const _CharT*, const _Alloc&)): Constrain to
3393 1.1.1.20 mrg require an allocator-like type to fix CTAD ambiguity (LWG 3706).
3394 1.1.1.20 mrg Define inline.
3395 1.1.1.20 mrg * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]
3396 1.1.1.20 mrg (basic_string(const _CharT*, const _Alloc&)): Remove non-inline
3397 1.1.1.20 mrg definition.
3398 1.1.1.20 mrg * testsuite/21_strings/basic_string/cons/char/deduction.cc:
3399 1.1.1.20 mrg Remove dg-skip-if.
3400 1.1.1.20 mrg * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
3401 1.1.1.20 mrg Likewise.
3402 1.1.1.20 mrg
3403 1.1.1.20 mrg 2020-10-20 Jonathan Wakely <jwakely (a] redhat.com>
3404 1.1.1.20 mrg
3405 1.1.1.20 mrg Backported from master:
3406 1.1.1.20 mrg 2020-10-14 Jonathan Wakely <jwakely (a] redhat.com>
3407 1.1.1.20 mrg
3408 1.1.1.20 mrg * testsuite/21_strings/basic_string/allocator/char/minimal.cc:
3409 1.1.1.20 mrg Do not require cxx11-abi effective target.
3410 1.1.1.20 mrg * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
3411 1.1.1.20 mrg Likewise.
3412 1.1.1.20 mrg * testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
3413 1.1.1.20 mrg
3414 1.1.1.20 mrg 2020-10-20 Jonathan Wakely <jwakely (a] redhat.com>
3415 1.1.1.20 mrg
3416 1.1.1.20 mrg Backported from master:
3417 1.1.1.20 mrg 2020-10-08 Jonathan Wakely <jwakely (a] redhat.com>
3418 1.1.1.20 mrg
3419 1.1.1.20 mrg * include/bits/ios_base.h (ios_base::failure): Add constructors
3420 1.1.1.20 mrg takeing error_code argument. Add code() member function.
3421 1.1.1.20 mrg * testsuite/27_io/ios_base/failure/cxx11.cc: Allow test to
3422 1.1.1.20 mrg run for the old ABI but do not check for derivation from
3423 1.1.1.20 mrg std::system_error.
3424 1.1.1.20 mrg * testsuite/27_io/ios_base/failure/error_code.cc: New test.
3425 1.1.1.20 mrg
3426 1.1.1.20 mrg 2020-10-20 Nuno Lopes <nuno.lopes (a] ist.utl.pt>
3427 1.1.1.20 mrg
3428 1.1.1.20 mrg Backported from master:
3429 1.1.1.20 mrg 2020-10-13 Nuno Lopes <nuno.lopes (a] ist.utl.pt>
3430 1.1.1.20 mrg
3431 1.1.1.20 mrg * include/bits/stl_algo.h (any_of): Fix incorrect description
3432 1.1.1.20 mrg in comment.
3433 1.1.1.20 mrg
3434 1.1.1.20 mrg 2020-10-20 Jonathan Wakely <jwakely (a] redhat.com>
3435 1.1.1.20 mrg
3436 1.1.1.20 mrg Backported from master:
3437 1.1.1.20 mrg 2020-10-12 Jonathan Wakely <jwakely (a] redhat.com>
3438 1.1.1.20 mrg
3439 1.1.1.20 mrg * include/bits/stl_algobase.h (copy, move, copy_backward)
3440 1.1.1.20 mrg (move_backward): Fix documentation for returned iterator.
3441 1.1.1.20 mrg
3442 1.1.1.20 mrg 2020-10-20 Jonathan Wakely <jwakely (a] redhat.com>
3443 1.1.1.20 mrg
3444 1.1.1.20 mrg Backported from master:
3445 1.1.1.20 mrg 2020-09-24 Jonathan Wakely <jwakely (a] redhat.com>
3446 1.1.1.20 mrg
3447 1.1.1.20 mrg * doc/xml/manual/configure.xml: Correct name of option.
3448 1.1.1.20 mrg * doc/html/*: Regenerate.
3449 1.1.1.20 mrg
3450 1.1.1.20 mrg 2020-10-19 Jonathan Wakely <jwakely (a] redhat.com>
3451 1.1.1.20 mrg
3452 1.1.1.20 mrg Backported from master:
3453 1.1.1.20 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com>
3454 1.1.1.20 mrg
3455 1.1.1.20 mrg PR libstdc++/97132
3456 1.1.1.20 mrg * include/std/memory (assume_aligned): Do not use
3457 1.1.1.20 mrg __builtin_assume_aligned during constant evaluation.
3458 1.1.1.20 mrg * testsuite/20_util/assume_aligned/1.cc: Improve test.
3459 1.1.1.20 mrg * testsuite/20_util/assume_aligned/97132.cc: New test.
3460 1.1.1.20 mrg
3461 1.1.1.20 mrg 2020-10-15 Jonathan Wakely <jwakely (a] redhat.com>
3462 1.1.1.20 mrg
3463 1.1.1.20 mrg Backported from master:
3464 1.1.1.20 mrg 2020-10-15 Jonathan Wakely <jwakely (a] redhat.com>
3465 1.1.1.20 mrg
3466 1.1.1.20 mrg * include/std/concepts: Fix typos in copyright notice.
3467 1.1.1.20 mrg * include/std/ranges: Likewise.
3468 1.1.1.20 mrg
3469 1.1.1.20 mrg 2020-10-15 Jonathan Wakely <jwakely (a] redhat.com>
3470 1.1.1.20 mrg
3471 1.1.1.20 mrg * doc/xml/manual/status_cxx2020.xml: Remove red background for
3472 1.1.1.20 mrg completed feature.
3473 1.1.1.20 mrg * doc/html/manual/status.html: Regenerate.
3474 1.1.1.20 mrg
3475 1.1.1.20 mrg 2020-10-13 Patrick Palka <ppalka (a] redhat.com>
3476 1.1.1.20 mrg
3477 1.1.1.20 mrg Backported from master:
3478 1.1.1.20 mrg 2020-10-08 Patrick Palka <ppalka (a] redhat.com>
3479 1.1.1.20 mrg
3480 1.1.1.20 mrg PR libstdc++/95788
3481 1.1.1.20 mrg * include/bits/ranges_uninitialized.h:
3482 1.1.1.20 mrg (__construct_at_fn::operator()): Rewrite in terms of
3483 1.1.1.20 mrg std::construct_at. Declare it conditionally noexcept. Qualify
3484 1.1.1.20 mrg calls to declval in its requires-clause.
3485 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/construct_at/95788.cc:
3486 1.1.1.20 mrg New test.
3487 1.1.1.20 mrg
3488 1.1.1.20 mrg 2020-10-08 Jonathan Wakely <jwakely (a] redhat.com>
3489 1.1.1.20 mrg
3490 1.1.1.20 mrg Backported from master:
3491 1.1.1.20 mrg 2020-10-07 Jonathan Wakely <jwakely (a] redhat.com>
3492 1.1.1.20 mrg
3493 1.1.1.20 mrg * include/bits/random.h (seed_seq(initializer_list<T>)): Rename
3494 1.1.1.20 mrg parameter to use reserved name.
3495 1.1.1.20 mrg * include/bits/ranges_algo.h (shift_left, shift_right): Rename
3496 1.1.1.20 mrg template parameters to use reserved name.
3497 1.1.1.20 mrg * testsuite/17_intro/names.cc: Check "il". Do not check "d" and
3498 1.1.1.20 mrg "y" in C++20 mode.
3499 1.1.1.20 mrg
3500 1.1.1.20 mrg 2020-10-06 Patrick Palka <ppalka (a] redhat.com>
3501 1.1.1.20 mrg
3502 1.1.1.20 mrg Backported from master:
3503 1.1.1.20 mrg 2020-10-02 Patrick Palka <ppalka (a] redhat.com>
3504 1.1.1.20 mrg
3505 1.1.1.20 mrg * include/bits/stl_iterator.h (reverse_iterator::iter_move):
3506 1.1.1.20 mrg Define for C++20 as per P0896.
3507 1.1.1.20 mrg (reverse_iterator::iter_swap): Likewise.
3508 1.1.1.20 mrg (move_iterator::operator*): Apply P0896 changes for C++20.
3509 1.1.1.20 mrg (move_iterator::operator[]): Likewise.
3510 1.1.1.20 mrg * testsuite/24_iterators/reverse_iterator/cust.cc: New test.
3511 1.1.1.20 mrg
3512 1.1.1.20 mrg 2020-09-22 Jonathan Wakely <jwakely (a] redhat.com>
3513 1.1.1.20 mrg
3514 1.1.1.20 mrg Backported from master:
3515 1.1.1.20 mrg 2020-09-22 Jonathan Wakely <jwakely (a] redhat.com>
3516 1.1.1.20 mrg
3517 1.1.1.20 mrg PR libstdc++/97167
3518 1.1.1.20 mrg * src/c++17/fs_path.cc (path::_Parser::root_path()): Check
3519 1.1.1.20 mrg for empty string before inspecting the first character.
3520 1.1.1.20 mrg * testsuite/27_io/filesystem/path/append/source.cc: Append
3521 1.1.1.20 mrg empty string_view to path.
3522 1.1.1.20 mrg
3523 1.1.1.20 mrg 2020-09-22 Jonathan Wakely <jwakely (a] redhat.com>
3524 1.1.1.20 mrg
3525 1.1.1.20 mrg Backported from master:
3526 1.1.1.20 mrg 2020-09-22 Jonathan Wakely <jwakely (a] redhat.com>
3527 1.1.1.20 mrg
3528 1.1.1.20 mrg PR libstdc++/96803
3529 1.1.1.20 mrg * include/std/tuple
3530 1.1.1.20 mrg (_Tuple_impl(allocator_arg_t, Alloc, const _Tuple_impl<U...>&)):
3531 1.1.1.20 mrg Use correct value category in __use_alloc call.
3532 1.1.1.20 mrg * testsuite/20_util/tuple/cons/96803.cc: Check with constructors
3533 1.1.1.20 mrg that require correct value category to be used.
3534 1.1.1.20 mrg
3535 1.1.1.20 mrg 2020-09-22 Jonathan Wakely <jwakely (a] redhat.com>
3536 1.1.1.20 mrg
3537 1.1.1.20 mrg Backported from master:
3538 1.1.1.20 mrg 2020-08-26 Jonathan Wakely <jwakely (a] redhat.com>
3539 1.1.1.20 mrg
3540 1.1.1.20 mrg PR libstdc++/96803
3541 1.1.1.20 mrg * include/std/tuple
3542 1.1.1.20 mrg (_Tuple_impl(allocator_arg_t, Alloc, const _Tuple_impl<U...>&)):
3543 1.1.1.20 mrg Replace parameter pack with a type parameter and a pack and pass
3544 1.1.1.20 mrg the first type to __use_alloc.
3545 1.1.1.20 mrg * testsuite/20_util/tuple/cons/96803.cc: New test.
3546 1.1.1.20 mrg
3547 1.1.1.20 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com>
3548 1.1.1.20 mrg
3549 1.1.1.20 mrg Backported from master:
3550 1.1.1.20 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com>
3551 1.1.1.20 mrg
3552 1.1.1.20 mrg PR libstdc++/94681
3553 1.1.1.20 mrg * src/c++17/fs_ops.cc (read_symlink): Use posix::lstat instead
3554 1.1.1.20 mrg of calling ::lstat directly.
3555 1.1.1.20 mrg * src/filesystem/ops.cc (read_symlink): Likewise.
3556 1.1.1.20 mrg
3557 1.1.1.20 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com>
3558 1.1.1.20 mrg
3559 1.1.1.20 mrg Backported from master:
3560 1.1.1.20 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com>
3561 1.1.1.20 mrg
3562 1.1.1.20 mrg PR libstdc++/94681
3563 1.1.1.20 mrg * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Do not depend on
3564 1.1.1.20 mrg $enable_libstdcxx_filesystem_ts.
3565 1.1.1.20 mrg * configure: Regenerate.
3566 1.1.1.20 mrg
3567 1.1.1.20 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com>
3568 1.1.1.20 mrg
3569 1.1.1.20 mrg Backported from master:
3570 1.1.1.20 mrg 2020-09-20 Jonathan Wakely <jwakely (a] redhat.com>
3571 1.1.1.20 mrg
3572 1.1.1.20 mrg PR libstdc++/97101
3573 1.1.1.20 mrg * include/std/functional (bind_front): Fix order of parameters
3574 1.1.1.20 mrg in is_nothrow_constructible_v specialization.
3575 1.1.1.20 mrg * testsuite/20_util/function_objects/bind_front/97101.cc: New test.
3576 1.1.1.20 mrg
3577 1.1.1.20 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com>
3578 1.1.1.20 mrg
3579 1.1.1.20 mrg Backported from master:
3580 1.1.1.20 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com>
3581 1.1.1.20 mrg
3582 1.1.1.20 mrg PR libstdc++/94160
3583 1.1.1.20 mrg * src/c++17/memory_resource.cc (munge_options): Round
3584 1.1.1.20 mrg max_blocks_per_chunk to a multiple of four.
3585 1.1.1.20 mrg (__pool_resource::_M_alloc_pools()): Simplify slightly.
3586 1.1.1.20 mrg * testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
3587 1.1.1.20 mrg Check that valid pointers are returned when small values are
3588 1.1.1.20 mrg used for max_blocks_per_chunk.
3589 1.1.1.20 mrg
3590 1.1.1.20 mrg 2020-09-03 Jonathan Wakely <jwakely (a] redhat.com>
3591 1.1.1.20 mrg
3592 1.1.1.20 mrg Backported from master:
3593 1.1.1.20 mrg 2020-07-07 Jonathan Wakely <jwakely (a] redhat.com>
3594 1.1.1.20 mrg
3595 1.1.1.20 mrg * include/Makefile.am: Remove bits/int_limits.h.
3596 1.1.1.20 mrg * include/Makefile.in: Regenerate.
3597 1.1.1.20 mrg * include/bits/int_limits.h: Removed.
3598 1.1.1.20 mrg * include/bits/parse_numbers.h (_Select_int_base): Replace
3599 1.1.1.20 mrg __int_limits with __int_traits.
3600 1.1.1.20 mrg * include/bits/range_access.h (_SSize::operator()): Likewise.
3601 1.1.1.20 mrg * include/ext/numeric_traits.h (__numeric_traits_integer): Add
3602 1.1.1.20 mrg static assertion.
3603 1.1.1.20 mrg (__int_traits): New alias template.
3604 1.1.1.20 mrg * include/std/bit (__rotl, __rotr, __countl_zero, __countl_one)
3605 1.1.1.20 mrg (__countr_zero, __countr_one, __popcount, __bit_ceil)
3606 1.1.1.20 mrg (__bit_floor, __bit_width) Replace __int_limits with
3607 1.1.1.20 mrg __int_traits.
3608 1.1.1.20 mrg * include/std/charconv (__to_chars_8, __from_chars_binary)
3609 1.1.1.20 mrg (__from_chars_alpha_to_num, from_chars): Likewise.
3610 1.1.1.20 mrg * include/std/memory_resource (polymorphic_allocator::allocate)
3611 1.1.1.20 mrg (polymorphic_allocator::allocate_object): Likewise.
3612 1.1.1.20 mrg * include/std/string_view (basic_string_view::_S_compare):
3613 1.1.1.20 mrg Likewise.
3614 1.1.1.20 mrg * include/std/utility (cmp_equal, cmp_less, in_range): Likewise.
3615 1.1.1.20 mrg
3616 1.1.1.20 mrg 2020-09-02 Jonathan Wakely <jwakely (a] redhat.com>
3617 1.1.1.20 mrg
3618 1.1.1.20 mrg Backported from master:
3619 1.1.1.20 mrg 2020-08-28 Jonathan Wakely <jwakely (a] redhat.com>
3620 1.1.1.20 mrg
3621 1.1.1.20 mrg PR libstdc++/92978
3622 1.1.1.20 mrg * include/std/numeric (__abs_integral): Replace with ...
3623 1.1.1.20 mrg (__detail::__absu): New function template that returns an
3624 1.1.1.20 mrg unsigned type, guaranteeing it can represent the most
3625 1.1.1.20 mrg negative signed value.
3626 1.1.1.20 mrg (__detail::__gcd, __detail::__lcm): Require arguments to
3627 1.1.1.20 mrg be unsigned and therefore already non-negative.
3628 1.1.1.20 mrg (gcd, lcm): Convert arguments to absolute value as unsigned
3629 1.1.1.20 mrg type before calling __detail::__gcd or __detail::__lcm.
3630 1.1.1.20 mrg * include/experimental/numeric (gcd, lcm): Likewise.
3631 1.1.1.20 mrg * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust expected
3632 1.1.1.20 mrg errors.
3633 1.1.1.20 mrg * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
3634 1.1.1.20 mrg * testsuite/26_numerics/gcd/92978.cc: New test.
3635 1.1.1.20 mrg * testsuite/26_numerics/lcm/92978.cc: New test.
3636 1.1.1.20 mrg * testsuite/experimental/numeric/92978.cc: New test.
3637 1.1.1.20 mrg
3638 1.1.1.20 mrg 2020-09-02 Jonathan Wakely <jwakely (a] redhat.com>
3639 1.1.1.20 mrg
3640 1.1.1.20 mrg Backported from master:
3641 1.1.1.20 mrg 2020-09-02 Jonathan Wakely <jwakely (a] redhat.com>
3642 1.1.1.20 mrg
3643 1.1.1.20 mrg PR libstdc++/96851
3644 1.1.1.20 mrg * include/bits/cpp_type_traits.h (__is_memcmp_ordered):
3645 1.1.1.20 mrg New trait that says if memcmp can be used for ordering.
3646 1.1.1.20 mrg (__is_memcmp_ordered_with): Likewise, for two types.
3647 1.1.1.20 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn):
3648 1.1.1.20 mrg Use new traits instead of __is_byte and __numeric_traits.
3649 1.1.1.20 mrg * include/bits/stl_algobase.h (__lexicographical_compare_aux1)
3650 1.1.1.20 mrg (__is_byte_iter): Likewise.
3651 1.1.1.20 mrg * include/std/array (operator<=>): Likewise. Only use memcmp
3652 1.1.1.20 mrg when std::is_constant_evaluated() is false.
3653 1.1.1.20 mrg * testsuite/23_containers/array/comparison_operators/96851.cc:
3654 1.1.1.20 mrg New test.
3655 1.1.1.20 mrg * testsuite/23_containers/array/tuple_interface/get_neg.cc:
3656 1.1.1.20 mrg Adjust dg-error line numbers.
3657 1.1.1.20 mrg
3658 1.1.1.20 mrg 2020-09-02 Jonathan Wakely <jwakely (a] redhat.com>
3659 1.1.1.20 mrg
3660 1.1.1.20 mrg * include/bits/stl_iterator.h (counted_iterator::operator++(int)):
3661 1.1.1.20 mrg Use __throw_exception_again macro.
3662 1.1.1.20 mrg
3663 1.1.1.20 mrg 2020-08-26 Jonathan Wakely <jwakely (a] redhat.com>
3664 1.1.1.20 mrg
3665 1.1.1.20 mrg Backported from master:
3666 1.1.1.20 mrg 2020-08-26 Jonathan Wakely <jwakely (a] redhat.com>
3667 1.1.1.20 mrg
3668 1.1.1.20 mrg PR libstdc++/71960
3669 1.1.1.20 mrg * include/experimental/string_view (basic_string_view):
3670 1.1.1.20 mrg Enable debug assertions.
3671 1.1.1.20 mrg * include/std/string_view (basic_string_view):
3672 1.1.1.20 mrg Likewise.
3673 1.1.1.20 mrg
3674 1.1.1.20 mrg 2020-08-26 Jonathan Wakely <jwakely (a] redhat.com>
3675 1.1.1.20 mrg
3676 1.1.1.20 mrg Backported from master:
3677 1.1.1.20 mrg 2020-08-24 Jonathan Wakely <jwakely (a] redhat.com>
3678 1.1.1.20 mrg
3679 1.1.1.20 mrg PR libstdc++/96766
3680 1.1.1.20 mrg * include/std/variant (_Variant_storage): Replace implicit
3681 1.1.1.20 mrg conversions from size_t to __index_type with explicit casts.
3682 1.1.1.20 mrg
3683 1.1.1.20 mrg 2020-08-21 Jonathan Wakely <jwakely (a] redhat.com>
3684 1.1.1.20 mrg
3685 1.1.1.20 mrg Backported from master:
3686 1.1.1.20 mrg 2020-08-21 Jonathan Wakely <jwakely (a] redhat.com>
3687 1.1.1.20 mrg
3688 1.1.1.20 mrg PR libstdc++/96718
3689 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test-2.cc: Require
3690 1.1.1.20 mrg tbb-backend effective target.
3691 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise.
3692 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise.
3693 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test.cc: Likewise.
3694 1.1.1.20 mrg
3695 1.1.1.20 mrg 2020-08-19 Jonathan Wakely <jwakely (a] redhat.com>
3696 1.1.1.20 mrg
3697 1.1.1.20 mrg Backported from master:
3698 1.1.1.20 mrg 2020-08-19 Jonathan Wakely <jwakely (a] redhat.com>
3699 1.1.1.20 mrg
3700 1.1.1.20 mrg * include/bits/c++config (_GLIBCXX_DEPRECATED_SUGGEST): New
3701 1.1.1.20 mrg macro for "use 'foo' instead" message in deprecated warnings.
3702 1.1.1.20 mrg * include/bits/ios_base.h (io_state, open_mode, seek_dir)
3703 1.1.1.20 mrg (streampos, streamoff): Use _GLIBCXX_DEPRECATED_SUGGEST.
3704 1.1.1.20 mrg * include/std/streambuf (stossc): Replace C++11 attribute
3705 1.1.1.20 mrg with _GLIBCXX_DEPRECATED_SUGGEST.
3706 1.1.1.20 mrg * include/std/type_traits (__is_nullptr_t): Use
3707 1.1.1.20 mrg _GLIBCXX_DEPRECATED_SUGGEST instead of _GLIBCXX_DEPRECATED.
3708 1.1.1.20 mrg * testsuite/27_io/types/1.cc: Check for deprecated warnings.
3709 1.1.1.20 mrg Also check for io_state, open_mode and seek_dir typedefs.
3710 1.1.1.20 mrg
3711 1.1.1.20 mrg 2020-08-11 Jonathan Wakely <jwakely (a] redhat.com>
3712 1.1.1.20 mrg
3713 1.1.1.20 mrg PR libstdc++/89760
3714 1.1.1.20 mrg * testsuite/experimental/net/execution_context/make_service.cc:
3715 1.1.1.20 mrg Add dg-require-gthreads.
3716 1.1.1.20 mrg * testsuite/experimental/net/executor/1.cc: Likewise.
3717 1.1.1.20 mrg * testsuite/experimental/net/headers.cc: Likewise.
3718 1.1.1.20 mrg * testsuite/experimental/net/internet/address/v4/comparisons.cc:
3719 1.1.1.20 mrg Likewise.
3720 1.1.1.20 mrg * testsuite/experimental/net/internet/address/v4/cons.cc:
3721 1.1.1.20 mrg Likewise.
3722 1.1.1.20 mrg * testsuite/experimental/net/internet/address/v4/creation.cc:
3723 1.1.1.20 mrg Likewise.
3724 1.1.1.20 mrg * testsuite/experimental/net/internet/address/v4/members.cc:
3725 1.1.1.20 mrg Likewise.
3726 1.1.1.20 mrg * testsuite/experimental/net/internet/resolver/base.cc:
3727 1.1.1.20 mrg Likewise.
3728 1.1.1.20 mrg * testsuite/experimental/net/internet/resolver/ops/lookup.cc:
3729 1.1.1.20 mrg Likewise.
3730 1.1.1.20 mrg * testsuite/experimental/net/internet/resolver/ops/reverse.cc:
3731 1.1.1.20 mrg Likewise.
3732 1.1.1.20 mrg * testsuite/experimental/net/socket/basic_socket.cc: Likewise.
3733 1.1.1.20 mrg * testsuite/experimental/net/timer/waitable/cons.cc: Likewise.
3734 1.1.1.20 mrg * testsuite/experimental/net/timer/waitable/dest.cc: Likewise.
3735 1.1.1.20 mrg * testsuite/experimental/net/timer/waitable/ops.cc: Likewise.
3736 1.1.1.20 mrg
3737 1.1.1.20 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com>
3738 1.1.1.20 mrg
3739 1.1.1.20 mrg Backported from master:
3740 1.1.1.20 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com>
3741 1.1.1.20 mrg
3742 1.1.1.20 mrg PR libstdc++/95749
3743 1.1.1.20 mrg * src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
3744 1.1.1.20 mrg (stat_type): Change to __stat64.
3745 1.1.1.20 mrg (stat): Use _wstat64.
3746 1.1.1.20 mrg
3747 1.1.1.20 mrg 2020-08-07 Jonathan Wakely <jwakely (a] redhat.com>
3748 1.1.1.20 mrg
3749 1.1.1.20 mrg Backported from master:
3750 1.1.1.20 mrg 2020-08-07 Jonathan Wakely <jwakely (a] redhat.com>
3751 1.1.1.20 mrg
3752 1.1.1.20 mrg PR libstdc++/96303
3753 1.1.1.20 mrg * include/debug/bitset (bitset::operator==): Call _M_base() on
3754 1.1.1.20 mrg right operand.
3755 1.1.1.20 mrg (bitset::operator!=): Likewise, but don't define it at all when
3756 1.1.1.20 mrg default comparisons are supported by the compiler.
3757 1.1.1.20 mrg * testsuite/23_containers/bitset/operations/96303.cc: New test.
3758 1.1.1.20 mrg
3759 1.1.1.20 mrg 2020-08-06 Jonathan Wakely <jwakely (a] redhat.com>
3760 1.1.1.20 mrg
3761 1.1.1.20 mrg Backported from master:
3762 1.1.1.20 mrg 2020-08-06 Jonathan Wakely <jwakely (a] redhat.com>
3763 1.1.1.20 mrg
3764 1.1.1.20 mrg PR libstdc++/96484
3765 1.1.1.20 mrg * src/c++17/fs_ops.cc (fs::read_symlink): Return an error
3766 1.1.1.20 mrg immediately for non-symlinks.
3767 1.1.1.20 mrg * src/filesystem/ops.cc (fs::read_symlink): Likewise.
3768 1.1.1.20 mrg
3769 1.1.1.20 mrg 2020-07-23 Release Manager
3770 1.1.1.20 mrg
3771 1.1.1.20 mrg * GCC 10.2.0 released.
3772 1.1.1.20 mrg
3773 1.1.1.20 mrg 2020-07-09 Jonathan Wakely <jwakely (a] redhat.com>
3774 1.1.1.20 mrg
3775 1.1.1.20 mrg Backported from master:
3776 1.1.1.20 mrg 2020-06-08 Jonathan Wakely <jwakely (a] redhat.com>
3777 1.1.1.20 mrg
3778 1.1.1.20 mrg * include/bits/unique_ptr.h (operator<<): Define for C++20.
3779 1.1.1.20 mrg * testsuite/20_util/unique_ptr/io/lwg2948.cc: New test.
3780 1.1.1.20 mrg * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error
3781 1.1.1.20 mrg line number.
3782 1.1.1.20 mrg * testsuite/20_util/default_delete/void_neg.cc: Likewise.
3783 1.1.1.20 mrg
3784 1.1.1.20 mrg 2020-07-09 Jonathan Wakely <jwakely (a] redhat.com>
3785 1.1.1.20 mrg
3786 1.1.1.20 mrg Backported from master:
3787 1.1.1.20 mrg 2020-05-27 Jonathan Wakely <jwakely (a] redhat.com>
3788 1.1.1.20 mrg
3789 1.1.1.20 mrg PR libstdc++/95322
3790 1.1.1.20 mrg * include/std/ranges (transform_view::_Sentinel): Allow hidden
3791 1.1.1.20 mrg friends to work with _Iterator<true> and _Iterator<false>.
3792 1.1.1.20 mrg (join_view::_Sentinel): Likewise.
3793 1.1.1.20 mrg * testsuite/std/ranges/adaptors/95322.cc: New test.
3794 1.1.1.20 mrg
3795 1.1.1.20 mrg 2020-07-09 Jonathan Wakely <jwakely (a] redhat.com>
3796 1.1.1.20 mrg
3797 1.1.1.20 mrg Backported from master:
3798 1.1.1.20 mrg 2020-05-04 Jonathan Wakely <jwakely (a] redhat.com>
3799 1.1.1.20 mrg
3800 1.1.1.20 mrg PR libstdc++/94936
3801 1.1.1.20 mrg * src/c++17/memory_resource.cc (synchronized_pool_resource::_TPools):
3802 1.1.1.20 mrg Add comment about single-threaded behaviour.
3803 1.1.1.20 mrg (synchronized_pool_resource::_TPools::move_nonempty_chunks()): Hoist
3804 1.1.1.20 mrg class member access out of loop.
3805 1.1.1.20 mrg (synchronized_pool_resource::synchronized_pool_resource())
3806 1.1.1.20 mrg (synchronized_pool_resource::~synchronized_pool_resource())
3807 1.1.1.20 mrg (synchronized_pool_resource::release()): Check __gthread_active_p
3808 1.1.1.20 mrg before creating and/or deleting the thread-specific data key.
3809 1.1.1.20 mrg (synchronized_pool_resource::_M_thread_specific_pools()): Adjust
3810 1.1.1.20 mrg assertions.
3811 1.1.1.20 mrg (synchronized_pool_resource::do_allocate(size_t, size_t)): Add fast
3812 1.1.1.20 mrg path for single-threaded case.
3813 1.1.1.20 mrg (synchronized_pool_resource::do_deallocate(void*, size_t, size_t)):
3814 1.1.1.20 mrg Likewise. Return if unable to find a pool that owns the allocation.
3815 1.1.1.20 mrg * testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
3816 1.1.1.20 mrg New test.
3817 1.1.1.20 mrg * testsuite/20_util/synchronized_pool_resource/cons_single.cc: New
3818 1.1.1.20 mrg test.
3819 1.1.1.20 mrg * testsuite/20_util/synchronized_pool_resource/release_single.cc: New
3820 1.1.1.20 mrg test.
3821 1.1.1.20 mrg
3822 1.1.1.20 mrg 2020-07-09 Jonathan Wakely <jwakely (a] redhat.com>
3823 1.1.1.20 mrg
3824 1.1.1.20 mrg Backported from master:
3825 1.1.1.20 mrg 2020-05-19 Jonathan Wakely <jwakely (a] redhat.com>
3826 1.1.1.20 mrg
3827 1.1.1.20 mrg PR libstdc++/94087
3828 1.1.1.20 mrg * src/c++11/random.cc (__x86_rdseed): Allow fallback function to be
3829 1.1.1.20 mrg passed in.
3830 1.1.1.20 mrg (__x86_rdseed_rdrand): New function that uses rdseed with rdrand
3831 1.1.1.20 mrg fallback.
3832 1.1.1.20 mrg (random_device::_M_init): Use __x86_rdseed_rdrand when both
3833 1.1.1.20 mrg instructions are available.
3834 1.1.1.20 mrg * testsuite/26_numerics/random/random_device/94087.cc: New test.
3835 1.1.1.20 mrg
3836 1.1.1.20 mrg 2020-07-02 Ville Voutilainen <ville.voutilainen (a] gmail.com>
3837 1.1.1.20 mrg
3838 1.1.1.20 mrg Backported from master:
3839 1.1.1.20 mrg 2020-07-02 Ville Voutilainen <ville.voutilainen (a] gmail.com>
3840 1.1.1.20 mrg
3841 1.1.1.20 mrg PR libstdc++/91807
3842 1.1.1.20 mrg * include/std/variant
3843 1.1.1.20 mrg (_Copy_assign_base::operator=(const _Copy_assign_base&):
3844 1.1.1.20 mrg Do the move-assignment from a temporary so that the temporary
3845 1.1.1.20 mrg is constructed with an explicit index.
3846 1.1.1.20 mrg * testsuite/20_util/variant/91807.cc: New.
3847 1.1.1.20 mrg
3848 1.1.1.20 mrg 2020-07-02 Jonathan Wakely <jwakely.gcc (a] gmail.com>
3849 1.1.1.20 mrg
3850 1.1.1.20 mrg Backported from master:
3851 1.1.1.20 mrg 2020-07-02 Jonathan Wakely <jwakely.gcc (a] gmail.com>
3852 1.1.1.20 mrg
3853 1.1.1.20 mrg PR libstdc++/91153
3854 1.1.1.20 mrg PR target/93224
3855 1.1.1.20 mrg * testsuite/29_atomics/atomic_float/1.cc: Use different values
3856 1.1.1.20 mrg for tests.
3857 1.1.1.20 mrg * testsuite/29_atomics/atomic_ref/float.cc: Likewise.
3858 1.1.1.20 mrg
3859 1.1.1.20 mrg 2020-07-01 Jonathan Wakely <jwakely (a] redhat.com>
3860 1.1.1.20 mrg
3861 1.1.1.20 mrg Backported from master:
3862 1.1.1.20 mrg 2020-06-16 Jonathan Wakely <jwakely (a] redhat.com>
3863 1.1.1.20 mrg
3864 1.1.1.20 mrg PR libstdc++/95282
3865 1.1.1.20 mrg * include/bits/atomic_base.h (__atomic_impl::load): Add
3866 1.1.1.20 mrg const-qualifier to parameter so that _Tp is deduced as the
3867 1.1.1.20 mrg non-const type, and use _Val to get the unqualified type.
3868 1.1.1.20 mrg (__atomic_impl::exchange): Use the _Val alias to remove
3869 1.1.1.20 mrg volatile from the reinterpret_cast result type.
3870 1.1.1.20 mrg * testsuite/29_atomics/atomic_float/95282.cc: New test.
3871 1.1.1.20 mrg
3872 1.1.1.20 mrg 2020-07-01 Jonathan Wakely <jwakely (a] redhat.com>
3873 1.1.1.20 mrg
3874 1.1.1.20 mrg Backported from master:
3875 1.1.1.20 mrg 2020-07-01 Jonathan Wakely <jwakely (a] redhat.com>
3876 1.1.1.20 mrg
3877 1.1.1.20 mrg PR libstdc++/94627
3878 1.1.1.20 mrg * include/bits/regex.h (operator==, operator!=): Remove noexcept
3879 1.1.1.20 mrg equality comparisons for match_results.
3880 1.1.1.20 mrg * testsuite/28_regex/match_results/94627.cc: New test.
3881 1.1.1.20 mrg
3882 1.1.1.20 mrg 2020-06-29 Ville Voutilainen <ville.voutilainen (a] gmail.com>
3883 1.1.1.20 mrg
3884 1.1.1.20 mrg Backported from master:
3885 1.1.1.20 mrg 2020-06-28 Ville Voutilainen <ville.voutilainen (a] gmail.com>
3886 1.1.1.20 mrg
3887 1.1.1.20 mrg PR libstdc++/95915
3888 1.1.1.20 mrg * include/std/variant (_Uninitialized):
3889 1.1.1.20 mrg Adjust the condition and the comment.
3890 1.1.1.20 mrg * testsuite/20_util/variant/95915.cc: New.
3891 1.1.1.20 mrg * testsuite/20_util/variant/compile.cc: Add new test.
3892 1.1.1.20 mrg
3893 1.1.1.20 mrg 2020-06-24 Jonathan Wakely <jwakely (a] redhat.com>
3894 1.1.1.20 mrg
3895 1.1.1.20 mrg Backported from master:
3896 1.1.1.20 mrg 2020-06-24 Jonathan Wakely <jwakely (a] redhat.com>
3897 1.1.1.20 mrg
3898 1.1.1.20 mrg * include/std/charconv (__from_chars_binary): Ignore leading zeros.
3899 1.1.1.20 mrg * testsuite/20_util/from_chars/1.cc: Check "0x1" for all bases,
3900 1.1.1.20 mrg not just 10 and 16.
3901 1.1.1.20 mrg * testsuite/20_util/from_chars/3.cc: New test.
3902 1.1.1.20 mrg
3903 1.1.1.20 mrg 2020-06-24 Jonathan Wakely <jwakely (a] redhat.com>
3904 1.1.1.20 mrg
3905 1.1.1.20 mrg Backported from master:
3906 1.1.1.20 mrg 2020-06-24 Jonathan Wakely <jwakely (a] redhat.com>
3907 1.1.1.20 mrg
3908 1.1.1.20 mrg * include/bits/stl_algobase.h (__find_if): Add FALLTHRU markers.
3909 1.1.1.20 mrg * include/std/charconv (__detail::__to_chars): Avoid
3910 1.1.1.20 mrg -Wsign-compare warning.
3911 1.1.1.20 mrg
3912 1.1.1.20 mrg 2020-06-24 Jonathan Wakely <jwakely (a] redhat.com>
3913 1.1.1.20 mrg
3914 1.1.1.20 mrg Backported from master:
3915 1.1.1.20 mrg 2020-06-24 Jonathan Wakely <jwakely (a] redhat.com>
3916 1.1.1.20 mrg
3917 1.1.1.20 mrg PR libstdc++/95851
3918 1.1.1.20 mrg * include/std/charconv (__to_chars_i): Check for zero-sized
3919 1.1.1.20 mrg buffer unconditionally.
3920 1.1.1.20 mrg * testsuite/20_util/to_chars/95851.cc: New test.
3921 1.1.1.20 mrg
3922 1.1.1.20 mrg 2020-06-22 Jason Merrill <jason (a] redhat.com>
3923 1.1.1.20 mrg
3924 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc:
3925 1.1.1.20 mrg Remove greedy_ops tests.
3926 1.1.1.20 mrg * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc:
3927 1.1.1.20 mrg Remove greedy_ops tests.
3928 1.1.1.20 mrg
3929 1.1.1.20 mrg 2020-06-11 Patrick Palka <ppalka (a] redhat.com>
3930 1.1.1.20 mrg
3931 1.1.1.20 mrg PR libstdc++/95578
3932 1.1.1.20 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn):
3933 1.1.1.20 mrg Also check that the iterator and sentinel have the same type before
3934 1.1.1.20 mrg applying the unwrapping optimization for __normal_iterator.
3935 1.1.1.20 mrg Split the check into two, one for the first iterator/sentinel
3936 1.1.1.20 mrg pair and another for second iterator/sentinel pair. Remove uses
3937 1.1.1.20 mrg of __niter_base, and remove uses of std::move on a
3938 1.1.1.20 mrg __normal_iterator.
3939 1.1.1.20 mrg * include/bits/ranges_algobase.h (__equal_fn): Likewise.
3940 1.1.1.20 mrg (__copy_or_move): Likewise. Perform similar adjustments for
3941 1.1.1.20 mrg the reverse_iterator and move_iterator optimizations. Inline
3942 1.1.1.20 mrg the checks into the if-constexprs, and use using-declarations to
3943 1.1.1.20 mrg make them less visually noisy. Remove uses of __niter_wrap.
3944 1.1.1.20 mrg (__copy_or_move_backward): Likewise.
3945 1.1.1.20 mrg * testsuite/25_algorithms/copy/95578.cc: New test.
3946 1.1.1.20 mrg * testsuite/25_algorithms/copy_backward/95578.cc: New test.
3947 1.1.1.20 mrg * testsuite/25_algorithms/equal/95578.cc: New test.
3948 1.1.1.20 mrg * testsuite/25_algorithms/lexicographical_compare/95578.cc: New test.
3949 1.1.1.20 mrg * testsuite/25_algorithms/move/95578.cc: New test.
3950 1.1.1.20 mrg * testsuite/25_algorithms/move_backward/95578.cc: New test.
3951 1.1.1.20 mrg
3952 1.1.1.20 mrg 2020-05-28 Patrick Palka <ppalka (a] redhat.com>
3953 1.1.1.20 mrg
3954 1.1.1.20 mrg PR libstdc++/95322
3955 1.1.1.20 mrg * include/bits/stl_iterator.h (__detail::_Common_iter_proxy):
3956 1.1.1.20 mrg Remove and instead define it ...
3957 1.1.1.20 mrg (common_iterator::_Proxy): ... here.
3958 1.1.1.20 mrg (common_iterator::operator->): Use it.
3959 1.1.1.20 mrg * testsuite/24_iterators/common_iterator/2.cc: New test.
3960 1.1.1.20 mrg * testsuite/std/ranges/adaptors/95322.cc: New test.
3961 1.1.1.20 mrg
3962 1.1.1.20 mrg 2020-05-26 Alexandre Oliva <oliva (a] adacore.com>
3963 1.1.1.20 mrg
3964 1.1.1.20 mrg PR libstdc++/77691
3965 1.1.1.20 mrg * include/experimental/memory_resource
3966 1.1.1.20 mrg (__resource_adaptor_imp::do_allocate): Handle max_align_t on
3967 1.1.1.20 mrg x86-vxworks as on x86-solaris.
3968 1.1.1.20 mrg (__resource_adaptor_imp::do_deallocate): Likewise.
3969 1.1.1.20 mrg * testsuite/experimental/memory_resource/new_delete_resource.cc:
3970 1.1.1.20 mrg Drop xfail.
3971 1.1.1.20 mrg (BAD_MAX_ALIGN_T): Define on x86-vxworks as on x86-solaris.
3972 1.1.1.20 mrg (test03): Drop max-align test for char-aligned alloc.
3973 1.1.1.20 mrg
3974 1.1.1.20 mrg 2020-05-23 Jonathan Wakely <jwakely (a] redhat.com>
3975 1.1.1.20 mrg
3976 1.1.1.20 mrg Backport from mainline
3977 1.1.1.20 mrg 2020-05-23 Jonathan Wakely <jwakely (a] redhat.com>
3978 1.1.1.20 mrg
3979 1.1.1.20 mrg * include/bits/fs_path.h (__detail::_S_range_begin)
3980 1.1.1.20 mrg (__detail::_S_range_end): Remove unintentional static specifiers.
3981 1.1.1.20 mrg * include/experimental/bits/fs_path.h (__detail::_S_range_begin)
3982 1.1.1.20 mrg (__detail::_S_range_end): Likewise.
3983 1.1.1.20 mrg
3984 1.1.1.20 mrg 2020-05-23 Jonathan Wakely <jwakely (a] redhat.com>
3985 1.1.1.20 mrg
3986 1.1.1.20 mrg Backport from mainline
3987 1.1.1.20 mrg 2020-05-23 Jonathan Wakely <jwakely (a] redhat.com>
3988 1.1.1.20 mrg
3989 1.1.1.20 mrg PR libstdc++/95289
3990 1.1.1.20 mrg * include/debug/helper_functions.h (__get_distance): Only declare
3991 1.1.1.20 mrg as a constexpr function for C++14 and up.
3992 1.1.1.20 mrg * testsuite/25_algorithms/copy/debug/95289.cc: New test.
3993 1.1.1.20 mrg
3994 1.1.1.20 mrg 2020-05-21 Jonathan Wakely <jwakely (a] redhat.com>
3995 1.1.1.20 mrg
3996 1.1.1.20 mrg Backport from mainline
3997 1.1.1.20 mrg 2020-05-21 Jonathan Wakely <jwakely (a] redhat.com>
3998 1.1.1.20 mrg
3999 1.1.1.20 mrg * include/experimental/executor (use_future_t::use_future_t()): Fix
4000 1.1.1.20 mrg incorrect noexcept-specifier.
4001 1.1.1.20 mrg * include/experimental/internet (basic_resolver_results): Adjust
4002 1.1.1.20 mrg whitespace.
4003 1.1.1.20 mrg * include/experimental/socket (__basic_socket_impl::release): Add
4004 1.1.1.20 mrg member function.
4005 1.1.1.20 mrg (basic_socket(io_context&, const endpoint_type&)): Fix argument to
4006 1.1.1.20 mrg target constructor.
4007 1.1.1.20 mrg (basic_socket::release(), basic_socket::release(error_code&)): Add
4008 1.1.1.20 mrg missing member functions.
4009 1.1.1.20 mrg (basic_socket::is_open()): Add nodiscard attribute.
4010 1.1.1.20 mrg (basic_socket::close(error_code&)): Pass argument to base function.
4011 1.1.1.20 mrg (basic_socket_acceptor::release())
4012 1.1.1.20 mrg (basic_socket_acceptor::release(error_code&)): Add missing member
4013 1.1.1.20 mrg functions.
4014 1.1.1.20 mrg (basic_socket_acceptor::is_open()): Add nodiscard attribute.
4015 1.1.1.20 mrg (basic_socket_streambuf::error()): Add noexcept.
4016 1.1.1.20 mrg (basic_socket_iostream::error()): Likewise.
4017 1.1.1.20 mrg * testsuite/experimental/net/socket/basic_socket.cc: New test.
4018 1.1.1.20 mrg
4019 1.1.1.20 mrg 2020-05-21 Jonathan Wakely <jwakely (a] redhat.com>
4020 1.1.1.20 mrg
4021 1.1.1.20 mrg Backport from mainline
4022 1.1.1.20 mrg 2020-05-21 Jonathan Wakely <jwakely (a] redhat.com>
4023 1.1.1.20 mrg
4024 1.1.1.20 mrg PR libstdc++/93983
4025 1.1.1.20 mrg * include/bits/iterator_concepts.h (__detail::__cpp17_iterator):
4026 1.1.1.20 mrg Reorder constraints to avoid recursion when constructors use
4027 1.1.1.20 mrg iterator_traits (LWG 3420).
4028 1.1.1.20 mrg * testsuite/24_iterators/customization_points/lwg3420.cc: New test.
4029 1.1.1.20 mrg
4030 1.1.1.20 mrg 2020-05-12 Jonathan Wakely <jwakely (a] redhat.com>
4031 1.1.1.20 mrg
4032 1.1.1.20 mrg Backport from mainline
4033 1.1.1.20 mrg 2020-05-04 Jonathan Wakely <jwakely (a] redhat.com>
4034 1.1.1.20 mrg
4035 1.1.1.20 mrg PR libstdc++/94906
4036 1.1.1.20 mrg * src/c++17/memory_resource.cc
4037 1.1.1.20 mrg (monotonic_buffer_resource::_Chunk::release): Use size_t for shift
4038 1.1.1.20 mrg operands.
4039 1.1.1.20 mrg
4040 1.1.1.20 mrg Backport from mainline
4041 1.1.1.20 mrg 2020-05-03 Jonathan Wakely <jwakely (a] redhat.com>
4042 1.1.1.20 mrg
4043 1.1.1.20 mrg PR libstdc++/94933
4044 1.1.1.20 mrg * include/bits/stl_algobase.h (__fill_a1): Make overload for byte types
4045 1.1.1.20 mrg usable in constant expressions.
4046 1.1.1.20 mrg * testsuite/25_algorithms/fill_n/constexpr.cc: Test with bytes and
4047 1.1.1.20 mrg non-scalars.
4048 1.1.1.20 mrg
4049 1.1.1.20 mrg 2020-05-07 Jonathan Wakely <jwakely (a] redhat.com>
4050 1.1.1.20 mrg
4051 1.1.1.20 mrg Backport from mainline
4052 1.1.1.20 mrg 2020-05-01 Jonathan Wakely <jwakely (a] redhat.com>
4053 1.1.1.20 mrg Patrick Palka <ppalka (a] redhat.com>
4054 1.1.1.20 mrg
4055 1.1.1.20 mrg PR libstdc++/92894
4056 1.1.1.20 mrg * include/bits/iterator_concepts.h (ranges::__cust_imove::_IMove):
4057 1.1.1.20 mrg Add trait to determine return type and an alias for it.
4058 1.1.1.20 mrg (ranges::__cust_imove::_IMove::operator()): Use __result instead of
4059 1.1.1.20 mrg deduced return type.
4060 1.1.1.20 mrg * testsuite/24_iterators/customization_points/92894.cc: New test.
4061 1.1.1.20 mrg * testsuite/24_iterators/indirect_callable/92894.cc: New test.
4062 1.1.1.20 mrg
4063 1.1.1.20 mrg 2020-05-07 Release Manager
4064 1.1.1.20 mrg
4065 1.1.1.20 mrg * GCC 10.1.0 released.
4066 1.1.1.20 mrg
4067 1.1.1.20 mrg 2020-05-07 Eric Botcazou <ebotcazou (a] adacore.com>
4068 1.1.1.20 mrg
4069 1.1.1.20 mrg * config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: Update.
4070 1.1.1.20 mrg * config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: Likewise.
4071 1.1.1.20 mrg
4072 1.1.1.20 mrg 2020-05-06 H.J. Lu <hongjiu.lu (a] intel.com>
4073 1.1.1.20 mrg
4074 1.1.1.20 mrg * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
4075 1.1.1.20 mrg
4076 1.1.1.20 mrg 2020-05-06 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
4077 1.1.1.20 mrg
4078 1.1.1.20 mrg * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
4079 1.1.1.20 mrg * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
4080 1.1.1.20 mrg Likewise.
4081 1.1.1.20 mrg * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
4082 1.1.1.20 mrg * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
4083 1.1.1.20 mrg Likewise.
4084 1.1.1.20 mrg
4085 1.1.1.20 mrg 2020-05-06 Jonathan Wakely <jwakely (a] redhat.com>
4086 1.1.1.20 mrg
4087 1.1.1.20 mrg * doc/xml/manual/abi.xml (abi.versioning.history): Document library
4088 1.1.1.20 mrg versions for GCC 9.[123] and 10.1 releases.
4089 1.1.1.20 mrg * doc/html/*: Regenerate.
4090 1.1.1.20 mrg
4091 1.1.1.20 mrg 2020-05-06 Jakub Jelinek <jakub (a] redhat.com>
4092 1.1.1.20 mrg
4093 1.1.1.20 mrg * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
4094 1.1.1.20 mrg * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
4095 1.1.1.20 mrg * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
4096 1.1.1.19 mrg * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
4097 1.1.1.19 mrg * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
4098 1.1.1.19 mrg * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
4099 1.1.1.19 mrg * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
4100 1.1.1.19 mrg
4101 1.1.1.20 mrg 2020-05-04 Jonathan Wakely <jwakely (a] redhat.com>
4102 1.1.1.20 mrg
4103 1.1.1.20 mrg * doc/xml/faq.xml: Use working link for SGI STL FAQ.
4104 1.1.1.20 mrg * doc/html/*: Regenerate.
4105 1.1.1.20 mrg
4106 1.1.1.20 mrg 2020-05-01 Jonathan Wakely <jwakely (a] redhat.com>
4107 1.1.1.20 mrg
4108 1.1.1.20 mrg Backport from mainline
4109 1.1.1.20 mrg 2020-05-01 Jonathan Wakely <jwakely (a] redhat.com>
4110 1.1.1.20 mrg
4111 1.1.1.20 mrg PR libstdc++/94901
4112 1.1.1.20 mrg * include/std/type_traits (__is_complete_or_unbounded): Replace
4113 1.1.1.20 mrg BADNAME _T with _Tp.
4114 1.1.1.20 mrg * testsuite/17_intro/badnames.cc: New test.
4115 1.1.1.20 mrg
4116 1.1.1.20 mrg 2020-04-30 Jonathan Wakely <jwakely (a] redhat.com>
4117 1.1.1.20 mrg
4118 1.1.1.20 mrg PR libstdc++/89510
4119 1.1.1.20 mrg * include/bits/alloc_traits.h (allocator_traits::_S_construct)
4120 1.1.1.20 mrg (allocator_traits::_S_destroy)
4121 1.1.1.20 mrg (allocator_traits<allocator<T>>::construct): Use traits in
4122 1.1.1.20 mrg noexcept-specifiers.
4123 1.1.1.20 mrg * include/bits/allocator.h (allocator<void>::construct)
4124 1.1.1.20 mrg (allocator<void>::destroy): Likewise.
4125 1.1.1.20 mrg * include/ext/malloc_allocator.h (malloc_allocator::construct)
4126 1.1.1.20 mrg (malloc_allocator::destroy): Likewise.
4127 1.1.1.20 mrg * include/ext/new_allocator.h (new_allocator::construct)
4128 1.1.1.20 mrg (new_allocator::destroy): Likewise.
4129 1.1.1.20 mrg * testsuite/20_util/allocator/89510.cc: New test.
4130 1.1.1.20 mrg * testsuite/ext/malloc_allocator/89510.cc: New test.
4131 1.1.1.20 mrg * testsuite/ext/new_allocator/89510.cc: New test.
4132 1.1.1.20 mrg
4133 1.1.1.20 mrg 2020-04-29 Jonathan Wakely <jwakely (a] redhat.com>
4134 1.1.1.20 mrg
4135 1.1.1.20 mrg PR libstdc++/94854
4136 1.1.1.20 mrg * include/bits/basic_string.tcc: Update comment about explicit
4137 1.1.1.20 mrg instantiations.
4138 1.1.1.20 mrg
4139 1.1.1.20 mrg 2020-04-28 Jonathan Wakely <jwakely (a] redhat.com>
4140 1.1.1.20 mrg
4141 1.1.1.20 mrg PR libstdc++/91480
4142 1.1.1.20 mrg * include/bits/allocator.h (__cpp_lib_allocator_is_always_equal):
4143 1.1.1.20 mrg Remove non-standard macro.
4144 1.1.1.20 mrg * include/bits/stl_iterator.h (__cpp_lib_constexpr_iterator): Define
4145 1.1.1.20 mrg to indicate P1032R1 support.
4146 1.1.1.20 mrg * include/bits/stl_pair.h (__cpp_lib_constexpr_utility): Likewise.
4147 1.1.1.20 mrg * include/std/string_view (__cpp_lib_constexpr_string_view): Likewise.
4148 1.1.1.20 mrg * include/std/tuple (__cpp_lib_constexpr_tuple): Likewise.
4149 1.1.1.20 mrg * include/std/version (__cpp_lib_allocator_is_always_equal): Remove.
4150 1.1.1.20 mrg (__cpp_lib_constexpr_iterator, __cpp_lib_constexpr_string_view)
4151 1.1.1.20 mrg (__cpp_lib_constexpr_tuple, __cpp_lib_constexpr_utility): Define.
4152 1.1.1.20 mrg * testsuite/20_util/function_objects/constexpr_searcher.cc: Check
4153 1.1.1.20 mrg feature test macro.
4154 1.1.1.20 mrg * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: Likewise.
4155 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operations/copy/char/
4156 1.1.1.20 mrg constexpr.cc: Likewise.
4157 1.1.1.20 mrg * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
4158 1.1.1.20 mrg
4159 1.1.1.20 mrg PR libstdc++/94831
4160 1.1.1.20 mrg * include/bits/alloc_traits.h (_S_construct): Restore placement
4161 1.1.1.20 mrg new-expression for C++11/14/17 and call std::construct_at directly
4162 1.1.1.20 mrg for C++20.
4163 1.1.1.20 mrg * include/bits/stl_construct.h (_Construct): Revert to non-constexpr
4164 1.1.1.20 mrg function returning void.
4165 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/
4166 1.1.1.20 mrg uninitialized_value_construct/94831.cc: New test.
4167 1.1.1.20 mrg * testsuite/23_containers/vector/cons/94831.cc: New test.
4168 1.1.1.20 mrg
4169 1.1.1.20 mrg 2020-04-28 Patrick Palka <ppalka (a] redhat.com>
4170 1.1.1.20 mrg
4171 1.1.1.20 mrg LWG 3433 subrange::advance(n) has UB when n < 0
4172 1.1.1.20 mrg * include/std/ranges (subrange::prev): Fix typo.
4173 1.1.1.20 mrg (subrange::advance): Handle a negative argument as per the proposed
4174 1.1.1.20 mrg resolution of LWG 3433.
4175 1.1.1.20 mrg * testsuite/std/ranges/subrange/lwg3433.cc: New test.
4176 1.1.1.20 mrg
4177 1.1.1.20 mrg 2020-04-28 Jonathan Wakely <jwakely (a] redhat.com>
4178 1.1.1.20 mrg Iain Sandoe <iain (a] sandoe.co.uk>
4179 1.1.1.20 mrg
4180 1.1.1.20 mrg PR c++/94759
4181 1.1.1.20 mrg * include/std/coroutine: Implement handing for non-
4182 1.1.1.20 mrg class coroutine return types.
4183 1.1.1.20 mrg
4184 1.1.1.20 mrg 2020-04-24 Jonathan Wakely <jwakely (a] redhat.com>
4185 1.1.1.20 mrg
4186 1.1.1.20 mrg * include/experimental/executor (service_already_exists): Make default
4187 1.1.1.20 mrg constructor public (LWG 3414).
4188 1.1.1.20 mrg * testsuite/experimental/net/execution_context/make_service.cc: Check
4189 1.1.1.20 mrg the service_already_exists can be default constructed.
4190 1.1.1.20 mrg
4191 1.1.1.20 mrg 2020-04-24 Kamlesh Kumar <kamleshbhalui (a] gmail.com>
4192 1.1.1.20 mrg Jonathan Wakely <jwakely (a] redhat.com>
4193 1.1.1.20 mrg
4194 1.1.1.20 mrg PR libstdc++/90415
4195 1.1.1.20 mrg PR libstdc++/92156
4196 1.1.1.20 mrg * include/std/any (any): Rename template parameters for consistency
4197 1.1.1.20 mrg with the standard.
4198 1.1.1.20 mrg (any::_Decay): Rename to _Decay_if_not_any.
4199 1.1.1.20 mrg (any::any(T&&):: Remove is_constructible from constraints. Remove
4200 1.1.1.20 mrg non-standard overload.
4201 1.1.1.20 mrg (any::any(in_place_type_t<T>, Args&&...))
4202 1.1.1.20 mrg (any::any(in_place_type_t<T>, initializer_list<U>, Args&&...))
4203 1.1.1.20 mrg (any::emplace(Args&&...))
4204 1.1.1.20 mrg (any::emplace(initializer_list<U>, Args&&...)):
4205 1.1.1.20 mrg Use decay_t instead of _Decay.
4206 1.1.1.20 mrg * testsuite/20_util/any/cons/90415.cc: New test.
4207 1.1.1.20 mrg * testsuite/20_util/any/cons/92156.cc: New Test.
4208 1.1.1.20 mrg * testsuite/20_util/any/misc/any_cast_neg.cc: Make dg-error directives
4209 1.1.1.20 mrg more robust.
4210 1.1.1.20 mrg * testsuite/20_util/any/modifiers/92156.cc: New test.
4211 1.1.1.20 mrg
4212 1.1.1.20 mrg 2020-04-23 Jonathan Wakely <jwakely (a] redhat.com>
4213 1.1.1.20 mrg
4214 1.1.1.20 mrg * doc/xml/manual/status_cxx2020.xml: Update C++20 status table.
4215 1.1.1.20 mrg * doc/html/*: Regenerate.
4216 1.1.1.20 mrg
4217 1.1.1.20 mrg * include/bits/stl_iterator.h (__cpp_lib_array_constexpr): Revert
4218 1.1.1.20 mrg value for C++17 to 201803L because P0858R0 is supported for C++17.
4219 1.1.1.20 mrg * include/std/version (__cpp_lib_array_constexpr): Likewise.
4220 1.1.1.20 mrg * testsuite/23_containers/array/element_access/constexpr_c++17.cc:
4221 1.1.1.20 mrg Check for value corresponding to P0031R0 features being tested.
4222 1.1.1.20 mrg * testsuite/23_containers/array/requirements/constexpr_iter.cc:
4223 1.1.1.20 mrg Check for value corresponding to P0858R0 features being tested.
4224 1.1.1.20 mrg
4225 1.1.1.20 mrg * include/std/version (__cpp_lib_three_way_comparison): Define for
4226 1.1.1.20 mrg freestanding builds.
4227 1.1.1.20 mrg
4228 1.1.1.20 mrg 2020-04-23 Thomas Rodgers <rodgert (a] appliantology.com>
4229 1.1.1.20 mrg
4230 1.1.1.20 mrg * include/experimental/net/executor (system_context): Mark
4231 1.1.1.20 mrg system_context::system_context() = delete.
4232 1.1.1.20 mrg * testsuite/experimental/net/executor/1.cc: Add new
4233 1.1.1.20 mrg test to check system_context is not default constructible.
4234 1.1.1.20 mrg
4235 1.1.1.20 mrg 2020-04-23 Iain Sandoe <iain (a] sandoe.co.uk>
4236 1.1.1.20 mrg
4237 1.1.1.20 mrg * include/std/coroutine: Update the inline namespace to __n4861.
4238 1.1.1.20 mrg Add the __cpp_lib_coroutine define, set to 201902L.
4239 1.1.1.20 mrg * include/std/version: Add __cpp_lib_coroutine, set to 201902L.
4240 1.1.1.20 mrg
4241 1.1.1.20 mrg 2020-04-22 Jonathan Wakely <jwakely (a] redhat.com>
4242 1.1.1.20 mrg
4243 1.1.1.20 mrg * include/std/execution (__cpp_lib_execution): Define to indicate
4244 1.1.1.20 mrg support for P0024R2 and P1001R2.
4245 1.1.1.20 mrg * include/std/version (__cpp_lib_execution): Define.
4246 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test.cc: Only test macro
4247 1.1.1.20 mrg defined by <algorithm>, move other tests to new tests ...
4248 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test-2.cc: New test.
4249 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test-3.cc: New test.
4250 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test-4.cc: New test.
4251 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test-5.cc: New test.
4252 1.1.1.20 mrg
4253 1.1.1.20 mrg * include/bits/stl_iterator.h (__cpp_lib_array_constexpr): Define
4254 1.1.1.20 mrg different values for C++17 and C++20, to indicate different feature
4255 1.1.1.20 mrg sets. Update value for C++20 to indicate P1032R1 support.
4256 1.1.1.20 mrg * include/std/version (__cpp_lib_array_constexpr): Likewise.
4257 1.1.1.20 mrg * testsuite/23_containers/array/comparison_operators/constexpr.cc:
4258 1.1.1.20 mrg Check feature test macro.
4259 1.1.1.20 mrg * testsuite/23_containers/array/element_access/constexpr_c++17.cc:
4260 1.1.1.20 mrg New test.
4261 1.1.1.20 mrg * testsuite/23_containers/array/requirements/constexpr_fill.cc: Check
4262 1.1.1.20 mrg feature test macro.
4263 1.1.1.20 mrg * testsuite/23_containers/array/requirements/constexpr_iter.cc: Test
4264 1.1.1.20 mrg in C++17 mode and check feature test macro.
4265 1.1.1.20 mrg
4266 1.1.1.20 mrg * include/std/utility (__cpp_lib_constexpr_algorithms): Do not define
4267 1.1.1.20 mrg here.
4268 1.1.1.20 mrg * testsuite/20_util/exchange/constexpr.cc: Do not expect macro to be
4269 1.1.1.20 mrg defined by <utility>.
4270 1.1.1.20 mrg
4271 1.1.1.20 mrg * include/std/functional (__cpp_lib_concepts): Update macro value to
4272 1.1.1.20 mrg indicate P1964R2 support.
4273 1.1.1.20 mrg * include/std/version (__cpp_lib_concepts): Likewise.
4274 1.1.1.20 mrg * testsuite/std/concepts/1.cc: Adjust expected value.
4275 1.1.1.20 mrg * testsuite/std/concepts/2.cc: Likewise.
4276 1.1.1.20 mrg
4277 1.1.1.20 mrg * include/std/functional (__cpp_lib_constexpr_invoke): Rename to
4278 1.1.1.20 mrg __cpp_lib_constexpr_functional.
4279 1.1.1.20 mrg * include/std/version (__cpp_lib_constexpr_invoke): Likewise.
4280 1.1.1.20 mrg * testsuite/20_util/function_objects/invoke/constexpr.cc: Adjust.
4281 1.1.1.20 mrg
4282 1.1.1.20 mrg * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define to
4283 1.1.1.20 mrg indicate P1006R1 support.
4284 1.1.1.20 mrg (__cpp_lib_to_address): Define to indicate P0653R2 support.
4285 1.1.1.20 mrg * include/bits/range_access.h (__cpp_lib_ssize): Define to indicate
4286 1.1.1.20 mrg P1227R2 support.
4287 1.1.1.20 mrg * include/bits/ranges_algo.h (__cpp_lib_shift): Define to indicate
4288 1.1.1.20 mrg P0769R2 support.
4289 1.1.1.20 mrg * include/std/atomic (__cpp_lib_atomic_float): Define to indicate
4290 1.1.1.20 mrg P0020R6 support.
4291 1.1.1.20 mrg * include/std/memory (__cpp_lib_assume_aligned): Define to indicate
4292 1.1.1.20 mrg P1007R3 support.
4293 1.1.1.20 mrg * include/std/memory_resource (__cpp_lib_polymorphic_allocator):
4294 1.1.1.20 mrg Define to indicate P0339R6 support.
4295 1.1.1.20 mrg * include/std/string_view (__cpp_lib_starts_ends_with): Define to
4296 1.1.1.20 mrg indicate P0457R2 support.
4297 1.1.1.20 mrg * include/std/type_traits (__cpp_lib_is_nothrow_convertible): Define
4298 1.1.1.20 mrg to indicate P0758R1 support.
4299 1.1.1.20 mrg (__cpp_lib_remove_cvref): Define to indicate P0550R2 support.
4300 1.1.1.20 mrg (__cpp_lib_type_identity): Define to indicate P0887R1 support.
4301 1.1.1.20 mrg * include/std/version (__cpp_lib_atomic_float)
4302 1.1.1.20 mrg (__cpp_lib_is_nothrow_convertible, __cpp_lib_remove_cvref)
4303 1.1.1.20 mrg (__cpp_lib_type_identity, __cpp_lib_assume_aligned)
4304 1.1.1.20 mrg (__cpp_lib_constexpr_memory, __cpp_lib_polymorphic_allocator)
4305 1.1.1.20 mrg (__cpp_lib_shift, __cpp_lib_ssize, __cpp_lib_starts_ends_with)
4306 1.1.1.20 mrg (__cpp_lib_to_address): Define.
4307 1.1.1.20 mrg * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line number.
4308 1.1.1.20 mrg
4309 1.1.1.20 mrg * include/bits/stl_map.h (__cpp_lib_map_insertion): Remove old
4310 1.1.1.20 mrg macro.
4311 1.1.1.20 mrg * include/bits/unordered_map.h (__cpp_lib_unordered_map_insertion):
4312 1.1.1.20 mrg Likewise.
4313 1.1.1.20 mrg * include/std/version (__cpp_lib_map_insertion)
4314 1.1.1.20 mrg (__cpp_lib_unordered_map_insertion): Remove.
4315 1.1.1.20 mrg
4316 1.1.1.20 mrg * include/std/condition_variable (__cpp_lib_jthread): Remove
4317 1.1.1.20 mrg redundant definition.
4318 1.1.1.20 mrg * include/std/stop_token (__cpp_lib_jthread): Update macro value to
4319 1.1.1.20 mrg indicate P1869R1 support.
4320 1.1.1.20 mrg * include/std/version (__cpp_lib_jthread): Update value.
4321 1.1.1.20 mrg * testsuite/30_threads/condition_variable_any/stop_token/1.cc: Check
4322 1.1.1.20 mrg for updated macro value.
4323 1.1.1.20 mrg * testsuite/30_threads/condition_variable_any/stop_token/2.cc:
4324 1.1.1.20 mrg Likewise.
4325 1.1.1.20 mrg * testsuite/30_threads/jthread/1.cc: Likewise.
4326 1.1.1.20 mrg * testsuite/30_threads/jthread/2.cc: Likewise.
4327 1.1.1.20 mrg * testsuite/30_threads/stop_token/1.cc: Likewise.
4328 1.1.1.20 mrg * testsuite/30_threads/stop_token/2.cc: Likewise.
4329 1.1.1.20 mrg
4330 1.1.1.20 mrg * testsuite/21_strings/basic_string/erasure.cc: Check for
4331 1.1.1.20 mrg __cpp_lib_erase_if macro.
4332 1.1.1.20 mrg * testsuite/23_containers/deque/erasure.cc: Add header name to #error
4333 1.1.1.20 mrg messages.
4334 1.1.1.20 mrg * testsuite/23_containers/forward_list/erasure.cc: Likewise.
4335 1.1.1.20 mrg * testsuite/23_containers/list/erasure.cc: Likewise.
4336 1.1.1.20 mrg * testsuite/23_containers/map/erasure.cc: Likewise.
4337 1.1.1.20 mrg * testsuite/23_containers/set/erasure.cc: Likewise.
4338 1.1.1.20 mrg * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
4339 1.1.1.20 mrg * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
4340 1.1.1.20 mrg * testsuite/23_containers/vector/erasure.cc: Likewise.
4341 1.1.1.20 mrg
4342 1.1.1.20 mrg 2020-04-21 Jonathan Wakely <jwakely (a] redhat.com>
4343 1.1.1.20 mrg
4344 1.1.1.20 mrg * include/bits/stl_iterator.h (__normal_iterator): Use synth-three-way
4345 1.1.1.20 mrg to define operator<=>.
4346 1.1.1.20 mrg * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: New test.
4347 1.1.1.20 mrg
4348 1.1.1.20 mrg * doc/Makefile.am (xml_sources_manual): Add missing XML files.
4349 1.1.1.20 mrg * doc/Makefile.in: Regenerate.
4350 1.1.1.20 mrg * doc/xml/manual/status_cxx1998.xml: Refer to "this section" instead
4351 1.1.1.20 mrg of "this page".
4352 1.1.1.20 mrg * doc/xml/manual/status_cxx2011.xml: Formatting and other corrections
4353 1.1.1.20 mrg to the C++11 status table.
4354 1.1.1.20 mrg * doc/xml/manual/status_cxx2014.xml: Replace list of C++14 feature
4355 1.1.1.20 mrg proposals with table matching contents of the C++14 standard.
4356 1.1.1.20 mrg * doc/xml/manual/status_cxx2017.xml: Add table matching contents of
4357 1.1.1.20 mrg the C++17 standard.
4358 1.1.1.20 mrg * doc/html/*: Regenerate.
4359 1.1.1.20 mrg
4360 1.1.1.20 mrg PR c++/94149
4361 1.1.1.20 mrg * include/std/type_traits (__is_nt_constructible_impl): Add partial
4362 1.1.1.20 mrg specializations for bounded arrays with non-empty initializers.
4363 1.1.1.20 mrg * testsuite/20_util/is_nothrow_constructible/value_c++20.cc: New test.
4364 1.1.1.20 mrg
4365 1.1.1.20 mrg 2020-04-20 Thomas Rodgers <trodgers (a] redhat.com>
4366 1.1.1.20 mrg
4367 1.1.1.20 mrg * testsuite/lib/libstdc++.exp: Add additional_flags=
4368 1.1.1.20 mrg -DTBB_SUPRESS_DEPRECATED_MESSAGES=1 to suppress warnings when
4369 1.1.1.20 mrg compiling with a newer Thread Building Blocks.
4370 1.1.1.20 mrg
4371 1.1.1.20 mrg 2020-04-20 Jonathan Wakely <jwakely (a] redhat.com>
4372 1.1.1.20 mrg
4373 1.1.1.20 mrg * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: New test.
4374 1.1.1.20 mrg
4375 1.1.1.20 mrg * testsuite/20_util/is_constructible/51185.cc: Make test class a
4376 1.1.1.20 mrg non-aggregate so that the test verifies the same thing in all -std
4377 1.1.1.20 mrg modes.
4378 1.1.1.20 mrg * testsuite/20_util/is_constructible/value-2.cc: Adjust expected
4379 1.1.1.20 mrg results for some types when paren-init for aggregates is supported.
4380 1.1.1.20 mrg
4381 1.1.1.20 mrg * include/std/version (__cpp_lib_three_way_comparison): Update value.
4382 1.1.1.20 mrg * libsupc++/compare (__cpp_lib_three_way_comparison): Likewise.
4383 1.1.1.20 mrg (__detail::__synth3way): Add noexcept-specifier.
4384 1.1.1.20 mrg
4385 1.1.1.20 mrg * include/bits/stl_map.h (map): Define operator<=> and remove
4386 1.1.1.20 mrg operator< for C++20.
4387 1.1.1.20 mrg * include/bits/stl_multimap.h (multimap): Likewise.
4388 1.1.1.20 mrg * include/bits/stl_multiset.h (multiset): Likewise.
4389 1.1.1.20 mrg * include/bits/stl_set.h (set): Likewise.
4390 1.1.1.20 mrg * include/bits/stl_tree.h (_Rb_tree): Likewise.
4391 1.1.1.20 mrg (_Rb_tree_iterator, _Rb_tree_const_iterator): Remove redundant
4392 1.1.1.20 mrg operator!= for C++20.
4393 1.1.1.20 mrg * include/debug/map.h (__gnu_debug::map): Define operator<=> for C++20.
4394 1.1.1.20 mrg * include/debug/multimap.h (__gnu_debug::multimap): Likewise.
4395 1.1.1.20 mrg * include/debug/multiset.h (__gnu_debug::multiset): Likewise.
4396 1.1.1.20 mrg * include/debug/set.h (__gnu_debug::set): Likewise.
4397 1.1.1.20 mrg * testsuite/23_containers/map/operators/cmp_c++20.cc: New test.
4398 1.1.1.20 mrg * testsuite/23_containers/multimap/operators/cmp_c++20.cc: New test.
4399 1.1.1.20 mrg * testsuite/23_containers/multiset/operators/cmp_c++20.cc: New test.
4400 1.1.1.20 mrg * testsuite/23_containers/set/operators/cmp_c++20.cc: New test.
4401 1.1.1.20 mrg
4402 1.1.1.20 mrg 2020-04-20 Matthias Kretz <kretz (a] kde.org>
4403 1.1.1.20 mrg
4404 1.1.1.20 mrg * testsuite/lib/libstdc++.exp: Avoid illegal argument to verbose.
4405 1.1.1.20 mrg
4406 1.1.1.20 mrg 2020-04-19 Jonathan Wakely <jwakely (a] redhat.com>
4407 1.1.1.20 mrg
4408 1.1.1.20 mrg * include/bits/stl_queue.h (queue): Define operator<=> for C++20.
4409 1.1.1.20 mrg * include/bits/stl_stack.h (stack): Likewise.
4410 1.1.1.20 mrg * testsuite/23_containers/queue/cmp_c++20.cc: New test.
4411 1.1.1.20 mrg * testsuite/23_containers/stack/cmp_c++20.cc: New test.
4412 1.1.1.20 mrg
4413 1.1.1.20 mrg * include/bits/unordered_map.h (unordered_map, unordered_multimap):
4414 1.1.1.20 mrg Remove redundant operator!= for C++20.
4415 1.1.1.20 mrg * include/bits/unordered_set.h (unordered_set, unordered_multiset):
4416 1.1.1.20 mrg Likewise.
4417 1.1.1.20 mrg * include/debug/unordered_map (unordered_map, unordered_multimap):
4418 1.1.1.20 mrg Likewise.
4419 1.1.1.20 mrg * include/debug/unordered_set (unordered_set, unordered_multiset):
4420 1.1.1.20 mrg Likewise.
4421 1.1.1.20 mrg
4422 1.1.1.20 mrg PR other/94629
4423 1.1.1.20 mrg * include/debug/formatter.h (_Error_formatter::_Parameter): Fix
4424 1.1.1.20 mrg redundant assignment in constructor.
4425 1.1.1.20 mrg
4426 1.1.1.20 mrg 2020-04-18 Jonathan Wakely <jwakely (a] redhat.com>
4427 1.1.1.20 mrg
4428 1.1.1.20 mrg * include/std/chrono (duration, time_point): Define operator<=> and
4429 1.1.1.20 mrg remove redundant operator!= for C++20.
4430 1.1.1.20 mrg * testsuite/20_util/duration/comparison_operators/three_way.cc: New
4431 1.1.1.20 mrg test.
4432 1.1.1.20 mrg * testsuite/20_util/time_point/comparison_operators/three_way.cc: New
4433 1.1.1.20 mrg test.
4434 1.1.1.20 mrg
4435 1.1.1.20 mrg * testsuite/util/native_type/native_priority_queue.hpp: Use
4436 1.1.1.20 mrg allocator_traits to rebind allocator.
4437 1.1.1.20 mrg
4438 1.1.1.20 mrg 2020-04-17 Jonathan Wakely <jwakely (a] redhat.com>
4439 1.1.1.20 mrg
4440 1.1.1.20 mrg * include/bits/forward_list.h (forward_list): Define operator<=> and
4441 1.1.1.20 mrg remove redundant comparison operators for C++20.
4442 1.1.1.20 mrg * include/bits/stl_bvector.h (vector<bool, Alloc>): Likewise.
4443 1.1.1.20 mrg * include/bits/stl_deque.h (deque): Likewise.
4444 1.1.1.20 mrg * include/bits/stl_iterator.h (__normal_iterator): Likewise.
4445 1.1.1.20 mrg * include/bits/stl_list.h (list): Likewise.
4446 1.1.1.20 mrg * include/bits/stl_vector.h (vector): Likewise.
4447 1.1.1.20 mrg * include/debug/deque (__gnu_debug::deque): Likewise.
4448 1.1.1.20 mrg * include/debug/forward_list (__gnu_debug::forward_list): Likewise.
4449 1.1.1.20 mrg * include/debug/list (__gnu_debug::list): Likewise.
4450 1.1.1.20 mrg * include/debug/safe_iterator.h (__gnu_debug::_Safe_iterator):
4451 1.1.1.20 mrg Likewise.
4452 1.1.1.20 mrg * include/debug/vector (__gnu_debug::vector): Likewise.
4453 1.1.1.20 mrg * include/ext/pointer.h (__gnu_cxx::_Pointer_adapter): Define
4454 1.1.1.20 mrg operator<=> for C++20.
4455 1.1.1.20 mrg * testsuite/23_containers/deque/operators/cmp_c++20.cc: New test.
4456 1.1.1.20 mrg * testsuite/23_containers/forward_list/cmp_c++20.cc: New test.
4457 1.1.1.20 mrg * testsuite/23_containers/list/cmp_c++20.cc: New test.
4458 1.1.1.20 mrg * testsuite/23_containers/vector/bool/cmp_c++20.cc: New test.
4459 1.1.1.20 mrg * testsuite/23_containers/vector/cmp_c++20.cc: New test.
4460 1.1.1.20 mrg
4461 1.1.1.20 mrg * include/bits/basic_string.h (basic_string): Define operator<=> and
4462 1.1.1.20 mrg remove redundant comparison operators for C++20.
4463 1.1.1.20 mrg * include/bits/char_traits.h (__gnu_cxx::char_traits, char_traits):
4464 1.1.1.20 mrg Add comparison_category members.
4465 1.1.1.20 mrg (__detail::__char_traits_cmp_cat): New helper to get comparison
4466 1.1.1.20 mrg category from char traits class.
4467 1.1.1.20 mrg * include/bits/regex.h (regex_traits::_RegexMask::operator!=): Do not
4468 1.1.1.20 mrg define for C++20.
4469 1.1.1.20 mrg (sub_match): Define operator<=> and remove redundant comparison
4470 1.1.1.20 mrg operators for C++20.
4471 1.1.1.20 mrg (match_results): Remove redundant operator!= for C++20.
4472 1.1.1.20 mrg * include/std/string_view (basic_string_view): Define operator<=> and
4473 1.1.1.20 mrg remove redundant comparison operators for C++20.
4474 1.1.1.20 mrg * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc: New
4475 1.1.1.20 mrg test.
4476 1.1.1.20 mrg * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc:
4477 1.1.1.20 mrg New test.
4478 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operations/copy/char/
4479 1.1.1.20 mrg constexpr.cc: Initialize variable.
4480 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/
4481 1.1.1.20 mrg constexpr.cc: Likewise.
4482 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operators/char/2.cc: Add
4483 1.1.1.20 mrg dg-do directive and remove comments showing incorrect signatures.
4484 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
4485 1.1.1.20 mrg Likewise.
4486 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc:
4487 1.1.1.20 mrg New test.
4488 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc:
4489 1.1.1.20 mrg New test.
4490 1.1.1.20 mrg * testsuite/28_regex/sub_match/compare_c++20.cc: New test.
4491 1.1.1.20 mrg
4492 1.1.1.20 mrg 2020-04-16 Jonathan Wakely <jwakely (a] redhat.com>
4493 1.1.1.20 mrg
4494 1.1.1.20 mrg * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: Remove
4495 1.1.1.20 mrg name of unused parameter.
4496 1.1.1.20 mrg
4497 1.1.1.20 mrg 2020-04-15 Jonathan Wakely <jwakely (a] redhat.com>
4498 1.1.1.20 mrg
4499 1.1.1.20 mrg * include/bits/fs_dir.h (file_status): Define operator== for C++20.
4500 1.1.1.20 mrg (directory_entry): Define operator<=> and remove redundant comparison
4501 1.1.1.20 mrg operators for C++20.
4502 1.1.1.20 mrg * include/bits/fs_fwd.h (space_info): Define operator== for C++20.
4503 1.1.1.20 mrg * include/bits/fs_path.h (path): Define operator<=> and remove
4504 1.1.1.20 mrg redundant comparison operators for C++20.
4505 1.1.1.20 mrg * testsuite/27_io/filesystem/path/compare/compare.cc: Fix comment.
4506 1.1.1.20 mrg * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
4507 1.1.1.20 mrg * testsuite/27_io/filesystem/path/compare/path.cc: Likewise.
4508 1.1.1.20 mrg * testsuite/27_io/filesystem/path/compare/strings.cc: Likewise.
4509 1.1.1.20 mrg
4510 1.1.1.20 mrg * include/bits/allocator.h (operator!=): Do not define for C++20.
4511 1.1.1.20 mrg * include/bits/locale_classes.h (operator!=): Likewise.
4512 1.1.1.20 mrg * include/bits/std_function.h (operator==(nullptr_t, const function&))
4513 1.1.1.20 mrg (operator!=(const function&, nullptr_t))
4514 1.1.1.20 mrg (operator!=(nullptr_t, const function&)): Likewise.
4515 1.1.1.20 mrg * include/ext/bitmap_allocator.h (operator!=): Likewise.
4516 1.1.1.20 mrg * include/ext/debug_allocator.h (operator!=): Likewise.
4517 1.1.1.20 mrg * include/ext/extptr_allocator.h (operator!=): Likewise.
4518 1.1.1.20 mrg * include/ext/malloc_allocator.h (operator!=): Likewise.
4519 1.1.1.20 mrg * include/ext/mt_allocator.h (operator!=): Likewise.
4520 1.1.1.20 mrg * include/ext/new_allocator.h (operator!=): Likewise.
4521 1.1.1.20 mrg * include/ext/pool_allocator.h (operator!=): Likewise.
4522 1.1.1.20 mrg * include/ext/throw_allocator.h (operator!=): Likewise.
4523 1.1.1.20 mrg * include/std/bitset (bitset::operator!=): Likewise.
4524 1.1.1.20 mrg * include/std/memory_resource (operator!=): Likewise.
4525 1.1.1.20 mrg * include/std/scoped_allocator (operator!=): Likewise.
4526 1.1.1.20 mrg
4527 1.1.1.20 mrg * include/std/typeindex (operator<=>): Define for C++20.
4528 1.1.1.20 mrg * testsuite/20_util/typeindex/comparison_operators_c++20.cc: New test.
4529 1.1.1.20 mrg
4530 1.1.1.20 mrg 2020-04-14 Jonathan Wakely <jwakely (a] redhat.com>
4531 1.1.1.20 mrg
4532 1.1.1.20 mrg * libsupc++/compare (compare_three_way): Fix constraint so that
4533 1.1.1.20 mrg BUILTIN-PTR-THREE-WAY does not require three_way_comparable_with.
4534 1.1.1.20 mrg * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc:
4535 1.1.1.20 mrg New test.
4536 1.1.1.20 mrg
4537 1.1.1.20 mrg PR libstdc++/94562
4538 1.1.1.20 mrg * include/bits/shared_ptr.h (operator<=>): Define for C++20.
4539 1.1.1.20 mrg * include/bits/shared_ptr_base.h (operator<=>): Likewise.
4540 1.1.1.20 mrg * include/bits/unique_ptr.h (operator<=>): Add inline specifier.
4541 1.1.1.20 mrg * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc: New test.
4542 1.1.1.20 mrg * testsuite/20_util/shared_ptr/comparison/less.cc: Do not expect
4543 1.1.1.20 mrg std::less<A*> to be used when comparing std::shared_ptr<A> objects in
4544 1.1.1.20 mrg C++20.
4545 1.1.1.20 mrg
4546 1.1.1.20 mrg PR libstdc++/94565
4547 1.1.1.20 mrg * libsupc++/compare (__unspec): Add noexcept-specifier to constructor.
4548 1.1.1.20 mrg * testsuite/18_support/comparisons/categories/94565.cc: New test.
4549 1.1.1.20 mrg
4550 1.1.1.20 mrg 2020-04-13 Iain Sandoe <iain (a] sandoe.co.uk>
4551 1.1.1.20 mrg
4552 1.1.1.20 mrg * include/std/coroutine: Update coroutines builtin define,
4553 1.1.1.20 mrg per n4861.
4554 1.1.1.20 mrg
4555 1.1.1.20 mrg 2020-04-09 Jonathan Wakely <jwakely (a] redhat.com>
4556 1.1.1.20 mrg
4557 1.1.1.20 mrg * libsupc++/compare (compare_three_way): Fix noexcept-specifier.
4558 1.1.1.20 mrg (strong_order, weak_order, partial_order): Replace uses of <=> with
4559 1.1.1.20 mrg compare_three_way function object (LWG 3324).
4560 1.1.1.20 mrg * testsuite/18_support/comparisons/algorithms/partial_order.cc: Add
4561 1.1.1.20 mrg equality operator so that X satisfies three_way_comparable.
4562 1.1.1.20 mrg * testsuite/18_support/comparisons/algorithms/strong_order.cc:
4563 1.1.1.20 mrg Likewise.
4564 1.1.1.20 mrg * testsuite/18_support/comparisons/algorithms/weak_order.cc: Likewise.
4565 1.1.1.20 mrg
4566 1.1.1.20 mrg * include/bits/unique_ptr.h (operator<=>): Define for C++20.
4567 1.1.1.20 mrg * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
4568 1.1.1.20 mrg * testsuite/20_util/default_delete/void_neg.cc: Likewise.
4569 1.1.1.20 mrg * testsuite/20_util/unique_ptr/comparison/compare.cc: New test.
4570 1.1.1.20 mrg * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc: New test.
4571 1.1.1.20 mrg
4572 1.1.1.20 mrg 2020-04-08 Jonathan Wakely <jwakely (a] redhat.com>
4573 1.1.1.20 mrg
4574 1.1.1.20 mrg * include/bits/slice_array.h (operator==(const slice&, const slice&)):
4575 1.1.1.20 mrg Define for C++20.
4576 1.1.1.20 mrg * include/std/complex (operator==(const T&, const complex<T>&))
4577 1.1.1.20 mrg (operator!=(const complex<T>&, const complex<T>&))
4578 1.1.1.20 mrg (operator!=(const complex<T>&, const T&))
4579 1.1.1.20 mrg (operator!=(const T&, const complex<T>&)): Do not declare for C++20.
4580 1.1.1.20 mrg * testsuite/26_numerics/slice/compare.cc: New test.
4581 1.1.1.20 mrg
4582 1.1.1.20 mrg * include/std/charconv (to_chars_result, from_chars_result): Add
4583 1.1.1.20 mrg defaulted equality comparisons for C++20.
4584 1.1.1.20 mrg * testsuite/20_util/from_chars/compare.cc: New test.
4585 1.1.1.20 mrg * testsuite/20_util/to_chars/compare.cc: New test.
4586 1.1.1.20 mrg
4587 1.1.1.20 mrg 2020-04-07 Jonathan Wakely <jwakely (a] redhat.com>
4588 1.1.1.20 mrg
4589 1.1.1.20 mrg PR libstdc++/94520
4590 1.1.1.20 mrg * include/std/charconv (__integer_to_chars_result_type)
4591 1.1.1.20 mrg (__integer_from_chars_result_type): Use __or_ instead of __or_v_ to
4592 1.1.1.20 mrg allow use in C++14.
4593 1.1.1.20 mrg * testsuite/20_util/from_chars/1.cc: Run test as C++14 and replace
4594 1.1.1.20 mrg use of std::string_view with std::string.
4595 1.1.1.20 mrg * testsuite/20_util/from_chars/2.cc: Likewise.
4596 1.1.1.20 mrg * testsuite/20_util/to_chars/1.cc: Likewise.
4597 1.1.1.20 mrg * testsuite/20_util/to_chars/2.cc: Likewise.
4598 1.1.1.20 mrg
4599 1.1.1.20 mrg 2020-04-06 Jonathan Wakely <jwakely (a] redhat.com>
4600 1.1.1.20 mrg
4601 1.1.1.20 mrg PR libstdc++/94498
4602 1.1.1.20 mrg * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Make it
4603 1.1.1.20 mrg usable in constant expressions for C++20.
4604 1.1.1.20 mrg (__gnu_cxx::char_traits::copy, __gnu_cxx::char_traits::assign): Add
4605 1.1.1.20 mrg _GLIBCXX20_CONSTEXPR.
4606 1.1.1.20 mrg (std::char_traits<char>, std::char_traits<wchar_t>)
4607 1.1.1.20 mrg (std::char_traits<char8_t>): Make move, copy and assign usable in
4608 1.1.1.20 mrg constant expressions for C++20.
4609 1.1.1.20 mrg (std::char_traits<char16_t>, std::char_traits<char32_t>): Make move
4610 1.1.1.20 mrg and copy usable in constant expressions for C++20.
4611 1.1.1.20 mrg * include/std/string_view (basic_string_view::copy): Add
4612 1.1.1.20 mrg _GLIBCXX20_CONSTEXPR.
4613 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operations/copy/char/
4614 1.1.1.20 mrg constexpr.cc: New test.
4615 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/
4616 1.1.1.20 mrg constexpr.cc: New test.
4617 1.1.1.20 mrg
4618 1.1.1.20 mrg 2020-04-05 Gerald Pfeifer <gerald (a] pfeifer.com>
4619 1.1.1.20 mrg
4620 1.1.1.20 mrg * doc/xml/manual/appendix_contributing.xml: Refer to Git
4621 1.1.1.20 mrg documentation instead of Subversion. Switch to https.
4622 1.1.1.20 mrg * doc/html/manual/appendix_contributing.html: Regenerate.
4623 1.1.1.20 mrg
4624 1.1.1.20 mrg 2020-04-03 Jonathan Wakely <jwakely (a] redhat.com>
4625 1.1.1.20 mrg
4626 1.1.1.20 mrg PR libstdc++/93960
4627 1.1.1.20 mrg * include/bits/ptr_traits.h (__to_address): Add special case for debug
4628 1.1.1.20 mrg iterators, to avoid dereferenceable check.
4629 1.1.1.20 mrg * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line number.
4630 1.1.1.20 mrg * testsuite/20_util/to_address/debug.cc: New test.
4631 1.1.1.20 mrg
4632 1.1.1.20 mrg 2020-04-01 Andrea Corallo <andrea.corallo (a] arm.com>
4633 1.1.1.20 mrg
4634 1.1.1.20 mrg * testsuite/experimental/net/execution_context/use_service.cc:
4635 1.1.1.20 mrg Require pthread and gthreads.
4636 1.1.1.20 mrg
4637 1.1.1.20 mrg 2020-04-01 Gerald Pfeifer <gerald (a] pfeifer.com>
4638 1.1.1.20 mrg
4639 1.1.1.20 mrg * doc/xml/manual/appendix_free.xml: Move "free books" list from
4640 1.1.1.20 mrg fsf.org to gnu.org.
4641 1.1.1.20 mrg * doc/html/manual/appendix_free.html: Regenerate.
4642 1.1.1.20 mrg
4643 1.1.1.20 mrg 2020-03-31 Ville Voutilainen <ville.voutilainen (a] gmail.com>
4644 1.1.1.20 mrg
4645 1.1.1.20 mrg Library-side tests for parenthesized aggregate init
4646 1.1.1.20 mrg
4647 1.1.1.20 mrg PR c++/92878
4648 1.1.1.20 mrg PR c++/92947
4649 1.1.1.20 mrg
4650 1.1.1.20 mrg * testsuite/20_util/allocator_traits/members/92878_92947.cc: New.
4651 1.1.1.20 mrg * testsuite/20_util/any/assign/92878_92947.cc: Likewise.
4652 1.1.1.20 mrg * testsuite/20_util/any/cons/92878_92947.cc: Likewise.
4653 1.1.1.20 mrg * testsuite/20_util/is_constructible/92878_92947.cc: Likewise.
4654 1.1.1.20 mrg * testsuite/20_util/optional/assignment/92878_92947.cc: Likewise.
4655 1.1.1.20 mrg * testsuite/20_util/optional/cons/92878_92947.cc: Likewise.
4656 1.1.1.20 mrg * testsuite/20_util/pair/cons/92878_92947.cc: Likewise.
4657 1.1.1.20 mrg * testsuite/20_util/shared_ptr/creation/92878_92947.cc: Likewise.
4658 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc:
4659 1.1.1.20 mrg Likewise.
4660 1.1.1.20 mrg * testsuite/20_util/unique_ptr/creation/92878_92947.cc: Likewise.
4661 1.1.1.20 mrg * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise.
4662 1.1.1.20 mrg * testsuite/20_util/variant/92878_92947.cc: Likewise.
4663 1.1.1.20 mrg * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc:
4664 1.1.1.20 mrg Likewise.
4665 1.1.1.20 mrg * testsuite/23_containers/forward_list/modifiers/92878_92947.cc:
4666 1.1.1.20 mrg Likewise.
4667 1.1.1.20 mrg * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc:
4668 1.1.1.20 mrg Likewise.
4669 1.1.1.20 mrg * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc:
4670 1.1.1.20 mrg Likewise.
4671 1.1.1.20 mrg * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc:
4672 1.1.1.20 mrg Likewise.
4673 1.1.1.20 mrg * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc:
4674 1.1.1.20 mrg Likewise.
4675 1.1.1.20 mrg * testsuite/23_containers/priority_queue/92878_92947.cc: Likewise.
4676 1.1.1.20 mrg * testsuite/23_containers/queue/92878_92947.cc: Likewise.
4677 1.1.1.20 mrg * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc:
4678 1.1.1.20 mrg Likewise.
4679 1.1.1.20 mrg * testsuite/23_containers/stack/92878_92947.cc: Likewise.
4680 1.1.1.20 mrg * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc:
4681 1.1.1.20 mrg Likewise.
4682 1.1.1.20 mrg * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc:
4683 1.1.1.20 mrg Likewise.
4684 1.1.1.20 mrg * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc:
4685 1.1.1.20 mrg Likewise.
4686 1.1.1.20 mrg * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc:
4687 1.1.1.20 mrg Likewise.
4688 1.1.1.20 mrg * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc:
4689 1.1.1.20 mrg Likewise.
4690 1.1.1.20 mrg
4691 1.1.1.20 mrg 2020-03-28 Jonathan Wakely <jwakely (a] redhat.com>
4692 1.1.1.20 mrg
4693 1.1.1.20 mrg * testsuite/20_util/is_constructible/value-2.cc: Fix test to account
4694 1.1.1.20 mrg for changes due to parenthesized aggregate-initialization in C++20.
4695 1.1.1.20 mrg * testsuite/20_util/time_point/cons/81468.cc: Fix test to not clash
4696 1.1.1.20 mrg with std::chrono::sys_time in C++20.
4697 1.1.1.20 mrg
4698 1.1.1.20 mrg * include/bits/stl_iterator.h (reverse_iterator): Use requires-clause
4699 1.1.1.20 mrg to constrain C++20 versions of comparison operators. Fix backwards
4700 1.1.1.20 mrg logic of relational operators.
4701 1.1.1.20 mrg (move_iterator): Use requires-clause to constrain comparison operators
4702 1.1.1.20 mrg in C++20. Do not declare non-standard same-type overloads for C++20.
4703 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: Check result
4704 1.1.1.20 mrg of comparisons and check using greedy_ops type.
4705 1.1.1.20 mrg * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: Likewise.
4706 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/greedy_ops.cc: Remove redundant
4707 1.1.1.20 mrg main function from compile-only test.
4708 1.1.1.20 mrg * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Likewise.
4709 1.1.1.20 mrg
4710 1.1.1.20 mrg 2020-03-27 Jonathan Wakely <jwakely (a] redhat.com>
4711 1.1.1.20 mrg
4712 1.1.1.20 mrg * include/bits/range_cmp.h (__cpp_lib_ranges): Define.
4713 1.1.1.20 mrg * include/bits/stl_iterator.h: Check value of __cpp_concepts so that
4714 1.1.1.20 mrg C++20 concepts are required.
4715 1.1.1.20 mrg * include/bits/stl_iterator_base_types.h: Likewise.
4716 1.1.1.20 mrg * include/std/concepts: Likewise.
4717 1.1.1.20 mrg * include/std/version: Likewise.
4718 1.1.1.20 mrg * testsuite/std/ranges/headers/ranges/synopsis.cc: Check feature test
4719 1.1.1.20 mrg macro.
4720 1.1.1.20 mrg
4721 1.1.1.20 mrg * include/bits/stl_iterator.h (reverse_iterator::iterator_concept)
4722 1.1.1.20 mrg (reverse_iterator::iterator_category): Define for C++20.
4723 1.1.1.20 mrg (reverse_iterator): Define comparison operators correctly for C++20.
4724 1.1.1.20 mrg (__normal_iterator): Add constraints to comparison operators for C++20.
4725 1.1.1.20 mrg (move_iterator::operator++(int)) [__cpp_lib_concepts]: Define new
4726 1.1.1.20 mrg overload for input iterators.
4727 1.1.1.20 mrg (move_iterator): Add constraints to comparison operators for C++20.
4728 1.1.1.20 mrg Define operator<=> for C++20.
4729 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/input_iterator.cc: New test.
4730 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/move_only.cc: New test.
4731 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: New test.
4732 1.1.1.20 mrg * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: New test.
4733 1.1.1.20 mrg
4734 1.1.1.20 mrg * include/bits/iterator_concepts.h (__detail::__decay_copy)
4735 1.1.1.20 mrg (__detail::__member_begin, __detail::__adl_begin): Move here from
4736 1.1.1.20 mrg <bits/range_access.h>.
4737 1.1.1.20 mrg (__detail::__ranges_begin, __detail::__range_iter_t): Define.
4738 1.1.1.20 mrg * bits/range_access.h (__cust_access::__decay_copy)
4739 1.1.1.20 mrg (__cust_access::__member_begin, __cust_access::__adl_begin): Move to
4740 1.1.1.20 mrg <bits/iterator_concepts.h>.
4741 1.1.1.20 mrg (ranges::iterator_t): Use __detail::__range_iter_t.
4742 1.1.1.20 mrg * include/bits/stl_iterator.h (back_insert_iterator): Simplify
4743 1.1.1.20 mrg conditional compilation. Add _GLIBCXX20_CONSTEXPR to all members.
4744 1.1.1.20 mrg (front_insert_iterator): Likewise.
4745 1.1.1.20 mrg (insert_iterator): Implement changes from P0896R4 for C++20.
4746 1.1.1.20 mrg * testsuite/24_iterators/back_insert_iterator/constexpr.cc: New test.
4747 1.1.1.20 mrg * testsuite/24_iterators/front_insert_iterator/constexpr.cc: New test.
4748 1.1.1.20 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: Adjust
4749 1.1.1.20 mrg for inclusion in synopsis_c++20.cc which expects different signatures
4750 1.1.1.20 mrg for some function templates.
4751 1.1.1.20 mrg * testsuite/24_iterators/insert_iterator/constexpr.cc: New test.
4752 1.1.1.20 mrg
4753 1.1.1.20 mrg * include/std/type_traits (__is_array_convertible): Move definition
4754 1.1.1.20 mrg to immediately after is_convertible.
4755 1.1.1.20 mrg
4756 1.1.1.20 mrg 2020-03-26 Jonathan Wakely <jwakely (a] redhat.com>
4757 1.1.1.20 mrg
4758 1.1.1.20 mrg * include/std/chrono (chrono::days, chrono::weeks, chrono::years)
4759 1.1.1.20 mrg (chrono::months, chrono::sys_days, chrono::local_t)
4760 1.1.1.20 mrg (chrono::local_time, chrono::local_seconds, chrono::local_days):
4761 1.1.1.20 mrg Define for C++20.
4762 1.1.1.20 mrg (chrono::time_point): Add missing static assert.
4763 1.1.1.20 mrg * testsuite/20_util/time_point/requirements/duration_neg.cc: New test.
4764 1.1.1.20 mrg * testsuite/std/time/clock/file/overview.cc: New test.
4765 1.1.1.20 mrg * testsuite/std/time/clock/file/members.cc: New test.
4766 1.1.1.20 mrg * testsuite/std/time/syn_c++20.cc: New test.
4767 1.1.1.20 mrg
4768 1.1.1.20 mrg 2020-03-25 Mike Crowe <mac (a] mcrowe.com>
4769 1.1.1.20 mrg
4770 1.1.1.20 mrg * testsuite/30_threads/shared_timed_mutex/try_lock_until/1.cc: New
4771 1.1.1.20 mrg test.
4772 1.1.1.20 mrg * testsuite/30_threads/shared_timed_mutex/try_lock_until/2.cc: New
4773 1.1.1.20 mrg test.
4774 1.1.1.20 mrg
4775 1.1.1.20 mrg 2020-03-25 Jonathan Wakely <jwakely (a] redhat.com>
4776 1.1.1.19 mrg
4777 1.1.1.20 mrg * include/bits/fs_fwd.h (filesystem::__file_clock): Move to ...
4778 1.1.1.20 mrg * include/std/chrono (filesystem::__file_clock): Here.
4779 1.1.1.20 mrg (filesystem::__file_clock::from_sys, filesystem::__file_clock::to_sys):
4780 1.1.1.20 mrg Define public member functions for C++20.
4781 1.1.1.20 mrg (is_clock, is_clock_v): Define traits for C++20.
4782 1.1.1.20 mrg * include/std/condition_variable (condition_variable::wait_until): Add
4783 1.1.1.20 mrg check for valid clock.
4784 1.1.1.20 mrg * include/std/future (_State_baseV2::wait_until): Likewise.
4785 1.1.1.20 mrg * include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Likewise.
4786 1.1.1.20 mrg * include/std/shared_mutex (shared_timed_mutex::try_lock_shared_until):
4787 1.1.1.20 mrg Likewise.
4788 1.1.1.20 mrg * include/std/thread (this_thread::sleep_until): Likewise.
4789 1.1.1.20 mrg * testsuite/30_threads/condition_variable/members/2.cc: Qualify
4790 1.1.1.20 mrg slow_clock with new namespace.
4791 1.1.1.20 mrg * testsuite/30_threads/condition_variable/members/clock_neg.cc: New
4792 1.1.1.20 mrg test.
4793 1.1.1.20 mrg * testsuite/30_threads/condition_variable_any/members/clock_neg.cc:
4794 1.1.1.20 mrg New test.
4795 1.1.1.20 mrg * testsuite/30_threads/future/members/clock_neg.cc: New test.
4796 1.1.1.20 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/3.cc:
4797 1.1.1.20 mrg Qualify slow_clock with new namespace.
4798 1.1.1.20 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/
4799 1.1.1.20 mrg clock_neg.cc: New test.
4800 1.1.1.20 mrg * testsuite/30_threads/shared_future/members/clock_neg.cc: New
4801 1.1.1.20 mrg test.
4802 1.1.1.20 mrg * testsuite/30_threads/shared_lock/locking/clock_neg.cc: New test.
4803 1.1.1.20 mrg * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc:
4804 1.1.1.20 mrg New test.
4805 1.1.1.20 mrg * testsuite/30_threads/timed_mutex/try_lock_until/3.cc: Qualify
4806 1.1.1.20 mrg slow_clock with new namespace.
4807 1.1.1.20 mrg * testsuite/30_threads/timed_mutex/try_lock_until/4.cc: Likewise.
4808 1.1.1.20 mrg * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc: New
4809 1.1.1.20 mrg test.
4810 1.1.1.20 mrg * testsuite/30_threads/unique_lock/locking/clock_neg.cc: New test.
4811 1.1.1.20 mrg * testsuite/std/time/traits/is_clock.cc: New test.
4812 1.1.1.20 mrg * testsuite/util/slow_clock.h (slow_clock): Move to __gnu_test
4813 1.1.1.20 mrg namespace.
4814 1.1.1.20 mrg
4815 1.1.1.20 mrg 2020-03-21 Jonathan Wakely <jwakely (a] redhat.com>
4816 1.1.1.20 mrg
4817 1.1.1.20 mrg PR libstdc++/93245
4818 1.1.1.20 mrg * include/experimental/bits/fs_path.h (path::generic_string<C,T,A>()):
4819 1.1.1.20 mrg * testsuite/experimental/filesystem/path/generic/generic_string.cc:
4820 1.1.1.20 mrg Improve test coverage.
4821 1.1.1.20 mrg
4822 1.1.1.20 mrg PR libstdc++/94242
4823 1.1.1.20 mrg * include/bits/fs_path.h (path::_S_str_convert): Replace first
4824 1.1.1.20 mrg parameter with basic_string_view so that strings with different
4825 1.1.1.20 mrg allocators can be accepted.
4826 1.1.1.20 mrg (path::generic_string<C,T,A>()): Use basic_string object that uses the
4827 1.1.1.20 mrg right allocator type.
4828 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/94242.cc: New test.
4829 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/generic_string.cc: Improve
4830 1.1.1.20 mrg test coverage.
4831 1.1.1.20 mrg
4832 1.1.1.20 mrg 2020-03-18 Jonathan Wakely <jwakely (a] redhat.com>
4833 1.1.1.20 mrg
4834 1.1.1.20 mrg PR libstdc++/94033
4835 1.1.1.20 mrg * include/std/type_traits (__is_nt_default_constructible_atom): Remove.
4836 1.1.1.20 mrg (__is_nt_default_constructible_impl): Remove.
4837 1.1.1.20 mrg (__is_nothrow_default_constructible_impl): Remove.
4838 1.1.1.20 mrg (__is_nt_constructible_impl): Add bool template parameter. Adjust
4839 1.1.1.20 mrg partial specializations.
4840 1.1.1.20 mrg (__is_nothrow_constructible_impl): Replace class template with alias
4841 1.1.1.20 mrg template.
4842 1.1.1.20 mrg (is_nothrow_default_constructible): Derive from alias template
4843 1.1.1.20 mrg __is_nothrow_constructible_impl instead of
4844 1.1.1.20 mrg __is_nothrow_default_constructible_impl.
4845 1.1.1.20 mrg * testsuite/20_util/is_nothrow_constructible/94003.cc: New test.
4846 1.1.1.20 mrg
4847 1.1.1.20 mrg * include/std/stop_token (stop_token::_Stop_state_ref): Define
4848 1.1.1.20 mrg comparison operators explicitly if the compiler won't synthesize them.
4849 1.1.1.20 mrg
4850 1.1.1.20 mrg * include/bits/stl_algobase.h (__lexicographical_compare_aux): Check
4851 1.1.1.20 mrg __cpp_lib_concepts before using iter_reference_t.
4852 1.1.1.20 mrg * include/bits/stream_iterator.h (istream_iterator): Check
4853 1.1.1.20 mrg __cpp_lib_concepts before using default_sentinel_t.
4854 1.1.1.20 mrg * include/bits/streambuf_iterator.h (istreambuf_iterator): Likewise.
4855 1.1.1.20 mrg
4856 1.1.1.20 mrg PR libstdc++/94203
4857 1.1.1.20 mrg * include/experimental/executor (executor::executor(Executor)): Call
4858 1.1.1.20 mrg make_shared directly instead of _M_create. Create _Tgt1 object.
4859 1.1.1.20 mrg (executor::executor(allocator_arg_t, const ProtoAlloc&, Executor)):
4860 1.1.1.20 mrg Call allocate_shared directly instead of _M_create. Create _Tgt2
4861 1.1.1.20 mrg object.
4862 1.1.1.20 mrg (executor::target_type): Add cast needed for new _Tgt interface.
4863 1.1.1.20 mrg (executor::target): Define when RTTI is disabled. Use _Tgt::_M_func.
4864 1.1.1.20 mrg (executor::_Tgt): Define the same interface whether RTTI is enabled or
4865 1.1.1.20 mrg not.
4866 1.1.1.20 mrg (executor::_Tgt::target_type, executor::_Tgt::target): Do not use
4867 1.1.1.20 mrg std::type_info in the interface.
4868 1.1.1.20 mrg (executor::_Tgt::_M_func): Add data member.
4869 1.1.1.20 mrg (executor::_TgtImpl): Replace with _Tgt1 and _Tgt2 class templates.
4870 1.1.1.20 mrg (executor::_Tgt1::_S_func): Define function to access target without
4871 1.1.1.20 mrg depending on RTTI.
4872 1.1.1.20 mrg (executor::_M_create): Remove.
4873 1.1.1.20 mrg (operator==, operator!=): Simplify comparisons for executor.
4874 1.1.1.20 mrg * include/experimental/socket (is_error_code_enum<socket_errc>):
4875 1.1.1.20 mrg Define specialization before use.
4876 1.1.1.20 mrg * testsuite/experimental/net/executor/1.cc: New test.
4877 1.1.1.20 mrg
4878 1.1.1.20 mrg 2020-03-16 Jonathan Wakely <jwakely (a] redhat.com>
4879 1.1.1.20 mrg
4880 1.1.1.20 mrg PR libstdc++/94199
4881 1.1.1.20 mrg * include/experimental/executor (service_already_exists): Add default
4882 1.1.1.20 mrg constructor. Declare make_service to be a friend.
4883 1.1.1.20 mrg * testsuite/experimental/net/execution_context/make_service.cc: New
4884 1.1.1.20 mrg test.
4885 1.1.1.19 mrg
4886 1.1.1.20 mrg 2020-03-12 Jonathan Wakely <jwakely (a] redhat.com>
4887 1.1.1.19 mrg
4888 1.1.1.20 mrg * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Do not pass
4889 1.1.1.20 mrg a null pointer to functions with nonnull(1) attribute.
4890 1.1.1.20 mrg
4891 1.1.1.20 mrg 2020-03-11 Patrick Palka <ppalka (a] redhat.com>
4892 1.1.1.20 mrg
4893 1.1.1.20 mrg * include/std/ranges (split_view::_OuterIter::_OuterIter): Typo fix,
4894 1.1.1.20 mrg 'address' -> 'std::__addressof'.
4895 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split.cc: Test taking the split_view of
4896 1.1.1.20 mrg a non-forward input_range.
4897 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h (output_iterator_wrapper): Make
4898 1.1.1.20 mrg default constructor protected instead of deleted, like with
4899 1.1.1.20 mrg input_iterator_wrapper.
4900 1.1.1.20 mrg (test_range::iterator): Add comment explaining that this type is used
4901 1.1.1.20 mrg only when the underlying wrapper is input_iterator_wrapper or
4902 1.1.1.20 mrg output_iterator_wrapper. Remove delegating defaulted constructor so
4903 1.1.1.20 mrg that the inherited default constructor is used instead.
4904 1.1.1.20 mrg
4905 1.1.1.20 mrg LWG 3286 ranges::size is not required to be valid after a call to
4906 1.1.1.20 mrg ranges::begin on an input range
4907 1.1.1.20 mrg * include/std/ranges (subrange::subrange): Split single-argument
4908 1.1.1.20 mrg constructor into two, one constrained by _S_store_size and another by
4909 1.1.1.20 mrg !_S_store_size.
4910 1.1.1.20 mrg (take_view::begin): Call size() before calling ranges::begin(_M_base).
4911 1.1.1.20 mrg * testsuite/std/ranges/adaptors/lwg3286.cc: New test.
4912 1.1.1.20 mrg * testsuite/std/ranges/subrange/lwg3286.cc: New test.
4913 1.1.1.20 mrg
4914 1.1.1.20 mrg 2020-03-10 Jonathan Wakely <jwakely (a] redhat.com>
4915 1.1.1.20 mrg
4916 1.1.1.20 mrg * include/std/ranges (split_view::_OuterIter::__at_end): Use __current
4917 1.1.1.20 mrg instead of _M_current.
4918 1.1.1.20 mrg (split_view::_OuterIter::operator++): Likewise.
4919 1.1.1.20 mrg
4920 1.1.1.20 mrg * include/std/ranges (transform_view::_Iterator::__iter_move): Remove.
4921 1.1.1.20 mrg (transform_view::_Iterator::operator*): Add noexcept-specifier.
4922 1.1.1.20 mrg (transform_view::_Iterator::iter_move): Inline __iter_move body here.
4923 1.1.1.20 mrg (split_view::_OuterIter::__current): Add noexcept.
4924 1.1.1.20 mrg (split_view::_InnerIter::__iter_swap): Remove.
4925 1.1.1.20 mrg (split_view::_InnerIter::__iter_move): Remove.
4926 1.1.1.20 mrg (split_view::_InnerIter::_M_i_current): New accessors.
4927 1.1.1.20 mrg (split_view::_InnerIter::__at_end): Use _M_i_current().
4928 1.1.1.20 mrg (split_view::_InnerIter::operator*): Likewise.
4929 1.1.1.20 mrg (split_view::_InnerIter::operator++): Likewise.
4930 1.1.1.20 mrg (iter_move(const _InnerIter&)): Likewise.
4931 1.1.1.20 mrg (iter_swap(const _InnerIter&, const _InnerIter&)): Likewise.
4932 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split.cc: Check noexcept-specifier
4933 1.1.1.20 mrg for iter_move and iter_swap on split_view's inner iterator.
4934 1.1.1.20 mrg
4935 1.1.1.20 mrg PR c++/94117
4936 1.1.1.20 mrg * include/std/ranges (ranges::transform_view::_Iterator::iter_move):
4937 1.1.1.20 mrg Change expression in noexcept-specifier to match function body.
4938 1.1.1.20 mrg
4939 1.1.1.20 mrg * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Add
4940 1.1.1.20 mrg comment explaining multiple dg-do directives.
4941 1.1.1.20 mrg * testsuite/24_iterators/ostream_iterator/1.cc: Fix do-do directive
4942 1.1.1.20 mrg so test is run as well as compiled.
4943 1.1.1.20 mrg
4944 1.1.1.20 mrg 2020-03-09 Jonathan Wakely <jwakely (a] redhat.com>
4945 1.1.1.20 mrg
4946 1.1.1.20 mrg PR libstdc++/94063
4947 1.1.1.20 mrg * src/c++17/fs_path.cc (path::operator+=(const path&)): Add kluge to
4948 1.1.1.20 mrg handle concatenations that change the type of the first component.
4949 1.1.1.20 mrg (path::operator+=(basic_string_view<value_type>)): Likewise.
4950 1.1.1.20 mrg * testsuite/27_io/filesystem/path/concat/94063.cc: New test.
4951 1.1.1.20 mrg
4952 1.1.1.20 mrg 2020-03-06 Patrick Palka <ppalka (a] redhat.com>
4953 1.1.1.20 mrg
4954 1.1.1.20 mrg * include/std/ranges (join_view::_Sentinel<_Const>): Befriend
4955 1.1.1.20 mrg join_view::_Sentinel<!_Const>.
4956 1.1.1.20 mrg * testsuite/std/ranges/adaptors/join.cc: Augment test.
4957 1.1.1.20 mrg
4958 1.1.1.20 mrg PR libstdc++/93978
4959 1.1.1.20 mrg * include/bits/range_access.h (__cust_access::_Empty::operator()):
4960 1.1.1.20 mrg Declare return type to be bool instead of auto.
4961 1.1.1.20 mrg * testsuite/std/ranges/adaptors/93978.cc: New test.
4962 1.1.1.20 mrg
4963 1.1.1.20 mrg 2020-03-06 Jonathan Wakely <jwakely (a] redhat.com>
4964 1.1.1.20 mrg
4965 1.1.1.20 mrg PR libstdc++/94069
4966 1.1.1.20 mrg * include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER]
4967 1.1.1.20 mrg (__shared_mutex_pthread::__shared_mutex_pthread()): Remove incorrect
4968 1.1.1.20 mrg second argument to __glibcxx_rwlock_init.
4969 1.1.1.20 mrg * testsuite/30_threads/shared_timed_mutex/94069.cc: New test.
4970 1.1.1.20 mrg
4971 1.1.1.20 mrg PR libstdc++/93244
4972 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/generic_string.cc: Adjust
4973 1.1.1.20 mrg test to not fail due to PR 94063.
4974 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/utf.cc: Likewise.
4975 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/wchar_t.cc: Likewise.
4976 1.1.1.20 mrg
4977 1.1.1.20 mrg 2020-03-06 Andreas Krebbel <krebbel (a] linux.ibm.com>
4978 1.1.1.20 mrg
4979 1.1.1.20 mrg * src/c++11/system_error.cc: Omit the ENOTSUP case statement if it
4980 1.1.1.20 mrg would match ENOSYS.
4981 1.1.1.20 mrg
4982 1.1.1.20 mrg 2020-03-05 Jonathan Wakely <jwakely (a] redhat.com>
4983 1.1.1.19 mrg
4984 1.1.1.20 mrg * testsuite/27_io/filesystem/operations/all.cc: Mark unused variable.
4985 1.1.1.20 mrg * testsuite/27_io/filesystem/operations/copy.cc: Fix typo.
4986 1.1.1.20 mrg * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
4987 1.1.1.20 mrg * testsuite/27_io/filesystem/operations/file_size.cc: Use correct type
4988 1.1.1.20 mrg for return value, and in comparison.
4989 1.1.1.20 mrg * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
4990 1.1.1.20 mrg
4991 1.1.1.20 mrg PR libstdc++/94051
4992 1.1.1.20 mrg * include/std/string_view: Include <bits/ostream_insert.h>.
4993 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/inserters/94051.cc: New test.
4994 1.1.1.20 mrg
4995 1.1.1.20 mrg 2020-03-04 Jonathan Wakely <jwakely (a] redhat.com>
4996 1.1.1.20 mrg
4997 1.1.1.20 mrg * include/bits/cpp_type_traits.h (__memcpyable): Fix comment.
4998 1.1.1.20 mrg
4999 1.1.1.20 mrg 2020-03-04 Patrick Palka <ppalka (a] redhat.com>
5000 1.1.1.20 mrg
5001 1.1.1.20 mrg PR libstdc++/94017
5002 1.1.1.20 mrg * include/bits/ranges_algobase.h (__fill_n_fn::operator()): Refine
5003 1.1.1.20 mrg condition for when to use memset, making sure to additionally check that
5004 1.1.1.20 mrg the output pointer's value type is a non-volatile byte type. Instead of
5005 1.1.1.20 mrg requiring that the fill type is a byte type, just require that it's an
5006 1.1.1.20 mrg integral type.
5007 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc:
5008 1.1.1.20 mrg New test.
5009 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc:
5010 1.1.1.19 mrg New test.
5011 1.1.1.20 mrg * testsuite/25_algorithms/fill/94013.cc: Uncomment part of test that was
5012 1.1.1.20 mrg blocked by PR 94017.
5013 1.1.1.20 mrg * testsuite/25_algorithms/fill/94017.cc: New test.
5014 1.1.1.20 mrg * testsuite/25_algorithms/fill_n/94017.cc: New test.
5015 1.1.1.20 mrg
5016 1.1.1.20 mrg LWG 3355 The memory algorithms should support move-only input iterators
5017 1.1.1.20 mrg introduced by P1207
5018 1.1.1.20 mrg * include/bits/ranges_uninitialized.h
5019 1.1.1.20 mrg (__uninitialized_copy_fn::operator()): Use std::move to avoid attempting
5020 1.1.1.20 mrg to copy __ifirst, which could be a move-only input iterator. Use
5021 1.1.1.20 mrg operator- instead of ranges::distance to compute distance from a sized
5022 1.1.1.20 mrg sentinel.
5023 1.1.1.20 mrg (__uninitialized_copy_n_fn::operator()): Likewise.
5024 1.1.1.20 mrg (__uninitialized_move_fn::operator()): Likewise.
5025 1.1.1.20 mrg (__uninitialized_move_n_fn::operator()): Likewise.
5026 1.1.1.20 mrg (__uninitialized_destroy_fn::operator()): Use std::move to avoid
5027 1.1.1.20 mrg attempting to copy __first.
5028 1.1.1.20 mrg (__uninitialized_destroy_n_fn::operator()): Likewise.
5029 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/destroy/constrained.cc:
5030 1.1.1.20 mrg Augment test.
5031 1.1.1.20 mrg * .../specialized_algorithms/uninitialized_copy/constrained.cc:
5032 1.1.1.20 mrg Likewise.
5033 1.1.1.20 mrg * .../specialized_algorithms/uninitialized_move/constrained.cc:
5034 1.1.1.20 mrg Likewise.
5035 1.1.1.20 mrg
5036 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h (test_range::get_iterator): Make
5037 1.1.1.20 mrg protected instead of private.
5038 1.1.1.20 mrg (test_sized_range_sized_sent): New.
5039 1.1.1.20 mrg
5040 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h (input_iterator_wrapper_nocopy):
5041 1.1.1.20 mrg New testsuite iterator.
5042 1.1.1.20 mrg * testsuite/24_iterators/counted_iterator/lwg3389.cc: use it.
5043 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise.
5044 1.1.1.20 mrg
5045 1.1.1.20 mrg * include/bits/ranges_uninitialized.h
5046 1.1.1.20 mrg (uninitialized_copy_fn::operator()): Pass a reference type as the first
5047 1.1.1.20 mrg argument to is_nothrow_assignable_v.
5048 1.1.1.20 mrg (uninitialized_copy_fn::operator()): Likewise.
5049 1.1.1.20 mrg (uninitialized_move_fn::operator()): Likewise. Return an in_out_result
5050 1.1.1.20 mrg with the input iterator stripped of its move_iterator.
5051 1.1.1.20 mrg (uninitialized_move_n_fn::operator()): Likewise.
5052 1.1.1.20 mrg (uninitialized_fill_fn::operator()): Pass a reference type as the first
5053 1.1.1.20 mrg argument to is_nothrow_assignable_v.
5054 1.1.1.20 mrg (uninitialized_fill_n_fn::operator()): Likewise.
5055 1.1.1.20 mrg
5056 1.1.1.20 mrg 2020-03-03 Jonathan Wakely <jwakely (a] redhat.com>
5057 1.1.1.20 mrg
5058 1.1.1.20 mrg PR libstdc++/94013
5059 1.1.1.20 mrg * include/bits/cpp_type_traits.h (__memcpyable, __memcmpable): New
5060 1.1.1.20 mrg traits to control when to use memmove and memcmp optimizations.
5061 1.1.1.20 mrg (__is_nonvolatile_trivially_copyable): New helper trait.
5062 1.1.1.20 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn): Do not
5063 1.1.1.20 mrg use memcmp optimization with volatile data.
5064 1.1.1.20 mrg * include/bits/ranges_algobase.h (__equal_fn): Use __memcmpable.
5065 1.1.1.20 mrg (__copy_or_move, __copy_or_move_backward): Use __memcpyable.
5066 1.1.1.20 mrg * include/bits/stl_algobase.h (__copy_move_a2): Use __memcpyable.
5067 1.1.1.20 mrg (__copy_move_backward_a2): Likewise.
5068 1.1.1.20 mrg (__equal_aux1): Use __memcmpable.
5069 1.1.1.20 mrg (__lexicographical_compare_aux): Do not use memcmp optimization with
5070 1.1.1.20 mrg volatile data.
5071 1.1.1.20 mrg * testsuite/25_algorithms/copy/94013.cc: New test.
5072 1.1.1.20 mrg * testsuite/25_algorithms/copy_backward/94013.cc: New test.
5073 1.1.1.20 mrg * testsuite/25_algorithms/equal/94013.cc: New test.
5074 1.1.1.20 mrg * testsuite/25_algorithms/fill/94013.cc: New test.
5075 1.1.1.20 mrg * testsuite/25_algorithms/lexicographical_compare/94013.cc: New test.
5076 1.1.1.20 mrg * testsuite/25_algorithms/move/94013.cc: New test.
5077 1.1.1.20 mrg * testsuite/25_algorithms/move_backward/94013.cc: New test.
5078 1.1.1.20 mrg
5079 1.1.1.20 mrg * include/bits/stl_algobase.h (lexicographical_compare_three_way):
5080 1.1.1.20 mrg Avoid redundant iterator comparisons (LWG 3410).
5081 1.1.1.20 mrg
5082 1.1.1.20 mrg 2020-03-02 Jonathan Wakely <jwakely (a] redhat.com>
5083 1.1.1.20 mrg
5084 1.1.1.20 mrg PR libstdc++/93972
5085 1.1.1.20 mrg * include/bits/stl_algobase.h (__memcmp): Allow pointer types to
5086 1.1.1.20 mrg differ.
5087 1.1.1.20 mrg * testsuite/25_algorithms/lexicographical_compare/uchar.cc: New test.
5088 1.1.1.20 mrg
5089 1.1.1.20 mrg * include/std/ranges (__detail::__maybe_empty_t): Rename to
5090 1.1.1.20 mrg __maybe_present_t.
5091 1.1.1.20 mrg (__adaptor::_RangeAdaptor, join_view, split_view): Use new name.
5092 1.1.1.19 mrg
5093 1.1.1.20 mrg * include/bits/ranges_algo.h (shift_right): Add 'typename' to
5094 1.1.1.20 mrg dependent type.
5095 1.1.1.19 mrg
5096 1.1.1.20 mrg 2020-03-01 H.J. Lu <hongjiu.lu (a] intel.com>
5097 1.1.1.20 mrg
5098 1.1.1.20 mrg * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
5099 1.1.1.20 mrg
5100 1.1.1.20 mrg 2020-02-29 John David Anglin <danglin (a] gcc.gnu.org>
5101 1.1.1.20 mrg
5102 1.1.1.20 mrg * testsuite/17_intro/headers/c++1998/charset.cc: Skip on *-*-hpux*.
5103 1.1.1.19 mrg * testsuite/17_intro/headers/c++2011/charset.cc: Likewise.
5104 1.1.1.19 mrg * testsuite/17_intro/headers/c++2014/charset.cc: Likewise.
5105 1.1.1.19 mrg * testsuite/17_intro/headers/c++2017/charset.cc: Likewise.
5106 1.1.1.19 mrg * testsuite/17_intro/headers/c++2020/charset.cc: Likewise.
5107 1.1.1.19 mrg
5108 1.1.1.20 mrg * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
5109 1.1.1.20 mrg Add libatomic option.
5110 1.1.1.20 mrg * testsuite/30_threads/jthread/jthread.cc: Likewise.
5111 1.1.1.20 mrg
5112 1.1.1.20 mrg 2020-02-29 Franois Dumont <fdumont (a] gcc.gnu.org>
5113 1.1.1.20 mrg
5114 1.1.1.20 mrg * include/bits/stl_algo.h
5115 1.1.1.20 mrg (__find_if, __count_if, __is_permutation, std::is_permutation): Move...
5116 1.1.1.20 mrg * include/bits/stl_algobase.h: ...here.
5117 1.1.1.20 mrg * include/bits/hashtable_policy.h: Remove <bits/stl_algo.h> include.
5118 1.1.1.20 mrg
5119 1.1.1.20 mrg 2020-02-29 John David Anglin <danglin (a] gcc.gnu.org>
5120 1.1.1.19 mrg
5121 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback.cc: Add libatomic
5122 1.1.1.20 mrg option.
5123 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc:
5124 1.1.1.20 mrg Likewise.
5125 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: Likewise.
5126 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/destroy.cc: Likewise.
5127 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/invoke.cc: Likewise.
5128 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_source.cc: Likewise.
5129 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_source/assign.cc: Likewise.
5130 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_token.cc: Likewise.
5131 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_token/stop_possible.cc:
5132 1.1.1.20 mrg Likewise.
5133 1.1.1.19 mrg
5134 1.1.1.20 mrg PR libstdc++/92906
5135 1.1.1.20 mrg * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
5136 1.1.1.19 mrg
5137 1.1.1.20 mrg 2020-02-28 Patrick Palka <ppalka (a] redhat.com>
5138 1.1.1.19 mrg
5139 1.1.1.20 mrg PR libstdc++/93972
5140 1.1.1.20 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn::operator()):
5141 1.1.1.20 mrg Fix condition for when to use memcmp, making it consistent with the
5142 1.1.1.20 mrg corresponding condition used in std::lexicographical_compare.
5143 1.1.1.20 mrg * testsuite/25_algorithms/lexicographical_compare/93972.cc: New test.
5144 1.1.1.20 mrg
5145 1.1.1.20 mrg * testsuite/26_numerics/headers/numeric/synopsis.cc: Add signatures for
5146 1.1.1.20 mrg functions introduced in C++11, C++17 and C++2a. Add 'constexpr' to
5147 1.1.1.20 mrg existing signatures for C++2a.
5148 1.1.1.20 mrg
5149 1.1.1.20 mrg 2020-02-28 Jonathan Wakely <jwakely (a] redhat.com>
5150 1.1.1.20 mrg
5151 1.1.1.20 mrg * testsuite/24_iterators/range_operations/advance_debug_neg.cc: Run
5152 1.1.1.20 mrg test instead of just compiling it.
5153 1.1.1.20 mrg
5154 1.1.1.20 mrg 2020-02-28 Patrick Palka <ppalka (a] redhat.com>
5155 1.1.1.20 mrg
5156 1.1.1.20 mrg * include/std/ranges (reverse_view::_S_needs_cached_begin): Set to false
5157 1.1.1.20 mrg whenever the underlying range models common_range.
5158 1.1.1.20 mrg
5159 1.1.1.20 mrg * include/std/ranges (__detail::_CachedPosition): New struct.
5160 1.1.1.20 mrg (views::filter_view::_S_needs_cached_begin): New member variable.
5161 1.1.1.20 mrg (views::filter_view::_M_cached_begin): New member variable.
5162 1.1.1.20 mrg (views::filter_view::begin): Use _M_cached_begin to cache its
5163 1.1.1.20 mrg result.
5164 1.1.1.20 mrg (views::drop_view::_S_needs_cached_begin): New static member variable.
5165 1.1.1.20 mrg (views::drop_view::_M_cached_begin): New member variable.
5166 1.1.1.20 mrg (views::drop_view::begin): Use _M_cached_begin to cache its result
5167 1.1.1.20 mrg when _S_needs_cached_begin.
5168 1.1.1.20 mrg (views::drop_while_view::_M_cached_begin): New member variable.
5169 1.1.1.20 mrg (views::drop_while_view::begin): Use _M_cached_begin to cache its
5170 1.1.1.20 mrg result.
5171 1.1.1.20 mrg (views::reverse_view::_S_needs_cached_begin): New static member
5172 1.1.1.20 mrg variable.
5173 1.1.1.20 mrg (views::reverse_view::_M_cached_begin): New member variable.
5174 1.1.1.20 mrg (views::reverse_view::begin): Use _M_cached_begin to cache its result
5175 1.1.1.20 mrg when _S_needs_cached_begin.
5176 1.1.1.20 mrg * testsuite/std/ranges/adaptors/drop.cc: Augment test to check that
5177 1.1.1.20 mrg drop_view::begin caches its result.
5178 1.1.1.20 mrg * testsuite/std/ranges/adaptors/drop_while.cc: Augment test to check
5179 1.1.1.20 mrg that drop_while_view::begin caches its result.
5180 1.1.1.20 mrg * testsuite/std/ranges/adaptors/filter.cc: Augment test to check that
5181 1.1.1.20 mrg filter_view::begin caches its result.
5182 1.1.1.20 mrg * testsuite/std/ranges/adaptors/reverse.cc: Augment test to check that
5183 1.1.1.20 mrg reverse_view::begin caches its result.
5184 1.1.1.20 mrg
5185 1.1.1.20 mrg 2020-02-28 Jonathan Wakely <jwakely (a] redhat.com>
5186 1.1.1.20 mrg
5187 1.1.1.20 mrg * testsuite/27_io/filesystem/operations/last_write_time.cc: Fixes for
5188 1.1.1.20 mrg filesystems that silently truncate timestamps.
5189 1.1.1.20 mrg * testsuite/experimental/filesystem/operations/last_write_time.cc:
5190 1.1.1.20 mrg Likewise.
5191 1.1.1.20 mrg
5192 1.1.1.20 mrg * testsuite/21_strings/basic_string/cons/char/1.cc: Disable
5193 1.1.1.20 mrg -Wstringop-overflow warnings.
5194 1.1.1.20 mrg
5195 1.1.1.20 mrg 2020-02-27 Jonathan Wakely <jwakely (a] redhat.com>
5196 1.1.1.20 mrg
5197 1.1.1.20 mrg * testsuite/lib/libstdc++.exp (v3_target_compile): Add
5198 1.1.1.20 mrg -fdiagnostics-urls=never to options.
5199 1.1.1.20 mrg
5200 1.1.1.20 mrg 2020-02-27 Patrick Palka <ppalka (a] redhat.com>
5201 1.1.1.20 mrg
5202 1.1.1.20 mrg * include/std/ranges (transform_view::_Iterator<_Const>): Befriend
5203 1.1.1.20 mrg _Iterator<!_Const>.
5204 1.1.1.20 mrg (transform_view::_Sentinel<_Const>): Befriend _Sentinel<!_Const>.
5205 1.1.1.20 mrg (take_view::_Sentinel<_Const>): Likewise.
5206 1.1.1.20 mrg (take_while_view::_Sentinel<_Const>): Likewise.
5207 1.1.1.20 mrg (split_view::_OuterIter<_Const>): Befriend _OuterIter<!_Const>.
5208 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split.cc: Augment test.
5209 1.1.1.20 mrg * testsuite/std/ranges/adaptors/take.cc: Augment test.
5210 1.1.1.20 mrg * testsuite/std/ranges/adaptors/take_while.cc: Augment test.
5211 1.1.1.20 mrg * testsuite/std/ranges/adaptors/transform.cc: Augment test.
5212 1.1.1.20 mrg
5213 1.1.1.20 mrg * testsuite/25_algorithms/copy/constrained.cc: Don't assume that the
5214 1.1.1.20 mrg base() of a vector<>::iterator is a pointer.
5215 1.1.1.20 mrg * testsuite/25_algorithms/copy_backward/constrained.cc: Likewise.
5216 1.1.1.20 mrg * testsuite/25_algorithms/move/constrained.cc: Likewise.
5217 1.1.1.20 mrg * testsuite/25_algorithms/move_backward/constrained.cc: Likewise.
5218 1.1.1.20 mrg * testsuite/25_algorithms/inplace_merge/constrained.cc: Use foo.data()
5219 1.1.1.20 mrg instead of &foo[0].
5220 1.1.1.20 mrg * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise.
5221 1.1.1.20 mrg * testsuite/25_algorithms/partial_sort_copy/constrained.cc: Likewise.
5222 1.1.1.20 mrg * testsuite/25_algorithms/shuffle/constrained.cc: Likewise.
5223 1.1.1.20 mrg * testsuite/25_algorithms/sort/constrained.cc: Likewise.
5224 1.1.1.20 mrg * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise.
5225 1.1.1.20 mrg
5226 1.1.1.20 mrg 2020-02-27 Jonathan Wakely <jwakely (a] redhat.com>
5227 1.1.1.20 mrg
5228 1.1.1.20 mrg * include/debug/array (operator<=>): Define for C++20.
5229 1.1.1.20 mrg * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
5230 1.1.1.20 mrg Adjust dg-error line numbers.
5231 1.1.1.20 mrg * testsuite/23_containers/array/tuple_interface/
5232 1.1.1.20 mrg tuple_element_debug_neg.cc: Likewise.
5233 1.1.1.20 mrg
5234 1.1.1.20 mrg * testsuite/23_containers/span/back_assert_neg.cc: Add #undef before
5235 1.1.1.20 mrg defining _GLIBCXX_ASSERTIONS.
5236 1.1.1.20 mrg * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
5237 1.1.1.20 mrg * testsuite/23_containers/span/first_assert_neg.cc: Likewise.
5238 1.1.1.20 mrg * testsuite/23_containers/span/front_assert_neg.cc: Likewise.
5239 1.1.1.20 mrg * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
5240 1.1.1.20 mrg * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
5241 1.1.1.20 mrg * testsuite/23_containers/span/last_assert_neg.cc: Likewise.
5242 1.1.1.20 mrg * testsuite/23_containers/span/subspan_2_assert_neg.cc: Likewise.
5243 1.1.1.20 mrg * testsuite/23_containers/span/subspan_3_assert_neg.cc: Likewise.
5244 1.1.1.20 mrg * testsuite/23_containers/span/subspan_4_assert_neg.cc: Likewise.
5245 1.1.1.20 mrg * testsuite/23_containers/span/subspan_5_assert_neg.cc: Likewise.
5246 1.1.1.20 mrg * testsuite/23_containers/span/subspan_6_assert_neg.cc: Likewise.
5247 1.1.1.20 mrg * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
5248 1.1.1.20 mrg
5249 1.1.1.20 mrg * include/debug/string (__gnu_debug::basic_string::insert): Fix for
5250 1.1.1.20 mrg C++98 where the member function of the base class returns void.
5251 1.1.1.20 mrg
5252 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h (forward_iterator_wrapper): Add
5253 1.1.1.20 mrg equality comparisons that support value-initialized iterators.
5254 1.1.1.20 mrg
5255 1.1.1.20 mrg * include/bits/boost_concept_check.h (__function_requires): Add
5256 1.1.1.20 mrg _GLIBCXX14_CONSTEXPR.
5257 1.1.1.20 mrg * testsuite/25_algorithms/min/concept_checks.cc: New test.
5258 1.1.1.20 mrg
5259 1.1.1.20 mrg 2020-02-26 Patrick Palka <ppalka (a] redhat.com>
5260 1.1.1.20 mrg
5261 1.1.1.20 mrg PR libstdc++/93936
5262 1.1.1.20 mrg * include/std/ranges (split_view::_InnerIter::operator==): Compare
5263 1.1.1.20 mrg the operands' _M_i rather than their _M_i.current().
5264 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split.cc: Augment test.
5265 1.1.1.20 mrg
5266 1.1.1.20 mrg P1645R1 constexpr for <numeric> algorithms
5267 1.1.1.20 mrg * include/bits/stl_numeric.h (iota, accumulate, inner_product,
5268 1.1.1.20 mrg partial_sum, adjacent_difference): Make conditionally constexpr for
5269 1.1.1.20 mrg C++20.
5270 1.1.1.20 mrg * include/std/numeric (__cpp_lib_constexpr_numeric): Define this feature
5271 1.1.1.20 mrg test macro.
5272 1.1.1.20 mrg (reduce, transform_reduce, exclusive_scan, inclusive_scan,
5273 1.1.1.20 mrg transform_exclusive_scan, transform_inclusive_scan): Make conditionally
5274 1.1.1.20 mrg constexpr for C++20.
5275 1.1.1.20 mrg * include/std/version (__cpp_lib_constexpr_numeric): Define.
5276 1.1.1.20 mrg * testsuite/26_numerics/accumulate/constexpr.cc: New test.
5277 1.1.1.20 mrg * testsuite/26_numerics/adjacent_difference/constexpr.cc: Likewise.
5278 1.1.1.20 mrg * testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise.
5279 1.1.1.20 mrg * testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise.
5280 1.1.1.20 mrg * testsuite/26_numerics/inner_product/constexpr.cc: Likewise.
5281 1.1.1.20 mrg * testsuite/26_numerics/iota/constexpr.cc: Likewise.
5282 1.1.1.20 mrg * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise.
5283 1.1.1.20 mrg * testsuite/26_numerics/reduce/constexpr.cc: Likewise.
5284 1.1.1.20 mrg * testsuite/26_numerics/transform_exclusive_scan/constexpr.cc: Likewise.
5285 1.1.1.20 mrg * testsuite/26_numerics/transform_inclusive_scan/constexpr.cc: Likewise.
5286 1.1.1.20 mrg * testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise.
5287 1.1.1.20 mrg
5288 1.1.1.20 mrg 2020-02-26 Jonathan Wakely <jwakely (a] redhat.com>
5289 1.1.1.20 mrg
5290 1.1.1.20 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn): Declare
5291 1.1.1.20 mrg variables in smaller scope and avoid calling ranges::distance when we
5292 1.1.1.20 mrg know they are pointers. Remove statically-unreachable use of
5293 1.1.1.20 mrg __builtin_unreachable().
5294 1.1.1.20 mrg * include/bits/stl_algobase.h (__lexicographical_compare::__lc):
5295 1.1.1.20 mrg Define inline.
5296 1.1.1.20 mrg
5297 1.1.1.20 mrg * include/std/ranges (__detail::__maybe_empty_t): Define new helper
5298 1.1.1.20 mrg alias.
5299 1.1.1.20 mrg (__detail::__maybe_const_t): Likewise.
5300 1.1.1.20 mrg (__adaptor::_RangeAdaptor): Use __maybe_empty_t.
5301 1.1.1.20 mrg (transform_view, take_view, take_while_view, elements_view): Use
5302 1.1.1.20 mrg __maybe_const_t.
5303 1.1.1.20 mrg (join_view, split_view): Use both.
5304 1.1.1.20 mrg
5305 1.1.1.20 mrg 2020-02-25 Patrick Palka <ppalka (a] redhat.com>
5306 1.1.1.20 mrg
5307 1.1.1.20 mrg LWG 3397 basic_istream_view::iterator should not provide
5308 1.1.1.20 mrg iterator_category
5309 1.1.1.20 mrg * include/std/ranges (basic_istream_view:_Iterator::iterator_category):
5310 1.1.1.20 mrg Rename to ...
5311 1.1.1.20 mrg (basic_istream_view:_Iterator::iterator_concept): ... this.
5312 1.1.1.20 mrg * testsuite/std/ranges/istream_view.cc: Augment test.
5313 1.1.1.20 mrg
5314 1.1.1.20 mrg LWG 3325 Constrain return type of transformation function for
5315 1.1.1.20 mrg transform_view
5316 1.1.1.20 mrg * include/std/ranges (transform_view): Constrain the return type of the
5317 1.1.1.20 mrg transformation function as per LWG 3325.
5318 1.1.1.20 mrg * testsuite/std/ranges/adaptors/lwg3325_neg.cc: New test.
5319 1.1.1.20 mrg
5320 1.1.1.20 mrg LWG 3313 join_view::_Iterator::operator-- is incorrectly constrained
5321 1.1.1.20 mrg * include/std/ranges (join_view::_Iterator::operator--): Require that
5322 1.1.1.20 mrg range_reference_t<_Base> models common_range.
5323 1.1.1.20 mrg * testsuite/std/ranges/adaptors/lwg3313_neg.cc: New test.
5324 1.1.1.20 mrg
5325 1.1.1.20 mrg LWG 3301 transform_view::_Iterator has incorrect iterator_category
5326 1.1.1.20 mrg * include/std/ranges (transform_view::_Iterator::_S_iter_cat): Adjust
5327 1.1.1.20 mrg determination of iterator_category as per LWG 3301.
5328 1.1.1.20 mrg * testsuite/std/ranges/adaptors/transform.cc: Augment test.
5329 1.1.1.20 mrg
5330 1.1.1.20 mrg LWG 3292 iota_view is under-constrained
5331 1.1.1.20 mrg * include/std/ranges (iota_view): Require that _Winc models semiregular
5332 1.1.1.20 mrg as per LWG 3292.
5333 1.1.1.20 mrg * testsuite/std/ranges/iota/lwg3292_neg.cc: New test.
5334 1.1.1.20 mrg
5335 1.1.1.20 mrg 2020-02-25 Jonathan Wakely <jwakely (a] redhat.com>
5336 1.1.1.20 mrg
5337 1.1.1.20 mrg * include/bits/ranges_algobase.h (__copy_or_move): Do not use memmove
5338 1.1.1.20 mrg during constant evaluation. Call __builtin_memmove directly instead of
5339 1.1.1.20 mrg __memmove.
5340 1.1.1.20 mrg (__copy_or_move_backward): Likewise.
5341 1.1.1.20 mrg * include/bits/stl_algobase.h (__memmove): Remove.
5342 1.1.1.20 mrg (__copy_move<M, true, random_access_iterator_tag>::__copy_m)
5343 1.1.1.20 mrg (__copy_move_backward<M, true, random_access_iterator_tag>::__copy_m):
5344 1.1.1.20 mrg Use __builtin_memmove directly instead of __memmove.
5345 1.1.1.20 mrg (__copy_move_a2): Do not use memmove during constant evaluation.
5346 1.1.1.20 mrg (__copy_move_backward_a2): Use _IsMove constant to select correct
5347 1.1.1.20 mrg __copy_move_backward specialization.
5348 1.1.1.20 mrg * testsuite/25_algorithms/copy_backward/constexpr.cc: Check for copies
5349 1.1.1.20 mrg begin turned into moves during constant evaluation.
5350 1.1.1.20 mrg
5351 1.1.1.20 mrg * testsuite/25_algorithms/move_backward/93872.cc: Add test left out of
5352 1.1.1.20 mrg previous commit.
5353 1.1.1.20 mrg
5354 1.1.1.20 mrg PR libstdc++/93872
5355 1.1.1.20 mrg * include/bits/stl_algobase.h (__memmove): Cast away const before
5356 1.1.1.20 mrg doing move assignment.
5357 1.1.1.20 mrg * testsuite/25_algorithms/move/93872.cc: New test.
5358 1.1.1.20 mrg * testsuite/25_algorithms/move_backward/93872.cc: New test.
5359 1.1.1.20 mrg
5360 1.1.1.20 mrg 2020-02-24 Patrick Palka <ppalka (a] redhat.com>
5361 1.1.1.20 mrg
5362 1.1.1.20 mrg PR libstdc++/93884
5363 1.1.1.20 mrg * include/bits/ranges_algobase.h (__copy_or_move,
5364 1.1.1.20 mrg __copy_or_move_backward): Don't inspect the iter_value_t of the output
5365 1.1.1.20 mrg iterator, instead inspect its iterator_traits directly.
5366 1.1.1.20 mrg * include/bits/stl_iterator.h (back_insert_iterator::container):
5367 1.1.1.20 mrg Conditionally initialize.
5368 1.1.1.20 mrg (back_insert_iterator::difference_type): Conditionally define.
5369 1.1.1.20 mrg (back_insert_iterator::back_insert_iterator): Conditionally define this
5370 1.1.1.20 mrg default constructor.
5371 1.1.1.20 mrg (front_insert_iterator::container): Conditionally initialize.
5372 1.1.1.20 mrg (front_insert_iterator::difference_type): Conditionally define.
5373 1.1.1.20 mrg (front_insert_iterator::front_insert_iterator): Conditionally define
5374 1.1.1.20 mrg this default constructor.
5375 1.1.1.20 mrg * 24_iterators/back_insert_iterator/pr93884.cc: New test.
5376 1.1.1.20 mrg * 24_iterators/front_insert_iterator/pr93884.cc: New test.
5377 1.1.1.20 mrg
5378 1.1.1.20 mrg P0769R2 Add shift to <algorithm>
5379 1.1.1.20 mrg * include/bits/ranges_algo.h (shift_left, shift_right): New.
5380 1.1.1.20 mrg * testsuite/25_algorithms/shift_left/1.cc: New test.
5381 1.1.1.20 mrg * testsuite/25_algorithms/shift_right/1.cc: New test.
5382 1.1.1.20 mrg
5383 1.1.1.20 mrg 2020-02-24 Jonathan Wakely <jwakely (a] redhat.com>
5384 1.1.1.20 mrg
5385 1.1.1.20 mrg * include/bits/stream_iterator.h (istream_iterator(default_sentinel_t)):
5386 1.1.1.20 mrg Make noexcept-specifier conditional.
5387 1.1.1.20 mrg * testsuite/24_iterators/istream_iterator/cons/sentinel.cc: Check
5388 1.1.1.20 mrg noexcept-specifier.
5389 1.1.1.20 mrg
5390 1.1.1.20 mrg * include/bits/stream_iterator.h (istream_iterator(default_sentinel_t)):
5391 1.1.1.20 mrg Add constructor.
5392 1.1.1.20 mrg (operator==(istream_iterator, default_sentinel_t)): Add operator.
5393 1.1.1.20 mrg (ostream_iterator::difference_type): Define to ptrdiff_t for C++20.
5394 1.1.1.20 mrg * include/bits/streambuf_iterator.h
5395 1.1.1.20 mrg (istreambuf_iterator(default_sentinel_t)): Add constructor.
5396 1.1.1.20 mrg (operator==(istreambuf_iterator, default_sentinel_t)): Add operator.
5397 1.1.1.20 mrg * testsuite/24_iterators/istream_iterator/cons/sentinel.cc:
5398 1.1.1.20 mrg New test.
5399 1.1.1.20 mrg * testsuite/24_iterators/istream_iterator/sentinel.cc: New test.
5400 1.1.1.20 mrg * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc:
5401 1.1.1.19 mrg New test.
5402 1.1.1.20 mrg * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: New test.
5403 1.1.1.19 mrg
5404 1.1.1.20 mrg * include/std/ranges (__deep_const_range, __enable_view_impl): Remove.
5405 1.1.1.20 mrg (ranges::enable_view): Simplify (LWG 3326).
5406 1.1.1.20 mrg * include/bits/range_access.h (ranges::enable_view): Declare.
5407 1.1.1.20 mrg * include/bits/regex.h (__enable_view_impl): Remove partial
5408 1.1.1.20 mrg specialization.
5409 1.1.1.20 mrg * include/bits/stl_multiset.h (__enable_view_impl): Likewise.
5410 1.1.1.20 mrg * include/bits/stl_set.h (__enable_view_impl): Likewise.
5411 1.1.1.20 mrg * include/bits/unordered_set.h (__enable_view_impl): Likewise.
5412 1.1.1.20 mrg * include/debug/multiset.h (__enable_view_impl): Likewise.
5413 1.1.1.20 mrg * include/debug/set.h (__enable_view_impl): Likewise.
5414 1.1.1.20 mrg * include/debug/unordered_set (__enable_view_impl): Likewise.
5415 1.1.1.20 mrg * include/experimental/string_view (ranges::enable_view): Define
5416 1.1.1.20 mrg partial specialization.
5417 1.1.1.20 mrg * include/std/span (ranges::enable_view): Likewise.
5418 1.1.1.20 mrg * include/std/string_view (ranges::enable_view): Likewise.
5419 1.1.1.20 mrg * testsuite/std/ranges/view.cc: Check satisfaction of updated concept.
5420 1.1.1.20 mrg
5421 1.1.1.20 mrg 2020-02-21 Jonathan Wakely <jwakely (a] redhat.com>
5422 1.1.1.20 mrg
5423 1.1.1.20 mrg * include/std/optional (operator<=>(optional<T>, optional<U>))
5424 1.1.1.20 mrg (operator<=>(optional<T>, nullopt), operator<=>(optional<T>, U)):
5425 1.1.1.20 mrg Define for C++20.
5426 1.1.1.20 mrg * include/std/tuple (__tuple_cmp): New helper function for <=>.
5427 1.1.1.20 mrg (operator<=>(tuple<T...>, tuple<U>...)): Define for C++20.
5428 1.1.1.20 mrg * include/std/variant (operator<=>(variant<T...>, variant<T...>))
5429 1.1.1.20 mrg (operator<=>(monostate, monostate)): Define for C++20.
5430 1.1.1.20 mrg * testsuite/20_util/optional/relops/three_way.cc: New test.
5431 1.1.1.20 mrg * testsuite/20_util/tuple/comparison_operators/three_way.cc: New test.
5432 1.1.1.20 mrg * testsuite/20_util/variant/89851.cc: Move to ...
5433 1.1.1.20 mrg * testsuite/20_util/variant/relops/89851.cc: ... here.
5434 1.1.1.20 mrg * testsuite/20_util/variant/90008.cc: Move to ...
5435 1.1.1.20 mrg * testsuite/20_util/variant/relops/90008.cc: ... here.
5436 1.1.1.20 mrg * testsuite/20_util/variant/relops/three_way.cc: New test.
5437 1.1.1.19 mrg
5438 1.1.1.20 mrg 2020-02-20 Patrick Palka <ppalka (a] redhat.com>
5439 1.1.1.19 mrg
5440 1.1.1.20 mrg * include/std/ranges (views::__adaptor::__maybe_refwrap): New utility
5441 1.1.1.20 mrg function.
5442 1.1.1.20 mrg (views::__adaptor::_RangeAdaptor::operator()): Add comments. Use
5443 1.1.1.20 mrg __maybe_refwrap to capture lvalue references by reference, and then use
5444 1.1.1.20 mrg unwrap_reference_t to forward the by-reference captures as references.
5445 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split.cc: Augment test.
5446 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split_neg.cc: New test.
5447 1.1.1.20 mrg
5448 1.1.1.20 mrg * include/std/ranges (iota_view): Forward declare _Sentinel.
5449 1.1.1.20 mrg (iota_view::_Iterator): Befriend _Sentinel.
5450 1.1.1.20 mrg (iota_view::_Sentinel::_M_equal): New member function.
5451 1.1.1.20 mrg (iota_view::_Sentinel::operator==): Use it.
5452 1.1.1.20 mrg (views::_Iota::operator()): Forward __f using the correct type.
5453 1.1.1.20 mrg * testsuite/std/ranges/access/ssize.cc (test06): Don't call views::iota
5454 1.1.1.20 mrg with integers of different signedness, to appease iota_view's deduction
5455 1.1.1.20 mrg guide.
5456 1.1.1.20 mrg * testsuite/std/ranges/iota/iota_view.cc: Augment test.
5457 1.1.1.20 mrg
5458 1.1.1.20 mrg 2020-02-20 Jonathan Wakely <jwakely (a] redhat.com>
5459 1.1.1.20 mrg
5460 1.1.1.20 mrg * include/bits/range_access.h (ranges::begin): Reject array of
5461 1.1.1.20 mrg incomplete type.
5462 1.1.1.20 mrg (ranges::end, ranges::size): Require arrays to be bounded.
5463 1.1.1.20 mrg (ranges::data): Require lvalue or borrowed_range.
5464 1.1.1.20 mrg (ranges::iterator_t): Remove constraint.
5465 1.1.1.20 mrg * testsuite/std/ranges/access/begin.cc: Do not check array of
5466 1.1.1.20 mrg incomplete type.
5467 1.1.1.20 mrg * testsuite/std/ranges/access/begin_neg.cc: New test.
5468 1.1.1.20 mrg * testsuite/std/ranges/access/end_neg.cc: Adjust expected error.
5469 1.1.1.20 mrg * testsuite/std/ranges/access/size_neg.cc: Adjust expected error.
5470 1.1.1.20 mrg * testsuite/std/ranges/access/ssize.cc: Do not check array of
5471 1.1.1.20 mrg incomplete type.
5472 1.1.1.20 mrg
5473 1.1.1.20 mrg * include/std/system_error (error_category::operator<=>)
5474 1.1.1.20 mrg (operator<=>(const error_code&, const error_code&))
5475 1.1.1.20 mrg (operator<=>(const error_condition&, const error_condition&)): Define
5476 1.1.1.20 mrg for C++20.
5477 1.1.1.20 mrg * testsuite/19_diagnostics/error_category/operators/less.cc: New test.
5478 1.1.1.20 mrg * testsuite/19_diagnostics/error_category/operators/three_way.cc: New
5479 1.1.1.20 mrg test.
5480 1.1.1.20 mrg * testsuite/19_diagnostics/error_code/operators/equal.cc: Remove
5481 1.1.1.20 mrg incorrect comment.
5482 1.1.1.20 mrg * testsuite/19_diagnostics/error_code/operators/less.cc: New test.
5483 1.1.1.20 mrg * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Remove
5484 1.1.1.20 mrg incorrect comment.
5485 1.1.1.20 mrg * testsuite/19_diagnostics/error_code/operators/three_way.cc: New test.
5486 1.1.1.20 mrg * testsuite/19_diagnostics/error_condition/operators/equal.cc: Remove
5487 1.1.1.20 mrg incorrect comment.
5488 1.1.1.20 mrg * testsuite/19_diagnostics/error_condition/operators/less.cc: New test.
5489 1.1.1.20 mrg * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
5490 1.1.1.20 mrg Remove incorrect comment.
5491 1.1.1.20 mrg * testsuite/19_diagnostics/error_condition/operators/three_way.cc: New
5492 1.1.1.20 mrg test.
5493 1.1.1.19 mrg
5494 1.1.1.20 mrg * libsupc++/typeinfo (type_info::operator!=): Remove for C++20.
5495 1.1.1.19 mrg
5496 1.1.1.20 mrg * include/std/thread (thread::id::operator<=>): Define for C++20.
5497 1.1.1.20 mrg * testsuite/30_threads/thread/id/70294.cc: Do not take addresses of
5498 1.1.1.20 mrg functions in namespace std.
5499 1.1.1.20 mrg * testsuite/30_threads/thread/id/operators_c++20.cc: New test.
5500 1.1.1.20 mrg
5501 1.1.1.20 mrg 2020-02-19 Patrick Palka <ppalka (a] redhat.com>
5502 1.1.1.20 mrg
5503 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split.cc (test03): Don't include the
5504 1.1.1.20 mrg null terminator of the underlying string as part of the test_range.
5505 1.1.1.20 mrg (main): Call test03.
5506 1.1.1.20 mrg
5507 1.1.1.20 mrg 2020-02-19 Jonathan Wakely <jwakely (a] redhat.com>
5508 1.1.1.20 mrg
5509 1.1.1.20 mrg * include/bits/stl_iterator.h (common_iterator): Add copyable<I>
5510 1.1.1.20 mrg requirement (LWG 3385).
5511 1.1.1.20 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: Adjust
5512 1.1.1.20 mrg expected declaration.
5513 1.1.1.20 mrg
5514 1.1.1.20 mrg * include/std/ranges (take_while_view, drop_view, drop_while_view)
5515 1.1.1.20 mrg (elements_view:_Iterator): Initialize data members (LWG 3364).
5516 1.1.1.20 mrg
5517 1.1.1.20 mrg * libsupc++/compare (three_way_comparable): Remove always-false check
5518 1.1.1.20 mrg that should have been removed with weak_equality (P1959R0).
5519 1.1.1.20 mrg (three_way_comparable_with): Likewise. Reorder requirements (LWG 3360).
5520 1.1.1.20 mrg
5521 1.1.1.20 mrg * include/std/concepts (__detail::__partially_ordered_with): Move here
5522 1.1.1.20 mrg from <compare>.
5523 1.1.1.20 mrg (totally_ordered, totally_ordered_with): Use __partially_ordered_with
5524 1.1.1.20 mrg to simplify definition (LWG 3331).
5525 1.1.1.20 mrg * libsupc++/compare (__detail::__partially_ordered_with): Move to
5526 1.1.1.20 mrg <concepts>.
5527 1.1.1.20 mrg
5528 1.1.1.20 mrg * include/std/concepts (totally_ordered_with): Remove redundant
5529 1.1.1.20 mrg requirement (LWG 3329).
5530 1.1.1.20 mrg
5531 1.1.1.20 mrg * include/std/ranges (__detail::__convertible_to_non_slicing): New
5532 1.1.1.20 mrg helper concept.
5533 1.1.1.20 mrg (__detail::__pair_like_convertible_to): Remove.
5534 1.1.1.20 mrg (__detail::__pair_like_convertible_from): Add requirements for
5535 1.1.1.20 mrg non-slicing conversions.
5536 1.1.1.20 mrg (subrange): Constrain constructors with __convertible_to_non_slicing.
5537 1.1.1.20 mrg Remove constructors from pair-like types. Add new deduction guide.
5538 1.1.1.20 mrg * testsuite/std/ranges/subrange/lwg3282_neg.cc: New test.
5539 1.1.1.20 mrg
5540 1.1.1.20 mrg * include/bits/iterator_concepts.h (iter_move): Add declaration to
5541 1.1.1.20 mrg prevent unqualified lookup finding a suitable declaration (LWG 3247).
5542 1.1.1.20 mrg
5543 1.1.1.20 mrg * include/std/memory_resource (polymorphic_allocator::allocate)
5544 1.1.1.20 mrg (polymorphic_allocator::allocate_object): Change type of exception to
5545 1.1.1.20 mrg bad_array_new_length (LWG 3237).
5546 1.1.1.20 mrg * testsuite/20_util/polymorphic_allocator/lwg3237.cc: New test.
5547 1.1.1.20 mrg
5548 1.1.1.20 mrg * include/std/type_traits (__cpp_lib_unwrap_ref): Define (LWG 3348).
5549 1.1.1.20 mrg * include/std/version (__cpp_lib_unwrap_ref): Likewise.
5550 1.1.1.20 mrg * testsuite/20_util/unwrap_reference/1.cc: Check macro.
5551 1.1.1.20 mrg * testsuite/20_util/unwrap_reference/3.cc: New test.
5552 1.1.1.20 mrg
5553 1.1.1.20 mrg * include/std/numeric (midpoint(T8, T*)): Do not check for complete
5554 1.1.1.20 mrg type during overload resolution, use static assert instead (LWG 3200).
5555 1.1.1.20 mrg * testsuite/26_numerics/midpoint/pointer.cc: Do not test with
5556 1.1.1.20 mrg incomplete type.
5557 1.1.1.20 mrg * testsuite/26_numerics/midpoint/pointer_neg.cc: New test.
5558 1.1.1.20 mrg
5559 1.1.1.20 mrg * include/std/span (span(T (&)[N])): Use non-deduced context to
5560 1.1.1.20 mrg prevent first parameter from interfering with class template argument
5561 1.1.1.20 mrg deduction (LWG 3369).
5562 1.1.1.20 mrg * testsuite/23_containers/span/deduction.cc: Add missing 'const'.
5563 1.1.1.20 mrg * testsuite/23_containers/span/lwg3255.cc: Check for construction from
5564 1.1.1.20 mrg rvalues.
5565 1.1.1.20 mrg
5566 1.1.1.20 mrg * include/std/span (span::const_iterator, span::const_reverse_iterator)
5567 1.1.1.20 mrg (span::cbegin(), span::cend(), span::crbegin(), span::crend()):
5568 1.1.1.20 mrg Remove (LWG 3320).
5569 1.1.1.20 mrg * testsuite/23_containers/span/everything.cc: Replace uses of cbegin
5570 1.1.1.20 mrg and cend.
5571 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/destroy/constrained.cc:
5572 1.1.1.20 mrg Likewise.
5573 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/uninitialized_copy/
5574 1.1.1.20 mrg constrained.cc: Likewise.
5575 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/
5576 1.1.1.20 mrg uninitialized_default_construct/constrained.cc: Likewise.
5577 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill/
5578 1.1.1.20 mrg constrained.cc: Likewise.
5579 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/uninitialized_move/
5580 1.1.1.20 mrg constrained.cc: Likewise.
5581 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/
5582 1.1.1.20 mrg uninitialized_value_construct/constrained.cc: Likewise.
5583 1.1.1.20 mrg
5584 1.1.1.20 mrg * include/bits/range_access.h (range_size_t): Define alias template.
5585 1.1.1.20 mrg * include/std/ranges (all_view): Rename to views::all_t (LWG 3335).
5586 1.1.1.20 mrg * testsuite/std/ranges/adaptors/filter.cc: Adjust to new name.
5587 1.1.1.20 mrg
5588 1.1.1.20 mrg * include/std/ranges (filter_view, transform_view, take_view)
5589 1.1.1.20 mrg (join_view, split_view, reverse_view): Remove commented-out converting
5590 1.1.1.20 mrg constructors (LWG 3280).
5591 1.1.1.18 mrg
5592 1.1.1.20 mrg * include/std/memory (uninitialized_construct_using_allocator): Use
5593 1.1.1.20 mrg std::construct_at (LWG 3321).
5594 1.1.1.18 mrg
5595 1.1.1.20 mrg * include/std/memory_resource (polymorphic_allocator::allocate_bytes)
5596 1.1.1.20 mrg (polymorphic_allocator::allocate_object)
5597 1.1.1.20 mrg (polymorphic_allocator::new_object): Add nodiscard attribute (LWG3304).
5598 1.1.1.20 mrg
5599 1.1.1.20 mrg LWG 3379. "safe" in several library names is misleading
5600 1.1.1.20 mrg * include/bits/range_access.h (enable_safe_range): Rename to
5601 1.1.1.20 mrg enable_borrowed_range.
5602 1.1.1.20 mrg (__detail::__maybe_safe_range): Rename to __maybe_borrowed_range.
5603 1.1.1.20 mrg (safe_range): Rename to borrowed_range.
5604 1.1.1.20 mrg * include/bits/ranges_algo.h: Adjust to use new names.
5605 1.1.1.20 mrg * include/bits/ranges_algobase.h: Likewise.
5606 1.1.1.20 mrg * include/bits/ranges_uninitialized.h: Likewise.
5607 1.1.1.20 mrg * include/std/ranges: Likewise.
5608 1.1.1.20 mrg (safe_iterator_t): Rename to borrowed_iterator_t.
5609 1.1.1.20 mrg (safe_subrange_t): Rename to borrowed_subrange_t.
5610 1.1.1.20 mrg * include/std/span: Adjust to use new names.
5611 1.1.1.20 mrg * include/std/string_view: Likewise.
5612 1.1.1.20 mrg * include/experimental/string_view: Likewise.
5613 1.1.1.20 mrg * testsuite/std/ranges/access/begin.cc: Likewise.
5614 1.1.1.20 mrg * testsuite/std/ranges/access/cbegin.cc: Likewise.
5615 1.1.1.20 mrg * testsuite/std/ranges/access/cdata.cc: Likewise.
5616 1.1.1.20 mrg * testsuite/std/ranges/access/cend.cc: Likewise.
5617 1.1.1.20 mrg * testsuite/std/ranges/access/crbegin.cc: Likewise.
5618 1.1.1.20 mrg * testsuite/std/ranges/access/crend.cc: Likewise.
5619 1.1.1.20 mrg * testsuite/std/ranges/access/data.cc: Likewise.
5620 1.1.1.20 mrg * testsuite/std/ranges/access/end.cc: Likewise.
5621 1.1.1.20 mrg * testsuite/std/ranges/access/rbegin.cc: Likewise.
5622 1.1.1.20 mrg * testsuite/std/ranges/access/rend.cc: Likewise.
5623 1.1.1.20 mrg * testsuite/std/ranges/safe_range.cc: Likewise.
5624 1.1.1.20 mrg * testsuite/std/ranges/safe_range_types.cc: Likewise.
5625 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h: Likewise.
5626 1.1.1.20 mrg
5627 1.1.1.20 mrg * include/std/ranges (tuple_element<0, const subrange<I, S, K>>)
5628 1.1.1.20 mrg (tuple_element<1, const subrange<I, S, K>>): Add partial
5629 1.1.1.20 mrg specializations (LWG 3398).
5630 1.1.1.20 mrg * testsuite/std/ranges/subrange/tuple_like.cc: New test.
5631 1.1.1.20 mrg
5632 1.1.1.20 mrg * include/bits/ranges_algo.h (__find_fn, __find_first_of_fn)
5633 1.1.1.20 mrg (__adjacent_find_fn, __remove_if_fn, __remove_copy_if_fn)
5634 1.1.1.20 mrg (__unique_fn, __unique_copy_fn): Remove redundant conversions to bool.
5635 1.1.1.20 mrg
5636 1.1.1.20 mrg 2020-02-18 Patrick Palka <ppalka (a] redhat.com>
5637 1.1.1.20 mrg
5638 1.1.1.20 mrg P1983R0 Wording for GB301, US296, US292, US291, and US283
5639 1.1.1.20 mrg * include/std/ranges (filter_view::pred): New member function.
5640 1.1.1.20 mrg (join_view::_Iterator::_Iterator): Remove now-redundant comment since
5641 1.1.1.20 mrg P1983R0 fixes the highlighted issue in the same way.
5642 1.1.1.20 mrg (join_view::_Iterator<_Const>): Add friend
5643 1.1.1.20 mrg join_view::_Iterator<!_Const>.
5644 1.1.1.20 mrg (join_view::_M_inner): Remove mutable specifier, effectively reverting
5645 1.1.1.20 mrg the proposed wording changes of P3278.
5646 1.1.1.20 mrg (join_view::begin): Refine the condition for when to return a const
5647 1.1.1.20 mrg iterator.
5648 1.1.1.20 mrg (split_view::_OuterIter::_OuterIter): Adjust constraints.
5649 1.1.1.20 mrg * testsuite/std/ranges/adaptors/filter.cc: Test that filter_view::pred
5650 1.1.1.20 mrg exists and works.
5651 1.1.1.20 mrg
5652 1.1.1.20 mrg 2020-02-18 Jonathan Wakely <jwakely (a] redhat.com>
5653 1.1.1.20 mrg
5654 1.1.1.20 mrg PR libstdc++/93818
5655 1.1.1.20 mrg * include/std/ranges (_RangeAdaptor): Add deduction guide.
5656 1.1.1.20 mrg (filter_view::_Iterator): Add alias _Vp_iter and use in place of
5657 1.1.1.20 mrg iterator_t<_Vp>.
5658 1.1.1.20 mrg (filter_view::_Iterator::_S_iter_cat()): Add 'typename'.
5659 1.1.1.20 mrg (transform_view::_Iterator): Add alias _Base_iter and use in place of
5660 1.1.1.20 mrg iterator_t<_Base>.
5661 1.1.1.20 mrg (transform_view::_Iterator::_S_iter_cat()): Add 'typename'.
5662 1.1.1.20 mrg (join_view::_Iterator): Add _Outer_iter and _Inner_iter aliases.
5663 1.1.1.20 mrg (join_view::_Iterator::_S_iter_cat()): Add 'typename'.
5664 1.1.1.20 mrg (split_view::_InnerIter::_S_iter_cat()): Likewise.
5665 1.1.1.20 mrg
5666 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/equal.cc: Fix invalid
5667 1.1.1.20 mrg assumption that long is wider than int.
5668 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/greater_equal.cc: Likewise.
5669 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/less.cc: Likewise.
5670 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise.
5671 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise.
5672 1.1.1.20 mrg
5673 1.1.1.20 mrg P1976R2 Fixed-size span construction from dynamic range
5674 1.1.1.20 mrg * include/std/span (__cpp_lib_span): Update value.
5675 1.1.1.20 mrg (span(It, size_type), span(It, End)): Make conditionally explicit. Add
5676 1.1.1.20 mrg assertion.
5677 1.1.1.20 mrg (span(R&&), span(const span<OType, OExtent>&)): Likewise and relax
5678 1.1.1.20 mrg constraints.
5679 1.1.1.20 mrg (span::first<Count>(), span::last<Count>()): Use explicit type in
5680 1.1.1.20 mrg return statement.
5681 1.1.1.20 mrg (as_bytes, as_writable_bytes): Likewise.
5682 1.1.1.20 mrg * include/std/version (__cpp_lib_span): Update value.
5683 1.1.1.20 mrg * testsuite/23_containers/span/1.cc: Check new value.
5684 1.1.1.20 mrg * testsuite/23_containers/span/2.cc: Check new value.
5685 1.1.1.20 mrg * testsuite/23_containers/span/explicit.cc: New test.
5686 1.1.1.20 mrg
5687 1.1.1.20 mrg * include/std/span (span::__is_compatible_array): Simplify alias
5688 1.1.1.20 mrg template by using requires-clause.
5689 1.1.1.20 mrg (span::__is_compatible_ref): New alias template for constraining
5690 1.1.1.20 mrg constructors.
5691 1.1.1.20 mrg (span::__is_compatible_iterator, span::__is_compatible_range): Remove.
5692 1.1.1.20 mrg (span(It, size_type), span(It, End)): Use __is_compatible_ref.
5693 1.1.1.20 mrg (span(T(&)[N], span(array<T, N>&), span(const array<T, N>&)): Remove
5694 1.1.1.20 mrg redundant parentheses.
5695 1.1.1.20 mrg (span(R&&)): Add missing constraints.
5696 1.1.1.20 mrg
5697 1.1.1.20 mrg * include/std/span (span): Reorder members and rename template
5698 1.1.1.20 mrg parameters to match declarations in the C++2a working paper.
5699 1.1.1.20 mrg
5700 1.1.1.20 mrg P2116R0 Remove tuple-like protocol support from fixed-extent span
5701 1.1.1.20 mrg * include/std/span (get, tuple_size, tuple_element): Remove.
5702 1.1.1.20 mrg * testsuite/23_containers/span/everything.cc: Remove checks for
5703 1.1.1.20 mrg tuple-like API.
5704 1.1.1.20 mrg * testsuite/23_containers/span/get_neg.cc: Remove.
5705 1.1.1.20 mrg * testsuite/23_containers/span/tuple_element_dynamic_neg.cc: Remove.
5706 1.1.1.20 mrg * testsuite/23_containers/span/tuple_element_oob_neg.cc: Remove.
5707 1.1.1.20 mrg * testsuite/23_containers/span/tuple_size_neg.cc: Remove.
5708 1.1.1.20 mrg
5709 1.1.1.20 mrg 2020-02-17 Patrick Palka <ppalka (a] redhat.com>
5710 1.1.1.20 mrg
5711 1.1.1.20 mrg P2106R0 Alternative wording for GB315 and GB316
5712 1.1.1.20 mrg * include/bits/ranges_algo.h (in_fun_result): New.
5713 1.1.1.20 mrg (for_each_result, for_each_n_result): Change into an alias of
5714 1.1.1.20 mrg in_fun_result.
5715 1.1.1.20 mrg (in_in_result): New.
5716 1.1.1.20 mrg (mismatch_result): Change into an alias of in_in_result.
5717 1.1.1.20 mrg (copy_if_result): Change into an alias of in_out_result.
5718 1.1.1.20 mrg (swap_ranges_result): Change into an alias of in_in_result.
5719 1.1.1.20 mrg (unary_transform_result): Change into an alias of in_out_result.
5720 1.1.1.20 mrg (in_in_out_result): New.
5721 1.1.1.20 mrg (binary_transform_result): Change into an alias of in_in_out_result.
5722 1.1.1.20 mrg (replace_copy_result, replace_copy_if_result, remove_copy_if_result,
5723 1.1.1.20 mrg remove_copy_result, unique_copy_result, reverse_copy_result,
5724 1.1.1.20 mrg rotate_copy_result, partial_sort_copy_result): Change into an alias of
5725 1.1.1.20 mrg in_out_result.
5726 1.1.1.20 mrg (in_out_out_result): New.
5727 1.1.1.20 mrg (partition_copy_result, merge_result): Change into an alias of
5728 1.1.1.20 mrg in_out_out_result.
5729 1.1.1.20 mrg (set_union_result, set_intersection_result): Change into an alias of
5730 1.1.1.20 mrg in_in_out_result.
5731 1.1.1.20 mrg (set_difference_result): Change into an alias of in_out_result.
5732 1.1.1.20 mrg (set_symmetric_difference): Change into an alias of in_in_out_result.
5733 1.1.1.20 mrg (min_max_result): New.
5734 1.1.1.20 mrg (minmax_result, minmax_element_result): Change into an alias of
5735 1.1.1.20 mrg min_max_result.
5736 1.1.1.20 mrg (in_found_result): New.
5737 1.1.1.20 mrg (next_permutation_result, prev_permutation_result): Change into an alias
5738 1.1.1.20 mrg of in_found_result.
5739 1.1.1.20 mrg (__next_permutation_fn::operator(), __prev_permutation_fn::operator()):
5740 1.1.1.20 mrg Adjust following changes to next_permutation_result and
5741 1.1.1.20 mrg prev_permutation_result.
5742 1.1.1.20 mrg * include/bits/ranges_algobase.h (in_out_result): New.
5743 1.1.1.20 mrg (copy_result, move_result, move_backward_result, copy_backward_result,
5744 1.1.1.20 mrg copy_n_result): Change into an alias of in_out_result.
5745 1.1.1.20 mrg * include/bits/ranges_uninitialized.h (uninitialized_copy_result,
5746 1.1.1.20 mrg uninitialized_copy_n_result, uninitialized_move_result,
5747 1.1.1.20 mrg uninitialized_move_n_result): Likewise.
5748 1.1.1.20 mrg * testsuite/25_algorithms/next_permutation/constrained.cc: Adjust uses of
5749 1.1.1.20 mrg structured bindings.
5750 1.1.1.20 mrg * testsuite/25_algorithms/prev_permutation/constrained.cc: Likewise.
5751 1.1.1.20 mrg
5752 1.1.1.20 mrg P1243R4 Rangify new algorithms
5753 1.1.1.20 mrg * include/bits/ranges_algo.h (for_each_n_result, __for_each_n_fn,
5754 1.1.1.20 mrg for_each_n, __sample_fn, sample, __clamp_fn, clamp): New.
5755 1.1.1.20 mrg * testsuite/25_algorithms/clamp/constrained.cc: New test.
5756 1.1.1.20 mrg * testsuite/25_algorithms/for_each/constrained.cc: Augment test.
5757 1.1.1.20 mrg * testsuite/25_algorithms/sample/constrained.cc: New test.
5758 1.1.1.20 mrg
5759 1.1.1.20 mrg 2020-02-17 Jonathan Wakely <jwakely (a] redhat.com>
5760 1.1.1.20 mrg
5761 1.1.1.20 mrg P1964R2 Wording for boolean-testable
5762 1.1.1.20 mrg * include/bits/ranges_algo.h (__find_fn, __find_first_of_fn)
5763 1.1.1.20 mrg (__adjacent_find_fn): Cast result of predicate to bool.
5764 1.1.1.20 mrg * include/std/concepts (__boolean): Remove.
5765 1.1.1.20 mrg (__detail::__boolean_testable_impl, __detail::__boolean_testable): Add
5766 1.1.1.20 mrg new helper concepts.
5767 1.1.1.20 mrg (__detail::__weakly_eq_cmp_with, totally_ordered, totally_ordered_with)
5768 1.1.1.20 mrg (predicate): Use __boolean_testable instead of boolean.
5769 1.1.1.20 mrg * libsupc++/compare (__detail::__partially_ordered, _Synth3way):
5770 1.1.1.20 mrg Likewise.
5771 1.1.1.20 mrg
5772 1.1.1.20 mrg P1970R2 Consistency for size() functions: Add ranges::ssize
5773 1.1.1.20 mrg * include/bits/range_access.h (_SSize, ssize): Define for C++20.
5774 1.1.1.20 mrg * testsuite/std/ranges/access/ssize.cc: New test.
5775 1.1.1.20 mrg
5776 1.1.1.20 mrg P1956R1 On the names of low-level bit manipulation functions
5777 1.1.1.20 mrg * include/bits/hashtable_policy.h: Update comment.
5778 1.1.1.20 mrg * include/std/bit (__ispow2, __ceil2, __floor2, __log2p1): Rename.
5779 1.1.1.20 mrg (ispow2, ceil2, floor2, log2p1): Likewise.
5780 1.1.1.20 mrg (__cpp_lib_int_pow2): Add feature test macro.
5781 1.1.1.20 mrg * include/std/charconv (__to_chars_len_2): Adjust use of __log2p1.
5782 1.1.1.20 mrg * include/std/memory (assume_aligned): Adjust use of ispow2.
5783 1.1.1.20 mrg * include/std/version (__cpp_lib_int_pow2): Add.
5784 1.1.1.20 mrg * libsupc++/new_opa.cc: Adjust use of __ispow2.
5785 1.1.1.20 mrg * src/c++17/memory_resource.cc: Likewise, and for __ceil2 and __log2p1.
5786 1.1.1.20 mrg * testsuite/17_intro/freestanding.cc: Adjust use of ispow2.
5787 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Rename to ...
5788 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: ... here.
5789 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/ceil2_neg.cc: Rename to ...
5790 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc: ... here.
5791 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/floor2.cc: Rename to ...
5792 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: ... here.
5793 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: Rename to ...
5794 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: ... here.
5795 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: Rename to ...
5796 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc: ... here.
5797 1.1.1.20 mrg
5798 1.1.1.20 mrg * include/std/charconv: Add comment.
5799 1.1.1.20 mrg
5800 1.1.1.20 mrg PR libstdc++/92546 (partial)
5801 1.1.1.20 mrg * include/bits/random.h (uniform_random_bit_generator): Move definition
5802 1.1.1.20 mrg to <bits/uniform_int_dist.h>.
5803 1.1.1.20 mrg * include/bits/ranges_algo.h: Include <bits/uniform_int_dist.h> instead
5804 1.1.1.20 mrg of <bits/random.h>.
5805 1.1.1.20 mrg * include/bits/ranges_algobase.h: Do not include <cmath>.
5806 1.1.1.20 mrg * include/bits/uniform_int_dist.h (uniform_random_bit_generator):
5807 1.1.1.20 mrg Move here.
5808 1.1.1.20 mrg * include/std/ranges: Do not include <limits>.
5809 1.1.1.20 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno.
5810 1.1.1.20 mrg
5811 1.1.1.20 mrg PR libstdc++/92546 (partial)
5812 1.1.1.20 mrg * include/Makefile.am: Add new header.
5813 1.1.1.20 mrg * include/Makefile.in: Regenerate.
5814 1.1.1.20 mrg * include/bits/int_limits.h: New header.
5815 1.1.1.20 mrg * include/bits/parse_numbers.h (__select_int::_Select_int): Replace
5816 1.1.1.20 mrg numeric_limits with __detail::__int_limits.
5817 1.1.1.20 mrg * include/std/bit (__rotl, __rotr, __countl_zero, __countl_one)
5818 1.1.1.20 mrg (__countr_zero, __countr_one, __popcount, __ceil2, __floor2, __log2p1):
5819 1.1.1.20 mrg Likewise.
5820 1.1.1.20 mrg * include/std/charconv (__to_chars_8, __from_chars_binary)
5821 1.1.1.20 mrg (__from_chars_alpha_to_num, from_chars): Likewise.
5822 1.1.1.20 mrg * include/std/memory_resource (polymorphic_allocator::allocate)
5823 1.1.1.20 mrg (polymorphic_allocator::allocate_object): Likewise.
5824 1.1.1.20 mrg * include/std/string_view (basic_string_view::_S_compare): Likewise.
5825 1.1.1.20 mrg * include/std/utility (in_range): Likewise.
5826 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/in_range_neg.cc: Adjust for
5827 1.1.1.20 mrg extra error about incomplete type __int_limits<bool>.
5828 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.count/countl_one.cc: Include <limits>.
5829 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise.
5830 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise.
5831 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise.
5832 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise.
5833 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/ceil2_neg.cc: Likewise.
5834 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Likewise.
5835 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/floor2.cc: Likewise.
5836 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: Likewise.
5837 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: Likewise.
5838 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise.
5839 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise.
5840 1.1.1.20 mrg
5841 1.1.1.20 mrg * python/libstdcxx/v6/printers.py (StdCmpCatPrinter.to_string): Update
5842 1.1.1.20 mrg value for partial_ordering::unordered.
5843 1.1.1.18 mrg
5844 1.1.1.20 mrg * include/bits/iterator_concepts.h (indirectly_copyable_storable): Add
5845 1.1.1.20 mrg const-qualified expression variations.
5846 1.1.1.20 mrg * include/std/concepts (copyable): Likewise.
5847 1.1.1.20 mrg
5848 1.1.1.20 mrg * include/std/type_traits (__is_standard_integer): New helper trait.
5849 1.1.1.20 mrg * include/std/utility (cmp_equal, cmp_not_equal, cmp_less, cmp_greater)
5850 1.1.1.20 mrg (cmp_less_equal, cmp_greater_equal, in_range): Define for C++20.
5851 1.1.1.20 mrg * include/std/version (__cpp_lib_integer_comparison_functions): Define.
5852 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/1.cc: New test.
5853 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/2.cc: New test.
5854 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/equal.cc: New test.
5855 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/equal_neg.cc: New test.
5856 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/greater_equal.cc: New test.
5857 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/greater_equal_neg.cc: New test.
5858 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/greater_neg.cc: New test.
5859 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/in_range.cc: New test.
5860 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/in_range_neg.cc: New test.
5861 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/less.cc: New test.
5862 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/less_equal.cc: New test.
5863 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/less_equal_neg.cc: New test.
5864 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/less_neg.cc: New test.
5865 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/not_equal.cc: New test.
5866 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/not_equal_neg.cc: New test.
5867 1.1.1.20 mrg
5868 1.1.1.20 mrg 2020-02-16 Patrick Palka <ppalka (a] redhat.com>
5869 1.1.1.20 mrg
5870 1.1.1.20 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn::operator()):
5871 1.1.1.20 mrg Move code after an early exit constexpr if to under an else branch.
5872 1.1.1.20 mrg * include/bits/ranges_algobase.h (__equal_fn::operator()): Likewise.
5873 1.1.1.20 mrg
5874 1.1.1.20 mrg 2020-02-15 Patrick Palka <ppalka (a] redhat.com>
5875 1.1.1.20 mrg
5876 1.1.1.20 mrg * include/bits/ranges_algo.h: Adjust whitespace and formatting.
5877 1.1.1.20 mrg * include/bits/ranges_algobase.h: Likewise.
5878 1.1.1.20 mrg * include/bits/ranges_uninitialized.h: Likewise.
5879 1.1.1.20 mrg
5880 1.1.1.20 mrg * include/bits/ranges_algo.h: (adjacent_find, all_of, any_of,
5881 1.1.1.20 mrg binary_search, copy_if, count, count_if, equal_range, find, find_end,
5882 1.1.1.20 mrg find_first_of, find_if, find_if_not, for_each, generate, generate_n,
5883 1.1.1.20 mrg includes, inplace_merge, is_heap, is_heap_until, is_partitioned,
5884 1.1.1.20 mrg is_permutation, is_sorted, is_sorted_until, lexicographical_compare,
5885 1.1.1.20 mrg lower_bound, make_heap, max, max_element, merge, min, min_element,
5886 1.1.1.20 mrg minmax, minmax_element, mismatch, next_permutation, none_of,
5887 1.1.1.20 mrg nth_element, partial_sort, partial_sort_copy, partition, partition_copy,
5888 1.1.1.20 mrg partition_point, pop_heap, prev_permutation, push_heap, remove,
5889 1.1.1.20 mrg remove_copy, remove_copy_if, remove_if, replace, replace_copy,
5890 1.1.1.20 mrg replace_copy_if, replace_if, reverse, reverse_copy, rotate, rotate_copy,
5891 1.1.1.20 mrg search, search_n, set_difference, set_intersection,
5892 1.1.1.20 mrg set_symmetric_difference, set_union, shuffle, sort, sort_heap,
5893 1.1.1.20 mrg stable_partition, stable_sort, swap_ranges, transform, unique,
5894 1.1.1.20 mrg unique_copy, upper_bound): Convert into function objects.
5895 1.1.1.20 mrg * include/bits/ranges_algobase.h: (equal, copy, move, copy_n, fill_n,
5896 1.1.1.20 mrg fill, move_backward, copy_backward): Likewise.
5897 1.1.1.20 mrg * include/bits/ranges_uninitialized.h (uninitialized_default_construct,
5898 1.1.1.20 mrg uninitialized_default_construct_n, uninitialized_value_construct,
5899 1.1.1.20 mrg uninitialized_value_construct_n, uninitialized_copy,
5900 1.1.1.20 mrg uninitialized_copy_n, uninitialized_move, uninitialized_move_n,
5901 1.1.1.20 mrg uninitialized_fill, uninitialized_fill_n, construct_at, destroy_at,
5902 1.1.1.20 mrg destroy, destroy_n): Likewise.
5903 1.1.1.20 mrg
5904 1.1.1.20 mrg * include/bits/ranges_algo.h (ranges::__find_end): Fold into ...
5905 1.1.1.20 mrg (ranges::find_end): ... here.
5906 1.1.1.20 mrg (ranges::__lexicographical_compare): Fold into ...
5907 1.1.1.20 mrg (ranges::lexicographical_compare): ... here.
5908 1.1.1.20 mrg * include/bits/ranges_algobase.h (ranges::__equal): Fold into ...
5909 1.1.1.20 mrg (ranges::equal): ... here.
5910 1.1.1.18 mrg
5911 1.1.1.20 mrg 2020-02-15 Jonathan Wakely <jwakely (a] redhat.com>
5912 1.1.1.18 mrg
5913 1.1.1.20 mrg * include/bits/erase_if.h (__cpp_lib_erase_if): Define to 202002L.
5914 1.1.1.20 mrg * include/std/deque: Likewise.
5915 1.1.1.20 mrg * include/std/forward_list: Likewise.
5916 1.1.1.20 mrg * include/std/list: Likewise.
5917 1.1.1.20 mrg * include/std/string: Likewise.
5918 1.1.1.20 mrg * include/std/vector: Likewise.
5919 1.1.1.20 mrg * include/std/version: Likewise.
5920 1.1.1.20 mrg * testsuite/23_containers/deque/erasure.cc: Test for new value.
5921 1.1.1.20 mrg * testsuite/23_containers/forward_list/erasure.cc: Likewise.
5922 1.1.1.20 mrg * testsuite/23_containers/list/erasure.cc: Likewise.
5923 1.1.1.20 mrg * testsuite/23_containers/map/erasure.cc: Likewise.
5924 1.1.1.20 mrg * testsuite/23_containers/set/erasure.cc: Likewise.
5925 1.1.1.20 mrg * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
5926 1.1.1.20 mrg * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
5927 1.1.1.20 mrg * testsuite/23_containers/vector/erasure.cc: Likewise.
5928 1.1.1.16 mrg
5929 1.1.1.20 mrg 2020-02-15 Jonathan Wakely <jwakely (a] redhat.com>
5930 1.1.1.16 mrg
5931 1.1.1.20 mrg * include/bits/random.h (uniform_random_bit_generator): Require min()
5932 1.1.1.20 mrg and max() to be constant expressions and min() to be less than max().
5933 1.1.1.20 mrg * testsuite/26_numerics/random/concept.cc: Check additional cases.
5934 1.1.1.20 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno.
5935 1.1.1.15 mrg
5936 1.1.1.20 mrg 2020-02-13 Patrick Palka <ppalka (a] redhat.com>
5937 1.1.1.15 mrg
5938 1.1.1.20 mrg * include/Makefile.am: Add <bits/ranges_uninitialized.h>.
5939 1.1.1.20 mrg * include/Makefile.in: Regenerate.
5940 1.1.1.20 mrg * include/bits/ranges_uninitialized.h: New header.
5941 1.1.1.20 mrg * include/std/memory: Include it.
5942 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/destroy/constrained.cc: New
5943 1.1.1.19 mrg test.
5944 1.1.1.20 mrg * .../uninitialized_copy/constrained.cc: New test.
5945 1.1.1.20 mrg * .../uninitialized_default_construct/constrained.cc: New test.
5946 1.1.1.20 mrg * .../uninitialized_fill/constrained.cc: New test.
5947 1.1.1.20 mrg * .../uninitialized_move/constrained.cc: New test.
5948 1.1.1.20 mrg * .../uninitialized_value_construct/constrained.cc: New test.
5949 1.1.1.20 mrg
5950 1.1.1.20 mrg * include/Makefile.am: Add bits/ranges_algobase.h
5951 1.1.1.20 mrg * include/Makefile.in: Regenerate.
5952 1.1.1.20 mrg * bits/ranges_algo.h: Include <bits/ranges_algobase.h> and refactor
5953 1.1.1.20 mrg existing #includes.
5954 1.1.1.20 mrg (__detail::__is_normal_iterator, __detail::is_reverse_iterator,
5955 1.1.1.20 mrg __detail::__is_move_iterator, copy_result, move_result,
5956 1.1.1.20 mrg __equal, equal, copy_result, move_result, move_backward_result,
5957 1.1.1.20 mrg copy_backward_result, __copy_or_move_backward, __copy_or_move, copy,
5958 1.1.1.20 mrg move, copy_backward, move_backward, copy_n_result, copy_n, fill_n,
5959 1.1.1.20 mrg fill): Split out into ...
5960 1.1.1.20 mrg * bits/range_algobase.h: ... this new header.
5961 1.1.1.20 mrg
5962 1.1.1.20 mrg 2020-02-12 Patrick Palka <ppalka (a] redhat.com>
5963 1.1.1.20 mrg
5964 1.1.1.20 mrg LWG 3389 and LWG 3390
5965 1.1.1.20 mrg * include/bits/stl_iterator.h (move_move_iterator): Use std::move when
5966 1.1.1.20 mrg constructing the move_iterator with __i.
5967 1.1.1.20 mrg (counted_iterator::counted_iterator): Use std::move when initializing
5968 1.1.1.20 mrg M_current with __i.
5969 1.1.1.20 mrg * testsuite/24_iterators/counted_iterator/lwg3389.cc: New test.
5970 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/lwg3390.cc: New test.
5971 1.1.1.20 mrg
5972 1.1.1.20 mrg 2020-02-12 Sandra Loosemore <sandra (a] codesourcery.com>
5973 1.1.1.20 mrg
5974 1.1.1.20 mrg PR libstdc++/79193
5975 1.1.1.20 mrg PR libstdc++/88999
5976 1.1.1.20 mrg
5977 1.1.1.20 mrg * configure: Regenerated.
5978 1.1.1.20 mrg
5979 1.1.1.20 mrg 2020-02-12 Franois Dumont <fdumont (a] gcc.gnu.org>
5980 1.1.1.20 mrg
5981 1.1.1.20 mrg * include/bits/hashtable.h
5982 1.1.1.20 mrg (_Hashtable<>(_Hashtable&&, std::allocator_type&)): Add
5983 1.1.1.20 mrg missing std namespace qualification to forward call.
5984 1.1.1.20 mrg
5985 1.1.1.20 mrg 2020-02-09 Jonathan Wakely <jwakely (a] redhat.com>
5986 1.1.1.15 mrg
5987 1.1.1.20 mrg * testsuite/20_util/function_objects/range.cmp/equal_to.cc: Fix
5988 1.1.1.20 mrg comment.
5989 1.1.1.20 mrg * testsuite/20_util/function_objects/range.cmp/less.ccL Likewise.
5990 1.1.1.15 mrg
5991 1.1.1.20 mrg * include/std/ranges: Fix non-ASCII characters in comment.
5992 1.1.1.19 mrg
5993 1.1.1.20 mrg * include/bits/range_cmp.h (__detail::__eq_builtin_ptr_cmp): Require
5994 1.1.1.20 mrg equality comparison to be valid and return bool.
5995 1.1.1.20 mrg (__detail::__less_builtin_ptr_cmp): Likewise for less-than comparison.
5996 1.1.1.20 mrg * testsuite/20_util/function_objects/range.cmp/equal_to.cc: Check
5997 1.1.1.20 mrg type with ambiguous conversion to fundamental types.
5998 1.1.1.20 mrg * testsuite/20_util/function_objects/range.cmp/less.cc: Likewise.
5999 1.1.1.20 mrg
6000 1.1.1.20 mrg 2020-02-07 Jonathan Wakely <jwakely (a] redhat.com>
6001 1.1.1.20 mrg
6002 1.1.1.20 mrg * include/bits/iterator_concepts.h (iter_difference_t, iter_value_t):
6003 1.1.1.20 mrg Use remove_cvref_t.
6004 1.1.1.20 mrg (readable_traits): Rename to indirectly_readable_traits.
6005 1.1.1.20 mrg (readable): Rename to indirectly_readable.
6006 1.1.1.20 mrg (writable): Rename to indirectly_writable.
6007 1.1.1.20 mrg (__detail::__iter_exchange_move): Do not use remove_reference_t.
6008 1.1.1.20 mrg (indirectly_swappable): Adjust requires expression parameter types.
6009 1.1.1.20 mrg expression.
6010 1.1.1.20 mrg * include/bits/ranges_algo.h (ranges::transform, ranges::replace)
6011 1.1.1.20 mrg (ranges::replace_if, ranges::generate_n, ranges::generate)
6012 1.1.1.20 mrg (ranges::remove): Use new name for writable.
6013 1.1.1.20 mrg * include/bits/stl_iterator.h (__detail::__common_iter_has_arrow):
6014 1.1.1.20 mrg Use new name for readable.
6015 1.1.1.20 mrg * include/ext/pointer.h (readable_traits<_Pointer_adapter<P>>): Use
6016 1.1.1.20 mrg new name for readable_traits.
6017 1.1.1.20 mrg * testsuite/24_iterators/associated_types/readable.traits.cc: Likewise.
6018 1.1.1.20 mrg * testsuite/24_iterators/indirect_callable/projected.cc: Adjust for
6019 1.1.1.20 mrg new definition of indirectly_readable.
6020 1.1.1.20 mrg
6021 1.1.1.20 mrg * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Change
6022 1.1.1.20 mrg to take parameters of common_iterator, instead of the common_iterator
6023 1.1.1.20 mrg type itself. Fix argument for __common_iter_has_arrow constraint.
6024 1.1.1.20 mrg (iterator_traits<common_iterator<I, S>>::pointer): Adjust.
6025 1.1.1.20 mrg
6026 1.1.1.20 mrg 2020-02-07 Jonathan Wakely <jwakely (a] redhat.com>
6027 1.1.1.20 mrg
6028 1.1.1.20 mrg * include/std/ranges (iota_view): Add braces to prevent -Wempty-body
6029 1.1.1.20 mrg warning.
6030 1.1.1.20 mrg (basic_istream_view::_Iterator::operator++()): Add missing return.
6031 1.1.1.20 mrg
6032 1.1.1.20 mrg 2020-02-07 Patrick Palka <ppalka (a] redhat.com>
6033 1.1.1.20 mrg
6034 1.1.1.20 mrg * include/bits/ranges_algo.h: Remove extraneous &&.
6035 1.1.1.20 mrg
6036 1.1.1.20 mrg * include/std/ranges (ranges::__detail::__stream_extractable,
6037 1.1.1.20 mrg ranges::basic_istream_view, ranges::istream_view): Define.
6038 1.1.1.20 mrg * testsuite/std/ranges/istream_view: New test.
6039 1.1.1.20 mrg
6040 1.1.1.20 mrg Implement C++20 range adaptors
6041 1.1.1.20 mrg * include/std/ranges: Include <bits/refwrap.h> and <tuple>.
6042 1.1.1.20 mrg (subrange::_S_store_size): Mark as const instead of constexpr to
6043 1.1.1.20 mrg avoid what seems to be a bug in GCC.
6044 1.1.1.20 mrg (__detail::__box): Give it defaulted copy and move constructors.
6045 1.1.1.20 mrg (ranges::views::_Single::operator()): Mark constexpr.
6046 1.1.1.20 mrg (ranges::views::_Iota::operator()): Mark constexpr.
6047 1.1.1.20 mrg (__detail::Empty): Define.
6048 1.1.1.20 mrg (ranges::views::__closure::_RangeAdaptor,
6049 1.1.1.20 mrg ranges::views::__closure::_RangeAdaptorClosure, ref_view, all_view,
6050 1.1.1.20 mrg ranges::views::all, ranges::__detail::find_if,
6051 1.1.1.20 mrg ranges::__detail::find_if_not, ranges::__detail::mismatch,
6052 1.1.1.20 mrg ranges::detail::min, filter_view, ranges::views::filter, transform_view,
6053 1.1.1.20 mrg ranges::views::transform, take_view, ranges::views::take,
6054 1.1.1.20 mrg take_while_view, ranges::views::take_while, drop_view,
6055 1.1.1.20 mrg ranges::views::drop, join_view, ranges::views::join,
6056 1.1.1.20 mrg __detail::require_constant, __detail::tiny_range, split_view,
6057 1.1.1.20 mrg ranges::views::split, ranges::views::_Counted, ranges::views::counted,
6058 1.1.1.20 mrg common_view, ranges::views::common, reverse_view,
6059 1.1.1.20 mrg ranges::views::reverse,
6060 1.1.1.20 mrg ranges::views::__detail::__is_reversible_subrange,
6061 1.1.1.20 mrg ranges::views::__detail::__is_reverse_view, reverse_view,
6062 1.1.1.20 mrg ranges::views::reverse, __detail::__has_tuple_element, elements_view,
6063 1.1.1.20 mrg ranges::views::elements, ranges::views::keys, ranges::views::values):
6064 1.1.1.20 mrg Define.
6065 1.1.1.20 mrg (views): Alias for ranges::views.
6066 1.1.1.20 mrg (tuple_size<ranges::subrange<>>, tuple_element<0, ranges::subrange>,
6067 1.1.1.20 mrg tuple_element<1, ranges::subrange>): New partial specializations.
6068 1.1.1.20 mrg * testsuite/std/ranges/adaptors/all.cc: New test.
6069 1.1.1.20 mrg * testsuite/std/ranges/adaptors/common.cc: Likewise.
6070 1.1.1.20 mrg * testsuite/std/ranges/adaptors/counted.cc: Likewise.
6071 1.1.1.20 mrg * testsuite/std/ranges/adaptors/drop.cc: Likewise.
6072 1.1.1.20 mrg * testsuite/std/ranges/adaptors/drop_while.cc: Likewise.
6073 1.1.1.20 mrg * testsuite/std/ranges/adaptors/elements.cc: Likewise.
6074 1.1.1.20 mrg * testsuite/std/ranges/adaptors/filter.cc: Likewise.
6075 1.1.1.20 mrg * testsuite/std/ranges/adaptors/join.cc: Likewise.
6076 1.1.1.20 mrg * testsuite/std/ranges/adaptors/reverse.cc: Likewise.
6077 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split.cc: Likewise.
6078 1.1.1.20 mrg * testsuite/std/ranges/adaptors/take.cc: Likewise.
6079 1.1.1.20 mrg * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
6080 1.1.1.20 mrg * testsuite/std/ranges/adaptors/transform.cc: Likewise.
6081 1.1.1.20 mrg
6082 1.1.1.20 mrg 2020-02-07 Jonathan Wakely <jwakely (a] redhat.com>
6083 1.1.1.20 mrg
6084 1.1.1.20 mrg * libsupc++/compare (__cmp_cat::type): Define typedef for underlying
6085 1.1.1.20 mrg type of enumerations and comparison category types.
6086 1.1.1.20 mrg (__cmp_cat::_Ord, __cmp_cat::_Ncmp): Add underlying type.
6087 1.1.1.20 mrg (__cmp_cat::_Ncmp::unordered): Change value to 2.
6088 1.1.1.20 mrg (partial_ordering::_M_value, weak_ordering::_M_value)
6089 1.1.1.20 mrg (strong_ordering::_M_value): Change type to __cmp_cat::type.
6090 1.1.1.20 mrg (partial_ordering::_M_is_ordered): Remove data member.
6091 1.1.1.20 mrg (partial_ordering): Use second bit of _M_value for unordered. Adjust
6092 1.1.1.20 mrg comparison operators.
6093 1.1.1.20 mrg (weak_ordering::operator partial_ordering): Simplify to remove
6094 1.1.1.20 mrg branches.
6095 1.1.1.20 mrg (operator<=>(unspecified, weak_ordering)): Likewise.
6096 1.1.1.20 mrg (strong_ordering::operator partial_ordering): Likewise.
6097 1.1.1.20 mrg (strong_ordering::operator weak_ordering): Likewise.
6098 1.1.1.20 mrg (operator<=>(unspecified, strong_ordering)): Likewise.
6099 1.1.1.20 mrg * testsuite/18_support/comparisons/categories/partialord.cc: New test.
6100 1.1.1.20 mrg * testsuite/18_support/comparisons/categories/strongord.cc: New test.
6101 1.1.1.20 mrg * testsuite/18_support/comparisons/categories/weakord.cc: New test.
6102 1.1.1.20 mrg
6103 1.1.1.20 mrg * include/std/ranges (iota_view::_Iterator): Fix typo in name of
6104 1.1.1.20 mrg __cpp_lib_three_way_comparison macro and use deduced return type for
6105 1.1.1.20 mrg operator<=>.
6106 1.1.1.20 mrg * testsuite/std/ranges/iota/iterator.cc: New test.
6107 1.1.1.19 mrg
6108 1.1.1.20 mrg 2020-02-07 Patrick Palka <ppalka (a] redhat.com>
6109 1.1.1.20 mrg Jonathan Wakely <jwakely (a] redhat.com>
6110 1.1.1.19 mrg
6111 1.1.1.20 mrg Implement C++20 constrained algorithms
6112 1.1.1.20 mrg * include/Makefile.am: Add new header.
6113 1.1.1.20 mrg * include/Makefile.in: Regenerate.
6114 1.1.1.20 mrg * include/std/algorithm: Include <bits/ranges_algo.h>.
6115 1.1.1.20 mrg * include/bits/ranges_algo.h: New file.
6116 1.1.1.20 mrg * testsuite/25_algorithms/adjacent_find/constrained.cc: New test.
6117 1.1.1.20 mrg * testsuite/25_algorithms/all_of/constrained.cc: New test.
6118 1.1.1.20 mrg * testsuite/25_algorithms/any_of/constrained.cc: New test.
6119 1.1.1.20 mrg * testsuite/25_algorithms/binary_search/constrained.cc: New test.
6120 1.1.1.20 mrg * testsuite/25_algorithms/copy/constrained.cc: New test.
6121 1.1.1.20 mrg * testsuite/25_algorithms/copy_backward/constrained.cc: New test.
6122 1.1.1.20 mrg * testsuite/25_algorithms/copy_if/constrained.cc: New test.
6123 1.1.1.20 mrg * testsuite/25_algorithms/copy_n/constrained.cc: New test.
6124 1.1.1.20 mrg * testsuite/25_algorithms/count/constrained.cc: New test.
6125 1.1.1.20 mrg * testsuite/25_algorithms/count_if/constrained.cc: New test.
6126 1.1.1.20 mrg * testsuite/25_algorithms/equal/constrained.cc: New test.
6127 1.1.1.20 mrg * testsuite/25_algorithms/equal_range/constrained.cc: New test.
6128 1.1.1.20 mrg * testsuite/25_algorithms/fill/constrained.cc: New test.
6129 1.1.1.20 mrg * testsuite/25_algorithms/fill_n/constrained.cc: New test.
6130 1.1.1.20 mrg * testsuite/25_algorithms/find/constrained.cc: New test.
6131 1.1.1.20 mrg * testsuite/25_algorithms/find_end/constrained.cc: New test.
6132 1.1.1.20 mrg * testsuite/25_algorithms/find_first_of/constrained.cc: New test.
6133 1.1.1.20 mrg * testsuite/25_algorithms/find_if/constrained.cc: New test.
6134 1.1.1.20 mrg * testsuite/25_algorithms/find_if_not/constrained.cc: New test.
6135 1.1.1.20 mrg * testsuite/25_algorithms/for_each/constrained.cc: New test.
6136 1.1.1.20 mrg * testsuite/25_algorithms/generate/constrained.cc: New test.
6137 1.1.1.20 mrg * testsuite/25_algorithms/generate_n/constrained.cc: New test.
6138 1.1.1.20 mrg * testsuite/25_algorithms/heap/constrained.cc: New test.
6139 1.1.1.20 mrg * testsuite/25_algorithms/includes/constrained.cc: New test.
6140 1.1.1.20 mrg * testsuite/25_algorithms/inplace_merge/constrained.cc: New test.
6141 1.1.1.20 mrg * testsuite/25_algorithms/is_partitioned/constrained.cc: New test.
6142 1.1.1.20 mrg * testsuite/25_algorithms/is_permutation/constrained.cc: New test.
6143 1.1.1.20 mrg * testsuite/25_algorithms/is_sorted/constrained.cc: New test.
6144 1.1.1.20 mrg * testsuite/25_algorithms/is_sorted_until/constrained.cc: New test.
6145 1.1.1.20 mrg * testsuite/25_algorithms/lexicographical_compare/constrained.cc: New
6146 1.1.1.19 mrg test.
6147 1.1.1.20 mrg * testsuite/25_algorithms/lower_bound/constrained.cc: New test.
6148 1.1.1.20 mrg * testsuite/25_algorithms/max/constrained.cc: New test.
6149 1.1.1.20 mrg * testsuite/25_algorithms/max_element/constrained.cc: New test.
6150 1.1.1.20 mrg * testsuite/25_algorithms/merge/constrained.cc: New test.
6151 1.1.1.20 mrg * testsuite/25_algorithms/min/constrained.cc: New test.
6152 1.1.1.20 mrg * testsuite/25_algorithms/min_element/constrained.cc: New test.
6153 1.1.1.20 mrg * testsuite/25_algorithms/minmax/constrained.cc: New test.
6154 1.1.1.20 mrg * testsuite/25_algorithms/minmax_element/constrained.cc: New test.
6155 1.1.1.20 mrg * testsuite/25_algorithms/mismatch/constrained.cc: New test.
6156 1.1.1.20 mrg * testsuite/25_algorithms/move/constrained.cc: New test.
6157 1.1.1.20 mrg * testsuite/25_algorithms/move_backward/constrained.cc: New test.
6158 1.1.1.20 mrg * testsuite/25_algorithms/next_permutation/constrained.cc: New test.
6159 1.1.1.20 mrg * testsuite/25_algorithms/none_of/constrained.cc: New test.
6160 1.1.1.20 mrg * testsuite/25_algorithms/nth_element/constrained.cc: New test.
6161 1.1.1.20 mrg * testsuite/25_algorithms/partial_sort/constrained.cc: New test.
6162 1.1.1.20 mrg * testsuite/25_algorithms/partial_sort_copy/constrained.cc: New test.
6163 1.1.1.20 mrg * testsuite/25_algorithms/partition/constrained.cc: New test.
6164 1.1.1.20 mrg * testsuite/25_algorithms/partition_copy/constrained.cc: New test.
6165 1.1.1.20 mrg * testsuite/25_algorithms/partition_point/constrained.cc: New test.
6166 1.1.1.20 mrg * testsuite/25_algorithms/prev_permutation/constrained.cc: New test.
6167 1.1.1.20 mrg * testsuite/25_algorithms/remove/constrained.cc: New test.
6168 1.1.1.20 mrg * testsuite/25_algorithms/remove_copy/constrained.cc: New test.
6169 1.1.1.20 mrg * testsuite/25_algorithms/remove_copy_if/constrained.cc: New test.
6170 1.1.1.20 mrg * testsuite/25_algorithms/remove_if/constrained.cc: New test.
6171 1.1.1.20 mrg * testsuite/25_algorithms/replace/constrained.cc: New test.
6172 1.1.1.20 mrg * testsuite/25_algorithms/replace_copy/constrained.cc: New test.
6173 1.1.1.20 mrg * testsuite/25_algorithms/replace_copy_if/constrained.cc: New test.
6174 1.1.1.20 mrg * testsuite/25_algorithms/replace_if/constrained.cc: New test.
6175 1.1.1.20 mrg * testsuite/25_algorithms/reverse/constrained.cc: New test.
6176 1.1.1.20 mrg * testsuite/25_algorithms/reverse_copy/constrained.cc: New test.
6177 1.1.1.20 mrg * testsuite/25_algorithms/rotate/constrained.cc: New test.
6178 1.1.1.20 mrg * testsuite/25_algorithms/rotate_copy/constrained.cc: New test.
6179 1.1.1.20 mrg * testsuite/25_algorithms/search/constrained.cc: New test.
6180 1.1.1.20 mrg * testsuite/25_algorithms/search_n/constrained.cc: New test.
6181 1.1.1.20 mrg * testsuite/25_algorithms/set_difference/constrained.cc: New test.
6182 1.1.1.20 mrg * testsuite/25_algorithms/set_intersection/constrained.cc: New test.
6183 1.1.1.20 mrg * testsuite/25_algorithms/set_symmetric_difference/constrained.cc: New
6184 1.1.1.20 mrg test.
6185 1.1.1.20 mrg * testsuite/25_algorithms/set_union/constrained.cc: New test.
6186 1.1.1.20 mrg * testsuite/25_algorithms/shuffle/constrained.cc: New test.
6187 1.1.1.20 mrg * testsuite/25_algorithms/sort/constrained.cc: New test.
6188 1.1.1.20 mrg * testsuite/25_algorithms/stable_partition/constrained.cc: New test.
6189 1.1.1.20 mrg * testsuite/25_algorithms/stable_sort/constrained.cc: New test.
6190 1.1.1.20 mrg * testsuite/25_algorithms/swap_ranges/constrained.cc: New test.
6191 1.1.1.20 mrg * testsuite/25_algorithms/transform/constrained.cc: New test.
6192 1.1.1.20 mrg * testsuite/25_algorithms/unique/constrained.cc: New test.
6193 1.1.1.20 mrg * testsuite/25_algorithms/unique_copy/constrained.cc: New test.
6194 1.1.1.20 mrg * testsuite/25_algorithms/upper_bound/constrained.cc: New test.
6195 1.1.1.20 mrg
6196 1.1.1.20 mrg 2020-02-06 Jonathan Wakely <jwakely (a] redhat.com>
6197 1.1.1.20 mrg
6198 1.1.1.20 mrg * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Fix PR
6199 1.1.1.20 mrg number in comment. Fix indentation.
6200 1.1.1.20 mrg
6201 1.1.1.20 mrg * include/bits/stl_algobase.h (__iter_swap, __iter_swap<true>): Remove
6202 1.1.1.20 mrg redundant _GLIBCXX20_CONSTEXPR.
6203 1.1.1.20 mrg
6204 1.1.1.20 mrg * include/std/ranges (viewable_range): Replace decay_t with
6205 1.1.1.20 mrg remove_cvref_t (LWG 3375).
6206 1.1.1.20 mrg
6207 1.1.1.20 mrg 2020-02-05 Jonathan Wakely <jwakely (a] redhat.com>
6208 1.1.1.20 mrg
6209 1.1.1.20 mrg * include/bits/iterator_concepts.h (iter_reference_t)
6210 1.1.1.20 mrg (iter_rvalue_reference_t, iter_common_reference_t, indirect_result_t):
6211 1.1.1.20 mrg Remove workarounds for PR c++/67704.
6212 1.1.1.20 mrg * testsuite/24_iterators/aliases.cc: New test.
6213 1.1.1.20 mrg
6214 1.1.1.20 mrg 2020-02-05 Patrick Palka <ppalka (a] redhat.com>
6215 1.1.1.20 mrg
6216 1.1.1.20 mrg * include/bits/stl_iterator.h (move_iterator::move_iterator): Move __i
6217 1.1.1.20 mrg when initializing _M_current.
6218 1.1.1.20 mrg (move_iterator::base): Split into two overloads differing in
6219 1.1.1.20 mrg ref-qualifiers as in P1207R4 for C++20.
6220 1.1.1.15 mrg
6221 1.1.1.20 mrg 2020-02-04 Jonathan Wakely <jwakely (a] redhat.com>
6222 1.1.1.15 mrg
6223 1.1.1.20 mrg * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Un-define after
6224 1.1.1.20 mrg use.
6225 1.1.1.20 mrg
6226 1.1.1.20 mrg PR libstdc++/93562
6227 1.1.1.20 mrg * include/bits/unique_ptr.h (__uniq_ptr_impl::swap): Define.
6228 1.1.1.20 mrg (unique_ptr::swap, unique_ptr<T[], D>::swap): Call it.
6229 1.1.1.20 mrg * testsuite/20_util/unique_ptr/modifiers/93562.cc: New test.
6230 1.1.1.20 mrg
6231 1.1.1.20 mrg 2020-02-01 Andrew Burgess <andrew.burgess (a] embecosm.com>
6232 1.1.1.20 mrg
6233 1.1.1.20 mrg * configure: Regenerate.
6234 1.1.1.20 mrg
6235 1.1.1.20 mrg 2020-01-31 Patrick Palka <ppalka (a] redhat.com>
6236 1.1.1.20 mrg
6237 1.1.1.20 mrg * testsuite/24_iterators/range_operations/distance.cc: Do not assume
6238 1.1.1.20 mrg test_range::end() returns the same type as test_range::begin().
6239 1.1.1.20 mrg * testsuite/24_iterators/range_operations/next.cc: Likewise.
6240 1.1.1.20 mrg * testsuite/24_iterators/range_operations/prev.cc: Likewise.
6241 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h (__gnu_test::test_range::end):
6242 1.1.1.20 mrg Always return a sentinel<I>.
6243 1.1.1.20 mrg
6244 1.1.1.20 mrg 2020-01-29 Jonathan Wakely <jwakely (a] redhat.com>
6245 1.1.1.20 mrg
6246 1.1.1.20 mrg PR libstdc++/92895
6247 1.1.1.20 mrg * include/std/stop_token (stop_token::stop_possible()): Call new
6248 1.1.1.20 mrg _M_stop_possible() function.
6249 1.1.1.20 mrg (stop_token::stop_requested()): Do not use stop_possible().
6250 1.1.1.20 mrg (stop_token::binary_semaphore): New class, as temporary stand-in for
6251 1.1.1.20 mrg std::binary_semaphore.
6252 1.1.1.20 mrg (stop_token::_Stop_cb::_M_callback): Add noexcept to type.
6253 1.1.1.20 mrg (stop_token::_Stop_cb::_M_destroyed, stop_token::_Stop_cb::_M_done):
6254 1.1.1.20 mrg New data members for symchronization with stop_callback destruction.
6255 1.1.1.20 mrg (stop_token::_Stop_cb::_Stop_cb): Make non-template.
6256 1.1.1.20 mrg (stop_token::_Stop_cb::_M_linked, stop_token::_Stop_cb::_S_execute):
6257 1.1.1.20 mrg Remove.
6258 1.1.1.20 mrg (stop_token::_Stop_cb::_M_run): New member function.
6259 1.1.1.20 mrg (stop_token::_Stop_state::_M_stopped, stop_token::_Stop_state::_M_mtx):
6260 1.1.1.20 mrg Remove.
6261 1.1.1.20 mrg (stop_token::_Stop_state::_M_owners): New data member to track
6262 1.1.1.20 mrg reference count for ownership.
6263 1.1.1.20 mrg (stop_token::_Stop_state::_M_value): New data member combining a
6264 1.1.1.20 mrg spinlock, the stop requested flag, and the reference count for
6265 1.1.1.20 mrg associated stop_source objects.
6266 1.1.1.20 mrg (stop_token::_Stop_state::_M_requester): New data member for
6267 1.1.1.20 mrg synchronization with stop_callback destruction.
6268 1.1.1.20 mrg (stop_token::_Stop_state::_M_stop_possible()): New member function.
6269 1.1.1.20 mrg (stop_token::_Stop_state::_M_stop_requested()): Inspect relevant bit
6270 1.1.1.20 mrg of _M_value.
6271 1.1.1.20 mrg (stop_token::_Stop_state::_M_add_owner)
6272 1.1.1.20 mrg (stop_token::_Stop_state::_M_release_ownership)
6273 1.1.1.20 mrg (stop_token::_Stop_state::_M_add_ssrc)
6274 1.1.1.20 mrg (stop_token::_Stop_state::_M_sub_ssrc): New member functions for
6275 1.1.1.20 mrg updating reference counts.
6276 1.1.1.20 mrg (stop_token::_Stop_state::_M_lock, stop_token::_Stop_state::_M_unlock)
6277 1.1.1.20 mrg (stop_token::_Stop_state::_M_lock, stop_token::_Stop_state::_M_unlock)
6278 1.1.1.20 mrg (stop_token::_Stop_state::_M_try_lock)
6279 1.1.1.20 mrg (stop_token::_Stop_state::_M_try_lock_and_stop)
6280 1.1.1.20 mrg (stop_token::_Stop_state::_M_do_try_lock): New member functions for
6281 1.1.1.20 mrg managing spinlock.
6282 1.1.1.20 mrg (stop_token::_Stop_state::_M_request_stop): Use atomic operations to
6283 1.1.1.20 mrg read and update state. Release lock while running callbacks. Use new
6284 1.1.1.20 mrg data members to synchronize with callback destruction.
6285 1.1.1.20 mrg (stop_token::_Stop_state::_M_remove_callback): Likewise.
6286 1.1.1.20 mrg (stop_token::_Stop_state::_M_register_callback): Use atomic operations
6287 1.1.1.20 mrg to read and update state.
6288 1.1.1.20 mrg (stop_token::_Stop_state_ref): Handle type to manage _Stop_state,
6289 1.1.1.20 mrg replacing shared_ptr.
6290 1.1.1.20 mrg (stop_source::stop_source(const stop_source&)): Update reference count.
6291 1.1.1.20 mrg (stop_source::operator=(const stop_source&)): Likewise.
6292 1.1.1.20 mrg (stop_source::~stop_source()): Likewise.
6293 1.1.1.20 mrg (stop_source::stop_source(stop_source&&)): Define as defaulted.
6294 1.1.1.20 mrg (stop_source::operator=(stop_source&&)): Establish postcondition on
6295 1.1.1.20 mrg parameter.
6296 1.1.1.20 mrg (stop_callback): Enforce preconditions on template parameter. Replace
6297 1.1.1.20 mrg base class with data member of new _Cb_impl type.
6298 1.1.1.20 mrg (stop_callback::stop_callback(const stop_token&, Cb&&))
6299 1.1.1.20 mrg (stop_callback::stop_callback(stop_token&&, Cb&&)): Fix TOCTTOU race.
6300 1.1.1.20 mrg (stop_callback::_Cb_impl): New type wrapping _Callback member and
6301 1.1.1.20 mrg defining the _S_execute member function.
6302 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc: New
6303 1.1.1.20 mrg test.
6304 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: New test.
6305 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/destroy.cc: New test.
6306 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc:
6307 1.1.1.19 mrg New test.
6308 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc: New
6309 1.1.1.20 mrg test.
6310 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/invoke.cc: New test.
6311 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_source/assign.cc: New test.
6312 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_token/stop_possible.cc: New
6313 1.1.1.20 mrg test.
6314 1.1.1.15 mrg
6315 1.1.1.20 mrg * libsupc++/compare (__detail::__3way_builtin_ptr_cmp): Use
6316 1.1.1.20 mrg three_way_comparable_with.
6317 1.1.1.20 mrg (__detail::__3way_cmp_with): Remove workaround for fixed bug.
6318 1.1.1.20 mrg (compare_three_way::operator()): Remove redundant constraint from
6319 1.1.1.20 mrg requires-clause.
6320 1.1.1.20 mrg (__detail::_Synth3way::operator()): Use three_way_comparable_with
6321 1.1.1.20 mrg instead of workaround.
6322 1.1.1.20 mrg * testsuite/18_support/comparisons/object/93479.cc: Prune extra
6323 1.1.1.20 mrg output due to simplified constraints on compare_three_way::operator().
6324 1.1.1.20 mrg
6325 1.1.1.20 mrg PR libstdc++/93479
6326 1.1.1.20 mrg * libsupc++/compare (__3way_builtin_ptr_cmp): Require <=> to be valid.
6327 1.1.1.20 mrg * testsuite/18_support/comparisons/object/93479.cc: New test.
6328 1.1.1.20 mrg
6329 1.1.1.20 mrg * testsuite/std/ranges/access/end.cc: Do not assume test_range::end()
6330 1.1.1.20 mrg returns the same type as test_range::begin(). Add comments.
6331 1.1.1.20 mrg * testsuite/std/ranges/access/rbegin.cc: Likewise.
6332 1.1.1.20 mrg * testsuite/std/ranges/access/rend.cc: Likewise.
6333 1.1.1.20 mrg * testsuite/std/ranges/range.cc: Do not assume the sentinel for
6334 1.1.1.20 mrg test_range is the same as its iterator type.
6335 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h (test_range::sentinel): Add
6336 1.1.1.20 mrg operator- overloads to satisfy sized_sentinel_for when the iterator
6337 1.1.1.20 mrg satisfies random_access_iterator.
6338 1.1.1.15 mrg
6339 1.1.1.20 mrg 2020-01-28 Jonathan Wakely <jwakely (a] redhat.com>
6340 1.1.1.15 mrg
6341 1.1.1.20 mrg PR libstdc++/93470
6342 1.1.1.20 mrg * include/bits/refwrap.h (reference_wrapper::operator()): Restrict
6343 1.1.1.20 mrg static assertion to object types.
6344 1.1.1.15 mrg
6345 1.1.1.20 mrg PR libstdc++/93325
6346 1.1.1.20 mrg * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Use AC_SEARCH_LIBS for
6347 1.1.1.20 mrg clock_gettime instead of explicit glibc version check.
6348 1.1.1.20 mrg * configure: Regenerate.
6349 1.1.1.13 mrg
6350 1.1.1.20 mrg 2020-01-28 Martin Liska <mliska (a] suse.cz>
6351 1.1.1.13 mrg
6352 1.1.1.20 mrg PR libstdc++/93478
6353 1.1.1.20 mrg * include/std/atomic: Fix typo.
6354 1.1.1.20 mrg * include/std/optional: Likewise.
6355 1.1.1.18 mrg
6356 1.1.1.20 mrg 2020-01-27 Andrew Burgess <andrew.burgess (a] embecosm.com>
6357 1.1.1.18 mrg
6358 1.1.1.19 mrg * configure: Regenerate.
6359 1.1.1.18 mrg
6360 1.1.1.20 mrg 2020-01-27 Jonathan Wakely <jwakely (a] redhat.com>
6361 1.1.1.18 mrg
6362 1.1.1.20 mrg PR libstdc++/93426
6363 1.1.1.20 mrg * include/std/span (span): Fix deduction guide.
6364 1.1.1.20 mrg * testsuite/23_containers/span/deduction.cc: New test.
6365 1.1.1.18 mrg
6366 1.1.1.20 mrg 2020-01-24 Jonathan Wakely <jwakely (a] redhat.com>
6367 1.1.1.19 mrg
6368 1.1.1.20 mrg * libsupc++/compare (__cmp_cat::_Eq): Remove enumeration type.
6369 1.1.1.20 mrg (__cmp_cat::_Ord::equivalent): Add enumerator.
6370 1.1.1.20 mrg (__cmp_cat::_Ord::_Less, __cmp_cat::_Ord::_Greater): Rename to less
6371 1.1.1.20 mrg and greater.
6372 1.1.1.20 mrg (partial_ordering, weak_ordering, strong_ordering): Remove
6373 1.1.1.20 mrg constructors taking __cmp_cat::_Eq parameters. Use renamed
6374 1.1.1.20 mrg enumerators.
6375 1.1.1.19 mrg
6376 1.1.1.20 mrg 2020-01-24 Maciej W. Rozycki <macro (a] wdc.com>
6377 1.1.1.18 mrg
6378 1.1.1.20 mrg * acinclude.m4: Handle `--with-toolexeclibdir='.
6379 1.1.1.20 mrg * Makefile.in: Regenerate.
6380 1.1.1.20 mrg * aclocal.m4: Regenerate.
6381 1.1.1.20 mrg * configure: Regenerate.
6382 1.1.1.20 mrg * doc/Makefile.in: Regenerate.
6383 1.1.1.20 mrg * include/Makefile.in: Regenerate.
6384 1.1.1.20 mrg * libsupc++/Makefile.in: Regenerate.
6385 1.1.1.20 mrg * po/Makefile.in: Regenerate.
6386 1.1.1.20 mrg * python/Makefile.in: Regenerate.
6387 1.1.1.20 mrg * src/Makefile.in: Regenerate.
6388 1.1.1.20 mrg * src/c++11/Makefile.in: Regenerate.
6389 1.1.1.20 mrg * src/c++17/Makefile.in: Regenerate.
6390 1.1.1.20 mrg * src/c++98/Makefile.in: Regenerate.
6391 1.1.1.20 mrg * src/filesystem/Makefile.in: Regenerate.
6392 1.1.1.20 mrg * testsuite/Makefile.in: Regenerate.
6393 1.1.1.19 mrg
6394 1.1.1.20 mrg 2020-01-23 Alexandre Oliva <oliva (a] adacore.com>
6395 1.1.1.19 mrg
6396 1.1.1.20 mrg * crossconfig.m4 (GLIBCXX_CHECK_MATH_DECL): Reject macros.
6397 1.1.1.20 mrg * configure: Rebuild.
6398 1.1.1.19 mrg
6399 1.1.1.20 mrg * testsuite/27_io/fpos/mbstate_t/1.cc: Zero-init mbstate_t.
6400 1.1.1.19 mrg
6401 1.1.1.20 mrg 2020-01-23 Jonathan Wakely <jwakely (a] redhat.com>
6402 1.1.1.18 mrg
6403 1.1.1.20 mrg PR libstdc++/91947
6404 1.1.1.20 mrg * include/Makefile.am (${host_builddir}/largefile-config.h): Simplify
6405 1.1.1.20 mrg rule.
6406 1.1.1.20 mrg * include/Makefile.in: Regenerate.
6407 1.1.1.19 mrg
6408 1.1.1.20 mrg 2020-01-20 Jonathan Wakely <jwakely (a] redhat.com>
6409 1.1.1.19 mrg
6410 1.1.1.20 mrg * doc/xml/faq.xml: Fix grammar.
6411 1.1.1.20 mrg * doc/xml/manual/appendix_contributing.xml: Improve instructions.
6412 1.1.1.20 mrg * doc/xml/manual/spine.xml: Update copyright years.
6413 1.1.1.20 mrg * doc/html/*: Regenerate.
6414 1.1.1.19 mrg
6415 1.1.1.20 mrg 2020-01-19 Eric S. Raymond <esr (a] thyrsus.com>
6416 1.1.1.19 mrg
6417 1.1.1.20 mrg * doc/xml/faq.xml: Update for SVN -> Git transition.
6418 1.1.1.20 mrg * doc/xml/manual/appendix_contributing.xml: Likewise.
6419 1.1.1.20 mrg * doc/xml/manual/status_cxx1998.xml: Likewise.
6420 1.1.1.20 mrg * doc/xml/manual/status_cxx2011.xml: Likewise.
6421 1.1.1.20 mrg * doc/xml/manual/status_cxx2014.xml: Likewise.
6422 1.1.1.20 mrg * doc/xml/manual/status_cxx2017.xml: Likewise.
6423 1.1.1.20 mrg * doc/xml/manual/status_cxx2020.xml: Likewise.
6424 1.1.1.20 mrg * doc/xml/manual/status_cxxtr1.xml: Likewise.
6425 1.1.1.20 mrg * doc/xml/manual/status_cxxtr24733.xml: Likewise.
6426 1.1.1.18 mrg
6427 1.1.1.20 mrg 2020-01-18 Iain Sandoe <iain (a] sandoe.co.uk>
6428 1.1.1.18 mrg
6429 1.1.1.20 mrg * include/Makefile.am: Add coroutine to the std set.
6430 1.1.1.20 mrg * include/Makefile.in: Regenerated.
6431 1.1.1.20 mrg * include/std/coroutine: New file.
6432 1.1.1.19 mrg
6433 1.1.1.20 mrg 2020-01-17 Jonathan Wakely <jwakely (a] redhat.com>
6434 1.1.1.19 mrg
6435 1.1.1.20 mrg PR libstdc++/92376
6436 1.1.1.20 mrg * include/bits/c++config: Only do PSTL config when the header is
6437 1.1.1.20 mrg present, to fix freestanding.
6438 1.1.1.20 mrg * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare allocation
6439 1.1.1.20 mrg functions if they were detected by configure.
6440 1.1.1.19 mrg
6441 1.1.1.20 mrg 2020-01-16 Kai-Uwe Eckhardt <kuehro (a] gmx.de>
6442 1.1.1.20 mrg Matthew Bauer <mjbauer95 (a] gmail.com>
6443 1.1.1.19 mrg Jonathan Wakely <jwakely (a] redhat.com>
6444 1.1.1.19 mrg
6445 1.1.1.20 mrg PR bootstrap/64271 (partial)
6446 1.1.1.20 mrg * config/os/bsd/netbsd/ctype_base.h (ctype_base::mask): Change type
6447 1.1.1.20 mrg to unsigned short.
6448 1.1.1.20 mrg (ctype_base::alpha, ctype_base::digit, ctype_base::xdigit)
6449 1.1.1.20 mrg (ctype_base::print, ctype_base::graph, ctype_base::alnum): Sync
6450 1.1.1.20 mrg definitions with NetBSD upstream.
6451 1.1.1.20 mrg (ctype_base::blank): Use _CTYPE_BL.
6452 1.1.1.20 mrg * config/os/bsd/netbsd/ctype_configure_char.cc (_C_ctype_): Remove
6453 1.1.1.20 mrg Declaration.
6454 1.1.1.20 mrg (ctype<char>::classic_table): Use _C_ctype_tab_ instead of _C_ctype_.
6455 1.1.1.20 mrg (ctype<char>::do_toupper, ctype<char>::do_tolower): Cast char
6456 1.1.1.20 mrg parameters to unsigned char.
6457 1.1.1.20 mrg * config/os/bsd/netbsd/ctype_inline.h (ctype<char>::is): Likewise.
6458 1.1.1.20 mrg
6459 1.1.1.20 mrg 2020-01-16 Franois Dumont <fdumont (a] gcc.gnu.org>
6460 1.1.1.20 mrg
6461 1.1.1.20 mrg PR libstdc++/91263
6462 1.1.1.20 mrg * include/bits/hashtable.h (_Hashtable<>): Make _Equality<> friend.
6463 1.1.1.20 mrg * include/bits/hashtable_policy.h: Include <bits/stl_algo.h>.
6464 1.1.1.20 mrg (_Equality_base): Remove.
6465 1.1.1.20 mrg (_Equality<>::_M_equal): Review implementation. Use
6466 1.1.1.20 mrg std::is_permutation.
6467 1.1.1.20 mrg * testsuite/23_containers/unordered_multiset/operators/1.cc
6468 1.1.1.20 mrg (Hash, Equal, test02, test03): New.
6469 1.1.1.20 mrg * testsuite/23_containers/unordered_set/operators/1.cc
6470 1.1.1.20 mrg (Hash, Equal, test02, test03): New.
6471 1.1.1.20 mrg
6472 1.1.1.20 mrg 2020-01-15 Jonathan Wakely <jwakely (a] redhat.com>
6473 1.1.1.20 mrg
6474 1.1.1.20 mrg PR libstdc++/93267
6475 1.1.1.20 mrg * include/bits/iterator_concepts.h (__max_diff_type, __max_size_type):
6476 1.1.1.20 mrg Move here from <bits/range_access.h> and define using __int128 when
6477 1.1.1.20 mrg available.
6478 1.1.1.20 mrg (__is_integer_like, __is_signed_integer_like): Move here from
6479 1.1.1.20 mrg <bits/range_access.h>.
6480 1.1.1.20 mrg (weakly_incrementable): Use __is_signed_integer_like.
6481 1.1.1.20 mrg * include/bits/range_access.h (__max_diff_type, __max_size_type)
6482 1.1.1.20 mrg (__is_integer_like, __is_signed_integer_like): Move to
6483 1.1.1.20 mrg <bits/iterator_concepts.h>.
6484 1.1.1.20 mrg (__make_unsigned_like_t): Move here from <ranges>.
6485 1.1.1.20 mrg * include/std/ranges (__make_unsigned_like_t): Move to
6486 1.1.1.20 mrg <bits/range_access.h>.
6487 1.1.1.20 mrg (iota_view): Replace using-directive with using-declarations.
6488 1.1.1.20 mrg * testsuite/std/ranges/iota/93267.cc: New test.
6489 1.1.1.20 mrg * testsuite/std/ranges/iota_view.cc: Move to new 'iota' sub-directory.
6490 1.1.1.18 mrg
6491 1.1.1.20 mrg 2020-01-13 Jonathan Wakely <jwakely (a] redhat.com>
6492 1.1.1.18 mrg
6493 1.1.1.20 mrg PR libstdc++/93244
6494 1.1.1.20 mrg * include/bits/fs_path.h (path::generic_string<C,A>)
6495 1.1.1.20 mrg [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Convert root-dir to forward-slash.
6496 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/generic_string.cc: Check
6497 1.1.1.20 mrg root-dir is converted to forward slash in generic pathname.
6498 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/utf.cc: New test.
6499 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/wchar_t.cc: New test.
6500 1.1.1.18 mrg
6501 1.1.1.20 mrg PR libstdc++/58605
6502 1.1.1.20 mrg * include/bits/atomic_base.h (__cpp_lib_atomic_value_initialization):
6503 1.1.1.19 mrg Define.
6504 1.1.1.20 mrg (__atomic_flag_base, __atomic_base, __atomic_base<_PTp*>)
6505 1.1.1.20 mrg (__atomic_float): Add default member initializer for C++20.
6506 1.1.1.20 mrg * include/std/atomic (atomic): Likewise.
6507 1.1.1.20 mrg (atomic::atomic()): Remove noexcept-specifier on default constructor.
6508 1.1.1.20 mrg * include/std/version (__cpp_lib_atomic_value_initialization): Define.
6509 1.1.1.20 mrg * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error line
6510 1.1.1.20 mrg number.
6511 1.1.1.20 mrg * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
6512 1.1.1.20 mrg * testsuite/29_atomics/atomic/cons/value_init.cc: New test.
6513 1.1.1.20 mrg * testsuite/29_atomics/atomic_flag/cons/value_init.cc: New test.
6514 1.1.1.20 mrg * testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Adjust
6515 1.1.1.20 mrg expected result for is_trivially_default_constructible.
6516 1.1.1.20 mrg * testsuite/29_atomics/atomic_float/requirements.cc: Likewise.
6517 1.1.1.20 mrg * testsuite/29_atomics/atomic_float/value_init.cc: New test.
6518 1.1.1.20 mrg * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
6519 1.1.1.20 mrg * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
6520 1.1.1.20 mrg * testsuite/29_atomics/atomic_integral/cons/value_init.cc
6521 1.1.1.20 mrg * testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Adjust
6522 1.1.1.20 mrg expected results for is_trivially_default_constructible.
6523 1.1.1.20 mrg * testsuite/util/testsuite_common_types.h (has_trivial_dtor): Add
6524 1.1.1.20 mrg new test generator.
6525 1.1.1.20 mrg
6526 1.1.1.20 mrg 2020-01-10 Jonathan Wakely <jwakely (a] redhat.com>
6527 1.1.1.20 mrg
6528 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h: Improve comment.
6529 1.1.1.20 mrg
6530 1.1.1.20 mrg * testsuite/25_algorithms/equal/deque_iterators/1.cc: Don't use C++11
6531 1.1.1.20 mrg initialization syntax.
6532 1.1.1.20 mrg
6533 1.1.1.20 mrg PR libstdc++/92285
6534 1.1.1.20 mrg * include/bits/streambuf_iterator.h (istreambuf_iterator): Make type
6535 1.1.1.20 mrg of base class independent of __cplusplus value.
6536 1.1.1.20 mrg [__cplusplus < 201103L] (istreambuf_iterator::reference): Override the
6537 1.1.1.20 mrg type defined in the base class
6538 1.1.1.20 mrg * testsuite/24_iterators/istreambuf_iterator/92285.cc: New test.
6539 1.1.1.20 mrg * testsuite/24_iterators/istreambuf_iterator/requirements/
6540 1.1.1.20 mrg base_classes.cc: Adjust expected base class for C++98.
6541 1.1.1.20 mrg
6542 1.1.1.20 mrg 2020-01-09 Olivier Hainque <hainque (a] adacore.com>
6543 1.1.1.20 mrg
6544 1.1.1.20 mrg * doc/xml/manual/appendix_contributing.xml: Document _C2
6545 1.1.1.20 mrg as a reserved identifier, by VxWorks.
6546 1.1.1.20 mrg * include/bits/stl_map.h: Rename _C2 template typenames as _Cmp2.
6547 1.1.1.20 mrg * include/bits/stl_multimap.h: Likewise.
6548 1.1.1.20 mrg
6549 1.1.1.20 mrg 2020-01-09 Jonathan Wakely <jwakely (a] redhat.com>
6550 1.1.1.20 mrg
6551 1.1.1.20 mrg * include/ext/extptr_allocator.h (_ExtPtr_allocator::operator==)
6552 1.1.1.20 mrg (_ExtPtr_allocator::operator!=): Add missing const qualifiers.
6553 1.1.1.20 mrg * include/ext/pointer.h (readable_traits<_Pointer_adapter<S>>): Add
6554 1.1.1.20 mrg partial specialization to disambiguate the two constrained
6555 1.1.1.20 mrg specializations.
6556 1.1.1.20 mrg
6557 1.1.1.20 mrg * include/experimental/type_traits (experimental::is_pod_v): Disable
6558 1.1.1.20 mrg -Wdeprecated-declarations warnings around reference to std::is_pod.
6559 1.1.1.20 mrg * include/std/type_traits (is_pod_v): Likewise.
6560 1.1.1.20 mrg * testsuite/18_support/max_align_t/requirements/2.cc: Also check
6561 1.1.1.20 mrg is_standard_layout and is_trivial. Do not check is_pod for C++20.
6562 1.1.1.20 mrg * testsuite/20_util/is_pod/requirements/explicit_instantiation.cc:
6563 1.1.1.20 mrg Add -Wno-deprecated for C++20.
6564 1.1.1.20 mrg * testsuite/20_util/is_pod/requirements/typedefs.cc: Likewise.
6565 1.1.1.20 mrg * testsuite/20_util/is_pod/value.cc: Likewise.
6566 1.1.1.20 mrg * testsuite/experimental/type_traits/value.cc: Likewise.
6567 1.1.1.20 mrg
6568 1.1.1.20 mrg 2020-01-09 JeanHeyd "ThePhD" Meneide <phdofthehouse (a] gmail.com>
6569 1.1.1.20 mrg
6570 1.1.1.20 mrg * include/bits/c++config (_GLIBCXX20_DEPRECATED): Add new macro.
6571 1.1.1.20 mrg * include/std/type_traits (is_pod, is_pod_v): Deprecate for C++20.
6572 1.1.1.20 mrg * testuite/20_util/is_pod/deprecated-2a.cc: New test.
6573 1.1.1.20 mrg
6574 1.1.1.20 mrg 2020-01-09 Jonathan Wakely <jwakely (a] redhat.com>
6575 1.1.1.20 mrg
6576 1.1.1.20 mrg PR libstdc++/93205
6577 1.1.1.20 mrg * include/bits/random.h (operator>>): Check stream operation succeeds.
6578 1.1.1.20 mrg * include/bits/random.tcc (operator<<): Remove redundant __ostream_type
6579 1.1.1.20 mrg typedefs.
6580 1.1.1.20 mrg (operator>>): Remove redundant __istream_type typedefs. Check stream
6581 1.1.1.20 mrg operations succeed.
6582 1.1.1.20 mrg (__extract_params): New function to fill a vector from a stream.
6583 1.1.1.20 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line.
6584 1.1.1.20 mrg
6585 1.1.1.20 mrg PR libstdc++/93208
6586 1.1.1.20 mrg * config/abi/pre/gnu.ver: Add new exports.
6587 1.1.1.20 mrg * include/std/memory_resource (memory_resource::~memory_resource()):
6588 1.1.1.20 mrg Do not define inline.
6589 1.1.1.20 mrg (monotonic_buffer_resource::~monotonic_buffer_resource()): Likewise.
6590 1.1.1.20 mrg * src/c++17/memory_resource.cc (memory_resource::~memory_resource()):
6591 1.1.1.19 mrg Define.
6592 1.1.1.20 mrg (monotonic_buffer_resource::~monotonic_buffer_resource()): Define.
6593 1.1.1.20 mrg * testsuite/20_util/monotonic_buffer_resource/93208.cc: New test.
6594 1.1.1.17 mrg
6595 1.1.1.20 mrg 2020-01-09 Franois Dumont <fdumont (a] gcc.gnu.org>
6596 1.1.1.11 mrg
6597 1.1.1.20 mrg PR libstdc++/92124
6598 1.1.1.20 mrg * include/bits/hashtable.h (_Hashtable<>::__alloc_node_gen_t): New
6599 1.1.1.20 mrg template alias.
6600 1.1.1.20 mrg (_Hashtable<>::__fwd_value_for): New.
6601 1.1.1.20 mrg (_Hashtable<>::_M_assign_elements<>): Remove _NodeGenerator template
6602 1.1.1.20 mrg parameter.
6603 1.1.1.20 mrg (_Hashtable<>::_M_assign<>): Add _Ht template parameter.
6604 1.1.1.20 mrg (_Hashtable<>::operator=(const _Hashtable<>&)): Adapt.
6605 1.1.1.20 mrg (_Hashtable<>::_M_move_assign): Adapt. Replace std::move_if_noexcept
6606 1.1.1.20 mrg with std::move.
6607 1.1.1.20 mrg (_Hashtable<>::_Hashtable(const _Hashtable&)): Adapt.
6608 1.1.1.20 mrg (_Hashtable<>::_Hashtable(const _Hashtable&, const allocator_type&)):
6609 1.1.1.20 mrg Adapt.
6610 1.1.1.20 mrg (_Hashtable<>::_Hashtable(_Hashtable&&, const allocator_type&)):
6611 1.1.1.20 mrg Adapt.
6612 1.1.1.20 mrg * testsuite/23_containers/unordered_set/92124.cc: New.
6613 1.1.1.20 mrg
6614 1.1.1.20 mrg 2020-01-08 Jonathan Wakely <jwakely (a] redhat.com>
6615 1.1.1.20 mrg
6616 1.1.1.20 mrg PR libstdc++/93201
6617 1.1.1.20 mrg * src/c++17/fs_ops.cc (do_remove_all): New function implementing more
6618 1.1.1.20 mrg detailed error reporting for remove_all. Check result of recursive
6619 1.1.1.20 mrg call before incrementing iterator.
6620 1.1.1.20 mrg (remove_all(const path&), remove_all(const path&, error_code&)): Use
6621 1.1.1.20 mrg do_remove_all.
6622 1.1.1.20 mrg * src/filesystem/ops.cc (remove_all(const path&, error_code&)): Check
6623 1.1.1.20 mrg result of recursive call before incrementing iterator.
6624 1.1.1.20 mrg * testsuite/27_io/filesystem/operations/remove_all.cc: Check errors
6625 1.1.1.20 mrg are reported correctly.
6626 1.1.1.20 mrg * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
6627 1.1.1.20 mrg
6628 1.1.1.20 mrg 2020-01-07 Thomas Rodgers <trodgers (a] redhat.com>
6629 1.1.1.20 mrg
6630 1.1.1.20 mrg * include/std/condition_variable
6631 1.1.1.20 mrg (condition_variable_any::wait_on): Rename to match current draft
6632 1.1.1.20 mrg standard.
6633 1.1.1.20 mrg (condition_variable_any::wait_on_until): Likewise.
6634 1.1.1.20 mrg (condition_variable_any::wait_on_for): Likewise.
6635 1.1.1.20 mrg * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
6636 1.1.1.20 mrg Adjust tests to account for renamed methods.
6637 1.1.1.20 mrg
6638 1.1.1.20 mrg 2020-01-07 Franois Dumont <fdumont (a] gcc.gnu.org>
6639 1.1.1.20 mrg
6640 1.1.1.20 mrg PR libstdc++/92124
6641 1.1.1.20 mrg * include/bits/stl_tree.h
6642 1.1.1.20 mrg (_Rb_tree<>::_M_move_assign(_Rb_tree&, false_type)): Replace
6643 1.1.1.20 mrg std::move_if_noexcept by std::move.
6644 1.1.1.20 mrg * testsuite/23_containers/map/92124.cc: New.
6645 1.1.1.20 mrg * testsuite/23_containers/set/92124.cc: New.
6646 1.1.1.20 mrg
6647 1.1.1.20 mrg 2020-01-06 Jonathan Wakely <jwakely (a] redhat.com>
6648 1.1.1.20 mrg
6649 1.1.1.20 mrg * include/std/stop_token (stop_token): Remove operator!= (LWG 3254).
6650 1.1.1.20 mrg (stop_source): Likewise (LWG 3362).
6651 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_source.cc: Test equality
6652 1.1.1.20 mrg comparisons.
6653 1.1.1.20 mrg
6654 1.1.1.20 mrg * include/bits/stl_algobase.h (__is_byte_iter, __min_cmp)
6655 1.1.1.20 mrg (lexicographical_compare_three_way): Do not depend on
6656 1.1.1.20 mrg __cpp_lib_concepts.
6657 1.1.1.20 mrg * include/std/version (__cpp_lib_three_way_comparison): Only define
6658 1.1.1.20 mrg when __cpp_lib_concepts is defined.
6659 1.1.1.20 mrg * libsupc++/compare (__cpp_lib_three_way_comparison): Likewise.
6660 1.1.1.20 mrg
6661 1.1.1.20 mrg 2020-01-03 Jonathan Wakely <jwakely (a] redhat.com>
6662 1.1.1.20 mrg
6663 1.1.1.20 mrg * include/bits/stl_algobase.h (lexicographical_compare_three_way):
6664 1.1.1.20 mrg Only define four-argument overload when __cpp_lib_concepts is defined.
6665 1.1.1.20 mrg
6666 1.1.1.20 mrg 2020-01-01 John David Anglin <danglin (a] gcc.gnu.org>
6667 1.1.1.20 mrg
6668 1.1.1.20 mrg * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
6669 1.1.1.14 mrg
6670 1.1.1.20 mrg 2020-01-01 Jakub Jelinek <jakub (a] redhat.com>
6671 1.1 mrg
6672 1.1.1.9 mrg Update copyright years.
6673 1.1.1.3 mrg
6675 1.1 mrg Copyright (C) 2020 Free Software Foundation, Inc.
6676 1.1.1.3 mrg
6677 1.1.1.3 mrg Copying and distribution of this file, with or without modification,
6678 1.1.1.3 mrg are permitted in any medium without royalty provided the copyright
6679 notice and this notice are preserved.
6680