+2026-05-19 Pengxuan Zheng <pengxuan.zheng@oss.qualcomm.com>
+
+ PR target/123748
+ * config/aarch64/aarch64-simd.md (vec_packs_float_v2di): New pattern.
+
+2026-05-19 Christopher Bazley <chris.bazley@arm.com>
+
+ * config/aarch64/aarch64.cc (aarch64_call_scalar_result_in_simd_reg_p):
+ New function to determine probabilistically whether a gcall
+ produces a scalar result in a SIMD/FP register.
+ (aarch64_scalar_op_to_vec_p): New function to determine
+ whether or not to add scalar_to_vec_cost per scalar operand
+ from which a vector is to be constructed.
+ (aarch64_external_adjust_stmt_cost): New function to adjust the
+ cost of an SLP tree node for a vec_construct that is fed by
+ values defined outside the vectorized region.
+ (aarch64_vector_costs::add_stmt_cost): Call the new
+ aarch64_external_adjust_stmt_cost function if we have an SLP
+ node and a vector type.
+
+2026-05-19 Paul-Antoine Arras <parras@baylibre.com>
+ Chung-Lin Tang <cltang@baylibre.com>
+ Sandra Loosemore <sloosemore@baylibre.com>
+
+ * fold-const.cc (operand_compare::operand_equal_p): Handle
+ OMP_ARRAY_SECTION.
+ * gimplify.cc (gimplify_scan_omp_clauses): Call
+ omp_remove_duplicate_maps after partial clause expansion.
+ * omp-general.cc (omp_remove_duplicate_maps): New function.
+ * omp-general.h (omp_remove_duplicate_maps): Declare.
+ * omp-low.cc (install_var_field): Add new 'tree key_expr = NULL_TREE'
+ default parameter. Set splay-tree lookup key to key_expr instead of
+ var if key_expr is non-NULL. Adjust call to install_parm_decl.
+ Update comments.
+ (scan_sharing_clauses): Use clause tree expression as splay-tree key
+ for map/to/from and OpenACC firstprivate cases when installing the
+ variable field into the send/receive record type.
+ (lower_oacc_reductions): Adjust to find map-clause of reduction
+ variable, then create receiver-ref.
+ (lower_omp_target): Adjust to lookup var field using clause expression.
+
+2026-05-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR other/125348
+ * config/i386/i386-expand.cc (ix86_expand_builtin): Fix diagnostic
+ typo, forth -> fourth.
+
+2026-05-19 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50481
+ * config/avr/avr.md (bitreverseqi2): New insn-and-split.
+ (*bitreverseqi2): New insn.
+
+2026-05-19 Roger Sayle <roger@nextmovesoftware.com>
+
+ PR target/90483
+ PR libstdc++/118416
+ * config/i386/i386-expand.cc (ix86_expand_sse_ptest): Refactor
+ with optimizations for PTESTZ*, PTESTC* and PTESTNZC*, including
+ transforming ptestz(x,-1) into ptestz(x,x).
+
+2026-05-19 Christophe Lyon <christophe.lyon@arm.com>
+
+ PR target/124870
+ * config/arm/arm-mve-builtins-base.cc (vstrq_scatter_base_impl)
+ (vldrq_gather_base_impl): Fix call_properties.
+
+2026-05-19 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ * cfgrtl.cc: Don't include gimplify.h or gimplify-me.h.
+ * cgraphbuild.cc: Likewise.
+ * emit-rtl.cc: Likewie.
+ * tree-ssa-dom.cc: Likewise.
+ * tree-ssa-dse.cc: Likewise.
+ * tree-ssa-loop-im.cc: Likewise.
+ * tree-ssa-loop-niter.cc: Likewise.
+ * tree-ssa-loop-unswitch.cc: Likewise.
+ * tree-ssa-math-opts.cc: Likewise.
+ * tree-ssa-phiopt.cc: Likewise.
+ * tree-ssa-phiprop.cc: Likewise.
+ * tree-ssa-pre.cc: Likewise.
+ * tree-ssa-propagate.cc: Likewise.
+ * tree-ssa-sccvn.cc: Likewise.
+ * gimplify.h (unshare_expr): Remove.
+ (unshare_expr_without_location): Remove.
+ (copy_if_shared): Remove.
+ * tree.h (unshare_expr): New decl.
+ (unshare_expr_without_location): Likewise.
+ (copy_if_shared): Likewise.
+ * gimplify.cc (mostly_copy_tree_r): Moved to tree.cc.
+ (copy_if_shared_r): Likewise.
+ (copy_if_shared): Likewise.
+ (unshare_expr): Likewise.
+ (prune_expr_location): Likewise.
+ (unshare_expr_without_location): Likewise.
+ * tree.cc (mostly_copy_tree_r): Moved from gimplify.cc
+ (copy_if_shared_r): Likewise.
+ (copy_if_shared): Likewise.
+ (unshare_expr): Likewise.
+ (prune_expr_location): Likewise.
+ (unshare_expr_without_location): Likewise.
+
+2026-05-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/125357
+ * config/i386/i386-expand.cc (ix86_expand_vec_perm): For
+ one_operand_shuffle if TARGET_AVX and not TARGET_AVX512F use
+ vpermilps for V4SImode/V4SFmode. Formatting fix.
+
+2026-05-19 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (bitreversehi2, bitreversesi2): New insn_and_split.
+ (*bitreversehi2.libgcc, *bitreversesi2.libgcc): New insns.
+
+2026-05-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/50481
+ * optabs.cc (widen_bswap): Add UNOPTAB argument and use it instead
+ of hardcoded bswap_optab. Rename to ...
+ (widen_bswap_or_bitreverse): ... this.
+ (expand_doubleword_bswap): Add UNOPTAB argument and use it instead
+ of hardcoded bswap_optab. Rename to ...
+ (expand_doubleword_bswap_or_bitreverse): ... this.
+ (expand_bitreverse): Use widen_bswap_or_bitreverse and
+ expand_doubleword_bswap_or_bitreverse.
+ (expand_unop): Adjust widen_bswap and expand_doubleword_bswap callers
+ to use new names and add an extra bswap_optab argument.
+
+2026-05-19 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/125355
+ * config/i386/i386-expand.cc (ix86_expand_movmem): Replace
+ optimize_function_for_size_p with optimize_insn_for_size_p.
+
+2026-05-19 Robin Dapp <robin.dapp@oss.qualcomm.com>
+
+ PR target/125097
+ * config/riscv/riscv.cc (riscv_legitimize_move): Emit 32-bit
+ vec_extracts right away.
+
+2026-05-19 Robin Dapp <rdapp@oss.qualcomm.com>
+
+ * config/riscv/autovec.md (<cbranch_optab><mode>): Remove.
+ * config/riscv/riscv-protos.h (expand_vec_cmp_float): Add mask
+ and else arguments.
+ * config/riscv/riscv-v.cc (expand_vec_cmp): Add mask and else
+ arguments.
+ (expand_vec_cmp_float): Ditto.
+ * config/riscv/vector-iterators.md: Remove iterators.
+
+2026-05-19 Peter Bergner <bergner@linux.ibm.com>
+ Jeevitha Palanisamy <jeevitha@linux.ibm.com>
+
+ * config/rs6000/amo.h: Add missing atomic memory operations.
+ * doc/extend.texi (PowerPC Atomic Memory Operation Functions): Document
+ new functions.
+
+2026-05-19 Andi Kleen <ak@gcc.gnu.org>
+
+ PR target/125351
+ * config/i386/i386.md: Use alternative to handle masm ptwrite
+ syntax.
+
2026-05-18 Xin Wang <yw987194828@gmail.com>
* tree-ssa-loop-split.cc (fix_loop_bb_probability): Rename
+2026-05-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR other/125348
+ * libgnat/s-regpat.ads: Fix comment spelling, paramter -> parameter.
+
2026-05-10 Eric Botcazou <ebotcazou@adacore.com>
PR ada/125240
+2026-05-19 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/125304
+ * common.h (compare_bit_offsets_p): New decl.
+ (eval_region_offset_comparison): New decl.
+ * region-model.cc (region_model::on_assignment): Pass *this to
+ store::set_value to help determination of aliasing.
+ (region_model::set_value): Likewise.
+ (region_model::eval_condition): Likewise for
+ region_svalue::eval_condition.
+ * region.cc (compare_bit_offsets_p): New.
+ (region_offset::dump_to_pp): Dump the base region, wrapping the
+ whole thing in braces.
+ (eval_byte_offset_comparison): New.
+ (eval_region_offset_comparison): New.
+ * store.cc (store::set_value): Add "model" param and pass it to
+ eval_alias.
+ (store::eval_alias): Add "model" param and pass to eval_alias_1.
+ Add early return of true when checking a base region against
+ itself. Replace final return of "unknown" with logic that
+ compares the kinds of the two base regions, and may be able
+ to return "false" rather than "unknown".
+ (store::eval_alias_1): Add "model" param and pass to eval_alias.
+ Assert that we have two different base_regions.
+ (store::replay_call_summary_cluster): Pass model to set_value.
+ * store.h (store::set_value): Add "model" param.
+ (store::eval_alias): Likewise.
+ (store::eval_alias_1): Likewise.
+ * svalue.cc (region_svalue::eval_condition): Likewise.
+ Reimplement in terms of eval_region_offset_comparison.
+ * svalue.h (region_svalue::eval_condition): Add "model" param.
+
+2026-05-19 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/124104
+ * svalue.cc (binop_svalue::maybe_get_value_range_1): Bail out for
+ incompatible types.
+
2026-05-18 David Malcolm <dmalcolm@redhat.com>
* analyzer.opt (-param=analyzer-bb-explosion-factor=): Rename to...
+2026-05-19 Paul-Antoine Arras <parras@baylibre.com>
+ Chung-Lin Tang <cltang@baylibre.com>
+ Sandra Loosemore <sloosemore@baylibre.com>
+
+ * c-typeck.cc (c_finish_omp_clauses): Call omp_remove_duplicate_maps
+ before clause expansion.
+
2026-05-15 Andi Kleen <ak@gcc.gnu.org>
PR c/124532
+2026-05-19 Marek Polacek <polacek@redhat.com>
+
+ PR c++/123536
+ * cp-tree.h (process_outer_var_ref): Remove a parameter's name.
+ * expr.cc (mark_use): Return if mark_rvalue_use returns
+ error_mark_node.
+ * semantics.cc (process_outer_var_ref): Return decl when it is
+ instantiation-dependent.
+
+2026-05-19 Marek Polacek <polacek@redhat.com>
+
+ PR c++/125336
+ * constexpr.cc (cxx_eval_bare_aggregate): Don't call
+ get_or_insert_ctor_field when there is no CONSTRUCTOR. Assert
+ is_empty_class.
+
+2026-05-19 Paul-Antoine Arras <parras@baylibre.com>
+ Chung-Lin Tang <cltang@baylibre.com>
+ Sandra Loosemore <sloosemore@baylibre.com>
+
+ * semantics.cc (finish_omp_clauses): Likewise.
+
2026-05-18 Marek Polacek <polacek@redhat.com>
* constexpr.cc (cxx_eval_bare_aggregate): Remove dead code.
+2026-05-19 Julian Brown <julian@codesourcery.com>
+ Tobias Burnus <tburnus@baylibre.com>
+
+ * dump-parse-tree.cc (show_attr): Show omp_udm_artificial_var flag.
+ (show_omp_namelist): Support OMP_MAP_UNSET.
+ * gfortran.h (enum gfc_statement): Add ST_OMP_DECLARE_MAPPER.
+ (symbol_attribute): Add omp_udm_artificial_var attribute.
+ (enum gfc_omp_map_op): Add OMP_MAP_UNSET.
+ (gfc_omp_namelist_udm): New struct.
+ (gfc_omp_namelist): Add udm pointer to u2 union.
+ (gfc_symtree): Add omp_udm pointer.
+ (gfc_namespace): Add omp_udm_root symtree and omp_udm_ns flag.
+ (gfc_free_omp_udm, gfc_omp_udm_find, gfc_find_omp_udm,
+ gfc_resolve_omp_udms): Add prototypes.
+ * match.h (gfc_match_omp_declare_mapper): Add prototype.
+ * match.cc (gfc_free_omp_namelist): Update for declare mapper's udm.
+ * openmp.cc (gfc_omp_directives): Uncomment 'declare mapper'.
+ (gfc_free_omp_udm, gfc_find_omp_udm, gfc_omp_udm_find,
+ gfc_match_omp_declare_mapper, gfc_resolve_omp_udm,
+ gfc_resolve_omp_udms): New.
+ (gfc_match_omp_clauses): Take argument for the default map-type
+ modifier; add support for the 'mapper' modifier.
+ (resolve_omp_clauses): Update for declare-mapper map clauses.
+ * parse.cc (decode_omp_directive): Add declare mapper support.
+ (case_omp_decl): Add ST_OMP_DECLARE_MAPPER case.
+ (gfc_ascii_statement): Add ST_OMP_DECLARE_MAPPER case.
+ * resolve.cc (resolve_types): Call gfc_resolve_omp_udms.
+ * symbol.cc (free_omp_udm_tree): New function.
+ (gfc_free_namespace): Call it.
+
+2026-05-19 Paul-Antoine Arras <parras@baylibre.com>
+ Chung-Lin Tang <cltang@baylibre.com>
+ Sandra Loosemore <sloosemore@baylibre.com>
+
+ * gfortran.h (enum gfc_omp_map_op): Dedicate the two LSB to TO and FROM.
+ * openmp.cc (resolve_omp_clauses): Adjust to allow duplicate
+ mapped variables for OpenMP.
+ * trans-openmp.cc (gfc_trans_omp_clauses): Remove duplicates before
+ clause expansion.
+
+2026-05-19 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/115260
+ * trans-expr.cc (gfc_conv_subref_array_arg): Pass false to
+ dealloc argument of gfc_trans_scalar_assign if we are
+ converting a g77-style argument.
+
2026-05-16 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/122245
+2026-05-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR other/125348
+ * gm2-compiler/M2GenGCC.mod (PerformLastForIterator): Fix diagnostic
+ typo, intemediate -> intermediate.
+
2026-04-21 Gaius Mulley <gaiusmod2@gmail.com>
PR modula2/120189
+2026-05-19 Pengxuan Zheng <pengxuan.zheng@oss.qualcomm.com>
+
+ * gcc.target/aarch64/pr123748.c: Use "long long" instead of "long".
+
+2026-05-19 Julian Brown <julian@codesourcery.com>
+ Tobias Burnus <tburnus@baylibre.com>
+
+ * gfortran.dg/gomp/declare-mapper-1.f90: New test.
+ * gfortran.dg/gomp/declare-mapper-2.f90: New test.
+
+2026-05-19 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/125304
+ * c-c++-common/analyzer/pointer-comparison-pr125304-eq.c: New test.
+ * c-c++-common/analyzer/pointer-comparison-pr125304-ge.c: New test.
+ * c-c++-common/analyzer/pointer-comparison-pr125304-gt.c: New test.
+ * c-c++-common/analyzer/pointer-comparison-pr125304-le.c: New test.
+ * c-c++-common/analyzer/pointer-comparison-pr125304-lt.c: New test.
+ * g++.dg/analyzer/pointer-casts-pr125304.C: New test.
+
+2026-05-19 Marek Polacek <polacek@redhat.com>
+
+ PR c++/123536
+ * g++.dg/cpp0x/lambda/lambda-const12.C: New test.
+ * g++.dg/cpp0x/lambda/lambda-const13.C: New test.
+ * g++.dg/cpp0x/lambda/lambda-const14.C: New test.
+ * g++.dg/template/local11.C: New test.
+
+2026-05-19 Pengxuan Zheng <pengxuan.zheng@oss.qualcomm.com>
+
+ PR target/123748
+ * gcc.target/aarch64/pr123748.c: New test.
+
+2026-05-19 Christopher Bazley <chris.bazley@arm.com>
+
+ * gcc.target/aarch64/sve/vec_construct_1.c: New test.
+ * gcc.target/aarch64/sve/vec_construct_2.c: New test.
+ * gcc.target/aarch64/sve/vec_construct_3.c: New test.
+ * gcc.target/aarch64/sve/vec_construct_4.c: New test.
+ * gcc.target/aarch64/sve/vec_construct_5.c: New test.
+ * gcc.target/aarch64/vec-construct-1.c: New test.
+ * gcc.target/aarch64/vec-construct-10.c: New test.
+ * gcc.target/aarch64/vec-construct-11.c: New test.
+ * gcc.target/aarch64/vec-construct-12.c: New test.
+ * gcc.target/aarch64/vec-construct-2.c: New test.
+ * gcc.target/aarch64/vec-construct-3.c: New test.
+ * gcc.target/aarch64/vec-construct-4.c: New test.
+ * gcc.target/aarch64/vec-construct-5.c: New test.
+ * gcc.target/aarch64/vec-construct-6.c: New test.
+ * gcc.target/aarch64/vec-construct-7.c: New test.
+ * gcc.target/aarch64/vec-construct-8.c: New test.
+ * gcc.target/aarch64/vec-construct-9.c: New test.
+
+2026-05-19 Marek Polacek <polacek@redhat.com>
+
+ PR c++/125336
+ * g++.dg/cpp2a/no_unique_address17.C: New test.
+ * g++.dg/cpp2a/no_unique_address18.C: New test.
+
+2026-05-19 Paul-Antoine Arras <parras@baylibre.com>
+ Chung-Lin Tang <cltang@baylibre.com>
+ Sandra Loosemore <sloosemore@baylibre.com>
+
+ * c-c++-common/gomp/clauses-2.c: Adjust testcase.
+ * c-c++-common/gomp/map-6.c: Adjust testcase.
+ * gfortran.dg/gomp/pr107214.f90: Adjust testcase.
+ * c-c++-common/gomp/map-multi-1.c: New test.
+ * c-c++-common/gomp/map-multi-2.c: New test.
+ * gfortran.dg/gomp/map-multi-1.f90: New test.
+ * gfortran.dg/gomp/map-multi-2.f90: New test.
+
+2026-05-19 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/115260
+ * gfortran.dg/pr115260.f90: New test.
+
+2026-05-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR other/125348
+ * gcc.target/i386/pr117416-2.c (prefetch_test): Adjust expected
+ diagnostic spelling.
+ * gdc.test/compilable/dtoh_TemplateDeclaration.d: Fix comment
+ spelling, paramter -> parameter.
+
+2026-05-19 Roger Sayle <roger@nextmovesoftware.com>
+
+ PR target/90483
+ PR libstdc++/118416
+ * gcc.target/i386/sse4_1-ptest-8.c: New test case.
+ * gcc.target/i386/sse4_1-ptest-9.c: Likewise.
+
+2026-05-19 Christophe Lyon <christophe.lyon@arm.com>
+
+ PR target/124870
+ * gcc.target/arm/mve/intrinsics/pr124870.c: New test.
+
+2026-05-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/125357
+ * gcc.target/i386/avx-pr125357.c: New test.
+ * gcc.target/i386/avx2-pr125357.c: New test.
+
+2026-05-19 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/125355
+ * gcc.target/i386/pr125355-2.c: New test.
+
+2026-05-19 H.J. Lu <hjl.tools@gmail.com>
+
+ * lib/scanasm.exp (configure_check-function-bodies): Check
+ "*-*-mingw32" instead of "aarch64*-*-mingw32".
+
+2026-05-19 Robin Dapp <rdapp@oss.qualcomm.com>
+
+ * gcc.target/riscv/rvv/autovec/early-break-5.c: Remove redundant
+ comments.
+
+2026-05-19 Peter Bergner <bergner@linux.ibm.com>
+ Jeevitha Palanisamy <jeevitha@linux.ibm.com>
+
+ * gcc.target/powerpc/amo3.c: New test.
+ * gcc.target/powerpc/amo4.c: Likewise.
+ * gcc.target/powerpc/amo5.c: Likewise.
+ * gcc.target/powerpc/amo6.c: Likewise.
+ * gcc.target/powerpc/amo7.c: Likewise.
+
+2026-05-19 Andi Kleen <ak@gcc.gnu.org>
+
+ PR target/125351
+ * gcc.target/i386/pr125351.c: New test.
+
2026-05-18 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
* gcc.dg/tree-ssa/pr112095.c: Add -Wno-psabi to the options.
+2026-05-19 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/t-avr (LIB1ASMFUNCS): Add _bitreverse8, _bitreverse16,
+ _bitreverse24, _bitreverse32.
+ * config/avr/lib1funcs.S (__bitreverse8, __bitreverse16)
+ (__bitreverse24, __bitreverse32): New functions.
+
2026-05-11 John David Anglin <danglin@gcc.gnu.org>
* config.host (hppa*64*-hp-hpux11*): Handle linking with GNU ld.
+2026-05-19 Paul-Antoine Arras <parras@baylibre.com>
+ Chung-Lin Tang <cltang@baylibre.com>
+ Sandra Loosemore <sloosemore@baylibre.com>
+
+ * testsuite/libgomp.c++/target-map-multi-1.C: New test.
+ * testsuite/libgomp.c-c++-common/target-map-iterators-6.c: New test.
+ * testsuite/libgomp.c-c++-common/target-map-multi-1.c: New test.
+ * testsuite/libgomp.c-c++-common/target-map-multi-2.c: New test.
+ * testsuite/libgomp.c-c++-common/target-map-multi-3.c: New test.
+ * testsuite/libgomp.c-c++-common/target-map-multi-4.c: New test.
+ * testsuite/libgomp.fortran/target-map-multi-1.f90: New test.
+ * testsuite/libgomp.fortran/target-map-multi-2.f90: New test.
+ * testsuite/libgomp.fortran/target-map-multi-3.f90: New test.
+ * testsuite/libgomp.fortran/target-map-multi-4.f90: New test.
+ * testsuite/libgomp.fortran/target-map-multi-5.f90: New test.
+
2026-05-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* env.c (initialize_env): Check GOMP_DEFAULT_STACKSIZE for
+2026-05-19 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/c++20/tzdata.zi: Import new file from 2026b release.
+
+2026-05-19 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/125374
+ * include/std/flat_map (_Flat_map_impl::_M_try_emplace): Forward
+ instead of unconditionally moving __k when inserting it.
+ * testsuite/23_containers/flat_map/1.cc (test10): New test.
+
+2026-05-19 Nathan Myers <ncm@cantrip.org>
+
+ PR libstdc++/118030
+ * config/abi/pre/gnu.ver: Expose string::_S_allocate_at_least,
+ _M_create_plus symbols.
+ * include/bits/alloc_traits.h:
+ (allocate_at_least): Delegate in allocator_traits<allocator<_Tp>>
+ specialization to allocator<_Tp>::allocate_at_least, unconditionally;
+ annotate [[__gnu__::always_inline__]].
+ (allocate_at_least): Declare "= delete;" in allocator<void>.
+ * include/bits/allocator.h (allocate_at_least): Delegate to base
+ allocate_at_least where defined, calling with explicit base-class
+ qualification, picking up __new_allocator member.
+ * include/bits/basic_string.h:
+ (_Alloc_result): Define new type.
+ (_S_allocate_at_least): Define, using it.
+ (_S_allocate): Minimize for legacy ABI use only.
+ (_M_create_plus): Declare.
+ (_M_create_and_place): Define, abstracting common operations.
+ (assign): Use _S_allocate_at_least.
+ * include/bits/basic_string.tcc:
+ (_M_create_plus): Define.
+ (_M_replace, reserve): Use _S_allocate_at_least.
+ (_M_construct, others (3x)): Use _M_create_and_place.
+ (_M_construct, input iterators): Use _M_create_plus.
+ (_M_create, _M_assign, reserve, _M_mutate): Same.
+ * include/bits/memory_resource.h (allocate_at_least): Define,
+ document.
+ * include/bits/new_allocator.h (allocate_at_least): Define.
+ (_S_check_allocation_limit) Define.
+ (allocate): Use _S_check_allocation_limit.
+ (_S_max_size): Change from _M_max_size.
+ (deallocate): Refine "if constexpr" logic.
+ * include/bits/stl_vector.h:
+ (_S_max_size): Move to _Vector_base.
+ (_Alloc_result): Define type.
+ (_M_allocate_at_least): Define, using allocate_at_least where supported.
+ (_M_allocate): Delegate to _M_allocate_at_least.
+ (max_size, _S_check_init_len): Use _S_max_size as moved.
+ (_M_create_storage, append_range, _M_allocate_and_copy,
+ _M_replace_storage): Define, abstracting common operations.
+ (_M_replace_with): Define, likewise.
+ (_M_range_initialize_n): Use _M_allocate_at_least.
+ (_M_check_len): Improve logic.
+ * include/bits/vector.tcc:
+ (reserve, _M_fill_append, _M_range_insert): Use _M_allocate_at_least
+ and _M_replace_storage.
+ (operator=, _M_assign_aux): Use _M_replace_with.
+ (_M_realloc_insert, _M_realloc_append, _M_default_append, insert_range):
+ Use _M_allocate_at_least.
+ (_M_fill_insert): Use _M_replace_storage, normalize whitespace.
+ * testsuite/util/testsuite_allocator.h:
+ (allocate_at_least (3x)): Define.
+ (allocate): Use allocate_at_least.
+ * testsuite/20_util/allocator/allocate_at_least.cc: Add tests.
+ * testsuite/21_strings/basic_string/capacity/char/18654.cc:
+ Loosen capacity check.
+ * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
+ Same.
+ * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Same.
+ * testsuite/21_strings/basic_string/capacity/wchar_t/2.cc: Same.
+ * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
+ Same.
+ * testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Same.
+ * testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: Same
+ * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
+ Adapt to looser reserve behavior.
+
+2026-05-19 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/125369
+ * include/bits/chrono_io.h (__detail::_Parser::operator()):
+ Check for errors when parsing digits for a %z format.
+ * testsuite/std/time/parse/125369.cc: New test.
+
2026-05-18 Jonathan Wakely <jwakely@redhat.com>
* testsuite/23_containers/bitset/lwg4294.cc: Move to...