1 2023-03-07 Jakub Jelinek <jakub@redhat.com>
3 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
4 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
5 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
6 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
7 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
9 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
12 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
13 not match symbols in namespace std::__gnu_cxx11_ieee128.
14 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
15 std::__gnu_cxx11_ieee128::money_{get,put}.
17 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
19 * libsupc++/eh_personality.cc: Fix spelling in comment.
21 2023-03-03 Alexandre Oliva <oliva@adacore.com>
23 * testsuite/30_threads/async/async.cc (test04): Initialize
24 steady_start, renamed from steady_begin, next to slow_start.
25 Increase tolerance for final wait.
27 2023-03-03 Alexandre Oliva <oliva@adacore.com>
29 * testsuite/libstdc++-prettyprinters/80276.cc: Add
30 std::string to debug info.
31 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
33 2023-03-03 Alexandre Oliva <oliva@adacore.com>
38 * include/bits/std_thread.h (thread::_M_thread_deps): New
39 static implicitly-inline member function.
40 (std::thread template ctor): Pass it to _M_start_thread.
41 * src/c++11/thread.cc (thread::_M_start_thread): Name depend
42 parameter, force it live on entry.
44 2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
46 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
47 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
49 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
50 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
53 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
55 * include/bits/cow_string.h: Fix typo in comment.
57 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
59 * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
60 current time zone cannot be determined.
61 * testsuite/std/time/tzdb/1.cc: Remove conditions based on
62 HAVE_TZDB macro and test all members unconditionally.
64 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
67 * include/bits/uses_allocator_args.h
68 (uses_allocator_construction_args): Implement LWG 3527.
69 * testsuite/20_util/pair/astuple/get-2.cc: New test.
70 * testsuite/20_util/scoped_allocator/108952.cc: New test.
71 * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
73 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
76 * include/bits/stl_algobase.h (__copy_move<false, false, RA>)
77 Add __assign_one static member function.
78 (__copy_move<true, false, RA>): Likewise.
79 (__copy_move<IsMove, true, RA>): Do not use memmove for a single
81 (__copy_move_backward<IsMove, true, RA>): Likewise.
82 * testsuite/25_algorithms/copy/108846.cc: New test.
83 * testsuite/25_algorithms/copy_backward/108846.cc: New test.
84 * testsuite/25_algorithms/copy_n/108846.cc: New test.
85 * testsuite/25_algorithms/move/108846.cc: New test.
86 * testsuite/25_algorithms/move_backward/108846.cc: New test.
88 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
90 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
93 2023-02-27 Jonathan Wakely <jwakely@redhat.com>
95 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
97 * include/bits/basic_string.h (resize_and_overwrite): Add
100 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
102 * include/experimental/bits/simd.h: Line breaks and indenting
103 fixed to follow the libstdc++ standard.
104 * include/experimental/bits/simd_builtin.h: Likewise.
105 * include/experimental/bits/simd_fixed_size.h: Likewise.
106 * include/experimental/bits/simd_neon.h: Likewise.
107 * include/experimental/bits/simd_ppc.h: Likewise.
108 * include/experimental/bits/simd_scalar.h: Likewise.
109 * include/experimental/bits/simd_x86.h: Likewise.
111 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
114 * include/experimental/bits/simd_fixed_size.h
115 (_SimdImplFixedSize::_S_broadcast): Replace inline with
116 _GLIBCXX_SIMD_INTRINSIC.
117 (_SimdImplFixedSize::_S_generate): Likewise.
118 (_SimdImplFixedSize::_S_load): Likewise.
119 (_SimdImplFixedSize::_S_masked_load): Likewise.
120 (_SimdImplFixedSize::_S_store): Likewise.
121 (_SimdImplFixedSize::_S_masked_store): Likewise.
122 (_SimdImplFixedSize::_S_min): Likewise.
123 (_SimdImplFixedSize::_S_max): Likewise.
124 (_SimdImplFixedSize::_S_complement): Likewise.
125 (_SimdImplFixedSize::_S_unary_minus): Likewise.
126 (_SimdImplFixedSize::_S_plus): Likewise.
127 (_SimdImplFixedSize::_S_minus): Likewise.
128 (_SimdImplFixedSize::_S_multiplies): Likewise.
129 (_SimdImplFixedSize::_S_divides): Likewise.
130 (_SimdImplFixedSize::_S_modulus): Likewise.
131 (_SimdImplFixedSize::_S_bit_and): Likewise.
132 (_SimdImplFixedSize::_S_bit_or): Likewise.
133 (_SimdImplFixedSize::_S_bit_xor): Likewise.
134 (_SimdImplFixedSize::_S_bit_shift_left): Likewise.
135 (_SimdImplFixedSize::_S_bit_shift_right): Likewise.
136 (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
137 explicit about not always-inline, yet).
138 (_SimdImplFixedSize::_S_isinf): Likewise.
139 (_SimdImplFixedSize::_S_isfinite): Likewise.
140 (_SimdImplFixedSize::_S_isnan): Likewise.
141 (_SimdImplFixedSize::_S_isnormal): Likewise.
142 (_SimdImplFixedSize::_S_signbit): Likewise.
144 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
147 * include/experimental/bits/simd_builtin.h
148 (_SimdImplBuiltin::_S_masked_unary): More efficient
149 implementation of masked inc-/decrement for integers and floats
151 * include/experimental/bits/simd_x86.h
152 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
153 builtins for masked inc-/decrement.
155 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
157 * include/experimental/executor (executor): Constrain template
160 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
162 * include/experimental/internet (basic_endpoint): Add missing
163 constexpr to comparison operators.
164 * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
166 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
168 * include/experimental/internet (network_v4::netmask()): Avoid
170 (network_v4::broadcast()): Optimize and fix for targets with
171 uint_least32_t wider than 32 bits.
172 (network_v4::to_string(const Allocator&)): Fix for custom
173 allocators and optimize using to_chars.
174 (operator==(const network_v4&, const network_v4&)): Add missing
176 (operator==(const network_v6&, const network_v6&)): Likewise.
177 * testsuite/experimental/net/internet/network/v4/cons.cc: New test.
178 * testsuite/experimental/net/internet/network/v4/members.cc: New test.
180 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
182 * include/experimental/internet (address_4(const bytes_type&)):
183 Use __builtin_bit_cast if available, otherwise convert to
185 (address_v4::to_bytes()): Likewise, but convert from network
187 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
188 incorrect tests. Check for constexpr too.
189 * testsuite/experimental/net/internet/address/v4/creation.cc:
191 * testsuite/experimental/net/internet/address/v4/members.cc:
192 Check that bytes_type is a standard-layout type.
194 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
196 * include/experimental/internet (address_v4::to_string):
198 * testsuite/experimental/net/internet/address/v4/members.cc:
199 Check more addresses.
201 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
203 * include/ext/aligned_buffer.h (__aligned_buffer): Add
206 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
208 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
211 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
213 * testsuite/experimental/simd/tests/reductions.cc: Introduce
214 max_distance as the type-dependent max error.
216 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
218 * include/experimental/bits/simd_builtin.h (_S_set): Compare as
219 int. The actual range of these indexes is very small.
221 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
223 * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
224 (_S_bit_shift_right): Declare constexpr. The implementation was
225 already expecting constexpr evaluation.
227 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
230 * include/experimental/bits/simd_detail.h
231 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
234 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
237 * include/experimental/bits/simd.h (__vector_broadcast):
238 Implement via __vector_broadcast_impl instead of
239 __call_with_n_evaluations + 2 lambdas.
240 (__vector_broadcast_impl): New.
242 2023-02-22 Alexandre Oliva <oliva@adacore.com>
244 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
245 Avoid destruction of the mutex pool.
247 2023-02-22 Alexandre Oliva <oliva@adacore.com>
249 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
251 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
254 2023-02-22 Alexandre Oliva <oliva@adacore.com>
256 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
259 2023-02-20 Andreas Schwab <schwab@linux-m68k.org>
261 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
263 2023-02-20 Matthias Kretz <m.kretz@gsi.de>
265 * include/experimental/bits/simd.h (__extract_part, split):
266 Use reserved name for template parameter.
268 2023-02-20 Andreas Schwab <schwab@suse.de>
270 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
272 2023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
274 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
275 * doc/html/faq.html: Regenerate.
277 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
279 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
280 between scalars requires the __bit_cast helper function instead
283 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
285 * include/experimental/bits/simd_x86.h
286 (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
287 (_SimdImplX86::_S_less_equal): Do not call
288 __builtin_is_constant_evaluated in constexpr-if.
290 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
292 * testsuite/experimental/simd/tests/bits/verify.h
293 (verify::verify): Use %zx for size_t in format string.
295 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
297 * testsuite/experimental/simd/generate_makefile.sh: Generate and
298 pre-compile pch.h, which includes all headers that do not depend
299 on command-line macros.
300 * testsuite/experimental/simd/tests/bits/main.h: New file.
301 (iterate_abis, main): Moved from verify.h.
302 * testsuite/experimental/simd/tests/bits/verify.h
303 (iterate_abis, main): Moved to main.h.
304 * testsuite/experimental/simd/tests/bits/conversions.h: Add
306 (genHalfBits): Simplify.
307 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
309 (make_alternating_mask): Moved from mask_loadstore.
310 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
312 * testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
313 * testsuite/experimental/simd/tests/mask_loadstore.cc
314 (make_mask, make_alternating_mask): Removed.
315 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
316 * testsuite/experimental/simd/tests/operators.cc (genHalfBits):
318 * testsuite/experimental/simd/tests/abs.cc: Only include
321 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
322 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
323 * testsuite/experimental/simd/tests/casts.cc: Ditto.
324 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
325 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
326 * testsuite/experimental/simd/tests/generator.cc: Ditto.
327 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
328 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
329 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
330 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
331 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
332 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
333 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
334 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
335 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
336 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
337 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
338 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
339 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
340 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
341 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
342 * testsuite/experimental/simd/tests/simd.cc: Ditto.
343 * testsuite/experimental/simd/tests/sincos.cc: Ditto.
344 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
345 * testsuite/experimental/simd/tests/splits.cc: Ditto.
346 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
347 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
348 * testsuite/experimental/simd/tests/where.cc: Ditto.
350 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
352 * testsuite/experimental/simd/README.md: Document the timeout
353 and timeout-factor directives. Minor typo fixed.
355 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
358 * include/experimental/bits/simd_detail.h: Define
359 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
360 * include/experimental/bits/simd.h: Annotate lambdas with
361 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
362 * include/experimental/bits/simd_builtin.h: Ditto.
363 * include/experimental/bits/simd_converter.h: Ditto.
364 * include/experimental/bits/simd_fixed_size.h: Ditto.
365 * include/experimental/bits/simd_math.h: Ditto.
366 * include/experimental/bits/simd_neon.h: Ditto.
367 * include/experimental/bits/simd_x86.h: Ditto.
369 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
371 * include/experimental/bits/simd.h
372 (_SimdWrapper::_M_is_constprop_none_of)
373 (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
374 computed result still satisfies __builtin_constant_p.
376 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
378 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
381 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
383 * include/Makefile.am: Add new header.
384 * include/Makefile.in: Regenerate.
385 * include/experimental/synchronized_value: New file.
386 * testsuite/experimental/synchronized_value.cc: New test.
388 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
390 * include/experimental/optional: Fix header name in comment.
392 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
394 * include/std/format (__format::_Arg_store): New class template.
395 (basic_format_args): Remove nested type _Store and add deduction
396 guide from _Arg_store.
397 (basic_format_arg, make_format_args): Adjust.
398 * testsuite/std/format/arguments/lwg3810.cc: New test.
400 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
402 * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
403 constraints to constructors and add deleted overloads for the
404 dangling cases, as per P2255R2.
405 (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
406 make dangling cases ill-formed.
407 * testsuite/20_util/pair/dangling_ref.cc: New test.
409 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
411 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
413 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
415 * include/ext/throw_allocator.h: Use reserved names for
418 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
420 * testsuite/17_intro/names_pstl.cc: Add space after effective
423 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
425 * include/pstl/algorithm_fwd.h (__pattern_search_n)
426 (__brick_unique_copy, __brick_adjacent_find)
427 (__brick_generate_n, __pattern_generate_n): Use reserved names
429 * include/pstl/algorithm_impl.h (__brick_unique_copy)
430 (__pattern_reverse, __brick_generate_n): Likewise.
431 * include/pstl/execution_impl.h (__prefer_unsequenced_tag)
432 (__prefer_parallel_tag): Likewise.
433 * include/pstl/glue_algorithm_impl.h (transform): Likewise.
434 * include/pstl/glue_numeric_defs.h (adjacent_difference):
436 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
438 * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
439 * include/pstl/unseq_backend_simd.h (_Combiner)
440 (__simd_min_element, __simd_minmax_element): Likewise.
441 * testsuite/17_intro/names_pstl.cc: New test.
443 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
445 * include/bits/fs_ops.h (create_directory): Use reserved name
447 * include/bits/ranges_algo.h (__contains_subrange_fn):
449 * include/bits/regex_automaton.h (_State_base::_M_print):
451 * include/bits/regex_automaton.tcc(_State_base::_M_print):
453 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
454 * include/experimental/bits/fs_ops.h (create_directory):
456 * include/std/mutex (timed_mutex::_M_clocklock): Likewise.
457 (recursive_timed_mutex:_M_clocklock): Likewise.
458 * include/std/tuple (basic_common_reference): Likewise.
459 * libsupc++/cxxabi_init_exception.h
460 (__cxa_init_primary_exception): Likewise.
461 * testsuite/17_intro/names.cc: Add checks.
463 2023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
465 * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
466 to www.open-std.org and https.
467 * doc/html/manual/status.html: Regenerate.
469 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
472 * include/std/atomic (atomic_flag_wait): Add.
473 (atomic_flag_wait_explicit): Add.
474 (atomic_flag_notify): Add.
475 (atomic_flag_notify_explicit): Add.
476 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
477 Add test case to cover missing atomic_flag free functions.
479 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
482 * include/std/atomic (atomic_flag_test): Add.
483 (atomic_flag_test_explicit): Add.
484 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
485 test case to cover missing atomic_flag free functions.
486 * testsuite/29_atomics/atomic_flag/test/implicit.cc:
489 2023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
491 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
492 "The Component Object Model" reference.
493 * doc/html/manual/policy_data_structures.html: Regenerate.
495 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
497 * doc/xml/manual/containers.xml: Tweak a link to N1780
499 * doc/html/manual/associative.html: Regenerate.
501 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
503 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
504 * doc/html/manual/facets.html: Regenerate.
506 2023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
508 * doc/xml/manual/policy_data_structures_biblio.xml: Update
509 link to "Worst-case efficient priority queues".
510 * doc/html/manual/policy_data_structures.html: Regenerate.
512 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
514 * doc/xml/manual/using.xml: Document newly-freestanding
515 headers and the effect of the -ffreestanding flag.
516 * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
518 * doc/xml/manual/configure.xml: Document that hosted installs
519 respect __STDC_HOSTED__.
520 * doc/xml/manual/test.xml: Document how to run tests in
522 * doc/html/*: Regenerate.
524 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
526 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
527 (__find_last_if_fn): Likewise.
529 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
531 * include/std/type_traits: Add diagnostic pragmas around
532 references to deprecated std::aligned_storage and
533 std::aligned_union traits.
534 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
535 Add dg-warning for et c++23.
536 * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
538 * testsuite/20_util/aligned_storage/value.cc: Likewise.
539 * testsuite/20_util/aligned_union/1.cc: Likewise.
540 * testsuite/20_util/aligned_union/requirements/alias_decl.cc:
543 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
545 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
546 * include/bits/c++config (_GLIBCXX23_DEPRECATED)
547 (_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
548 * include/std/type_traits (aligned_storage, aligned_union)
549 (aligned_storage_t, aligned_union_t): Deprecate for C++23.
550 * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
551 * testsuite/20_util/aligned_union/deprecated-2b.cc: New test.
553 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
555 * doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
556 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
557 consistent with other 'deprecated' macros.
558 * include/std/type_traits (is_pod, is_pod_v): Use
559 _GLIBCXX20_DEPRECATED_SUGGEST instead.
561 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
563 * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
564 * Makefile.in: Regenerate.
565 * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
566 There's no history to be compatible with.
567 * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
568 source files from the build.
569 * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
570 * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
571 * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
572 * src/Makefile.in: Regenerate.
573 * src/c++11/Makefile.in: Regenerate.
574 * src/c++17/Makefile.in: Regenerate.
575 * src/c++20/Makefile.in: Regenerate.
576 * src/c++98/Makefile.in: Regenerate.
578 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
580 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
581 filesystem, libbacktrace and experimental.
582 * src/Makefile.in: Regenerate.
584 2023-02-04 Hans-Peter Nilsson <hp@axis.com>
587 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
590 2023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
592 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
593 * doc/html/manual/documentation_hacking.html: Regenerate.
595 2023-02-04 François Dumont <fdumont@gcc.gnu.org>
597 * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
598 storage to the move-from instance when allocators are equal.
599 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
602 2023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
604 * config/os/gnu-linux/os_defines.h [!__linux__]
605 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
607 2023-02-03 Patrick Palka <ppalka@redhat.com>
609 * include/bits/ranges_algo.h (__find_last_fn, find_last):
611 (__find_last_if_fn, find_last_if): Define.
612 (__find_last_if_not_fn, find_last_if_not): Define.
613 * testsuite/25_algorithms/find_last/1.cc: New test.
614 * testsuite/25_algorithms/find_last_if/1.cc: New test.
615 * testsuite/25_algorithms/find_last_if_not/1.cc: New test.
617 2023-02-03 Patrick Palka <ppalka@redhat.com>
619 * include/bits/ranges_algo.h (out_value_result): Define.
620 (iota_result): Define.
621 (__iota_fn, iota): Define.
622 * testsuite/25_algorithms/iota/1.cc: New test.
624 2023-02-03 Patrick Palka <ppalka@redhat.com>
626 * include/bits/ranges_algo.h (__contains_fn, contains): Define.
627 (__contains_subrange_fn, contains_subrange): Define.
628 * testsuite/25_algorithms/contains/1.cc: New test.
629 * testsuite/25_algorithms/contains_subrange/1.cc: New test.
631 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
633 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
634 * doc/html/manual/abi.html: Regenerate.
636 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
638 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
639 errc::function_not_supported instead of errc::not_supported.
641 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
643 * include/std/sstream (basic_stringbuf::view): Define for old
645 (basic_istringstream::view, basic_0stringstream::view)
646 (basic_stringstream::view): Likewise.
647 * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
648 { dg-require-effective-target cxx11_abi }.
649 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
651 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
652 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
654 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
655 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
656 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
657 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
660 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
663 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
664 conversion operators for directory iterator comparisons with
665 std::default_sentinel_t.
666 * include/bits/fs_path.h (path::path(string_view, _Type))
667 (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
669 * src/c++17/fs_path.cc: ... here.
670 * testsuite/27_io/filesystem/path/108636.cc: New test.
672 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
674 * include/std/variant (variant::operator=): Implement resolution
676 * testsuite/20_util/variant/lwg3585.cc: New test.
678 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
680 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
682 * doc/html/manual/using_exceptions.html: Regenerate.
684 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
686 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
687 * doc/html/manual/debug.html: Regenerate.
689 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
691 * src/c++11/random.cc (random_device::_M_fini): Do not try to
692 close the file handle if the target doesn't support the
693 /dev/random and /dev/urandom files.
695 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
697 * config/os/generic/error_constants.h (errc::value_too_large)
699 * src/c++11/system_error.cc
700 (system_category::default_error_condition) [__AVR__]: Only match
701 recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
702 * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
703 for ENOENT etc. in switch.
704 (fs::remove_all) [__AVR__]: Likewise.
705 * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
708 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
710 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
712 * configure: Regenerate.
714 2023-02-01 Hans-Peter Nilsson <hp@axis.com>
717 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
720 2023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
722 * doc/xml/manual/shared_ptr.xml: Move links from both
723 http://open-std.org and http://www.open-std.org to
724 https://www.open-std.org.
725 * doc/html/manual/memory.html: Regenerate.
727 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
729 * doc/xml/manual/appendix_contributing.xml: Adjust link to
730 ISO C++ standard at ANSI.
731 Move link to www.open-std.org to https.
732 * doc/html/manual/appendix_contributing.html: Regenerate.
734 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
736 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
738 * doc/html/manual/documentation_hacking.html: Regenerate.
740 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
742 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
743 * doc/html/manual/abi.html: Regenerate.
745 2023-01-27 Jakub Jelinek <jakub@redhat.com>
748 * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
749 include features.h if present and then check __GLIBC__ and
750 __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
751 __GLIBC_PREREQ which isn't defined yet.
753 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
755 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
758 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
761 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
763 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
765 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
766 rules named "+" for compatibility with older tzdata.zi files.
768 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
771 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
773 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
775 * testsuite/23_containers/map/modifiers/108554.cc: New test.
777 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
780 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
781 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
783 2023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
785 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
787 * doc/html/manual/bugs.html: Regenerate.
789 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
792 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
793 /etc/sysconfig/clock.
795 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
798 * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
799 std::make_reverse_iterator.
800 * include/std/tuple: Include <bits/ranges_util.h> for subrange.
801 (make_from_tuple): Add static assertion from P2255 to diagnose
803 * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
804 * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.
806 2023-01-23 François Dumont <fdumont@gcc.gnu.org>
808 * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
809 (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
810 (_Safe_iterator::operator++(int)): Use latter.
811 (_Safe_iterator::operator--(int)): Likewise.
812 (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
814 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
816 (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
817 (_Safe_local_iterator::operator++(int)): Use latter.
818 * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
819 entry associated to the array entry.
821 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
823 * include/bits/fs_path.h (u8path): Add deprecated attribute.
824 * testsuite/27_io/filesystem/path/construct/90281.cc: Add
825 -Wno-deprecated-declarations for C++20 and later.
826 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
828 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
829 * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
830 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.
832 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
834 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
835 Always call _M_fini and _M_getentropy.
837 2023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
839 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
840 to www.open-std.org to use https.
841 (COM: Component Model Object Technologies): Rename from...
842 (The Component Object Model): ...to.
843 * doc/html/manual/policy_data_structures.html: Regenerate.
845 2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
847 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
848 * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
849 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.
851 2023-01-17 Jonathan Wakely <jwakely@redhat.com>
853 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
854 of $host. Fix check for file being present during native build.
855 * configure: Regenerate.
857 2023-01-17 Martin Liska <mliska@suse.cz>
859 * src/libbacktrace/Makefile.in: Regenerate.
861 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
863 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
865 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
868 * include/c_compatibility/stdatomic.h: Change copyright line to
869 be consistent with other headers contributed under DCO terms.
870 * include/std/expected: Add full stop to copyright line.
871 * src/c++20/tzdb.cc: Likewise.
873 2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
875 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
877 * doc/xml/manual/status_cxx2017.xml: Ditto.
878 * doc/xml/manual/status_cxx2020.xml: Ditto.
879 * doc/xml/manual/status_cxx2023.xml: Ditto.
880 * doc/html/manual/status.html: Regenerate.
882 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
884 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
885 and fail gracefully if defining the weak symbol doesn't work.
887 2023-01-15 François Dumont <fdumont@gcc.gnu.org>
890 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
891 fix to other iterator category.
892 (_Safe_iterator<>::operator--(int)): Likewise.
893 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
895 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
896 (invalid_local_iterator_post_increment): New.
897 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
899 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
902 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
904 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
907 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
909 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
911 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
913 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
914 windows.h. Add pecoff as FORMAT_FILE.
915 * config.h.in: Regenerate.
916 * configure: Regenerate.
917 * src/libbacktrace/Makefile.am: Regenerate.
918 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
920 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
922 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
923 raw __name if __cxa_demangle could not demangle it.
925 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
928 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
931 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
933 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
935 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
937 * testsuite/std/time/tzdb_list/1.cc: Likewise.
939 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
941 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
942 --with-libstdcxx-zoneinfo-dir configure option with
943 --with-libstdcxx-zoneinfo with yes/no/static choices as well as
945 * config.h.in: Regenerate.
946 * configure: Regenerate.
947 * doc/xml/manual/configure.xml: Document configure option.
948 * doc/html/manual/configure.html: Regenerate.
949 * src/c++20/Makefile.am: Generate tzdata.zi.h header.
950 * src/c++20/Makefile.in: Regenerate.
951 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
952 null pointer if no directory is configured.
953 (zoneinfo_dir): Replace with ...
954 (zoneinfo_file): New function.
955 (tzdata_stream): New istream class.
956 (remote_version, reload_tzdb): Use tzdata_stream.
957 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
958 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
959 tzdata.zi file in default location.
960 * src/c++20/tzdata.zi: New file.
962 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
964 * include/bits/chrono_io.h (operator<<): Fix syntax errors.
965 * testsuite/std/time/month_day/io.cc: New test.
966 * testsuite/std/time/month_day_last/io.cc: New test.
967 * testsuite/std/time/month_weekday/io.cc: New test.
968 * testsuite/std/time/month_weekday_last/io.cc: New test.
969 * testsuite/std/time/weekday_indexed/io.cc: New test.
970 * testsuite/std/time/weekday_last/io.cc: New test.
971 * testsuite/std/time/year_month/io.cc: New test.
972 * testsuite/std/time/year_month_day_last/io.cc: New test.
973 * testsuite/std/time/year_month_weekday/io.cc: New test.
974 * testsuite/std/time/year_month_weekday_last/io.cc: New test.
976 2023-01-14 François Dumont <fdumont@gcc.gnu.org>
978 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
980 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
983 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
985 * include/bits/std_mutex.h: Include <errno.h>.
987 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
989 * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
990 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
991 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
992 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
993 std::make_unique with a freestanding-compatible wrapper around
995 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
996 Don't test for presence of __cpp_lib_string_contains on !HOSTED.
997 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
999 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
1000 of __cpp_lib_ranges in !HOSTED.
1002 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
1004 * include/Makefile.am: Install bits/char_traits.h,
1006 * include/Makefile.in: Regenerate.
1007 * include/bits/char_traits.h: Gate hosted-only, wchar-only and
1008 mbstate-only bits behind appropriate #ifs.
1009 * include/std/string_view: Gate <iostream> functionality behind
1011 * include/std/version: Enable __cpp_lib_constexpr_string_view
1012 and __cpp_lib_starts_ends_with in !HOSTED.
1013 * include/std/ranges: Re-enable __is_basic_string_view on
1014 freestanding, include <string_view> directly.
1015 * include/precompiled/stdc++.h: Include <string_view> when
1017 * testsuite/20_util/function_objects/searchers.cc: Skip testing
1018 boyer_moore searchers on freestanding
1019 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
1020 <string>-related tests behind __STDC_HOSTED__.
1021 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
1022 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
1023 unused <stdexcept> include.
1024 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
1025 unused <vector> include.
1026 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
1027 Guard <string> related testing behind __STDC_HOSTED__.
1028 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
1029 Guard <stdexcept> related tests behind __STDC_HOSTED__.
1030 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1032 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1033 Guard <stdexcept> tests behind __STDC_HOSTED__.
1034 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
1035 Enable test on freestanding, guard <stdexcept> bits behind
1037 * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
1038 Guard <stdexcept> bits behind __STDC_HOSTED__.
1039 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
1042 2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
1045 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
1046 errors in incomplete multibyte sequences.
1047 (utf16_in): Remove surrogates parameter. Fix conditions for
1049 (utf16_out): Fix condition for returning partial.
1050 (ucs2_in): Do not pass surrogates argument to utf16_in.
1051 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
1052 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
1054 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
1057 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1060 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
1061 __GTHREAD_LEGACY_MUTEX_T if defined.
1063 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1066 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
1067 Export __try_use_facet specializations for facets in namespace
1069 * config/os/gnu-linux/ldbl-ieee128-extra.ver
1070 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
1072 * testsuite/util/testsuite_abi.cc: Add to lists of known and
1075 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1077 * include/bits/std_mutex.h: Remove <system_error> include.
1078 * include/std/condition_variable: Add <bits/error_constants.h>
1080 * include/std/mutex: Likewise.
1081 * include/std/shared_mutex: Likewise.
1083 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
1086 * include/experimental/memory_resource
1087 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
1088 (do_allocate, do_deallocate): Check it.
1089 * testsuite/experimental/memory_resource/new_delete_resource.cc:
1090 Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
1092 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
1094 * doc/xml/manual/abi.xml: Add latest library versions.
1095 * doc/html/manual/abi.html: Regenerate.
1097 2023-01-12 François Dumont <fdumont@gcc.gnu.org>
1100 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
1101 unused _Alloc_node instance.
1103 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
1105 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
1106 Define as unsigned long if always lock-free, and unsigned int
1109 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
1111 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
1112 __catch macros for exception handling.
1114 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
1117 * include/bits/stl_algobase.h (__lg): Replace six overloads with
1118 a single function template for all integer types.
1119 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
1120 arithmetic results back to _Distance.
1122 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
1125 * include/std/span (span::span()): Un-simplify constraint to
1126 work for size_t of lesser rank than int.
1128 2023-01-07 LIU Hao <lh_mouse@126.com>
1130 PR middle-end/108300
1131 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
1133 * src/c++11/thread.cc: Likewise.
1134 * src/c++17/fs_ops.cc: Likewise.
1135 * src/filesystem/ops.cc: Likewise.
1137 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1140 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
1142 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1145 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
1146 template and partial specialization for synchronizing access to
1147 time_zone::_Impl::infos.
1148 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
1151 2023-01-06 Patrick Palka <ppalka@redhat.com>
1154 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
1155 * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
1156 (__cpp_lib_ranges_chunk): Likewise.
1157 (__cpp_lib_ranges_slide): Likewise.
1158 (__cpp_lib_ranges_chunk_by): Likewise.
1159 (__cpp_lib_ranges_join_with): Likewise.
1160 (__cpp_lib_ranges_repeat): Likewise.
1161 (__cpp_lib_ranges_stride): Likewise.
1162 (__cpp_lib_ranges_cartesian_product): Likewise.
1163 (__cpp_lib_ranges_as_rvalue): Likewise.
1164 * include/std/version: Ditto.
1165 * testsuite/20_util/tuple/p2321r2.cc: Verify value of
1167 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
1168 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
1169 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
1170 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
1171 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
1172 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
1173 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
1174 * testsuite/std/ranges/repeat/1.cc: Likewise.
1175 * testsuite/std/ranges/zip/1.cc: Likewise.
1176 * testsuite/std/ranges/version_c++23.cc: New test.
1178 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1181 * include/std/bitset (operator>>): Use alloca in the right
1182 scope, not in a constructor.
1183 * testsuite/20_util/bitset/io/input.cc: Check case from PR.
1185 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1188 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
1189 Disable visiting floating-point types.
1191 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1194 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
1195 (_Safe_iterator::operator--(int)): Do not hold lock around
1196 construction of return value.
1198 2023-01-05 John David Anglin <danglin@gcc.gnu.org>
1200 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
1201 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
1202 lock release. Revise loop.
1203 (__atomic_add): Likewise.
1205 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1208 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
1210 (StdChronoTimePointPrinter::to_string): Use it.
1212 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1215 * include/std/functional (_Bind_front): Add no_unique_address
1216 attribute to data members.
1217 * testsuite/20_util/function_objects/bind_front/107784.cc: Check
1218 size of call wrappers with empty types for targets and bound
1221 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1224 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
1225 using only last component of the name.
1227 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1231 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
1232 the latest symbol version.
1233 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
1234 atomic<_Node*> is not always lock free.
1235 (USE_ATOMIC_LIST_HEAD): New macro.
1236 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
1237 definition of weak symbol.
1238 (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
1239 (tzdb_list::_Node::_S_list_head): New function for accessing
1240 list head efficiently.
1241 (tzdb_list::_Node::_S_cache_list_head): New function for
1242 updating _S_list_head.
1244 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1247 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
1248 duration rep is unsigned.
1249 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
1251 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
1254 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
1255 Add __gnu_cxx::zoneinfo_dir_override().
1257 2023-01-04 Jonathan Wakely <jwakely@redhat.com>
1260 * include/std/array (__array_traits<T, 0>::operator T*()): Add
1262 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
1263 std::array<T, 0>::data().
1266 Copyright (C) 2023 Free Software Foundation, Inc.
1268 Copying and distribution of this file, with or without modification,
1269 are permitted in any medium without royalty provided the copyright
1270 notice and this notice are preserved.