1 2023-05-09 Jonathan Wakely <jwakely@redhat.com>
3 * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter):
4 Print floating-point durations correctly.
5 (StdChronoTimePointPrinter): Support printing only the value,
6 not the type name. Uncomment handling for known clocks.
7 (StdChronoZonedTimePrinter): Remove type names from output.
8 (StdChronoCalendarPrinter): Fix hh_mm_ss member access.
9 (StdChronoTimeZonePrinter): Add equals sign to output.
10 * testsuite/libstdc++-prettyprinters/chrono.cc: New test.
12 2023-05-05 Alexandre Oliva <oliva@adacore.com>
14 * testsuite/20_util/from_chars/4.cc: Skip long double test06
16 * testsuite/20_util/to_chars/long_double.cc: Xfail run on
19 2023-05-04 Jonathan Wakely <jwakely@redhat.com>
21 * doc/xml/manual/abi.xml (abi.versioning.history): Document
22 libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version.
23 * doc/html/manual/abi.html: Regenerate.
25 2023-05-04 Florian Weimer <fweimer@redhat.com>
27 * doc/xml/manual/abi.xml (abi.versioning.history): Add
28 GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for
31 2023-05-03 Jakub Jelinek <jakub@redhat.com>
33 * src/c++17/floating_from_chars.cc
34 (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to
35 _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format.
36 * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to
37 _ZSt8to_charsPcS_u9__ieee128.
38 (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to
39 _ZSt8to_charsPcS_u9__ieee128St12chars_format.
40 (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to
41 _ZSt8to_charsPcS_u9__ieee128St12chars_formati.
42 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated.
44 2023-05-03 Jakub Jelinek <jakub@redhat.com>
46 * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu
47 rather than powerpc64-linux-gnu for powerpc64le*-linux*.
48 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove
49 _ZTI*DF128_, _ZTI*DF64x symbols and symbols in
50 GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol
52 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New
55 2023-05-03 Kefu Chai <kefu.chai@scylladb.com>
56 Jonathan Wakely <jwakely@redhat.com>
59 * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
60 Initialize _M_string_length.
62 2023-05-02 Jakub Jelinek <jakub@redhat.com>
64 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
65 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
66 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
67 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
68 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
69 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
70 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
71 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
73 2023-05-02 Jakub Jelinek <jakub@redhat.com>
76 * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for
79 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
81 * include/bits/random.h (gamma_distribution): Add to the right
83 (discrete_distribution, piecewise_constant_distribution)
84 (piecewise_linear_distribution): Create a new doxygen group and
85 fix the incomplete doxygen comments.
86 * include/bits/uniform_int_dist.h (uniform_int_distribution):
89 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
91 * include/bits/uses_allocator.h: Add missing @file comment.
92 * include/bits/regex.tcc: Remove stray doxygen comments.
93 * include/experimental/memory_resource: Likewise.
94 * include/std/bit: Tweak doxygen @cond comments.
95 * include/std/expected: Likewise.
96 * include/std/numbers: Likewise.
98 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
100 * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
103 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
105 * include/bits/move.h: Simplify opening/closing namespace std.
107 2023-04-28 Jakub Jelinek <jakub@redhat.com>
110 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export
111 _ZSt21ios_base_library_initv.
112 * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32
113 symver and make it the latestp.
114 * src/c++98/ios_init.cc (ios_base_library_init): New alias.
115 * acinclude.m4 (libtool_VERSION): Change to 6:32:0.
116 * include/std/iostream: If init_priority attribute is supported
117 and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv
118 symbol into the object.
119 * configure: Regenerated.
121 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
123 * include/bits/mofunc_impl.h: Fix typo in doxygen comment.
124 * include/std/format: Likewise.
126 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
128 * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME)
129 (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options.
131 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
133 * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
135 * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
137 * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
139 * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
141 * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
143 * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
144 (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
145 (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
146 (_DEFINE_BINARY_OPERATOR): Likewise.
148 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
150 * include/bits/memory_resource.h: Improve doxygen comments.
151 * include/std/memory_resource: Likewise.
153 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
156 * include/bits/basic_string.h: Improve doxygen comments.
157 * include/bits/cow_string.h: Likewise.
158 * include/bits/forward_list.h: Likewise.
159 * include/bits/fs_dir.h: Likewise.
160 * include/bits/fs_path.h: Likewise.
161 * include/bits/quoted_string.h: Likewise.
162 * include/bits/stl_bvector.h: Likewise.
163 * include/bits/stl_map.h: Likewise.
164 * include/bits/stl_multimap.h: Likewise.
165 * include/bits/stl_multiset.h: Likewise.
166 * include/bits/stl_set.h: Likewise.
167 * include/bits/stl_vector.h: Likewise.
168 * include/bits/unordered_map.h: Likewise.
169 * include/bits/unordered_set.h: Likewise.
170 * include/std/filesystem: Likewise.
171 * include/std/iomanip: Likewise.
173 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
176 * src/c++11/random.cc (__throw_syserr): New function.
177 (random_device::_M_init, random_device::_M_init_pretr1): Use new
178 function for bad tokens.
179 (random_device::_M_getval): Use new function for read errors.
180 * testsuite/util/testsuite_random.h (random_device_available):
181 Change catch handler to use std::system_error.
183 2023-04-24 Patrick Palka <ppalka@redhat.com>
185 * include/bits/max_size_type.h (__max_diff_type::operator>>=):
186 Fix propagation of sign bit.
187 * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
188 non-standard 'signed typedef-name'. Add some compile-time tests
189 for right-shifting a negative __max_diff_type value by more than
192 2023-04-19 Patrick Palka <ppalka@redhat.com>
193 Jonathan Wakely <jwakely@redhat.com>
196 * include/bits/utility.h (_Nth_type): Conditionally define in
197 terms of __type_pack_element if available.
198 * testsuite/20_util/tuple/element_access/get_neg.cc: Prune
199 additional errors from the new built-in.
201 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
204 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
207 * src/Makefile.am: Move globals_io.cc to here.
208 * src/Makefile.in: Regenerate.
209 * src/c++98/Makefile.am: Remove globals_io.cc from here.
210 * src/c++98/Makefile.in: Regenerate.
211 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
212 symbol name and then export with GLIBCXX_3.4.31 symver.
213 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
214 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
216 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
218 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
220 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
222 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
224 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
226 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
228 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
230 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
232 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
235 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
238 * config/abi/pre/gnu.ver: Fix preprocessor condition.
240 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
242 * doc/xml/manual/extensions.xml: Fix example to declare and
243 qualify std::free, and use NULL instead of 0.
244 * doc/html/manual/ext_demangling.html: Regenerate.
245 * libsupc++/cxxabi.h: Adjust doxygen comments.
247 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
250 * config/abi/pre/gnu.ver: Fix preprocessor condition.
252 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
255 * src/Makefile.am: Move globals_io.cc to here.
256 * src/Makefile.in: Regenerate.
257 * src/c++98/Makefile.am: Remove globals_io.cc from here.
258 * src/c++98/Makefile.in: Regenerate.
259 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
260 symbol name and then export with GLIBCXX_3.4.31 symver.
261 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
262 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
264 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
266 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
268 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
270 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
272 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
274 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
276 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
278 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
280 2023-04-18 Patrick Palka <ppalka@redhat.com>
283 * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value
285 * include/std/ranges (range_adaptor_closure): Define for C++23.
286 * include/std/version (__cpp_lib_ranges): Bump value for
288 * testsuite/std/ranges/version_c++23.cc: Bump expected value
290 * testsuite/std/ranges/range_adaptor_closure.cc: New test.
292 2023-04-18 Patrick Palka <ppalka@redhat.com>
294 * include/bits/ranges_algo.h (__cpp_lib_ranges_contains):
296 (__cpp_lib_ranges_iota): Likewise.
297 (__cpp_lib_ranges_find_last): Likewise.
298 (__cpp_lib_fold): Rename to ...
299 (__cpp_lib_ranges_fold): ... this.
300 * include/std/version: As above.
301 * testsuite/25_algorithms/fold_left/1.cc: Adjust after
302 renaming __cpp_lib_fold.
303 * testsuite/std/ranges/version_c++23.cc: Verify values
304 of the above feature-test macros.
306 2023-04-18 Patrick Palka <ppalka@redhat.com>
309 * include/std/ranges (views::_AsConst::operator()): Add
310 missing const to constant_range test.
311 * testsuite/std/ranges/adaptors/as_const/1.cc (test02):
312 Improve formatting. Adjust expected type of v2.
315 2023-04-14 Patrick Palka <ppalka@redhat.com>
317 * include/bits/ranges_base.h (const_iterator_t): Define for C++23.
318 (const_sentinel_t): Likewise.
319 (range_const_reference_t): Likewise.
320 (constant_range): Likewise.
321 (__cust_access::__possibly_const_range): Likewise, replacing ...
322 (__cust_access::__as_const): ... this.
323 (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4.
324 (__cust_access::_CEnd::operator()): Likewise.
325 (__cust_access::_CRBegin::operator()): Likewise.
326 (__cust_access::_CREnd::operator()): Likewise.
327 (__cust_access::_CData::operator()): Likewise.
328 * include/bits/ranges_util.h (ranges::__detail::__different_from):
329 Make it an alias of std::__detail::__different_from.
330 (view_interface::cbegin): Define for C++23.
331 (view_interface::cend): Likewise.
332 * include/bits/stl_iterator.h (__detail::__different_from): Define.
333 (iter_const_reference_t): Define for C++23.
334 (__detail::__constant_iterator): Likewise.
335 (__detail::__is_const_iterator): Likewise.
336 (__detail::__not_a_const_iterator): Likewise.
337 (__detail::__iter_const_rvalue_reference_t): Likewise.
338 (__detail::__basic_const_iter_cat):: Likewise.
339 (const_iterator): Likewise.
340 (__detail::__const_sentinel): Likewise.
341 (const_sentinel): Likewise.
342 (basic_const_iterator): Likewise.
343 (common_type<basic_const_iterator<_Tp>, _Up>): Likewise.
344 (common_type<_Up, basic_const_iterator<_Tp>>): Likewise.
345 (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>):
347 (make_const_iterator): Define for C++23.
348 (make_const_sentinel): Likewise.
349 * include/std/ranges (__cpp_lib_ranges_as_const): Likewise.
350 (as_const_view): Likewise.
351 (enable_borrowed_range<as_const_view>): Likewise.
352 (views::__detail::__is_ref_view): Likewise.
353 (views::__detail::__can_is_const_view): Likewise.
354 (views::_AsConst, views::as_const): Likewise.
355 * include/std/span (span::const_iterator): Likewise.
356 (span::const_reverse_iterator): Likewise.
357 (span::cbegin): Likewise.
358 (span::cend): Likewise.
359 (span::crbegin): Likewise.
360 (span::crend): Likewise.
361 * include/std/version (__cpp_lib_ranges_as_const): Likewise.
362 * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to
363 behave independently of C++20 vs C++23.
364 * testsuite/std/ranges/version_c++23.cc: Verify value of
365 __cpp_lib_ranges_as_const macro.
366 * testsuite/24_iterators/const_iterator/1.cc: New test.
367 * testsuite/std/ranges/adaptors/as_const/1.cc: New test.
369 2023-04-14 Patrick Palka <ppalka@redhat.com>
371 * include/bits/ranges_base.h (__cust_access::__as_const)
372 (__cust_access::_CBegin, __cust::cbegin)
373 (__cust_access::_CEnd, __cust::cend)
374 (__cust_access::_CRBegin, __cust::crbegin)
375 (__cust_access::_CREnd, __cust::crend)
376 (__cust_access::_CData, __cust::cdata): Move down definitions to
377 shortly after the definition of input_range.
379 2023-04-14 Patrick Palka <ppalka@redhat.com>
381 * include/bits/ranges_algo.h: Include <optional> for C++23.
382 (__cpp_lib_fold): Define for C++23.
383 (in_value_result): Likewise.
384 (__detail::__flipped): Likewise.
385 (__detail::__indirectly_binary_left_foldable_impl): Likewise.
386 (__detail::__indirectly_binary_left_foldable): Likewise.
387 (___detail:__indirectly_binary_right_foldable): Likewise.
388 (fold_left_with_iter_result): Likewise.
389 (__fold_left_with_iter_fn, fold_left_with_iter): Likewise.
390 (__fold_left_fn, fold_left): Likewise.
391 (__fold_left_first_with_iter_fn, fold_left_first_with_iter):
393 (__fold_left_first_fn, fold_left_first): Likewise.
394 (__fold_right_fn, fold_right): Likewise.
395 (__fold_right_last_fn, fold_right_last): Likewise.
396 * include/std/version (__cpp_lib_fold): Likewise.
397 * testsuite/25_algorithms/fold_left/1.cc: New test.
398 * testsuite/25_algorithms/fold_right/1.cc: New test.
400 2023-04-14 Jonathan Wakely <jwakely@redhat.com>
402 * include/std/format (formatter): Add comment to deleted default
403 constructor of primary template.
404 (_Checking_scanner): Add static_assert.
406 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
408 * doc/xml/manual/using.xml: Document libstdc++exp.a library.
409 * doc/html/*: Regenerate.
411 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
413 * testsuite/17_intro/names.cc [_AIX]: Do not define policy.
414 * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename
415 namespace to avoid clashing with libc struct.
416 * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
418 * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX.
419 * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
420 * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
421 * testsuite/23_containers/unordered_set/96088.cc: Likewise.
422 * testsuite/experimental/synchronized_value.cc: Require gthreads
423 and add missing option for pthreads targets.
425 2023-04-12 Patrick Palka <ppalka@redhat.com>
427 * include/std/ranges (__cpp_lib_ranges_enumerate): Define
429 (__detail::__range_with_movable_reference): Likewise.
430 (enumerate_view): Likewise.
431 (enumerate_view::_Iterator): Likewise.
432 (enumerate_view::_Sentinel): Likewise.
433 (views::__detail::__can_enumerate_view): Likewise.
434 (views::_Enumerate, views::enumerate): Likewise.
435 * include/std/version (__cpp_lib_ranges_enumerate): Likewise.
436 * testsuite/std/ranges/version_c++23.cc: Verify value of
437 __cpp_lib_ranges_enumerate.
438 * testsuite/std/ranges/adaptors/enumerate/1.cc: New test.
440 2023-04-12 Patrick Palka <ppalka@redhat.com>
442 * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
443 Propagate _M_trailing_empty in the const-converting constructor
445 * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct
447 * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
449 2023-04-12 Patrick Palka <ppalka@redhat.com>
451 * src/c++17/floating_from_chars.cc: Include <algorithm>,
452 <iterator>, <limits> and <cstdint>.
454 2023-04-12 Patrick Palka <ppalka@redhat.com>
457 * include/std/ranges (chunk_by_view::_M_find_next): Generalize
458 parameter types of the lambda wrapper passed to adjacent_find.
459 (chunk_by_view::_M_find_prev): Likewise.
460 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05):
463 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
466 * include/experimental/internet (basic_endpoint::basic_endpoint()):
467 Ensure that the required union members are active. Only define
468 as constexpr for C++20 and later.
469 (basic_endpoint::basic_endpoint(const protocol_type&, port_type)):
471 * testsuite/experimental/net/internet/endpoint/cons.cc: Only
472 check constexpr default constructor for C++20 and later.
473 * testsuite/experimental/net/internet/endpoint/extensible.cc:
476 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
478 * src/c++20/tzdata.zi: Import new file from 2023c release.
480 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
482 * include/precompiled/stdc++.h (C++17): Don't double-include
483 <charconv>, once with wrong conditions.
484 * testsuite/18_support/96817.cc: Require hosted.
485 * testsuite/18_support/bad_exception/59392.cc: Ditto.
486 * testsuite/20_util/scoped_allocator/108952.cc: Ditto.
487 * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto.
488 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
491 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
493 * include/bits/c++config: When __STDC_HOSTED__ is zero,
494 disable _GLIBCXX_DEBUG and, if it was set, enable
496 * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode):
497 Include <bits/c++config.h> when determining whether debug is
498 set, in order to inherit the logic from above
500 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
502 * testsuite/17_intro/versionconflict.cc: New test.
503 * include/std/version: Allow disabling the system_header pragma
504 via _GLIBCXX_TESTING_SYSHDR.
506 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
508 * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
509 Synchronize the definition block with...
510 * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory):
511 ... this one here. Also define the 202202L value, rather than
512 leaving it up to purely unique_ptr.h, so that the value is
513 synchronized across all headers.
514 (__gnu_debug::_Safe_iterator_base): Move into new conditional
516 * include/std/memory (__cpp_lib_atomic_value_initialization):
517 Define on freestanding under the same conditions as in
519 * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops):
520 Also define on freestanding.
521 (__cpp_lib_to_chars): Ditto.
522 (__cpp_lib_gcd): Ditto.
523 (__cpp_lib_gcd_lcm): Ditto.
524 (__cpp_lib_raw_memory_algorithms): Ditto.
525 (__cpp_lib_array_constexpr): Ditto.
526 (__cpp_lib_nonmember_container_access): Ditto.
527 (__cpp_lib_clamp): Ditto.
528 (__cpp_lib_constexpr_char_traits): Ditto.
529 (__cpp_lib_constexpr_string): Ditto.
530 (__cpp_lib_sample): Ditto.
531 (__cpp_lib_lcm): Ditto.
532 (__cpp_lib_constexpr_iterator): Ditto.
533 (__cpp_lib_constexpr_char_traits): Ditto.
534 (__cpp_lib_interpolate): Ditto.
535 (__cpp_lib_constexpr_utility): Ditto.
536 (__cpp_lib_shift): Ditto.
537 (__cpp_lib_ranges): Ditto.
538 (__cpp_lib_move_iterator_concept): Ditto.
539 (__cpp_lib_constexpr_numeric): Ditto.
540 (__cpp_lib_constexpr_functional): Ditto.
541 (__cpp_lib_constexpr_algorithms): Ditto.
542 (__cpp_lib_constexpr_tuple): Ditto.
543 (__cpp_lib_constexpr_memory): Ditto.
545 2023-04-05 John David Anglin <danglin@gcc.gnu.org>
547 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double
548 timeout factor on hppa*-*-*.
550 2023-04-05 Jonathan Wakely <jwakely@redhat.com>
552 * include/bits/regex.h (sub_match::swap): New function.
553 * testsuite/28_regex/sub_match/lwg3204.cc: New test.
555 2023-04-04 Jonathan Wakely <jwakely@redhat.com>
557 * doc/xml/manual/extensions.xml: Remove std::bad_exception from
559 * doc/html/manual/ext_demangling.html: Regenerate.
561 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
563 PR tree-optimization/107087
564 * include/bits/cow_string.h (basic_string::size()): Add
565 optimizer hint that _S_empty_rep()._M_length is always zero.
566 (basic_string::length()): Call size().
568 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
571 * include/std/stop_token (_Stop_state_ptr(const stop_source&)):
572 Add attribute access with access-mode 'none'.
573 * testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
575 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
577 * include/experimental/internet (ip::basic_endpoint::_M_if_v6):
578 Revert change from member function to data member. Fix for
579 constant evaluation by detecting which union member is active.
580 (ip::basic_endpoint::resize): Revert changes to update _M_is_v6
583 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
586 * testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
587 * testsuite/20_util/optional/monadic/pr109242.cc: ...here.
589 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
591 * include/experimental/internet (ip::make_address): Implement
593 (ip::address_v4::broadcast()): Avoid undefined shift.
594 (ip::basic_endpoint): Fix member functions for constexpr.
595 (ip::basic_endpoint::_M_is_v6): Replace member function with
596 data member, adjust member functions using it.
597 (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr
599 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
600 constexpr checks to work in C++14.
601 * testsuite/experimental/net/internet/address/v4/creation.cc:
603 * testsuite/experimental/net/internet/endpoint/cons.cc:
605 * testsuite/experimental/net/internet/network/v4/cons.cc:
607 * testsuite/experimental/net/internet/network/v4/members.cc:
609 * testsuite/experimental/net/internet/endpoint/extensible.cc: New test.
611 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
613 * include/std/expected (expected::value() &): Use const lvalue
614 for unex member passed to bad_expected_access constructor, as
617 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
620 * include/std/expected (expected::transform): Use
621 std::remove_cv_t instead of std::remove_cvref_t.
622 (expected::transform_error): Likewise.
623 (expected<cv void, E>::transform): Likewise.
624 (expected<cv void, E>::transform_error): Likewise.
625 * include/std/optional (transform): Use std::remove_cv_t.
626 * testsuite/20_util/optional/monadic/pr109340.cc: New test.
628 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
630 * include/std/optional (optional): Adjust static assertion to
631 reject arrays and functions as well as references.
632 * testsuite/20_util/optional/requirements_neg.cc: New test.
634 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
637 * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
638 std::use_facet instead of cached _M_num_get facet.
639 (istream::operator>>(short&)): Likewise.
640 (istream::operator>>(int&)): Likewise.
641 * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
642 std::use_facet instead of cached _M_num_put facet.
644 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
646 * include/bits/char_traits.h (char_traits::copy): Return without
647 using memcpy if n==0.
648 (char_traits::assign): Likewise for memset.
650 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
653 * include/bits/basic_string.h (basic_string::_M_is_local()): Add
654 hint for compiler that local strings fit in the local buffer.
656 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
659 * include/std/chrono (__detail::__get_leap_second_info): Update
660 expiry date of hardcoded leapseconds list.
661 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()):
663 * src/c++20/tzdata.zi: Import new file from 2023a release.
664 * testsuite/std/time/time_zone/get_info_local.cc: Only check
665 transitions for Egypt up to 2014.
667 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
669 * include/experimental/bits/simd.h (is_simd_flag_type): New.
670 (_IsSimdFlagType): New.
671 (copy_from, copy_to, load ctors): Constrain _Flags using
674 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
676 * include/experimental/bits/simd_x86.h (_SimdImplX86): Use
677 _Base::_S_divides if the optimized _S_divides function is hidden
678 via the preprocessor.
680 2023-03-27 Jakub Jelinek <jakub@redhat.com>
682 * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
683 warning if size_t is not unsigned long.
685 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
687 * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
688 Add overload, as per LWG 3893.
689 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
690 Check assignment from nullptr.
692 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
694 * include/std/format (formatter<const charT[N], charT>): Do not
695 define partial speclialization, as per LWG 3833.
696 * testsuite/std/format/formatter/requirements.cc: Check it.
698 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
700 * include/std/utility (__cpp_lib_constexpr_algorithms): Define,
702 * testsuite/20_util/exchange/constexpr.cc: Check for it.
704 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
706 * include/std/version (__cpp_lib_format): Define.
707 * testsuite/std/format/functions/format.cc: Check it.
709 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
711 * include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
712 Pass rvalues to the callback, as now allowed by LWG 3645.
713 Enforce preconditions on the return value.
714 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
717 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
719 * include/std/format: Add a comment noting that the resolution
720 of LWG 3720 has been applied..
722 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
724 * include/bits/regex.h (match_results): Add allocator-extended
725 copy and move constructors, as per LWG 2195.
726 * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test.
728 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
730 * include/bits/stream_iterator.h (istream_iterator): Add
731 constexpr to copy constructor, as per LWG 3600.
732 * testsuite/24_iterators/istream_iterator/cons/constexpr.cc:
733 Check copy construction.
735 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
737 * include/experimental/bits/simd_x86.h
738 (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
739 with __RECIPROCAL_MATH__.
741 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
743 * include/experimental/bits/simd_detail.h: Don't define
744 _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
745 * include/experimental/bits/simd_x86.h (_S_divides): Remove
748 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
750 * include/experimental/bits/simd_detail.h: Don't declare the
751 simd API as constexpr with Clang.
752 * include/experimental/bits/simd_x86.h (__movm): New.
753 (_S_blend_avx512): Resolve FIXME. Implement blend using __movm
755 (_SimdImplX86::_S_masked_unary): Clang does not implement the
756 same builtins. Implement the function using __movm, ?:, and -
757 operators on vector_size types instead.
759 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
761 * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
762 define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
764 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
766 * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
769 2023-03-20 Marek Polacek <polacek@redhat.com>
772 * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error.
773 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
774 * testsuite/23_containers/span/explicit.cc: Likewise.
776 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
779 * include/std/expected (expected<void>::expected(in_place_t)):
780 Remove template-head.
782 2023-03-18 Jonathan Wakely <jwakely@redhat.com>
785 * testsuite/18_support/coroutines/hash.cc: Use const object
788 2023-03-17 Jonathan Wakely <jwakely@redhat.com>
791 * include/std/coroutine (hash<>::operator()): Add const.
792 * testsuite/18_support/coroutines/hash.cc: New test.
794 2023-03-14 Patrick Palka <ppalka@redhat.com>
797 * include/std/ranges (repeat_view): Remove redundant parentheses
799 (repeat_view::_Iterator): Correct the requires-clause.
801 2023-03-14 Patrick Palka <ppalka@redhat.com>
803 * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
805 (__cpp_lib_move_iterator_concept): Define for C++20.
806 (move_iterator::iterator_concept): Strengthen as per P2520R0.
807 * include/std/version (__cpp_lib_move_iterator_concept): Define
809 * testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
811 2023-03-14 Patrick Palka <ppalka@redhat.com>
813 * include/bits/ranges_util.h (view_interface::empty): Add
814 preferred overloads that use ranges::size when the range is
815 sized as per LWG 3715.
816 * testsuite/std/ranges/adaptors/lwg3715.cc: New test.
818 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
820 * include/bits/chrono.h (__is_duration_v, __is_time_point_v):
821 Only define for C++17 and later.
823 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
825 * src/Makefile.am: Add comment about linker script fragments.
826 * src/Makefile.in: Regenerate.
828 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
831 * include/bits/mask_array.h (mask_array): Add assertions to
832 assignment operators.
833 * include/std/valarray (valarray::operator[](valarray<bool>)):
835 * testsuite/26_numerics/valarray/mask-1_neg.cc: New test.
836 * testsuite/26_numerics/valarray/mask-2_neg.cc: New test.
837 * testsuite/26_numerics/valarray/mask-3_neg.cc: New test.
838 * testsuite/26_numerics/valarray/mask-4_neg.cc: New test.
839 * testsuite/26_numerics/valarray/mask-5_neg.cc: New test.
840 * testsuite/26_numerics/valarray/mask-6_neg.cc: New test.
841 * testsuite/26_numerics/valarray/mask-7_neg.cc: New test.
842 * testsuite/26_numerics/valarray/mask-8_neg.cc: New test.
843 * testsuite/26_numerics/valarray/mask.cc: New test.
845 2023-03-13 Jakub Jelinek <jakub@redhat.com>
847 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
848 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
850 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
852 * doc/Makefile.am: Add comment referring to documentation.
853 * doc/Makefile.in: Regenerate.
855 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
857 * doc/html/*: Regenerate.
859 2023-03-13 Jonny Grant <jg@jguk.org>
861 * doc/xml/faq.xml: Update copyright year.
863 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
865 * include/bits/allocator.h: Fix typo in comment.
867 2023-03-12 Jakub Jelinek <jakub@redhat.com>
869 * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos
870 if it isn't mangled as DF16b but u6__bf16.
872 2023-03-12 Gerald Pfeifer <gerald@pfeifer.com>
874 * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
876 * doc/html/manual/documentation_hacking.html: Regenerate.
878 2023-03-10 Jonathan Wakely <jwakely@redhat.com>
881 * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
882 Remove self-recursion in __init__. Add missing _supports.
883 * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
886 2023-03-09 Patrick Palka <ppalka@redhat.com>
889 (cartesian_product_view::_Iterator::_Iterator): Remove
890 constraint on default constructor as per LWG 3849.
891 (cartesian_product_view::_Iterator::_M_prev): Adjust position
892 of _Nm > 0 test as per LWG 3820.
893 (cartesian_product_view::_Iterator::_M_advance): Perform bounds
894 checking only on sized cartesian products.
895 * testsuite/std/ranges/cartesian_product/1.cc (test08): New test.
897 2023-03-09 Patrick Palka <ppalka@redhat.com>
900 * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per
902 (repeat_view::_M_pred): Likewise.
903 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test.
904 * testsuite/std/ranges/repeat/1.cc (test05): New test.
906 2023-03-09 Patrick Palka <ppalka@redhat.com>
909 * include/std/ranges (__detail::__can_single_view): New concept.
910 (_Single::operator()): Constrain it. Move [[nodiscard]] to the
911 end of the function declarator.
912 (__detail::__can_iota_view): New concept.
913 (_Iota::operator()): Constrain it. Move [[nodiscard]] to the
914 end of the function declarator.
915 (__detail::__can_istream_view): New concept.
916 (_Istream::operator()): Constrain it. Move [[nodiscard]] to the
917 end of the function declarator.
918 * testsuite/std/ranges/iota/iota_view.cc (test07): New test.
919 * testsuite/std/ranges/istream_view.cc (test08): New test.
920 * testsuite/std/ranges/single_view.cc (test07): New test.
922 2023-03-09 Patrick Palka <ppalka@redhat.com>
925 * include/std/ranges (cartesian_product_view::end): When
926 building the tuple of iterators, avoid calling ranges::begin on
927 the first range if __empty_tail is false.
928 * testsuite/std/ranges/cartesian_product/1.cc (test07): New test.
930 2023-03-09 Jonathan Wakely <jwakely@redhat.com>
933 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
936 2023-03-07 Jakub Jelinek <jakub@redhat.com>
938 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
939 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
940 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
941 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
942 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
944 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
947 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
948 not match symbols in namespace std::__gnu_cxx11_ieee128.
949 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
950 std::__gnu_cxx11_ieee128::money_{get,put}.
952 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
954 * libsupc++/eh_personality.cc: Fix spelling in comment.
956 2023-03-03 Alexandre Oliva <oliva@adacore.com>
958 * testsuite/30_threads/async/async.cc (test04): Initialize
959 steady_start, renamed from steady_begin, next to slow_start.
960 Increase tolerance for final wait.
962 2023-03-03 Alexandre Oliva <oliva@adacore.com>
964 * testsuite/libstdc++-prettyprinters/80276.cc: Add
965 std::string to debug info.
966 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
968 2023-03-03 Alexandre Oliva <oliva@adacore.com>
973 * include/bits/std_thread.h (thread::_M_thread_deps): New
974 static implicitly-inline member function.
975 (std::thread template ctor): Pass it to _M_start_thread.
976 * src/c++11/thread.cc (thread::_M_start_thread): Name depend
977 parameter, force it live on entry.
979 2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
981 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
982 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
984 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
985 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
988 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
990 * include/bits/cow_string.h: Fix typo in comment.
992 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
994 * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
995 current time zone cannot be determined.
996 * testsuite/std/time/tzdb/1.cc: Remove conditions based on
997 HAVE_TZDB macro and test all members unconditionally.
999 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
1002 * include/bits/uses_allocator_args.h
1003 (uses_allocator_construction_args): Implement LWG 3527.
1004 * testsuite/20_util/pair/astuple/get-2.cc: New test.
1005 * testsuite/20_util/scoped_allocator/108952.cc: New test.
1006 * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
1008 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
1011 * include/bits/stl_algobase.h (__copy_move<false, false, RA>)
1012 Add __assign_one static member function.
1013 (__copy_move<true, false, RA>): Likewise.
1014 (__copy_move<IsMove, true, RA>): Do not use memmove for a single
1016 (__copy_move_backward<IsMove, true, RA>): Likewise.
1017 * testsuite/25_algorithms/copy/108846.cc: New test.
1018 * testsuite/25_algorithms/copy_backward/108846.cc: New test.
1019 * testsuite/25_algorithms/copy_n/108846.cc: New test.
1020 * testsuite/25_algorithms/move/108846.cc: New test.
1021 * testsuite/25_algorithms/move_backward/108846.cc: New test.
1023 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
1025 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
1028 2023-02-27 Jonathan Wakely <jwakely@redhat.com>
1030 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
1032 * include/bits/basic_string.h (resize_and_overwrite): Add
1035 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
1037 * include/experimental/bits/simd.h: Line breaks and indenting
1038 fixed to follow the libstdc++ standard.
1039 * include/experimental/bits/simd_builtin.h: Likewise.
1040 * include/experimental/bits/simd_fixed_size.h: Likewise.
1041 * include/experimental/bits/simd_neon.h: Likewise.
1042 * include/experimental/bits/simd_ppc.h: Likewise.
1043 * include/experimental/bits/simd_scalar.h: Likewise.
1044 * include/experimental/bits/simd_x86.h: Likewise.
1046 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
1049 * include/experimental/bits/simd_fixed_size.h
1050 (_SimdImplFixedSize::_S_broadcast): Replace inline with
1051 _GLIBCXX_SIMD_INTRINSIC.
1052 (_SimdImplFixedSize::_S_generate): Likewise.
1053 (_SimdImplFixedSize::_S_load): Likewise.
1054 (_SimdImplFixedSize::_S_masked_load): Likewise.
1055 (_SimdImplFixedSize::_S_store): Likewise.
1056 (_SimdImplFixedSize::_S_masked_store): Likewise.
1057 (_SimdImplFixedSize::_S_min): Likewise.
1058 (_SimdImplFixedSize::_S_max): Likewise.
1059 (_SimdImplFixedSize::_S_complement): Likewise.
1060 (_SimdImplFixedSize::_S_unary_minus): Likewise.
1061 (_SimdImplFixedSize::_S_plus): Likewise.
1062 (_SimdImplFixedSize::_S_minus): Likewise.
1063 (_SimdImplFixedSize::_S_multiplies): Likewise.
1064 (_SimdImplFixedSize::_S_divides): Likewise.
1065 (_SimdImplFixedSize::_S_modulus): Likewise.
1066 (_SimdImplFixedSize::_S_bit_and): Likewise.
1067 (_SimdImplFixedSize::_S_bit_or): Likewise.
1068 (_SimdImplFixedSize::_S_bit_xor): Likewise.
1069 (_SimdImplFixedSize::_S_bit_shift_left): Likewise.
1070 (_SimdImplFixedSize::_S_bit_shift_right): Likewise.
1071 (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
1072 explicit about not always-inline, yet).
1073 (_SimdImplFixedSize::_S_isinf): Likewise.
1074 (_SimdImplFixedSize::_S_isfinite): Likewise.
1075 (_SimdImplFixedSize::_S_isnan): Likewise.
1076 (_SimdImplFixedSize::_S_isnormal): Likewise.
1077 (_SimdImplFixedSize::_S_signbit): Likewise.
1079 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
1082 * include/experimental/bits/simd_builtin.h
1083 (_SimdImplBuiltin::_S_masked_unary): More efficient
1084 implementation of masked inc-/decrement for integers and floats
1086 * include/experimental/bits/simd_x86.h
1087 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
1088 builtins for masked inc-/decrement.
1090 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1092 * include/experimental/executor (executor): Constrain template
1095 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1097 * include/experimental/internet (basic_endpoint): Add missing
1098 constexpr to comparison operators.
1099 * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
1101 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1103 * include/experimental/internet (network_v4::netmask()): Avoid
1105 (network_v4::broadcast()): Optimize and fix for targets with
1106 uint_least32_t wider than 32 bits.
1107 (network_v4::to_string(const Allocator&)): Fix for custom
1108 allocators and optimize using to_chars.
1109 (operator==(const network_v4&, const network_v4&)): Add missing
1111 (operator==(const network_v6&, const network_v6&)): Likewise.
1112 * testsuite/experimental/net/internet/network/v4/cons.cc: New test.
1113 * testsuite/experimental/net/internet/network/v4/members.cc: New test.
1115 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1117 * include/experimental/internet (address_4(const bytes_type&)):
1118 Use __builtin_bit_cast if available, otherwise convert to
1120 (address_v4::to_bytes()): Likewise, but convert from network
1122 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
1123 incorrect tests. Check for constexpr too.
1124 * testsuite/experimental/net/internet/address/v4/creation.cc:
1126 * testsuite/experimental/net/internet/address/v4/members.cc:
1127 Check that bytes_type is a standard-layout type.
1129 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1131 * include/experimental/internet (address_v4::to_string):
1133 * testsuite/experimental/net/internet/address/v4/members.cc:
1134 Check more addresses.
1136 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1138 * include/ext/aligned_buffer.h (__aligned_buffer): Add
1141 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
1143 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
1146 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
1148 * testsuite/experimental/simd/tests/reductions.cc: Introduce
1149 max_distance as the type-dependent max error.
1151 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
1153 * include/experimental/bits/simd_builtin.h (_S_set): Compare as
1154 int. The actual range of these indexes is very small.
1156 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
1158 * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
1159 (_S_bit_shift_right): Declare constexpr. The implementation was
1160 already expecting constexpr evaluation.
1162 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
1165 * include/experimental/bits/simd_detail.h
1166 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
1169 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
1172 * include/experimental/bits/simd.h (__vector_broadcast):
1173 Implement via __vector_broadcast_impl instead of
1174 __call_with_n_evaluations + 2 lambdas.
1175 (__vector_broadcast_impl): New.
1177 2023-02-22 Alexandre Oliva <oliva@adacore.com>
1179 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
1180 Avoid destruction of the mutex pool.
1182 2023-02-22 Alexandre Oliva <oliva@adacore.com>
1184 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
1186 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
1189 2023-02-22 Alexandre Oliva <oliva@adacore.com>
1191 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
1194 2023-02-20 Andreas Schwab <schwab@linux-m68k.org>
1196 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1198 2023-02-20 Matthias Kretz <m.kretz@gsi.de>
1200 * include/experimental/bits/simd.h (__extract_part, split):
1201 Use reserved name for template parameter.
1203 2023-02-20 Andreas Schwab <schwab@suse.de>
1205 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
1207 2023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
1209 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
1210 * doc/html/faq.html: Regenerate.
1212 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1214 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
1215 between scalars requires the __bit_cast helper function instead
1218 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1220 * include/experimental/bits/simd_x86.h
1221 (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
1222 (_SimdImplX86::_S_less_equal): Do not call
1223 __builtin_is_constant_evaluated in constexpr-if.
1225 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1227 * testsuite/experimental/simd/tests/bits/verify.h
1228 (verify::verify): Use %zx for size_t in format string.
1230 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1232 * testsuite/experimental/simd/generate_makefile.sh: Generate and
1233 pre-compile pch.h, which includes all headers that do not depend
1234 on command-line macros.
1235 * testsuite/experimental/simd/tests/bits/main.h: New file.
1236 (iterate_abis, main): Moved from verify.h.
1237 * testsuite/experimental/simd/tests/bits/verify.h
1238 (iterate_abis, main): Moved to main.h.
1239 * testsuite/experimental/simd/tests/bits/conversions.h: Add
1241 (genHalfBits): Simplify.
1242 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
1244 (make_alternating_mask): Moved from mask_loadstore.
1245 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
1247 * testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
1248 * testsuite/experimental/simd/tests/mask_loadstore.cc
1249 (make_mask, make_alternating_mask): Removed.
1250 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
1251 * testsuite/experimental/simd/tests/operators.cc (genHalfBits):
1253 * testsuite/experimental/simd/tests/abs.cc: Only include
1256 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
1257 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
1258 * testsuite/experimental/simd/tests/casts.cc: Ditto.
1259 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
1260 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
1261 * testsuite/experimental/simd/tests/generator.cc: Ditto.
1262 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
1263 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
1264 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
1265 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
1266 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
1267 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
1268 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
1269 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
1270 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
1271 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
1272 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
1273 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
1274 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
1275 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
1276 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
1277 * testsuite/experimental/simd/tests/simd.cc: Ditto.
1278 * testsuite/experimental/simd/tests/sincos.cc: Ditto.
1279 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
1280 * testsuite/experimental/simd/tests/splits.cc: Ditto.
1281 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
1282 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
1283 * testsuite/experimental/simd/tests/where.cc: Ditto.
1285 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1287 * testsuite/experimental/simd/README.md: Document the timeout
1288 and timeout-factor directives. Minor typo fixed.
1290 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1293 * include/experimental/bits/simd_detail.h: Define
1294 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
1295 * include/experimental/bits/simd.h: Annotate lambdas with
1296 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
1297 * include/experimental/bits/simd_builtin.h: Ditto.
1298 * include/experimental/bits/simd_converter.h: Ditto.
1299 * include/experimental/bits/simd_fixed_size.h: Ditto.
1300 * include/experimental/bits/simd_math.h: Ditto.
1301 * include/experimental/bits/simd_neon.h: Ditto.
1302 * include/experimental/bits/simd_x86.h: Ditto.
1304 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
1306 * include/experimental/bits/simd.h
1307 (_SimdWrapper::_M_is_constprop_none_of)
1308 (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
1309 computed result still satisfies __builtin_constant_p.
1311 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1313 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
1316 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1318 * include/Makefile.am: Add new header.
1319 * include/Makefile.in: Regenerate.
1320 * include/experimental/synchronized_value: New file.
1321 * testsuite/experimental/synchronized_value.cc: New test.
1323 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1325 * include/experimental/optional: Fix header name in comment.
1327 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1329 * include/std/format (__format::_Arg_store): New class template.
1330 (basic_format_args): Remove nested type _Store and add deduction
1331 guide from _Arg_store.
1332 (basic_format_arg, make_format_args): Adjust.
1333 * testsuite/std/format/arguments/lwg3810.cc: New test.
1335 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1337 * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
1338 constraints to constructors and add deleted overloads for the
1339 dangling cases, as per P2255R2.
1340 (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
1341 make dangling cases ill-formed.
1342 * testsuite/20_util/pair/dangling_ref.cc: New test.
1344 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1346 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
1348 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1350 * include/ext/throw_allocator.h: Use reserved names for
1353 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1355 * testsuite/17_intro/names_pstl.cc: Add space after effective
1358 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1360 * include/pstl/algorithm_fwd.h (__pattern_search_n)
1361 (__brick_unique_copy, __brick_adjacent_find)
1362 (__brick_generate_n, __pattern_generate_n): Use reserved names
1364 * include/pstl/algorithm_impl.h (__brick_unique_copy)
1365 (__pattern_reverse, __brick_generate_n): Likewise.
1366 * include/pstl/execution_impl.h (__prefer_unsequenced_tag)
1367 (__prefer_parallel_tag): Likewise.
1368 * include/pstl/glue_algorithm_impl.h (transform): Likewise.
1369 * include/pstl/glue_numeric_defs.h (adjacent_difference):
1371 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
1373 * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
1374 * include/pstl/unseq_backend_simd.h (_Combiner)
1375 (__simd_min_element, __simd_minmax_element): Likewise.
1376 * testsuite/17_intro/names_pstl.cc: New test.
1378 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
1380 * include/bits/fs_ops.h (create_directory): Use reserved name
1382 * include/bits/ranges_algo.h (__contains_subrange_fn):
1384 * include/bits/regex_automaton.h (_State_base::_M_print):
1386 * include/bits/regex_automaton.tcc(_State_base::_M_print):
1388 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
1389 * include/experimental/bits/fs_ops.h (create_directory):
1391 * include/std/mutex (timed_mutex::_M_clocklock): Likewise.
1392 (recursive_timed_mutex:_M_clocklock): Likewise.
1393 * include/std/tuple (basic_common_reference): Likewise.
1394 * libsupc++/cxxabi_init_exception.h
1395 (__cxa_init_primary_exception): Likewise.
1396 * testsuite/17_intro/names.cc: Add checks.
1398 2023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
1400 * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
1401 to www.open-std.org and https.
1402 * doc/html/manual/status.html: Regenerate.
1404 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
1407 * include/std/atomic (atomic_flag_wait): Add.
1408 (atomic_flag_wait_explicit): Add.
1409 (atomic_flag_notify): Add.
1410 (atomic_flag_notify_explicit): Add.
1411 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
1412 Add test case to cover missing atomic_flag free functions.
1414 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
1417 * include/std/atomic (atomic_flag_test): Add.
1418 (atomic_flag_test_explicit): Add.
1419 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
1420 test case to cover missing atomic_flag free functions.
1421 * testsuite/29_atomics/atomic_flag/test/implicit.cc:
1424 2023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
1426 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
1427 "The Component Object Model" reference.
1428 * doc/html/manual/policy_data_structures.html: Regenerate.
1430 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1432 * doc/xml/manual/containers.xml: Tweak a link to N1780
1434 * doc/html/manual/associative.html: Regenerate.
1436 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1438 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
1439 * doc/html/manual/facets.html: Regenerate.
1441 2023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
1443 * doc/xml/manual/policy_data_structures_biblio.xml: Update
1444 link to "Worst-case efficient priority queues".
1445 * doc/html/manual/policy_data_structures.html: Regenerate.
1447 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
1449 * doc/xml/manual/using.xml: Document newly-freestanding
1450 headers and the effect of the -ffreestanding flag.
1451 * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
1453 * doc/xml/manual/configure.xml: Document that hosted installs
1454 respect __STDC_HOSTED__.
1455 * doc/xml/manual/test.xml: Document how to run tests in
1457 * doc/html/*: Regenerate.
1459 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
1461 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
1462 (__find_last_if_fn): Likewise.
1464 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
1466 * include/std/type_traits: Add diagnostic pragmas around
1467 references to deprecated std::aligned_storage and
1468 std::aligned_union traits.
1469 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
1470 Add dg-warning for et c++23.
1471 * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
1473 * testsuite/20_util/aligned_storage/value.cc: Likewise.
1474 * testsuite/20_util/aligned_union/1.cc: Likewise.
1475 * testsuite/20_util/aligned_union/requirements/alias_decl.cc:
1478 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
1480 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
1481 * include/bits/c++config (_GLIBCXX23_DEPRECATED)
1482 (_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
1483 * include/std/type_traits (aligned_storage, aligned_union)
1484 (aligned_storage_t, aligned_union_t): Deprecate for C++23.
1485 * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
1486 * testsuite/20_util/aligned_union/deprecated-2b.cc: New test.
1488 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
1490 * doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
1491 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
1492 consistent with other 'deprecated' macros.
1493 * include/std/type_traits (is_pod, is_pod_v): Use
1494 _GLIBCXX20_DEPRECATED_SUGGEST instead.
1496 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
1498 * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
1499 * Makefile.in: Regenerate.
1500 * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
1501 There's no history to be compatible with.
1502 * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
1503 source files from the build.
1504 * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
1505 * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
1506 * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
1507 * src/Makefile.in: Regenerate.
1508 * src/c++11/Makefile.in: Regenerate.
1509 * src/c++17/Makefile.in: Regenerate.
1510 * src/c++20/Makefile.in: Regenerate.
1511 * src/c++98/Makefile.in: Regenerate.
1513 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
1515 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
1516 filesystem, libbacktrace and experimental.
1517 * src/Makefile.in: Regenerate.
1519 2023-02-04 Hans-Peter Nilsson <hp@axis.com>
1522 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
1525 2023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
1527 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
1528 * doc/html/manual/documentation_hacking.html: Regenerate.
1530 2023-02-04 François Dumont <fdumont@gcc.gnu.org>
1532 * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
1533 storage to the move-from instance when allocators are equal.
1534 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
1537 2023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
1539 * config/os/gnu-linux/os_defines.h [!__linux__]
1540 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
1542 2023-02-03 Patrick Palka <ppalka@redhat.com>
1544 * include/bits/ranges_algo.h (__find_last_fn, find_last):
1546 (__find_last_if_fn, find_last_if): Define.
1547 (__find_last_if_not_fn, find_last_if_not): Define.
1548 * testsuite/25_algorithms/find_last/1.cc: New test.
1549 * testsuite/25_algorithms/find_last_if/1.cc: New test.
1550 * testsuite/25_algorithms/find_last_if_not/1.cc: New test.
1552 2023-02-03 Patrick Palka <ppalka@redhat.com>
1554 * include/bits/ranges_algo.h (out_value_result): Define.
1555 (iota_result): Define.
1556 (__iota_fn, iota): Define.
1557 * testsuite/25_algorithms/iota/1.cc: New test.
1559 2023-02-03 Patrick Palka <ppalka@redhat.com>
1561 * include/bits/ranges_algo.h (__contains_fn, contains): Define.
1562 (__contains_subrange_fn, contains_subrange): Define.
1563 * testsuite/25_algorithms/contains/1.cc: New test.
1564 * testsuite/25_algorithms/contains_subrange/1.cc: New test.
1566 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1568 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
1569 * doc/html/manual/abi.html: Regenerate.
1571 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1573 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
1574 errc::function_not_supported instead of errc::not_supported.
1576 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1578 * include/std/sstream (basic_stringbuf::view): Define for old
1580 (basic_istringstream::view, basic_0stringstream::view)
1581 (basic_stringstream::view): Likewise.
1582 * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
1583 { dg-require-effective-target cxx11_abi }.
1584 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
1586 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
1587 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
1589 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
1590 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
1591 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
1592 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
1595 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1598 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
1599 conversion operators for directory iterator comparisons with
1600 std::default_sentinel_t.
1601 * include/bits/fs_path.h (path::path(string_view, _Type))
1602 (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
1604 * src/c++17/fs_path.cc: ... here.
1605 * testsuite/27_io/filesystem/path/108636.cc: New test.
1607 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1609 * include/std/variant (variant::operator=): Implement resolution
1611 * testsuite/20_util/variant/lwg3585.cc: New test.
1613 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1615 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
1617 * doc/html/manual/using_exceptions.html: Regenerate.
1619 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1621 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
1622 * doc/html/manual/debug.html: Regenerate.
1624 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
1626 * src/c++11/random.cc (random_device::_M_fini): Do not try to
1627 close the file handle if the target doesn't support the
1628 /dev/random and /dev/urandom files.
1630 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
1632 * config/os/generic/error_constants.h (errc::value_too_large)
1634 * src/c++11/system_error.cc
1635 (system_category::default_error_condition) [__AVR__]: Only match
1636 recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
1637 * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
1638 for ENOENT etc. in switch.
1639 (fs::remove_all) [__AVR__]: Likewise.
1640 * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
1643 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
1645 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
1647 * configure: Regenerate.
1649 2023-02-01 Hans-Peter Nilsson <hp@axis.com>
1652 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
1653 struct at end of S0.
1655 2023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
1657 * doc/xml/manual/shared_ptr.xml: Move links from both
1658 http://open-std.org and http://www.open-std.org to
1659 https://www.open-std.org.
1660 * doc/html/manual/memory.html: Regenerate.
1662 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1664 * doc/xml/manual/appendix_contributing.xml: Adjust link to
1665 ISO C++ standard at ANSI.
1666 Move link to www.open-std.org to https.
1667 * doc/html/manual/appendix_contributing.html: Regenerate.
1669 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1671 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
1673 * doc/html/manual/documentation_hacking.html: Regenerate.
1675 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1677 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
1678 * doc/html/manual/abi.html: Regenerate.
1680 2023-01-27 Jakub Jelinek <jakub@redhat.com>
1683 * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
1684 include features.h if present and then check __GLIBC__ and
1685 __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
1686 __GLIBC_PREREQ which isn't defined yet.
1688 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
1690 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
1693 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
1696 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
1698 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
1700 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
1701 rules named "+" for compatibility with older tzdata.zi files.
1703 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
1706 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
1708 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
1710 * testsuite/23_containers/map/modifiers/108554.cc: New test.
1712 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
1715 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
1716 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
1718 2023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
1720 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
1722 * doc/html/manual/bugs.html: Regenerate.
1724 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
1727 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
1728 /etc/sysconfig/clock.
1730 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
1733 * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
1734 std::make_reverse_iterator.
1735 * include/std/tuple: Include <bits/ranges_util.h> for subrange.
1736 (make_from_tuple): Add static assertion from P2255 to diagnose
1737 dangling references.
1738 * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
1739 * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.
1741 2023-01-23 François Dumont <fdumont@gcc.gnu.org>
1743 * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
1744 (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
1745 (_Safe_iterator::operator++(int)): Use latter.
1746 (_Safe_iterator::operator--(int)): Likewise.
1747 (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
1749 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
1751 (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
1752 (_Safe_local_iterator::operator++(int)): Use latter.
1753 * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
1754 entry associated to the array entry.
1756 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
1758 * include/bits/fs_path.h (u8path): Add deprecated attribute.
1759 * testsuite/27_io/filesystem/path/construct/90281.cc: Add
1760 -Wno-deprecated-declarations for C++20 and later.
1761 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
1763 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
1764 * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
1765 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.
1767 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
1769 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
1770 Always call _M_fini and _M_getentropy.
1772 2023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
1774 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
1775 to www.open-std.org to use https.
1776 (COM: Component Model Object Technologies): Rename from...
1777 (The Component Object Model): ...to.
1778 * doc/html/manual/policy_data_structures.html: Regenerate.
1780 2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
1782 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
1783 * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
1784 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.
1786 2023-01-17 Jonathan Wakely <jwakely@redhat.com>
1788 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
1789 of $host. Fix check for file being present during native build.
1790 * configure: Regenerate.
1792 2023-01-17 Martin Liska <mliska@suse.cz>
1794 * src/libbacktrace/Makefile.in: Regenerate.
1796 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
1798 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
1800 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
1803 * include/c_compatibility/stdatomic.h: Change copyright line to
1804 be consistent with other headers contributed under DCO terms.
1805 * include/std/expected: Add full stop to copyright line.
1806 * src/c++20/tzdb.cc: Likewise.
1808 2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
1810 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
1812 * doc/xml/manual/status_cxx2017.xml: Ditto.
1813 * doc/xml/manual/status_cxx2020.xml: Ditto.
1814 * doc/xml/manual/status_cxx2023.xml: Ditto.
1815 * doc/html/manual/status.html: Regenerate.
1817 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
1819 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
1820 and fail gracefully if defining the weak symbol doesn't work.
1822 2023-01-15 François Dumont <fdumont@gcc.gnu.org>
1825 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
1826 fix to other iterator category.
1827 (_Safe_iterator<>::operator--(int)): Likewise.
1828 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
1830 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
1831 (invalid_local_iterator_post_increment): New.
1832 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
1834 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
1837 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
1839 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
1842 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
1844 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
1846 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
1848 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
1849 windows.h. Add pecoff as FORMAT_FILE.
1850 * config.h.in: Regenerate.
1851 * configure: Regenerate.
1852 * src/libbacktrace/Makefile.am: Regenerate.
1853 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
1855 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
1857 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
1858 raw __name if __cxa_demangle could not demangle it.
1860 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1863 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
1866 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1868 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
1870 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
1872 * testsuite/std/time/tzdb_list/1.cc: Likewise.
1874 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1876 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
1877 --with-libstdcxx-zoneinfo-dir configure option with
1878 --with-libstdcxx-zoneinfo with yes/no/static choices as well as
1880 * config.h.in: Regenerate.
1881 * configure: Regenerate.
1882 * doc/xml/manual/configure.xml: Document configure option.
1883 * doc/html/manual/configure.html: Regenerate.
1884 * src/c++20/Makefile.am: Generate tzdata.zi.h header.
1885 * src/c++20/Makefile.in: Regenerate.
1886 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
1887 null pointer if no directory is configured.
1888 (zoneinfo_dir): Replace with ...
1889 (zoneinfo_file): New function.
1890 (tzdata_stream): New istream class.
1891 (remote_version, reload_tzdb): Use tzdata_stream.
1892 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
1893 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
1894 tzdata.zi file in default location.
1895 * src/c++20/tzdata.zi: New file.
1897 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1899 * include/bits/chrono_io.h (operator<<): Fix syntax errors.
1900 * testsuite/std/time/month_day/io.cc: New test.
1901 * testsuite/std/time/month_day_last/io.cc: New test.
1902 * testsuite/std/time/month_weekday/io.cc: New test.
1903 * testsuite/std/time/month_weekday_last/io.cc: New test.
1904 * testsuite/std/time/weekday_indexed/io.cc: New test.
1905 * testsuite/std/time/weekday_last/io.cc: New test.
1906 * testsuite/std/time/year_month/io.cc: New test.
1907 * testsuite/std/time/year_month_day_last/io.cc: New test.
1908 * testsuite/std/time/year_month_weekday/io.cc: New test.
1909 * testsuite/std/time/year_month_weekday_last/io.cc: New test.
1911 2023-01-14 François Dumont <fdumont@gcc.gnu.org>
1913 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
1915 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
1918 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1920 * include/bits/std_mutex.h: Include <errno.h>.
1922 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
1924 * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
1925 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
1926 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
1927 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
1928 std::make_unique with a freestanding-compatible wrapper around
1930 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
1931 Don't test for presence of __cpp_lib_string_contains on !HOSTED.
1932 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
1934 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
1935 of __cpp_lib_ranges in !HOSTED.
1937 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
1939 * include/Makefile.am: Install bits/char_traits.h,
1941 * include/Makefile.in: Regenerate.
1942 * include/bits/char_traits.h: Gate hosted-only, wchar-only and
1943 mbstate-only bits behind appropriate #ifs.
1944 * include/std/string_view: Gate <iostream> functionality behind
1946 * include/std/version: Enable __cpp_lib_constexpr_string_view
1947 and __cpp_lib_starts_ends_with in !HOSTED.
1948 * include/std/ranges: Re-enable __is_basic_string_view on
1949 freestanding, include <string_view> directly.
1950 * include/precompiled/stdc++.h: Include <string_view> when
1952 * testsuite/20_util/function_objects/searchers.cc: Skip testing
1953 boyer_moore searchers on freestanding
1954 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
1955 <string>-related tests behind __STDC_HOSTED__.
1956 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
1957 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
1958 unused <stdexcept> include.
1959 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
1960 unused <vector> include.
1961 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
1962 Guard <string> related testing behind __STDC_HOSTED__.
1963 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
1964 Guard <stdexcept> related tests behind __STDC_HOSTED__.
1965 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1967 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1968 Guard <stdexcept> tests behind __STDC_HOSTED__.
1969 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
1970 Enable test on freestanding, guard <stdexcept> bits behind
1972 * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
1973 Guard <stdexcept> bits behind __STDC_HOSTED__.
1974 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
1977 2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
1980 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
1981 errors in incomplete multibyte sequences.
1982 (utf16_in): Remove surrogates parameter. Fix conditions for
1984 (utf16_out): Fix condition for returning partial.
1985 (ucs2_in): Do not pass surrogates argument to utf16_in.
1986 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
1987 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
1989 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
1992 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1995 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
1996 __GTHREAD_LEGACY_MUTEX_T if defined.
1998 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
2001 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
2002 Export __try_use_facet specializations for facets in namespace
2004 * config/os/gnu-linux/ldbl-ieee128-extra.ver
2005 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
2007 * testsuite/util/testsuite_abi.cc: Add to lists of known and
2010 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
2012 * include/bits/std_mutex.h: Remove <system_error> include.
2013 * include/std/condition_variable: Add <bits/error_constants.h>
2015 * include/std/mutex: Likewise.
2016 * include/std/shared_mutex: Likewise.
2018 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
2021 * include/experimental/memory_resource
2022 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
2023 (do_allocate, do_deallocate): Check it.
2024 * testsuite/experimental/memory_resource/new_delete_resource.cc:
2025 Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
2027 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
2029 * doc/xml/manual/abi.xml: Add latest library versions.
2030 * doc/html/manual/abi.html: Regenerate.
2032 2023-01-12 François Dumont <fdumont@gcc.gnu.org>
2035 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
2036 unused _Alloc_node instance.
2038 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
2040 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
2041 Define as unsigned long if always lock-free, and unsigned int
2044 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
2046 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
2047 __catch macros for exception handling.
2049 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
2052 * include/bits/stl_algobase.h (__lg): Replace six overloads with
2053 a single function template for all integer types.
2054 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
2055 arithmetic results back to _Distance.
2057 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
2060 * include/std/span (span::span()): Un-simplify constraint to
2061 work for size_t of lesser rank than int.
2063 2023-01-07 LIU Hao <lh_mouse@126.com>
2065 PR middle-end/108300
2066 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
2068 * src/c++11/thread.cc: Likewise.
2069 * src/c++17/fs_ops.cc: Likewise.
2070 * src/filesystem/ops.cc: Likewise.
2072 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
2075 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
2077 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
2080 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
2081 template and partial specialization for synchronizing access to
2082 time_zone::_Impl::infos.
2083 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
2086 2023-01-06 Patrick Palka <ppalka@redhat.com>
2089 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
2090 * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
2091 (__cpp_lib_ranges_chunk): Likewise.
2092 (__cpp_lib_ranges_slide): Likewise.
2093 (__cpp_lib_ranges_chunk_by): Likewise.
2094 (__cpp_lib_ranges_join_with): Likewise.
2095 (__cpp_lib_ranges_repeat): Likewise.
2096 (__cpp_lib_ranges_stride): Likewise.
2097 (__cpp_lib_ranges_cartesian_product): Likewise.
2098 (__cpp_lib_ranges_as_rvalue): Likewise.
2099 * include/std/version: Ditto.
2100 * testsuite/20_util/tuple/p2321r2.cc: Verify value of
2102 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
2103 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
2104 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
2105 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
2106 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
2107 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
2108 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
2109 * testsuite/std/ranges/repeat/1.cc: Likewise.
2110 * testsuite/std/ranges/zip/1.cc: Likewise.
2111 * testsuite/std/ranges/version_c++23.cc: New test.
2113 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
2116 * include/std/bitset (operator>>): Use alloca in the right
2117 scope, not in a constructor.
2118 * testsuite/20_util/bitset/io/input.cc: Check case from PR.
2120 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
2123 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
2124 Disable visiting floating-point types.
2126 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
2129 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
2130 (_Safe_iterator::operator--(int)): Do not hold lock around
2131 construction of return value.
2133 2023-01-05 John David Anglin <danglin@gcc.gnu.org>
2135 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
2136 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
2137 lock release. Revise loop.
2138 (__atomic_add): Likewise.
2140 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
2143 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
2145 (StdChronoTimePointPrinter::to_string): Use it.
2147 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
2150 * include/std/functional (_Bind_front): Add no_unique_address
2151 attribute to data members.
2152 * testsuite/20_util/function_objects/bind_front/107784.cc: Check
2153 size of call wrappers with empty types for targets and bound
2156 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
2159 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
2160 using only last component of the name.
2162 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
2166 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
2167 the latest symbol version.
2168 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
2169 atomic<_Node*> is not always lock free.
2170 (USE_ATOMIC_LIST_HEAD): New macro.
2171 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
2172 definition of weak symbol.
2173 (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
2174 (tzdb_list::_Node::_S_list_head): New function for accessing
2175 list head efficiently.
2176 (tzdb_list::_Node::_S_cache_list_head): New function for
2177 updating _S_list_head.
2179 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
2182 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
2183 duration rep is unsigned.
2184 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
2186 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
2189 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
2190 Add __gnu_cxx::zoneinfo_dir_override().
2192 2023-01-04 Jonathan Wakely <jwakely@redhat.com>
2195 * include/std/array (__array_traits<T, 0>::operator T*()): Add
2197 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
2198 std::array<T, 0>::data().
2201 Copyright (C) 2023 Free Software Foundation, Inc.
2203 Copying and distribution of this file, with or without modification,
2204 are permitted in any medium without royalty provided the copyright
2205 notice and this notice are preserved.