]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
1 2023-05-03 Jakub Jelinek <jakub@redhat.com>
2
3 * src/c++17/floating_from_chars.cc
4 (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to
5 _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format.
6 * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to
7 _ZSt8to_charsPcS_u9__ieee128.
8 (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to
9 _ZSt8to_charsPcS_u9__ieee128St12chars_format.
10 (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to
11 _ZSt8to_charsPcS_u9__ieee128St12chars_formati.
12 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated.
13
14 2023-05-03 Jakub Jelinek <jakub@redhat.com>
15
16 * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu
17 rather than powerpc64-linux-gnu for powerpc64le*-linux*.
18 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove
19 _ZTI*DF128_, _ZTI*DF64x symbols and symbols in
20 GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol
21 versions.
22 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New
23 file.
24
25 2023-05-03 Kefu Chai <kefu.chai@scylladb.com>
26 Jonathan Wakely <jwakely@redhat.com>
27
28 PR libstdc++/109703
29 * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
30 Initialize _M_string_length.
31
32 2023-05-02 Jakub Jelinek <jakub@redhat.com>
33
34 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
35 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
36 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
37 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
38 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
39 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
40 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
41 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
42
43 2023-05-02 Jakub Jelinek <jakub@redhat.com>
44
45 PR libstdc++/109694
46 * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for
47 -Wattribute-alias.
48
49 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
50
51 * include/bits/random.h (gamma_distribution): Add to the right
52 doxygen group.
53 (discrete_distribution, piecewise_constant_distribution)
54 (piecewise_linear_distribution): Create a new doxygen group and
55 fix the incomplete doxygen comments.
56 * include/bits/uniform_int_dist.h (uniform_int_distribution):
57 Add to doxygen group.
58
59 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
60
61 * include/bits/uses_allocator.h: Add missing @file comment.
62 * include/bits/regex.tcc: Remove stray doxygen comments.
63 * include/experimental/memory_resource: Likewise.
64 * include/std/bit: Tweak doxygen @cond comments.
65 * include/std/expected: Likewise.
66 * include/std/numbers: Likewise.
67
68 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
69
70 * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
71 from header paths.
72
73 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
74
75 * include/bits/move.h: Simplify opening/closing namespace std.
76
77 2023-04-28 Jakub Jelinek <jakub@redhat.com>
78
79 PR libstdc++/108969
80 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export
81 _ZSt21ios_base_library_initv.
82 * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32
83 symver and make it the latestp.
84 * src/c++98/ios_init.cc (ios_base_library_init): New alias.
85 * acinclude.m4 (libtool_VERSION): Change to 6:32:0.
86 * include/std/iostream: If init_priority attribute is supported
87 and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv
88 symbol into the object.
89 * configure: Regenerated.
90
91 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
92
93 * include/bits/mofunc_impl.h: Fix typo in doxygen comment.
94 * include/std/format: Likewise.
95
96 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
97
98 * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME)
99 (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options.
100
101 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
102
103 * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
104 HTML docs.
105 * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
106 from doxygen docs.
107 * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
108 Likewise.
109 * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
110 Likewise.
111 * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
112 Likewise.
113 * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
114 (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
115 (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
116 (_DEFINE_BINARY_OPERATOR): Likewise.
117
118 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
119
120 * include/bits/memory_resource.h: Improve doxygen comments.
121 * include/std/memory_resource: Likewise.
122
123 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
124
125 PR libstdc++/40380
126 * include/bits/basic_string.h: Improve doxygen comments.
127 * include/bits/cow_string.h: Likewise.
128 * include/bits/forward_list.h: Likewise.
129 * include/bits/fs_dir.h: Likewise.
130 * include/bits/fs_path.h: Likewise.
131 * include/bits/quoted_string.h: Likewise.
132 * include/bits/stl_bvector.h: Likewise.
133 * include/bits/stl_map.h: Likewise.
134 * include/bits/stl_multimap.h: Likewise.
135 * include/bits/stl_multiset.h: Likewise.
136 * include/bits/stl_set.h: Likewise.
137 * include/bits/stl_vector.h: Likewise.
138 * include/bits/unordered_map.h: Likewise.
139 * include/bits/unordered_set.h: Likewise.
140 * include/std/filesystem: Likewise.
141 * include/std/iomanip: Likewise.
142
143 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
144
145 PR libstdc++/105081
146 * src/c++11/random.cc (__throw_syserr): New function.
147 (random_device::_M_init, random_device::_M_init_pretr1): Use new
148 function for bad tokens.
149 (random_device::_M_getval): Use new function for read errors.
150 * testsuite/util/testsuite_random.h (random_device_available):
151 Change catch handler to use std::system_error.
152
153 2023-04-24 Patrick Palka <ppalka@redhat.com>
154
155 * include/bits/max_size_type.h (__max_diff_type::operator>>=):
156 Fix propagation of sign bit.
157 * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
158 non-standard 'signed typedef-name'. Add some compile-time tests
159 for right-shifting a negative __max_diff_type value by more than
160 one.
161
162 2023-04-19 Patrick Palka <ppalka@redhat.com>
163 Jonathan Wakely <jwakely@redhat.com>
164
165 PR c++/100157
166 * include/bits/utility.h (_Nth_type): Conditionally define in
167 terms of __type_pack_element if available.
168 * testsuite/20_util/tuple/element_access/get_neg.cc: Prune
169 additional errors from the new built-in.
170
171 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
172
173 Revert:
174 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
175
176 PR libstdc++/108969
177 * src/Makefile.am: Move globals_io.cc to here.
178 * src/Makefile.in: Regenerate.
179 * src/c++98/Makefile.am: Remove globals_io.cc from here.
180 * src/c++98/Makefile.in: Regenerate.
181 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
182 symbol name and then export with GLIBCXX_3.4.31 symver.
183 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
184 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
185 Regenerate.
186 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
187 Regenerate.
188 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
189 Regenerate.
190 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
191 Regenerate.
192 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
193 Regenerate.
194 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
195 Regenerate.
196 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
197 Regenerate.
198 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
199 Regenerate.
200 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
201
202 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
203
204 Revert:
205 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
206
207 PR libstdc++/108969
208 * config/abi/pre/gnu.ver: Fix preprocessor condition.
209
210 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
211
212 * doc/xml/manual/extensions.xml: Fix example to declare and
213 qualify std::free, and use NULL instead of 0.
214 * doc/html/manual/ext_demangling.html: Regenerate.
215 * libsupc++/cxxabi.h: Adjust doxygen comments.
216
217 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
218
219 PR libstdc++/108969
220 * config/abi/pre/gnu.ver: Fix preprocessor condition.
221
222 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
223
224 PR libstdc++/108969
225 * src/Makefile.am: Move globals_io.cc to here.
226 * src/Makefile.in: Regenerate.
227 * src/c++98/Makefile.am: Remove globals_io.cc from here.
228 * src/c++98/Makefile.in: Regenerate.
229 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
230 symbol name and then export with GLIBCXX_3.4.31 symver.
231 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
232 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
233 Regenerate.
234 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
235 Regenerate.
236 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
237 Regenerate.
238 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
239 Regenerate.
240 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
241 Regenerate.
242 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
243 Regenerate.
244 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
245 Regenerate.
246 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
247 Regenerate.
248 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
249
250 2023-04-18 Patrick Palka <ppalka@redhat.com>
251
252 PR libstdc++/108827
253 * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value
254 for C++23.
255 * include/std/ranges (range_adaptor_closure): Define for C++23.
256 * include/std/version (__cpp_lib_ranges): Bump value for
257 C++23.
258 * testsuite/std/ranges/version_c++23.cc: Bump expected value
259 of __cpp_lib_ranges.
260 * testsuite/std/ranges/range_adaptor_closure.cc: New test.
261
262 2023-04-18 Patrick Palka <ppalka@redhat.com>
263
264 * include/bits/ranges_algo.h (__cpp_lib_ranges_contains):
265 Define for C++23.
266 (__cpp_lib_ranges_iota): Likewise.
267 (__cpp_lib_ranges_find_last): Likewise.
268 (__cpp_lib_fold): Rename to ...
269 (__cpp_lib_ranges_fold): ... this.
270 * include/std/version: As above.
271 * testsuite/25_algorithms/fold_left/1.cc: Adjust after
272 renaming __cpp_lib_fold.
273 * testsuite/std/ranges/version_c++23.cc: Verify values
274 of the above feature-test macros.
275
276 2023-04-18 Patrick Palka <ppalka@redhat.com>
277
278 PR libstdc++/109525
279 * include/std/ranges (views::_AsConst::operator()): Add
280 missing const to constant_range test.
281 * testsuite/std/ranges/adaptors/as_const/1.cc (test02):
282 Improve formatting. Adjust expected type of v2.
283 (test03): New test.
284
285 2023-04-14 Patrick Palka <ppalka@redhat.com>
286
287 * include/bits/ranges_base.h (const_iterator_t): Define for C++23.
288 (const_sentinel_t): Likewise.
289 (range_const_reference_t): Likewise.
290 (constant_range): Likewise.
291 (__cust_access::__possibly_const_range): Likewise, replacing ...
292 (__cust_access::__as_const): ... this.
293 (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4.
294 (__cust_access::_CEnd::operator()): Likewise.
295 (__cust_access::_CRBegin::operator()): Likewise.
296 (__cust_access::_CREnd::operator()): Likewise.
297 (__cust_access::_CData::operator()): Likewise.
298 * include/bits/ranges_util.h (ranges::__detail::__different_from):
299 Make it an alias of std::__detail::__different_from.
300 (view_interface::cbegin): Define for C++23.
301 (view_interface::cend): Likewise.
302 * include/bits/stl_iterator.h (__detail::__different_from): Define.
303 (iter_const_reference_t): Define for C++23.
304 (__detail::__constant_iterator): Likewise.
305 (__detail::__is_const_iterator): Likewise.
306 (__detail::__not_a_const_iterator): Likewise.
307 (__detail::__iter_const_rvalue_reference_t): Likewise.
308 (__detail::__basic_const_iter_cat):: Likewise.
309 (const_iterator): Likewise.
310 (__detail::__const_sentinel): Likewise.
311 (const_sentinel): Likewise.
312 (basic_const_iterator): Likewise.
313 (common_type<basic_const_iterator<_Tp>, _Up>): Likewise.
314 (common_type<_Up, basic_const_iterator<_Tp>>): Likewise.
315 (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>):
316 Likewise.
317 (make_const_iterator): Define for C++23.
318 (make_const_sentinel): Likewise.
319 * include/std/ranges (__cpp_lib_ranges_as_const): Likewise.
320 (as_const_view): Likewise.
321 (enable_borrowed_range<as_const_view>): Likewise.
322 (views::__detail::__is_ref_view): Likewise.
323 (views::__detail::__can_is_const_view): Likewise.
324 (views::_AsConst, views::as_const): Likewise.
325 * include/std/span (span::const_iterator): Likewise.
326 (span::const_reverse_iterator): Likewise.
327 (span::cbegin): Likewise.
328 (span::cend): Likewise.
329 (span::crbegin): Likewise.
330 (span::crend): Likewise.
331 * include/std/version (__cpp_lib_ranges_as_const): Likewise.
332 * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to
333 behave independently of C++20 vs C++23.
334 * testsuite/std/ranges/version_c++23.cc: Verify value of
335 __cpp_lib_ranges_as_const macro.
336 * testsuite/24_iterators/const_iterator/1.cc: New test.
337 * testsuite/std/ranges/adaptors/as_const/1.cc: New test.
338
339 2023-04-14 Patrick Palka <ppalka@redhat.com>
340
341 * include/bits/ranges_base.h (__cust_access::__as_const)
342 (__cust_access::_CBegin, __cust::cbegin)
343 (__cust_access::_CEnd, __cust::cend)
344 (__cust_access::_CRBegin, __cust::crbegin)
345 (__cust_access::_CREnd, __cust::crend)
346 (__cust_access::_CData, __cust::cdata): Move down definitions to
347 shortly after the definition of input_range.
348
349 2023-04-14 Patrick Palka <ppalka@redhat.com>
350
351 * include/bits/ranges_algo.h: Include <optional> for C++23.
352 (__cpp_lib_fold): Define for C++23.
353 (in_value_result): Likewise.
354 (__detail::__flipped): Likewise.
355 (__detail::__indirectly_binary_left_foldable_impl): Likewise.
356 (__detail::__indirectly_binary_left_foldable): Likewise.
357 (___detail:__indirectly_binary_right_foldable): Likewise.
358 (fold_left_with_iter_result): Likewise.
359 (__fold_left_with_iter_fn, fold_left_with_iter): Likewise.
360 (__fold_left_fn, fold_left): Likewise.
361 (__fold_left_first_with_iter_fn, fold_left_first_with_iter):
362 Likewise.
363 (__fold_left_first_fn, fold_left_first): Likewise.
364 (__fold_right_fn, fold_right): Likewise.
365 (__fold_right_last_fn, fold_right_last): Likewise.
366 * include/std/version (__cpp_lib_fold): Likewise.
367 * testsuite/25_algorithms/fold_left/1.cc: New test.
368 * testsuite/25_algorithms/fold_right/1.cc: New test.
369
370 2023-04-14 Jonathan Wakely <jwakely@redhat.com>
371
372 * include/std/format (formatter): Add comment to deleted default
373 constructor of primary template.
374 (_Checking_scanner): Add static_assert.
375
376 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
377
378 * doc/xml/manual/using.xml: Document libstdc++exp.a library.
379 * doc/html/*: Regenerate.
380
381 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
382
383 * testsuite/17_intro/names.cc [_AIX]: Do not define policy.
384 * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename
385 namespace to avoid clashing with libc struct.
386 * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
387 Likewise.
388 * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX.
389 * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
390 * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
391 * testsuite/23_containers/unordered_set/96088.cc: Likewise.
392 * testsuite/experimental/synchronized_value.cc: Require gthreads
393 and add missing option for pthreads targets.
394
395 2023-04-12 Patrick Palka <ppalka@redhat.com>
396
397 * include/std/ranges (__cpp_lib_ranges_enumerate): Define
398 for C++23.
399 (__detail::__range_with_movable_reference): Likewise.
400 (enumerate_view): Likewise.
401 (enumerate_view::_Iterator): Likewise.
402 (enumerate_view::_Sentinel): Likewise.
403 (views::__detail::__can_enumerate_view): Likewise.
404 (views::_Enumerate, views::enumerate): Likewise.
405 * include/std/version (__cpp_lib_ranges_enumerate): Likewise.
406 * testsuite/std/ranges/version_c++23.cc: Verify value of
407 __cpp_lib_ranges_enumerate.
408 * testsuite/std/ranges/adaptors/enumerate/1.cc: New test.
409
410 2023-04-12 Patrick Palka <ppalka@redhat.com>
411
412 * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
413 Propagate _M_trailing_empty in the const-converting constructor
414 as per LWG 3904.
415 * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct
416 assertion.
417 * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
418
419 2023-04-12 Patrick Palka <ppalka@redhat.com>
420
421 * src/c++17/floating_from_chars.cc: Include <algorithm>,
422 <iterator>, <limits> and <cstdint>.
423
424 2023-04-12 Patrick Palka <ppalka@redhat.com>
425
426 PR libstdc++/108291
427 * include/std/ranges (chunk_by_view::_M_find_next): Generalize
428 parameter types of the lambda wrapper passed to adjacent_find.
429 (chunk_by_view::_M_find_prev): Likewise.
430 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05):
431 New tests.
432
433 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
434
435 PR libstdc++/109482
436 * include/experimental/internet (basic_endpoint::basic_endpoint()):
437 Ensure that the required union members are active. Only define
438 as constexpr for C++20 and later.
439 (basic_endpoint::basic_endpoint(const protocol_type&, port_type)):
440 Likewise.
441 * testsuite/experimental/net/internet/endpoint/cons.cc: Only
442 check constexpr default constructor for C++20 and later.
443 * testsuite/experimental/net/internet/endpoint/extensible.cc:
444 Likewise.
445
446 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
447
448 * src/c++20/tzdata.zi: Import new file from 2023c release.
449
450 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
451
452 * include/precompiled/stdc++.h (C++17): Don't double-include
453 <charconv>, once with wrong conditions.
454 * testsuite/18_support/96817.cc: Require hosted.
455 * testsuite/18_support/bad_exception/59392.cc: Ditto.
456 * testsuite/20_util/scoped_allocator/108952.cc: Ditto.
457 * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto.
458 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
459 Ditto.
460
461 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
462
463 * include/bits/c++config: When __STDC_HOSTED__ is zero,
464 disable _GLIBCXX_DEBUG and, if it was set, enable
465 _GLIBCXX_ASSERTIONS.
466 * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode):
467 Include <bits/c++config.h> when determining whether debug is
468 set, in order to inherit the logic from above
469
470 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
471
472 * testsuite/17_intro/versionconflict.cc: New test.
473 * include/std/version: Allow disabling the system_header pragma
474 via _GLIBCXX_TESTING_SYSHDR.
475
476 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
477
478 * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
479 Synchronize the definition block with...
480 * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory):
481 ... this one here. Also define the 202202L value, rather than
482 leaving it up to purely unique_ptr.h, so that the value is
483 synchronized across all headers.
484 (__gnu_debug::_Safe_iterator_base): Move into new conditional
485 block.
486 * include/std/memory (__cpp_lib_atomic_value_initialization):
487 Define on freestanding under the same conditions as in
488 atomic_base.h.
489 * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops):
490 Also define on freestanding.
491 (__cpp_lib_to_chars): Ditto.
492 (__cpp_lib_gcd): Ditto.
493 (__cpp_lib_gcd_lcm): Ditto.
494 (__cpp_lib_raw_memory_algorithms): Ditto.
495 (__cpp_lib_array_constexpr): Ditto.
496 (__cpp_lib_nonmember_container_access): Ditto.
497 (__cpp_lib_clamp): Ditto.
498 (__cpp_lib_constexpr_char_traits): Ditto.
499 (__cpp_lib_constexpr_string): Ditto.
500 (__cpp_lib_sample): Ditto.
501 (__cpp_lib_lcm): Ditto.
502 (__cpp_lib_constexpr_iterator): Ditto.
503 (__cpp_lib_constexpr_char_traits): Ditto.
504 (__cpp_lib_interpolate): Ditto.
505 (__cpp_lib_constexpr_utility): Ditto.
506 (__cpp_lib_shift): Ditto.
507 (__cpp_lib_ranges): Ditto.
508 (__cpp_lib_move_iterator_concept): Ditto.
509 (__cpp_lib_constexpr_numeric): Ditto.
510 (__cpp_lib_constexpr_functional): Ditto.
511 (__cpp_lib_constexpr_algorithms): Ditto.
512 (__cpp_lib_constexpr_tuple): Ditto.
513 (__cpp_lib_constexpr_memory): Ditto.
514
515 2023-04-05 John David Anglin <danglin@gcc.gnu.org>
516
517 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double
518 timeout factor on hppa*-*-*.
519
520 2023-04-05 Jonathan Wakely <jwakely@redhat.com>
521
522 * include/bits/regex.h (sub_match::swap): New function.
523 * testsuite/28_regex/sub_match/lwg3204.cc: New test.
524
525 2023-04-04 Jonathan Wakely <jwakely@redhat.com>
526
527 * doc/xml/manual/extensions.xml: Remove std::bad_exception from
528 example program.
529 * doc/html/manual/ext_demangling.html: Regenerate.
530
531 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
532
533 PR tree-optimization/107087
534 * include/bits/cow_string.h (basic_string::size()): Add
535 optimizer hint that _S_empty_rep()._M_length is always zero.
536 (basic_string::length()): Call size().
537
538 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
539
540 PR libstdc++/109339
541 * include/std/stop_token (_Stop_state_ptr(const stop_source&)):
542 Add attribute access with access-mode 'none'.
543 * testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
544
545 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
546
547 * include/experimental/internet (ip::basic_endpoint::_M_if_v6):
548 Revert change from member function to data member. Fix for
549 constant evaluation by detecting which union member is active.
550 (ip::basic_endpoint::resize): Revert changes to update _M_is_v6
551 flag.
552
553 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
554
555 PR libstdc++/109242
556 * testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
557 * testsuite/20_util/optional/monadic/pr109242.cc: ...here.
558
559 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
560
561 * include/experimental/internet (ip::make_address): Implement
562 missing overload.
563 (ip::address_v4::broadcast()): Avoid undefined shift.
564 (ip::basic_endpoint): Fix member functions for constexpr.
565 (ip::basic_endpoint::_M_is_v6): Replace member function with
566 data member, adjust member functions using it.
567 (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr
568 content.
569 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
570 constexpr checks to work in C++14.
571 * testsuite/experimental/net/internet/address/v4/creation.cc:
572 Likewise.
573 * testsuite/experimental/net/internet/endpoint/cons.cc:
574 Likewise.
575 * testsuite/experimental/net/internet/network/v4/cons.cc:
576 Likewise.
577 * testsuite/experimental/net/internet/network/v4/members.cc:
578 Likewise.
579 * testsuite/experimental/net/internet/endpoint/extensible.cc: New test.
580
581 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
582
583 * include/std/expected (expected::value() &): Use const lvalue
584 for unex member passed to bad_expected_access constructor, as
585 per LWG 3843.
586
587 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
588
589 PR libstdc++/109340
590 * include/std/expected (expected::transform): Use
591 std::remove_cv_t instead of std::remove_cvref_t.
592 (expected::transform_error): Likewise.
593 (expected<cv void, E>::transform): Likewise.
594 (expected<cv void, E>::transform_error): Likewise.
595 * include/std/optional (transform): Use std::remove_cv_t.
596 * testsuite/20_util/optional/monadic/pr109340.cc: New test.
597
598 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
599
600 * include/std/optional (optional): Adjust static assertion to
601 reject arrays and functions as well as references.
602 * testsuite/20_util/optional/requirements_neg.cc: New test.
603
604 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
605
606 PR libstdc++/103387
607 * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
608 std::use_facet instead of cached _M_num_get facet.
609 (istream::operator>>(short&)): Likewise.
610 (istream::operator>>(int&)): Likewise.
611 * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
612 std::use_facet instead of cached _M_num_put facet.
613
614 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
615
616 * include/bits/char_traits.h (char_traits::copy): Return without
617 using memcpy if n==0.
618 (char_traits::assign): Likewise for memset.
619
620 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
621
622 PR libstdc++/109299
623 * include/bits/basic_string.h (basic_string::_M_is_local()): Add
624 hint for compiler that local strings fit in the local buffer.
625
626 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
627
628 PR libstdc++/109288
629 * include/std/chrono (__detail::__get_leap_second_info): Update
630 expiry date of hardcoded leapseconds list.
631 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()):
632 Likewise.
633 * src/c++20/tzdata.zi: Import new file from 2023a release.
634 * testsuite/std/time/time_zone/get_info_local.cc: Only check
635 transitions for Egypt up to 2014.
636
637 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
638
639 * include/experimental/bits/simd.h (is_simd_flag_type): New.
640 (_IsSimdFlagType): New.
641 (copy_from, copy_to, load ctors): Constrain _Flags using
642 _IsSimdFlagType.
643
644 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
645
646 * include/experimental/bits/simd_x86.h (_SimdImplX86): Use
647 _Base::_S_divides if the optimized _S_divides function is hidden
648 via the preprocessor.
649
650 2023-03-27 Jakub Jelinek <jakub@redhat.com>
651
652 * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
653 warning if size_t is not unsigned long.
654
655 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
656
657 * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
658 Add overload, as per LWG 3893.
659 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
660 Check assignment from nullptr.
661
662 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
663
664 * include/std/format (formatter<const charT[N], charT>): Do not
665 define partial speclialization, as per LWG 3833.
666 * testsuite/std/format/formatter/requirements.cc: Check it.
667
668 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
669
670 * include/std/utility (__cpp_lib_constexpr_algorithms): Define,
671 as per LWG 3792.
672 * testsuite/20_util/exchange/constexpr.cc: Check for it.
673
674 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
675
676 * include/std/version (__cpp_lib_format): Define.
677 * testsuite/std/format/functions/format.cc: Check it.
678
679 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
680
681 * include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
682 Pass rvalues to the callback, as now allowed by LWG 3645.
683 Enforce preconditions on the return value.
684 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
685 Adjust.
686
687 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
688
689 * include/std/format: Add a comment noting that the resolution
690 of LWG 3720 has been applied..
691
692 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
693
694 * include/bits/regex.h (match_results): Add allocator-extended
695 copy and move constructors, as per LWG 2195.
696 * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test.
697
698 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
699
700 * include/bits/stream_iterator.h (istream_iterator): Add
701 constexpr to copy constructor, as per LWG 3600.
702 * testsuite/24_iterators/istream_iterator/cons/constexpr.cc:
703 Check copy construction.
704
705 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
706
707 * include/experimental/bits/simd_x86.h
708 (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
709 with __RECIPROCAL_MATH__.
710
711 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
712
713 * include/experimental/bits/simd_detail.h: Don't define
714 _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
715 * include/experimental/bits/simd_x86.h (_S_divides): Remove
716 check for __clang__.
717
718 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
719
720 * include/experimental/bits/simd_detail.h: Don't declare the
721 simd API as constexpr with Clang.
722 * include/experimental/bits/simd_x86.h (__movm): New.
723 (_S_blend_avx512): Resolve FIXME. Implement blend using __movm
724 and ?:.
725 (_SimdImplX86::_S_masked_unary): Clang does not implement the
726 same builtins. Implement the function using __movm, ?:, and -
727 operators on vector_size types instead.
728
729 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
730
731 * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
732 define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
733
734 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
735
736 * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
737 formatting.
738
739 2023-03-20 Marek Polacek <polacek@redhat.com>
740
741 PR c++/109159
742 * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error.
743 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
744 * testsuite/23_containers/span/explicit.cc: Likewise.
745
746 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
747
748 PR libstdc++/109182
749 * include/std/expected (expected<void>::expected(in_place_t)):
750 Remove template-head.
751
752 2023-03-18 Jonathan Wakely <jwakely@redhat.com>
753
754 PR libstdc++/109165
755 * testsuite/18_support/coroutines/hash.cc: Use const object
756 in second call.
757
758 2023-03-17 Jonathan Wakely <jwakely@redhat.com>
759
760 PR libstdc++/109165
761 * include/std/coroutine (hash<>::operator()): Add const.
762 * testsuite/18_support/coroutines/hash.cc: New test.
763
764 2023-03-14 Patrick Palka <ppalka@redhat.com>
765
766 PR libstdc++/109111
767 * include/std/ranges (repeat_view): Remove redundant parentheses
768 in requires-clause.
769 (repeat_view::_Iterator): Correct the requires-clause.
770
771 2023-03-14 Patrick Palka <ppalka@redhat.com>
772
773 * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
774 Define.
775 (__cpp_lib_move_iterator_concept): Define for C++20.
776 (move_iterator::iterator_concept): Strengthen as per P2520R0.
777 * include/std/version (__cpp_lib_move_iterator_concept): Define
778 for C++20.
779 * testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
780
781 2023-03-14 Patrick Palka <ppalka@redhat.com>
782
783 * include/bits/ranges_util.h (view_interface::empty): Add
784 preferred overloads that use ranges::size when the range is
785 sized as per LWG 3715.
786 * testsuite/std/ranges/adaptors/lwg3715.cc: New test.
787
788 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
789
790 * include/bits/chrono.h (__is_duration_v, __is_time_point_v):
791 Only define for C++17 and later.
792
793 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
794
795 * src/Makefile.am: Add comment about linker script fragments.
796 * src/Makefile.in: Regenerate.
797
798 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
799
800 PR libstdc++/62196
801 * include/bits/mask_array.h (mask_array): Add assertions to
802 assignment operators.
803 * include/std/valarray (valarray::operator[](valarray<bool>)):
804 Add assertions.
805 * testsuite/26_numerics/valarray/mask-1_neg.cc: New test.
806 * testsuite/26_numerics/valarray/mask-2_neg.cc: New test.
807 * testsuite/26_numerics/valarray/mask-3_neg.cc: New test.
808 * testsuite/26_numerics/valarray/mask-4_neg.cc: New test.
809 * testsuite/26_numerics/valarray/mask-5_neg.cc: New test.
810 * testsuite/26_numerics/valarray/mask-6_neg.cc: New test.
811 * testsuite/26_numerics/valarray/mask-7_neg.cc: New test.
812 * testsuite/26_numerics/valarray/mask-8_neg.cc: New test.
813 * testsuite/26_numerics/valarray/mask.cc: New test.
814
815 2023-03-13 Jakub Jelinek <jakub@redhat.com>
816
817 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
818 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
819
820 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
821
822 * doc/Makefile.am: Add comment referring to documentation.
823 * doc/Makefile.in: Regenerate.
824
825 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
826
827 * doc/html/*: Regenerate.
828
829 2023-03-13 Jonny Grant <jg@jguk.org>
830
831 * doc/xml/faq.xml: Update copyright year.
832
833 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
834
835 * include/bits/allocator.h: Fix typo in comment.
836
837 2023-03-12 Jakub Jelinek <jakub@redhat.com>
838
839 * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos
840 if it isn't mangled as DF16b but u6__bf16.
841
842 2023-03-12 Gerald Pfeifer <gerald@pfeifer.com>
843
844 * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
845 to https.
846 * doc/html/manual/documentation_hacking.html: Regenerate.
847
848 2023-03-10 Jonathan Wakely <jwakely@redhat.com>
849
850 PR libstdc++/109064
851 * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
852 Remove self-recursion in __init__. Add missing _supports.
853 * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
854 and unique().
855
856 2023-03-09 Patrick Palka <ppalka@redhat.com>
857
858 * include/std/ranges
859 (cartesian_product_view::_Iterator::_Iterator): Remove
860 constraint on default constructor as per LWG 3849.
861 (cartesian_product_view::_Iterator::_M_prev): Adjust position
862 of _Nm > 0 test as per LWG 3820.
863 (cartesian_product_view::_Iterator::_M_advance): Perform bounds
864 checking only on sized cartesian products.
865 * testsuite/std/ranges/cartesian_product/1.cc (test08): New test.
866
867 2023-03-09 Patrick Palka <ppalka@redhat.com>
868
869 PR libstdc++/109024
870 * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per
871 LWG 3796.
872 (repeat_view::_M_pred): Likewise.
873 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test.
874 * testsuite/std/ranges/repeat/1.cc (test05): New test.
875
876 2023-03-09 Patrick Palka <ppalka@redhat.com>
877
878 PR libstdc++/108362
879 * include/std/ranges (__detail::__can_single_view): New concept.
880 (_Single::operator()): Constrain it. Move [[nodiscard]] to the
881 end of the function declarator.
882 (__detail::__can_iota_view): New concept.
883 (_Iota::operator()): Constrain it. Move [[nodiscard]] to the
884 end of the function declarator.
885 (__detail::__can_istream_view): New concept.
886 (_Istream::operator()): Constrain it. Move [[nodiscard]] to the
887 end of the function declarator.
888 * testsuite/std/ranges/iota/iota_view.cc (test07): New test.
889 * testsuite/std/ranges/istream_view.cc (test08): New test.
890 * testsuite/std/ranges/single_view.cc (test07): New test.
891
892 2023-03-09 Patrick Palka <ppalka@redhat.com>
893
894 PR libstdc++/107572
895 * include/std/ranges (cartesian_product_view::end): When
896 building the tuple of iterators, avoid calling ranges::begin on
897 the first range if __empty_tail is false.
898 * testsuite/std/ranges/cartesian_product/1.cc (test07): New test.
899
900 2023-03-09 Jonathan Wakely <jwakely@redhat.com>
901
902 PR libstdc++/108882
903 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
904 patterns.
905
906 2023-03-07 Jakub Jelinek <jakub@redhat.com>
907
908 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
909 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
910 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
911 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
912 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
913
914 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
915
916 PR libstdc++/108882
917 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
918 not match symbols in namespace std::__gnu_cxx11_ieee128.
919 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
920 std::__gnu_cxx11_ieee128::money_{get,put}.
921
922 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
923
924 * libsupc++/eh_personality.cc: Fix spelling in comment.
925
926 2023-03-03 Alexandre Oliva <oliva@adacore.com>
927
928 * testsuite/30_threads/async/async.cc (test04): Initialize
929 steady_start, renamed from steady_begin, next to slow_start.
930 Increase tolerance for final wait.
931
932 2023-03-03 Alexandre Oliva <oliva@adacore.com>
933
934 * testsuite/libstdc++-prettyprinters/80276.cc: Add
935 std::string to debug info.
936 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
937
938 2023-03-03 Alexandre Oliva <oliva@adacore.com>
939
940 PR libstdc++/104852
941 PR libstdc++/95989
942 PR libstdc++/52590
943 * include/bits/std_thread.h (thread::_M_thread_deps): New
944 static implicitly-inline member function.
945 (std::thread template ctor): Pass it to _M_start_thread.
946 * src/c++11/thread.cc (thread::_M_start_thread): Name depend
947 parameter, force it live on entry.
948
949 2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
950
951 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
952 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
953 Likewise.
954 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
955 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
956 Likewise.
957
958 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
959
960 * include/bits/cow_string.h: Fix typo in comment.
961
962 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
963
964 * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
965 current time zone cannot be determined.
966 * testsuite/std/time/tzdb/1.cc: Remove conditions based on
967 HAVE_TZDB macro and test all members unconditionally.
968
969 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
970
971 PR libstdc++/108952
972 * include/bits/uses_allocator_args.h
973 (uses_allocator_construction_args): Implement LWG 3527.
974 * testsuite/20_util/pair/astuple/get-2.cc: New test.
975 * testsuite/20_util/scoped_allocator/108952.cc: New test.
976 * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
977
978 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
979
980 PR libstdc++/108846
981 * include/bits/stl_algobase.h (__copy_move<false, false, RA>)
982 Add __assign_one static member function.
983 (__copy_move<true, false, RA>): Likewise.
984 (__copy_move<IsMove, true, RA>): Do not use memmove for a single
985 value.
986 (__copy_move_backward<IsMove, true, RA>): Likewise.
987 * testsuite/25_algorithms/copy/108846.cc: New test.
988 * testsuite/25_algorithms/copy_backward/108846.cc: New test.
989 * testsuite/25_algorithms/copy_n/108846.cc: New test.
990 * testsuite/25_algorithms/move/108846.cc: New test.
991 * testsuite/25_algorithms/move_backward/108846.cc: New test.
992
993 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
994
995 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
996 attributes.
997
998 2023-02-27 Jonathan Wakely <jwakely@redhat.com>
999
1000 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
1001 caveat to comment.
1002 * include/bits/basic_string.h (resize_and_overwrite): Add
1003 doxygen comment.
1004
1005 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
1006
1007 * include/experimental/bits/simd.h: Line breaks and indenting
1008 fixed to follow the libstdc++ standard.
1009 * include/experimental/bits/simd_builtin.h: Likewise.
1010 * include/experimental/bits/simd_fixed_size.h: Likewise.
1011 * include/experimental/bits/simd_neon.h: Likewise.
1012 * include/experimental/bits/simd_ppc.h: Likewise.
1013 * include/experimental/bits/simd_scalar.h: Likewise.
1014 * include/experimental/bits/simd_x86.h: Likewise.
1015
1016 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
1017
1018 PR libstdc++/108030
1019 * include/experimental/bits/simd_fixed_size.h
1020 (_SimdImplFixedSize::_S_broadcast): Replace inline with
1021 _GLIBCXX_SIMD_INTRINSIC.
1022 (_SimdImplFixedSize::_S_generate): Likewise.
1023 (_SimdImplFixedSize::_S_load): Likewise.
1024 (_SimdImplFixedSize::_S_masked_load): Likewise.
1025 (_SimdImplFixedSize::_S_store): Likewise.
1026 (_SimdImplFixedSize::_S_masked_store): Likewise.
1027 (_SimdImplFixedSize::_S_min): Likewise.
1028 (_SimdImplFixedSize::_S_max): Likewise.
1029 (_SimdImplFixedSize::_S_complement): Likewise.
1030 (_SimdImplFixedSize::_S_unary_minus): Likewise.
1031 (_SimdImplFixedSize::_S_plus): Likewise.
1032 (_SimdImplFixedSize::_S_minus): Likewise.
1033 (_SimdImplFixedSize::_S_multiplies): Likewise.
1034 (_SimdImplFixedSize::_S_divides): Likewise.
1035 (_SimdImplFixedSize::_S_modulus): Likewise.
1036 (_SimdImplFixedSize::_S_bit_and): Likewise.
1037 (_SimdImplFixedSize::_S_bit_or): Likewise.
1038 (_SimdImplFixedSize::_S_bit_xor): Likewise.
1039 (_SimdImplFixedSize::_S_bit_shift_left): Likewise.
1040 (_SimdImplFixedSize::_S_bit_shift_right): Likewise.
1041 (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
1042 explicit about not always-inline, yet).
1043 (_SimdImplFixedSize::_S_isinf): Likewise.
1044 (_SimdImplFixedSize::_S_isfinite): Likewise.
1045 (_SimdImplFixedSize::_S_isnan): Likewise.
1046 (_SimdImplFixedSize::_S_isnormal): Likewise.
1047 (_SimdImplFixedSize::_S_signbit): Likewise.
1048
1049 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
1050
1051 PR libstdc++/108856
1052 * include/experimental/bits/simd_builtin.h
1053 (_SimdImplBuiltin::_S_masked_unary): More efficient
1054 implementation of masked inc-/decrement for integers and floats
1055 without AVX2.
1056 * include/experimental/bits/simd_x86.h
1057 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
1058 builtins for masked inc-/decrement.
1059
1060 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1061
1062 * include/experimental/executor (executor): Constrain template
1063 constructors.
1064
1065 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1066
1067 * include/experimental/internet (basic_endpoint): Add missing
1068 constexpr to comparison operators.
1069 * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
1070
1071 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1072
1073 * include/experimental/internet (network_v4::netmask()): Avoid
1074 undefined shift.
1075 (network_v4::broadcast()): Optimize and fix for targets with
1076 uint_least32_t wider than 32 bits.
1077 (network_v4::to_string(const Allocator&)): Fix for custom
1078 allocators and optimize using to_chars.
1079 (operator==(const network_v4&, const network_v4&)): Add missing
1080 constexpr.
1081 (operator==(const network_v6&, const network_v6&)): Likewise.
1082 * testsuite/experimental/net/internet/network/v4/cons.cc: New test.
1083 * testsuite/experimental/net/internet/network/v4/members.cc: New test.
1084
1085 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1086
1087 * include/experimental/internet (address_4(const bytes_type&)):
1088 Use __builtin_bit_cast if available, otherwise convert to
1089 network byte order.
1090 (address_v4::to_bytes()): Likewise, but convert from network
1091 byte order.
1092 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
1093 incorrect tests. Check for constexpr too.
1094 * testsuite/experimental/net/internet/address/v4/creation.cc:
1095 Likewise.
1096 * testsuite/experimental/net/internet/address/v4/members.cc:
1097 Check that bytes_type is a standard-layout type.
1098
1099 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1100
1101 * include/experimental/internet (address_v4::to_string):
1102 Optimize.
1103 * testsuite/experimental/net/internet/address/v4/members.cc:
1104 Check more addresses.
1105
1106 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1107
1108 * include/ext/aligned_buffer.h (__aligned_buffer): Add
1109 diagnostic pragmas.
1110
1111 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1112
1113 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
1114 before dg-do.
1115
1116 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
1117
1118 * testsuite/experimental/simd/tests/reductions.cc: Introduce
1119 max_distance as the type-dependent max error.
1120
1121 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
1122
1123 * include/experimental/bits/simd_builtin.h (_S_set): Compare as
1124 int. The actual range of these indexes is very small.
1125
1126 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
1127
1128 * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
1129 (_S_bit_shift_right): Declare constexpr. The implementation was
1130 already expecting constexpr evaluation.
1131
1132 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
1133
1134 PR libstdc++/108030
1135 * include/experimental/bits/simd_detail.h
1136 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
1137 __clang__.
1138
1139 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
1140
1141 PR libstdc++/108030
1142 * include/experimental/bits/simd.h (__vector_broadcast):
1143 Implement via __vector_broadcast_impl instead of
1144 __call_with_n_evaluations + 2 lambdas.
1145 (__vector_broadcast_impl): New.
1146
1147 2023-02-22 Alexandre Oliva <oliva@adacore.com>
1148
1149 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
1150 Avoid destruction of the mutex pool.
1151
1152 2023-02-22 Alexandre Oliva <oliva@adacore.com>
1153
1154 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
1155 on vxworks.
1156 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
1157 Likewise.
1158
1159 2023-02-22 Alexandre Oliva <oliva@adacore.com>
1160
1161 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
1162 kernel mode.
1163
1164 2023-02-20 Andreas Schwab <schwab@linux-m68k.org>
1165
1166 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1167
1168 2023-02-20 Matthias Kretz <m.kretz@gsi.de>
1169
1170 * include/experimental/bits/simd.h (__extract_part, split):
1171 Use reserved name for template parameter.
1172
1173 2023-02-20 Andreas Schwab <schwab@suse.de>
1174
1175 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
1176
1177 2023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
1178
1179 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
1180 * doc/html/faq.html: Regenerate.
1181
1182 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1183
1184 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
1185 between scalars requires the __bit_cast helper function instead
1186 of simd_bit_cast.
1187
1188 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1189
1190 * include/experimental/bits/simd_x86.h
1191 (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
1192 (_SimdImplX86::_S_less_equal): Do not call
1193 __builtin_is_constant_evaluated in constexpr-if.
1194
1195 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1196
1197 * testsuite/experimental/simd/tests/bits/verify.h
1198 (verify::verify): Use %zx for size_t in format string.
1199
1200 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1201
1202 * testsuite/experimental/simd/generate_makefile.sh: Generate and
1203 pre-compile pch.h, which includes all headers that do not depend
1204 on command-line macros.
1205 * testsuite/experimental/simd/tests/bits/main.h: New file.
1206 (iterate_abis, main): Moved from verify.h.
1207 * testsuite/experimental/simd/tests/bits/verify.h
1208 (iterate_abis, main): Moved to main.h.
1209 * testsuite/experimental/simd/tests/bits/conversions.h: Add
1210 include guard.
1211 (genHalfBits): Simplify.
1212 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
1213 guard.
1214 (make_alternating_mask): Moved from mask_loadstore.
1215 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
1216 include guard.
1217 * testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
1218 * testsuite/experimental/simd/tests/mask_loadstore.cc
1219 (make_mask, make_alternating_mask): Removed.
1220 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
1221 * testsuite/experimental/simd/tests/operators.cc (genHalfBits):
1222 Removed.
1223 * testsuite/experimental/simd/tests/abs.cc: Only include
1224 bits/main.h.
1225 Ditto.
1226 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
1227 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
1228 * testsuite/experimental/simd/tests/casts.cc: Ditto.
1229 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
1230 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
1231 * testsuite/experimental/simd/tests/generator.cc: Ditto.
1232 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
1233 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
1234 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
1235 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
1236 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
1237 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
1238 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
1239 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
1240 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
1241 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
1242 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
1243 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
1244 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
1245 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
1246 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
1247 * testsuite/experimental/simd/tests/simd.cc: Ditto.
1248 * testsuite/experimental/simd/tests/sincos.cc: Ditto.
1249 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
1250 * testsuite/experimental/simd/tests/splits.cc: Ditto.
1251 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
1252 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
1253 * testsuite/experimental/simd/tests/where.cc: Ditto.
1254
1255 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1256
1257 * testsuite/experimental/simd/README.md: Document the timeout
1258 and timeout-factor directives. Minor typo fixed.
1259
1260 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1261
1262 PR libstdc++/108030
1263 * include/experimental/bits/simd_detail.h: Define
1264 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
1265 * include/experimental/bits/simd.h: Annotate lambdas with
1266 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
1267 * include/experimental/bits/simd_builtin.h: Ditto.
1268 * include/experimental/bits/simd_converter.h: Ditto.
1269 * include/experimental/bits/simd_fixed_size.h: Ditto.
1270 * include/experimental/bits/simd_math.h: Ditto.
1271 * include/experimental/bits/simd_neon.h: Ditto.
1272 * include/experimental/bits/simd_x86.h: Ditto.
1273
1274 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1275
1276 * include/experimental/bits/simd.h
1277 (_SimdWrapper::_M_is_constprop_none_of)
1278 (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
1279 computed result still satisfies __builtin_constant_p.
1280
1281 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1282
1283 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
1284 ellipsis character.
1285
1286 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1287
1288 * include/Makefile.am: Add new header.
1289 * include/Makefile.in: Regenerate.
1290 * include/experimental/synchronized_value: New file.
1291 * testsuite/experimental/synchronized_value.cc: New test.
1292
1293 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1294
1295 * include/experimental/optional: Fix header name in comment.
1296
1297 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1298
1299 * include/std/format (__format::_Arg_store): New class template.
1300 (basic_format_args): Remove nested type _Store and add deduction
1301 guide from _Arg_store.
1302 (basic_format_arg, make_format_args): Adjust.
1303 * testsuite/std/format/arguments/lwg3810.cc: New test.
1304
1305 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1306
1307 * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
1308 constraints to constructors and add deleted overloads for the
1309 dangling cases, as per P2255R2.
1310 (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
1311 make dangling cases ill-formed.
1312 * testsuite/20_util/pair/dangling_ref.cc: New test.
1313
1314 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1315
1316 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
1317
1318 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1319
1320 * include/ext/throw_allocator.h: Use reserved names for
1321 parameters.
1322
1323 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1324
1325 * testsuite/17_intro/names_pstl.cc: Add space after effective
1326 target name.
1327
1328 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1329
1330 * include/pstl/algorithm_fwd.h (__pattern_search_n)
1331 (__brick_unique_copy, __brick_adjacent_find)
1332 (__brick_generate_n, __pattern_generate_n): Use reserved names
1333 for parameters.
1334 * include/pstl/algorithm_impl.h (__brick_unique_copy)
1335 (__pattern_reverse, __brick_generate_n): Likewise.
1336 * include/pstl/execution_impl.h (__prefer_unsequenced_tag)
1337 (__prefer_parallel_tag): Likewise.
1338 * include/pstl/glue_algorithm_impl.h (transform): Likewise.
1339 * include/pstl/glue_numeric_defs.h (adjacent_difference):
1340 Likewise.
1341 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
1342 Likewise.
1343 * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
1344 * include/pstl/unseq_backend_simd.h (_Combiner)
1345 (__simd_min_element, __simd_minmax_element): Likewise.
1346 * testsuite/17_intro/names_pstl.cc: New test.
1347
1348 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1349
1350 * include/bits/fs_ops.h (create_directory): Use reserved name
1351 for parameter.
1352 * include/bits/ranges_algo.h (__contains_subrange_fn):
1353 Likewise.
1354 * include/bits/regex_automaton.h (_State_base::_M_print):
1355 Likewise.
1356 * include/bits/regex_automaton.tcc(_State_base::_M_print):
1357 Likewise.
1358 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
1359 * include/experimental/bits/fs_ops.h (create_directory):
1360 Likewise.
1361 * include/std/mutex (timed_mutex::_M_clocklock): Likewise.
1362 (recursive_timed_mutex:_M_clocklock): Likewise.
1363 * include/std/tuple (basic_common_reference): Likewise.
1364 * libsupc++/cxxabi_init_exception.h
1365 (__cxa_init_primary_exception): Likewise.
1366 * testsuite/17_intro/names.cc: Add checks.
1367
1368 2023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
1369
1370 * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
1371 to www.open-std.org and https.
1372 * doc/html/manual/status.html: Regenerate.
1373
1374 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
1375
1376 PR libstdc++/103934
1377 * include/std/atomic (atomic_flag_wait): Add.
1378 (atomic_flag_wait_explicit): Add.
1379 (atomic_flag_notify): Add.
1380 (atomic_flag_notify_explicit): Add.
1381 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
1382 Add test case to cover missing atomic_flag free functions.
1383
1384 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
1385
1386 PR libstdc++/103934
1387 * include/std/atomic (atomic_flag_test): Add.
1388 (atomic_flag_test_explicit): Add.
1389 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
1390 test case to cover missing atomic_flag free functions.
1391 * testsuite/29_atomics/atomic_flag/test/implicit.cc:
1392 Likewise.
1393
1394 2023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
1395
1396 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
1397 "The Component Object Model" reference.
1398 * doc/html/manual/policy_data_structures.html: Regenerate.
1399
1400 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1401
1402 * doc/xml/manual/containers.xml: Tweak a link to N1780
1403 (C++ standard).
1404 * doc/html/manual/associative.html: Regenerate.
1405
1406 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1407
1408 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
1409 * doc/html/manual/facets.html: Regenerate.
1410
1411 2023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
1412
1413 * doc/xml/manual/policy_data_structures_biblio.xml: Update
1414 link to "Worst-case efficient priority queues".
1415 * doc/html/manual/policy_data_structures.html: Regenerate.
1416
1417 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
1418
1419 * doc/xml/manual/using.xml: Document newly-freestanding
1420 headers and the effect of the -ffreestanding flag.
1421 * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
1422 completed.
1423 * doc/xml/manual/configure.xml: Document that hosted installs
1424 respect __STDC_HOSTED__.
1425 * doc/xml/manual/test.xml: Document how to run tests in
1426 freestanding mode.
1427 * doc/html/*: Regenerate.
1428
1429 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
1430
1431 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
1432 (__find_last_if_fn): Likewise.
1433
1434 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
1435
1436 * include/std/type_traits: Add diagnostic pragmas around
1437 references to deprecated std::aligned_storage and
1438 std::aligned_union traits.
1439 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
1440 Add dg-warning for et c++23.
1441 * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
1442 Likewise.
1443 * testsuite/20_util/aligned_storage/value.cc: Likewise.
1444 * testsuite/20_util/aligned_union/1.cc: Likewise.
1445 * testsuite/20_util/aligned_union/requirements/alias_decl.cc:
1446 Likewise.
1447
1448 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
1449
1450 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
1451 * include/bits/c++config (_GLIBCXX23_DEPRECATED)
1452 (_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
1453 * include/std/type_traits (aligned_storage, aligned_union)
1454 (aligned_storage_t, aligned_union_t): Deprecate for C++23.
1455 * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
1456 * testsuite/20_util/aligned_union/deprecated-2b.cc: New test.
1457
1458 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
1459
1460 * doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
1461 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
1462 consistent with other 'deprecated' macros.
1463 * include/std/type_traits (is_pod, is_pod_v): Use
1464 _GLIBCXX20_DEPRECATED_SUGGEST instead.
1465
1466 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
1467
1468 * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
1469 * Makefile.in: Regenerate.
1470 * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
1471 There's no history to be compatible with.
1472 * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
1473 source files from the build.
1474 * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
1475 * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
1476 * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
1477 * src/Makefile.in: Regenerate.
1478 * src/c++11/Makefile.in: Regenerate.
1479 * src/c++17/Makefile.in: Regenerate.
1480 * src/c++20/Makefile.in: Regenerate.
1481 * src/c++98/Makefile.in: Regenerate.
1482
1483 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
1484
1485 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
1486 filesystem, libbacktrace and experimental.
1487 * src/Makefile.in: Regenerate.
1488
1489 2023-02-04 Hans-Peter Nilsson <hp@axis.com>
1490
1491 PR libstdc++/108672
1492 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
1493 instead of int32_t.
1494
1495 2023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
1496
1497 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
1498 * doc/html/manual/documentation_hacking.html: Regenerate.
1499
1500 2023-02-04 François Dumont <fdumont@gcc.gnu.org>
1501
1502 * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
1503 storage to the move-from instance when allocators are equal.
1504 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
1505 New test case.
1506
1507 2023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
1508
1509 * config/os/gnu-linux/os_defines.h [!__linux__]
1510 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
1511
1512 2023-02-03 Patrick Palka <ppalka@redhat.com>
1513
1514 * include/bits/ranges_algo.h (__find_last_fn, find_last):
1515 Define.
1516 (__find_last_if_fn, find_last_if): Define.
1517 (__find_last_if_not_fn, find_last_if_not): Define.
1518 * testsuite/25_algorithms/find_last/1.cc: New test.
1519 * testsuite/25_algorithms/find_last_if/1.cc: New test.
1520 * testsuite/25_algorithms/find_last_if_not/1.cc: New test.
1521
1522 2023-02-03 Patrick Palka <ppalka@redhat.com>
1523
1524 * include/bits/ranges_algo.h (out_value_result): Define.
1525 (iota_result): Define.
1526 (__iota_fn, iota): Define.
1527 * testsuite/25_algorithms/iota/1.cc: New test.
1528
1529 2023-02-03 Patrick Palka <ppalka@redhat.com>
1530
1531 * include/bits/ranges_algo.h (__contains_fn, contains): Define.
1532 (__contains_subrange_fn, contains_subrange): Define.
1533 * testsuite/25_algorithms/contains/1.cc: New test.
1534 * testsuite/25_algorithms/contains_subrange/1.cc: New test.
1535
1536 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1537
1538 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
1539 * doc/html/manual/abi.html: Regenerate.
1540
1541 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1542
1543 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
1544 errc::function_not_supported instead of errc::not_supported.
1545
1546 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1547
1548 * include/std/sstream (basic_stringbuf::view): Define for old
1549 std::string ABI.
1550 (basic_istringstream::view, basic_0stringstream::view)
1551 (basic_stringstream::view): Likewise.
1552 * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
1553 { dg-require-effective-target cxx11_abi }.
1554 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
1555 Likewise.
1556 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
1557 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
1558 Likewise.
1559 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
1560 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
1561 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
1562 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
1563 Likewise.
1564
1565 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1566
1567 PR libstdc++/108636
1568 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
1569 conversion operators for directory iterator comparisons with
1570 std::default_sentinel_t.
1571 * include/bits/fs_path.h (path::path(string_view, _Type))
1572 (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
1573 definitions to ...
1574 * src/c++17/fs_path.cc: ... here.
1575 * testsuite/27_io/filesystem/path/108636.cc: New test.
1576
1577 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1578
1579 * include/std/variant (variant::operator=): Implement resolution
1580 of LWG 3585.
1581 * testsuite/20_util/variant/lwg3585.cc: New test.
1582
1583 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1584
1585 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
1586 link to https.
1587 * doc/html/manual/using_exceptions.html: Regenerate.
1588
1589 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1590
1591 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
1592 * doc/html/manual/debug.html: Regenerate.
1593
1594 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
1595
1596 * src/c++11/random.cc (random_device::_M_fini): Do not try to
1597 close the file handle if the target doesn't support the
1598 /dev/random and /dev/urandom files.
1599
1600 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
1601
1602 * config/os/generic/error_constants.h (errc::value_too_large)
1603 [__AVR__]: Define.
1604 * src/c++11/system_error.cc
1605 (system_category::default_error_condition) [__AVR__]: Only match
1606 recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
1607 * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
1608 for ENOENT etc. in switch.
1609 (fs::remove_all) [__AVR__]: Likewise.
1610 * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
1611 close etc.
1612
1613 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
1614
1615 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
1616 embed_zoneinfo=no
1617 * configure: Regenerate.
1618
1619 2023-02-01 Hans-Peter Nilsson <hp@axis.com>
1620
1621 PR testsuite/108632
1622 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
1623 struct at end of S0.
1624
1625 2023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
1626
1627 * doc/xml/manual/shared_ptr.xml: Move links from both
1628 http://open-std.org and http://www.open-std.org to
1629 https://www.open-std.org.
1630 * doc/html/manual/memory.html: Regenerate.
1631
1632 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1633
1634 * doc/xml/manual/appendix_contributing.xml: Adjust link to
1635 ISO C++ standard at ANSI.
1636 Move link to www.open-std.org to https.
1637 * doc/html/manual/appendix_contributing.html: Regenerate.
1638
1639 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1640
1641 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
1642 links to https.
1643 * doc/html/manual/documentation_hacking.html: Regenerate.
1644
1645 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1646
1647 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
1648 * doc/html/manual/abi.html: Regenerate.
1649
1650 2023-01-27 Jakub Jelinek <jakub@redhat.com>
1651
1652 PR libstdc++/108568
1653 * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
1654 include features.h if present and then check __GLIBC__ and
1655 __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
1656 __GLIBC_PREREQ which isn't defined yet.
1657
1658 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
1659
1660 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
1661 string literal.
1662
1663 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
1664
1665 PR libstdc++/108554
1666 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
1667
1668 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
1669
1670 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
1671 rules named "+" for compatibility with older tzdata.zi files.
1672
1673 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
1674
1675 PR libstdc++/108554
1676 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
1677 nonnull attribute.
1678 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
1679 attributes.
1680 * testsuite/23_containers/map/modifiers/108554.cc: New test.
1681
1682 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
1683
1684 PR libstdc++/108530
1685 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
1686 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
1687
1688 2023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
1689
1690 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
1691 use https.
1692 * doc/html/manual/bugs.html: Regenerate.
1693
1694 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
1695
1696 PR libstdc++/108530
1697 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
1698 /etc/sysconfig/clock.
1699
1700 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
1701
1702 PR libstdc++/102301
1703 * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
1704 std::make_reverse_iterator.
1705 * include/std/tuple: Include <bits/ranges_util.h> for subrange.
1706 (make_from_tuple): Add static assertion from P2255 to diagnose
1707 dangling references.
1708 * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
1709 * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.
1710
1711 2023-01-23 François Dumont <fdumont@gcc.gnu.org>
1712
1713 * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
1714 (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
1715 (_Safe_iterator::operator++(int)): Use latter.
1716 (_Safe_iterator::operator--(int)): Likewise.
1717 (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
1718 check.
1719 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
1720 New.
1721 (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
1722 (_Safe_local_iterator::operator++(int)): Use latter.
1723 * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
1724 entry associated to the array entry.
1725
1726 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
1727
1728 * include/bits/fs_path.h (u8path): Add deprecated attribute.
1729 * testsuite/27_io/filesystem/path/construct/90281.cc: Add
1730 -Wno-deprecated-declarations for C++20 and later.
1731 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
1732 Likewise.
1733 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
1734 * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
1735 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.
1736
1737 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
1738
1739 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
1740 Always call _M_fini and _M_getentropy.
1741
1742 2023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
1743
1744 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
1745 to www.open-std.org to use https.
1746 (COM: Component Model Object Technologies): Rename from...
1747 (The Component Object Model): ...to.
1748 * doc/html/manual/policy_data_structures.html: Regenerate.
1749
1750 2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
1751
1752 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
1753 * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
1754 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.
1755
1756 2023-01-17 Jonathan Wakely <jwakely@redhat.com>
1757
1758 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
1759 of $host. Fix check for file being present during native build.
1760 * configure: Regenerate.
1761
1762 2023-01-17 Martin Liska <mliska@suse.cz>
1763
1764 * src/libbacktrace/Makefile.in: Regenerate.
1765
1766 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
1767
1768 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
1769
1770 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
1771
1772 PR libstdc++/108413
1773 * include/c_compatibility/stdatomic.h: Change copyright line to
1774 be consistent with other headers contributed under DCO terms.
1775 * include/std/expected: Add full stop to copyright line.
1776 * src/c++20/tzdb.cc: Likewise.
1777
1778 2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
1779
1780 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
1781 https.
1782 * doc/xml/manual/status_cxx2017.xml: Ditto.
1783 * doc/xml/manual/status_cxx2020.xml: Ditto.
1784 * doc/xml/manual/status_cxx2023.xml: Ditto.
1785 * doc/html/manual/status.html: Regenerate.
1786
1787 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
1788
1789 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
1790 and fail gracefully if defining the weak symbol doesn't work.
1791
1792 2023-01-15 François Dumont <fdumont@gcc.gnu.org>
1793
1794 PR libstdc++/108288
1795 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
1796 fix to other iterator category.
1797 (_Safe_iterator<>::operator--(int)): Likewise.
1798 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
1799 Fix deadlock.
1800 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
1801 (invalid_local_iterator_post_increment): New.
1802 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
1803 New test.
1804 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
1805 New test.
1806
1807 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
1808
1809 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
1810 dg-options.
1811
1812 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
1813
1814 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
1815
1816 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
1817
1818 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
1819 windows.h. Add pecoff as FORMAT_FILE.
1820 * config.h.in: Regenerate.
1821 * configure: Regenerate.
1822 * src/libbacktrace/Makefile.am: Regenerate.
1823 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
1824
1825 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
1826
1827 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
1828 raw __name if __cxa_demangle could not demangle it.
1829
1830 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1831
1832 PR libstdc++/108409
1833 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
1834 variable.
1835
1836 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1837
1838 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
1839 loading tzdb.
1840 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
1841 effective target.
1842 * testsuite/std/time/tzdb_list/1.cc: Likewise.
1843
1844 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1845
1846 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
1847 --with-libstdcxx-zoneinfo-dir configure option with
1848 --with-libstdcxx-zoneinfo with yes/no/static choices as well as
1849 a directory.
1850 * config.h.in: Regenerate.
1851 * configure: Regenerate.
1852 * doc/xml/manual/configure.xml: Document configure option.
1853 * doc/html/manual/configure.html: Regenerate.
1854 * src/c++20/Makefile.am: Generate tzdata.zi.h header.
1855 * src/c++20/Makefile.in: Regenerate.
1856 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
1857 null pointer if no directory is configured.
1858 (zoneinfo_dir): Replace with ...
1859 (zoneinfo_file): New function.
1860 (tzdata_stream): New istream class.
1861 (remote_version, reload_tzdb): Use tzdata_stream.
1862 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
1863 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
1864 tzdata.zi file in default location.
1865 * src/c++20/tzdata.zi: New file.
1866
1867 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1868
1869 * include/bits/chrono_io.h (operator<<): Fix syntax errors.
1870 * testsuite/std/time/month_day/io.cc: New test.
1871 * testsuite/std/time/month_day_last/io.cc: New test.
1872 * testsuite/std/time/month_weekday/io.cc: New test.
1873 * testsuite/std/time/month_weekday_last/io.cc: New test.
1874 * testsuite/std/time/weekday_indexed/io.cc: New test.
1875 * testsuite/std/time/weekday_last/io.cc: New test.
1876 * testsuite/std/time/year_month/io.cc: New test.
1877 * testsuite/std/time/year_month_day_last/io.cc: New test.
1878 * testsuite/std/time/year_month_weekday/io.cc: New test.
1879 * testsuite/std/time/year_month_weekday_last/io.cc: New test.
1880
1881 2023-01-14 François Dumont <fdumont@gcc.gnu.org>
1882
1883 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
1884 specifications.
1885 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
1886 export.
1887
1888 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1889
1890 * include/bits/std_mutex.h: Include <errno.h>.
1891
1892 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
1893
1894 * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
1895 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
1896 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
1897 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
1898 std::make_unique with a freestanding-compatible wrapper around
1899 unique_ptr.
1900 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
1901 Don't test for presence of __cpp_lib_string_contains on !HOSTED.
1902 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
1903 Ditto.
1904 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
1905 of __cpp_lib_ranges in !HOSTED.
1906
1907 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
1908
1909 * include/Makefile.am: Install bits/char_traits.h,
1910 std/string_view
1911 * include/Makefile.in: Regenerate.
1912 * include/bits/char_traits.h: Gate hosted-only, wchar-only and
1913 mbstate-only bits behind appropriate #ifs.
1914 * include/std/string_view: Gate <iostream> functionality behind
1915 HOSTED.
1916 * include/std/version: Enable __cpp_lib_constexpr_string_view
1917 and __cpp_lib_starts_ends_with in !HOSTED.
1918 * include/std/ranges: Re-enable __is_basic_string_view on
1919 freestanding, include <string_view> directly.
1920 * include/precompiled/stdc++.h: Include <string_view> when
1921 !HOSTED too.
1922 * testsuite/20_util/function_objects/searchers.cc: Skip testing
1923 boyer_moore searchers on freestanding
1924 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
1925 <string>-related tests behind __STDC_HOSTED__.
1926 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
1927 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
1928 unused <stdexcept> include.
1929 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
1930 unused <vector> include.
1931 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
1932 Guard <string> related testing behind __STDC_HOSTED__.
1933 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
1934 Guard <stdexcept> related tests behind __STDC_HOSTED__.
1935 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1936 Ditto.
1937 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1938 Guard <stdexcept> tests behind __STDC_HOSTED__.
1939 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
1940 Enable test on freestanding, guard <stdexcept> bits behind
1941 __STDC_HOSTED__.
1942 * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
1943 Guard <stdexcept> bits behind __STDC_HOSTED__.
1944 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
1945 Ditto.
1946
1947 2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
1948
1949 PR libstdc++/86419
1950 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
1951 errors in incomplete multibyte sequences.
1952 (utf16_in): Remove surrogates parameter. Fix conditions for
1953 returning partial.
1954 (utf16_out): Fix condition for returning partial.
1955 (ucs2_in): Do not pass surrogates argument to utf16_in.
1956 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
1957 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
1958 tests.
1959 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
1960 test.
1961
1962 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1963
1964 PR libstdc++/108331
1965 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
1966 __GTHREAD_LEGACY_MUTEX_T if defined.
1967
1968 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1969
1970 PR libstdc++/108327
1971 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
1972 Export __try_use_facet specializations for facets in namespace
1973 __gnu_cxx_ldbl128.
1974 * config/os/gnu-linux/ldbl-ieee128-extra.ver
1975 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
1976 __gnu_cxx_ieee128.
1977 * testsuite/util/testsuite_abi.cc: Add to lists of known and
1978 latest versions.
1979
1980 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1981
1982 * include/bits/std_mutex.h: Remove <system_error> include.
1983 * include/std/condition_variable: Add <bits/error_constants.h>
1984 include.
1985 * include/std/mutex: Likewise.
1986 * include/std/shared_mutex: Likewise.
1987
1988 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
1989
1990 PR libstdc++/77691
1991 * include/experimental/memory_resource
1992 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
1993 (do_allocate, do_deallocate): Check it.
1994 * testsuite/experimental/memory_resource/new_delete_resource.cc:
1995 Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
1996
1997 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
1998
1999 * doc/xml/manual/abi.xml: Add latest library versions.
2000 * doc/html/manual/abi.html: Regenerate.
2001
2002 2023-01-12 François Dumont <fdumont@gcc.gnu.org>
2003
2004 PR libstdc++/107189
2005 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
2006 unused _Alloc_node instance.
2007
2008 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
2009
2010 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
2011 Define as unsigned long if always lock-free, and unsigned int
2012 otherwise.
2013
2014 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
2015
2016 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
2017 __catch macros for exception handling.
2018
2019 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
2020
2021 PR libstdc++/108221
2022 * include/bits/stl_algobase.h (__lg): Replace six overloads with
2023 a single function template for all integer types.
2024 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
2025 arithmetic results back to _Distance.
2026
2027 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
2028
2029 PR libstdc++/108221
2030 * include/std/span (span::span()): Un-simplify constraint to
2031 work for size_t of lesser rank than int.
2032
2033 2023-01-07 LIU Hao <lh_mouse@126.com>
2034
2035 PR middle-end/108300
2036 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
2037 <windows.h>.
2038 * src/c++11/thread.cc: Likewise.
2039 * src/c++17/fs_ops.cc: Likewise.
2040 * src/filesystem/ops.cc: Likewise.
2041
2042 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
2043
2044 PR libstdc++/108228
2045 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
2046
2047 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
2048
2049 PR libstdc++/108235
2050 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
2051 template and partial specialization for synchronizing access to
2052 time_zone::_Impl::infos.
2053 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
2054 rules_counter.
2055
2056 2023-01-06 Patrick Palka <ppalka@redhat.com>
2057
2058 PR libstdc++/108260
2059 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
2060 * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
2061 (__cpp_lib_ranges_chunk): Likewise.
2062 (__cpp_lib_ranges_slide): Likewise.
2063 (__cpp_lib_ranges_chunk_by): Likewise.
2064 (__cpp_lib_ranges_join_with): Likewise.
2065 (__cpp_lib_ranges_repeat): Likewise.
2066 (__cpp_lib_ranges_stride): Likewise.
2067 (__cpp_lib_ranges_cartesian_product): Likewise.
2068 (__cpp_lib_ranges_as_rvalue): Likewise.
2069 * include/std/version: Ditto.
2070 * testsuite/20_util/tuple/p2321r2.cc: Verify value of
2071 feature-test macro.
2072 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
2073 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
2074 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
2075 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
2076 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
2077 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
2078 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
2079 * testsuite/std/ranges/repeat/1.cc: Likewise.
2080 * testsuite/std/ranges/zip/1.cc: Likewise.
2081 * testsuite/std/ranges/version_c++23.cc: New test.
2082
2083 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
2084
2085 PR libstdc++/108214
2086 * include/std/bitset (operator>>): Use alloca in the right
2087 scope, not in a constructor.
2088 * testsuite/20_util/bitset/io/input.cc: Check case from PR.
2089
2090 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
2091
2092 PR libstdc++/108221
2093 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
2094 Disable visiting floating-point types.
2095
2096 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
2097
2098 PR libstdc++/108288
2099 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
2100 (_Safe_iterator::operator--(int)): Do not hold lock around
2101 construction of return value.
2102
2103 2023-01-05 John David Anglin <danglin@gcc.gnu.org>
2104
2105 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
2106 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
2107 lock release. Revise loop.
2108 (__atomic_add): Likewise.
2109
2110 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
2111
2112 PR libstdc++/108212
2113 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
2114 variable.
2115 (StdChronoTimePointPrinter::to_string): Use it.
2116
2117 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
2118
2119 PR libstdc++/108290
2120 * include/std/functional (_Bind_front): Add no_unique_address
2121 attribute to data members.
2122 * testsuite/20_util/function_objects/bind_front/107784.cc: Check
2123 size of call wrappers with empty types for targets and bound
2124 arguments.
2125
2126 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
2127
2128 PR libstdc++/108211
2129 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
2130 using only last component of the name.
2131
2132 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
2133
2134 PR libstdc++/108228
2135 PR libstdc++/108235
2136 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
2137 the latest symbol version.
2138 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
2139 atomic<_Node*> is not always lock free.
2140 (USE_ATOMIC_LIST_HEAD): New macro.
2141 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
2142 definition of weak symbol.
2143 (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
2144 (tzdb_list::_Node::_S_list_head): New function for accessing
2145 list head efficiently.
2146 (tzdb_list::_Node::_S_cache_list_head): New function for
2147 updating _S_list_head.
2148
2149 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
2150
2151 PR libstdc++/108265
2152 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
2153 duration rep is unsigned.
2154 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
2155
2156 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
2157
2158 PR libstdc++/108228
2159 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
2160 Add __gnu_cxx::zoneinfo_dir_override().
2161
2162 2023-01-04 Jonathan Wakely <jwakely@redhat.com>
2163
2164 PR libstdc++/108258
2165 * include/std/array (__array_traits<T, 0>::operator T*()): Add
2166 constexpr.
2167 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
2168 std::array<T, 0>::data().
2169
2170 \f
2171 Copyright (C) 2023 Free Software Foundation, Inc.
2172
2173 Copying and distribution of this file, with or without modification,
2174 are permitted in any medium without royalty provided the copyright
2175 notice and this notice are preserved.