ChangeLog revision 1.1.1.20 1 1.1.1.20 mrg 2021-04-08 Release Manager
2 1.1.1.16 mrg
3 1.1.1.20 mrg * GCC 10.3.0 released.
4 1.1.1.19 mrg
5 1.1.1.20 mrg 2021-04-01 Jonathan Wakely <jwakely (a] redhat.com>
6 1.1.1.19 mrg
7 1.1.1.20 mrg Backported from master:
8 1.1.1.20 mrg 2021-02-14 Jonathan Wakely <jwakely (a] redhat.com>
9 1.1.1.19 mrg
10 1.1.1.20 mrg PR libstdc++/99096
11 1.1.1.20 mrg * testsuite/util/testsuite_fs.h: Always include <unistd.h>.
12 1.1.1.19 mrg
13 1.1.1.20 mrg 2021-04-01 Jonathan Wakely <jwakely (a] redhat.com>
14 1.1.1.19 mrg
15 1.1.1.20 mrg Backported from master:
16 1.1.1.20 mrg 2020-12-17 Jonathan Wakely <jwakely (a] redhat.com>
17 1.1.1.19 mrg
18 1.1.1.20 mrg * config.h.in: Regenerate.
19 1.1.1.20 mrg * config/os/djgpp/error_constants.h: Test POSIX errno macros
20 1.1.1.20 mrg directly, instead of corresponding _GLIBCXX_HAVE_EXXX macros.
21 1.1.1.20 mrg * config/os/mingw32-w64/error_constants.h: Likewise.
22 1.1.1.20 mrg * config/os/mingw32/error_constants.h: Likewise.
23 1.1.1.20 mrg * configure: Regenerate.
24 1.1.1.19 mrg
25 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
26 1.1.1.19 mrg
27 1.1.1.20 mrg Backported from master:
28 1.1.1.20 mrg 2020-11-30 Jonathan Wakely <jwakely (a] redhat.com>
29 1.1.1.19 mrg
30 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/pstl/*: Add
31 1.1.1.20 mrg dg-timeout-factor.
32 1.1.1.20 mrg * testsuite/25_algorithms/pstl/*: Likewise.
33 1.1.1.20 mrg * testsuite/26_numerics/pstl/*: Likewise.
34 1.1.1.20 mrg * testsuite/28_regex/*: Likewise.
35 1.1.1.19 mrg
36 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
37 1.1.1.19 mrg
38 1.1.1.20 mrg Backported from master:
39 1.1.1.20 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com>
40 1.1.1.19 mrg
41 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc:
42 1.1.1.20 mrg Add dg-timeout-factor directive.
43 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
44 1.1.1.20 mrg Likewise.
45 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc:
46 1.1.1.20 mrg Likewise.
47 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
48 1.1.1.20 mrg Likewise.
49 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
50 1.1.1.20 mrg Likewise.
51 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
52 1.1.1.20 mrg Likewise.
53 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc:
54 1.1.1.20 mrg Likewise.
55 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
56 1.1.1.20 mrg Likewise.
57 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_search/61720.cc: Likewise.
58 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
59 1.1.1.20 mrg Likewise.
60 1.1.1.20 mrg * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
61 1.1.1.20 mrg Likewise.
62 1.1.1.20 mrg * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise.
63 1.1.1.19 mrg
64 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
65 1.1.1.19 mrg
66 1.1.1.20 mrg Backported from master:
67 1.1.1.20 mrg 2020-08-11 Jonathan Wakely <jwakely (a] redhat.com>
68 1.1.1.19 mrg
69 1.1.1.20 mrg * include/std/stop_token: Check _GLIBCXX_HAS_GTHREADS using
70 1.1.1.20 mrg #ifdef instead of #if.
71 1.1.1.20 mrg (stop_token::_S_yield()): Check _GLIBCXX_HAS_GTHREADS before
72 1.1.1.20 mrg using __gthread_yield.
73 1.1.1.19 mrg
74 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
75 1.1.1.19 mrg
76 1.1.1.20 mrg Backported from master:
77 1.1.1.20 mrg 2020-06-19 Jonathan Wakely <jwakely (a] redhat.com>
78 1.1.1.19 mrg
79 1.1.1.20 mrg PR libstdc++/95765
80 1.1.1.20 mrg * include/bits/stl_algobase.h (__size_to_integer(float))
81 1.1.1.20 mrg (__size_to_integer(double), __size_to_integer(long double))
82 1.1.1.20 mrg (__size_to_integer(__float128)): Cast return type explicitly.
83 1.1.1.19 mrg
84 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
85 1.1.1.18 mrg
86 1.1.1.20 mrg Backported from master:
87 1.1.1.20 mrg 2020-11-25 Jonathan Wakely <jwakely (a] redhat.com>
88 1.1.1.18 mrg
89 1.1.1.20 mrg * testsuite/17_intro/names.cc: Do not test 'v' on AIX.
90 1.1.1.18 mrg
91 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
92 1.1.1.18 mrg
93 1.1.1.20 mrg Backported from master:
94 1.1.1.20 mrg 2020-07-30 Jonathan Wakely <jwakely (a] redhat.com>
95 1.1.1.18 mrg
96 1.1.1.20 mrg * include/bits/basic_string.h (size_type, difference_type):
97 1.1.1.20 mrg Use allocator_traits to obtain the allocator's size_type and
98 1.1.1.20 mrg difference_type.
99 1.1.1.18 mrg
100 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
101 1.1.1.18 mrg
102 1.1.1.20 mrg Backported from master:
103 1.1.1.20 mrg 2020-09-01 Jonathan Wakely <jwakely (a] redhat.com>
104 1.1.1.18 mrg
105 1.1.1.20 mrg * include/std/chrono (duration::_S_gcd(intmax_t, intmax_t)):
106 1.1.1.20 mrg New helper function for finding GCD of two positive intmax_t
107 1.1.1.20 mrg values.
108 1.1.1.20 mrg (duration::__divide): New helper alias for dividing one period
109 1.1.1.20 mrg by another.
110 1.1.1.20 mrg (duration::__is_harmonic): Use __divide not ratio_divide.
111 1.1.1.20 mrg (duration(const duration<R2, P2>&)): Require the duration rep
112 1.1.1.20 mrg types to be convertible.
113 1.1.1.20 mrg * testsuite/20_util/duration/cons/dr2094.cc: New test.
114 1.1.1.20 mrg * testsuite/20_util/duration/requirements/reduced_period.cc:
115 1.1.1.20 mrg Fix definition of unused member functions in test type.
116 1.1.1.20 mrg * testsuite/20_util/duration/requirements/typedefs_neg2.cc:
117 1.1.1.20 mrg Adjust expected errors.
118 1.1.1.18 mrg
119 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
120 1.1.1.18 mrg
121 1.1.1.20 mrg Backported from master:
122 1.1.1.20 mrg 2020-08-27 Jonathan Wakely <jwakely (a] redhat.com>
123 1.1.1.18 mrg
124 1.1.1.20 mrg * include/std/chrono (__duration_common_type): Ensure the
125 1.1.1.20 mrg reduced ratio is used. Remove unused partial specialization
126 1.1.1.20 mrg using __failure_type.
127 1.1.1.20 mrg (common_type): Pass reduced ratios to __duration_common_type.
128 1.1.1.20 mrg Add partial specializations for simple cases involving a single
129 1.1.1.20 mrg duration or time_point type.
130 1.1.1.20 mrg (duration::period): Use reduced ratio.
131 1.1.1.20 mrg (duration::operator+(), duration::operator-()): Return duration
132 1.1.1.20 mrg type using the reduced ratio.
133 1.1.1.20 mrg * testsuite/20_util/duration/requirements/typedefs_neg2.cc:
134 1.1.1.20 mrg Adjust expected errors.
135 1.1.1.20 mrg * testsuite/20_util/duration/requirements/reduced_period.cc: New test.
136 1.1.1.18 mrg
137 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
138 1.1.1.18 mrg
139 1.1.1.20 mrg Backported from master:
140 1.1.1.20 mrg 2020-09-03 Jonathan Wakely <jwakely (a] redhat.com>
141 1.1.1.18 mrg
142 1.1.1.20 mrg PR libstdc++/96592
143 1.1.1.20 mrg * include/std/tuple (_TupleConstraints<true, T...>): Use
144 1.1.1.20 mrg alternative is_constructible instead of std::is_constructible.
145 1.1.1.20 mrg * testsuite/20_util/tuple/cons/96592.cc: New test.
146 1.1.1.19 mrg
147 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
148 1.1.1.18 mrg
149 1.1.1.20 mrg Backported from master:
150 1.1.1.20 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com>
151 1.1.1.18 mrg
152 1.1.1.20 mrg * testsuite/20_util/is_aggregate/value.cc: Adjust for changes to
153 1.1.1.20 mrg definition of aggregates in C++20.
154 1.1.1.20 mrg * testsuite/20_util/optional/requirements.cc: Adjust for
155 1.1.1.20 mrg defaulted comparisons in C++20.
156 1.1.1.18 mrg
157 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
158 1.1.1.18 mrg
159 1.1.1.20 mrg Backported from master:
160 1.1.1.20 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com>
161 1.1.1.18 mrg
162 1.1.1.20 mrg * testsuite/20_util/tuple/78939.cc: Suppress warnings about
163 1.1.1.20 mrg deprecation of volatile-qualified structured bindings in C++20.
164 1.1.1.20 mrg * testsuite/20_util/variable_templates_for_traits.cc: Likewise
165 1.1.1.20 mrg for deprecation of is_pod in C++20
166 1.1.1.18 mrg
167 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
168 1.1.1.18 mrg
169 1.1.1.20 mrg Backported from master:
170 1.1.1.20 mrg 2020-06-09 Jonathan Wakely <jwakely (a] redhat.com>
171 1.1.1.18 mrg
172 1.1.1.20 mrg * include/std/optional (bad_optional_access): Define default
173 1.1.1.20 mrg constructor and destructor as defaulted.
174 1.1.1.20 mrg * testsuite/20_util/optional/bad_access.cc: New test.
175 1.1.1.19 mrg
176 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
177 1.1.1.19 mrg
178 1.1.1.20 mrg Backported from master:
179 1.1.1.20 mrg 2020-06-04 Jonathan Wakely <jwakely (a] redhat.com>
180 1.1.1.18 mrg
181 1.1.1.20 mrg * include/bits/ranges_algobase.h (__copy_n_fn): Only call
182 1.1.1.20 mrg ranges::copy for positive values.
183 1.1.1.20 mrg * include/bits/stl_algo.h (copy_n): Convert Size argument to an
184 1.1.1.20 mrg integral type and only call __copy_n for positive values.
185 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h
186 1.1.1.20 mrg (random_access_iterator_wrapper::operator+=): Fix range check for
187 1.1.1.20 mrg negative values.
188 1.1.1.20 mrg (output_container, input_container, forward_container)
189 1.1.1.20 mrg (bidirectional_container, random_access_container): New alias
190 1.1.1.20 mrg templates.
191 1.1.1.20 mrg * testsuite/25_algorithms/copy_n/5.cc: New test.
192 1.1.1.19 mrg
193 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
194 1.1.1.19 mrg
195 1.1.1.20 mrg Backported from master:
196 1.1.1.20 mrg 2020-06-16 Jonathan Wakely <jwakely (a] redhat.com>
197 1.1.1.18 mrg
198 1.1.1.20 mrg * include/std/atomic (atomic): Add static assertions.
199 1.1.1.20 mrg * testsuite/29_atomics/atomic/requirements/types_neg.cc: New test.
200 1.1.1.16 mrg
201 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
202 1.1.1.19 mrg
203 1.1.1.20 mrg Backported from master:
204 1.1.1.20 mrg 2020-06-09 Jonathan Wakely <jwakely (a] redhat.com>
205 1.1.1.19 mrg
206 1.1.1.20 mrg * include/bits/stl_iterator.h (move_iterator::operator=): Define.
207 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/dr3265.cc: New test.
208 1.1.1.19 mrg
209 1.1.1.20 mrg 2021-03-29 Paul Keir <paul.keir (a] uws.ac.uk>
210 1.1.1.19 mrg
211 1.1.1.20 mrg Backported from master:
212 1.1.1.20 mrg 2020-06-15 Paul Keir <paul.keir (a] uws.ac.uk>
213 1.1.1.19 mrg
214 1.1.1.20 mrg * include/bits/char_traits.h (char_traits::move): constexpr move with
215 1.1.1.20 mrg overlap was using copy_backward incorrectly.
216 1.1.1.20 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
217 1.1.1.20 mrg New test.
218 1.1.1.19 mrg
219 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
220 1.1.1.19 mrg
221 1.1.1.20 mrg Backported from master:
222 1.1.1.20 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com>
223 1.1.1.19 mrg
224 1.1.1.20 mrg * testsuite/20_util/time_point_cast/rounding.cc: Remove
225 1.1.1.20 mrg duplicate dg-do directive and add c++17 effective target.
226 1.1.1.19 mrg
227 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
228 1.1.1.19 mrg
229 1.1.1.20 mrg Backported from master:
230 1.1.1.20 mrg 2020-08-11 Jonathan Wakely <jwakely (a] redhat.com>
231 1.1.1.19 mrg
232 1.1.1.20 mrg * testsuite/30_threads/thread/cons/84535.cc: Use a custom
233 1.1.1.20 mrg namespace.
234 1.1.1.20 mrg * testsuite/30_threads/thread/cons/lwg2097.cc: Likewise.
235 1.1.1.19 mrg
236 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
237 1.1.1.19 mrg
238 1.1.1.20 mrg Backported from master:
239 1.1.1.20 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com>
240 1.1.1.19 mrg
241 1.1.1.20 mrg * testsuite/lib/libstdc++.exp (libstdc++_init): Only set
242 1.1.1.20 mrg tool_timeout if it hasn't been set by the user already.
243 1.1.1.16 mrg
244 1.1.1.20 mrg 2021-03-29 Moritz Sichert <sichert (a] in.tum.de>
245 1.1.1.19 mrg
246 1.1.1.20 mrg Backported from master:
247 1.1.1.20 mrg 2021-03-23 Moritz Sichert <sichert (a] in.tum.de>
248 1.1.1.19 mrg
249 1.1.1.20 mrg * include/std/ranges (reverse_view::begin, reverse_view::end):
250 1.1.1.20 mrg Qualify make_reverse_iterator calls to avoid ADL.
251 1.1.1.20 mrg * testsuite/std/ranges/adaptors/reverse.cc: Test that
252 1.1.1.20 mrg views::reverse works when make_reverse_iterator is defined
253 1.1.1.20 mrg in an associated namespace.
254 1.1.1.19 mrg
255 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
256 1.1.1.19 mrg
257 1.1.1.20 mrg Backported from master:
258 1.1.1.20 mrg 2021-03-22 Jonathan Wakely <jwakely (a] redhat.com>
259 1.1.1.19 mrg
260 1.1.1.20 mrg * include/bits/range_access.h (begin(T (&)[N]), end(T (&)[N])):
261 1.1.1.20 mrg Add missing 'noexcept' as per LWG 2280.
262 1.1.1.20 mrg (rbegin(T (&)[N]), rend(T (&)[N]), rbegin(initializer_list<T>))
263 1.1.1.20 mrg (rend(initializer_list<T>)): Add 'noexcept' as per LWG 3537.
264 1.1.1.20 mrg * testsuite/24_iterators/range_access/range_access.cc: Check for
265 1.1.1.20 mrg expected noexcept specifiers. Check result types of generic
266 1.1.1.20 mrg std::begin and std::end overloads.
267 1.1.1.20 mrg * testsuite/24_iterators/range_access/range_access_cpp14.cc:
268 1.1.1.20 mrg Check for expected noexcept specifiers.
269 1.1.1.20 mrg * testsuite/24_iterators/range_access/range_access_cpp17.cc:
270 1.1.1.19 mrg Likewise.
271 1.1.1.18 mrg
272 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
273 1.1.1.19 mrg
274 1.1.1.20 mrg Backported from master:
275 1.1.1.20 mrg 2021-03-11 Jonathan Wakely <jwakely (a] redhat.com>
276 1.1.1.19 mrg
277 1.1.1.20 mrg PR libstdc++/99537
278 1.1.1.20 mrg * include/std/stop_token (_Stop_state_t::_M_release_ownership):
279 1.1.1.20 mrg Use acq_rel memory ordering.
280 1.1.1.19 mrg
281 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
282 1.1.1.19 mrg
283 1.1.1.20 mrg Backported from master:
284 1.1.1.20 mrg 2021-03-11 Jonathan Wakely <jwakely (a] redhat.com>
285 1.1.1.18 mrg
286 1.1.1.20 mrg PR libstdc++/99533
287 1.1.1.20 mrg * src/c++17/fs_dir.cc (recursive_directory_iterator): Use new
288 1.1.1.20 mrg helper function to check for permission denied errors.
289 1.1.1.20 mrg * src/filesystem/dir.cc (recursive_directory_iterator):
290 1.1.1.20 mrg Likewise.
291 1.1.1.20 mrg * src/filesystem/dir-common.h (is_permission_denied_error): New
292 1.1.1.20 mrg helper function.
293 1.1.1.18 mrg
294 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
295 1.1.1.18 mrg
296 1.1.1.20 mrg Backported from master:
297 1.1.1.20 mrg 2021-03-11 Jonathan Wakely <jwakely (a] redhat.com>
298 1.1.1.16 mrg
299 1.1.1.20 mrg PR libstdc++/99536
300 1.1.1.20 mrg * include/bits/random.h (normal_distribution): Use
301 1.1.1.20 mrg default-initializer for _M_saved and _M_saved_available.
302 1.1.1.16 mrg
303 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
304 1.1.1.19 mrg
305 1.1.1.20 mrg Backported from master:
306 1.1.1.20 mrg 2021-03-10 Jonathan Wakely <jwakely (a] redhat.com>
307 1.1.1.19 mrg
308 1.1.1.20 mrg * include/bits/range_cmp.h (__eq_builtin_ptr_cmp): Remove.
309 1.1.1.20 mrg (ranges::equal_to, ranges::not_equal_to): Do not constrain
310 1.1.1.20 mrg with __eq_builtin_ptr_cmp.
311 1.1.1.20 mrg (ranges::less, ranges::greater, ranges::less_equal)
312 1.1.1.20 mrg (ranges::greater_equal): Do not constrain with
313 1.1.1.20 mrg __less_builtin_ptr_cmp.
314 1.1.1.20 mrg * libsupc++/compare (compare_three_way): Do not constrain with
315 1.1.1.20 mrg __3way_builtin_ptr_cmp.
316 1.1.1.20 mrg * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc: Moved to...
317 1.1.1.20 mrg * testsuite/18_support/comparisons/object/lwg3530.cc: ...here.
318 1.1.1.20 mrg * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: New test.
319 1.1.1.19 mrg
320 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
321 1.1.1.19 mrg
322 1.1.1.20 mrg Backported from master:
323 1.1.1.20 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com>
324 1.1.1.16 mrg
325 1.1.1.20 mrg * doc/xml/manual/status_cxx2014.xml: Document implementation
326 1.1.1.20 mrg specific properties of std::experimental::filesystem::rename.
327 1.1.1.20 mrg * doc/xml/manual/status_cxx2017.xml: Document implementation
328 1.1.1.20 mrg specific properties of std::filesystem::rename.
329 1.1.1.16 mrg * doc/html/*: Regenerate.
330 1.1.1.20 mrg * src/c++17/fs_ops.cc (fs::rename): Implement correct behaviour
331 1.1.1.20 mrg for directories on Windows.
332 1.1.1.20 mrg * src/filesystem/ops-common.h (__gnu_posix::rename): Use
333 1.1.1.20 mrg MoveFileExW on Windows.
334 1.1.1.20 mrg * testsuite/27_io/filesystem/operations/rename.cc: New test.
335 1.1.1.20 mrg * testsuite/experimental/filesystem/operations/rename.cc: New test.
336 1.1.1.20 mrg
337 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
338 1.1.1.20 mrg
339 1.1.1.20 mrg Backported from master:
340 1.1.1.20 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com>
341 1.1.1.20 mrg
342 1.1.1.20 mrg * testsuite/util/testsuite_fs.h (nonexistent_path): Add
343 1.1.1.20 mrg random number to the path.
344 1.1.1.20 mrg
345 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
346 1.1.1.20 mrg
347 1.1.1.20 mrg Backported from master:
348 1.1.1.20 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com>
349 1.1.1.20 mrg
350 1.1.1.20 mrg * include/experimental/internet (address_v6::to_string): Include
351 1.1.1.20 mrg scope ID in string.
352 1.1.1.20 mrg (address_v6::loopback): Fix to be constexpr in C++14.
353 1.1.1.20 mrg * testsuite/experimental/net/internet/address/v6/members.cc:
354 1.1.1.20 mrg Test to_string() results.
355 1.1.1.20 mrg
356 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
357 1.1.1.20 mrg
358 1.1.1.20 mrg Backported from master:
359 1.1.1.20 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com>
360 1.1.1.20 mrg
361 1.1.1.20 mrg * include/experimental/internet (address_v6::any): Avoid using
362 1.1.1.20 mrg memcpy in constexpr function.
363 1.1.1.20 mrg (address_v6::loopback): Likewise.
364 1.1.1.20 mrg (make_address_v6): Fix missing return statements on error paths.
365 1.1.1.20 mrg * include/experimental/io_context: Avoid -Wdangling-else
366 1.1.1.20 mrg warning.
367 1.1.1.20 mrg * testsuite/experimental/net/internet/address/v4/members.cc:
368 1.1.1.20 mrg Remove unused variables.
369 1.1.1.20 mrg * testsuite/experimental/net/internet/address/v6/members.cc:
370 1.1.1.20 mrg New test.
371 1.1.1.16 mrg
372 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
373 1.1.1.16 mrg
374 1.1.1.20 mrg Backported from master:
375 1.1.1.20 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com>
376 1.1.1.16 mrg
377 1.1.1.20 mrg * testsuite/25_algorithms/all_of/constexpr.cc: Check result of
378 1.1.1.20 mrg the algorithm.
379 1.1.1.20 mrg * testsuite/25_algorithms/any_of/constexpr.cc: Likewise.
380 1.1.1.20 mrg * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
381 1.1.1.20 mrg * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise.
382 1.1.1.20 mrg * testsuite/25_algorithms/count/constexpr.cc: Likewise.
383 1.1.1.20 mrg * testsuite/25_algorithms/equal/constexpr.cc: Likewise.
384 1.1.1.20 mrg * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise.
385 1.1.1.20 mrg * testsuite/25_algorithms/fill/constexpr.cc: Likewise.
386 1.1.1.20 mrg * testsuite/25_algorithms/find_end/constexpr.cc: Likewise.
387 1.1.1.20 mrg * testsuite/25_algorithms/find_if/constexpr.cc: Likewise.
388 1.1.1.20 mrg * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise.
389 1.1.1.20 mrg * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise.
390 1.1.1.20 mrg * testsuite/25_algorithms/is_sorted_until/constexpr.cc:
391 1.1.1.20 mrg Likewise.
392 1.1.1.20 mrg * testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
393 1.1.1.20 mrg Likewise.
394 1.1.1.20 mrg * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise.
395 1.1.1.20 mrg * testsuite/25_algorithms/merge/constexpr.cc: Likewise.
396 1.1.1.20 mrg * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
397 1.1.1.20 mrg * testsuite/25_algorithms/none_of/constexpr.cc: Likewise.
398 1.1.1.20 mrg * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise.
399 1.1.1.20 mrg * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise.
400 1.1.1.20 mrg * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise.
401 1.1.1.20 mrg * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise.
402 1.1.1.20 mrg * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise.
403 1.1.1.20 mrg * testsuite/25_algorithms/reverse/constexpr.cc: Likewise.
404 1.1.1.20 mrg * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise.
405 1.1.1.20 mrg * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise.
406 1.1.1.20 mrg * testsuite/25_algorithms/search/constexpr.cc: Likewise.
407 1.1.1.20 mrg * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
408 1.1.1.20 mrg * testsuite/25_algorithms/set_intersection/constexpr.cc:
409 1.1.1.20 mrg Likewise.
410 1.1.1.20 mrg * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
411 1.1.1.20 mrg Likewise.
412 1.1.1.20 mrg * testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
413 1.1.1.20 mrg * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
414 1.1.1.20 mrg * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
415 1.1.1.20 mrg
416 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
417 1.1.1.20 mrg
418 1.1.1.20 mrg Backported from master:
419 1.1.1.20 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com>
420 1.1.1.20 mrg
421 1.1.1.20 mrg PR libstdc++/99077
422 1.1.1.20 mrg * src/c++11/cxx11-ios_failure.cc (__ios_failure(const char*, int)):
423 1.1.1.20 mrg Change int parameter to error_code, to match std::ios_failure.
424 1.1.1.20 mrg (__throw_ios_failure(const char*, int)): Construct error_code
425 1.1.1.20 mrg from int parameter.
426 1.1.1.20 mrg
427 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
428 1.1.1.20 mrg
429 1.1.1.20 mrg Backported from master:
430 1.1.1.20 mrg 2021-02-11 Jonathan Wakely <jwakely (a] redhat.com>
431 1.1.1.20 mrg
432 1.1.1.20 mrg PR libstdc++/99058
433 1.1.1.20 mrg * doc/xml/manual/status_cxx2011.xml: Document when support
434 1.1.1.20 mrg became stable.
435 1.1.1.20 mrg * doc/xml/manual/status_cxx2014.xml: Likewise.
436 1.1.1.20 mrg * doc/xml/manual/status_cxx2017.xml: Likewise.
437 1.1.1.20 mrg * doc/html/manual/status.html: Regenerate.
438 1.1.1.19 mrg
439 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
440 1.1.1.19 mrg
441 1.1.1.20 mrg Backported from master:
442 1.1.1.20 mrg 2021-02-12 Jonathan Wakely <jwakely (a] redhat.com>
443 1.1.1.19 mrg
444 1.1.1.20 mrg PR libstdc++/88881
445 1.1.1.20 mrg * src/c++17/fs_ops.cc (fs::symlink_status): Re-enable workaround.
446 1.1.1.19 mrg
447 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
448 1.1.1.19 mrg
449 1.1.1.20 mrg Backported from master:
450 1.1.1.20 mrg 2021-02-10 Jonathan Wakely <jwakely (a] redhat.com>
451 1.1.1.19 mrg
452 1.1.1.20 mrg PR libstdc++/88881
453 1.1.1.20 mrg * src/c++17/fs_ops.cc (fs::status): Re-enable workaround.
454 1.1.1.19 mrg
455 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
456 1.1.1.19 mrg
457 1.1.1.20 mrg Backported from master:
458 1.1.1.20 mrg 2021-02-10 Jonathan Wakely <jwakely (a] redhat.com>
459 1.1.1.18 mrg
460 1.1.1.20 mrg * src/c++17/fs_ops.cc (fs::create_hard_link, fs::equivalent)
461 1.1.1.20 mrg (fs::remove): Use std::system_category() for error codes from
462 1.1.1.20 mrg GetLastError().
463 1.1.1.20 mrg * src/filesystem/ops.cc (fs::create_hard_link, fs::remove):
464 1.1.1.20 mrg Likewise.
465 1.1.1.16 mrg
466 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
467 1.1.1.19 mrg
468 1.1.1.20 mrg Backported from master:
469 1.1.1.20 mrg 2021-02-10 Jonathan Wakely <jwakely (a] redhat.com>
470 1.1.1.19 mrg
471 1.1.1.20 mrg * testsuite/27_io/filesystem/operations/proximate.cc: Fix typo
472 1.1.1.20 mrg in __MINGW32__ macro name.
473 1.1.1.20 mrg * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
474 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generation/proximate.cc:
475 1.1.1.20 mrg Likewise.
476 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generation/relative.cc:
477 1.1.1.20 mrg Likewise.
478 1.1.1.20 mrg * testsuite/util/testsuite_fs.h: Likewise.
479 1.1.1.16 mrg
480 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
481 1.1.1.16 mrg
482 1.1.1.20 mrg Backported from master:
483 1.1.1.20 mrg 2021-02-03 Jonathan Wakely <jwakely (a] redhat.com>
484 1.1.1.19 mrg
485 1.1.1.20 mrg * testsuite/19_diagnostics/error_code/operators/not_equal.cc:
486 1.1.1.20 mrg Add comparison with same category and different values.
487 1.1.1.20 mrg * testsuite/19_diagnostics/error_code/operators/less.cc:
488 1.1.1.20 mrg Likewise. Fix comparison involving different categories.
489 1.1.1.20 mrg * testsuite/19_diagnostics/error_code/operators/three_way.cc:
490 1.1.1.19 mrg Likewise.
491 1.1.1.20 mrg * testsuite/19_diagnostics/error_condition/operators/less.cc:
492 1.1.1.20 mrg Add comment.
493 1.1.1.20 mrg * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
494 1.1.1.19 mrg Likewise.
495 1.1.1.19 mrg
496 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
497 1.1.1.19 mrg
498 1.1.1.20 mrg Backported from master:
499 1.1.1.20 mrg 2020-12-16 Jonathan Wakely <jwakely (a] redhat.com>
500 1.1.1.19 mrg
501 1.1.1.20 mrg PR libstdc++/98319
502 1.1.1.20 mrg * include/experimental/random: Only define contents for C++14
503 1.1.1.20 mrg and later.
504 1.1.1.20 mrg * include/experimental/source_location: Likewise.
505 1.1.1.20 mrg * include/experimental/utility: Likewise.
506 1.1.1.20 mrg * testsuite/experimental/feat-lib-fund.cc: Include all LFTS
507 1.1.1.20 mrg headers that are present. Allow test to run for all modes.
508 1.1.1.19 mrg
509 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
510 1.1.1.19 mrg
511 1.1.1.20 mrg Backported from master:
512 1.1.1.20 mrg 2020-12-16 Jonathan Wakely <jwakely (a] redhat.com>
513 1.1.1.19 mrg
514 1.1.1.20 mrg PR libstdc++/93151
515 1.1.1.20 mrg * acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Remove.
516 1.1.1.20 mrg * configure.ac: Regenerate.
517 1.1.1.20 mrg * config/os/generic/error_constants.h: Test POSIX errno macros
518 1.1.1.20 mrg directly, instead of corresponding _GLIBCXX_HAVE_EXXX macros.
519 1.1.1.20 mrg * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
520 1.1.1.20 mrg Likewise.
521 1.1.1.20 mrg * testsuite/19_diagnostics/headers/system_error/93151.cc: New
522 1.1.1.20 mrg test.
523 1.1.1.19 mrg
524 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
525 1.1.1.19 mrg
526 1.1.1.20 mrg Backported from master:
527 1.1.1.20 mrg 2020-12-10 Jonathan Wakely <jwakely (a] redhat.com>
528 1.1.1.19 mrg
529 1.1.1.20 mrg PR libstdc++/98226
530 1.1.1.20 mrg * include/std/bit (__countl_one, __countr_one): Remove redundant
531 1.1.1.20 mrg branches.
532 1.1.1.19 mrg
533 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
534 1.1.1.19 mrg
535 1.1.1.20 mrg Backported from master:
536 1.1.1.20 mrg 2020-11-09 Jonathan Wakely <jwakely (a] redhat.com>
537 1.1.1.19 mrg
538 1.1.1.20 mrg * include/std/bit (__popcount): Remove redundant check for zero.
539 1.1.1.19 mrg
540 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
541 1.1.1.19 mrg
542 1.1.1.20 mrg Backported from master:
543 1.1.1.20 mrg 2020-10-30 Jonathan Wakely <jwakely (a] redhat.com>
544 1.1.1.19 mrg
545 1.1.1.20 mrg * include/std/ranges (enable_borrowed_view<take_view<T>>)
546 1.1.1.20 mrg (enable_borrowed_view<drop_view<T>>)
547 1.1.1.20 mrg (enable_borrowed_view<drop_while_view<T>>)
548 1.1.1.20 mrg (enable_borrowed_view<reverse_view<T>>)
549 1.1.1.20 mrg (enable_borrowed_view<common_view<T>>)
550 1.1.1.20 mrg (enable_borrowed_view<elements_view<T>>): Add partial
551 1.1.1.20 mrg specializations as per P2017R1.
552 1.1.1.20 mrg * testsuite/std/ranges/adaptors/conditionally_borrowed.cc:
553 1.1.1.20 mrg New test.
554 1.1.1.19 mrg
555 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
556 1.1.1.19 mrg
557 1.1.1.20 mrg Backported from master:
558 1.1.1.20 mrg 2020-10-29 Jonathan Wakely <jwakely (a] redhat.com>
559 1.1.1.19 mrg
560 1.1.1.20 mrg * include/std/ranges (subrange::subrange(R&&)): Use
561 1.1.1.20 mrg direct-initialization instead of list-initialization, so a
562 1.1.1.20 mrg potential narrowing conversion from ranges::size(r) to the
563 1.1.1.20 mrg stored size isn't ill-formed.
564 1.1.1.19 mrg
565 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
566 1.1.1.16 mrg
567 1.1.1.20 mrg Backported from master:
568 1.1.1.20 mrg 2020-10-08 Jonathan Wakely <jwakely (a] redhat.com>
569 1.1.1.19 mrg
570 1.1.1.20 mrg PR libstdc++/82584
571 1.1.1.20 mrg * include/bits/random.tcc
572 1.1.1.20 mrg (discrete_distribution::param_type::_M_initialize)
573 1.1.1.20 mrg (piecewise_constant_distribution::param_type::_M_initialize)
574 1.1.1.20 mrg (piecewise_linear_distribution::param_type::_M_initialize):
575 1.1.1.20 mrg Add assertions for positive sums..
576 1.1.1.20 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
577 1.1.1.20 mrg line.
578 1.1.1.19 mrg
579 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
580 1.1.1.19 mrg
581 1.1.1.20 mrg Backported from master:
582 1.1.1.20 mrg 2020-10-08 Jonathan Wakely <jwakely (a] redhat.com>
583 1.1.1.18 mrg
584 1.1.1.20 mrg * include/bits/random.h (__detail::_Mod): Revert last change.
585 1.1.1.20 mrg (__detail::__mod): Do not use _Mod for a==0 case.
586 1.1.1.20 mrg * testsuite/26_numerics/random/linear_congruential_engine/operators/call.cc:
587 1.1.1.20 mrg Check other cases with a==0. Also check runtime results.
588 1.1.1.20 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
589 1.1.1.20 mrg line.
590 1.1.1.18 mrg
591 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
592 1.1.1.18 mrg
593 1.1.1.20 mrg Backported from master:
594 1.1.1.20 mrg 2020-10-07 Jonathan Wakely <jwakely (a] redhat.com>
595 1.1.1.18 mrg
596 1.1.1.20 mrg * include/bits/random.h (__detail::_Mod): Avoid divide by zero.
597 1.1.1.20 mrg * testsuite/26_numerics/random/linear_congruential_engine/operators/call.cc:
598 1.1.1.20 mrg New test.
599 1.1.1.18 mrg
600 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
601 1.1.1.18 mrg
602 1.1.1.20 mrg Backported from master:
603 1.1.1.20 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com>
604 1.1.1.18 mrg
605 1.1.1.20 mrg * include/std/ranges (drop_view::begin()): Adjust constraints
606 1.1.1.20 mrg to match the correct condition for O(1) ranges::next (LWG 3482).
607 1.1.1.20 mrg * testsuite/std/ranges/adaptors/drop.cc: Check that iterator is
608 1.1.1.20 mrg cached for non-sized_range.
609 1.1.1.16 mrg
610 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
611 1.1.1.16 mrg
612 1.1.1.20 mrg Backported from master:
613 1.1.1.20 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com>
614 1.1.1.16 mrg
615 1.1.1.20 mrg * include/std/ranges (transform_view, elements_view): Relax
616 1.1.1.20 mrg constraints on operator- for iterators, as per LWG 3483.
617 1.1.1.20 mrg * testsuite/std/ranges/adaptors/elements.cc: Check that we
618 1.1.1.20 mrg can take the difference of two iterators from a non-random
619 1.1.1.20 mrg access range.
620 1.1.1.20 mrg * testsuite/std/ranges/adaptors/transform.cc: Likewise.
621 1.1.1.16 mrg
622 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
623 1.1.1.16 mrg
624 1.1.1.20 mrg Backported from master:
625 1.1.1.20 mrg 2020-10-28 Jonathan Wakely <jwakely (a] redhat.com>
626 1.1.1.19 mrg
627 1.1.1.20 mrg PR libstdc++/95592
628 1.1.1.20 mrg * include/bits/valarray_after.h (_DEFINE_EXPR_UNARY_OPERATOR)
629 1.1.1.20 mrg (_DEFINE_EXPR_BINARY_OPERATOR, _DEFINE_EXPR_BINARY_FUNCTION):
630 1.1.1.20 mrg Use elaborated-type-specifier and qualified-id to avoid
631 1.1.1.20 mrg ambiguities with QNX system headers.
632 1.1.1.20 mrg * testsuite/26_numerics/valarray/95592.cc: New test.
633 1.1.1.19 mrg
634 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
635 1.1.1.19 mrg
636 1.1.1.20 mrg Backported from master:
637 1.1.1.20 mrg 2020-10-27 Jonathan Wakely <jwakely (a] redhat.com>
638 1.1.1.19 mrg
639 1.1.1.20 mrg * include/bits/locale_conv.h (__str_codecvt_out_all):
640 1.1.1.20 mrg Add cast to compare operands of the same signedness.
641 1.1.1.20 mrg * include/bits/locale_facets_nonio.tcc
642 1.1.1.20 mrg (time_get::_M_extract_wday_or_month): Likewise.
643 1.1.1.20 mrg * include/bits/sstream.tcc (basic_stringbuf::overflow):
644 1.1.1.20 mrg Likewise.
645 1.1.1.20 mrg * include/tr1/legendre_function.tcc (__sph_legendre): Use
646 1.1.1.20 mrg unsigned for loop variable.
647 1.1.1.19 mrg
648 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
649 1.1.1.19 mrg
650 1.1.1.20 mrg Backported from master:
651 1.1.1.20 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com>
652 1.1.1.19 mrg
653 1.1.1.20 mrg * include/bits/locale_conv.h (__do_str_codecvt, __str_codecvt_in_all):
654 1.1.1.20 mrg Add casts to compare types of the same signedness.
655 1.1.1.19 mrg
656 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
657 1.1.1.19 mrg
658 1.1.1.20 mrg Backported from master:
659 1.1.1.20 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com>
660 1.1.1.19 mrg
661 1.1.1.20 mrg * include/bits/ranges_algobase.h (__equal_fn): Remove unused
662 1.1.1.20 mrg typedef.
663 1.1.1.19 mrg
664 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
665 1.1.1.19 mrg
666 1.1.1.20 mrg Backported from master:
667 1.1.1.20 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com>
668 1.1.1.19 mrg
669 1.1.1.20 mrg * include/experimental/bits/shared_ptr.h (shared_ptr(auto_ptr&&))
670 1.1.1.20 mrg (operator=(auto_ptr&&)): Add diagnostic pragmas to suppress
671 1.1.1.20 mrg warnings for uses of std::auto_ptr.
672 1.1.1.20 mrg * include/experimental/type_traits (is_literal_type_v):
673 1.1.1.20 mrg Likewise, for use of std::is_literal_type.
674 1.1.1.20 mrg * include/std/condition_variable (condition_variable_any::_Unlock):
675 1.1.1.20 mrg Likewise, for use of std::uncaught_exception.
676 1.1.1.19 mrg
677 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
678 1.1.1.19 mrg
679 1.1.1.20 mrg Backported from master:
680 1.1.1.20 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com>
681 1.1.1.19 mrg
682 1.1.1.20 mrg * include/bits/fs_path.h (path::_List::type()): Avoid narrowing
683 1.1.1.20 mrg conversion.
684 1.1.1.19 mrg
685 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
686 1.1.1.16 mrg
687 1.1.1.20 mrg Backported from master:
688 1.1.1.20 mrg 2020-09-07 Jonathan Wakely <jwakely (a] redhat.com>
689 1.1.1.16 mrg
690 1.1.1.20 mrg * include/std/ranges (__box): Simplify constraints as per LWG 3477.
691 1.1.1.16 mrg
692 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
693 1.1.1.19 mrg
694 1.1.1.20 mrg Backported from master:
695 1.1.1.20 mrg 2020-08-24 Jonathan Wakely <jwakely (a] redhat.com>
696 1.1.1.16 mrg
697 1.1.1.20 mrg * include/std/ranges (ranges::iota_view::size()): Perform all
698 1.1.1.20 mrg calculations in the right unsigned types.
699 1.1.1.20 mrg * testsuite/std/ranges/iota/size.cc: New test.
700 1.1.1.16 mrg
701 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
702 1.1.1.16 mrg
703 1.1.1.20 mrg Backported from master:
704 1.1.1.20 mrg 2020-08-11 Jonathan Wakely <jwakely (a] redhat.com>
705 1.1.1.16 mrg
706 1.1.1.20 mrg * include/experimental/executor (system_context::_M_run()):
707 1.1.1.20 mrg Fix predicate.
708 1.1.1.20 mrg (system_context::join()): Do not join unless joinable.
709 1.1.1.20 mrg * testsuite/experimental/net/system_context/1.cc: New test.
710 1.1.1.18 mrg
711 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
712 1.1.1.18 mrg
713 1.1.1.20 mrg Backported from master:
714 1.1.1.20 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com>
715 1.1.1.18 mrg
716 1.1.1.20 mrg * include/bits/stl_iterator.h (inserter): Do not deduce
717 1.1.1.20 mrg iterator type (LWG 561).
718 1.1.1.20 mrg * testsuite/24_iterators/insert_iterator/dr561.cc: New test.
719 1.1.1.18 mrg
720 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
721 1.1.1.19 mrg
722 1.1.1.20 mrg Backported from master:
723 1.1.1.20 mrg 2020-10-27 Jonathan Wakely <jwakely (a] redhat.com>
724 1.1.1.19 mrg
725 1.1.1.20 mrg * include/bits/fs_path.h (path::_List::begin, path::_List::end):
726 1.1.1.20 mrg Add noexcept to match definitions in src/c++17/fs_path.cc.
727 1.1.1.19 mrg
728 1.1.1.20 mrg 2021-03-29 Jonathan Wakely <jwakely (a] redhat.com>
729 1.1.1.19 mrg
730 1.1.1.20 mrg Backported from master:
731 1.1.1.20 mrg 2020-10-27 Jonathan Wakely <jwakely (a] redhat.com>
732 1.1.1.19 mrg
733 1.1.1.20 mrg * src/c++17/fs_dir.cc (fs::directory_iterator::operator*):
734 1.1.1.20 mrg Add noexcept. Do not throw on precondition violation.
735 1.1.1.19 mrg
736 1.1.1.20 mrg 2021-03-19 Jakub Jelinek <jakub (a] redhat.com>
737 1.1.1.19 mrg
738 1.1.1.20 mrg Backported from master:
739 1.1.1.20 mrg 2021-02-23 Jakub Jelinek <jakub (a] redhat.com>
740 1.1.1.19 mrg
741 1.1.1.20 mrg PR libstdc++/99181
742 1.1.1.20 mrg * testsuite/21_strings/char_traits/requirements/char/99181.cc: New
743 1.1.1.20 mrg test.
744 1.1.1.19 mrg
745 1.1.1.20 mrg 2021-03-19 Jakub Jelinek <jakub (a] redhat.com>
746 1.1.1.19 mrg
747 1.1.1.20 mrg Backported from master:
748 1.1.1.20 mrg 2021-02-23 Jakub Jelinek <jakub (a] redhat.com>
749 1.1.1.19 mrg
750 1.1.1.20 mrg PR libstdc++/99181
751 1.1.1.20 mrg * include/bits/char_traits.h (char_traits<char>::compare): For
752 1.1.1.20 mrg constexpr evaluation don't call
753 1.1.1.20 mrg __gnu_cxx::char_traits<char_type>::compare but do the comparison loop
754 1.1.1.20 mrg directly.
755 1.1.1.19 mrg
756 1.1.1.20 mrg 2021-02-09 Jonathan Wakely <jwakely (a] redhat.com>
757 1.1.1.19 mrg
758 1.1.1.20 mrg Backported from master:
759 1.1.1.20 mrg 2021-02-09 Jonathan Wakely <jwakely (a] redhat.com>
760 1.1.1.19 mrg
761 1.1.1.20 mrg PR libstdc++/99021
762 1.1.1.20 mrg * include/std/coroutine (coroutine_handle<P>::from_address): Add
763 1.1.1.20 mrg noexcept.
764 1.1.1.19 mrg
765 1.1.1.20 mrg 2021-01-13 Jonathan Wakely <jwakely (a] redhat.com>
766 1.1.1.19 mrg
767 1.1.1.20 mrg PR libstdc++/98605
768 1.1.1.20 mrg * include/std/mutex (call_once): Use NOLINT to suppress clang
769 1.1.1.20 mrg analyzer warnings.
770 1.1.1.19 mrg
771 1.1.1.20 mrg 2021-01-11 Jonathan Wakely <jwakely (a] redhat.com>
772 1.1.1.19 mrg
773 1.1.1.20 mrg Backported from master:
774 1.1.1.20 mrg 2020-12-02 Jonathan Wakely <jwakely (a] redhat.com>
775 1.1.1.19 mrg
776 1.1.1.20 mrg * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Store the
777 1.1.1.20 mrg name of the type and pass it to the iterator.
778 1.1.1.20 mrg (StdPathPrinter): Likewise.
779 1.1.1.20 mrg * testsuite/libstdc++-prettyprinters/filesystem-ts.cc: New test.
780 1.1.1.19 mrg
781 1.1.1.20 mrg 2021-01-11 Jonathan Wakely <jwakely (a] redhat.com>
782 1.1.1.19 mrg
783 1.1.1.20 mrg Backported from master:
784 1.1.1.20 mrg 2020-12-16 Jonathan Wakely <jwakely (a] redhat.com>
785 1.1.1.19 mrg
786 1.1.1.20 mrg PR libstdc++/96083
787 1.1.1.20 mrg * include/ext/throw_allocator.h: Use __has_builtin to check for
788 1.1.1.20 mrg __builtin_sprintf support, and use std::sprintf if necessary.
789 1.1.1.19 mrg
790 1.1.1.20 mrg 2021-01-11 Jonathan Wakely <jwakely (a] redhat.com>
791 1.1.1.19 mrg
792 1.1.1.20 mrg Backported from master:
793 1.1.1.20 mrg 2020-12-02 Jonathan Wakely <jwakely (a] redhat.com>
794 1.1.1.19 mrg
795 1.1.1.20 mrg PR libstdc++/65480
796 1.1.1.20 mrg PR libstdc++/68735
797 1.1.1.20 mrg * python/libstdcxx/v6/printers.py (function_pointer_to_name):
798 1.1.1.20 mrg New helper function to get the name of a function from its
799 1.1.1.20 mrg address.
800 1.1.1.20 mrg (StdExpAnyPrinter.__init__): Use it.
801 1.1.1.19 mrg
802 1.1.1.20 mrg 2021-01-11 Jonathan Wakely <jwakely (a] redhat.com>
803 1.1.1.18 mrg
804 1.1.1.20 mrg Backported from master:
805 1.1.1.20 mrg 2020-07-31 Jonathan Wakely <jwakely (a] redhat.com>
806 1.1.1.18 mrg
807 1.1.1.20 mrg * testsuite/experimental/filesystem/filesystem_error/cons.cc:
808 1.1.1.20 mrg Remove -std=gnu++17 option.
809 1.1.1.18 mrg
810 1.1.1.20 mrg 2021-01-08 Iain Sandoe <iain (a] sandoe.co.uk>
811 1.1.1.18 mrg
812 1.1.1.20 mrg Backported from master:
813 1.1.1.20 mrg 2020-07-17 Iain Sandoe <iain (a] sandoe.co.uk>
814 1.1.1.16 mrg
815 1.1.1.20 mrg * include/std/coroutine: Mark the methods of the
816 1.1.1.20 mrg trivial awaitables as constexpr.
817 1.1.1.16 mrg
818 1.1.1.20 mrg 2021-01-03 Iain Sandoe <iain (a] sandoe.co.uk>
819 1.1.1.20 mrg Jakub Jelinek <jakub (a] redhat.com>
820 1.1.1.18 mrg
821 1.1.1.20 mrg PR target/97865
822 1.1.1.20 mrg * configure: Regenerate.
823 1.1.1.18 mrg
824 1.1.1.20 mrg 2020-12-03 Jonathan Wakely <jwakely (a] redhat.com>
825 1.1.1.18 mrg
826 1.1.1.20 mrg Backported from master:
827 1.1.1.20 mrg 2020-12-03 Jonathan Wakely <jwakely (a] redhat.com>
828 1.1.1.18 mrg
829 1.1.1.20 mrg * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt:
830 1.1.1.20 mrg Update.
831 1.1.1.20 mrg * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
832 1.1.1.20 mrg Update.
833 1.1.1.18 mrg
834 1.1.1.20 mrg 2020-12-01 Patrick Palka <ppalka (a] redhat.com>
835 1.1.1.16 mrg
836 1.1.1.20 mrg Backported from master:
837 1.1.1.20 mrg 2020-10-12 Patrick Palka <ppalka (a] redhat.com>
838 1.1.1.18 mrg
839 1.1.1.20 mrg PR libstdc++/95322
840 1.1.1.20 mrg * include/std/ranges (take_view::_CI): Define this alias
841 1.1.1.20 mrg template as per LWG 3449 and remove ...
842 1.1.1.20 mrg (take_view::_Sentinel::_CI): ... this type alias.
843 1.1.1.20 mrg (take_view::_Sentinel::operator==): Adjust use of _CI
844 1.1.1.20 mrg accordingly. Define a second overload that accepts an iterator
845 1.1.1.20 mrg of the opposite constness as per LWG 3449.
846 1.1.1.20 mrg (take_while_view::_Sentinel::operator==): Likewise.
847 1.1.1.20 mrg * testsuite/std/ranges/adaptors/95322.cc: Add tests for LWG 3449.
848 1.1.1.18 mrg
849 1.1.1.20 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com>
850 1.1.1.18 mrg
851 1.1.1.20 mrg Backported from master:
852 1.1.1.20 mrg 2020-11-26 Jonathan Wakely <jwakely (a] redhat.com>
853 1.1.1.19 mrg
854 1.1.1.20 mrg PR libstdc++/98001
855 1.1.1.20 mrg * testsuite/ext/stdio_filebuf/char/79820.cc: Do not pass invalid
856 1.1.1.20 mrg FILE* to constructor.
857 1.1.1.19 mrg
858 1.1.1.20 mrg 2020-11-25 Jonathan Wakely <jwakely (a] redhat.com>
859 1.1.1.19 mrg
860 1.1.1.20 mrg Backported from master:
861 1.1.1.20 mrg 2020-11-25 Jonathan Wakely <jwakely (a] redhat.com>
862 1.1.1.19 mrg
863 1.1.1.20 mrg PR libstdc++/97935
864 1.1.1.20 mrg * include/bits/iterator_concepts.h (__detail::__iter_without_category):
865 1.1.1.20 mrg New helper concept.
866 1.1.1.20 mrg (__iterator_traits::__cat): Use __detail::__iter_without_category.
867 1.1.1.20 mrg * testsuite/24_iterators/associated_types/iterator.traits.cc: New test.
868 1.1.1.19 mrg
869 1.1.1.20 mrg 2020-11-25 Jonathan Wakely <jwakely (a] redhat.com>
870 1.1.1.19 mrg
871 1.1.1.20 mrg Backported from master:
872 1.1.1.20 mrg 2020-06-04 Jonathan Wakely <jwakely (a] redhat.com>
873 1.1.1.19 mrg
874 1.1.1.20 mrg * include/bits/iterator_concepts.h (__detail::__ptr, __detail::__ref)
875 1.1.1.20 mrg (__detail::__cat, __detail::__diff): Move to class scope in the
876 1.1.1.20 mrg relevant __iterator_traits specializations.
877 1.1.1.20 mrg (__iterator_traits<>): Use nested class templates instead of ones from
878 1.1.1.20 mrg namespace __detail.
879 1.1.1.20 mrg * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Move to
880 1.1.1.20 mrg class scope in iterator_traits<common_iterator<I, S>>.
881 1.1.1.20 mrg (iterator_traits<common_iterator<I, S>>): Use nested class template
882 1.1.1.20 mrg instead of __detail::__common_iter_ptr.
883 1.1.1.19 mrg
884 1.1.1.20 mrg 2020-11-24 Jonathan Wakely <jwakely (a] redhat.com>
885 1.1.1.19 mrg
886 1.1.1.20 mrg Backported from master:
887 1.1.1.20 mrg 2020-10-02 Jonathan Wakely <jwakely (a] redhat.com>
888 1.1.1.19 mrg
889 1.1.1.20 mrg * testsuite/29_atomics/atomic_float/value_init.cc: Use float
890 1.1.1.20 mrg instead of double so that __atomic_load_8 isn't needed.
891 1.1.1.19 mrg
892 1.1.1.20 mrg 2020-11-20 Jonathan Wakely <jwakely (a] redhat.com>
893 1.1.1.18 mrg
894 1.1.1.20 mrg Backported from master:
895 1.1.1.20 mrg 2020-11-20 Jonathan Wakely <jwakely (a] redhat.com>
896 1.1.1.18 mrg
897 1.1.1.20 mrg PR libstdc++/92546
898 1.1.1.20 mrg * include/std/regex (pmr::smatch, pmr::wsmatch): Declare using
899 1.1.1.20 mrg underlying __normal_iterator type, not nested typedef
900 1.1.1.20 mrg basic_string::const_iterator.
901 1.1.1.16 mrg
902 1.1.1.20 mrg 2020-11-20 Jonathan Wakely <jwakely (a] redhat.com>
903 1.1.1.16 mrg
904 1.1.1.20 mrg PR libstdc++/97876
905 1.1.1.20 mrg * include/std/stop_token (_Stop_state_t): Define default
906 1.1.1.20 mrg constructor as user-provided not defaulted.
907 1.1.1.19 mrg
908 1.1.1.20 mrg 2020-11-20 Jonathan Wakely <jwakely (a] redhat.com>
909 1.1.1.19 mrg
910 1.1.1.20 mrg Backported from master:
911 1.1.1.20 mrg 2020-11-19 Jonathan Wakely <jwakely (a] redhat.com>
912 1.1.1.16 mrg
913 1.1.1.20 mrg PR libstdc++/95989
914 1.1.1.20 mrg * config/os/gnu-linux/os_defines.h (_GLIBCXX_NATIVE_THREAD_ID):
915 1.1.1.20 mrg Define new macro to get reliable thread ID.
916 1.1.1.20 mrg * include/std/stop_token (_Stop_state_t::_M_request_stop):
917 1.1.1.20 mrg Use new macro if it's defined.
918 1.1.1.20 mrg (_Stop_state_t::_M_remove_callback): Likewise.
919 1.1.1.20 mrg * include/std/thread (this_thread::get_id): Likewise.
920 1.1.1.20 mrg * testsuite/30_threads/jthread/95989.cc: New test.
921 1.1.1.20 mrg * testsuite/30_threads/this_thread/95989.cc: New test.
922 1.1.1.16 mrg
923 1.1.1.20 mrg 2020-11-18 Patrick Palka <ppalka (a] redhat.com>
924 1.1.1.16 mrg
925 1.1.1.20 mrg Backported from master:
926 1.1.1.20 mrg 2020-11-18 Patrick Palka <ppalka (a] redhat.com>
927 1.1.1.16 mrg
928 1.1.1.20 mrg * include/std/ranges (join_view::_Iterator::_M_satisfy): Uglify
929 1.1.1.20 mrg local variable inner.
930 1.1.1.20 mrg (join_view::_Iterator::operator->): Use _Inner_iter instead of
931 1.1.1.20 mrg _Outer_iter in the function signature as per LWG 3500.
932 1.1.1.20 mrg * testsuite/std/ranges/adaptors/join.cc (test08): Test it.
933 1.1.1.19 mrg
934 1.1.1.20 mrg 2020-11-18 Jonathan Wakely <jwakely (a] redhat.com>
935 1.1.1.19 mrg
936 1.1.1.20 mrg Backported from master:
937 1.1.1.20 mrg 2020-10-06 Jonathan Wakely <jwakely (a] redhat.com>
938 1.1.1.16 mrg
939 1.1.1.20 mrg * include/std/ranges (join_view): Remove deduction guide.
940 1.1.1.20 mrg (views::join): Add explicit template argument list to prevent
941 1.1.1.20 mrg deducing the wrong type.
942 1.1.1.20 mrg * testsuite/std/ranges/adaptors/join.cc: Move test for LWG 3474
943 1.1.1.20 mrg here, from ...
944 1.1.1.20 mrg * testsuite/std/ranges/adaptors/join_lwg3474.cc: Removed.
945 1.1.1.16 mrg
946 1.1.1.20 mrg 2020-11-18 Jonathan Wakely <jwakely (a] redhat.com>
947 1.1.1.16 mrg
948 1.1.1.20 mrg Backported from master:
949 1.1.1.20 mrg 2020-08-24 Jonathan Wakely <jwakely (a] redhat.com>
950 1.1.1.16 mrg
951 1.1.1.20 mrg * include/std/ranges (join_view): Add deduction guide (LWG 3474).
952 1.1.1.20 mrg * testsuite/std/ranges/adaptors/join_lwg3474.cc: New test.
953 1.1.1.16 mrg
954 1.1.1.20 mrg 2020-11-18 Jonathan Wakely <jwakely (a] redhat.com>
955 1.1.1.16 mrg
956 1.1.1.20 mrg Backported from master:
957 1.1.1.20 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com>
958 1.1.1.16 mrg
959 1.1.1.20 mrg * include/std/version (__cpp_lib_array_constexpr)
960 1.1.1.20 mrg (__cpp_lib_constexpr_char_traits): Only define C++17 value when
961 1.1.1.20 mrg compiling C++17.
962 1.1.1.16 mrg
963 1.1.1.20 mrg 2020-11-18 Jonathan Wakely <jwakely (a] redhat.com>
964 1.1.1.18 mrg
965 1.1.1.20 mrg Backported from master:
966 1.1.1.20 mrg 2020-06-15 Jonathan Wakely <jwakely (a] redhat.com>
967 1.1.1.19 mrg
968 1.1.1.20 mrg * include/bits/char_traits.h (__cpp_lib_constexpr_char_traits):
969 1.1.1.20 mrg Update value for C++20.
970 1.1.1.20 mrg * include/std/version (__cpp_lib_constexpr_char_traits): Likewise.
971 1.1.1.20 mrg * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
972 1.1.1.20 mrg Update expected value.
973 1.1.1.19 mrg
974 1.1.1.20 mrg 2020-11-18 Jonathan Wakely <jwakely (a] redhat.com>
975 1.1.1.18 mrg
976 1.1.1.20 mrg Backported from master:
977 1.1.1.20 mrg 2020-11-17 Jonathan Wakely <jwakely (a] redhat.com>
978 1.1.1.18 mrg
979 1.1.1.20 mrg PR libstdc++/97869
980 1.1.1.20 mrg * include/precompiled/stdc++.h: Include <coroutine>.
981 1.1.1.20 mrg * include/std/version (__cpp_lib_span): Check __cpp_lib_concepts
982 1.1.1.20 mrg before defining.
983 1.1.1.18 mrg
984 1.1.1.20 mrg 2020-11-17 Patrick Palka <ppalka (a] redhat.com>
985 1.1.1.18 mrg
986 1.1.1.20 mrg Backported from master:
987 1.1.1.20 mrg 2020-11-17 Patrick Palka <ppalka (a] redhat.com>
988 1.1.1.18 mrg
989 1.1.1.20 mrg PR libstdc++/97828
990 1.1.1.20 mrg * include/bits/ranges_algo.h (__search_n_fn::operator()): Check
991 1.1.1.20 mrg random_access_iterator before using the backtracking
992 1.1.1.20 mrg implementation. When the backwards scan fails prematurely,
993 1.1.1.20 mrg reset __remainder appropriately.
994 1.1.1.20 mrg * testsuite/25_algorithms/search_n/97828.cc: New test.
995 1.1.1.18 mrg
996 1.1.1.20 mrg 2020-11-16 Jonathan Wakely <jwakely (a] redhat.com>
997 1.1.1.18 mrg
998 1.1.1.20 mrg Backported from master:
999 1.1.1.20 mrg 2020-11-13 Jonathan Wakely <jwakely (a] redhat.com>
1000 1.1.1.18 mrg
1001 1.1.1.20 mrg PR libstdc++/93456
1002 1.1.1.20 mrg * src/c++11/futex.cc (relative_timespec): Remove redundant check
1003 1.1.1.20 mrg negative values.
1004 1.1.1.20 mrg * testsuite/30_threads/future/members/93456.cc: New.
1005 1.1.1.19 mrg
1006 1.1.1.20 mrg 2020-11-16 Jonathan Wakely <jwakely (a] redhat.com>
1007 1.1.1.19 mrg
1008 1.1.1.20 mrg Backported from master:
1009 1.1.1.20 mrg 2020-11-16 Jonathan Wakely <jwakely (a] redhat.com>
1010 1.1.1.18 mrg
1011 1.1.1.20 mrg * src/c++11/futex.cc (relative_timespec): New function to
1012 1.1.1.20 mrg create relative time from two absolute times.
1013 1.1.1.20 mrg (__atomic_futex_unsigned_base::_M_futex_wait_until): Use
1014 1.1.1.20 mrg relative_timespec.
1015 1.1.1.18 mrg
1016 1.1.1.20 mrg 2020-11-16 Jonathan Wakely <jwakely (a] redhat.com>
1017 1.1.1.18 mrg
1018 1.1.1.20 mrg Backported from master:
1019 1.1.1.20 mrg 2020-11-12 Jonathan Wakely <jwakely (a] redhat.com>
1020 1.1.1.19 mrg
1021 1.1.1.20 mrg * include/std/future (future::wait_for): Do not wait for
1022 1.1.1.20 mrg durations less than or equal to zero.
1023 1.1.1.20 mrg * testsuite/30_threads/future/members/poll.cc: New test.
1024 1.1.1.18 mrg
1025 1.1.1.20 mrg 2020-11-13 Jonathan Wakely <jwakely (a] redhat.com>
1026 1.1.1.18 mrg
1027 1.1.1.20 mrg Backported from master:
1028 1.1.1.20 mrg 2020-11-13 Jonathan Wakely <jwakely (a] redhat.com>
1029 1.1.1.18 mrg
1030 1.1.1.20 mrg PR libstdc++/97798
1031 1.1.1.20 mrg * include/ext/numeric_traits.h (__glibcxx_signed)
1032 1.1.1.20 mrg (__glibcxx_digits, __glibcxx_min, __glibcxx_max): Remove
1033 1.1.1.20 mrg macros.
1034 1.1.1.20 mrg (__is_integer_nonstrict::__width): Define new constant.
1035 1.1.1.20 mrg (__numeric_traits_integer): Define constants in terms of each
1036 1.1.1.20 mrg other and __is_integer_nonstrict::__width, rather than the
1037 1.1.1.20 mrg removed macros.
1038 1.1.1.20 mrg (_GLIBCXX_INT_N_TRAITS): Macro to define explicit
1039 1.1.1.20 mrg specializations for non-standard integer types.
1040 1.1.1.18 mrg
1041 1.1.1.20 mrg 2020-11-13 Jonathan Wakely <jwakely (a] redhat.com>
1042 1.1.1.19 mrg
1043 1.1.1.20 mrg PR libstdc++/96042
1044 1.1.1.20 mrg * testsuite/std/ranges/iota/96042.cc: Only assert that the
1045 1.1.1.20 mrg difference type is wider than long long if __int128 is
1046 1.1.1.20 mrg supported.
1047 1.1.1.19 mrg
1048 1.1.1.20 mrg 2020-11-12 Jonathan Wakely <jwakely (a] redhat.com>
1049 1.1.1.19 mrg
1050 1.1.1.20 mrg Backported from master:
1051 1.1.1.20 mrg 2020-08-20 Jonathan Wakely <jwakely (a] redhat.com>
1052 1.1.1.19 mrg
1053 1.1.1.20 mrg * include/bits/iterator_concepts.h [__STRICT_ANSI__]
1054 1.1.1.20 mrg (incrementable_traits<__int128>): Define specialization.
1055 1.1.1.20 mrg (incrementable_traits<unsigned __int128>): Likewise.
1056 1.1.1.20 mrg * testsuite/std/ranges/iota/96042.cc: Test iota_view with
1057 1.1.1.20 mrg __int128.
1058 1.1.1.19 mrg
1059 1.1.1.20 mrg 2020-11-12 Jonathan Wakely <jwakely (a] redhat.com>
1060 1.1.1.19 mrg
1061 1.1.1.20 mrg Backported from master:
1062 1.1.1.20 mrg 2020-08-19 Jonathan Wakely <jwakely (a] redhat.com>
1063 1.1.1.20 mrg Patrick Palka <ppalka (a] redhat.com>
1064 1.1.1.19 mrg
1065 1.1.1.20 mrg PR libstdc++/96042
1066 1.1.1.20 mrg * include/bits/range_access.h (__detail::__to_unsigned_like):
1067 1.1.1.20 mrg Do not use make_unsigned_t<T> in the return type, as it can
1068 1.1.1.20 mrg result in an error before the integral<T> constraint is checked.
1069 1.1.1.20 mrg [__STRICT_ANSI__]: Add overloads for 128-bit integer types.
1070 1.1.1.20 mrg (__detail::__make_unsigned_like_t): Define as the return type
1071 1.1.1.20 mrg of __to_unsigned_like.
1072 1.1.1.20 mrg * testsuite/std/ranges/subrange/96042.cc: New test.
1073 1.1.1.19 mrg
1074 1.1.1.20 mrg 2020-11-12 Jonathan Wakely <jwakely (a] redhat.com>
1075 1.1.1.18 mrg
1076 1.1.1.20 mrg Backported from master:
1077 1.1.1.20 mrg 2020-08-19 Jonathan Wakely <jwakely (a] redhat.com>
1078 1.1.1.19 mrg
1079 1.1.1.20 mrg PR libstdc++/96042
1080 1.1.1.20 mrg * include/ext/numeric_traits.h (__is_integer_nonstrict): New
1081 1.1.1.20 mrg trait which is true for 128-bit integers even in strict modes.
1082 1.1.1.20 mrg (__numeric_traits_integer, __numeric_traits): Use
1083 1.1.1.20 mrg __is_integer_nonstrict instead of __is_integer.
1084 1.1.1.20 mrg * include/std/limits [__STRICT_ANSI__ && __SIZEOF_INT128__]
1085 1.1.1.20 mrg (numeric_limits<__int128>, (numeric_limits<unsigned __int128>):
1086 1.1.1.20 mrg Define.
1087 1.1.1.20 mrg * testsuite/std/ranges/iota/96042.cc: New test.
1088 1.1.1.19 mrg
1089 1.1.1.20 mrg 2020-11-11 Paul Scharnofske <asynts (a] gmail.com>
1090 1.1.1.19 mrg
1091 1.1.1.20 mrg Backported from master:
1092 1.1.1.20 mrg 2020-11-11 Paul Scharnofske <asynts (a] gmail.com>
1093 1.1.1.19 mrg
1094 1.1.1.20 mrg * include/std/thread (jthread::operator=(jthread&&)): Transfer
1095 1.1.1.20 mrg any existing state to a temporary that will request a stop and
1096 1.1.1.20 mrg then join.
1097 1.1.1.20 mrg * testsuite/30_threads/jthread/jthread.cc: Test move assignment.
1098 1.1.1.19 mrg
1099 1.1.1.20 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com>
1100 1.1.1.20 mrg
1101 1.1.1.20 mrg Backported from master:
1102 1.1.1.20 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com>
1103 1.1.1.20 mrg
1104 1.1.1.20 mrg PR libstdc++/96269
1105 1.1.1.20 mrg * include/std/optional (operator==, operator!=, operator<)
1106 1.1.1.20 mrg (operator>, operator<=, operator>=): Fix types used in
1107 1.1.1.20 mrg SFINAE constraints.
1108 1.1.1.20 mrg * testsuite/20_util/optional/relops/96269.cc: New test.
1109 1.1.1.20 mrg
1110 1.1.1.20 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com>
1111 1.1.1.20 mrg
1112 1.1.1.20 mrg Backported from master:
1113 1.1.1.20 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com>
1114 1.1.1.20 mrg
1115 1.1.1.20 mrg PR libstdc++/97731
1116 1.1.1.20 mrg * src/filesystem/dir.cc (recursive_directory_iterator): Call the
1117 1.1.1.20 mrg right overload of _Dir::advance.
1118 1.1.1.20 mrg * testsuite/experimental/filesystem/iterators/97731.cc: New test.
1119 1.1.1.20 mrg
1120 1.1.1.20 mrg 2020-11-05 Jonathan Wakely <jwakely (a] redhat.com>
1121 1.1.1.20 mrg
1122 1.1.1.20 mrg Backported from master:
1123 1.1.1.20 mrg 2020-10-10 Jonathan Wakely <jwakely (a] redhat.com>
1124 1.1.1.20 mrg
1125 1.1.1.20 mrg PR libstdc++/97362
1126 1.1.1.20 mrg * doc/html/manual/source_code_style.html: Regenerate.
1127 1.1.1.20 mrg * doc/xml/manual/appendix_contributing.xml: Add __deref to
1128 1.1.1.20 mrg BADNAMES.
1129 1.1.1.20 mrg * include/debug/functions.h (_Irreflexive_checker::__deref):
1130 1.1.1.20 mrg Rename to __ref.
1131 1.1.1.20 mrg * testsuite/17_intro/badnames.cc: Check __deref.
1132 1.1.1.20 mrg
1133 1.1.1.20 mrg 2020-11-04 Jonathan Wakely <jwakely (a] redhat.com>
1134 1.1.1.20 mrg
1135 1.1.1.20 mrg Backported from master:
1136 1.1.1.20 mrg 2020-11-04 Jonathan Wakely <jwakely (a] redhat.com>
1137 1.1.1.20 mrg
1138 1.1.1.20 mrg PR libstdc++/92285
1139 1.1.1.20 mrg * doc/xml/manual/evolution.xml: Document change to base class.
1140 1.1.1.20 mrg * doc/html/manual/api.html: Regenerate.
1141 1.1.1.20 mrg
1142 1.1.1.20 mrg 2020-11-04 Jonathan Wakely <jwakely (a] redhat.com>
1143 1.1.1.20 mrg
1144 1.1.1.20 mrg * doc/xml/manual/evolution.xml: Document new C++20 headers.
1145 1.1.1.20 mrg * doc/html/*: Regenerate.
1146 1.1.1.20 mrg
1147 1.1.1.20 mrg 2020-11-04 Jonathan Wakely <jwakely (a] redhat.com>
1148 1.1.1.20 mrg
1149 1.1.1.20 mrg Backported from master:
1150 1.1.1.20 mrg 2020-06-01 Jonathan Wakely <jwakely (a] redhat.com>
1151 1.1.1.20 mrg
1152 1.1.1.20 mrg * doc/xml/manual/evolution.xml: Document deprecation of
1153 1.1.1.20 mrg __is_nullptr_t and removal of std::allocator members.
1154 1.1.1.20 mrg * doc/html/manual/api.html: Regenerate.
1155 1.1.1.20 mrg
1156 1.1.1.20 mrg 2020-11-04 Jonathan Wakely <jwakely (a] redhat.com>
1157 1.1.1.20 mrg
1158 1.1.1.20 mrg Backported from master:
1159 1.1.1.20 mrg 2020-06-01 Jonathan Wakely <jwakely (a] redhat.com>
1160 1.1.1.20 mrg
1161 1.1.1.20 mrg * doc/xml/manual/containers.xml: Replace <xref> with <link>.
1162 1.1.1.20 mrg * doc/xml/manual/evolution.xml: Likewise.
1163 1.1.1.20 mrg * doc/html/manual/api.html: Regenerate.
1164 1.1.1.20 mrg * doc/html/manual/containers.html: Regenerate.
1165 1.1.1.20 mrg
1166 1.1.1.20 mrg 2020-10-29 Patrick Palka <ppalka (a] redhat.com>
1167 1.1.1.20 mrg
1168 1.1.1.20 mrg Backported from master:
1169 1.1.1.20 mrg 2020-10-29 Patrick Palka <ppalka (a] redhat.com>
1170 1.1.1.20 mrg
1171 1.1.1.20 mrg * testsuite/25_algorithms/lexicographical_compare/constrained.cc:
1172 1.1.1.20 mrg (test03): Fix initializing the vector vy with the array y of size 4.
1173 1.1.1.20 mrg
1174 1.1.1.20 mrg 2020-10-28 Patrick Palka <ppalka (a] redhat.com>
1175 1.1.1.20 mrg
1176 1.1.1.20 mrg Backported from master:
1177 1.1.1.20 mrg 2020-10-23 Patrick Palka <ppalka (a] redhat.com>
1178 1.1.1.20 mrg
1179 1.1.1.20 mrg * include/std/ranges (single_view::single_view): Mark the
1180 1.1.1.20 mrg in place constructor explicit as per LWG 3428.
1181 1.1.1.20 mrg (take_view): Remove the constraint on the deduction guide's
1182 1.1.1.20 mrg template parameter as per LWG 3447.
1183 1.1.1.20 mrg
1184 1.1.1.20 mrg 2020-10-21 Patrick Palka <ppalka (a] redhat.com>
1185 1.1.1.20 mrg
1186 1.1.1.20 mrg Backported from master:
1187 1.1.1.20 mrg 2020-09-22 Patrick Palka <ppalka (a] redhat.com>
1188 1.1.1.20 mrg
1189 1.1.1.20 mrg * include/std/span (span::front): Remove static_assert.
1190 1.1.1.20 mrg (span::back): Likewise.
1191 1.1.1.20 mrg (span::operator[]): Likewise.
1192 1.1.1.20 mrg * testsuite/23_containers/span/back_neg.cc: Rewrite to verify
1193 1.1.1.20 mrg that we check the preconditions of back() only when it's called.
1194 1.1.1.20 mrg * testsuite/23_containers/span/front_neg.cc: Likewise for
1195 1.1.1.20 mrg front().
1196 1.1.1.20 mrg * testsuite/23_containers/span/index_op_neg.cc: Likewise for
1197 1.1.1.20 mrg operator[].
1198 1.1.1.20 mrg
1199 1.1.1.20 mrg 2020-10-21 Patrick Palka <ppalka (a] redhat.com>
1200 1.1.1.20 mrg
1201 1.1.1.20 mrg Backported from master:
1202 1.1.1.20 mrg 2020-10-12 Patrick Palka <ppalka (a] redhat.com>
1203 1.1.1.20 mrg
1204 1.1.1.20 mrg * include/std/ranges (take_while_view::begin): Constrain the
1205 1.1.1.20 mrg const overload further as per LWG 3450.
1206 1.1.1.20 mrg (take_while_view::end): Likewise.
1207 1.1.1.20 mrg * testsuite/std/ranges/adaptors/take_while.cc: Add test for LWG
1208 1.1.1.20 mrg 3450.
1209 1.1.1.20 mrg
1210 1.1.1.20 mrg 2020-10-21 Patrick Palka <ppalka (a] redhat.com>
1211 1.1.1.20 mrg
1212 1.1.1.20 mrg Backported from master:
1213 1.1.1.20 mrg 2020-09-22 Patrick Palka <ppalka (a] redhat.com>
1214 1.1.1.20 mrg
1215 1.1.1.20 mrg * include/bits/stl_algo.h (__sample): Exit early when the
1216 1.1.1.20 mrg input range is empty.
1217 1.1.1.20 mrg * testsuite/25_algorithms/sample/3.cc: New test.
1218 1.1.1.20 mrg
1219 1.1.1.20 mrg 2020-10-21 Patrick Palka <ppalka (a] redhat.com>
1220 1.1.1.20 mrg
1221 1.1.1.20 mrg Backported from master:
1222 1.1.1.20 mrg 2020-09-22 Patrick Palka <ppalka (a] redhat.com>
1223 1.1.1.20 mrg
1224 1.1.1.20 mrg * include/bits/stl_algo.h (for_each_n): Mark constexpr for C++20.
1225 1.1.1.20 mrg (search): Likewise for the overload that takes a searcher.
1226 1.1.1.20 mrg * testsuite/25_algorithms/for_each/constexpr.cc: Test constexpr
1227 1.1.1.20 mrg std::for_each_n.
1228 1.1.1.20 mrg * testsuite/25_algorithms/search/constexpr.cc: Test constexpr
1229 1.1.1.20 mrg std::search overload that takes a searcher.
1230 1.1.1.20 mrg
1231 1.1.1.20 mrg 2020-10-21 Patrick Palka <ppalka (a] redhat.com>
1232 1.1.1.20 mrg
1233 1.1.1.20 mrg Backported from master:
1234 1.1.1.20 mrg 2020-08-27 Patrick Palka <ppalka (a] redhat.com>
1235 1.1.1.20 mrg
1236 1.1.1.20 mrg PR libstdc++/95322
1237 1.1.1.20 mrg * include/std/ranges (transform_view::sentinel::__distance_from):
1238 1.1.1.20 mrg Give this a deduced return type.
1239 1.1.1.20 mrg (transform_view::sentinel::operator-): Adjust the return type so
1240 1.1.1.20 mrg that it's based on the constness of the iterator rather than
1241 1.1.1.20 mrg that of the sentinel.
1242 1.1.1.20 mrg * testsuite/std/ranges/adaptors/95322.cc: Refer to LWG 3488.
1243 1.1.1.20 mrg
1244 1.1.1.20 mrg 2020-10-21 Patrick Palka <ppalka (a] redhat.com>
1245 1.1.1.20 mrg
1246 1.1.1.20 mrg Backported from master:
1247 1.1.1.20 mrg 2020-08-27 Patrick Palka <ppalka (a] redhat.com>
1248 1.1.1.20 mrg
1249 1.1.1.20 mrg * include/std/ranges (elements_view::begin): Adjust constraints.
1250 1.1.1.20 mrg (elements_view::end): Likewise.
1251 1.1.1.20 mrg (elements_view::_Sentinel::operator==): Templatize to take both
1252 1.1.1.20 mrg _Iterator<true> and _Iterator<false>.
1253 1.1.1.20 mrg (elements_view::_Sentinel::operator-): Likewise.
1254 1.1.1.20 mrg * testsuite/std/ranges/adaptors/elements.cc: Add testcase for
1255 1.1.1.20 mrg the example from P1994R1.
1256 1.1.1.20 mrg * testsuite/std/ranges/adaptors/lwg3406.cc: New test.
1257 1.1.1.20 mrg
1258 1.1.1.20 mrg 2020-10-21 Patrick Palka <ppalka (a] redhat.com>
1259 1.1.1.20 mrg
1260 1.1.1.20 mrg Backported from master:
1261 1.1.1.20 mrg 2020-08-27 Patrick Palka <ppalka (a] redhat.com>
1262 1.1.1.20 mrg
1263 1.1.1.20 mrg * include/std/ranges (elements_view::end): Replace these two
1264 1.1.1.20 mrg overloads with four new overloads.
1265 1.1.1.20 mrg (elements_view::_Iterator::operator==): Remove.
1266 1.1.1.20 mrg (elements_view::_Iterator::operator-): Likewise.
1267 1.1.1.20 mrg (elements_view::_Sentinel): Define.
1268 1.1.1.20 mrg
1269 1.1.1.20 mrg 2020-10-20 Jonathan Wakely <jwakely (a] redhat.com>
1270 1.1.1.20 mrg
1271 1.1.1.20 mrg Backported from master:
1272 1.1.1.20 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com>
1273 1.1.1.20 mrg
1274 1.1.1.20 mrg * python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__):
1275 1.1.1.20 mrg Use gdb.Type.strip_typedefs().
1276 1.1.1.20 mrg * testsuite/libstdc++-prettyprinters/compat.cc: Use a typedef in
1277 1.1.1.20 mrg the emulated old type.
1278 1.1.1.20 mrg
1279 1.1.1.20 mrg 2020-10-20 Jonathan Wakely <jwakely (a] redhat.com>
1280 1.1.1.20 mrg
1281 1.1.1.20 mrg Backported from master:
1282 1.1.1.20 mrg 2020-10-14 Jonathan Wakely <jwakely (a] redhat.com>
1283 1.1.1.20 mrg
1284 1.1.1.20 mrg * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
1285 1.1.1.20 mrg (basic_string(const _CharT*, const _Alloc&)): Constrain to
1286 1.1.1.20 mrg require an allocator-like type to fix CTAD ambiguity (LWG 3706).
1287 1.1.1.20 mrg Define inline.
1288 1.1.1.20 mrg * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]
1289 1.1.1.20 mrg (basic_string(const _CharT*, const _Alloc&)): Remove non-inline
1290 1.1.1.20 mrg definition.
1291 1.1.1.20 mrg * testsuite/21_strings/basic_string/cons/char/deduction.cc:
1292 1.1.1.20 mrg Remove dg-skip-if.
1293 1.1.1.20 mrg * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
1294 1.1.1.20 mrg Likewise.
1295 1.1.1.20 mrg
1296 1.1.1.20 mrg 2020-10-20 Jonathan Wakely <jwakely (a] redhat.com>
1297 1.1.1.20 mrg
1298 1.1.1.20 mrg Backported from master:
1299 1.1.1.20 mrg 2020-10-14 Jonathan Wakely <jwakely (a] redhat.com>
1300 1.1.1.20 mrg
1301 1.1.1.20 mrg * testsuite/21_strings/basic_string/allocator/char/minimal.cc:
1302 1.1.1.20 mrg Do not require cxx11-abi effective target.
1303 1.1.1.20 mrg * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
1304 1.1.1.20 mrg Likewise.
1305 1.1.1.20 mrg * testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
1306 1.1.1.20 mrg
1307 1.1.1.20 mrg 2020-10-20 Jonathan Wakely <jwakely (a] redhat.com>
1308 1.1.1.20 mrg
1309 1.1.1.20 mrg Backported from master:
1310 1.1.1.20 mrg 2020-10-08 Jonathan Wakely <jwakely (a] redhat.com>
1311 1.1.1.20 mrg
1312 1.1.1.20 mrg * include/bits/ios_base.h (ios_base::failure): Add constructors
1313 1.1.1.20 mrg takeing error_code argument. Add code() member function.
1314 1.1.1.20 mrg * testsuite/27_io/ios_base/failure/cxx11.cc: Allow test to
1315 1.1.1.20 mrg run for the old ABI but do not check for derivation from
1316 1.1.1.20 mrg std::system_error.
1317 1.1.1.20 mrg * testsuite/27_io/ios_base/failure/error_code.cc: New test.
1318 1.1.1.20 mrg
1319 1.1.1.20 mrg 2020-10-20 Nuno Lopes <nuno.lopes (a] ist.utl.pt>
1320 1.1.1.20 mrg
1321 1.1.1.20 mrg Backported from master:
1322 1.1.1.20 mrg 2020-10-13 Nuno Lopes <nuno.lopes (a] ist.utl.pt>
1323 1.1.1.20 mrg
1324 1.1.1.20 mrg * include/bits/stl_algo.h (any_of): Fix incorrect description
1325 1.1.1.20 mrg in comment.
1326 1.1.1.20 mrg
1327 1.1.1.20 mrg 2020-10-20 Jonathan Wakely <jwakely (a] redhat.com>
1328 1.1.1.20 mrg
1329 1.1.1.20 mrg Backported from master:
1330 1.1.1.20 mrg 2020-10-12 Jonathan Wakely <jwakely (a] redhat.com>
1331 1.1.1.20 mrg
1332 1.1.1.20 mrg * include/bits/stl_algobase.h (copy, move, copy_backward)
1333 1.1.1.20 mrg (move_backward): Fix documentation for returned iterator.
1334 1.1.1.20 mrg
1335 1.1.1.20 mrg 2020-10-20 Jonathan Wakely <jwakely (a] redhat.com>
1336 1.1.1.20 mrg
1337 1.1.1.20 mrg Backported from master:
1338 1.1.1.20 mrg 2020-09-24 Jonathan Wakely <jwakely (a] redhat.com>
1339 1.1.1.20 mrg
1340 1.1.1.20 mrg * doc/xml/manual/configure.xml: Correct name of option.
1341 1.1.1.20 mrg * doc/html/*: Regenerate.
1342 1.1.1.20 mrg
1343 1.1.1.20 mrg 2020-10-19 Jonathan Wakely <jwakely (a] redhat.com>
1344 1.1.1.20 mrg
1345 1.1.1.20 mrg Backported from master:
1346 1.1.1.20 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com>
1347 1.1.1.20 mrg
1348 1.1.1.20 mrg PR libstdc++/97132
1349 1.1.1.20 mrg * include/std/memory (assume_aligned): Do not use
1350 1.1.1.20 mrg __builtin_assume_aligned during constant evaluation.
1351 1.1.1.20 mrg * testsuite/20_util/assume_aligned/1.cc: Improve test.
1352 1.1.1.20 mrg * testsuite/20_util/assume_aligned/97132.cc: New test.
1353 1.1.1.20 mrg
1354 1.1.1.20 mrg 2020-10-15 Jonathan Wakely <jwakely (a] redhat.com>
1355 1.1.1.20 mrg
1356 1.1.1.20 mrg Backported from master:
1357 1.1.1.20 mrg 2020-10-15 Jonathan Wakely <jwakely (a] redhat.com>
1358 1.1.1.20 mrg
1359 1.1.1.20 mrg * include/std/concepts: Fix typos in copyright notice.
1360 1.1.1.20 mrg * include/std/ranges: Likewise.
1361 1.1.1.20 mrg
1362 1.1.1.20 mrg 2020-10-15 Jonathan Wakely <jwakely (a] redhat.com>
1363 1.1.1.20 mrg
1364 1.1.1.20 mrg * doc/xml/manual/status_cxx2020.xml: Remove red background for
1365 1.1.1.20 mrg completed feature.
1366 1.1.1.20 mrg * doc/html/manual/status.html: Regenerate.
1367 1.1.1.20 mrg
1368 1.1.1.20 mrg 2020-10-13 Patrick Palka <ppalka (a] redhat.com>
1369 1.1.1.20 mrg
1370 1.1.1.20 mrg Backported from master:
1371 1.1.1.20 mrg 2020-10-08 Patrick Palka <ppalka (a] redhat.com>
1372 1.1.1.20 mrg
1373 1.1.1.20 mrg PR libstdc++/95788
1374 1.1.1.20 mrg * include/bits/ranges_uninitialized.h:
1375 1.1.1.20 mrg (__construct_at_fn::operator()): Rewrite in terms of
1376 1.1.1.20 mrg std::construct_at. Declare it conditionally noexcept. Qualify
1377 1.1.1.20 mrg calls to declval in its requires-clause.
1378 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/construct_at/95788.cc:
1379 1.1.1.20 mrg New test.
1380 1.1.1.20 mrg
1381 1.1.1.20 mrg 2020-10-08 Jonathan Wakely <jwakely (a] redhat.com>
1382 1.1.1.20 mrg
1383 1.1.1.20 mrg Backported from master:
1384 1.1.1.20 mrg 2020-10-07 Jonathan Wakely <jwakely (a] redhat.com>
1385 1.1.1.20 mrg
1386 1.1.1.20 mrg * include/bits/random.h (seed_seq(initializer_list<T>)): Rename
1387 1.1.1.20 mrg parameter to use reserved name.
1388 1.1.1.20 mrg * include/bits/ranges_algo.h (shift_left, shift_right): Rename
1389 1.1.1.20 mrg template parameters to use reserved name.
1390 1.1.1.20 mrg * testsuite/17_intro/names.cc: Check "il". Do not check "d" and
1391 1.1.1.20 mrg "y" in C++20 mode.
1392 1.1.1.20 mrg
1393 1.1.1.20 mrg 2020-10-06 Patrick Palka <ppalka (a] redhat.com>
1394 1.1.1.20 mrg
1395 1.1.1.20 mrg Backported from master:
1396 1.1.1.20 mrg 2020-10-02 Patrick Palka <ppalka (a] redhat.com>
1397 1.1.1.20 mrg
1398 1.1.1.20 mrg * include/bits/stl_iterator.h (reverse_iterator::iter_move):
1399 1.1.1.20 mrg Define for C++20 as per P0896.
1400 1.1.1.20 mrg (reverse_iterator::iter_swap): Likewise.
1401 1.1.1.20 mrg (move_iterator::operator*): Apply P0896 changes for C++20.
1402 1.1.1.20 mrg (move_iterator::operator[]): Likewise.
1403 1.1.1.20 mrg * testsuite/24_iterators/reverse_iterator/cust.cc: New test.
1404 1.1.1.20 mrg
1405 1.1.1.20 mrg 2020-09-22 Jonathan Wakely <jwakely (a] redhat.com>
1406 1.1.1.20 mrg
1407 1.1.1.20 mrg Backported from master:
1408 1.1.1.20 mrg 2020-09-22 Jonathan Wakely <jwakely (a] redhat.com>
1409 1.1.1.20 mrg
1410 1.1.1.20 mrg PR libstdc++/97167
1411 1.1.1.20 mrg * src/c++17/fs_path.cc (path::_Parser::root_path()): Check
1412 1.1.1.20 mrg for empty string before inspecting the first character.
1413 1.1.1.20 mrg * testsuite/27_io/filesystem/path/append/source.cc: Append
1414 1.1.1.20 mrg empty string_view to path.
1415 1.1.1.20 mrg
1416 1.1.1.20 mrg 2020-09-22 Jonathan Wakely <jwakely (a] redhat.com>
1417 1.1.1.20 mrg
1418 1.1.1.20 mrg Backported from master:
1419 1.1.1.20 mrg 2020-09-22 Jonathan Wakely <jwakely (a] redhat.com>
1420 1.1.1.20 mrg
1421 1.1.1.20 mrg PR libstdc++/96803
1422 1.1.1.20 mrg * include/std/tuple
1423 1.1.1.20 mrg (_Tuple_impl(allocator_arg_t, Alloc, const _Tuple_impl<U...>&)):
1424 1.1.1.20 mrg Use correct value category in __use_alloc call.
1425 1.1.1.20 mrg * testsuite/20_util/tuple/cons/96803.cc: Check with constructors
1426 1.1.1.20 mrg that require correct value category to be used.
1427 1.1.1.20 mrg
1428 1.1.1.20 mrg 2020-09-22 Jonathan Wakely <jwakely (a] redhat.com>
1429 1.1.1.20 mrg
1430 1.1.1.20 mrg Backported from master:
1431 1.1.1.20 mrg 2020-08-26 Jonathan Wakely <jwakely (a] redhat.com>
1432 1.1.1.20 mrg
1433 1.1.1.20 mrg PR libstdc++/96803
1434 1.1.1.20 mrg * include/std/tuple
1435 1.1.1.20 mrg (_Tuple_impl(allocator_arg_t, Alloc, const _Tuple_impl<U...>&)):
1436 1.1.1.20 mrg Replace parameter pack with a type parameter and a pack and pass
1437 1.1.1.20 mrg the first type to __use_alloc.
1438 1.1.1.20 mrg * testsuite/20_util/tuple/cons/96803.cc: New test.
1439 1.1.1.20 mrg
1440 1.1.1.20 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com>
1441 1.1.1.20 mrg
1442 1.1.1.20 mrg Backported from master:
1443 1.1.1.20 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com>
1444 1.1.1.20 mrg
1445 1.1.1.20 mrg PR libstdc++/94681
1446 1.1.1.20 mrg * src/c++17/fs_ops.cc (read_symlink): Use posix::lstat instead
1447 1.1.1.20 mrg of calling ::lstat directly.
1448 1.1.1.20 mrg * src/filesystem/ops.cc (read_symlink): Likewise.
1449 1.1.1.20 mrg
1450 1.1.1.20 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com>
1451 1.1.1.20 mrg
1452 1.1.1.20 mrg Backported from master:
1453 1.1.1.20 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com>
1454 1.1.1.20 mrg
1455 1.1.1.20 mrg PR libstdc++/94681
1456 1.1.1.20 mrg * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Do not depend on
1457 1.1.1.20 mrg $enable_libstdcxx_filesystem_ts.
1458 1.1.1.20 mrg * configure: Regenerate.
1459 1.1.1.20 mrg
1460 1.1.1.20 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com>
1461 1.1.1.20 mrg
1462 1.1.1.20 mrg Backported from master:
1463 1.1.1.20 mrg 2020-09-20 Jonathan Wakely <jwakely (a] redhat.com>
1464 1.1.1.20 mrg
1465 1.1.1.20 mrg PR libstdc++/97101
1466 1.1.1.20 mrg * include/std/functional (bind_front): Fix order of parameters
1467 1.1.1.20 mrg in is_nothrow_constructible_v specialization.
1468 1.1.1.20 mrg * testsuite/20_util/function_objects/bind_front/97101.cc: New test.
1469 1.1.1.20 mrg
1470 1.1.1.20 mrg 2020-09-21 Jonathan Wakely <jwakely (a] redhat.com>
1471 1.1.1.20 mrg
1472 1.1.1.20 mrg Backported from master:
1473 1.1.1.20 mrg 2020-09-10 Jonathan Wakely <jwakely (a] redhat.com>
1474 1.1.1.20 mrg
1475 1.1.1.20 mrg PR libstdc++/94160
1476 1.1.1.20 mrg * src/c++17/memory_resource.cc (munge_options): Round
1477 1.1.1.20 mrg max_blocks_per_chunk to a multiple of four.
1478 1.1.1.20 mrg (__pool_resource::_M_alloc_pools()): Simplify slightly.
1479 1.1.1.20 mrg * testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
1480 1.1.1.20 mrg Check that valid pointers are returned when small values are
1481 1.1.1.20 mrg used for max_blocks_per_chunk.
1482 1.1.1.20 mrg
1483 1.1.1.20 mrg 2020-09-03 Jonathan Wakely <jwakely (a] redhat.com>
1484 1.1.1.20 mrg
1485 1.1.1.20 mrg Backported from master:
1486 1.1.1.20 mrg 2020-07-07 Jonathan Wakely <jwakely (a] redhat.com>
1487 1.1.1.20 mrg
1488 1.1.1.20 mrg * include/Makefile.am: Remove bits/int_limits.h.
1489 1.1.1.20 mrg * include/Makefile.in: Regenerate.
1490 1.1.1.20 mrg * include/bits/int_limits.h: Removed.
1491 1.1.1.20 mrg * include/bits/parse_numbers.h (_Select_int_base): Replace
1492 1.1.1.20 mrg __int_limits with __int_traits.
1493 1.1.1.20 mrg * include/bits/range_access.h (_SSize::operator()): Likewise.
1494 1.1.1.20 mrg * include/ext/numeric_traits.h (__numeric_traits_integer): Add
1495 1.1.1.20 mrg static assertion.
1496 1.1.1.20 mrg (__int_traits): New alias template.
1497 1.1.1.20 mrg * include/std/bit (__rotl, __rotr, __countl_zero, __countl_one)
1498 1.1.1.20 mrg (__countr_zero, __countr_one, __popcount, __bit_ceil)
1499 1.1.1.20 mrg (__bit_floor, __bit_width) Replace __int_limits with
1500 1.1.1.20 mrg __int_traits.
1501 1.1.1.20 mrg * include/std/charconv (__to_chars_8, __from_chars_binary)
1502 1.1.1.20 mrg (__from_chars_alpha_to_num, from_chars): Likewise.
1503 1.1.1.20 mrg * include/std/memory_resource (polymorphic_allocator::allocate)
1504 1.1.1.20 mrg (polymorphic_allocator::allocate_object): Likewise.
1505 1.1.1.20 mrg * include/std/string_view (basic_string_view::_S_compare):
1506 1.1.1.20 mrg Likewise.
1507 1.1.1.20 mrg * include/std/utility (cmp_equal, cmp_less, in_range): Likewise.
1508 1.1.1.20 mrg
1509 1.1.1.20 mrg 2020-09-02 Jonathan Wakely <jwakely (a] redhat.com>
1510 1.1.1.20 mrg
1511 1.1.1.20 mrg Backported from master:
1512 1.1.1.20 mrg 2020-08-28 Jonathan Wakely <jwakely (a] redhat.com>
1513 1.1.1.20 mrg
1514 1.1.1.20 mrg PR libstdc++/92978
1515 1.1.1.20 mrg * include/std/numeric (__abs_integral): Replace with ...
1516 1.1.1.20 mrg (__detail::__absu): New function template that returns an
1517 1.1.1.20 mrg unsigned type, guaranteeing it can represent the most
1518 1.1.1.20 mrg negative signed value.
1519 1.1.1.20 mrg (__detail::__gcd, __detail::__lcm): Require arguments to
1520 1.1.1.20 mrg be unsigned and therefore already non-negative.
1521 1.1.1.20 mrg (gcd, lcm): Convert arguments to absolute value as unsigned
1522 1.1.1.20 mrg type before calling __detail::__gcd or __detail::__lcm.
1523 1.1.1.20 mrg * include/experimental/numeric (gcd, lcm): Likewise.
1524 1.1.1.20 mrg * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust expected
1525 1.1.1.20 mrg errors.
1526 1.1.1.20 mrg * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
1527 1.1.1.20 mrg * testsuite/26_numerics/gcd/92978.cc: New test.
1528 1.1.1.20 mrg * testsuite/26_numerics/lcm/92978.cc: New test.
1529 1.1.1.20 mrg * testsuite/experimental/numeric/92978.cc: New test.
1530 1.1.1.20 mrg
1531 1.1.1.20 mrg 2020-09-02 Jonathan Wakely <jwakely (a] redhat.com>
1532 1.1.1.20 mrg
1533 1.1.1.20 mrg Backported from master:
1534 1.1.1.20 mrg 2020-09-02 Jonathan Wakely <jwakely (a] redhat.com>
1535 1.1.1.20 mrg
1536 1.1.1.20 mrg PR libstdc++/96851
1537 1.1.1.20 mrg * include/bits/cpp_type_traits.h (__is_memcmp_ordered):
1538 1.1.1.20 mrg New trait that says if memcmp can be used for ordering.
1539 1.1.1.20 mrg (__is_memcmp_ordered_with): Likewise, for two types.
1540 1.1.1.20 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn):
1541 1.1.1.20 mrg Use new traits instead of __is_byte and __numeric_traits.
1542 1.1.1.20 mrg * include/bits/stl_algobase.h (__lexicographical_compare_aux1)
1543 1.1.1.20 mrg (__is_byte_iter): Likewise.
1544 1.1.1.20 mrg * include/std/array (operator<=>): Likewise. Only use memcmp
1545 1.1.1.20 mrg when std::is_constant_evaluated() is false.
1546 1.1.1.20 mrg * testsuite/23_containers/array/comparison_operators/96851.cc:
1547 1.1.1.20 mrg New test.
1548 1.1.1.20 mrg * testsuite/23_containers/array/tuple_interface/get_neg.cc:
1549 1.1.1.20 mrg Adjust dg-error line numbers.
1550 1.1.1.20 mrg
1551 1.1.1.20 mrg 2020-09-02 Jonathan Wakely <jwakely (a] redhat.com>
1552 1.1.1.20 mrg
1553 1.1.1.20 mrg * include/bits/stl_iterator.h (counted_iterator::operator++(int)):
1554 1.1.1.20 mrg Use __throw_exception_again macro.
1555 1.1.1.20 mrg
1556 1.1.1.20 mrg 2020-08-26 Jonathan Wakely <jwakely (a] redhat.com>
1557 1.1.1.20 mrg
1558 1.1.1.20 mrg Backported from master:
1559 1.1.1.20 mrg 2020-08-26 Jonathan Wakely <jwakely (a] redhat.com>
1560 1.1.1.20 mrg
1561 1.1.1.20 mrg PR libstdc++/71960
1562 1.1.1.20 mrg * include/experimental/string_view (basic_string_view):
1563 1.1.1.20 mrg Enable debug assertions.
1564 1.1.1.20 mrg * include/std/string_view (basic_string_view):
1565 1.1.1.20 mrg Likewise.
1566 1.1.1.20 mrg
1567 1.1.1.20 mrg 2020-08-26 Jonathan Wakely <jwakely (a] redhat.com>
1568 1.1.1.20 mrg
1569 1.1.1.20 mrg Backported from master:
1570 1.1.1.20 mrg 2020-08-24 Jonathan Wakely <jwakely (a] redhat.com>
1571 1.1.1.20 mrg
1572 1.1.1.20 mrg PR libstdc++/96766
1573 1.1.1.20 mrg * include/std/variant (_Variant_storage): Replace implicit
1574 1.1.1.20 mrg conversions from size_t to __index_type with explicit casts.
1575 1.1.1.20 mrg
1576 1.1.1.20 mrg 2020-08-21 Jonathan Wakely <jwakely (a] redhat.com>
1577 1.1.1.20 mrg
1578 1.1.1.20 mrg Backported from master:
1579 1.1.1.20 mrg 2020-08-21 Jonathan Wakely <jwakely (a] redhat.com>
1580 1.1.1.20 mrg
1581 1.1.1.20 mrg PR libstdc++/96718
1582 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test-2.cc: Require
1583 1.1.1.20 mrg tbb-backend effective target.
1584 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise.
1585 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise.
1586 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test.cc: Likewise.
1587 1.1.1.20 mrg
1588 1.1.1.20 mrg 2020-08-19 Jonathan Wakely <jwakely (a] redhat.com>
1589 1.1.1.20 mrg
1590 1.1.1.20 mrg Backported from master:
1591 1.1.1.20 mrg 2020-08-19 Jonathan Wakely <jwakely (a] redhat.com>
1592 1.1.1.20 mrg
1593 1.1.1.20 mrg * include/bits/c++config (_GLIBCXX_DEPRECATED_SUGGEST): New
1594 1.1.1.20 mrg macro for "use 'foo' instead" message in deprecated warnings.
1595 1.1.1.20 mrg * include/bits/ios_base.h (io_state, open_mode, seek_dir)
1596 1.1.1.20 mrg (streampos, streamoff): Use _GLIBCXX_DEPRECATED_SUGGEST.
1597 1.1.1.20 mrg * include/std/streambuf (stossc): Replace C++11 attribute
1598 1.1.1.20 mrg with _GLIBCXX_DEPRECATED_SUGGEST.
1599 1.1.1.20 mrg * include/std/type_traits (__is_nullptr_t): Use
1600 1.1.1.20 mrg _GLIBCXX_DEPRECATED_SUGGEST instead of _GLIBCXX_DEPRECATED.
1601 1.1.1.20 mrg * testsuite/27_io/types/1.cc: Check for deprecated warnings.
1602 1.1.1.20 mrg Also check for io_state, open_mode and seek_dir typedefs.
1603 1.1.1.20 mrg
1604 1.1.1.20 mrg 2020-08-11 Jonathan Wakely <jwakely (a] redhat.com>
1605 1.1.1.20 mrg
1606 1.1.1.20 mrg PR libstdc++/89760
1607 1.1.1.20 mrg * testsuite/experimental/net/execution_context/make_service.cc:
1608 1.1.1.20 mrg Add dg-require-gthreads.
1609 1.1.1.20 mrg * testsuite/experimental/net/executor/1.cc: Likewise.
1610 1.1.1.20 mrg * testsuite/experimental/net/headers.cc: Likewise.
1611 1.1.1.20 mrg * testsuite/experimental/net/internet/address/v4/comparisons.cc:
1612 1.1.1.20 mrg Likewise.
1613 1.1.1.20 mrg * testsuite/experimental/net/internet/address/v4/cons.cc:
1614 1.1.1.20 mrg Likewise.
1615 1.1.1.20 mrg * testsuite/experimental/net/internet/address/v4/creation.cc:
1616 1.1.1.20 mrg Likewise.
1617 1.1.1.20 mrg * testsuite/experimental/net/internet/address/v4/members.cc:
1618 1.1.1.20 mrg Likewise.
1619 1.1.1.20 mrg * testsuite/experimental/net/internet/resolver/base.cc:
1620 1.1.1.20 mrg Likewise.
1621 1.1.1.20 mrg * testsuite/experimental/net/internet/resolver/ops/lookup.cc:
1622 1.1.1.20 mrg Likewise.
1623 1.1.1.20 mrg * testsuite/experimental/net/internet/resolver/ops/reverse.cc:
1624 1.1.1.20 mrg Likewise.
1625 1.1.1.20 mrg * testsuite/experimental/net/socket/basic_socket.cc: Likewise.
1626 1.1.1.20 mrg * testsuite/experimental/net/timer/waitable/cons.cc: Likewise.
1627 1.1.1.20 mrg * testsuite/experimental/net/timer/waitable/dest.cc: Likewise.
1628 1.1.1.20 mrg * testsuite/experimental/net/timer/waitable/ops.cc: Likewise.
1629 1.1.1.20 mrg
1630 1.1.1.20 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com>
1631 1.1.1.20 mrg
1632 1.1.1.20 mrg Backported from master:
1633 1.1.1.20 mrg 2020-08-10 Jonathan Wakely <jwakely (a] redhat.com>
1634 1.1.1.20 mrg
1635 1.1.1.20 mrg PR libstdc++/95749
1636 1.1.1.20 mrg * src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS]
1637 1.1.1.20 mrg (stat_type): Change to __stat64.
1638 1.1.1.20 mrg (stat): Use _wstat64.
1639 1.1.1.20 mrg
1640 1.1.1.20 mrg 2020-08-07 Jonathan Wakely <jwakely (a] redhat.com>
1641 1.1.1.20 mrg
1642 1.1.1.20 mrg Backported from master:
1643 1.1.1.20 mrg 2020-08-07 Jonathan Wakely <jwakely (a] redhat.com>
1644 1.1.1.20 mrg
1645 1.1.1.20 mrg PR libstdc++/96303
1646 1.1.1.20 mrg * include/debug/bitset (bitset::operator==): Call _M_base() on
1647 1.1.1.20 mrg right operand.
1648 1.1.1.20 mrg (bitset::operator!=): Likewise, but don't define it at all when
1649 1.1.1.20 mrg default comparisons are supported by the compiler.
1650 1.1.1.20 mrg * testsuite/23_containers/bitset/operations/96303.cc: New test.
1651 1.1.1.20 mrg
1652 1.1.1.20 mrg 2020-08-06 Jonathan Wakely <jwakely (a] redhat.com>
1653 1.1.1.20 mrg
1654 1.1.1.20 mrg Backported from master:
1655 1.1.1.20 mrg 2020-08-06 Jonathan Wakely <jwakely (a] redhat.com>
1656 1.1.1.20 mrg
1657 1.1.1.20 mrg PR libstdc++/96484
1658 1.1.1.20 mrg * src/c++17/fs_ops.cc (fs::read_symlink): Return an error
1659 1.1.1.20 mrg immediately for non-symlinks.
1660 1.1.1.20 mrg * src/filesystem/ops.cc (fs::read_symlink): Likewise.
1661 1.1.1.20 mrg
1662 1.1.1.20 mrg 2020-07-23 Release Manager
1663 1.1.1.20 mrg
1664 1.1.1.20 mrg * GCC 10.2.0 released.
1665 1.1.1.20 mrg
1666 1.1.1.20 mrg 2020-07-09 Jonathan Wakely <jwakely (a] redhat.com>
1667 1.1.1.20 mrg
1668 1.1.1.20 mrg Backported from master:
1669 1.1.1.20 mrg 2020-06-08 Jonathan Wakely <jwakely (a] redhat.com>
1670 1.1.1.20 mrg
1671 1.1.1.20 mrg * include/bits/unique_ptr.h (operator<<): Define for C++20.
1672 1.1.1.20 mrg * testsuite/20_util/unique_ptr/io/lwg2948.cc: New test.
1673 1.1.1.20 mrg * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error
1674 1.1.1.20 mrg line number.
1675 1.1.1.20 mrg * testsuite/20_util/default_delete/void_neg.cc: Likewise.
1676 1.1.1.20 mrg
1677 1.1.1.20 mrg 2020-07-09 Jonathan Wakely <jwakely (a] redhat.com>
1678 1.1.1.20 mrg
1679 1.1.1.20 mrg Backported from master:
1680 1.1.1.20 mrg 2020-05-27 Jonathan Wakely <jwakely (a] redhat.com>
1681 1.1.1.20 mrg
1682 1.1.1.20 mrg PR libstdc++/95322
1683 1.1.1.20 mrg * include/std/ranges (transform_view::_Sentinel): Allow hidden
1684 1.1.1.20 mrg friends to work with _Iterator<true> and _Iterator<false>.
1685 1.1.1.20 mrg (join_view::_Sentinel): Likewise.
1686 1.1.1.20 mrg * testsuite/std/ranges/adaptors/95322.cc: New test.
1687 1.1.1.20 mrg
1688 1.1.1.20 mrg 2020-07-09 Jonathan Wakely <jwakely (a] redhat.com>
1689 1.1.1.20 mrg
1690 1.1.1.20 mrg Backported from master:
1691 1.1.1.20 mrg 2020-05-04 Jonathan Wakely <jwakely (a] redhat.com>
1692 1.1.1.20 mrg
1693 1.1.1.20 mrg PR libstdc++/94936
1694 1.1.1.20 mrg * src/c++17/memory_resource.cc (synchronized_pool_resource::_TPools):
1695 1.1.1.20 mrg Add comment about single-threaded behaviour.
1696 1.1.1.20 mrg (synchronized_pool_resource::_TPools::move_nonempty_chunks()): Hoist
1697 1.1.1.20 mrg class member access out of loop.
1698 1.1.1.20 mrg (synchronized_pool_resource::synchronized_pool_resource())
1699 1.1.1.20 mrg (synchronized_pool_resource::~synchronized_pool_resource())
1700 1.1.1.20 mrg (synchronized_pool_resource::release()): Check __gthread_active_p
1701 1.1.1.20 mrg before creating and/or deleting the thread-specific data key.
1702 1.1.1.20 mrg (synchronized_pool_resource::_M_thread_specific_pools()): Adjust
1703 1.1.1.20 mrg assertions.
1704 1.1.1.20 mrg (synchronized_pool_resource::do_allocate(size_t, size_t)): Add fast
1705 1.1.1.20 mrg path for single-threaded case.
1706 1.1.1.20 mrg (synchronized_pool_resource::do_deallocate(void*, size_t, size_t)):
1707 1.1.1.20 mrg Likewise. Return if unable to find a pool that owns the allocation.
1708 1.1.1.20 mrg * testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
1709 1.1.1.20 mrg New test.
1710 1.1.1.20 mrg * testsuite/20_util/synchronized_pool_resource/cons_single.cc: New
1711 1.1.1.20 mrg test.
1712 1.1.1.20 mrg * testsuite/20_util/synchronized_pool_resource/release_single.cc: New
1713 1.1.1.20 mrg test.
1714 1.1.1.20 mrg
1715 1.1.1.20 mrg 2020-07-09 Jonathan Wakely <jwakely (a] redhat.com>
1716 1.1.1.20 mrg
1717 1.1.1.20 mrg Backported from master:
1718 1.1.1.20 mrg 2020-05-19 Jonathan Wakely <jwakely (a] redhat.com>
1719 1.1.1.20 mrg
1720 1.1.1.20 mrg PR libstdc++/94087
1721 1.1.1.20 mrg * src/c++11/random.cc (__x86_rdseed): Allow fallback function to be
1722 1.1.1.20 mrg passed in.
1723 1.1.1.20 mrg (__x86_rdseed_rdrand): New function that uses rdseed with rdrand
1724 1.1.1.20 mrg fallback.
1725 1.1.1.20 mrg (random_device::_M_init): Use __x86_rdseed_rdrand when both
1726 1.1.1.20 mrg instructions are available.
1727 1.1.1.20 mrg * testsuite/26_numerics/random/random_device/94087.cc: New test.
1728 1.1.1.20 mrg
1729 1.1.1.20 mrg 2020-07-02 Ville Voutilainen <ville.voutilainen (a] gmail.com>
1730 1.1.1.20 mrg
1731 1.1.1.20 mrg Backported from master:
1732 1.1.1.20 mrg 2020-07-02 Ville Voutilainen <ville.voutilainen (a] gmail.com>
1733 1.1.1.20 mrg
1734 1.1.1.20 mrg PR libstdc++/91807
1735 1.1.1.20 mrg * include/std/variant
1736 1.1.1.20 mrg (_Copy_assign_base::operator=(const _Copy_assign_base&):
1737 1.1.1.20 mrg Do the move-assignment from a temporary so that the temporary
1738 1.1.1.20 mrg is constructed with an explicit index.
1739 1.1.1.20 mrg * testsuite/20_util/variant/91807.cc: New.
1740 1.1.1.20 mrg
1741 1.1.1.20 mrg 2020-07-02 Jonathan Wakely <jwakely.gcc (a] gmail.com>
1742 1.1.1.20 mrg
1743 1.1.1.20 mrg Backported from master:
1744 1.1.1.20 mrg 2020-07-02 Jonathan Wakely <jwakely.gcc (a] gmail.com>
1745 1.1.1.20 mrg
1746 1.1.1.20 mrg PR libstdc++/91153
1747 1.1.1.20 mrg PR target/93224
1748 1.1.1.20 mrg * testsuite/29_atomics/atomic_float/1.cc: Use different values
1749 1.1.1.20 mrg for tests.
1750 1.1.1.20 mrg * testsuite/29_atomics/atomic_ref/float.cc: Likewise.
1751 1.1.1.20 mrg
1752 1.1.1.20 mrg 2020-07-01 Jonathan Wakely <jwakely (a] redhat.com>
1753 1.1.1.20 mrg
1754 1.1.1.20 mrg Backported from master:
1755 1.1.1.20 mrg 2020-06-16 Jonathan Wakely <jwakely (a] redhat.com>
1756 1.1.1.20 mrg
1757 1.1.1.20 mrg PR libstdc++/95282
1758 1.1.1.20 mrg * include/bits/atomic_base.h (__atomic_impl::load): Add
1759 1.1.1.20 mrg const-qualifier to parameter so that _Tp is deduced as the
1760 1.1.1.20 mrg non-const type, and use _Val to get the unqualified type.
1761 1.1.1.20 mrg (__atomic_impl::exchange): Use the _Val alias to remove
1762 1.1.1.20 mrg volatile from the reinterpret_cast result type.
1763 1.1.1.20 mrg * testsuite/29_atomics/atomic_float/95282.cc: New test.
1764 1.1.1.20 mrg
1765 1.1.1.20 mrg 2020-07-01 Jonathan Wakely <jwakely (a] redhat.com>
1766 1.1.1.20 mrg
1767 1.1.1.20 mrg Backported from master:
1768 1.1.1.20 mrg 2020-07-01 Jonathan Wakely <jwakely (a] redhat.com>
1769 1.1.1.20 mrg
1770 1.1.1.20 mrg PR libstdc++/94627
1771 1.1.1.20 mrg * include/bits/regex.h (operator==, operator!=): Remove noexcept
1772 1.1.1.20 mrg equality comparisons for match_results.
1773 1.1.1.20 mrg * testsuite/28_regex/match_results/94627.cc: New test.
1774 1.1.1.20 mrg
1775 1.1.1.20 mrg 2020-06-29 Ville Voutilainen <ville.voutilainen (a] gmail.com>
1776 1.1.1.20 mrg
1777 1.1.1.20 mrg Backported from master:
1778 1.1.1.20 mrg 2020-06-28 Ville Voutilainen <ville.voutilainen (a] gmail.com>
1779 1.1.1.20 mrg
1780 1.1.1.20 mrg PR libstdc++/95915
1781 1.1.1.20 mrg * include/std/variant (_Uninitialized):
1782 1.1.1.20 mrg Adjust the condition and the comment.
1783 1.1.1.20 mrg * testsuite/20_util/variant/95915.cc: New.
1784 1.1.1.20 mrg * testsuite/20_util/variant/compile.cc: Add new test.
1785 1.1.1.20 mrg
1786 1.1.1.20 mrg 2020-06-24 Jonathan Wakely <jwakely (a] redhat.com>
1787 1.1.1.20 mrg
1788 1.1.1.20 mrg Backported from master:
1789 1.1.1.20 mrg 2020-06-24 Jonathan Wakely <jwakely (a] redhat.com>
1790 1.1.1.20 mrg
1791 1.1.1.20 mrg * include/std/charconv (__from_chars_binary): Ignore leading zeros.
1792 1.1.1.20 mrg * testsuite/20_util/from_chars/1.cc: Check "0x1" for all bases,
1793 1.1.1.20 mrg not just 10 and 16.
1794 1.1.1.20 mrg * testsuite/20_util/from_chars/3.cc: New test.
1795 1.1.1.20 mrg
1796 1.1.1.20 mrg 2020-06-24 Jonathan Wakely <jwakely (a] redhat.com>
1797 1.1.1.20 mrg
1798 1.1.1.20 mrg Backported from master:
1799 1.1.1.20 mrg 2020-06-24 Jonathan Wakely <jwakely (a] redhat.com>
1800 1.1.1.20 mrg
1801 1.1.1.20 mrg * include/bits/stl_algobase.h (__find_if): Add FALLTHRU markers.
1802 1.1.1.20 mrg * include/std/charconv (__detail::__to_chars): Avoid
1803 1.1.1.20 mrg -Wsign-compare warning.
1804 1.1.1.20 mrg
1805 1.1.1.20 mrg 2020-06-24 Jonathan Wakely <jwakely (a] redhat.com>
1806 1.1.1.20 mrg
1807 1.1.1.20 mrg Backported from master:
1808 1.1.1.20 mrg 2020-06-24 Jonathan Wakely <jwakely (a] redhat.com>
1809 1.1.1.20 mrg
1810 1.1.1.20 mrg PR libstdc++/95851
1811 1.1.1.20 mrg * include/std/charconv (__to_chars_i): Check for zero-sized
1812 1.1.1.20 mrg buffer unconditionally.
1813 1.1.1.20 mrg * testsuite/20_util/to_chars/95851.cc: New test.
1814 1.1.1.20 mrg
1815 1.1.1.20 mrg 2020-06-22 Jason Merrill <jason (a] redhat.com>
1816 1.1.1.20 mrg
1817 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc:
1818 1.1.1.20 mrg Remove greedy_ops tests.
1819 1.1.1.20 mrg * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc:
1820 1.1.1.20 mrg Remove greedy_ops tests.
1821 1.1.1.20 mrg
1822 1.1.1.20 mrg 2020-06-11 Patrick Palka <ppalka (a] redhat.com>
1823 1.1.1.20 mrg
1824 1.1.1.20 mrg PR libstdc++/95578
1825 1.1.1.20 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn):
1826 1.1.1.20 mrg Also check that the iterator and sentinel have the same type before
1827 1.1.1.20 mrg applying the unwrapping optimization for __normal_iterator.
1828 1.1.1.20 mrg Split the check into two, one for the first iterator/sentinel
1829 1.1.1.20 mrg pair and another for second iterator/sentinel pair. Remove uses
1830 1.1.1.20 mrg of __niter_base, and remove uses of std::move on a
1831 1.1.1.20 mrg __normal_iterator.
1832 1.1.1.20 mrg * include/bits/ranges_algobase.h (__equal_fn): Likewise.
1833 1.1.1.20 mrg (__copy_or_move): Likewise. Perform similar adjustments for
1834 1.1.1.20 mrg the reverse_iterator and move_iterator optimizations. Inline
1835 1.1.1.20 mrg the checks into the if-constexprs, and use using-declarations to
1836 1.1.1.20 mrg make them less visually noisy. Remove uses of __niter_wrap.
1837 1.1.1.20 mrg (__copy_or_move_backward): Likewise.
1838 1.1.1.20 mrg * testsuite/25_algorithms/copy/95578.cc: New test.
1839 1.1.1.20 mrg * testsuite/25_algorithms/copy_backward/95578.cc: New test.
1840 1.1.1.20 mrg * testsuite/25_algorithms/equal/95578.cc: New test.
1841 1.1.1.20 mrg * testsuite/25_algorithms/lexicographical_compare/95578.cc: New test.
1842 1.1.1.20 mrg * testsuite/25_algorithms/move/95578.cc: New test.
1843 1.1.1.20 mrg * testsuite/25_algorithms/move_backward/95578.cc: New test.
1844 1.1.1.20 mrg
1845 1.1.1.20 mrg 2020-05-28 Patrick Palka <ppalka (a] redhat.com>
1846 1.1.1.20 mrg
1847 1.1.1.20 mrg PR libstdc++/95322
1848 1.1.1.20 mrg * include/bits/stl_iterator.h (__detail::_Common_iter_proxy):
1849 1.1.1.20 mrg Remove and instead define it ...
1850 1.1.1.20 mrg (common_iterator::_Proxy): ... here.
1851 1.1.1.20 mrg (common_iterator::operator->): Use it.
1852 1.1.1.20 mrg * testsuite/24_iterators/common_iterator/2.cc: New test.
1853 1.1.1.20 mrg * testsuite/std/ranges/adaptors/95322.cc: New test.
1854 1.1.1.20 mrg
1855 1.1.1.20 mrg 2020-05-26 Alexandre Oliva <oliva (a] adacore.com>
1856 1.1.1.20 mrg
1857 1.1.1.20 mrg PR libstdc++/77691
1858 1.1.1.20 mrg * include/experimental/memory_resource
1859 1.1.1.20 mrg (__resource_adaptor_imp::do_allocate): Handle max_align_t on
1860 1.1.1.20 mrg x86-vxworks as on x86-solaris.
1861 1.1.1.20 mrg (__resource_adaptor_imp::do_deallocate): Likewise.
1862 1.1.1.20 mrg * testsuite/experimental/memory_resource/new_delete_resource.cc:
1863 1.1.1.20 mrg Drop xfail.
1864 1.1.1.20 mrg (BAD_MAX_ALIGN_T): Define on x86-vxworks as on x86-solaris.
1865 1.1.1.20 mrg (test03): Drop max-align test for char-aligned alloc.
1866 1.1.1.20 mrg
1867 1.1.1.20 mrg 2020-05-23 Jonathan Wakely <jwakely (a] redhat.com>
1868 1.1.1.20 mrg
1869 1.1.1.20 mrg Backport from mainline
1870 1.1.1.20 mrg 2020-05-23 Jonathan Wakely <jwakely (a] redhat.com>
1871 1.1.1.20 mrg
1872 1.1.1.20 mrg * include/bits/fs_path.h (__detail::_S_range_begin)
1873 1.1.1.20 mrg (__detail::_S_range_end): Remove unintentional static specifiers.
1874 1.1.1.20 mrg * include/experimental/bits/fs_path.h (__detail::_S_range_begin)
1875 1.1.1.20 mrg (__detail::_S_range_end): Likewise.
1876 1.1.1.20 mrg
1877 1.1.1.20 mrg 2020-05-23 Jonathan Wakely <jwakely (a] redhat.com>
1878 1.1.1.20 mrg
1879 1.1.1.20 mrg Backport from mainline
1880 1.1.1.20 mrg 2020-05-23 Jonathan Wakely <jwakely (a] redhat.com>
1881 1.1.1.20 mrg
1882 1.1.1.20 mrg PR libstdc++/95289
1883 1.1.1.20 mrg * include/debug/helper_functions.h (__get_distance): Only declare
1884 1.1.1.20 mrg as a constexpr function for C++14 and up.
1885 1.1.1.20 mrg * testsuite/25_algorithms/copy/debug/95289.cc: New test.
1886 1.1.1.20 mrg
1887 1.1.1.20 mrg 2020-05-21 Jonathan Wakely <jwakely (a] redhat.com>
1888 1.1.1.20 mrg
1889 1.1.1.20 mrg Backport from mainline
1890 1.1.1.20 mrg 2020-05-21 Jonathan Wakely <jwakely (a] redhat.com>
1891 1.1.1.20 mrg
1892 1.1.1.20 mrg * include/experimental/executor (use_future_t::use_future_t()): Fix
1893 1.1.1.20 mrg incorrect noexcept-specifier.
1894 1.1.1.20 mrg * include/experimental/internet (basic_resolver_results): Adjust
1895 1.1.1.20 mrg whitespace.
1896 1.1.1.20 mrg * include/experimental/socket (__basic_socket_impl::release): Add
1897 1.1.1.20 mrg member function.
1898 1.1.1.20 mrg (basic_socket(io_context&, const endpoint_type&)): Fix argument to
1899 1.1.1.20 mrg target constructor.
1900 1.1.1.20 mrg (basic_socket::release(), basic_socket::release(error_code&)): Add
1901 1.1.1.20 mrg missing member functions.
1902 1.1.1.20 mrg (basic_socket::is_open()): Add nodiscard attribute.
1903 1.1.1.20 mrg (basic_socket::close(error_code&)): Pass argument to base function.
1904 1.1.1.20 mrg (basic_socket_acceptor::release())
1905 1.1.1.20 mrg (basic_socket_acceptor::release(error_code&)): Add missing member
1906 1.1.1.20 mrg functions.
1907 1.1.1.20 mrg (basic_socket_acceptor::is_open()): Add nodiscard attribute.
1908 1.1.1.20 mrg (basic_socket_streambuf::error()): Add noexcept.
1909 1.1.1.20 mrg (basic_socket_iostream::error()): Likewise.
1910 1.1.1.20 mrg * testsuite/experimental/net/socket/basic_socket.cc: New test.
1911 1.1.1.20 mrg
1912 1.1.1.20 mrg 2020-05-21 Jonathan Wakely <jwakely (a] redhat.com>
1913 1.1.1.20 mrg
1914 1.1.1.20 mrg Backport from mainline
1915 1.1.1.20 mrg 2020-05-21 Jonathan Wakely <jwakely (a] redhat.com>
1916 1.1.1.20 mrg
1917 1.1.1.20 mrg PR libstdc++/93983
1918 1.1.1.20 mrg * include/bits/iterator_concepts.h (__detail::__cpp17_iterator):
1919 1.1.1.20 mrg Reorder constraints to avoid recursion when constructors use
1920 1.1.1.20 mrg iterator_traits (LWG 3420).
1921 1.1.1.20 mrg * testsuite/24_iterators/customization_points/lwg3420.cc: New test.
1922 1.1.1.20 mrg
1923 1.1.1.20 mrg 2020-05-12 Jonathan Wakely <jwakely (a] redhat.com>
1924 1.1.1.20 mrg
1925 1.1.1.20 mrg Backport from mainline
1926 1.1.1.20 mrg 2020-05-04 Jonathan Wakely <jwakely (a] redhat.com>
1927 1.1.1.20 mrg
1928 1.1.1.20 mrg PR libstdc++/94906
1929 1.1.1.20 mrg * src/c++17/memory_resource.cc
1930 1.1.1.20 mrg (monotonic_buffer_resource::_Chunk::release): Use size_t for shift
1931 1.1.1.20 mrg operands.
1932 1.1.1.20 mrg
1933 1.1.1.20 mrg Backport from mainline
1934 1.1.1.20 mrg 2020-05-03 Jonathan Wakely <jwakely (a] redhat.com>
1935 1.1.1.20 mrg
1936 1.1.1.20 mrg PR libstdc++/94933
1937 1.1.1.20 mrg * include/bits/stl_algobase.h (__fill_a1): Make overload for byte types
1938 1.1.1.20 mrg usable in constant expressions.
1939 1.1.1.20 mrg * testsuite/25_algorithms/fill_n/constexpr.cc: Test with bytes and
1940 1.1.1.20 mrg non-scalars.
1941 1.1.1.20 mrg
1942 1.1.1.20 mrg 2020-05-07 Jonathan Wakely <jwakely (a] redhat.com>
1943 1.1.1.20 mrg
1944 1.1.1.20 mrg Backport from mainline
1945 1.1.1.20 mrg 2020-05-01 Jonathan Wakely <jwakely (a] redhat.com>
1946 1.1.1.20 mrg Patrick Palka <ppalka (a] redhat.com>
1947 1.1.1.20 mrg
1948 1.1.1.20 mrg PR libstdc++/92894
1949 1.1.1.20 mrg * include/bits/iterator_concepts.h (ranges::__cust_imove::_IMove):
1950 1.1.1.20 mrg Add trait to determine return type and an alias for it.
1951 1.1.1.20 mrg (ranges::__cust_imove::_IMove::operator()): Use __result instead of
1952 1.1.1.20 mrg deduced return type.
1953 1.1.1.20 mrg * testsuite/24_iterators/customization_points/92894.cc: New test.
1954 1.1.1.20 mrg * testsuite/24_iterators/indirect_callable/92894.cc: New test.
1955 1.1.1.20 mrg
1956 1.1.1.20 mrg 2020-05-07 Release Manager
1957 1.1.1.20 mrg
1958 1.1.1.20 mrg * GCC 10.1.0 released.
1959 1.1.1.20 mrg
1960 1.1.1.20 mrg 2020-05-07 Eric Botcazou <ebotcazou (a] adacore.com>
1961 1.1.1.20 mrg
1962 1.1.1.20 mrg * config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: Update.
1963 1.1.1.20 mrg * config/abi/post/sparc64-linux-gnu/32/baseline_symbols.txt: Likewise.
1964 1.1.1.20 mrg
1965 1.1.1.20 mrg 2020-05-06 H.J. Lu <hongjiu.lu (a] intel.com>
1966 1.1.1.20 mrg
1967 1.1.1.20 mrg * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
1968 1.1.1.20 mrg
1969 1.1.1.20 mrg 2020-05-06 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
1970 1.1.1.20 mrg
1971 1.1.1.20 mrg * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
1972 1.1.1.20 mrg * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
1973 1.1.1.20 mrg Likewise.
1974 1.1.1.20 mrg * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
1975 1.1.1.20 mrg * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
1976 1.1.1.20 mrg Likewise.
1977 1.1.1.20 mrg
1978 1.1.1.20 mrg 2020-05-06 Jonathan Wakely <jwakely (a] redhat.com>
1979 1.1.1.20 mrg
1980 1.1.1.20 mrg * doc/xml/manual/abi.xml (abi.versioning.history): Document library
1981 1.1.1.20 mrg versions for GCC 9.[123] and 10.1 releases.
1982 1.1.1.20 mrg * doc/html/*: Regenerate.
1983 1.1.1.20 mrg
1984 1.1.1.20 mrg 2020-05-06 Jakub Jelinek <jakub (a] redhat.com>
1985 1.1.1.20 mrg
1986 1.1.1.20 mrg * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1987 1.1.1.20 mrg * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
1988 1.1.1.20 mrg * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1989 1.1.1.19 mrg * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
1990 1.1.1.19 mrg * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1991 1.1.1.19 mrg * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
1992 1.1.1.19 mrg * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1993 1.1.1.19 mrg
1994 1.1.1.20 mrg 2020-05-04 Jonathan Wakely <jwakely (a] redhat.com>
1995 1.1.1.20 mrg
1996 1.1.1.20 mrg * doc/xml/faq.xml: Use working link for SGI STL FAQ.
1997 1.1.1.20 mrg * doc/html/*: Regenerate.
1998 1.1.1.20 mrg
1999 1.1.1.20 mrg 2020-05-01 Jonathan Wakely <jwakely (a] redhat.com>
2000 1.1.1.20 mrg
2001 1.1.1.20 mrg Backport from mainline
2002 1.1.1.20 mrg 2020-05-01 Jonathan Wakely <jwakely (a] redhat.com>
2003 1.1.1.20 mrg
2004 1.1.1.20 mrg PR libstdc++/94901
2005 1.1.1.20 mrg * include/std/type_traits (__is_complete_or_unbounded): Replace
2006 1.1.1.20 mrg BADNAME _T with _Tp.
2007 1.1.1.20 mrg * testsuite/17_intro/badnames.cc: New test.
2008 1.1.1.20 mrg
2009 1.1.1.20 mrg 2020-04-30 Jonathan Wakely <jwakely (a] redhat.com>
2010 1.1.1.20 mrg
2011 1.1.1.20 mrg PR libstdc++/89510
2012 1.1.1.20 mrg * include/bits/alloc_traits.h (allocator_traits::_S_construct)
2013 1.1.1.20 mrg (allocator_traits::_S_destroy)
2014 1.1.1.20 mrg (allocator_traits<allocator<T>>::construct): Use traits in
2015 1.1.1.20 mrg noexcept-specifiers.
2016 1.1.1.20 mrg * include/bits/allocator.h (allocator<void>::construct)
2017 1.1.1.20 mrg (allocator<void>::destroy): Likewise.
2018 1.1.1.20 mrg * include/ext/malloc_allocator.h (malloc_allocator::construct)
2019 1.1.1.20 mrg (malloc_allocator::destroy): Likewise.
2020 1.1.1.20 mrg * include/ext/new_allocator.h (new_allocator::construct)
2021 1.1.1.20 mrg (new_allocator::destroy): Likewise.
2022 1.1.1.20 mrg * testsuite/20_util/allocator/89510.cc: New test.
2023 1.1.1.20 mrg * testsuite/ext/malloc_allocator/89510.cc: New test.
2024 1.1.1.20 mrg * testsuite/ext/new_allocator/89510.cc: New test.
2025 1.1.1.20 mrg
2026 1.1.1.20 mrg 2020-04-29 Jonathan Wakely <jwakely (a] redhat.com>
2027 1.1.1.20 mrg
2028 1.1.1.20 mrg PR libstdc++/94854
2029 1.1.1.20 mrg * include/bits/basic_string.tcc: Update comment about explicit
2030 1.1.1.20 mrg instantiations.
2031 1.1.1.20 mrg
2032 1.1.1.20 mrg 2020-04-28 Jonathan Wakely <jwakely (a] redhat.com>
2033 1.1.1.20 mrg
2034 1.1.1.20 mrg PR libstdc++/91480
2035 1.1.1.20 mrg * include/bits/allocator.h (__cpp_lib_allocator_is_always_equal):
2036 1.1.1.20 mrg Remove non-standard macro.
2037 1.1.1.20 mrg * include/bits/stl_iterator.h (__cpp_lib_constexpr_iterator): Define
2038 1.1.1.20 mrg to indicate P1032R1 support.
2039 1.1.1.20 mrg * include/bits/stl_pair.h (__cpp_lib_constexpr_utility): Likewise.
2040 1.1.1.20 mrg * include/std/string_view (__cpp_lib_constexpr_string_view): Likewise.
2041 1.1.1.20 mrg * include/std/tuple (__cpp_lib_constexpr_tuple): Likewise.
2042 1.1.1.20 mrg * include/std/version (__cpp_lib_allocator_is_always_equal): Remove.
2043 1.1.1.20 mrg (__cpp_lib_constexpr_iterator, __cpp_lib_constexpr_string_view)
2044 1.1.1.20 mrg (__cpp_lib_constexpr_tuple, __cpp_lib_constexpr_utility): Define.
2045 1.1.1.20 mrg * testsuite/20_util/function_objects/constexpr_searcher.cc: Check
2046 1.1.1.20 mrg feature test macro.
2047 1.1.1.20 mrg * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: Likewise.
2048 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operations/copy/char/
2049 1.1.1.20 mrg constexpr.cc: Likewise.
2050 1.1.1.20 mrg * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
2051 1.1.1.20 mrg
2052 1.1.1.20 mrg PR libstdc++/94831
2053 1.1.1.20 mrg * include/bits/alloc_traits.h (_S_construct): Restore placement
2054 1.1.1.20 mrg new-expression for C++11/14/17 and call std::construct_at directly
2055 1.1.1.20 mrg for C++20.
2056 1.1.1.20 mrg * include/bits/stl_construct.h (_Construct): Revert to non-constexpr
2057 1.1.1.20 mrg function returning void.
2058 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/
2059 1.1.1.20 mrg uninitialized_value_construct/94831.cc: New test.
2060 1.1.1.20 mrg * testsuite/23_containers/vector/cons/94831.cc: New test.
2061 1.1.1.20 mrg
2062 1.1.1.20 mrg 2020-04-28 Patrick Palka <ppalka (a] redhat.com>
2063 1.1.1.20 mrg
2064 1.1.1.20 mrg LWG 3433 subrange::advance(n) has UB when n < 0
2065 1.1.1.20 mrg * include/std/ranges (subrange::prev): Fix typo.
2066 1.1.1.20 mrg (subrange::advance): Handle a negative argument as per the proposed
2067 1.1.1.20 mrg resolution of LWG 3433.
2068 1.1.1.20 mrg * testsuite/std/ranges/subrange/lwg3433.cc: New test.
2069 1.1.1.20 mrg
2070 1.1.1.20 mrg 2020-04-28 Jonathan Wakely <jwakely (a] redhat.com>
2071 1.1.1.20 mrg Iain Sandoe <iain (a] sandoe.co.uk>
2072 1.1.1.20 mrg
2073 1.1.1.20 mrg PR c++/94759
2074 1.1.1.20 mrg * include/std/coroutine: Implement handing for non-
2075 1.1.1.20 mrg class coroutine return types.
2076 1.1.1.20 mrg
2077 1.1.1.20 mrg 2020-04-24 Jonathan Wakely <jwakely (a] redhat.com>
2078 1.1.1.20 mrg
2079 1.1.1.20 mrg * include/experimental/executor (service_already_exists): Make default
2080 1.1.1.20 mrg constructor public (LWG 3414).
2081 1.1.1.20 mrg * testsuite/experimental/net/execution_context/make_service.cc: Check
2082 1.1.1.20 mrg the service_already_exists can be default constructed.
2083 1.1.1.20 mrg
2084 1.1.1.20 mrg 2020-04-24 Kamlesh Kumar <kamleshbhalui (a] gmail.com>
2085 1.1.1.20 mrg Jonathan Wakely <jwakely (a] redhat.com>
2086 1.1.1.20 mrg
2087 1.1.1.20 mrg PR libstdc++/90415
2088 1.1.1.20 mrg PR libstdc++/92156
2089 1.1.1.20 mrg * include/std/any (any): Rename template parameters for consistency
2090 1.1.1.20 mrg with the standard.
2091 1.1.1.20 mrg (any::_Decay): Rename to _Decay_if_not_any.
2092 1.1.1.20 mrg (any::any(T&&):: Remove is_constructible from constraints. Remove
2093 1.1.1.20 mrg non-standard overload.
2094 1.1.1.20 mrg (any::any(in_place_type_t<T>, Args&&...))
2095 1.1.1.20 mrg (any::any(in_place_type_t<T>, initializer_list<U>, Args&&...))
2096 1.1.1.20 mrg (any::emplace(Args&&...))
2097 1.1.1.20 mrg (any::emplace(initializer_list<U>, Args&&...)):
2098 1.1.1.20 mrg Use decay_t instead of _Decay.
2099 1.1.1.20 mrg * testsuite/20_util/any/cons/90415.cc: New test.
2100 1.1.1.20 mrg * testsuite/20_util/any/cons/92156.cc: New Test.
2101 1.1.1.20 mrg * testsuite/20_util/any/misc/any_cast_neg.cc: Make dg-error directives
2102 1.1.1.20 mrg more robust.
2103 1.1.1.20 mrg * testsuite/20_util/any/modifiers/92156.cc: New test.
2104 1.1.1.20 mrg
2105 1.1.1.20 mrg 2020-04-23 Jonathan Wakely <jwakely (a] redhat.com>
2106 1.1.1.20 mrg
2107 1.1.1.20 mrg * doc/xml/manual/status_cxx2020.xml: Update C++20 status table.
2108 1.1.1.20 mrg * doc/html/*: Regenerate.
2109 1.1.1.20 mrg
2110 1.1.1.20 mrg * include/bits/stl_iterator.h (__cpp_lib_array_constexpr): Revert
2111 1.1.1.20 mrg value for C++17 to 201803L because P0858R0 is supported for C++17.
2112 1.1.1.20 mrg * include/std/version (__cpp_lib_array_constexpr): Likewise.
2113 1.1.1.20 mrg * testsuite/23_containers/array/element_access/constexpr_c++17.cc:
2114 1.1.1.20 mrg Check for value corresponding to P0031R0 features being tested.
2115 1.1.1.20 mrg * testsuite/23_containers/array/requirements/constexpr_iter.cc:
2116 1.1.1.20 mrg Check for value corresponding to P0858R0 features being tested.
2117 1.1.1.20 mrg
2118 1.1.1.20 mrg * include/std/version (__cpp_lib_three_way_comparison): Define for
2119 1.1.1.20 mrg freestanding builds.
2120 1.1.1.20 mrg
2121 1.1.1.20 mrg 2020-04-23 Thomas Rodgers <rodgert (a] appliantology.com>
2122 1.1.1.20 mrg
2123 1.1.1.20 mrg * include/experimental/net/executor (system_context): Mark
2124 1.1.1.20 mrg system_context::system_context() = delete.
2125 1.1.1.20 mrg * testsuite/experimental/net/executor/1.cc: Add new
2126 1.1.1.20 mrg test to check system_context is not default constructible.
2127 1.1.1.20 mrg
2128 1.1.1.20 mrg 2020-04-23 Iain Sandoe <iain (a] sandoe.co.uk>
2129 1.1.1.20 mrg
2130 1.1.1.20 mrg * include/std/coroutine: Update the inline namespace to __n4861.
2131 1.1.1.20 mrg Add the __cpp_lib_coroutine define, set to 201902L.
2132 1.1.1.20 mrg * include/std/version: Add __cpp_lib_coroutine, set to 201902L.
2133 1.1.1.20 mrg
2134 1.1.1.20 mrg 2020-04-22 Jonathan Wakely <jwakely (a] redhat.com>
2135 1.1.1.20 mrg
2136 1.1.1.20 mrg * include/std/execution (__cpp_lib_execution): Define to indicate
2137 1.1.1.20 mrg support for P0024R2 and P1001R2.
2138 1.1.1.20 mrg * include/std/version (__cpp_lib_execution): Define.
2139 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test.cc: Only test macro
2140 1.1.1.20 mrg defined by <algorithm>, move other tests to new tests ...
2141 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test-2.cc: New test.
2142 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test-3.cc: New test.
2143 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test-4.cc: New test.
2144 1.1.1.20 mrg * testsuite/25_algorithms/pstl/feature_test-5.cc: New test.
2145 1.1.1.20 mrg
2146 1.1.1.20 mrg * include/bits/stl_iterator.h (__cpp_lib_array_constexpr): Define
2147 1.1.1.20 mrg different values for C++17 and C++20, to indicate different feature
2148 1.1.1.20 mrg sets. Update value for C++20 to indicate P1032R1 support.
2149 1.1.1.20 mrg * include/std/version (__cpp_lib_array_constexpr): Likewise.
2150 1.1.1.20 mrg * testsuite/23_containers/array/comparison_operators/constexpr.cc:
2151 1.1.1.20 mrg Check feature test macro.
2152 1.1.1.20 mrg * testsuite/23_containers/array/element_access/constexpr_c++17.cc:
2153 1.1.1.20 mrg New test.
2154 1.1.1.20 mrg * testsuite/23_containers/array/requirements/constexpr_fill.cc: Check
2155 1.1.1.20 mrg feature test macro.
2156 1.1.1.20 mrg * testsuite/23_containers/array/requirements/constexpr_iter.cc: Test
2157 1.1.1.20 mrg in C++17 mode and check feature test macro.
2158 1.1.1.20 mrg
2159 1.1.1.20 mrg * include/std/utility (__cpp_lib_constexpr_algorithms): Do not define
2160 1.1.1.20 mrg here.
2161 1.1.1.20 mrg * testsuite/20_util/exchange/constexpr.cc: Do not expect macro to be
2162 1.1.1.20 mrg defined by <utility>.
2163 1.1.1.20 mrg
2164 1.1.1.20 mrg * include/std/functional (__cpp_lib_concepts): Update macro value to
2165 1.1.1.20 mrg indicate P1964R2 support.
2166 1.1.1.20 mrg * include/std/version (__cpp_lib_concepts): Likewise.
2167 1.1.1.20 mrg * testsuite/std/concepts/1.cc: Adjust expected value.
2168 1.1.1.20 mrg * testsuite/std/concepts/2.cc: Likewise.
2169 1.1.1.20 mrg
2170 1.1.1.20 mrg * include/std/functional (__cpp_lib_constexpr_invoke): Rename to
2171 1.1.1.20 mrg __cpp_lib_constexpr_functional.
2172 1.1.1.20 mrg * include/std/version (__cpp_lib_constexpr_invoke): Likewise.
2173 1.1.1.20 mrg * testsuite/20_util/function_objects/invoke/constexpr.cc: Adjust.
2174 1.1.1.20 mrg
2175 1.1.1.20 mrg * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define to
2176 1.1.1.20 mrg indicate P1006R1 support.
2177 1.1.1.20 mrg (__cpp_lib_to_address): Define to indicate P0653R2 support.
2178 1.1.1.20 mrg * include/bits/range_access.h (__cpp_lib_ssize): Define to indicate
2179 1.1.1.20 mrg P1227R2 support.
2180 1.1.1.20 mrg * include/bits/ranges_algo.h (__cpp_lib_shift): Define to indicate
2181 1.1.1.20 mrg P0769R2 support.
2182 1.1.1.20 mrg * include/std/atomic (__cpp_lib_atomic_float): Define to indicate
2183 1.1.1.20 mrg P0020R6 support.
2184 1.1.1.20 mrg * include/std/memory (__cpp_lib_assume_aligned): Define to indicate
2185 1.1.1.20 mrg P1007R3 support.
2186 1.1.1.20 mrg * include/std/memory_resource (__cpp_lib_polymorphic_allocator):
2187 1.1.1.20 mrg Define to indicate P0339R6 support.
2188 1.1.1.20 mrg * include/std/string_view (__cpp_lib_starts_ends_with): Define to
2189 1.1.1.20 mrg indicate P0457R2 support.
2190 1.1.1.20 mrg * include/std/type_traits (__cpp_lib_is_nothrow_convertible): Define
2191 1.1.1.20 mrg to indicate P0758R1 support.
2192 1.1.1.20 mrg (__cpp_lib_remove_cvref): Define to indicate P0550R2 support.
2193 1.1.1.20 mrg (__cpp_lib_type_identity): Define to indicate P0887R1 support.
2194 1.1.1.20 mrg * include/std/version (__cpp_lib_atomic_float)
2195 1.1.1.20 mrg (__cpp_lib_is_nothrow_convertible, __cpp_lib_remove_cvref)
2196 1.1.1.20 mrg (__cpp_lib_type_identity, __cpp_lib_assume_aligned)
2197 1.1.1.20 mrg (__cpp_lib_constexpr_memory, __cpp_lib_polymorphic_allocator)
2198 1.1.1.20 mrg (__cpp_lib_shift, __cpp_lib_ssize, __cpp_lib_starts_ends_with)
2199 1.1.1.20 mrg (__cpp_lib_to_address): Define.
2200 1.1.1.20 mrg * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line number.
2201 1.1.1.20 mrg
2202 1.1.1.20 mrg * include/bits/stl_map.h (__cpp_lib_map_insertion): Remove old
2203 1.1.1.20 mrg macro.
2204 1.1.1.20 mrg * include/bits/unordered_map.h (__cpp_lib_unordered_map_insertion):
2205 1.1.1.20 mrg Likewise.
2206 1.1.1.20 mrg * include/std/version (__cpp_lib_map_insertion)
2207 1.1.1.20 mrg (__cpp_lib_unordered_map_insertion): Remove.
2208 1.1.1.20 mrg
2209 1.1.1.20 mrg * include/std/condition_variable (__cpp_lib_jthread): Remove
2210 1.1.1.20 mrg redundant definition.
2211 1.1.1.20 mrg * include/std/stop_token (__cpp_lib_jthread): Update macro value to
2212 1.1.1.20 mrg indicate P1869R1 support.
2213 1.1.1.20 mrg * include/std/version (__cpp_lib_jthread): Update value.
2214 1.1.1.20 mrg * testsuite/30_threads/condition_variable_any/stop_token/1.cc: Check
2215 1.1.1.20 mrg for updated macro value.
2216 1.1.1.20 mrg * testsuite/30_threads/condition_variable_any/stop_token/2.cc:
2217 1.1.1.20 mrg Likewise.
2218 1.1.1.20 mrg * testsuite/30_threads/jthread/1.cc: Likewise.
2219 1.1.1.20 mrg * testsuite/30_threads/jthread/2.cc: Likewise.
2220 1.1.1.20 mrg * testsuite/30_threads/stop_token/1.cc: Likewise.
2221 1.1.1.20 mrg * testsuite/30_threads/stop_token/2.cc: Likewise.
2222 1.1.1.20 mrg
2223 1.1.1.20 mrg * testsuite/21_strings/basic_string/erasure.cc: Check for
2224 1.1.1.20 mrg __cpp_lib_erase_if macro.
2225 1.1.1.20 mrg * testsuite/23_containers/deque/erasure.cc: Add header name to #error
2226 1.1.1.20 mrg messages.
2227 1.1.1.20 mrg * testsuite/23_containers/forward_list/erasure.cc: Likewise.
2228 1.1.1.20 mrg * testsuite/23_containers/list/erasure.cc: Likewise.
2229 1.1.1.20 mrg * testsuite/23_containers/map/erasure.cc: Likewise.
2230 1.1.1.20 mrg * testsuite/23_containers/set/erasure.cc: Likewise.
2231 1.1.1.20 mrg * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
2232 1.1.1.20 mrg * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
2233 1.1.1.20 mrg * testsuite/23_containers/vector/erasure.cc: Likewise.
2234 1.1.1.20 mrg
2235 1.1.1.20 mrg 2020-04-21 Jonathan Wakely <jwakely (a] redhat.com>
2236 1.1.1.20 mrg
2237 1.1.1.20 mrg * include/bits/stl_iterator.h (__normal_iterator): Use synth-three-way
2238 1.1.1.20 mrg to define operator<=>.
2239 1.1.1.20 mrg * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: New test.
2240 1.1.1.20 mrg
2241 1.1.1.20 mrg * doc/Makefile.am (xml_sources_manual): Add missing XML files.
2242 1.1.1.20 mrg * doc/Makefile.in: Regenerate.
2243 1.1.1.20 mrg * doc/xml/manual/status_cxx1998.xml: Refer to "this section" instead
2244 1.1.1.20 mrg of "this page".
2245 1.1.1.20 mrg * doc/xml/manual/status_cxx2011.xml: Formatting and other corrections
2246 1.1.1.20 mrg to the C++11 status table.
2247 1.1.1.20 mrg * doc/xml/manual/status_cxx2014.xml: Replace list of C++14 feature
2248 1.1.1.20 mrg proposals with table matching contents of the C++14 standard.
2249 1.1.1.20 mrg * doc/xml/manual/status_cxx2017.xml: Add table matching contents of
2250 1.1.1.20 mrg the C++17 standard.
2251 1.1.1.20 mrg * doc/html/*: Regenerate.
2252 1.1.1.20 mrg
2253 1.1.1.20 mrg PR c++/94149
2254 1.1.1.20 mrg * include/std/type_traits (__is_nt_constructible_impl): Add partial
2255 1.1.1.20 mrg specializations for bounded arrays with non-empty initializers.
2256 1.1.1.20 mrg * testsuite/20_util/is_nothrow_constructible/value_c++20.cc: New test.
2257 1.1.1.20 mrg
2258 1.1.1.20 mrg 2020-04-20 Thomas Rodgers <trodgers (a] redhat.com>
2259 1.1.1.20 mrg
2260 1.1.1.20 mrg * testsuite/lib/libstdc++.exp: Add additional_flags=
2261 1.1.1.20 mrg -DTBB_SUPRESS_DEPRECATED_MESSAGES=1 to suppress warnings when
2262 1.1.1.20 mrg compiling with a newer Thread Building Blocks.
2263 1.1.1.20 mrg
2264 1.1.1.20 mrg 2020-04-20 Jonathan Wakely <jwakely (a] redhat.com>
2265 1.1.1.20 mrg
2266 1.1.1.20 mrg * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: New test.
2267 1.1.1.20 mrg
2268 1.1.1.20 mrg * testsuite/20_util/is_constructible/51185.cc: Make test class a
2269 1.1.1.20 mrg non-aggregate so that the test verifies the same thing in all -std
2270 1.1.1.20 mrg modes.
2271 1.1.1.20 mrg * testsuite/20_util/is_constructible/value-2.cc: Adjust expected
2272 1.1.1.20 mrg results for some types when paren-init for aggregates is supported.
2273 1.1.1.20 mrg
2274 1.1.1.20 mrg * include/std/version (__cpp_lib_three_way_comparison): Update value.
2275 1.1.1.20 mrg * libsupc++/compare (__cpp_lib_three_way_comparison): Likewise.
2276 1.1.1.20 mrg (__detail::__synth3way): Add noexcept-specifier.
2277 1.1.1.20 mrg
2278 1.1.1.20 mrg * include/bits/stl_map.h (map): Define operator<=> and remove
2279 1.1.1.20 mrg operator< for C++20.
2280 1.1.1.20 mrg * include/bits/stl_multimap.h (multimap): Likewise.
2281 1.1.1.20 mrg * include/bits/stl_multiset.h (multiset): Likewise.
2282 1.1.1.20 mrg * include/bits/stl_set.h (set): Likewise.
2283 1.1.1.20 mrg * include/bits/stl_tree.h (_Rb_tree): Likewise.
2284 1.1.1.20 mrg (_Rb_tree_iterator, _Rb_tree_const_iterator): Remove redundant
2285 1.1.1.20 mrg operator!= for C++20.
2286 1.1.1.20 mrg * include/debug/map.h (__gnu_debug::map): Define operator<=> for C++20.
2287 1.1.1.20 mrg * include/debug/multimap.h (__gnu_debug::multimap): Likewise.
2288 1.1.1.20 mrg * include/debug/multiset.h (__gnu_debug::multiset): Likewise.
2289 1.1.1.20 mrg * include/debug/set.h (__gnu_debug::set): Likewise.
2290 1.1.1.20 mrg * testsuite/23_containers/map/operators/cmp_c++20.cc: New test.
2291 1.1.1.20 mrg * testsuite/23_containers/multimap/operators/cmp_c++20.cc: New test.
2292 1.1.1.20 mrg * testsuite/23_containers/multiset/operators/cmp_c++20.cc: New test.
2293 1.1.1.20 mrg * testsuite/23_containers/set/operators/cmp_c++20.cc: New test.
2294 1.1.1.20 mrg
2295 1.1.1.20 mrg 2020-04-20 Matthias Kretz <kretz (a] kde.org>
2296 1.1.1.20 mrg
2297 1.1.1.20 mrg * testsuite/lib/libstdc++.exp: Avoid illegal argument to verbose.
2298 1.1.1.20 mrg
2299 1.1.1.20 mrg 2020-04-19 Jonathan Wakely <jwakely (a] redhat.com>
2300 1.1.1.20 mrg
2301 1.1.1.20 mrg * include/bits/stl_queue.h (queue): Define operator<=> for C++20.
2302 1.1.1.20 mrg * include/bits/stl_stack.h (stack): Likewise.
2303 1.1.1.20 mrg * testsuite/23_containers/queue/cmp_c++20.cc: New test.
2304 1.1.1.20 mrg * testsuite/23_containers/stack/cmp_c++20.cc: New test.
2305 1.1.1.20 mrg
2306 1.1.1.20 mrg * include/bits/unordered_map.h (unordered_map, unordered_multimap):
2307 1.1.1.20 mrg Remove redundant operator!= for C++20.
2308 1.1.1.20 mrg * include/bits/unordered_set.h (unordered_set, unordered_multiset):
2309 1.1.1.20 mrg Likewise.
2310 1.1.1.20 mrg * include/debug/unordered_map (unordered_map, unordered_multimap):
2311 1.1.1.20 mrg Likewise.
2312 1.1.1.20 mrg * include/debug/unordered_set (unordered_set, unordered_multiset):
2313 1.1.1.20 mrg Likewise.
2314 1.1.1.20 mrg
2315 1.1.1.20 mrg PR other/94629
2316 1.1.1.20 mrg * include/debug/formatter.h (_Error_formatter::_Parameter): Fix
2317 1.1.1.20 mrg redundant assignment in constructor.
2318 1.1.1.20 mrg
2319 1.1.1.20 mrg 2020-04-18 Jonathan Wakely <jwakely (a] redhat.com>
2320 1.1.1.20 mrg
2321 1.1.1.20 mrg * include/std/chrono (duration, time_point): Define operator<=> and
2322 1.1.1.20 mrg remove redundant operator!= for C++20.
2323 1.1.1.20 mrg * testsuite/20_util/duration/comparison_operators/three_way.cc: New
2324 1.1.1.20 mrg test.
2325 1.1.1.20 mrg * testsuite/20_util/time_point/comparison_operators/three_way.cc: New
2326 1.1.1.20 mrg test.
2327 1.1.1.20 mrg
2328 1.1.1.20 mrg * testsuite/util/native_type/native_priority_queue.hpp: Use
2329 1.1.1.20 mrg allocator_traits to rebind allocator.
2330 1.1.1.20 mrg
2331 1.1.1.20 mrg 2020-04-17 Jonathan Wakely <jwakely (a] redhat.com>
2332 1.1.1.20 mrg
2333 1.1.1.20 mrg * include/bits/forward_list.h (forward_list): Define operator<=> and
2334 1.1.1.20 mrg remove redundant comparison operators for C++20.
2335 1.1.1.20 mrg * include/bits/stl_bvector.h (vector<bool, Alloc>): Likewise.
2336 1.1.1.20 mrg * include/bits/stl_deque.h (deque): Likewise.
2337 1.1.1.20 mrg * include/bits/stl_iterator.h (__normal_iterator): Likewise.
2338 1.1.1.20 mrg * include/bits/stl_list.h (list): Likewise.
2339 1.1.1.20 mrg * include/bits/stl_vector.h (vector): Likewise.
2340 1.1.1.20 mrg * include/debug/deque (__gnu_debug::deque): Likewise.
2341 1.1.1.20 mrg * include/debug/forward_list (__gnu_debug::forward_list): Likewise.
2342 1.1.1.20 mrg * include/debug/list (__gnu_debug::list): Likewise.
2343 1.1.1.20 mrg * include/debug/safe_iterator.h (__gnu_debug::_Safe_iterator):
2344 1.1.1.20 mrg Likewise.
2345 1.1.1.20 mrg * include/debug/vector (__gnu_debug::vector): Likewise.
2346 1.1.1.20 mrg * include/ext/pointer.h (__gnu_cxx::_Pointer_adapter): Define
2347 1.1.1.20 mrg operator<=> for C++20.
2348 1.1.1.20 mrg * testsuite/23_containers/deque/operators/cmp_c++20.cc: New test.
2349 1.1.1.20 mrg * testsuite/23_containers/forward_list/cmp_c++20.cc: New test.
2350 1.1.1.20 mrg * testsuite/23_containers/list/cmp_c++20.cc: New test.
2351 1.1.1.20 mrg * testsuite/23_containers/vector/bool/cmp_c++20.cc: New test.
2352 1.1.1.20 mrg * testsuite/23_containers/vector/cmp_c++20.cc: New test.
2353 1.1.1.20 mrg
2354 1.1.1.20 mrg * include/bits/basic_string.h (basic_string): Define operator<=> and
2355 1.1.1.20 mrg remove redundant comparison operators for C++20.
2356 1.1.1.20 mrg * include/bits/char_traits.h (__gnu_cxx::char_traits, char_traits):
2357 1.1.1.20 mrg Add comparison_category members.
2358 1.1.1.20 mrg (__detail::__char_traits_cmp_cat): New helper to get comparison
2359 1.1.1.20 mrg category from char traits class.
2360 1.1.1.20 mrg * include/bits/regex.h (regex_traits::_RegexMask::operator!=): Do not
2361 1.1.1.20 mrg define for C++20.
2362 1.1.1.20 mrg (sub_match): Define operator<=> and remove redundant comparison
2363 1.1.1.20 mrg operators for C++20.
2364 1.1.1.20 mrg (match_results): Remove redundant operator!= for C++20.
2365 1.1.1.20 mrg * include/std/string_view (basic_string_view): Define operator<=> and
2366 1.1.1.20 mrg remove redundant comparison operators for C++20.
2367 1.1.1.20 mrg * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc: New
2368 1.1.1.20 mrg test.
2369 1.1.1.20 mrg * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc:
2370 1.1.1.20 mrg New test.
2371 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operations/copy/char/
2372 1.1.1.20 mrg constexpr.cc: Initialize variable.
2373 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/
2374 1.1.1.20 mrg constexpr.cc: Likewise.
2375 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operators/char/2.cc: Add
2376 1.1.1.20 mrg dg-do directive and remove comments showing incorrect signatures.
2377 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
2378 1.1.1.20 mrg Likewise.
2379 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc:
2380 1.1.1.20 mrg New test.
2381 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc:
2382 1.1.1.20 mrg New test.
2383 1.1.1.20 mrg * testsuite/28_regex/sub_match/compare_c++20.cc: New test.
2384 1.1.1.20 mrg
2385 1.1.1.20 mrg 2020-04-16 Jonathan Wakely <jwakely (a] redhat.com>
2386 1.1.1.20 mrg
2387 1.1.1.20 mrg * testsuite/20_util/unsynchronized_pool_resource/allocate.cc: Remove
2388 1.1.1.20 mrg name of unused parameter.
2389 1.1.1.20 mrg
2390 1.1.1.20 mrg 2020-04-15 Jonathan Wakely <jwakely (a] redhat.com>
2391 1.1.1.20 mrg
2392 1.1.1.20 mrg * include/bits/fs_dir.h (file_status): Define operator== for C++20.
2393 1.1.1.20 mrg (directory_entry): Define operator<=> and remove redundant comparison
2394 1.1.1.20 mrg operators for C++20.
2395 1.1.1.20 mrg * include/bits/fs_fwd.h (space_info): Define operator== for C++20.
2396 1.1.1.20 mrg * include/bits/fs_path.h (path): Define operator<=> and remove
2397 1.1.1.20 mrg redundant comparison operators for C++20.
2398 1.1.1.20 mrg * testsuite/27_io/filesystem/path/compare/compare.cc: Fix comment.
2399 1.1.1.20 mrg * testsuite/27_io/filesystem/path/compare/lwg2936.cc: Likewise.
2400 1.1.1.20 mrg * testsuite/27_io/filesystem/path/compare/path.cc: Likewise.
2401 1.1.1.20 mrg * testsuite/27_io/filesystem/path/compare/strings.cc: Likewise.
2402 1.1.1.20 mrg
2403 1.1.1.20 mrg * include/bits/allocator.h (operator!=): Do not define for C++20.
2404 1.1.1.20 mrg * include/bits/locale_classes.h (operator!=): Likewise.
2405 1.1.1.20 mrg * include/bits/std_function.h (operator==(nullptr_t, const function&))
2406 1.1.1.20 mrg (operator!=(const function&, nullptr_t))
2407 1.1.1.20 mrg (operator!=(nullptr_t, const function&)): Likewise.
2408 1.1.1.20 mrg * include/ext/bitmap_allocator.h (operator!=): Likewise.
2409 1.1.1.20 mrg * include/ext/debug_allocator.h (operator!=): Likewise.
2410 1.1.1.20 mrg * include/ext/extptr_allocator.h (operator!=): Likewise.
2411 1.1.1.20 mrg * include/ext/malloc_allocator.h (operator!=): Likewise.
2412 1.1.1.20 mrg * include/ext/mt_allocator.h (operator!=): Likewise.
2413 1.1.1.20 mrg * include/ext/new_allocator.h (operator!=): Likewise.
2414 1.1.1.20 mrg * include/ext/pool_allocator.h (operator!=): Likewise.
2415 1.1.1.20 mrg * include/ext/throw_allocator.h (operator!=): Likewise.
2416 1.1.1.20 mrg * include/std/bitset (bitset::operator!=): Likewise.
2417 1.1.1.20 mrg * include/std/memory_resource (operator!=): Likewise.
2418 1.1.1.20 mrg * include/std/scoped_allocator (operator!=): Likewise.
2419 1.1.1.20 mrg
2420 1.1.1.20 mrg * include/std/typeindex (operator<=>): Define for C++20.
2421 1.1.1.20 mrg * testsuite/20_util/typeindex/comparison_operators_c++20.cc: New test.
2422 1.1.1.20 mrg
2423 1.1.1.20 mrg 2020-04-14 Jonathan Wakely <jwakely (a] redhat.com>
2424 1.1.1.20 mrg
2425 1.1.1.20 mrg * libsupc++/compare (compare_three_way): Fix constraint so that
2426 1.1.1.20 mrg BUILTIN-PTR-THREE-WAY does not require three_way_comparable_with.
2427 1.1.1.20 mrg * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc:
2428 1.1.1.20 mrg New test.
2429 1.1.1.20 mrg
2430 1.1.1.20 mrg PR libstdc++/94562
2431 1.1.1.20 mrg * include/bits/shared_ptr.h (operator<=>): Define for C++20.
2432 1.1.1.20 mrg * include/bits/shared_ptr_base.h (operator<=>): Likewise.
2433 1.1.1.20 mrg * include/bits/unique_ptr.h (operator<=>): Add inline specifier.
2434 1.1.1.20 mrg * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc: New test.
2435 1.1.1.20 mrg * testsuite/20_util/shared_ptr/comparison/less.cc: Do not expect
2436 1.1.1.20 mrg std::less<A*> to be used when comparing std::shared_ptr<A> objects in
2437 1.1.1.20 mrg C++20.
2438 1.1.1.20 mrg
2439 1.1.1.20 mrg PR libstdc++/94565
2440 1.1.1.20 mrg * libsupc++/compare (__unspec): Add noexcept-specifier to constructor.
2441 1.1.1.20 mrg * testsuite/18_support/comparisons/categories/94565.cc: New test.
2442 1.1.1.20 mrg
2443 1.1.1.20 mrg 2020-04-13 Iain Sandoe <iain (a] sandoe.co.uk>
2444 1.1.1.20 mrg
2445 1.1.1.20 mrg * include/std/coroutine: Update coroutines builtin define,
2446 1.1.1.20 mrg per n4861.
2447 1.1.1.20 mrg
2448 1.1.1.20 mrg 2020-04-09 Jonathan Wakely <jwakely (a] redhat.com>
2449 1.1.1.20 mrg
2450 1.1.1.20 mrg * libsupc++/compare (compare_three_way): Fix noexcept-specifier.
2451 1.1.1.20 mrg (strong_order, weak_order, partial_order): Replace uses of <=> with
2452 1.1.1.20 mrg compare_three_way function object (LWG 3324).
2453 1.1.1.20 mrg * testsuite/18_support/comparisons/algorithms/partial_order.cc: Add
2454 1.1.1.20 mrg equality operator so that X satisfies three_way_comparable.
2455 1.1.1.20 mrg * testsuite/18_support/comparisons/algorithms/strong_order.cc:
2456 1.1.1.20 mrg Likewise.
2457 1.1.1.20 mrg * testsuite/18_support/comparisons/algorithms/weak_order.cc: Likewise.
2458 1.1.1.20 mrg
2459 1.1.1.20 mrg * include/bits/unique_ptr.h (operator<=>): Define for C++20.
2460 1.1.1.20 mrg * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line.
2461 1.1.1.20 mrg * testsuite/20_util/default_delete/void_neg.cc: Likewise.
2462 1.1.1.20 mrg * testsuite/20_util/unique_ptr/comparison/compare.cc: New test.
2463 1.1.1.20 mrg * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc: New test.
2464 1.1.1.20 mrg
2465 1.1.1.20 mrg 2020-04-08 Jonathan Wakely <jwakely (a] redhat.com>
2466 1.1.1.20 mrg
2467 1.1.1.20 mrg * include/bits/slice_array.h (operator==(const slice&, const slice&)):
2468 1.1.1.20 mrg Define for C++20.
2469 1.1.1.20 mrg * include/std/complex (operator==(const T&, const complex<T>&))
2470 1.1.1.20 mrg (operator!=(const complex<T>&, const complex<T>&))
2471 1.1.1.20 mrg (operator!=(const complex<T>&, const T&))
2472 1.1.1.20 mrg (operator!=(const T&, const complex<T>&)): Do not declare for C++20.
2473 1.1.1.20 mrg * testsuite/26_numerics/slice/compare.cc: New test.
2474 1.1.1.20 mrg
2475 1.1.1.20 mrg * include/std/charconv (to_chars_result, from_chars_result): Add
2476 1.1.1.20 mrg defaulted equality comparisons for C++20.
2477 1.1.1.20 mrg * testsuite/20_util/from_chars/compare.cc: New test.
2478 1.1.1.20 mrg * testsuite/20_util/to_chars/compare.cc: New test.
2479 1.1.1.20 mrg
2480 1.1.1.20 mrg 2020-04-07 Jonathan Wakely <jwakely (a] redhat.com>
2481 1.1.1.20 mrg
2482 1.1.1.20 mrg PR libstdc++/94520
2483 1.1.1.20 mrg * include/std/charconv (__integer_to_chars_result_type)
2484 1.1.1.20 mrg (__integer_from_chars_result_type): Use __or_ instead of __or_v_ to
2485 1.1.1.20 mrg allow use in C++14.
2486 1.1.1.20 mrg * testsuite/20_util/from_chars/1.cc: Run test as C++14 and replace
2487 1.1.1.20 mrg use of std::string_view with std::string.
2488 1.1.1.20 mrg * testsuite/20_util/from_chars/2.cc: Likewise.
2489 1.1.1.20 mrg * testsuite/20_util/to_chars/1.cc: Likewise.
2490 1.1.1.20 mrg * testsuite/20_util/to_chars/2.cc: Likewise.
2491 1.1.1.20 mrg
2492 1.1.1.20 mrg 2020-04-06 Jonathan Wakely <jwakely (a] redhat.com>
2493 1.1.1.20 mrg
2494 1.1.1.20 mrg PR libstdc++/94498
2495 1.1.1.20 mrg * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Make it
2496 1.1.1.20 mrg usable in constant expressions for C++20.
2497 1.1.1.20 mrg (__gnu_cxx::char_traits::copy, __gnu_cxx::char_traits::assign): Add
2498 1.1.1.20 mrg _GLIBCXX20_CONSTEXPR.
2499 1.1.1.20 mrg (std::char_traits<char>, std::char_traits<wchar_t>)
2500 1.1.1.20 mrg (std::char_traits<char8_t>): Make move, copy and assign usable in
2501 1.1.1.20 mrg constant expressions for C++20.
2502 1.1.1.20 mrg (std::char_traits<char16_t>, std::char_traits<char32_t>): Make move
2503 1.1.1.20 mrg and copy usable in constant expressions for C++20.
2504 1.1.1.20 mrg * include/std/string_view (basic_string_view::copy): Add
2505 1.1.1.20 mrg _GLIBCXX20_CONSTEXPR.
2506 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operations/copy/char/
2507 1.1.1.20 mrg constexpr.cc: New test.
2508 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/
2509 1.1.1.20 mrg constexpr.cc: New test.
2510 1.1.1.20 mrg
2511 1.1.1.20 mrg 2020-04-05 Gerald Pfeifer <gerald (a] pfeifer.com>
2512 1.1.1.20 mrg
2513 1.1.1.20 mrg * doc/xml/manual/appendix_contributing.xml: Refer to Git
2514 1.1.1.20 mrg documentation instead of Subversion. Switch to https.
2515 1.1.1.20 mrg * doc/html/manual/appendix_contributing.html: Regenerate.
2516 1.1.1.20 mrg
2517 1.1.1.20 mrg 2020-04-03 Jonathan Wakely <jwakely (a] redhat.com>
2518 1.1.1.20 mrg
2519 1.1.1.20 mrg PR libstdc++/93960
2520 1.1.1.20 mrg * include/bits/ptr_traits.h (__to_address): Add special case for debug
2521 1.1.1.20 mrg iterators, to avoid dereferenceable check.
2522 1.1.1.20 mrg * testsuite/20_util/to_address/1_neg.cc: Adjust dg-error line number.
2523 1.1.1.20 mrg * testsuite/20_util/to_address/debug.cc: New test.
2524 1.1.1.20 mrg
2525 1.1.1.20 mrg 2020-04-01 Andrea Corallo <andrea.corallo (a] arm.com>
2526 1.1.1.20 mrg
2527 1.1.1.20 mrg * testsuite/experimental/net/execution_context/use_service.cc:
2528 1.1.1.20 mrg Require pthread and gthreads.
2529 1.1.1.20 mrg
2530 1.1.1.20 mrg 2020-04-01 Gerald Pfeifer <gerald (a] pfeifer.com>
2531 1.1.1.20 mrg
2532 1.1.1.20 mrg * doc/xml/manual/appendix_free.xml: Move "free books" list from
2533 1.1.1.20 mrg fsf.org to gnu.org.
2534 1.1.1.20 mrg * doc/html/manual/appendix_free.html: Regenerate.
2535 1.1.1.20 mrg
2536 1.1.1.20 mrg 2020-03-31 Ville Voutilainen <ville.voutilainen (a] gmail.com>
2537 1.1.1.20 mrg
2538 1.1.1.20 mrg Library-side tests for parenthesized aggregate init
2539 1.1.1.20 mrg
2540 1.1.1.20 mrg PR c++/92878
2541 1.1.1.20 mrg PR c++/92947
2542 1.1.1.20 mrg
2543 1.1.1.20 mrg * testsuite/20_util/allocator_traits/members/92878_92947.cc: New.
2544 1.1.1.20 mrg * testsuite/20_util/any/assign/92878_92947.cc: Likewise.
2545 1.1.1.20 mrg * testsuite/20_util/any/cons/92878_92947.cc: Likewise.
2546 1.1.1.20 mrg * testsuite/20_util/is_constructible/92878_92947.cc: Likewise.
2547 1.1.1.20 mrg * testsuite/20_util/optional/assignment/92878_92947.cc: Likewise.
2548 1.1.1.20 mrg * testsuite/20_util/optional/cons/92878_92947.cc: Likewise.
2549 1.1.1.20 mrg * testsuite/20_util/pair/cons/92878_92947.cc: Likewise.
2550 1.1.1.20 mrg * testsuite/20_util/shared_ptr/creation/92878_92947.cc: Likewise.
2551 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc:
2552 1.1.1.20 mrg Likewise.
2553 1.1.1.20 mrg * testsuite/20_util/unique_ptr/creation/92878_92947.cc: Likewise.
2554 1.1.1.20 mrg * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise.
2555 1.1.1.20 mrg * testsuite/20_util/variant/92878_92947.cc: Likewise.
2556 1.1.1.20 mrg * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc:
2557 1.1.1.20 mrg Likewise.
2558 1.1.1.20 mrg * testsuite/23_containers/forward_list/modifiers/92878_92947.cc:
2559 1.1.1.20 mrg Likewise.
2560 1.1.1.20 mrg * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc:
2561 1.1.1.20 mrg Likewise.
2562 1.1.1.20 mrg * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc:
2563 1.1.1.20 mrg Likewise.
2564 1.1.1.20 mrg * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc:
2565 1.1.1.20 mrg Likewise.
2566 1.1.1.20 mrg * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc:
2567 1.1.1.20 mrg Likewise.
2568 1.1.1.20 mrg * testsuite/23_containers/priority_queue/92878_92947.cc: Likewise.
2569 1.1.1.20 mrg * testsuite/23_containers/queue/92878_92947.cc: Likewise.
2570 1.1.1.20 mrg * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc:
2571 1.1.1.20 mrg Likewise.
2572 1.1.1.20 mrg * testsuite/23_containers/stack/92878_92947.cc: Likewise.
2573 1.1.1.20 mrg * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc:
2574 1.1.1.20 mrg Likewise.
2575 1.1.1.20 mrg * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc:
2576 1.1.1.20 mrg Likewise.
2577 1.1.1.20 mrg * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc:
2578 1.1.1.20 mrg Likewise.
2579 1.1.1.20 mrg * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc:
2580 1.1.1.20 mrg Likewise.
2581 1.1.1.20 mrg * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc:
2582 1.1.1.20 mrg Likewise.
2583 1.1.1.20 mrg
2584 1.1.1.20 mrg 2020-03-28 Jonathan Wakely <jwakely (a] redhat.com>
2585 1.1.1.20 mrg
2586 1.1.1.20 mrg * testsuite/20_util/is_constructible/value-2.cc: Fix test to account
2587 1.1.1.20 mrg for changes due to parenthesized aggregate-initialization in C++20.
2588 1.1.1.20 mrg * testsuite/20_util/time_point/cons/81468.cc: Fix test to not clash
2589 1.1.1.20 mrg with std::chrono::sys_time in C++20.
2590 1.1.1.20 mrg
2591 1.1.1.20 mrg * include/bits/stl_iterator.h (reverse_iterator): Use requires-clause
2592 1.1.1.20 mrg to constrain C++20 versions of comparison operators. Fix backwards
2593 1.1.1.20 mrg logic of relational operators.
2594 1.1.1.20 mrg (move_iterator): Use requires-clause to constrain comparison operators
2595 1.1.1.20 mrg in C++20. Do not declare non-standard same-type overloads for C++20.
2596 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: Check result
2597 1.1.1.20 mrg of comparisons and check using greedy_ops type.
2598 1.1.1.20 mrg * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: Likewise.
2599 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/greedy_ops.cc: Remove redundant
2600 1.1.1.20 mrg main function from compile-only test.
2601 1.1.1.20 mrg * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Likewise.
2602 1.1.1.20 mrg
2603 1.1.1.20 mrg 2020-03-27 Jonathan Wakely <jwakely (a] redhat.com>
2604 1.1.1.20 mrg
2605 1.1.1.20 mrg * include/bits/range_cmp.h (__cpp_lib_ranges): Define.
2606 1.1.1.20 mrg * include/bits/stl_iterator.h: Check value of __cpp_concepts so that
2607 1.1.1.20 mrg C++20 concepts are required.
2608 1.1.1.20 mrg * include/bits/stl_iterator_base_types.h: Likewise.
2609 1.1.1.20 mrg * include/std/concepts: Likewise.
2610 1.1.1.20 mrg * include/std/version: Likewise.
2611 1.1.1.20 mrg * testsuite/std/ranges/headers/ranges/synopsis.cc: Check feature test
2612 1.1.1.20 mrg macro.
2613 1.1.1.20 mrg
2614 1.1.1.20 mrg * include/bits/stl_iterator.h (reverse_iterator::iterator_concept)
2615 1.1.1.20 mrg (reverse_iterator::iterator_category): Define for C++20.
2616 1.1.1.20 mrg (reverse_iterator): Define comparison operators correctly for C++20.
2617 1.1.1.20 mrg (__normal_iterator): Add constraints to comparison operators for C++20.
2618 1.1.1.20 mrg (move_iterator::operator++(int)) [__cpp_lib_concepts]: Define new
2619 1.1.1.20 mrg overload for input iterators.
2620 1.1.1.20 mrg (move_iterator): Add constraints to comparison operators for C++20.
2621 1.1.1.20 mrg Define operator<=> for C++20.
2622 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/input_iterator.cc: New test.
2623 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/move_only.cc: New test.
2624 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: New test.
2625 1.1.1.20 mrg * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: New test.
2626 1.1.1.20 mrg
2627 1.1.1.20 mrg * include/bits/iterator_concepts.h (__detail::__decay_copy)
2628 1.1.1.20 mrg (__detail::__member_begin, __detail::__adl_begin): Move here from
2629 1.1.1.20 mrg <bits/range_access.h>.
2630 1.1.1.20 mrg (__detail::__ranges_begin, __detail::__range_iter_t): Define.
2631 1.1.1.20 mrg * bits/range_access.h (__cust_access::__decay_copy)
2632 1.1.1.20 mrg (__cust_access::__member_begin, __cust_access::__adl_begin): Move to
2633 1.1.1.20 mrg <bits/iterator_concepts.h>.
2634 1.1.1.20 mrg (ranges::iterator_t): Use __detail::__range_iter_t.
2635 1.1.1.20 mrg * include/bits/stl_iterator.h (back_insert_iterator): Simplify
2636 1.1.1.20 mrg conditional compilation. Add _GLIBCXX20_CONSTEXPR to all members.
2637 1.1.1.20 mrg (front_insert_iterator): Likewise.
2638 1.1.1.20 mrg (insert_iterator): Implement changes from P0896R4 for C++20.
2639 1.1.1.20 mrg * testsuite/24_iterators/back_insert_iterator/constexpr.cc: New test.
2640 1.1.1.20 mrg * testsuite/24_iterators/front_insert_iterator/constexpr.cc: New test.
2641 1.1.1.20 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: Adjust
2642 1.1.1.20 mrg for inclusion in synopsis_c++20.cc which expects different signatures
2643 1.1.1.20 mrg for some function templates.
2644 1.1.1.20 mrg * testsuite/24_iterators/insert_iterator/constexpr.cc: New test.
2645 1.1.1.20 mrg
2646 1.1.1.20 mrg * include/std/type_traits (__is_array_convertible): Move definition
2647 1.1.1.20 mrg to immediately after is_convertible.
2648 1.1.1.20 mrg
2649 1.1.1.20 mrg 2020-03-26 Jonathan Wakely <jwakely (a] redhat.com>
2650 1.1.1.20 mrg
2651 1.1.1.20 mrg * include/std/chrono (chrono::days, chrono::weeks, chrono::years)
2652 1.1.1.20 mrg (chrono::months, chrono::sys_days, chrono::local_t)
2653 1.1.1.20 mrg (chrono::local_time, chrono::local_seconds, chrono::local_days):
2654 1.1.1.20 mrg Define for C++20.
2655 1.1.1.20 mrg (chrono::time_point): Add missing static assert.
2656 1.1.1.20 mrg * testsuite/20_util/time_point/requirements/duration_neg.cc: New test.
2657 1.1.1.20 mrg * testsuite/std/time/clock/file/overview.cc: New test.
2658 1.1.1.20 mrg * testsuite/std/time/clock/file/members.cc: New test.
2659 1.1.1.20 mrg * testsuite/std/time/syn_c++20.cc: New test.
2660 1.1.1.20 mrg
2661 1.1.1.20 mrg 2020-03-25 Mike Crowe <mac (a] mcrowe.com>
2662 1.1.1.20 mrg
2663 1.1.1.20 mrg * testsuite/30_threads/shared_timed_mutex/try_lock_until/1.cc: New
2664 1.1.1.20 mrg test.
2665 1.1.1.20 mrg * testsuite/30_threads/shared_timed_mutex/try_lock_until/2.cc: New
2666 1.1.1.20 mrg test.
2667 1.1.1.20 mrg
2668 1.1.1.20 mrg 2020-03-25 Jonathan Wakely <jwakely (a] redhat.com>
2669 1.1.1.19 mrg
2670 1.1.1.20 mrg * include/bits/fs_fwd.h (filesystem::__file_clock): Move to ...
2671 1.1.1.20 mrg * include/std/chrono (filesystem::__file_clock): Here.
2672 1.1.1.20 mrg (filesystem::__file_clock::from_sys, filesystem::__file_clock::to_sys):
2673 1.1.1.20 mrg Define public member functions for C++20.
2674 1.1.1.20 mrg (is_clock, is_clock_v): Define traits for C++20.
2675 1.1.1.20 mrg * include/std/condition_variable (condition_variable::wait_until): Add
2676 1.1.1.20 mrg check for valid clock.
2677 1.1.1.20 mrg * include/std/future (_State_baseV2::wait_until): Likewise.
2678 1.1.1.20 mrg * include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Likewise.
2679 1.1.1.20 mrg * include/std/shared_mutex (shared_timed_mutex::try_lock_shared_until):
2680 1.1.1.20 mrg Likewise.
2681 1.1.1.20 mrg * include/std/thread (this_thread::sleep_until): Likewise.
2682 1.1.1.20 mrg * testsuite/30_threads/condition_variable/members/2.cc: Qualify
2683 1.1.1.20 mrg slow_clock with new namespace.
2684 1.1.1.20 mrg * testsuite/30_threads/condition_variable/members/clock_neg.cc: New
2685 1.1.1.20 mrg test.
2686 1.1.1.20 mrg * testsuite/30_threads/condition_variable_any/members/clock_neg.cc:
2687 1.1.1.20 mrg New test.
2688 1.1.1.20 mrg * testsuite/30_threads/future/members/clock_neg.cc: New test.
2689 1.1.1.20 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/3.cc:
2690 1.1.1.20 mrg Qualify slow_clock with new namespace.
2691 1.1.1.20 mrg * testsuite/30_threads/recursive_timed_mutex/try_lock_until/
2692 1.1.1.20 mrg clock_neg.cc: New test.
2693 1.1.1.20 mrg * testsuite/30_threads/shared_future/members/clock_neg.cc: New
2694 1.1.1.20 mrg test.
2695 1.1.1.20 mrg * testsuite/30_threads/shared_lock/locking/clock_neg.cc: New test.
2696 1.1.1.20 mrg * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc:
2697 1.1.1.20 mrg New test.
2698 1.1.1.20 mrg * testsuite/30_threads/timed_mutex/try_lock_until/3.cc: Qualify
2699 1.1.1.20 mrg slow_clock with new namespace.
2700 1.1.1.20 mrg * testsuite/30_threads/timed_mutex/try_lock_until/4.cc: Likewise.
2701 1.1.1.20 mrg * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc: New
2702 1.1.1.20 mrg test.
2703 1.1.1.20 mrg * testsuite/30_threads/unique_lock/locking/clock_neg.cc: New test.
2704 1.1.1.20 mrg * testsuite/std/time/traits/is_clock.cc: New test.
2705 1.1.1.20 mrg * testsuite/util/slow_clock.h (slow_clock): Move to __gnu_test
2706 1.1.1.20 mrg namespace.
2707 1.1.1.20 mrg
2708 1.1.1.20 mrg 2020-03-21 Jonathan Wakely <jwakely (a] redhat.com>
2709 1.1.1.20 mrg
2710 1.1.1.20 mrg PR libstdc++/93245
2711 1.1.1.20 mrg * include/experimental/bits/fs_path.h (path::generic_string<C,T,A>()):
2712 1.1.1.20 mrg * testsuite/experimental/filesystem/path/generic/generic_string.cc:
2713 1.1.1.20 mrg Improve test coverage.
2714 1.1.1.20 mrg
2715 1.1.1.20 mrg PR libstdc++/94242
2716 1.1.1.20 mrg * include/bits/fs_path.h (path::_S_str_convert): Replace first
2717 1.1.1.20 mrg parameter with basic_string_view so that strings with different
2718 1.1.1.20 mrg allocators can be accepted.
2719 1.1.1.20 mrg (path::generic_string<C,T,A>()): Use basic_string object that uses the
2720 1.1.1.20 mrg right allocator type.
2721 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/94242.cc: New test.
2722 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/generic_string.cc: Improve
2723 1.1.1.20 mrg test coverage.
2724 1.1.1.20 mrg
2725 1.1.1.20 mrg 2020-03-18 Jonathan Wakely <jwakely (a] redhat.com>
2726 1.1.1.20 mrg
2727 1.1.1.20 mrg PR libstdc++/94033
2728 1.1.1.20 mrg * include/std/type_traits (__is_nt_default_constructible_atom): Remove.
2729 1.1.1.20 mrg (__is_nt_default_constructible_impl): Remove.
2730 1.1.1.20 mrg (__is_nothrow_default_constructible_impl): Remove.
2731 1.1.1.20 mrg (__is_nt_constructible_impl): Add bool template parameter. Adjust
2732 1.1.1.20 mrg partial specializations.
2733 1.1.1.20 mrg (__is_nothrow_constructible_impl): Replace class template with alias
2734 1.1.1.20 mrg template.
2735 1.1.1.20 mrg (is_nothrow_default_constructible): Derive from alias template
2736 1.1.1.20 mrg __is_nothrow_constructible_impl instead of
2737 1.1.1.20 mrg __is_nothrow_default_constructible_impl.
2738 1.1.1.20 mrg * testsuite/20_util/is_nothrow_constructible/94003.cc: New test.
2739 1.1.1.20 mrg
2740 1.1.1.20 mrg * include/std/stop_token (stop_token::_Stop_state_ref): Define
2741 1.1.1.20 mrg comparison operators explicitly if the compiler won't synthesize them.
2742 1.1.1.20 mrg
2743 1.1.1.20 mrg * include/bits/stl_algobase.h (__lexicographical_compare_aux): Check
2744 1.1.1.20 mrg __cpp_lib_concepts before using iter_reference_t.
2745 1.1.1.20 mrg * include/bits/stream_iterator.h (istream_iterator): Check
2746 1.1.1.20 mrg __cpp_lib_concepts before using default_sentinel_t.
2747 1.1.1.20 mrg * include/bits/streambuf_iterator.h (istreambuf_iterator): Likewise.
2748 1.1.1.20 mrg
2749 1.1.1.20 mrg PR libstdc++/94203
2750 1.1.1.20 mrg * include/experimental/executor (executor::executor(Executor)): Call
2751 1.1.1.20 mrg make_shared directly instead of _M_create. Create _Tgt1 object.
2752 1.1.1.20 mrg (executor::executor(allocator_arg_t, const ProtoAlloc&, Executor)):
2753 1.1.1.20 mrg Call allocate_shared directly instead of _M_create. Create _Tgt2
2754 1.1.1.20 mrg object.
2755 1.1.1.20 mrg (executor::target_type): Add cast needed for new _Tgt interface.
2756 1.1.1.20 mrg (executor::target): Define when RTTI is disabled. Use _Tgt::_M_func.
2757 1.1.1.20 mrg (executor::_Tgt): Define the same interface whether RTTI is enabled or
2758 1.1.1.20 mrg not.
2759 1.1.1.20 mrg (executor::_Tgt::target_type, executor::_Tgt::target): Do not use
2760 1.1.1.20 mrg std::type_info in the interface.
2761 1.1.1.20 mrg (executor::_Tgt::_M_func): Add data member.
2762 1.1.1.20 mrg (executor::_TgtImpl): Replace with _Tgt1 and _Tgt2 class templates.
2763 1.1.1.20 mrg (executor::_Tgt1::_S_func): Define function to access target without
2764 1.1.1.20 mrg depending on RTTI.
2765 1.1.1.20 mrg (executor::_M_create): Remove.
2766 1.1.1.20 mrg (operator==, operator!=): Simplify comparisons for executor.
2767 1.1.1.20 mrg * include/experimental/socket (is_error_code_enum<socket_errc>):
2768 1.1.1.20 mrg Define specialization before use.
2769 1.1.1.20 mrg * testsuite/experimental/net/executor/1.cc: New test.
2770 1.1.1.20 mrg
2771 1.1.1.20 mrg 2020-03-16 Jonathan Wakely <jwakely (a] redhat.com>
2772 1.1.1.20 mrg
2773 1.1.1.20 mrg PR libstdc++/94199
2774 1.1.1.20 mrg * include/experimental/executor (service_already_exists): Add default
2775 1.1.1.20 mrg constructor. Declare make_service to be a friend.
2776 1.1.1.20 mrg * testsuite/experimental/net/execution_context/make_service.cc: New
2777 1.1.1.20 mrg test.
2778 1.1.1.19 mrg
2779 1.1.1.20 mrg 2020-03-12 Jonathan Wakely <jwakely (a] redhat.com>
2780 1.1.1.19 mrg
2781 1.1.1.20 mrg * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Do not pass
2782 1.1.1.20 mrg a null pointer to functions with nonnull(1) attribute.
2783 1.1.1.20 mrg
2784 1.1.1.20 mrg 2020-03-11 Patrick Palka <ppalka (a] redhat.com>
2785 1.1.1.20 mrg
2786 1.1.1.20 mrg * include/std/ranges (split_view::_OuterIter::_OuterIter): Typo fix,
2787 1.1.1.20 mrg 'address' -> 'std::__addressof'.
2788 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split.cc: Test taking the split_view of
2789 1.1.1.20 mrg a non-forward input_range.
2790 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h (output_iterator_wrapper): Make
2791 1.1.1.20 mrg default constructor protected instead of deleted, like with
2792 1.1.1.20 mrg input_iterator_wrapper.
2793 1.1.1.20 mrg (test_range::iterator): Add comment explaining that this type is used
2794 1.1.1.20 mrg only when the underlying wrapper is input_iterator_wrapper or
2795 1.1.1.20 mrg output_iterator_wrapper. Remove delegating defaulted constructor so
2796 1.1.1.20 mrg that the inherited default constructor is used instead.
2797 1.1.1.20 mrg
2798 1.1.1.20 mrg LWG 3286 ranges::size is not required to be valid after a call to
2799 1.1.1.20 mrg ranges::begin on an input range
2800 1.1.1.20 mrg * include/std/ranges (subrange::subrange): Split single-argument
2801 1.1.1.20 mrg constructor into two, one constrained by _S_store_size and another by
2802 1.1.1.20 mrg !_S_store_size.
2803 1.1.1.20 mrg (take_view::begin): Call size() before calling ranges::begin(_M_base).
2804 1.1.1.20 mrg * testsuite/std/ranges/adaptors/lwg3286.cc: New test.
2805 1.1.1.20 mrg * testsuite/std/ranges/subrange/lwg3286.cc: New test.
2806 1.1.1.20 mrg
2807 1.1.1.20 mrg 2020-03-10 Jonathan Wakely <jwakely (a] redhat.com>
2808 1.1.1.20 mrg
2809 1.1.1.20 mrg * include/std/ranges (split_view::_OuterIter::__at_end): Use __current
2810 1.1.1.20 mrg instead of _M_current.
2811 1.1.1.20 mrg (split_view::_OuterIter::operator++): Likewise.
2812 1.1.1.20 mrg
2813 1.1.1.20 mrg * include/std/ranges (transform_view::_Iterator::__iter_move): Remove.
2814 1.1.1.20 mrg (transform_view::_Iterator::operator*): Add noexcept-specifier.
2815 1.1.1.20 mrg (transform_view::_Iterator::iter_move): Inline __iter_move body here.
2816 1.1.1.20 mrg (split_view::_OuterIter::__current): Add noexcept.
2817 1.1.1.20 mrg (split_view::_InnerIter::__iter_swap): Remove.
2818 1.1.1.20 mrg (split_view::_InnerIter::__iter_move): Remove.
2819 1.1.1.20 mrg (split_view::_InnerIter::_M_i_current): New accessors.
2820 1.1.1.20 mrg (split_view::_InnerIter::__at_end): Use _M_i_current().
2821 1.1.1.20 mrg (split_view::_InnerIter::operator*): Likewise.
2822 1.1.1.20 mrg (split_view::_InnerIter::operator++): Likewise.
2823 1.1.1.20 mrg (iter_move(const _InnerIter&)): Likewise.
2824 1.1.1.20 mrg (iter_swap(const _InnerIter&, const _InnerIter&)): Likewise.
2825 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split.cc: Check noexcept-specifier
2826 1.1.1.20 mrg for iter_move and iter_swap on split_view's inner iterator.
2827 1.1.1.20 mrg
2828 1.1.1.20 mrg PR c++/94117
2829 1.1.1.20 mrg * include/std/ranges (ranges::transform_view::_Iterator::iter_move):
2830 1.1.1.20 mrg Change expression in noexcept-specifier to match function body.
2831 1.1.1.20 mrg
2832 1.1.1.20 mrg * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Add
2833 1.1.1.20 mrg comment explaining multiple dg-do directives.
2834 1.1.1.20 mrg * testsuite/24_iterators/ostream_iterator/1.cc: Fix do-do directive
2835 1.1.1.20 mrg so test is run as well as compiled.
2836 1.1.1.20 mrg
2837 1.1.1.20 mrg 2020-03-09 Jonathan Wakely <jwakely (a] redhat.com>
2838 1.1.1.20 mrg
2839 1.1.1.20 mrg PR libstdc++/94063
2840 1.1.1.20 mrg * src/c++17/fs_path.cc (path::operator+=(const path&)): Add kluge to
2841 1.1.1.20 mrg handle concatenations that change the type of the first component.
2842 1.1.1.20 mrg (path::operator+=(basic_string_view<value_type>)): Likewise.
2843 1.1.1.20 mrg * testsuite/27_io/filesystem/path/concat/94063.cc: New test.
2844 1.1.1.20 mrg
2845 1.1.1.20 mrg 2020-03-06 Patrick Palka <ppalka (a] redhat.com>
2846 1.1.1.20 mrg
2847 1.1.1.20 mrg * include/std/ranges (join_view::_Sentinel<_Const>): Befriend
2848 1.1.1.20 mrg join_view::_Sentinel<!_Const>.
2849 1.1.1.20 mrg * testsuite/std/ranges/adaptors/join.cc: Augment test.
2850 1.1.1.20 mrg
2851 1.1.1.20 mrg PR libstdc++/93978
2852 1.1.1.20 mrg * include/bits/range_access.h (__cust_access::_Empty::operator()):
2853 1.1.1.20 mrg Declare return type to be bool instead of auto.
2854 1.1.1.20 mrg * testsuite/std/ranges/adaptors/93978.cc: New test.
2855 1.1.1.20 mrg
2856 1.1.1.20 mrg 2020-03-06 Jonathan Wakely <jwakely (a] redhat.com>
2857 1.1.1.20 mrg
2858 1.1.1.20 mrg PR libstdc++/94069
2859 1.1.1.20 mrg * include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER]
2860 1.1.1.20 mrg (__shared_mutex_pthread::__shared_mutex_pthread()): Remove incorrect
2861 1.1.1.20 mrg second argument to __glibcxx_rwlock_init.
2862 1.1.1.20 mrg * testsuite/30_threads/shared_timed_mutex/94069.cc: New test.
2863 1.1.1.20 mrg
2864 1.1.1.20 mrg PR libstdc++/93244
2865 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/generic_string.cc: Adjust
2866 1.1.1.20 mrg test to not fail due to PR 94063.
2867 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/utf.cc: Likewise.
2868 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/wchar_t.cc: Likewise.
2869 1.1.1.20 mrg
2870 1.1.1.20 mrg 2020-03-06 Andreas Krebbel <krebbel (a] linux.ibm.com>
2871 1.1.1.20 mrg
2872 1.1.1.20 mrg * src/c++11/system_error.cc: Omit the ENOTSUP case statement if it
2873 1.1.1.20 mrg would match ENOSYS.
2874 1.1.1.20 mrg
2875 1.1.1.20 mrg 2020-03-05 Jonathan Wakely <jwakely (a] redhat.com>
2876 1.1.1.19 mrg
2877 1.1.1.20 mrg * testsuite/27_io/filesystem/operations/all.cc: Mark unused variable.
2878 1.1.1.20 mrg * testsuite/27_io/filesystem/operations/copy.cc: Fix typo.
2879 1.1.1.20 mrg * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
2880 1.1.1.20 mrg * testsuite/27_io/filesystem/operations/file_size.cc: Use correct type
2881 1.1.1.20 mrg for return value, and in comparison.
2882 1.1.1.20 mrg * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
2883 1.1.1.20 mrg
2884 1.1.1.20 mrg PR libstdc++/94051
2885 1.1.1.20 mrg * include/std/string_view: Include <bits/ostream_insert.h>.
2886 1.1.1.20 mrg * testsuite/21_strings/basic_string_view/inserters/94051.cc: New test.
2887 1.1.1.20 mrg
2888 1.1.1.20 mrg 2020-03-04 Jonathan Wakely <jwakely (a] redhat.com>
2889 1.1.1.20 mrg
2890 1.1.1.20 mrg * include/bits/cpp_type_traits.h (__memcpyable): Fix comment.
2891 1.1.1.20 mrg
2892 1.1.1.20 mrg 2020-03-04 Patrick Palka <ppalka (a] redhat.com>
2893 1.1.1.20 mrg
2894 1.1.1.20 mrg PR libstdc++/94017
2895 1.1.1.20 mrg * include/bits/ranges_algobase.h (__fill_n_fn::operator()): Refine
2896 1.1.1.20 mrg condition for when to use memset, making sure to additionally check that
2897 1.1.1.20 mrg the output pointer's value type is a non-volatile byte type. Instead of
2898 1.1.1.20 mrg requiring that the fill type is a byte type, just require that it's an
2899 1.1.1.20 mrg integral type.
2900 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc:
2901 1.1.1.20 mrg New test.
2902 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc:
2903 1.1.1.19 mrg New test.
2904 1.1.1.20 mrg * testsuite/25_algorithms/fill/94013.cc: Uncomment part of test that was
2905 1.1.1.20 mrg blocked by PR 94017.
2906 1.1.1.20 mrg * testsuite/25_algorithms/fill/94017.cc: New test.
2907 1.1.1.20 mrg * testsuite/25_algorithms/fill_n/94017.cc: New test.
2908 1.1.1.20 mrg
2909 1.1.1.20 mrg LWG 3355 The memory algorithms should support move-only input iterators
2910 1.1.1.20 mrg introduced by P1207
2911 1.1.1.20 mrg * include/bits/ranges_uninitialized.h
2912 1.1.1.20 mrg (__uninitialized_copy_fn::operator()): Use std::move to avoid attempting
2913 1.1.1.20 mrg to copy __ifirst, which could be a move-only input iterator. Use
2914 1.1.1.20 mrg operator- instead of ranges::distance to compute distance from a sized
2915 1.1.1.20 mrg sentinel.
2916 1.1.1.20 mrg (__uninitialized_copy_n_fn::operator()): Likewise.
2917 1.1.1.20 mrg (__uninitialized_move_fn::operator()): Likewise.
2918 1.1.1.20 mrg (__uninitialized_move_n_fn::operator()): Likewise.
2919 1.1.1.20 mrg (__uninitialized_destroy_fn::operator()): Use std::move to avoid
2920 1.1.1.20 mrg attempting to copy __first.
2921 1.1.1.20 mrg (__uninitialized_destroy_n_fn::operator()): Likewise.
2922 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/destroy/constrained.cc:
2923 1.1.1.20 mrg Augment test.
2924 1.1.1.20 mrg * .../specialized_algorithms/uninitialized_copy/constrained.cc:
2925 1.1.1.20 mrg Likewise.
2926 1.1.1.20 mrg * .../specialized_algorithms/uninitialized_move/constrained.cc:
2927 1.1.1.20 mrg Likewise.
2928 1.1.1.20 mrg
2929 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h (test_range::get_iterator): Make
2930 1.1.1.20 mrg protected instead of private.
2931 1.1.1.20 mrg (test_sized_range_sized_sent): New.
2932 1.1.1.20 mrg
2933 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h (input_iterator_wrapper_nocopy):
2934 1.1.1.20 mrg New testsuite iterator.
2935 1.1.1.20 mrg * testsuite/24_iterators/counted_iterator/lwg3389.cc: use it.
2936 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise.
2937 1.1.1.20 mrg
2938 1.1.1.20 mrg * include/bits/ranges_uninitialized.h
2939 1.1.1.20 mrg (uninitialized_copy_fn::operator()): Pass a reference type as the first
2940 1.1.1.20 mrg argument to is_nothrow_assignable_v.
2941 1.1.1.20 mrg (uninitialized_copy_fn::operator()): Likewise.
2942 1.1.1.20 mrg (uninitialized_move_fn::operator()): Likewise. Return an in_out_result
2943 1.1.1.20 mrg with the input iterator stripped of its move_iterator.
2944 1.1.1.20 mrg (uninitialized_move_n_fn::operator()): Likewise.
2945 1.1.1.20 mrg (uninitialized_fill_fn::operator()): Pass a reference type as the first
2946 1.1.1.20 mrg argument to is_nothrow_assignable_v.
2947 1.1.1.20 mrg (uninitialized_fill_n_fn::operator()): Likewise.
2948 1.1.1.20 mrg
2949 1.1.1.20 mrg 2020-03-03 Jonathan Wakely <jwakely (a] redhat.com>
2950 1.1.1.20 mrg
2951 1.1.1.20 mrg PR libstdc++/94013
2952 1.1.1.20 mrg * include/bits/cpp_type_traits.h (__memcpyable, __memcmpable): New
2953 1.1.1.20 mrg traits to control when to use memmove and memcmp optimizations.
2954 1.1.1.20 mrg (__is_nonvolatile_trivially_copyable): New helper trait.
2955 1.1.1.20 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn): Do not
2956 1.1.1.20 mrg use memcmp optimization with volatile data.
2957 1.1.1.20 mrg * include/bits/ranges_algobase.h (__equal_fn): Use __memcmpable.
2958 1.1.1.20 mrg (__copy_or_move, __copy_or_move_backward): Use __memcpyable.
2959 1.1.1.20 mrg * include/bits/stl_algobase.h (__copy_move_a2): Use __memcpyable.
2960 1.1.1.20 mrg (__copy_move_backward_a2): Likewise.
2961 1.1.1.20 mrg (__equal_aux1): Use __memcmpable.
2962 1.1.1.20 mrg (__lexicographical_compare_aux): Do not use memcmp optimization with
2963 1.1.1.20 mrg volatile data.
2964 1.1.1.20 mrg * testsuite/25_algorithms/copy/94013.cc: New test.
2965 1.1.1.20 mrg * testsuite/25_algorithms/copy_backward/94013.cc: New test.
2966 1.1.1.20 mrg * testsuite/25_algorithms/equal/94013.cc: New test.
2967 1.1.1.20 mrg * testsuite/25_algorithms/fill/94013.cc: New test.
2968 1.1.1.20 mrg * testsuite/25_algorithms/lexicographical_compare/94013.cc: New test.
2969 1.1.1.20 mrg * testsuite/25_algorithms/move/94013.cc: New test.
2970 1.1.1.20 mrg * testsuite/25_algorithms/move_backward/94013.cc: New test.
2971 1.1.1.20 mrg
2972 1.1.1.20 mrg * include/bits/stl_algobase.h (lexicographical_compare_three_way):
2973 1.1.1.20 mrg Avoid redundant iterator comparisons (LWG 3410).
2974 1.1.1.20 mrg
2975 1.1.1.20 mrg 2020-03-02 Jonathan Wakely <jwakely (a] redhat.com>
2976 1.1.1.20 mrg
2977 1.1.1.20 mrg PR libstdc++/93972
2978 1.1.1.20 mrg * include/bits/stl_algobase.h (__memcmp): Allow pointer types to
2979 1.1.1.20 mrg differ.
2980 1.1.1.20 mrg * testsuite/25_algorithms/lexicographical_compare/uchar.cc: New test.
2981 1.1.1.20 mrg
2982 1.1.1.20 mrg * include/std/ranges (__detail::__maybe_empty_t): Rename to
2983 1.1.1.20 mrg __maybe_present_t.
2984 1.1.1.20 mrg (__adaptor::_RangeAdaptor, join_view, split_view): Use new name.
2985 1.1.1.19 mrg
2986 1.1.1.20 mrg * include/bits/ranges_algo.h (shift_right): Add 'typename' to
2987 1.1.1.20 mrg dependent type.
2988 1.1.1.19 mrg
2989 1.1.1.20 mrg 2020-03-01 H.J. Lu <hongjiu.lu (a] intel.com>
2990 1.1.1.20 mrg
2991 1.1.1.20 mrg * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
2992 1.1.1.20 mrg
2993 1.1.1.20 mrg 2020-02-29 John David Anglin <danglin (a] gcc.gnu.org>
2994 1.1.1.20 mrg
2995 1.1.1.20 mrg * testsuite/17_intro/headers/c++1998/charset.cc: Skip on *-*-hpux*.
2996 1.1.1.19 mrg * testsuite/17_intro/headers/c++2011/charset.cc: Likewise.
2997 1.1.1.19 mrg * testsuite/17_intro/headers/c++2014/charset.cc: Likewise.
2998 1.1.1.19 mrg * testsuite/17_intro/headers/c++2017/charset.cc: Likewise.
2999 1.1.1.19 mrg * testsuite/17_intro/headers/c++2020/charset.cc: Likewise.
3000 1.1.1.19 mrg
3001 1.1.1.20 mrg * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
3002 1.1.1.20 mrg Add libatomic option.
3003 1.1.1.20 mrg * testsuite/30_threads/jthread/jthread.cc: Likewise.
3004 1.1.1.20 mrg
3005 1.1.1.20 mrg 2020-02-29 Franois Dumont <fdumont (a] gcc.gnu.org>
3006 1.1.1.20 mrg
3007 1.1.1.20 mrg * include/bits/stl_algo.h
3008 1.1.1.20 mrg (__find_if, __count_if, __is_permutation, std::is_permutation): Move...
3009 1.1.1.20 mrg * include/bits/stl_algobase.h: ...here.
3010 1.1.1.20 mrg * include/bits/hashtable_policy.h: Remove <bits/stl_algo.h> include.
3011 1.1.1.20 mrg
3012 1.1.1.20 mrg 2020-02-29 John David Anglin <danglin (a] gcc.gnu.org>
3013 1.1.1.19 mrg
3014 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback.cc: Add libatomic
3015 1.1.1.20 mrg option.
3016 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc:
3017 1.1.1.20 mrg Likewise.
3018 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: Likewise.
3019 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/destroy.cc: Likewise.
3020 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/invoke.cc: Likewise.
3021 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_source.cc: Likewise.
3022 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_source/assign.cc: Likewise.
3023 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_token.cc: Likewise.
3024 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_token/stop_possible.cc:
3025 1.1.1.20 mrg Likewise.
3026 1.1.1.19 mrg
3027 1.1.1.20 mrg PR libstdc++/92906
3028 1.1.1.20 mrg * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
3029 1.1.1.19 mrg
3030 1.1.1.20 mrg 2020-02-28 Patrick Palka <ppalka (a] redhat.com>
3031 1.1.1.19 mrg
3032 1.1.1.20 mrg PR libstdc++/93972
3033 1.1.1.20 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn::operator()):
3034 1.1.1.20 mrg Fix condition for when to use memcmp, making it consistent with the
3035 1.1.1.20 mrg corresponding condition used in std::lexicographical_compare.
3036 1.1.1.20 mrg * testsuite/25_algorithms/lexicographical_compare/93972.cc: New test.
3037 1.1.1.20 mrg
3038 1.1.1.20 mrg * testsuite/26_numerics/headers/numeric/synopsis.cc: Add signatures for
3039 1.1.1.20 mrg functions introduced in C++11, C++17 and C++2a. Add 'constexpr' to
3040 1.1.1.20 mrg existing signatures for C++2a.
3041 1.1.1.20 mrg
3042 1.1.1.20 mrg 2020-02-28 Jonathan Wakely <jwakely (a] redhat.com>
3043 1.1.1.20 mrg
3044 1.1.1.20 mrg * testsuite/24_iterators/range_operations/advance_debug_neg.cc: Run
3045 1.1.1.20 mrg test instead of just compiling it.
3046 1.1.1.20 mrg
3047 1.1.1.20 mrg 2020-02-28 Patrick Palka <ppalka (a] redhat.com>
3048 1.1.1.20 mrg
3049 1.1.1.20 mrg * include/std/ranges (reverse_view::_S_needs_cached_begin): Set to false
3050 1.1.1.20 mrg whenever the underlying range models common_range.
3051 1.1.1.20 mrg
3052 1.1.1.20 mrg * include/std/ranges (__detail::_CachedPosition): New struct.
3053 1.1.1.20 mrg (views::filter_view::_S_needs_cached_begin): New member variable.
3054 1.1.1.20 mrg (views::filter_view::_M_cached_begin): New member variable.
3055 1.1.1.20 mrg (views::filter_view::begin): Use _M_cached_begin to cache its
3056 1.1.1.20 mrg result.
3057 1.1.1.20 mrg (views::drop_view::_S_needs_cached_begin): New static member variable.
3058 1.1.1.20 mrg (views::drop_view::_M_cached_begin): New member variable.
3059 1.1.1.20 mrg (views::drop_view::begin): Use _M_cached_begin to cache its result
3060 1.1.1.20 mrg when _S_needs_cached_begin.
3061 1.1.1.20 mrg (views::drop_while_view::_M_cached_begin): New member variable.
3062 1.1.1.20 mrg (views::drop_while_view::begin): Use _M_cached_begin to cache its
3063 1.1.1.20 mrg result.
3064 1.1.1.20 mrg (views::reverse_view::_S_needs_cached_begin): New static member
3065 1.1.1.20 mrg variable.
3066 1.1.1.20 mrg (views::reverse_view::_M_cached_begin): New member variable.
3067 1.1.1.20 mrg (views::reverse_view::begin): Use _M_cached_begin to cache its result
3068 1.1.1.20 mrg when _S_needs_cached_begin.
3069 1.1.1.20 mrg * testsuite/std/ranges/adaptors/drop.cc: Augment test to check that
3070 1.1.1.20 mrg drop_view::begin caches its result.
3071 1.1.1.20 mrg * testsuite/std/ranges/adaptors/drop_while.cc: Augment test to check
3072 1.1.1.20 mrg that drop_while_view::begin caches its result.
3073 1.1.1.20 mrg * testsuite/std/ranges/adaptors/filter.cc: Augment test to check that
3074 1.1.1.20 mrg filter_view::begin caches its result.
3075 1.1.1.20 mrg * testsuite/std/ranges/adaptors/reverse.cc: Augment test to check that
3076 1.1.1.20 mrg reverse_view::begin caches its result.
3077 1.1.1.20 mrg
3078 1.1.1.20 mrg 2020-02-28 Jonathan Wakely <jwakely (a] redhat.com>
3079 1.1.1.20 mrg
3080 1.1.1.20 mrg * testsuite/27_io/filesystem/operations/last_write_time.cc: Fixes for
3081 1.1.1.20 mrg filesystems that silently truncate timestamps.
3082 1.1.1.20 mrg * testsuite/experimental/filesystem/operations/last_write_time.cc:
3083 1.1.1.20 mrg Likewise.
3084 1.1.1.20 mrg
3085 1.1.1.20 mrg * testsuite/21_strings/basic_string/cons/char/1.cc: Disable
3086 1.1.1.20 mrg -Wstringop-overflow warnings.
3087 1.1.1.20 mrg
3088 1.1.1.20 mrg 2020-02-27 Jonathan Wakely <jwakely (a] redhat.com>
3089 1.1.1.20 mrg
3090 1.1.1.20 mrg * testsuite/lib/libstdc++.exp (v3_target_compile): Add
3091 1.1.1.20 mrg -fdiagnostics-urls=never to options.
3092 1.1.1.20 mrg
3093 1.1.1.20 mrg 2020-02-27 Patrick Palka <ppalka (a] redhat.com>
3094 1.1.1.20 mrg
3095 1.1.1.20 mrg * include/std/ranges (transform_view::_Iterator<_Const>): Befriend
3096 1.1.1.20 mrg _Iterator<!_Const>.
3097 1.1.1.20 mrg (transform_view::_Sentinel<_Const>): Befriend _Sentinel<!_Const>.
3098 1.1.1.20 mrg (take_view::_Sentinel<_Const>): Likewise.
3099 1.1.1.20 mrg (take_while_view::_Sentinel<_Const>): Likewise.
3100 1.1.1.20 mrg (split_view::_OuterIter<_Const>): Befriend _OuterIter<!_Const>.
3101 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split.cc: Augment test.
3102 1.1.1.20 mrg * testsuite/std/ranges/adaptors/take.cc: Augment test.
3103 1.1.1.20 mrg * testsuite/std/ranges/adaptors/take_while.cc: Augment test.
3104 1.1.1.20 mrg * testsuite/std/ranges/adaptors/transform.cc: Augment test.
3105 1.1.1.20 mrg
3106 1.1.1.20 mrg * testsuite/25_algorithms/copy/constrained.cc: Don't assume that the
3107 1.1.1.20 mrg base() of a vector<>::iterator is a pointer.
3108 1.1.1.20 mrg * testsuite/25_algorithms/copy_backward/constrained.cc: Likewise.
3109 1.1.1.20 mrg * testsuite/25_algorithms/move/constrained.cc: Likewise.
3110 1.1.1.20 mrg * testsuite/25_algorithms/move_backward/constrained.cc: Likewise.
3111 1.1.1.20 mrg * testsuite/25_algorithms/inplace_merge/constrained.cc: Use foo.data()
3112 1.1.1.20 mrg instead of &foo[0].
3113 1.1.1.20 mrg * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise.
3114 1.1.1.20 mrg * testsuite/25_algorithms/partial_sort_copy/constrained.cc: Likewise.
3115 1.1.1.20 mrg * testsuite/25_algorithms/shuffle/constrained.cc: Likewise.
3116 1.1.1.20 mrg * testsuite/25_algorithms/sort/constrained.cc: Likewise.
3117 1.1.1.20 mrg * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise.
3118 1.1.1.20 mrg
3119 1.1.1.20 mrg 2020-02-27 Jonathan Wakely <jwakely (a] redhat.com>
3120 1.1.1.20 mrg
3121 1.1.1.20 mrg * include/debug/array (operator<=>): Define for C++20.
3122 1.1.1.20 mrg * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
3123 1.1.1.20 mrg Adjust dg-error line numbers.
3124 1.1.1.20 mrg * testsuite/23_containers/array/tuple_interface/
3125 1.1.1.20 mrg tuple_element_debug_neg.cc: Likewise.
3126 1.1.1.20 mrg
3127 1.1.1.20 mrg * testsuite/23_containers/span/back_assert_neg.cc: Add #undef before
3128 1.1.1.20 mrg defining _GLIBCXX_ASSERTIONS.
3129 1.1.1.20 mrg * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
3130 1.1.1.20 mrg * testsuite/23_containers/span/first_assert_neg.cc: Likewise.
3131 1.1.1.20 mrg * testsuite/23_containers/span/front_assert_neg.cc: Likewise.
3132 1.1.1.20 mrg * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
3133 1.1.1.20 mrg * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
3134 1.1.1.20 mrg * testsuite/23_containers/span/last_assert_neg.cc: Likewise.
3135 1.1.1.20 mrg * testsuite/23_containers/span/subspan_2_assert_neg.cc: Likewise.
3136 1.1.1.20 mrg * testsuite/23_containers/span/subspan_3_assert_neg.cc: Likewise.
3137 1.1.1.20 mrg * testsuite/23_containers/span/subspan_4_assert_neg.cc: Likewise.
3138 1.1.1.20 mrg * testsuite/23_containers/span/subspan_5_assert_neg.cc: Likewise.
3139 1.1.1.20 mrg * testsuite/23_containers/span/subspan_6_assert_neg.cc: Likewise.
3140 1.1.1.20 mrg * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
3141 1.1.1.20 mrg
3142 1.1.1.20 mrg * include/debug/string (__gnu_debug::basic_string::insert): Fix for
3143 1.1.1.20 mrg C++98 where the member function of the base class returns void.
3144 1.1.1.20 mrg
3145 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h (forward_iterator_wrapper): Add
3146 1.1.1.20 mrg equality comparisons that support value-initialized iterators.
3147 1.1.1.20 mrg
3148 1.1.1.20 mrg * include/bits/boost_concept_check.h (__function_requires): Add
3149 1.1.1.20 mrg _GLIBCXX14_CONSTEXPR.
3150 1.1.1.20 mrg * testsuite/25_algorithms/min/concept_checks.cc: New test.
3151 1.1.1.20 mrg
3152 1.1.1.20 mrg 2020-02-26 Patrick Palka <ppalka (a] redhat.com>
3153 1.1.1.20 mrg
3154 1.1.1.20 mrg PR libstdc++/93936
3155 1.1.1.20 mrg * include/std/ranges (split_view::_InnerIter::operator==): Compare
3156 1.1.1.20 mrg the operands' _M_i rather than their _M_i.current().
3157 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split.cc: Augment test.
3158 1.1.1.20 mrg
3159 1.1.1.20 mrg P1645R1 constexpr for <numeric> algorithms
3160 1.1.1.20 mrg * include/bits/stl_numeric.h (iota, accumulate, inner_product,
3161 1.1.1.20 mrg partial_sum, adjacent_difference): Make conditionally constexpr for
3162 1.1.1.20 mrg C++20.
3163 1.1.1.20 mrg * include/std/numeric (__cpp_lib_constexpr_numeric): Define this feature
3164 1.1.1.20 mrg test macro.
3165 1.1.1.20 mrg (reduce, transform_reduce, exclusive_scan, inclusive_scan,
3166 1.1.1.20 mrg transform_exclusive_scan, transform_inclusive_scan): Make conditionally
3167 1.1.1.20 mrg constexpr for C++20.
3168 1.1.1.20 mrg * include/std/version (__cpp_lib_constexpr_numeric): Define.
3169 1.1.1.20 mrg * testsuite/26_numerics/accumulate/constexpr.cc: New test.
3170 1.1.1.20 mrg * testsuite/26_numerics/adjacent_difference/constexpr.cc: Likewise.
3171 1.1.1.20 mrg * testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise.
3172 1.1.1.20 mrg * testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise.
3173 1.1.1.20 mrg * testsuite/26_numerics/inner_product/constexpr.cc: Likewise.
3174 1.1.1.20 mrg * testsuite/26_numerics/iota/constexpr.cc: Likewise.
3175 1.1.1.20 mrg * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise.
3176 1.1.1.20 mrg * testsuite/26_numerics/reduce/constexpr.cc: Likewise.
3177 1.1.1.20 mrg * testsuite/26_numerics/transform_exclusive_scan/constexpr.cc: Likewise.
3178 1.1.1.20 mrg * testsuite/26_numerics/transform_inclusive_scan/constexpr.cc: Likewise.
3179 1.1.1.20 mrg * testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise.
3180 1.1.1.20 mrg
3181 1.1.1.20 mrg 2020-02-26 Jonathan Wakely <jwakely (a] redhat.com>
3182 1.1.1.20 mrg
3183 1.1.1.20 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn): Declare
3184 1.1.1.20 mrg variables in smaller scope and avoid calling ranges::distance when we
3185 1.1.1.20 mrg know they are pointers. Remove statically-unreachable use of
3186 1.1.1.20 mrg __builtin_unreachable().
3187 1.1.1.20 mrg * include/bits/stl_algobase.h (__lexicographical_compare::__lc):
3188 1.1.1.20 mrg Define inline.
3189 1.1.1.20 mrg
3190 1.1.1.20 mrg * include/std/ranges (__detail::__maybe_empty_t): Define new helper
3191 1.1.1.20 mrg alias.
3192 1.1.1.20 mrg (__detail::__maybe_const_t): Likewise.
3193 1.1.1.20 mrg (__adaptor::_RangeAdaptor): Use __maybe_empty_t.
3194 1.1.1.20 mrg (transform_view, take_view, take_while_view, elements_view): Use
3195 1.1.1.20 mrg __maybe_const_t.
3196 1.1.1.20 mrg (join_view, split_view): Use both.
3197 1.1.1.20 mrg
3198 1.1.1.20 mrg 2020-02-25 Patrick Palka <ppalka (a] redhat.com>
3199 1.1.1.20 mrg
3200 1.1.1.20 mrg LWG 3397 basic_istream_view::iterator should not provide
3201 1.1.1.20 mrg iterator_category
3202 1.1.1.20 mrg * include/std/ranges (basic_istream_view:_Iterator::iterator_category):
3203 1.1.1.20 mrg Rename to ...
3204 1.1.1.20 mrg (basic_istream_view:_Iterator::iterator_concept): ... this.
3205 1.1.1.20 mrg * testsuite/std/ranges/istream_view.cc: Augment test.
3206 1.1.1.20 mrg
3207 1.1.1.20 mrg LWG 3325 Constrain return type of transformation function for
3208 1.1.1.20 mrg transform_view
3209 1.1.1.20 mrg * include/std/ranges (transform_view): Constrain the return type of the
3210 1.1.1.20 mrg transformation function as per LWG 3325.
3211 1.1.1.20 mrg * testsuite/std/ranges/adaptors/lwg3325_neg.cc: New test.
3212 1.1.1.20 mrg
3213 1.1.1.20 mrg LWG 3313 join_view::_Iterator::operator-- is incorrectly constrained
3214 1.1.1.20 mrg * include/std/ranges (join_view::_Iterator::operator--): Require that
3215 1.1.1.20 mrg range_reference_t<_Base> models common_range.
3216 1.1.1.20 mrg * testsuite/std/ranges/adaptors/lwg3313_neg.cc: New test.
3217 1.1.1.20 mrg
3218 1.1.1.20 mrg LWG 3301 transform_view::_Iterator has incorrect iterator_category
3219 1.1.1.20 mrg * include/std/ranges (transform_view::_Iterator::_S_iter_cat): Adjust
3220 1.1.1.20 mrg determination of iterator_category as per LWG 3301.
3221 1.1.1.20 mrg * testsuite/std/ranges/adaptors/transform.cc: Augment test.
3222 1.1.1.20 mrg
3223 1.1.1.20 mrg LWG 3292 iota_view is under-constrained
3224 1.1.1.20 mrg * include/std/ranges (iota_view): Require that _Winc models semiregular
3225 1.1.1.20 mrg as per LWG 3292.
3226 1.1.1.20 mrg * testsuite/std/ranges/iota/lwg3292_neg.cc: New test.
3227 1.1.1.20 mrg
3228 1.1.1.20 mrg 2020-02-25 Jonathan Wakely <jwakely (a] redhat.com>
3229 1.1.1.20 mrg
3230 1.1.1.20 mrg * include/bits/ranges_algobase.h (__copy_or_move): Do not use memmove
3231 1.1.1.20 mrg during constant evaluation. Call __builtin_memmove directly instead of
3232 1.1.1.20 mrg __memmove.
3233 1.1.1.20 mrg (__copy_or_move_backward): Likewise.
3234 1.1.1.20 mrg * include/bits/stl_algobase.h (__memmove): Remove.
3235 1.1.1.20 mrg (__copy_move<M, true, random_access_iterator_tag>::__copy_m)
3236 1.1.1.20 mrg (__copy_move_backward<M, true, random_access_iterator_tag>::__copy_m):
3237 1.1.1.20 mrg Use __builtin_memmove directly instead of __memmove.
3238 1.1.1.20 mrg (__copy_move_a2): Do not use memmove during constant evaluation.
3239 1.1.1.20 mrg (__copy_move_backward_a2): Use _IsMove constant to select correct
3240 1.1.1.20 mrg __copy_move_backward specialization.
3241 1.1.1.20 mrg * testsuite/25_algorithms/copy_backward/constexpr.cc: Check for copies
3242 1.1.1.20 mrg begin turned into moves during constant evaluation.
3243 1.1.1.20 mrg
3244 1.1.1.20 mrg * testsuite/25_algorithms/move_backward/93872.cc: Add test left out of
3245 1.1.1.20 mrg previous commit.
3246 1.1.1.20 mrg
3247 1.1.1.20 mrg PR libstdc++/93872
3248 1.1.1.20 mrg * include/bits/stl_algobase.h (__memmove): Cast away const before
3249 1.1.1.20 mrg doing move assignment.
3250 1.1.1.20 mrg * testsuite/25_algorithms/move/93872.cc: New test.
3251 1.1.1.20 mrg * testsuite/25_algorithms/move_backward/93872.cc: New test.
3252 1.1.1.20 mrg
3253 1.1.1.20 mrg 2020-02-24 Patrick Palka <ppalka (a] redhat.com>
3254 1.1.1.20 mrg
3255 1.1.1.20 mrg PR libstdc++/93884
3256 1.1.1.20 mrg * include/bits/ranges_algobase.h (__copy_or_move,
3257 1.1.1.20 mrg __copy_or_move_backward): Don't inspect the iter_value_t of the output
3258 1.1.1.20 mrg iterator, instead inspect its iterator_traits directly.
3259 1.1.1.20 mrg * include/bits/stl_iterator.h (back_insert_iterator::container):
3260 1.1.1.20 mrg Conditionally initialize.
3261 1.1.1.20 mrg (back_insert_iterator::difference_type): Conditionally define.
3262 1.1.1.20 mrg (back_insert_iterator::back_insert_iterator): Conditionally define this
3263 1.1.1.20 mrg default constructor.
3264 1.1.1.20 mrg (front_insert_iterator::container): Conditionally initialize.
3265 1.1.1.20 mrg (front_insert_iterator::difference_type): Conditionally define.
3266 1.1.1.20 mrg (front_insert_iterator::front_insert_iterator): Conditionally define
3267 1.1.1.20 mrg this default constructor.
3268 1.1.1.20 mrg * 24_iterators/back_insert_iterator/pr93884.cc: New test.
3269 1.1.1.20 mrg * 24_iterators/front_insert_iterator/pr93884.cc: New test.
3270 1.1.1.20 mrg
3271 1.1.1.20 mrg P0769R2 Add shift to <algorithm>
3272 1.1.1.20 mrg * include/bits/ranges_algo.h (shift_left, shift_right): New.
3273 1.1.1.20 mrg * testsuite/25_algorithms/shift_left/1.cc: New test.
3274 1.1.1.20 mrg * testsuite/25_algorithms/shift_right/1.cc: New test.
3275 1.1.1.20 mrg
3276 1.1.1.20 mrg 2020-02-24 Jonathan Wakely <jwakely (a] redhat.com>
3277 1.1.1.20 mrg
3278 1.1.1.20 mrg * include/bits/stream_iterator.h (istream_iterator(default_sentinel_t)):
3279 1.1.1.20 mrg Make noexcept-specifier conditional.
3280 1.1.1.20 mrg * testsuite/24_iterators/istream_iterator/cons/sentinel.cc: Check
3281 1.1.1.20 mrg noexcept-specifier.
3282 1.1.1.20 mrg
3283 1.1.1.20 mrg * include/bits/stream_iterator.h (istream_iterator(default_sentinel_t)):
3284 1.1.1.20 mrg Add constructor.
3285 1.1.1.20 mrg (operator==(istream_iterator, default_sentinel_t)): Add operator.
3286 1.1.1.20 mrg (ostream_iterator::difference_type): Define to ptrdiff_t for C++20.
3287 1.1.1.20 mrg * include/bits/streambuf_iterator.h
3288 1.1.1.20 mrg (istreambuf_iterator(default_sentinel_t)): Add constructor.
3289 1.1.1.20 mrg (operator==(istreambuf_iterator, default_sentinel_t)): Add operator.
3290 1.1.1.20 mrg * testsuite/24_iterators/istream_iterator/cons/sentinel.cc:
3291 1.1.1.20 mrg New test.
3292 1.1.1.20 mrg * testsuite/24_iterators/istream_iterator/sentinel.cc: New test.
3293 1.1.1.20 mrg * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc:
3294 1.1.1.19 mrg New test.
3295 1.1.1.20 mrg * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: New test.
3296 1.1.1.19 mrg
3297 1.1.1.20 mrg * include/std/ranges (__deep_const_range, __enable_view_impl): Remove.
3298 1.1.1.20 mrg (ranges::enable_view): Simplify (LWG 3326).
3299 1.1.1.20 mrg * include/bits/range_access.h (ranges::enable_view): Declare.
3300 1.1.1.20 mrg * include/bits/regex.h (__enable_view_impl): Remove partial
3301 1.1.1.20 mrg specialization.
3302 1.1.1.20 mrg * include/bits/stl_multiset.h (__enable_view_impl): Likewise.
3303 1.1.1.20 mrg * include/bits/stl_set.h (__enable_view_impl): Likewise.
3304 1.1.1.20 mrg * include/bits/unordered_set.h (__enable_view_impl): Likewise.
3305 1.1.1.20 mrg * include/debug/multiset.h (__enable_view_impl): Likewise.
3306 1.1.1.20 mrg * include/debug/set.h (__enable_view_impl): Likewise.
3307 1.1.1.20 mrg * include/debug/unordered_set (__enable_view_impl): Likewise.
3308 1.1.1.20 mrg * include/experimental/string_view (ranges::enable_view): Define
3309 1.1.1.20 mrg partial specialization.
3310 1.1.1.20 mrg * include/std/span (ranges::enable_view): Likewise.
3311 1.1.1.20 mrg * include/std/string_view (ranges::enable_view): Likewise.
3312 1.1.1.20 mrg * testsuite/std/ranges/view.cc: Check satisfaction of updated concept.
3313 1.1.1.20 mrg
3314 1.1.1.20 mrg 2020-02-21 Jonathan Wakely <jwakely (a] redhat.com>
3315 1.1.1.20 mrg
3316 1.1.1.20 mrg * include/std/optional (operator<=>(optional<T>, optional<U>))
3317 1.1.1.20 mrg (operator<=>(optional<T>, nullopt), operator<=>(optional<T>, U)):
3318 1.1.1.20 mrg Define for C++20.
3319 1.1.1.20 mrg * include/std/tuple (__tuple_cmp): New helper function for <=>.
3320 1.1.1.20 mrg (operator<=>(tuple<T...>, tuple<U>...)): Define for C++20.
3321 1.1.1.20 mrg * include/std/variant (operator<=>(variant<T...>, variant<T...>))
3322 1.1.1.20 mrg (operator<=>(monostate, monostate)): Define for C++20.
3323 1.1.1.20 mrg * testsuite/20_util/optional/relops/three_way.cc: New test.
3324 1.1.1.20 mrg * testsuite/20_util/tuple/comparison_operators/three_way.cc: New test.
3325 1.1.1.20 mrg * testsuite/20_util/variant/89851.cc: Move to ...
3326 1.1.1.20 mrg * testsuite/20_util/variant/relops/89851.cc: ... here.
3327 1.1.1.20 mrg * testsuite/20_util/variant/90008.cc: Move to ...
3328 1.1.1.20 mrg * testsuite/20_util/variant/relops/90008.cc: ... here.
3329 1.1.1.20 mrg * testsuite/20_util/variant/relops/three_way.cc: New test.
3330 1.1.1.19 mrg
3331 1.1.1.20 mrg 2020-02-20 Patrick Palka <ppalka (a] redhat.com>
3332 1.1.1.19 mrg
3333 1.1.1.20 mrg * include/std/ranges (views::__adaptor::__maybe_refwrap): New utility
3334 1.1.1.20 mrg function.
3335 1.1.1.20 mrg (views::__adaptor::_RangeAdaptor::operator()): Add comments. Use
3336 1.1.1.20 mrg __maybe_refwrap to capture lvalue references by reference, and then use
3337 1.1.1.20 mrg unwrap_reference_t to forward the by-reference captures as references.
3338 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split.cc: Augment test.
3339 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split_neg.cc: New test.
3340 1.1.1.20 mrg
3341 1.1.1.20 mrg * include/std/ranges (iota_view): Forward declare _Sentinel.
3342 1.1.1.20 mrg (iota_view::_Iterator): Befriend _Sentinel.
3343 1.1.1.20 mrg (iota_view::_Sentinel::_M_equal): New member function.
3344 1.1.1.20 mrg (iota_view::_Sentinel::operator==): Use it.
3345 1.1.1.20 mrg (views::_Iota::operator()): Forward __f using the correct type.
3346 1.1.1.20 mrg * testsuite/std/ranges/access/ssize.cc (test06): Don't call views::iota
3347 1.1.1.20 mrg with integers of different signedness, to appease iota_view's deduction
3348 1.1.1.20 mrg guide.
3349 1.1.1.20 mrg * testsuite/std/ranges/iota/iota_view.cc: Augment test.
3350 1.1.1.20 mrg
3351 1.1.1.20 mrg 2020-02-20 Jonathan Wakely <jwakely (a] redhat.com>
3352 1.1.1.20 mrg
3353 1.1.1.20 mrg * include/bits/range_access.h (ranges::begin): Reject array of
3354 1.1.1.20 mrg incomplete type.
3355 1.1.1.20 mrg (ranges::end, ranges::size): Require arrays to be bounded.
3356 1.1.1.20 mrg (ranges::data): Require lvalue or borrowed_range.
3357 1.1.1.20 mrg (ranges::iterator_t): Remove constraint.
3358 1.1.1.20 mrg * testsuite/std/ranges/access/begin.cc: Do not check array of
3359 1.1.1.20 mrg incomplete type.
3360 1.1.1.20 mrg * testsuite/std/ranges/access/begin_neg.cc: New test.
3361 1.1.1.20 mrg * testsuite/std/ranges/access/end_neg.cc: Adjust expected error.
3362 1.1.1.20 mrg * testsuite/std/ranges/access/size_neg.cc: Adjust expected error.
3363 1.1.1.20 mrg * testsuite/std/ranges/access/ssize.cc: Do not check array of
3364 1.1.1.20 mrg incomplete type.
3365 1.1.1.20 mrg
3366 1.1.1.20 mrg * include/std/system_error (error_category::operator<=>)
3367 1.1.1.20 mrg (operator<=>(const error_code&, const error_code&))
3368 1.1.1.20 mrg (operator<=>(const error_condition&, const error_condition&)): Define
3369 1.1.1.20 mrg for C++20.
3370 1.1.1.20 mrg * testsuite/19_diagnostics/error_category/operators/less.cc: New test.
3371 1.1.1.20 mrg * testsuite/19_diagnostics/error_category/operators/three_way.cc: New
3372 1.1.1.20 mrg test.
3373 1.1.1.20 mrg * testsuite/19_diagnostics/error_code/operators/equal.cc: Remove
3374 1.1.1.20 mrg incorrect comment.
3375 1.1.1.20 mrg * testsuite/19_diagnostics/error_code/operators/less.cc: New test.
3376 1.1.1.20 mrg * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Remove
3377 1.1.1.20 mrg incorrect comment.
3378 1.1.1.20 mrg * testsuite/19_diagnostics/error_code/operators/three_way.cc: New test.
3379 1.1.1.20 mrg * testsuite/19_diagnostics/error_condition/operators/equal.cc: Remove
3380 1.1.1.20 mrg incorrect comment.
3381 1.1.1.20 mrg * testsuite/19_diagnostics/error_condition/operators/less.cc: New test.
3382 1.1.1.20 mrg * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
3383 1.1.1.20 mrg Remove incorrect comment.
3384 1.1.1.20 mrg * testsuite/19_diagnostics/error_condition/operators/three_way.cc: New
3385 1.1.1.20 mrg test.
3386 1.1.1.19 mrg
3387 1.1.1.20 mrg * libsupc++/typeinfo (type_info::operator!=): Remove for C++20.
3388 1.1.1.19 mrg
3389 1.1.1.20 mrg * include/std/thread (thread::id::operator<=>): Define for C++20.
3390 1.1.1.20 mrg * testsuite/30_threads/thread/id/70294.cc: Do not take addresses of
3391 1.1.1.20 mrg functions in namespace std.
3392 1.1.1.20 mrg * testsuite/30_threads/thread/id/operators_c++20.cc: New test.
3393 1.1.1.20 mrg
3394 1.1.1.20 mrg 2020-02-19 Patrick Palka <ppalka (a] redhat.com>
3395 1.1.1.20 mrg
3396 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split.cc (test03): Don't include the
3397 1.1.1.20 mrg null terminator of the underlying string as part of the test_range.
3398 1.1.1.20 mrg (main): Call test03.
3399 1.1.1.20 mrg
3400 1.1.1.20 mrg 2020-02-19 Jonathan Wakely <jwakely (a] redhat.com>
3401 1.1.1.20 mrg
3402 1.1.1.20 mrg * include/bits/stl_iterator.h (common_iterator): Add copyable<I>
3403 1.1.1.20 mrg requirement (LWG 3385).
3404 1.1.1.20 mrg * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: Adjust
3405 1.1.1.20 mrg expected declaration.
3406 1.1.1.20 mrg
3407 1.1.1.20 mrg * include/std/ranges (take_while_view, drop_view, drop_while_view)
3408 1.1.1.20 mrg (elements_view:_Iterator): Initialize data members (LWG 3364).
3409 1.1.1.20 mrg
3410 1.1.1.20 mrg * libsupc++/compare (three_way_comparable): Remove always-false check
3411 1.1.1.20 mrg that should have been removed with weak_equality (P1959R0).
3412 1.1.1.20 mrg (three_way_comparable_with): Likewise. Reorder requirements (LWG 3360).
3413 1.1.1.20 mrg
3414 1.1.1.20 mrg * include/std/concepts (__detail::__partially_ordered_with): Move here
3415 1.1.1.20 mrg from <compare>.
3416 1.1.1.20 mrg (totally_ordered, totally_ordered_with): Use __partially_ordered_with
3417 1.1.1.20 mrg to simplify definition (LWG 3331).
3418 1.1.1.20 mrg * libsupc++/compare (__detail::__partially_ordered_with): Move to
3419 1.1.1.20 mrg <concepts>.
3420 1.1.1.20 mrg
3421 1.1.1.20 mrg * include/std/concepts (totally_ordered_with): Remove redundant
3422 1.1.1.20 mrg requirement (LWG 3329).
3423 1.1.1.20 mrg
3424 1.1.1.20 mrg * include/std/ranges (__detail::__convertible_to_non_slicing): New
3425 1.1.1.20 mrg helper concept.
3426 1.1.1.20 mrg (__detail::__pair_like_convertible_to): Remove.
3427 1.1.1.20 mrg (__detail::__pair_like_convertible_from): Add requirements for
3428 1.1.1.20 mrg non-slicing conversions.
3429 1.1.1.20 mrg (subrange): Constrain constructors with __convertible_to_non_slicing.
3430 1.1.1.20 mrg Remove constructors from pair-like types. Add new deduction guide.
3431 1.1.1.20 mrg * testsuite/std/ranges/subrange/lwg3282_neg.cc: New test.
3432 1.1.1.20 mrg
3433 1.1.1.20 mrg * include/bits/iterator_concepts.h (iter_move): Add declaration to
3434 1.1.1.20 mrg prevent unqualified lookup finding a suitable declaration (LWG 3247).
3435 1.1.1.20 mrg
3436 1.1.1.20 mrg * include/std/memory_resource (polymorphic_allocator::allocate)
3437 1.1.1.20 mrg (polymorphic_allocator::allocate_object): Change type of exception to
3438 1.1.1.20 mrg bad_array_new_length (LWG 3237).
3439 1.1.1.20 mrg * testsuite/20_util/polymorphic_allocator/lwg3237.cc: New test.
3440 1.1.1.20 mrg
3441 1.1.1.20 mrg * include/std/type_traits (__cpp_lib_unwrap_ref): Define (LWG 3348).
3442 1.1.1.20 mrg * include/std/version (__cpp_lib_unwrap_ref): Likewise.
3443 1.1.1.20 mrg * testsuite/20_util/unwrap_reference/1.cc: Check macro.
3444 1.1.1.20 mrg * testsuite/20_util/unwrap_reference/3.cc: New test.
3445 1.1.1.20 mrg
3446 1.1.1.20 mrg * include/std/numeric (midpoint(T8, T*)): Do not check for complete
3447 1.1.1.20 mrg type during overload resolution, use static assert instead (LWG 3200).
3448 1.1.1.20 mrg * testsuite/26_numerics/midpoint/pointer.cc: Do not test with
3449 1.1.1.20 mrg incomplete type.
3450 1.1.1.20 mrg * testsuite/26_numerics/midpoint/pointer_neg.cc: New test.
3451 1.1.1.20 mrg
3452 1.1.1.20 mrg * include/std/span (span(T (&)[N])): Use non-deduced context to
3453 1.1.1.20 mrg prevent first parameter from interfering with class template argument
3454 1.1.1.20 mrg deduction (LWG 3369).
3455 1.1.1.20 mrg * testsuite/23_containers/span/deduction.cc: Add missing 'const'.
3456 1.1.1.20 mrg * testsuite/23_containers/span/lwg3255.cc: Check for construction from
3457 1.1.1.20 mrg rvalues.
3458 1.1.1.20 mrg
3459 1.1.1.20 mrg * include/std/span (span::const_iterator, span::const_reverse_iterator)
3460 1.1.1.20 mrg (span::cbegin(), span::cend(), span::crbegin(), span::crend()):
3461 1.1.1.20 mrg Remove (LWG 3320).
3462 1.1.1.20 mrg * testsuite/23_containers/span/everything.cc: Replace uses of cbegin
3463 1.1.1.20 mrg and cend.
3464 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/destroy/constrained.cc:
3465 1.1.1.20 mrg Likewise.
3466 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/uninitialized_copy/
3467 1.1.1.20 mrg constrained.cc: Likewise.
3468 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/
3469 1.1.1.20 mrg uninitialized_default_construct/constrained.cc: Likewise.
3470 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/uninitialized_fill/
3471 1.1.1.20 mrg constrained.cc: Likewise.
3472 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/uninitialized_move/
3473 1.1.1.20 mrg constrained.cc: Likewise.
3474 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/
3475 1.1.1.20 mrg uninitialized_value_construct/constrained.cc: Likewise.
3476 1.1.1.20 mrg
3477 1.1.1.20 mrg * include/bits/range_access.h (range_size_t): Define alias template.
3478 1.1.1.20 mrg * include/std/ranges (all_view): Rename to views::all_t (LWG 3335).
3479 1.1.1.20 mrg * testsuite/std/ranges/adaptors/filter.cc: Adjust to new name.
3480 1.1.1.20 mrg
3481 1.1.1.20 mrg * include/std/ranges (filter_view, transform_view, take_view)
3482 1.1.1.20 mrg (join_view, split_view, reverse_view): Remove commented-out converting
3483 1.1.1.20 mrg constructors (LWG 3280).
3484 1.1.1.18 mrg
3485 1.1.1.20 mrg * include/std/memory (uninitialized_construct_using_allocator): Use
3486 1.1.1.20 mrg std::construct_at (LWG 3321).
3487 1.1.1.18 mrg
3488 1.1.1.20 mrg * include/std/memory_resource (polymorphic_allocator::allocate_bytes)
3489 1.1.1.20 mrg (polymorphic_allocator::allocate_object)
3490 1.1.1.20 mrg (polymorphic_allocator::new_object): Add nodiscard attribute (LWG3304).
3491 1.1.1.20 mrg
3492 1.1.1.20 mrg LWG 3379. "safe" in several library names is misleading
3493 1.1.1.20 mrg * include/bits/range_access.h (enable_safe_range): Rename to
3494 1.1.1.20 mrg enable_borrowed_range.
3495 1.1.1.20 mrg (__detail::__maybe_safe_range): Rename to __maybe_borrowed_range.
3496 1.1.1.20 mrg (safe_range): Rename to borrowed_range.
3497 1.1.1.20 mrg * include/bits/ranges_algo.h: Adjust to use new names.
3498 1.1.1.20 mrg * include/bits/ranges_algobase.h: Likewise.
3499 1.1.1.20 mrg * include/bits/ranges_uninitialized.h: Likewise.
3500 1.1.1.20 mrg * include/std/ranges: Likewise.
3501 1.1.1.20 mrg (safe_iterator_t): Rename to borrowed_iterator_t.
3502 1.1.1.20 mrg (safe_subrange_t): Rename to borrowed_subrange_t.
3503 1.1.1.20 mrg * include/std/span: Adjust to use new names.
3504 1.1.1.20 mrg * include/std/string_view: Likewise.
3505 1.1.1.20 mrg * include/experimental/string_view: Likewise.
3506 1.1.1.20 mrg * testsuite/std/ranges/access/begin.cc: Likewise.
3507 1.1.1.20 mrg * testsuite/std/ranges/access/cbegin.cc: Likewise.
3508 1.1.1.20 mrg * testsuite/std/ranges/access/cdata.cc: Likewise.
3509 1.1.1.20 mrg * testsuite/std/ranges/access/cend.cc: Likewise.
3510 1.1.1.20 mrg * testsuite/std/ranges/access/crbegin.cc: Likewise.
3511 1.1.1.20 mrg * testsuite/std/ranges/access/crend.cc: Likewise.
3512 1.1.1.20 mrg * testsuite/std/ranges/access/data.cc: Likewise.
3513 1.1.1.20 mrg * testsuite/std/ranges/access/end.cc: Likewise.
3514 1.1.1.20 mrg * testsuite/std/ranges/access/rbegin.cc: Likewise.
3515 1.1.1.20 mrg * testsuite/std/ranges/access/rend.cc: Likewise.
3516 1.1.1.20 mrg * testsuite/std/ranges/safe_range.cc: Likewise.
3517 1.1.1.20 mrg * testsuite/std/ranges/safe_range_types.cc: Likewise.
3518 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h: Likewise.
3519 1.1.1.20 mrg
3520 1.1.1.20 mrg * include/std/ranges (tuple_element<0, const subrange<I, S, K>>)
3521 1.1.1.20 mrg (tuple_element<1, const subrange<I, S, K>>): Add partial
3522 1.1.1.20 mrg specializations (LWG 3398).
3523 1.1.1.20 mrg * testsuite/std/ranges/subrange/tuple_like.cc: New test.
3524 1.1.1.20 mrg
3525 1.1.1.20 mrg * include/bits/ranges_algo.h (__find_fn, __find_first_of_fn)
3526 1.1.1.20 mrg (__adjacent_find_fn, __remove_if_fn, __remove_copy_if_fn)
3527 1.1.1.20 mrg (__unique_fn, __unique_copy_fn): Remove redundant conversions to bool.
3528 1.1.1.20 mrg
3529 1.1.1.20 mrg 2020-02-18 Patrick Palka <ppalka (a] redhat.com>
3530 1.1.1.20 mrg
3531 1.1.1.20 mrg P1983R0 Wording for GB301, US296, US292, US291, and US283
3532 1.1.1.20 mrg * include/std/ranges (filter_view::pred): New member function.
3533 1.1.1.20 mrg (join_view::_Iterator::_Iterator): Remove now-redundant comment since
3534 1.1.1.20 mrg P1983R0 fixes the highlighted issue in the same way.
3535 1.1.1.20 mrg (join_view::_Iterator<_Const>): Add friend
3536 1.1.1.20 mrg join_view::_Iterator<!_Const>.
3537 1.1.1.20 mrg (join_view::_M_inner): Remove mutable specifier, effectively reverting
3538 1.1.1.20 mrg the proposed wording changes of P3278.
3539 1.1.1.20 mrg (join_view::begin): Refine the condition for when to return a const
3540 1.1.1.20 mrg iterator.
3541 1.1.1.20 mrg (split_view::_OuterIter::_OuterIter): Adjust constraints.
3542 1.1.1.20 mrg * testsuite/std/ranges/adaptors/filter.cc: Test that filter_view::pred
3543 1.1.1.20 mrg exists and works.
3544 1.1.1.20 mrg
3545 1.1.1.20 mrg 2020-02-18 Jonathan Wakely <jwakely (a] redhat.com>
3546 1.1.1.20 mrg
3547 1.1.1.20 mrg PR libstdc++/93818
3548 1.1.1.20 mrg * include/std/ranges (_RangeAdaptor): Add deduction guide.
3549 1.1.1.20 mrg (filter_view::_Iterator): Add alias _Vp_iter and use in place of
3550 1.1.1.20 mrg iterator_t<_Vp>.
3551 1.1.1.20 mrg (filter_view::_Iterator::_S_iter_cat()): Add 'typename'.
3552 1.1.1.20 mrg (transform_view::_Iterator): Add alias _Base_iter and use in place of
3553 1.1.1.20 mrg iterator_t<_Base>.
3554 1.1.1.20 mrg (transform_view::_Iterator::_S_iter_cat()): Add 'typename'.
3555 1.1.1.20 mrg (join_view::_Iterator): Add _Outer_iter and _Inner_iter aliases.
3556 1.1.1.20 mrg (join_view::_Iterator::_S_iter_cat()): Add 'typename'.
3557 1.1.1.20 mrg (split_view::_InnerIter::_S_iter_cat()): Likewise.
3558 1.1.1.20 mrg
3559 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/equal.cc: Fix invalid
3560 1.1.1.20 mrg assumption that long is wider than int.
3561 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/greater_equal.cc: Likewise.
3562 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/less.cc: Likewise.
3563 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise.
3564 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise.
3565 1.1.1.20 mrg
3566 1.1.1.20 mrg P1976R2 Fixed-size span construction from dynamic range
3567 1.1.1.20 mrg * include/std/span (__cpp_lib_span): Update value.
3568 1.1.1.20 mrg (span(It, size_type), span(It, End)): Make conditionally explicit. Add
3569 1.1.1.20 mrg assertion.
3570 1.1.1.20 mrg (span(R&&), span(const span<OType, OExtent>&)): Likewise and relax
3571 1.1.1.20 mrg constraints.
3572 1.1.1.20 mrg (span::first<Count>(), span::last<Count>()): Use explicit type in
3573 1.1.1.20 mrg return statement.
3574 1.1.1.20 mrg (as_bytes, as_writable_bytes): Likewise.
3575 1.1.1.20 mrg * include/std/version (__cpp_lib_span): Update value.
3576 1.1.1.20 mrg * testsuite/23_containers/span/1.cc: Check new value.
3577 1.1.1.20 mrg * testsuite/23_containers/span/2.cc: Check new value.
3578 1.1.1.20 mrg * testsuite/23_containers/span/explicit.cc: New test.
3579 1.1.1.20 mrg
3580 1.1.1.20 mrg * include/std/span (span::__is_compatible_array): Simplify alias
3581 1.1.1.20 mrg template by using requires-clause.
3582 1.1.1.20 mrg (span::__is_compatible_ref): New alias template for constraining
3583 1.1.1.20 mrg constructors.
3584 1.1.1.20 mrg (span::__is_compatible_iterator, span::__is_compatible_range): Remove.
3585 1.1.1.20 mrg (span(It, size_type), span(It, End)): Use __is_compatible_ref.
3586 1.1.1.20 mrg (span(T(&)[N], span(array<T, N>&), span(const array<T, N>&)): Remove
3587 1.1.1.20 mrg redundant parentheses.
3588 1.1.1.20 mrg (span(R&&)): Add missing constraints.
3589 1.1.1.20 mrg
3590 1.1.1.20 mrg * include/std/span (span): Reorder members and rename template
3591 1.1.1.20 mrg parameters to match declarations in the C++2a working paper.
3592 1.1.1.20 mrg
3593 1.1.1.20 mrg P2116R0 Remove tuple-like protocol support from fixed-extent span
3594 1.1.1.20 mrg * include/std/span (get, tuple_size, tuple_element): Remove.
3595 1.1.1.20 mrg * testsuite/23_containers/span/everything.cc: Remove checks for
3596 1.1.1.20 mrg tuple-like API.
3597 1.1.1.20 mrg * testsuite/23_containers/span/get_neg.cc: Remove.
3598 1.1.1.20 mrg * testsuite/23_containers/span/tuple_element_dynamic_neg.cc: Remove.
3599 1.1.1.20 mrg * testsuite/23_containers/span/tuple_element_oob_neg.cc: Remove.
3600 1.1.1.20 mrg * testsuite/23_containers/span/tuple_size_neg.cc: Remove.
3601 1.1.1.20 mrg
3602 1.1.1.20 mrg 2020-02-17 Patrick Palka <ppalka (a] redhat.com>
3603 1.1.1.20 mrg
3604 1.1.1.20 mrg P2106R0 Alternative wording for GB315 and GB316
3605 1.1.1.20 mrg * include/bits/ranges_algo.h (in_fun_result): New.
3606 1.1.1.20 mrg (for_each_result, for_each_n_result): Change into an alias of
3607 1.1.1.20 mrg in_fun_result.
3608 1.1.1.20 mrg (in_in_result): New.
3609 1.1.1.20 mrg (mismatch_result): Change into an alias of in_in_result.
3610 1.1.1.20 mrg (copy_if_result): Change into an alias of in_out_result.
3611 1.1.1.20 mrg (swap_ranges_result): Change into an alias of in_in_result.
3612 1.1.1.20 mrg (unary_transform_result): Change into an alias of in_out_result.
3613 1.1.1.20 mrg (in_in_out_result): New.
3614 1.1.1.20 mrg (binary_transform_result): Change into an alias of in_in_out_result.
3615 1.1.1.20 mrg (replace_copy_result, replace_copy_if_result, remove_copy_if_result,
3616 1.1.1.20 mrg remove_copy_result, unique_copy_result, reverse_copy_result,
3617 1.1.1.20 mrg rotate_copy_result, partial_sort_copy_result): Change into an alias of
3618 1.1.1.20 mrg in_out_result.
3619 1.1.1.20 mrg (in_out_out_result): New.
3620 1.1.1.20 mrg (partition_copy_result, merge_result): Change into an alias of
3621 1.1.1.20 mrg in_out_out_result.
3622 1.1.1.20 mrg (set_union_result, set_intersection_result): Change into an alias of
3623 1.1.1.20 mrg in_in_out_result.
3624 1.1.1.20 mrg (set_difference_result): Change into an alias of in_out_result.
3625 1.1.1.20 mrg (set_symmetric_difference): Change into an alias of in_in_out_result.
3626 1.1.1.20 mrg (min_max_result): New.
3627 1.1.1.20 mrg (minmax_result, minmax_element_result): Change into an alias of
3628 1.1.1.20 mrg min_max_result.
3629 1.1.1.20 mrg (in_found_result): New.
3630 1.1.1.20 mrg (next_permutation_result, prev_permutation_result): Change into an alias
3631 1.1.1.20 mrg of in_found_result.
3632 1.1.1.20 mrg (__next_permutation_fn::operator(), __prev_permutation_fn::operator()):
3633 1.1.1.20 mrg Adjust following changes to next_permutation_result and
3634 1.1.1.20 mrg prev_permutation_result.
3635 1.1.1.20 mrg * include/bits/ranges_algobase.h (in_out_result): New.
3636 1.1.1.20 mrg (copy_result, move_result, move_backward_result, copy_backward_result,
3637 1.1.1.20 mrg copy_n_result): Change into an alias of in_out_result.
3638 1.1.1.20 mrg * include/bits/ranges_uninitialized.h (uninitialized_copy_result,
3639 1.1.1.20 mrg uninitialized_copy_n_result, uninitialized_move_result,
3640 1.1.1.20 mrg uninitialized_move_n_result): Likewise.
3641 1.1.1.20 mrg * testsuite/25_algorithms/next_permutation/constrained.cc: Adjust uses of
3642 1.1.1.20 mrg structured bindings.
3643 1.1.1.20 mrg * testsuite/25_algorithms/prev_permutation/constrained.cc: Likewise.
3644 1.1.1.20 mrg
3645 1.1.1.20 mrg P1243R4 Rangify new algorithms
3646 1.1.1.20 mrg * include/bits/ranges_algo.h (for_each_n_result, __for_each_n_fn,
3647 1.1.1.20 mrg for_each_n, __sample_fn, sample, __clamp_fn, clamp): New.
3648 1.1.1.20 mrg * testsuite/25_algorithms/clamp/constrained.cc: New test.
3649 1.1.1.20 mrg * testsuite/25_algorithms/for_each/constrained.cc: Augment test.
3650 1.1.1.20 mrg * testsuite/25_algorithms/sample/constrained.cc: New test.
3651 1.1.1.20 mrg
3652 1.1.1.20 mrg 2020-02-17 Jonathan Wakely <jwakely (a] redhat.com>
3653 1.1.1.20 mrg
3654 1.1.1.20 mrg P1964R2 Wording for boolean-testable
3655 1.1.1.20 mrg * include/bits/ranges_algo.h (__find_fn, __find_first_of_fn)
3656 1.1.1.20 mrg (__adjacent_find_fn): Cast result of predicate to bool.
3657 1.1.1.20 mrg * include/std/concepts (__boolean): Remove.
3658 1.1.1.20 mrg (__detail::__boolean_testable_impl, __detail::__boolean_testable): Add
3659 1.1.1.20 mrg new helper concepts.
3660 1.1.1.20 mrg (__detail::__weakly_eq_cmp_with, totally_ordered, totally_ordered_with)
3661 1.1.1.20 mrg (predicate): Use __boolean_testable instead of boolean.
3662 1.1.1.20 mrg * libsupc++/compare (__detail::__partially_ordered, _Synth3way):
3663 1.1.1.20 mrg Likewise.
3664 1.1.1.20 mrg
3665 1.1.1.20 mrg P1970R2 Consistency for size() functions: Add ranges::ssize
3666 1.1.1.20 mrg * include/bits/range_access.h (_SSize, ssize): Define for C++20.
3667 1.1.1.20 mrg * testsuite/std/ranges/access/ssize.cc: New test.
3668 1.1.1.20 mrg
3669 1.1.1.20 mrg P1956R1 On the names of low-level bit manipulation functions
3670 1.1.1.20 mrg * include/bits/hashtable_policy.h: Update comment.
3671 1.1.1.20 mrg * include/std/bit (__ispow2, __ceil2, __floor2, __log2p1): Rename.
3672 1.1.1.20 mrg (ispow2, ceil2, floor2, log2p1): Likewise.
3673 1.1.1.20 mrg (__cpp_lib_int_pow2): Add feature test macro.
3674 1.1.1.20 mrg * include/std/charconv (__to_chars_len_2): Adjust use of __log2p1.
3675 1.1.1.20 mrg * include/std/memory (assume_aligned): Adjust use of ispow2.
3676 1.1.1.20 mrg * include/std/version (__cpp_lib_int_pow2): Add.
3677 1.1.1.20 mrg * libsupc++/new_opa.cc: Adjust use of __ispow2.
3678 1.1.1.20 mrg * src/c++17/memory_resource.cc: Likewise, and for __ceil2 and __log2p1.
3679 1.1.1.20 mrg * testsuite/17_intro/freestanding.cc: Adjust use of ispow2.
3680 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Rename to ...
3681 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: ... here.
3682 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/ceil2_neg.cc: Rename to ...
3683 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc: ... here.
3684 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/floor2.cc: Rename to ...
3685 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: ... here.
3686 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: Rename to ...
3687 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: ... here.
3688 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: Rename to ...
3689 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc: ... here.
3690 1.1.1.20 mrg
3691 1.1.1.20 mrg * include/std/charconv: Add comment.
3692 1.1.1.20 mrg
3693 1.1.1.20 mrg PR libstdc++/92546 (partial)
3694 1.1.1.20 mrg * include/bits/random.h (uniform_random_bit_generator): Move definition
3695 1.1.1.20 mrg to <bits/uniform_int_dist.h>.
3696 1.1.1.20 mrg * include/bits/ranges_algo.h: Include <bits/uniform_int_dist.h> instead
3697 1.1.1.20 mrg of <bits/random.h>.
3698 1.1.1.20 mrg * include/bits/ranges_algobase.h: Do not include <cmath>.
3699 1.1.1.20 mrg * include/bits/uniform_int_dist.h (uniform_random_bit_generator):
3700 1.1.1.20 mrg Move here.
3701 1.1.1.20 mrg * include/std/ranges: Do not include <limits>.
3702 1.1.1.20 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno.
3703 1.1.1.20 mrg
3704 1.1.1.20 mrg PR libstdc++/92546 (partial)
3705 1.1.1.20 mrg * include/Makefile.am: Add new header.
3706 1.1.1.20 mrg * include/Makefile.in: Regenerate.
3707 1.1.1.20 mrg * include/bits/int_limits.h: New header.
3708 1.1.1.20 mrg * include/bits/parse_numbers.h (__select_int::_Select_int): Replace
3709 1.1.1.20 mrg numeric_limits with __detail::__int_limits.
3710 1.1.1.20 mrg * include/std/bit (__rotl, __rotr, __countl_zero, __countl_one)
3711 1.1.1.20 mrg (__countr_zero, __countr_one, __popcount, __ceil2, __floor2, __log2p1):
3712 1.1.1.20 mrg Likewise.
3713 1.1.1.20 mrg * include/std/charconv (__to_chars_8, __from_chars_binary)
3714 1.1.1.20 mrg (__from_chars_alpha_to_num, from_chars): Likewise.
3715 1.1.1.20 mrg * include/std/memory_resource (polymorphic_allocator::allocate)
3716 1.1.1.20 mrg (polymorphic_allocator::allocate_object): Likewise.
3717 1.1.1.20 mrg * include/std/string_view (basic_string_view::_S_compare): Likewise.
3718 1.1.1.20 mrg * include/std/utility (in_range): Likewise.
3719 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/in_range_neg.cc: Adjust for
3720 1.1.1.20 mrg extra error about incomplete type __int_limits<bool>.
3721 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.count/countl_one.cc: Include <limits>.
3722 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise.
3723 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise.
3724 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise.
3725 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise.
3726 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/ceil2_neg.cc: Likewise.
3727 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Likewise.
3728 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/floor2.cc: Likewise.
3729 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: Likewise.
3730 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: Likewise.
3731 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise.
3732 1.1.1.20 mrg * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise.
3733 1.1.1.20 mrg
3734 1.1.1.20 mrg * python/libstdcxx/v6/printers.py (StdCmpCatPrinter.to_string): Update
3735 1.1.1.20 mrg value for partial_ordering::unordered.
3736 1.1.1.18 mrg
3737 1.1.1.20 mrg * include/bits/iterator_concepts.h (indirectly_copyable_storable): Add
3738 1.1.1.20 mrg const-qualified expression variations.
3739 1.1.1.20 mrg * include/std/concepts (copyable): Likewise.
3740 1.1.1.20 mrg
3741 1.1.1.20 mrg * include/std/type_traits (__is_standard_integer): New helper trait.
3742 1.1.1.20 mrg * include/std/utility (cmp_equal, cmp_not_equal, cmp_less, cmp_greater)
3743 1.1.1.20 mrg (cmp_less_equal, cmp_greater_equal, in_range): Define for C++20.
3744 1.1.1.20 mrg * include/std/version (__cpp_lib_integer_comparison_functions): Define.
3745 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/1.cc: New test.
3746 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/2.cc: New test.
3747 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/equal.cc: New test.
3748 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/equal_neg.cc: New test.
3749 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/greater_equal.cc: New test.
3750 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/greater_equal_neg.cc: New test.
3751 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/greater_neg.cc: New test.
3752 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/in_range.cc: New test.
3753 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/in_range_neg.cc: New test.
3754 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/less.cc: New test.
3755 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/less_equal.cc: New test.
3756 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/less_equal_neg.cc: New test.
3757 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/less_neg.cc: New test.
3758 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/not_equal.cc: New test.
3759 1.1.1.20 mrg * testsuite/20_util/integer_comparisons/not_equal_neg.cc: New test.
3760 1.1.1.20 mrg
3761 1.1.1.20 mrg 2020-02-16 Patrick Palka <ppalka (a] redhat.com>
3762 1.1.1.20 mrg
3763 1.1.1.20 mrg * include/bits/ranges_algo.h (__lexicographical_compare_fn::operator()):
3764 1.1.1.20 mrg Move code after an early exit constexpr if to under an else branch.
3765 1.1.1.20 mrg * include/bits/ranges_algobase.h (__equal_fn::operator()): Likewise.
3766 1.1.1.20 mrg
3767 1.1.1.20 mrg 2020-02-15 Patrick Palka <ppalka (a] redhat.com>
3768 1.1.1.20 mrg
3769 1.1.1.20 mrg * include/bits/ranges_algo.h: Adjust whitespace and formatting.
3770 1.1.1.20 mrg * include/bits/ranges_algobase.h: Likewise.
3771 1.1.1.20 mrg * include/bits/ranges_uninitialized.h: Likewise.
3772 1.1.1.20 mrg
3773 1.1.1.20 mrg * include/bits/ranges_algo.h: (adjacent_find, all_of, any_of,
3774 1.1.1.20 mrg binary_search, copy_if, count, count_if, equal_range, find, find_end,
3775 1.1.1.20 mrg find_first_of, find_if, find_if_not, for_each, generate, generate_n,
3776 1.1.1.20 mrg includes, inplace_merge, is_heap, is_heap_until, is_partitioned,
3777 1.1.1.20 mrg is_permutation, is_sorted, is_sorted_until, lexicographical_compare,
3778 1.1.1.20 mrg lower_bound, make_heap, max, max_element, merge, min, min_element,
3779 1.1.1.20 mrg minmax, minmax_element, mismatch, next_permutation, none_of,
3780 1.1.1.20 mrg nth_element, partial_sort, partial_sort_copy, partition, partition_copy,
3781 1.1.1.20 mrg partition_point, pop_heap, prev_permutation, push_heap, remove,
3782 1.1.1.20 mrg remove_copy, remove_copy_if, remove_if, replace, replace_copy,
3783 1.1.1.20 mrg replace_copy_if, replace_if, reverse, reverse_copy, rotate, rotate_copy,
3784 1.1.1.20 mrg search, search_n, set_difference, set_intersection,
3785 1.1.1.20 mrg set_symmetric_difference, set_union, shuffle, sort, sort_heap,
3786 1.1.1.20 mrg stable_partition, stable_sort, swap_ranges, transform, unique,
3787 1.1.1.20 mrg unique_copy, upper_bound): Convert into function objects.
3788 1.1.1.20 mrg * include/bits/ranges_algobase.h: (equal, copy, move, copy_n, fill_n,
3789 1.1.1.20 mrg fill, move_backward, copy_backward): Likewise.
3790 1.1.1.20 mrg * include/bits/ranges_uninitialized.h (uninitialized_default_construct,
3791 1.1.1.20 mrg uninitialized_default_construct_n, uninitialized_value_construct,
3792 1.1.1.20 mrg uninitialized_value_construct_n, uninitialized_copy,
3793 1.1.1.20 mrg uninitialized_copy_n, uninitialized_move, uninitialized_move_n,
3794 1.1.1.20 mrg uninitialized_fill, uninitialized_fill_n, construct_at, destroy_at,
3795 1.1.1.20 mrg destroy, destroy_n): Likewise.
3796 1.1.1.20 mrg
3797 1.1.1.20 mrg * include/bits/ranges_algo.h (ranges::__find_end): Fold into ...
3798 1.1.1.20 mrg (ranges::find_end): ... here.
3799 1.1.1.20 mrg (ranges::__lexicographical_compare): Fold into ...
3800 1.1.1.20 mrg (ranges::lexicographical_compare): ... here.
3801 1.1.1.20 mrg * include/bits/ranges_algobase.h (ranges::__equal): Fold into ...
3802 1.1.1.20 mrg (ranges::equal): ... here.
3803 1.1.1.18 mrg
3804 1.1.1.20 mrg 2020-02-15 Jonathan Wakely <jwakely (a] redhat.com>
3805 1.1.1.18 mrg
3806 1.1.1.20 mrg * include/bits/erase_if.h (__cpp_lib_erase_if): Define to 202002L.
3807 1.1.1.20 mrg * include/std/deque: Likewise.
3808 1.1.1.20 mrg * include/std/forward_list: Likewise.
3809 1.1.1.20 mrg * include/std/list: Likewise.
3810 1.1.1.20 mrg * include/std/string: Likewise.
3811 1.1.1.20 mrg * include/std/vector: Likewise.
3812 1.1.1.20 mrg * include/std/version: Likewise.
3813 1.1.1.20 mrg * testsuite/23_containers/deque/erasure.cc: Test for new value.
3814 1.1.1.20 mrg * testsuite/23_containers/forward_list/erasure.cc: Likewise.
3815 1.1.1.20 mrg * testsuite/23_containers/list/erasure.cc: Likewise.
3816 1.1.1.20 mrg * testsuite/23_containers/map/erasure.cc: Likewise.
3817 1.1.1.20 mrg * testsuite/23_containers/set/erasure.cc: Likewise.
3818 1.1.1.20 mrg * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
3819 1.1.1.20 mrg * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
3820 1.1.1.20 mrg * testsuite/23_containers/vector/erasure.cc: Likewise.
3821 1.1.1.16 mrg
3822 1.1.1.20 mrg 2020-02-15 Jonathan Wakely <jwakely (a] redhat.com>
3823 1.1.1.16 mrg
3824 1.1.1.20 mrg * include/bits/random.h (uniform_random_bit_generator): Require min()
3825 1.1.1.20 mrg and max() to be constant expressions and min() to be less than max().
3826 1.1.1.20 mrg * testsuite/26_numerics/random/concept.cc: Check additional cases.
3827 1.1.1.20 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno.
3828 1.1.1.15 mrg
3829 1.1.1.20 mrg 2020-02-13 Patrick Palka <ppalka (a] redhat.com>
3830 1.1.1.15 mrg
3831 1.1.1.20 mrg * include/Makefile.am: Add <bits/ranges_uninitialized.h>.
3832 1.1.1.20 mrg * include/Makefile.in: Regenerate.
3833 1.1.1.20 mrg * include/bits/ranges_uninitialized.h: New header.
3834 1.1.1.20 mrg * include/std/memory: Include it.
3835 1.1.1.20 mrg * testsuite/20_util/specialized_algorithms/destroy/constrained.cc: New
3836 1.1.1.19 mrg test.
3837 1.1.1.20 mrg * .../uninitialized_copy/constrained.cc: New test.
3838 1.1.1.20 mrg * .../uninitialized_default_construct/constrained.cc: New test.
3839 1.1.1.20 mrg * .../uninitialized_fill/constrained.cc: New test.
3840 1.1.1.20 mrg * .../uninitialized_move/constrained.cc: New test.
3841 1.1.1.20 mrg * .../uninitialized_value_construct/constrained.cc: New test.
3842 1.1.1.20 mrg
3843 1.1.1.20 mrg * include/Makefile.am: Add bits/ranges_algobase.h
3844 1.1.1.20 mrg * include/Makefile.in: Regenerate.
3845 1.1.1.20 mrg * bits/ranges_algo.h: Include <bits/ranges_algobase.h> and refactor
3846 1.1.1.20 mrg existing #includes.
3847 1.1.1.20 mrg (__detail::__is_normal_iterator, __detail::is_reverse_iterator,
3848 1.1.1.20 mrg __detail::__is_move_iterator, copy_result, move_result,
3849 1.1.1.20 mrg __equal, equal, copy_result, move_result, move_backward_result,
3850 1.1.1.20 mrg copy_backward_result, __copy_or_move_backward, __copy_or_move, copy,
3851 1.1.1.20 mrg move, copy_backward, move_backward, copy_n_result, copy_n, fill_n,
3852 1.1.1.20 mrg fill): Split out into ...
3853 1.1.1.20 mrg * bits/range_algobase.h: ... this new header.
3854 1.1.1.20 mrg
3855 1.1.1.20 mrg 2020-02-12 Patrick Palka <ppalka (a] redhat.com>
3856 1.1.1.20 mrg
3857 1.1.1.20 mrg LWG 3389 and LWG 3390
3858 1.1.1.20 mrg * include/bits/stl_iterator.h (move_move_iterator): Use std::move when
3859 1.1.1.20 mrg constructing the move_iterator with __i.
3860 1.1.1.20 mrg (counted_iterator::counted_iterator): Use std::move when initializing
3861 1.1.1.20 mrg M_current with __i.
3862 1.1.1.20 mrg * testsuite/24_iterators/counted_iterator/lwg3389.cc: New test.
3863 1.1.1.20 mrg * testsuite/24_iterators/move_iterator/lwg3390.cc: New test.
3864 1.1.1.20 mrg
3865 1.1.1.20 mrg 2020-02-12 Sandra Loosemore <sandra (a] codesourcery.com>
3866 1.1.1.20 mrg
3867 1.1.1.20 mrg PR libstdc++/79193
3868 1.1.1.20 mrg PR libstdc++/88999
3869 1.1.1.20 mrg
3870 1.1.1.20 mrg * configure: Regenerated.
3871 1.1.1.20 mrg
3872 1.1.1.20 mrg 2020-02-12 Franois Dumont <fdumont (a] gcc.gnu.org>
3873 1.1.1.20 mrg
3874 1.1.1.20 mrg * include/bits/hashtable.h
3875 1.1.1.20 mrg (_Hashtable<>(_Hashtable&&, std::allocator_type&)): Add
3876 1.1.1.20 mrg missing std namespace qualification to forward call.
3877 1.1.1.20 mrg
3878 1.1.1.20 mrg 2020-02-09 Jonathan Wakely <jwakely (a] redhat.com>
3879 1.1.1.15 mrg
3880 1.1.1.20 mrg * testsuite/20_util/function_objects/range.cmp/equal_to.cc: Fix
3881 1.1.1.20 mrg comment.
3882 1.1.1.20 mrg * testsuite/20_util/function_objects/range.cmp/less.ccL Likewise.
3883 1.1.1.15 mrg
3884 1.1.1.20 mrg * include/std/ranges: Fix non-ASCII characters in comment.
3885 1.1.1.19 mrg
3886 1.1.1.20 mrg * include/bits/range_cmp.h (__detail::__eq_builtin_ptr_cmp): Require
3887 1.1.1.20 mrg equality comparison to be valid and return bool.
3888 1.1.1.20 mrg (__detail::__less_builtin_ptr_cmp): Likewise for less-than comparison.
3889 1.1.1.20 mrg * testsuite/20_util/function_objects/range.cmp/equal_to.cc: Check
3890 1.1.1.20 mrg type with ambiguous conversion to fundamental types.
3891 1.1.1.20 mrg * testsuite/20_util/function_objects/range.cmp/less.cc: Likewise.
3892 1.1.1.20 mrg
3893 1.1.1.20 mrg 2020-02-07 Jonathan Wakely <jwakely (a] redhat.com>
3894 1.1.1.20 mrg
3895 1.1.1.20 mrg * include/bits/iterator_concepts.h (iter_difference_t, iter_value_t):
3896 1.1.1.20 mrg Use remove_cvref_t.
3897 1.1.1.20 mrg (readable_traits): Rename to indirectly_readable_traits.
3898 1.1.1.20 mrg (readable): Rename to indirectly_readable.
3899 1.1.1.20 mrg (writable): Rename to indirectly_writable.
3900 1.1.1.20 mrg (__detail::__iter_exchange_move): Do not use remove_reference_t.
3901 1.1.1.20 mrg (indirectly_swappable): Adjust requires expression parameter types.
3902 1.1.1.20 mrg expression.
3903 1.1.1.20 mrg * include/bits/ranges_algo.h (ranges::transform, ranges::replace)
3904 1.1.1.20 mrg (ranges::replace_if, ranges::generate_n, ranges::generate)
3905 1.1.1.20 mrg (ranges::remove): Use new name for writable.
3906 1.1.1.20 mrg * include/bits/stl_iterator.h (__detail::__common_iter_has_arrow):
3907 1.1.1.20 mrg Use new name for readable.
3908 1.1.1.20 mrg * include/ext/pointer.h (readable_traits<_Pointer_adapter<P>>): Use
3909 1.1.1.20 mrg new name for readable_traits.
3910 1.1.1.20 mrg * testsuite/24_iterators/associated_types/readable.traits.cc: Likewise.
3911 1.1.1.20 mrg * testsuite/24_iterators/indirect_callable/projected.cc: Adjust for
3912 1.1.1.20 mrg new definition of indirectly_readable.
3913 1.1.1.20 mrg
3914 1.1.1.20 mrg * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Change
3915 1.1.1.20 mrg to take parameters of common_iterator, instead of the common_iterator
3916 1.1.1.20 mrg type itself. Fix argument for __common_iter_has_arrow constraint.
3917 1.1.1.20 mrg (iterator_traits<common_iterator<I, S>>::pointer): Adjust.
3918 1.1.1.20 mrg
3919 1.1.1.20 mrg 2020-02-07 Jonathan Wakely <jwakely (a] redhat.com>
3920 1.1.1.20 mrg
3921 1.1.1.20 mrg * include/std/ranges (iota_view): Add braces to prevent -Wempty-body
3922 1.1.1.20 mrg warning.
3923 1.1.1.20 mrg (basic_istream_view::_Iterator::operator++()): Add missing return.
3924 1.1.1.20 mrg
3925 1.1.1.20 mrg 2020-02-07 Patrick Palka <ppalka (a] redhat.com>
3926 1.1.1.20 mrg
3927 1.1.1.20 mrg * include/bits/ranges_algo.h: Remove extraneous &&.
3928 1.1.1.20 mrg
3929 1.1.1.20 mrg * include/std/ranges (ranges::__detail::__stream_extractable,
3930 1.1.1.20 mrg ranges::basic_istream_view, ranges::istream_view): Define.
3931 1.1.1.20 mrg * testsuite/std/ranges/istream_view: New test.
3932 1.1.1.20 mrg
3933 1.1.1.20 mrg Implement C++20 range adaptors
3934 1.1.1.20 mrg * include/std/ranges: Include <bits/refwrap.h> and <tuple>.
3935 1.1.1.20 mrg (subrange::_S_store_size): Mark as const instead of constexpr to
3936 1.1.1.20 mrg avoid what seems to be a bug in GCC.
3937 1.1.1.20 mrg (__detail::__box): Give it defaulted copy and move constructors.
3938 1.1.1.20 mrg (ranges::views::_Single::operator()): Mark constexpr.
3939 1.1.1.20 mrg (ranges::views::_Iota::operator()): Mark constexpr.
3940 1.1.1.20 mrg (__detail::Empty): Define.
3941 1.1.1.20 mrg (ranges::views::__closure::_RangeAdaptor,
3942 1.1.1.20 mrg ranges::views::__closure::_RangeAdaptorClosure, ref_view, all_view,
3943 1.1.1.20 mrg ranges::views::all, ranges::__detail::find_if,
3944 1.1.1.20 mrg ranges::__detail::find_if_not, ranges::__detail::mismatch,
3945 1.1.1.20 mrg ranges::detail::min, filter_view, ranges::views::filter, transform_view,
3946 1.1.1.20 mrg ranges::views::transform, take_view, ranges::views::take,
3947 1.1.1.20 mrg take_while_view, ranges::views::take_while, drop_view,
3948 1.1.1.20 mrg ranges::views::drop, join_view, ranges::views::join,
3949 1.1.1.20 mrg __detail::require_constant, __detail::tiny_range, split_view,
3950 1.1.1.20 mrg ranges::views::split, ranges::views::_Counted, ranges::views::counted,
3951 1.1.1.20 mrg common_view, ranges::views::common, reverse_view,
3952 1.1.1.20 mrg ranges::views::reverse,
3953 1.1.1.20 mrg ranges::views::__detail::__is_reversible_subrange,
3954 1.1.1.20 mrg ranges::views::__detail::__is_reverse_view, reverse_view,
3955 1.1.1.20 mrg ranges::views::reverse, __detail::__has_tuple_element, elements_view,
3956 1.1.1.20 mrg ranges::views::elements, ranges::views::keys, ranges::views::values):
3957 1.1.1.20 mrg Define.
3958 1.1.1.20 mrg (views): Alias for ranges::views.
3959 1.1.1.20 mrg (tuple_size<ranges::subrange<>>, tuple_element<0, ranges::subrange>,
3960 1.1.1.20 mrg tuple_element<1, ranges::subrange>): New partial specializations.
3961 1.1.1.20 mrg * testsuite/std/ranges/adaptors/all.cc: New test.
3962 1.1.1.20 mrg * testsuite/std/ranges/adaptors/common.cc: Likewise.
3963 1.1.1.20 mrg * testsuite/std/ranges/adaptors/counted.cc: Likewise.
3964 1.1.1.20 mrg * testsuite/std/ranges/adaptors/drop.cc: Likewise.
3965 1.1.1.20 mrg * testsuite/std/ranges/adaptors/drop_while.cc: Likewise.
3966 1.1.1.20 mrg * testsuite/std/ranges/adaptors/elements.cc: Likewise.
3967 1.1.1.20 mrg * testsuite/std/ranges/adaptors/filter.cc: Likewise.
3968 1.1.1.20 mrg * testsuite/std/ranges/adaptors/join.cc: Likewise.
3969 1.1.1.20 mrg * testsuite/std/ranges/adaptors/reverse.cc: Likewise.
3970 1.1.1.20 mrg * testsuite/std/ranges/adaptors/split.cc: Likewise.
3971 1.1.1.20 mrg * testsuite/std/ranges/adaptors/take.cc: Likewise.
3972 1.1.1.20 mrg * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
3973 1.1.1.20 mrg * testsuite/std/ranges/adaptors/transform.cc: Likewise.
3974 1.1.1.20 mrg
3975 1.1.1.20 mrg 2020-02-07 Jonathan Wakely <jwakely (a] redhat.com>
3976 1.1.1.20 mrg
3977 1.1.1.20 mrg * libsupc++/compare (__cmp_cat::type): Define typedef for underlying
3978 1.1.1.20 mrg type of enumerations and comparison category types.
3979 1.1.1.20 mrg (__cmp_cat::_Ord, __cmp_cat::_Ncmp): Add underlying type.
3980 1.1.1.20 mrg (__cmp_cat::_Ncmp::unordered): Change value to 2.
3981 1.1.1.20 mrg (partial_ordering::_M_value, weak_ordering::_M_value)
3982 1.1.1.20 mrg (strong_ordering::_M_value): Change type to __cmp_cat::type.
3983 1.1.1.20 mrg (partial_ordering::_M_is_ordered): Remove data member.
3984 1.1.1.20 mrg (partial_ordering): Use second bit of _M_value for unordered. Adjust
3985 1.1.1.20 mrg comparison operators.
3986 1.1.1.20 mrg (weak_ordering::operator partial_ordering): Simplify to remove
3987 1.1.1.20 mrg branches.
3988 1.1.1.20 mrg (operator<=>(unspecified, weak_ordering)): Likewise.
3989 1.1.1.20 mrg (strong_ordering::operator partial_ordering): Likewise.
3990 1.1.1.20 mrg (strong_ordering::operator weak_ordering): Likewise.
3991 1.1.1.20 mrg (operator<=>(unspecified, strong_ordering)): Likewise.
3992 1.1.1.20 mrg * testsuite/18_support/comparisons/categories/partialord.cc: New test.
3993 1.1.1.20 mrg * testsuite/18_support/comparisons/categories/strongord.cc: New test.
3994 1.1.1.20 mrg * testsuite/18_support/comparisons/categories/weakord.cc: New test.
3995 1.1.1.20 mrg
3996 1.1.1.20 mrg * include/std/ranges (iota_view::_Iterator): Fix typo in name of
3997 1.1.1.20 mrg __cpp_lib_three_way_comparison macro and use deduced return type for
3998 1.1.1.20 mrg operator<=>.
3999 1.1.1.20 mrg * testsuite/std/ranges/iota/iterator.cc: New test.
4000 1.1.1.19 mrg
4001 1.1.1.20 mrg 2020-02-07 Patrick Palka <ppalka (a] redhat.com>
4002 1.1.1.20 mrg Jonathan Wakely <jwakely (a] redhat.com>
4003 1.1.1.19 mrg
4004 1.1.1.20 mrg Implement C++20 constrained algorithms
4005 1.1.1.20 mrg * include/Makefile.am: Add new header.
4006 1.1.1.20 mrg * include/Makefile.in: Regenerate.
4007 1.1.1.20 mrg * include/std/algorithm: Include <bits/ranges_algo.h>.
4008 1.1.1.20 mrg * include/bits/ranges_algo.h: New file.
4009 1.1.1.20 mrg * testsuite/25_algorithms/adjacent_find/constrained.cc: New test.
4010 1.1.1.20 mrg * testsuite/25_algorithms/all_of/constrained.cc: New test.
4011 1.1.1.20 mrg * testsuite/25_algorithms/any_of/constrained.cc: New test.
4012 1.1.1.20 mrg * testsuite/25_algorithms/binary_search/constrained.cc: New test.
4013 1.1.1.20 mrg * testsuite/25_algorithms/copy/constrained.cc: New test.
4014 1.1.1.20 mrg * testsuite/25_algorithms/copy_backward/constrained.cc: New test.
4015 1.1.1.20 mrg * testsuite/25_algorithms/copy_if/constrained.cc: New test.
4016 1.1.1.20 mrg * testsuite/25_algorithms/copy_n/constrained.cc: New test.
4017 1.1.1.20 mrg * testsuite/25_algorithms/count/constrained.cc: New test.
4018 1.1.1.20 mrg * testsuite/25_algorithms/count_if/constrained.cc: New test.
4019 1.1.1.20 mrg * testsuite/25_algorithms/equal/constrained.cc: New test.
4020 1.1.1.20 mrg * testsuite/25_algorithms/equal_range/constrained.cc: New test.
4021 1.1.1.20 mrg * testsuite/25_algorithms/fill/constrained.cc: New test.
4022 1.1.1.20 mrg * testsuite/25_algorithms/fill_n/constrained.cc: New test.
4023 1.1.1.20 mrg * testsuite/25_algorithms/find/constrained.cc: New test.
4024 1.1.1.20 mrg * testsuite/25_algorithms/find_end/constrained.cc: New test.
4025 1.1.1.20 mrg * testsuite/25_algorithms/find_first_of/constrained.cc: New test.
4026 1.1.1.20 mrg * testsuite/25_algorithms/find_if/constrained.cc: New test.
4027 1.1.1.20 mrg * testsuite/25_algorithms/find_if_not/constrained.cc: New test.
4028 1.1.1.20 mrg * testsuite/25_algorithms/for_each/constrained.cc: New test.
4029 1.1.1.20 mrg * testsuite/25_algorithms/generate/constrained.cc: New test.
4030 1.1.1.20 mrg * testsuite/25_algorithms/generate_n/constrained.cc: New test.
4031 1.1.1.20 mrg * testsuite/25_algorithms/heap/constrained.cc: New test.
4032 1.1.1.20 mrg * testsuite/25_algorithms/includes/constrained.cc: New test.
4033 1.1.1.20 mrg * testsuite/25_algorithms/inplace_merge/constrained.cc: New test.
4034 1.1.1.20 mrg * testsuite/25_algorithms/is_partitioned/constrained.cc: New test.
4035 1.1.1.20 mrg * testsuite/25_algorithms/is_permutation/constrained.cc: New test.
4036 1.1.1.20 mrg * testsuite/25_algorithms/is_sorted/constrained.cc: New test.
4037 1.1.1.20 mrg * testsuite/25_algorithms/is_sorted_until/constrained.cc: New test.
4038 1.1.1.20 mrg * testsuite/25_algorithms/lexicographical_compare/constrained.cc: New
4039 1.1.1.19 mrg test.
4040 1.1.1.20 mrg * testsuite/25_algorithms/lower_bound/constrained.cc: New test.
4041 1.1.1.20 mrg * testsuite/25_algorithms/max/constrained.cc: New test.
4042 1.1.1.20 mrg * testsuite/25_algorithms/max_element/constrained.cc: New test.
4043 1.1.1.20 mrg * testsuite/25_algorithms/merge/constrained.cc: New test.
4044 1.1.1.20 mrg * testsuite/25_algorithms/min/constrained.cc: New test.
4045 1.1.1.20 mrg * testsuite/25_algorithms/min_element/constrained.cc: New test.
4046 1.1.1.20 mrg * testsuite/25_algorithms/minmax/constrained.cc: New test.
4047 1.1.1.20 mrg * testsuite/25_algorithms/minmax_element/constrained.cc: New test.
4048 1.1.1.20 mrg * testsuite/25_algorithms/mismatch/constrained.cc: New test.
4049 1.1.1.20 mrg * testsuite/25_algorithms/move/constrained.cc: New test.
4050 1.1.1.20 mrg * testsuite/25_algorithms/move_backward/constrained.cc: New test.
4051 1.1.1.20 mrg * testsuite/25_algorithms/next_permutation/constrained.cc: New test.
4052 1.1.1.20 mrg * testsuite/25_algorithms/none_of/constrained.cc: New test.
4053 1.1.1.20 mrg * testsuite/25_algorithms/nth_element/constrained.cc: New test.
4054 1.1.1.20 mrg * testsuite/25_algorithms/partial_sort/constrained.cc: New test.
4055 1.1.1.20 mrg * testsuite/25_algorithms/partial_sort_copy/constrained.cc: New test.
4056 1.1.1.20 mrg * testsuite/25_algorithms/partition/constrained.cc: New test.
4057 1.1.1.20 mrg * testsuite/25_algorithms/partition_copy/constrained.cc: New test.
4058 1.1.1.20 mrg * testsuite/25_algorithms/partition_point/constrained.cc: New test.
4059 1.1.1.20 mrg * testsuite/25_algorithms/prev_permutation/constrained.cc: New test.
4060 1.1.1.20 mrg * testsuite/25_algorithms/remove/constrained.cc: New test.
4061 1.1.1.20 mrg * testsuite/25_algorithms/remove_copy/constrained.cc: New test.
4062 1.1.1.20 mrg * testsuite/25_algorithms/remove_copy_if/constrained.cc: New test.
4063 1.1.1.20 mrg * testsuite/25_algorithms/remove_if/constrained.cc: New test.
4064 1.1.1.20 mrg * testsuite/25_algorithms/replace/constrained.cc: New test.
4065 1.1.1.20 mrg * testsuite/25_algorithms/replace_copy/constrained.cc: New test.
4066 1.1.1.20 mrg * testsuite/25_algorithms/replace_copy_if/constrained.cc: New test.
4067 1.1.1.20 mrg * testsuite/25_algorithms/replace_if/constrained.cc: New test.
4068 1.1.1.20 mrg * testsuite/25_algorithms/reverse/constrained.cc: New test.
4069 1.1.1.20 mrg * testsuite/25_algorithms/reverse_copy/constrained.cc: New test.
4070 1.1.1.20 mrg * testsuite/25_algorithms/rotate/constrained.cc: New test.
4071 1.1.1.20 mrg * testsuite/25_algorithms/rotate_copy/constrained.cc: New test.
4072 1.1.1.20 mrg * testsuite/25_algorithms/search/constrained.cc: New test.
4073 1.1.1.20 mrg * testsuite/25_algorithms/search_n/constrained.cc: New test.
4074 1.1.1.20 mrg * testsuite/25_algorithms/set_difference/constrained.cc: New test.
4075 1.1.1.20 mrg * testsuite/25_algorithms/set_intersection/constrained.cc: New test.
4076 1.1.1.20 mrg * testsuite/25_algorithms/set_symmetric_difference/constrained.cc: New
4077 1.1.1.20 mrg test.
4078 1.1.1.20 mrg * testsuite/25_algorithms/set_union/constrained.cc: New test.
4079 1.1.1.20 mrg * testsuite/25_algorithms/shuffle/constrained.cc: New test.
4080 1.1.1.20 mrg * testsuite/25_algorithms/sort/constrained.cc: New test.
4081 1.1.1.20 mrg * testsuite/25_algorithms/stable_partition/constrained.cc: New test.
4082 1.1.1.20 mrg * testsuite/25_algorithms/stable_sort/constrained.cc: New test.
4083 1.1.1.20 mrg * testsuite/25_algorithms/swap_ranges/constrained.cc: New test.
4084 1.1.1.20 mrg * testsuite/25_algorithms/transform/constrained.cc: New test.
4085 1.1.1.20 mrg * testsuite/25_algorithms/unique/constrained.cc: New test.
4086 1.1.1.20 mrg * testsuite/25_algorithms/unique_copy/constrained.cc: New test.
4087 1.1.1.20 mrg * testsuite/25_algorithms/upper_bound/constrained.cc: New test.
4088 1.1.1.20 mrg
4089 1.1.1.20 mrg 2020-02-06 Jonathan Wakely <jwakely (a] redhat.com>
4090 1.1.1.20 mrg
4091 1.1.1.20 mrg * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Fix PR
4092 1.1.1.20 mrg number in comment. Fix indentation.
4093 1.1.1.20 mrg
4094 1.1.1.20 mrg * include/bits/stl_algobase.h (__iter_swap, __iter_swap<true>): Remove
4095 1.1.1.20 mrg redundant _GLIBCXX20_CONSTEXPR.
4096 1.1.1.20 mrg
4097 1.1.1.20 mrg * include/std/ranges (viewable_range): Replace decay_t with
4098 1.1.1.20 mrg remove_cvref_t (LWG 3375).
4099 1.1.1.20 mrg
4100 1.1.1.20 mrg 2020-02-05 Jonathan Wakely <jwakely (a] redhat.com>
4101 1.1.1.20 mrg
4102 1.1.1.20 mrg * include/bits/iterator_concepts.h (iter_reference_t)
4103 1.1.1.20 mrg (iter_rvalue_reference_t, iter_common_reference_t, indirect_result_t):
4104 1.1.1.20 mrg Remove workarounds for PR c++/67704.
4105 1.1.1.20 mrg * testsuite/24_iterators/aliases.cc: New test.
4106 1.1.1.20 mrg
4107 1.1.1.20 mrg 2020-02-05 Patrick Palka <ppalka (a] redhat.com>
4108 1.1.1.20 mrg
4109 1.1.1.20 mrg * include/bits/stl_iterator.h (move_iterator::move_iterator): Move __i
4110 1.1.1.20 mrg when initializing _M_current.
4111 1.1.1.20 mrg (move_iterator::base): Split into two overloads differing in
4112 1.1.1.20 mrg ref-qualifiers as in P1207R4 for C++20.
4113 1.1.1.15 mrg
4114 1.1.1.20 mrg 2020-02-04 Jonathan Wakely <jwakely (a] redhat.com>
4115 1.1.1.15 mrg
4116 1.1.1.20 mrg * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Un-define after
4117 1.1.1.20 mrg use.
4118 1.1.1.20 mrg
4119 1.1.1.20 mrg PR libstdc++/93562
4120 1.1.1.20 mrg * include/bits/unique_ptr.h (__uniq_ptr_impl::swap): Define.
4121 1.1.1.20 mrg (unique_ptr::swap, unique_ptr<T[], D>::swap): Call it.
4122 1.1.1.20 mrg * testsuite/20_util/unique_ptr/modifiers/93562.cc: New test.
4123 1.1.1.20 mrg
4124 1.1.1.20 mrg 2020-02-01 Andrew Burgess <andrew.burgess (a] embecosm.com>
4125 1.1.1.20 mrg
4126 1.1.1.20 mrg * configure: Regenerate.
4127 1.1.1.20 mrg
4128 1.1.1.20 mrg 2020-01-31 Patrick Palka <ppalka (a] redhat.com>
4129 1.1.1.20 mrg
4130 1.1.1.20 mrg * testsuite/24_iterators/range_operations/distance.cc: Do not assume
4131 1.1.1.20 mrg test_range::end() returns the same type as test_range::begin().
4132 1.1.1.20 mrg * testsuite/24_iterators/range_operations/next.cc: Likewise.
4133 1.1.1.20 mrg * testsuite/24_iterators/range_operations/prev.cc: Likewise.
4134 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h (__gnu_test::test_range::end):
4135 1.1.1.20 mrg Always return a sentinel<I>.
4136 1.1.1.20 mrg
4137 1.1.1.20 mrg 2020-01-29 Jonathan Wakely <jwakely (a] redhat.com>
4138 1.1.1.20 mrg
4139 1.1.1.20 mrg PR libstdc++/92895
4140 1.1.1.20 mrg * include/std/stop_token (stop_token::stop_possible()): Call new
4141 1.1.1.20 mrg _M_stop_possible() function.
4142 1.1.1.20 mrg (stop_token::stop_requested()): Do not use stop_possible().
4143 1.1.1.20 mrg (stop_token::binary_semaphore): New class, as temporary stand-in for
4144 1.1.1.20 mrg std::binary_semaphore.
4145 1.1.1.20 mrg (stop_token::_Stop_cb::_M_callback): Add noexcept to type.
4146 1.1.1.20 mrg (stop_token::_Stop_cb::_M_destroyed, stop_token::_Stop_cb::_M_done):
4147 1.1.1.20 mrg New data members for symchronization with stop_callback destruction.
4148 1.1.1.20 mrg (stop_token::_Stop_cb::_Stop_cb): Make non-template.
4149 1.1.1.20 mrg (stop_token::_Stop_cb::_M_linked, stop_token::_Stop_cb::_S_execute):
4150 1.1.1.20 mrg Remove.
4151 1.1.1.20 mrg (stop_token::_Stop_cb::_M_run): New member function.
4152 1.1.1.20 mrg (stop_token::_Stop_state::_M_stopped, stop_token::_Stop_state::_M_mtx):
4153 1.1.1.20 mrg Remove.
4154 1.1.1.20 mrg (stop_token::_Stop_state::_M_owners): New data member to track
4155 1.1.1.20 mrg reference count for ownership.
4156 1.1.1.20 mrg (stop_token::_Stop_state::_M_value): New data member combining a
4157 1.1.1.20 mrg spinlock, the stop requested flag, and the reference count for
4158 1.1.1.20 mrg associated stop_source objects.
4159 1.1.1.20 mrg (stop_token::_Stop_state::_M_requester): New data member for
4160 1.1.1.20 mrg synchronization with stop_callback destruction.
4161 1.1.1.20 mrg (stop_token::_Stop_state::_M_stop_possible()): New member function.
4162 1.1.1.20 mrg (stop_token::_Stop_state::_M_stop_requested()): Inspect relevant bit
4163 1.1.1.20 mrg of _M_value.
4164 1.1.1.20 mrg (stop_token::_Stop_state::_M_add_owner)
4165 1.1.1.20 mrg (stop_token::_Stop_state::_M_release_ownership)
4166 1.1.1.20 mrg (stop_token::_Stop_state::_M_add_ssrc)
4167 1.1.1.20 mrg (stop_token::_Stop_state::_M_sub_ssrc): New member functions for
4168 1.1.1.20 mrg updating reference counts.
4169 1.1.1.20 mrg (stop_token::_Stop_state::_M_lock, stop_token::_Stop_state::_M_unlock)
4170 1.1.1.20 mrg (stop_token::_Stop_state::_M_lock, stop_token::_Stop_state::_M_unlock)
4171 1.1.1.20 mrg (stop_token::_Stop_state::_M_try_lock)
4172 1.1.1.20 mrg (stop_token::_Stop_state::_M_try_lock_and_stop)
4173 1.1.1.20 mrg (stop_token::_Stop_state::_M_do_try_lock): New member functions for
4174 1.1.1.20 mrg managing spinlock.
4175 1.1.1.20 mrg (stop_token::_Stop_state::_M_request_stop): Use atomic operations to
4176 1.1.1.20 mrg read and update state. Release lock while running callbacks. Use new
4177 1.1.1.20 mrg data members to synchronize with callback destruction.
4178 1.1.1.20 mrg (stop_token::_Stop_state::_M_remove_callback): Likewise.
4179 1.1.1.20 mrg (stop_token::_Stop_state::_M_register_callback): Use atomic operations
4180 1.1.1.20 mrg to read and update state.
4181 1.1.1.20 mrg (stop_token::_Stop_state_ref): Handle type to manage _Stop_state,
4182 1.1.1.20 mrg replacing shared_ptr.
4183 1.1.1.20 mrg (stop_source::stop_source(const stop_source&)): Update reference count.
4184 1.1.1.20 mrg (stop_source::operator=(const stop_source&)): Likewise.
4185 1.1.1.20 mrg (stop_source::~stop_source()): Likewise.
4186 1.1.1.20 mrg (stop_source::stop_source(stop_source&&)): Define as defaulted.
4187 1.1.1.20 mrg (stop_source::operator=(stop_source&&)): Establish postcondition on
4188 1.1.1.20 mrg parameter.
4189 1.1.1.20 mrg (stop_callback): Enforce preconditions on template parameter. Replace
4190 1.1.1.20 mrg base class with data member of new _Cb_impl type.
4191 1.1.1.20 mrg (stop_callback::stop_callback(const stop_token&, Cb&&))
4192 1.1.1.20 mrg (stop_callback::stop_callback(stop_token&&, Cb&&)): Fix TOCTTOU race.
4193 1.1.1.20 mrg (stop_callback::_Cb_impl): New type wrapping _Callback member and
4194 1.1.1.20 mrg defining the _S_execute member function.
4195 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc: New
4196 1.1.1.20 mrg test.
4197 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: New test.
4198 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/destroy.cc: New test.
4199 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc:
4200 1.1.1.19 mrg New test.
4201 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc: New
4202 1.1.1.20 mrg test.
4203 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_callback/invoke.cc: New test.
4204 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_source/assign.cc: New test.
4205 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_token/stop_possible.cc: New
4206 1.1.1.20 mrg test.
4207 1.1.1.15 mrg
4208 1.1.1.20 mrg * libsupc++/compare (__detail::__3way_builtin_ptr_cmp): Use
4209 1.1.1.20 mrg three_way_comparable_with.
4210 1.1.1.20 mrg (__detail::__3way_cmp_with): Remove workaround for fixed bug.
4211 1.1.1.20 mrg (compare_three_way::operator()): Remove redundant constraint from
4212 1.1.1.20 mrg requires-clause.
4213 1.1.1.20 mrg (__detail::_Synth3way::operator()): Use three_way_comparable_with
4214 1.1.1.20 mrg instead of workaround.
4215 1.1.1.20 mrg * testsuite/18_support/comparisons/object/93479.cc: Prune extra
4216 1.1.1.20 mrg output due to simplified constraints on compare_three_way::operator().
4217 1.1.1.20 mrg
4218 1.1.1.20 mrg PR libstdc++/93479
4219 1.1.1.20 mrg * libsupc++/compare (__3way_builtin_ptr_cmp): Require <=> to be valid.
4220 1.1.1.20 mrg * testsuite/18_support/comparisons/object/93479.cc: New test.
4221 1.1.1.20 mrg
4222 1.1.1.20 mrg * testsuite/std/ranges/access/end.cc: Do not assume test_range::end()
4223 1.1.1.20 mrg returns the same type as test_range::begin(). Add comments.
4224 1.1.1.20 mrg * testsuite/std/ranges/access/rbegin.cc: Likewise.
4225 1.1.1.20 mrg * testsuite/std/ranges/access/rend.cc: Likewise.
4226 1.1.1.20 mrg * testsuite/std/ranges/range.cc: Do not assume the sentinel for
4227 1.1.1.20 mrg test_range is the same as its iterator type.
4228 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h (test_range::sentinel): Add
4229 1.1.1.20 mrg operator- overloads to satisfy sized_sentinel_for when the iterator
4230 1.1.1.20 mrg satisfies random_access_iterator.
4231 1.1.1.15 mrg
4232 1.1.1.20 mrg 2020-01-28 Jonathan Wakely <jwakely (a] redhat.com>
4233 1.1.1.15 mrg
4234 1.1.1.20 mrg PR libstdc++/93470
4235 1.1.1.20 mrg * include/bits/refwrap.h (reference_wrapper::operator()): Restrict
4236 1.1.1.20 mrg static assertion to object types.
4237 1.1.1.15 mrg
4238 1.1.1.20 mrg PR libstdc++/93325
4239 1.1.1.20 mrg * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Use AC_SEARCH_LIBS for
4240 1.1.1.20 mrg clock_gettime instead of explicit glibc version check.
4241 1.1.1.20 mrg * configure: Regenerate.
4242 1.1.1.13 mrg
4243 1.1.1.20 mrg 2020-01-28 Martin Liska <mliska (a] suse.cz>
4244 1.1.1.13 mrg
4245 1.1.1.20 mrg PR libstdc++/93478
4246 1.1.1.20 mrg * include/std/atomic: Fix typo.
4247 1.1.1.20 mrg * include/std/optional: Likewise.
4248 1.1.1.18 mrg
4249 1.1.1.20 mrg 2020-01-27 Andrew Burgess <andrew.burgess (a] embecosm.com>
4250 1.1.1.18 mrg
4251 1.1.1.19 mrg * configure: Regenerate.
4252 1.1.1.18 mrg
4253 1.1.1.20 mrg 2020-01-27 Jonathan Wakely <jwakely (a] redhat.com>
4254 1.1.1.18 mrg
4255 1.1.1.20 mrg PR libstdc++/93426
4256 1.1.1.20 mrg * include/std/span (span): Fix deduction guide.
4257 1.1.1.20 mrg * testsuite/23_containers/span/deduction.cc: New test.
4258 1.1.1.18 mrg
4259 1.1.1.20 mrg 2020-01-24 Jonathan Wakely <jwakely (a] redhat.com>
4260 1.1.1.19 mrg
4261 1.1.1.20 mrg * libsupc++/compare (__cmp_cat::_Eq): Remove enumeration type.
4262 1.1.1.20 mrg (__cmp_cat::_Ord::equivalent): Add enumerator.
4263 1.1.1.20 mrg (__cmp_cat::_Ord::_Less, __cmp_cat::_Ord::_Greater): Rename to less
4264 1.1.1.20 mrg and greater.
4265 1.1.1.20 mrg (partial_ordering, weak_ordering, strong_ordering): Remove
4266 1.1.1.20 mrg constructors taking __cmp_cat::_Eq parameters. Use renamed
4267 1.1.1.20 mrg enumerators.
4268 1.1.1.19 mrg
4269 1.1.1.20 mrg 2020-01-24 Maciej W. Rozycki <macro (a] wdc.com>
4270 1.1.1.18 mrg
4271 1.1.1.20 mrg * acinclude.m4: Handle `--with-toolexeclibdir='.
4272 1.1.1.20 mrg * Makefile.in: Regenerate.
4273 1.1.1.20 mrg * aclocal.m4: Regenerate.
4274 1.1.1.20 mrg * configure: Regenerate.
4275 1.1.1.20 mrg * doc/Makefile.in: Regenerate.
4276 1.1.1.20 mrg * include/Makefile.in: Regenerate.
4277 1.1.1.20 mrg * libsupc++/Makefile.in: Regenerate.
4278 1.1.1.20 mrg * po/Makefile.in: Regenerate.
4279 1.1.1.20 mrg * python/Makefile.in: Regenerate.
4280 1.1.1.20 mrg * src/Makefile.in: Regenerate.
4281 1.1.1.20 mrg * src/c++11/Makefile.in: Regenerate.
4282 1.1.1.20 mrg * src/c++17/Makefile.in: Regenerate.
4283 1.1.1.20 mrg * src/c++98/Makefile.in: Regenerate.
4284 1.1.1.20 mrg * src/filesystem/Makefile.in: Regenerate.
4285 1.1.1.20 mrg * testsuite/Makefile.in: Regenerate.
4286 1.1.1.19 mrg
4287 1.1.1.20 mrg 2020-01-23 Alexandre Oliva <oliva (a] adacore.com>
4288 1.1.1.19 mrg
4289 1.1.1.20 mrg * crossconfig.m4 (GLIBCXX_CHECK_MATH_DECL): Reject macros.
4290 1.1.1.20 mrg * configure: Rebuild.
4291 1.1.1.19 mrg
4292 1.1.1.20 mrg * testsuite/27_io/fpos/mbstate_t/1.cc: Zero-init mbstate_t.
4293 1.1.1.19 mrg
4294 1.1.1.20 mrg 2020-01-23 Jonathan Wakely <jwakely (a] redhat.com>
4295 1.1.1.18 mrg
4296 1.1.1.20 mrg PR libstdc++/91947
4297 1.1.1.20 mrg * include/Makefile.am (${host_builddir}/largefile-config.h): Simplify
4298 1.1.1.20 mrg rule.
4299 1.1.1.20 mrg * include/Makefile.in: Regenerate.
4300 1.1.1.19 mrg
4301 1.1.1.20 mrg 2020-01-20 Jonathan Wakely <jwakely (a] redhat.com>
4302 1.1.1.19 mrg
4303 1.1.1.20 mrg * doc/xml/faq.xml: Fix grammar.
4304 1.1.1.20 mrg * doc/xml/manual/appendix_contributing.xml: Improve instructions.
4305 1.1.1.20 mrg * doc/xml/manual/spine.xml: Update copyright years.
4306 1.1.1.20 mrg * doc/html/*: Regenerate.
4307 1.1.1.19 mrg
4308 1.1.1.20 mrg 2020-01-19 Eric S. Raymond <esr (a] thyrsus.com>
4309 1.1.1.19 mrg
4310 1.1.1.20 mrg * doc/xml/faq.xml: Update for SVN -> Git transition.
4311 1.1.1.20 mrg * doc/xml/manual/appendix_contributing.xml: Likewise.
4312 1.1.1.20 mrg * doc/xml/manual/status_cxx1998.xml: Likewise.
4313 1.1.1.20 mrg * doc/xml/manual/status_cxx2011.xml: Likewise.
4314 1.1.1.20 mrg * doc/xml/manual/status_cxx2014.xml: Likewise.
4315 1.1.1.20 mrg * doc/xml/manual/status_cxx2017.xml: Likewise.
4316 1.1.1.20 mrg * doc/xml/manual/status_cxx2020.xml: Likewise.
4317 1.1.1.20 mrg * doc/xml/manual/status_cxxtr1.xml: Likewise.
4318 1.1.1.20 mrg * doc/xml/manual/status_cxxtr24733.xml: Likewise.
4319 1.1.1.18 mrg
4320 1.1.1.20 mrg 2020-01-18 Iain Sandoe <iain (a] sandoe.co.uk>
4321 1.1.1.18 mrg
4322 1.1.1.20 mrg * include/Makefile.am: Add coroutine to the std set.
4323 1.1.1.20 mrg * include/Makefile.in: Regenerated.
4324 1.1.1.20 mrg * include/std/coroutine: New file.
4325 1.1.1.19 mrg
4326 1.1.1.20 mrg 2020-01-17 Jonathan Wakely <jwakely (a] redhat.com>
4327 1.1.1.19 mrg
4328 1.1.1.20 mrg PR libstdc++/92376
4329 1.1.1.20 mrg * include/bits/c++config: Only do PSTL config when the header is
4330 1.1.1.20 mrg present, to fix freestanding.
4331 1.1.1.20 mrg * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare allocation
4332 1.1.1.20 mrg functions if they were detected by configure.
4333 1.1.1.19 mrg
4334 1.1.1.20 mrg 2020-01-16 Kai-Uwe Eckhardt <kuehro (a] gmx.de>
4335 1.1.1.20 mrg Matthew Bauer <mjbauer95 (a] gmail.com>
4336 1.1.1.19 mrg Jonathan Wakely <jwakely (a] redhat.com>
4337 1.1.1.19 mrg
4338 1.1.1.20 mrg PR bootstrap/64271 (partial)
4339 1.1.1.20 mrg * config/os/bsd/netbsd/ctype_base.h (ctype_base::mask): Change type
4340 1.1.1.20 mrg to unsigned short.
4341 1.1.1.20 mrg (ctype_base::alpha, ctype_base::digit, ctype_base::xdigit)
4342 1.1.1.20 mrg (ctype_base::print, ctype_base::graph, ctype_base::alnum): Sync
4343 1.1.1.20 mrg definitions with NetBSD upstream.
4344 1.1.1.20 mrg (ctype_base::blank): Use _CTYPE_BL.
4345 1.1.1.20 mrg * config/os/bsd/netbsd/ctype_configure_char.cc (_C_ctype_): Remove
4346 1.1.1.20 mrg Declaration.
4347 1.1.1.20 mrg (ctype<char>::classic_table): Use _C_ctype_tab_ instead of _C_ctype_.
4348 1.1.1.20 mrg (ctype<char>::do_toupper, ctype<char>::do_tolower): Cast char
4349 1.1.1.20 mrg parameters to unsigned char.
4350 1.1.1.20 mrg * config/os/bsd/netbsd/ctype_inline.h (ctype<char>::is): Likewise.
4351 1.1.1.20 mrg
4352 1.1.1.20 mrg 2020-01-16 Franois Dumont <fdumont (a] gcc.gnu.org>
4353 1.1.1.20 mrg
4354 1.1.1.20 mrg PR libstdc++/91263
4355 1.1.1.20 mrg * include/bits/hashtable.h (_Hashtable<>): Make _Equality<> friend.
4356 1.1.1.20 mrg * include/bits/hashtable_policy.h: Include <bits/stl_algo.h>.
4357 1.1.1.20 mrg (_Equality_base): Remove.
4358 1.1.1.20 mrg (_Equality<>::_M_equal): Review implementation. Use
4359 1.1.1.20 mrg std::is_permutation.
4360 1.1.1.20 mrg * testsuite/23_containers/unordered_multiset/operators/1.cc
4361 1.1.1.20 mrg (Hash, Equal, test02, test03): New.
4362 1.1.1.20 mrg * testsuite/23_containers/unordered_set/operators/1.cc
4363 1.1.1.20 mrg (Hash, Equal, test02, test03): New.
4364 1.1.1.20 mrg
4365 1.1.1.20 mrg 2020-01-15 Jonathan Wakely <jwakely (a] redhat.com>
4366 1.1.1.20 mrg
4367 1.1.1.20 mrg PR libstdc++/93267
4368 1.1.1.20 mrg * include/bits/iterator_concepts.h (__max_diff_type, __max_size_type):
4369 1.1.1.20 mrg Move here from <bits/range_access.h> and define using __int128 when
4370 1.1.1.20 mrg available.
4371 1.1.1.20 mrg (__is_integer_like, __is_signed_integer_like): Move here from
4372 1.1.1.20 mrg <bits/range_access.h>.
4373 1.1.1.20 mrg (weakly_incrementable): Use __is_signed_integer_like.
4374 1.1.1.20 mrg * include/bits/range_access.h (__max_diff_type, __max_size_type)
4375 1.1.1.20 mrg (__is_integer_like, __is_signed_integer_like): Move to
4376 1.1.1.20 mrg <bits/iterator_concepts.h>.
4377 1.1.1.20 mrg (__make_unsigned_like_t): Move here from <ranges>.
4378 1.1.1.20 mrg * include/std/ranges (__make_unsigned_like_t): Move to
4379 1.1.1.20 mrg <bits/range_access.h>.
4380 1.1.1.20 mrg (iota_view): Replace using-directive with using-declarations.
4381 1.1.1.20 mrg * testsuite/std/ranges/iota/93267.cc: New test.
4382 1.1.1.20 mrg * testsuite/std/ranges/iota_view.cc: Move to new 'iota' sub-directory.
4383 1.1.1.18 mrg
4384 1.1.1.20 mrg 2020-01-13 Jonathan Wakely <jwakely (a] redhat.com>
4385 1.1.1.18 mrg
4386 1.1.1.20 mrg PR libstdc++/93244
4387 1.1.1.20 mrg * include/bits/fs_path.h (path::generic_string<C,A>)
4388 1.1.1.20 mrg [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Convert root-dir to forward-slash.
4389 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/generic_string.cc: Check
4390 1.1.1.20 mrg root-dir is converted to forward slash in generic pathname.
4391 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/utf.cc: New test.
4392 1.1.1.20 mrg * testsuite/27_io/filesystem/path/generic/wchar_t.cc: New test.
4393 1.1.1.18 mrg
4394 1.1.1.20 mrg PR libstdc++/58605
4395 1.1.1.20 mrg * include/bits/atomic_base.h (__cpp_lib_atomic_value_initialization):
4396 1.1.1.19 mrg Define.
4397 1.1.1.20 mrg (__atomic_flag_base, __atomic_base, __atomic_base<_PTp*>)
4398 1.1.1.20 mrg (__atomic_float): Add default member initializer for C++20.
4399 1.1.1.20 mrg * include/std/atomic (atomic): Likewise.
4400 1.1.1.20 mrg (atomic::atomic()): Remove noexcept-specifier on default constructor.
4401 1.1.1.20 mrg * include/std/version (__cpp_lib_atomic_value_initialization): Define.
4402 1.1.1.20 mrg * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error line
4403 1.1.1.20 mrg number.
4404 1.1.1.20 mrg * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
4405 1.1.1.20 mrg * testsuite/29_atomics/atomic/cons/value_init.cc: New test.
4406 1.1.1.20 mrg * testsuite/29_atomics/atomic_flag/cons/value_init.cc: New test.
4407 1.1.1.20 mrg * testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Adjust
4408 1.1.1.20 mrg expected result for is_trivially_default_constructible.
4409 1.1.1.20 mrg * testsuite/29_atomics/atomic_float/requirements.cc: Likewise.
4410 1.1.1.20 mrg * testsuite/29_atomics/atomic_float/value_init.cc: New test.
4411 1.1.1.20 mrg * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
4412 1.1.1.20 mrg * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
4413 1.1.1.20 mrg * testsuite/29_atomics/atomic_integral/cons/value_init.cc
4414 1.1.1.20 mrg * testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Adjust
4415 1.1.1.20 mrg expected results for is_trivially_default_constructible.
4416 1.1.1.20 mrg * testsuite/util/testsuite_common_types.h (has_trivial_dtor): Add
4417 1.1.1.20 mrg new test generator.
4418 1.1.1.20 mrg
4419 1.1.1.20 mrg 2020-01-10 Jonathan Wakely <jwakely (a] redhat.com>
4420 1.1.1.20 mrg
4421 1.1.1.20 mrg * testsuite/util/testsuite_iterators.h: Improve comment.
4422 1.1.1.20 mrg
4423 1.1.1.20 mrg * testsuite/25_algorithms/equal/deque_iterators/1.cc: Don't use C++11
4424 1.1.1.20 mrg initialization syntax.
4425 1.1.1.20 mrg
4426 1.1.1.20 mrg PR libstdc++/92285
4427 1.1.1.20 mrg * include/bits/streambuf_iterator.h (istreambuf_iterator): Make type
4428 1.1.1.20 mrg of base class independent of __cplusplus value.
4429 1.1.1.20 mrg [__cplusplus < 201103L] (istreambuf_iterator::reference): Override the
4430 1.1.1.20 mrg type defined in the base class
4431 1.1.1.20 mrg * testsuite/24_iterators/istreambuf_iterator/92285.cc: New test.
4432 1.1.1.20 mrg * testsuite/24_iterators/istreambuf_iterator/requirements/
4433 1.1.1.20 mrg base_classes.cc: Adjust expected base class for C++98.
4434 1.1.1.20 mrg
4435 1.1.1.20 mrg 2020-01-09 Olivier Hainque <hainque (a] adacore.com>
4436 1.1.1.20 mrg
4437 1.1.1.20 mrg * doc/xml/manual/appendix_contributing.xml: Document _C2
4438 1.1.1.20 mrg as a reserved identifier, by VxWorks.
4439 1.1.1.20 mrg * include/bits/stl_map.h: Rename _C2 template typenames as _Cmp2.
4440 1.1.1.20 mrg * include/bits/stl_multimap.h: Likewise.
4441 1.1.1.20 mrg
4442 1.1.1.20 mrg 2020-01-09 Jonathan Wakely <jwakely (a] redhat.com>
4443 1.1.1.20 mrg
4444 1.1.1.20 mrg * include/ext/extptr_allocator.h (_ExtPtr_allocator::operator==)
4445 1.1.1.20 mrg (_ExtPtr_allocator::operator!=): Add missing const qualifiers.
4446 1.1.1.20 mrg * include/ext/pointer.h (readable_traits<_Pointer_adapter<S>>): Add
4447 1.1.1.20 mrg partial specialization to disambiguate the two constrained
4448 1.1.1.20 mrg specializations.
4449 1.1.1.20 mrg
4450 1.1.1.20 mrg * include/experimental/type_traits (experimental::is_pod_v): Disable
4451 1.1.1.20 mrg -Wdeprecated-declarations warnings around reference to std::is_pod.
4452 1.1.1.20 mrg * include/std/type_traits (is_pod_v): Likewise.
4453 1.1.1.20 mrg * testsuite/18_support/max_align_t/requirements/2.cc: Also check
4454 1.1.1.20 mrg is_standard_layout and is_trivial. Do not check is_pod for C++20.
4455 1.1.1.20 mrg * testsuite/20_util/is_pod/requirements/explicit_instantiation.cc:
4456 1.1.1.20 mrg Add -Wno-deprecated for C++20.
4457 1.1.1.20 mrg * testsuite/20_util/is_pod/requirements/typedefs.cc: Likewise.
4458 1.1.1.20 mrg * testsuite/20_util/is_pod/value.cc: Likewise.
4459 1.1.1.20 mrg * testsuite/experimental/type_traits/value.cc: Likewise.
4460 1.1.1.20 mrg
4461 1.1.1.20 mrg 2020-01-09 JeanHeyd "ThePhD" Meneide <phdofthehouse (a] gmail.com>
4462 1.1.1.20 mrg
4463 1.1.1.20 mrg * include/bits/c++config (_GLIBCXX20_DEPRECATED): Add new macro.
4464 1.1.1.20 mrg * include/std/type_traits (is_pod, is_pod_v): Deprecate for C++20.
4465 1.1.1.20 mrg * testuite/20_util/is_pod/deprecated-2a.cc: New test.
4466 1.1.1.20 mrg
4467 1.1.1.20 mrg 2020-01-09 Jonathan Wakely <jwakely (a] redhat.com>
4468 1.1.1.20 mrg
4469 1.1.1.20 mrg PR libstdc++/93205
4470 1.1.1.20 mrg * include/bits/random.h (operator>>): Check stream operation succeeds.
4471 1.1.1.20 mrg * include/bits/random.tcc (operator<<): Remove redundant __ostream_type
4472 1.1.1.20 mrg typedefs.
4473 1.1.1.20 mrg (operator>>): Remove redundant __istream_type typedefs. Check stream
4474 1.1.1.20 mrg operations succeed.
4475 1.1.1.20 mrg (__extract_params): New function to fill a vector from a stream.
4476 1.1.1.20 mrg * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line.
4477 1.1.1.20 mrg
4478 1.1.1.20 mrg PR libstdc++/93208
4479 1.1.1.20 mrg * config/abi/pre/gnu.ver: Add new exports.
4480 1.1.1.20 mrg * include/std/memory_resource (memory_resource::~memory_resource()):
4481 1.1.1.20 mrg Do not define inline.
4482 1.1.1.20 mrg (monotonic_buffer_resource::~monotonic_buffer_resource()): Likewise.
4483 1.1.1.20 mrg * src/c++17/memory_resource.cc (memory_resource::~memory_resource()):
4484 1.1.1.19 mrg Define.
4485 1.1.1.20 mrg (monotonic_buffer_resource::~monotonic_buffer_resource()): Define.
4486 1.1.1.20 mrg * testsuite/20_util/monotonic_buffer_resource/93208.cc: New test.
4487 1.1.1.17 mrg
4488 1.1.1.20 mrg 2020-01-09 Franois Dumont <fdumont (a] gcc.gnu.org>
4489 1.1.1.11 mrg
4490 1.1.1.20 mrg PR libstdc++/92124
4491 1.1.1.20 mrg * include/bits/hashtable.h (_Hashtable<>::__alloc_node_gen_t): New
4492 1.1.1.20 mrg template alias.
4493 1.1.1.20 mrg (_Hashtable<>::__fwd_value_for): New.
4494 1.1.1.20 mrg (_Hashtable<>::_M_assign_elements<>): Remove _NodeGenerator template
4495 1.1.1.20 mrg parameter.
4496 1.1.1.20 mrg (_Hashtable<>::_M_assign<>): Add _Ht template parameter.
4497 1.1.1.20 mrg (_Hashtable<>::operator=(const _Hashtable<>&)): Adapt.
4498 1.1.1.20 mrg (_Hashtable<>::_M_move_assign): Adapt. Replace std::move_if_noexcept
4499 1.1.1.20 mrg with std::move.
4500 1.1.1.20 mrg (_Hashtable<>::_Hashtable(const _Hashtable&)): Adapt.
4501 1.1.1.20 mrg (_Hashtable<>::_Hashtable(const _Hashtable&, const allocator_type&)):
4502 1.1.1.20 mrg Adapt.
4503 1.1.1.20 mrg (_Hashtable<>::_Hashtable(_Hashtable&&, const allocator_type&)):
4504 1.1.1.20 mrg Adapt.
4505 1.1.1.20 mrg * testsuite/23_containers/unordered_set/92124.cc: New.
4506 1.1.1.20 mrg
4507 1.1.1.20 mrg 2020-01-08 Jonathan Wakely <jwakely (a] redhat.com>
4508 1.1.1.20 mrg
4509 1.1.1.20 mrg PR libstdc++/93201
4510 1.1.1.20 mrg * src/c++17/fs_ops.cc (do_remove_all): New function implementing more
4511 1.1.1.20 mrg detailed error reporting for remove_all. Check result of recursive
4512 1.1.1.20 mrg call before incrementing iterator.
4513 1.1.1.20 mrg (remove_all(const path&), remove_all(const path&, error_code&)): Use
4514 1.1.1.20 mrg do_remove_all.
4515 1.1.1.20 mrg * src/filesystem/ops.cc (remove_all(const path&, error_code&)): Check
4516 1.1.1.20 mrg result of recursive call before incrementing iterator.
4517 1.1.1.20 mrg * testsuite/27_io/filesystem/operations/remove_all.cc: Check errors
4518 1.1.1.20 mrg are reported correctly.
4519 1.1.1.20 mrg * testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
4520 1.1.1.20 mrg
4521 1.1.1.20 mrg 2020-01-07 Thomas Rodgers <trodgers (a] redhat.com>
4522 1.1.1.20 mrg
4523 1.1.1.20 mrg * include/std/condition_variable
4524 1.1.1.20 mrg (condition_variable_any::wait_on): Rename to match current draft
4525 1.1.1.20 mrg standard.
4526 1.1.1.20 mrg (condition_variable_any::wait_on_until): Likewise.
4527 1.1.1.20 mrg (condition_variable_any::wait_on_for): Likewise.
4528 1.1.1.20 mrg * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
4529 1.1.1.20 mrg Adjust tests to account for renamed methods.
4530 1.1.1.20 mrg
4531 1.1.1.20 mrg 2020-01-07 Franois Dumont <fdumont (a] gcc.gnu.org>
4532 1.1.1.20 mrg
4533 1.1.1.20 mrg PR libstdc++/92124
4534 1.1.1.20 mrg * include/bits/stl_tree.h
4535 1.1.1.20 mrg (_Rb_tree<>::_M_move_assign(_Rb_tree&, false_type)): Replace
4536 1.1.1.20 mrg std::move_if_noexcept by std::move.
4537 1.1.1.20 mrg * testsuite/23_containers/map/92124.cc: New.
4538 1.1.1.20 mrg * testsuite/23_containers/set/92124.cc: New.
4539 1.1.1.20 mrg
4540 1.1.1.20 mrg 2020-01-06 Jonathan Wakely <jwakely (a] redhat.com>
4541 1.1.1.20 mrg
4542 1.1.1.20 mrg * include/std/stop_token (stop_token): Remove operator!= (LWG 3254).
4543 1.1.1.20 mrg (stop_source): Likewise (LWG 3362).
4544 1.1.1.20 mrg * testsuite/30_threads/stop_token/stop_source.cc: Test equality
4545 1.1.1.20 mrg comparisons.
4546 1.1.1.20 mrg
4547 1.1.1.20 mrg * include/bits/stl_algobase.h (__is_byte_iter, __min_cmp)
4548 1.1.1.20 mrg (lexicographical_compare_three_way): Do not depend on
4549 1.1.1.20 mrg __cpp_lib_concepts.
4550 1.1.1.20 mrg * include/std/version (__cpp_lib_three_way_comparison): Only define
4551 1.1.1.20 mrg when __cpp_lib_concepts is defined.
4552 1.1.1.20 mrg * libsupc++/compare (__cpp_lib_three_way_comparison): Likewise.
4553 1.1.1.20 mrg
4554 1.1.1.20 mrg 2020-01-03 Jonathan Wakely <jwakely (a] redhat.com>
4555 1.1.1.20 mrg
4556 1.1.1.20 mrg * include/bits/stl_algobase.h (lexicographical_compare_three_way):
4557 1.1.1.20 mrg Only define four-argument overload when __cpp_lib_concepts is defined.
4558 1.1.1.20 mrg
4559 1.1.1.20 mrg 2020-01-01 John David Anglin <danglin (a] gcc.gnu.org>
4560 1.1.1.20 mrg
4561 1.1.1.20 mrg * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
4562 1.1.1.14 mrg
4563 1.1.1.20 mrg 2020-01-01 Jakub Jelinek <jakub (a] redhat.com>
4564 1.1 mrg
4565 1.1.1.9 mrg Update copyright years.
4566 1.1.1.3 mrg
4568 1.1 mrg Copyright (C) 2020 Free Software Foundation, Inc.
4569 1.1.1.3 mrg
4570 1.1.1.3 mrg Copying and distribution of this file, with or without modification,
4571 1.1.1.3 mrg are permitted in any medium without royalty provided the copyright
4572 notice and this notice are preserved.
4573