https://gcc.gnu.org/g:ff56b86a447e20866d9f81fac209b5ad660cb880

commit r17-3451-gff56b86a447e20866d9f81fac209b5ad660cb880
Author: GCC Administrator <[email protected]>
Date:   Thu Aug 20 00:16:43 2026 +0000

    Daily bump.

Diff:
---
 ChangeLog               |  12 ++
 contrib/ChangeLog       |   5 +
 gcc/ChangeLog           | 309 ++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/ada/ChangeLog       |  14 +++
 gcc/cobol/ChangeLog     |  44 +++++++
 gcc/cp/ChangeLog        |  25 ++++
 gcc/m2/ChangeLog        |  15 +++
 gcc/testsuite/ChangeLog | 232 ++++++++++++++++++++++++++++++++++++
 libcpp/ChangeLog        |   7 ++
 libgcobol/ChangeLog     |   7 ++
 libstdc++-v3/ChangeLog  | 121 +++++++++++++++++++
 12 files changed, 792 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index e2a7e2817dee..c0cd81773e01 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2026-08-19  Claudio Bantaloukas  <[email protected]>
+
+       PR other/126226
+       * .gitignore: Ignore python eggs.
+       * pyproject.toml: New file.
+
+2026-08-19  Longjun Luo  <[email protected]>
+
+       * MAINTAINERS.yml: Add myself.
+       * MAINTAINERS (Write After Approval): Regenerate.
+       (Contributing under the DCO): Regenerate.
+
 2026-08-18  Richard Earnshaw  <[email protected]>
 
        * MAINTAINERS.yml (users): Add forgeid for some users.
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index b095596adce6..219ab454df93 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,8 @@
+2026-08-19  Richard Earnshaw  <[email protected]>
+
+       * add-write-after.py (getuserdata): Also capture an optional
+       forge ID.
+
 2026-08-18  Richard Earnshaw  <[email protected]>
 
        * forge_teams.py: New file.
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 40935e20d915..944ebf672b42 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,312 @@
+2026-08-19  Konstantinos Eleftheriou  <[email protected]>
+           Philipp Tomsich  <[email protected]>
+
+       PR tree-optimization/107090
+       PR tree-optimization/126642
+       * match.pd (long_mul_high_chain): New atom for the emitted high-part 
chain.
+       * tree-ssa-forwprop.cc (long_mul_classify_match): Gate the
+       HIGH_PART wide-chain emit on optimize_widening_mul_active_p
+       rather than on the target having a 2N multiply.
+       * tree-ssa-math-opts.cc (can_widen_to_narrow_p): New.
+       (build_long_mul_partials): New; emits the four partial products
+       using widening or plain multiplies.
+       (emit_long_mul_highpart): New; the high N bits of an N-bit
+       product, as a longhand over (N/2)-bit partials.
+       (combine_long_mul_halves): New; the high N bits of a product of
+       two 2N-bit values given as N-bit halves.
+       (long_mul_op_fits_p): New; true when an operand is provably
+       representable in narrow_prec unsigned bits.
+       (long_mul_split_operand): New; splits an operand into N-bit
+       halves using only N-bit operations.
+       (struct long_mul_halves): New; the halves an operand PHI was
+       split into.
+       (struct long_mul_arg_split): New; an argument of an operand PHI
+       with the statements that split it.
+       (long_mul_split_phi): New; splits an operand PHI by splitting its
+       arguments and merging the halves with two new PHIs. Record the
+       halves and reuse them for the next consumer of the same PHI.
+       (long_mul_high_half_uses): New; collects the `>> N' uses forming
+       a product's high half.
+       (long_mul_only_low_half_used_p): New.
+       (unexpandable_long_mul_p): New; true for a 2N multiply in a mode
+       the target cannot multiply.
+       (narrow_long_mul_low_half): New; narrow a 2N low-half-only mult
+       the target cannot expand to an N-bit mult.
+       (narrow_long_mul_operands): New; recurse into chained wide
+       products after a narrowing/lowering.
+       (finish_long_mul_low_half): New; narrows or removes a 2N mult
+       whose high half is synthesized elsewhere.
+       (narrow_long_mul_halves): New; rewrites a 2N multiply into the
+       N-bit halves its uses read.
+       (gimple_long_mul_high_chain): Declare.
+       (lower_long_mul_high_chain): New; lowers the high-part chain to a
+       longhand at narrow precision. Split each operand into N-bit
+       halves and combine, handling an operand wider than narrow_prec
+       instead of rejecting it. Narrow or drop the residual 2N mult via
+       the helpers and recurse into its operands.
+       (optimize_widening_mul_active_p): New; shared gate used by
+       pass_optimize_widening_mul::gate and by the forwprop long-multiply
+       recognizer. Return false when optimize_debug.
+       (math_opts_dom_walker::after_dom_children): Dispatch to
+       lower_long_mul_high_chain on the outer convert. Run
+       narrow_long_mul_low_half on MULT_EXPR before the widen/fma
+       conversion attempts.
+       (pass_optimize_widening_mul::execute): Sweep the function for
+       multiplies left in a mode the target cannot expand. Scope the
+       record of split operand PHIs to one run of the pass.
+       * tree-ssa-math-opts.h (optimize_widening_mul_active_p): Declare.
+
+2026-08-19  Konstantinos Eleftheriou  <[email protected]>
+           Philipp Tomsich  <[email protected]>
+
+       PR tree-optimization/107090
+       * match.pd: Add cond_carry_add and cond_carry_add_neg match
+       recognizers for the 2-arg PHI form PHI<base + pow2, base>,
+       one per gcond polarity.
+       * tree-ssa-forwprop.cc (gimple_cond_carry_add): Declare.
+       (gimple_cond_carry_add_neg): Likewise.
+       (long_mul_check_low_plus_defer): Note that the PHI entry commits
+       only to HIGH_PART rows.
+       (long_mul_classify_match): Take the candidate statement for the
+       per-row checks.
+       (long_mul_classify_chain): Take an optional pre-classified extra
+       summand, for the carry the PHI entry synthesizes.
+       (match_long_mul): Adjust.
+       (match_long_mul_phi): New PHI-driven entry; recognizes a
+       cond_carry_add(_neg) PHI and folds the long-multiply
+       when the rest of the high-part chain matches.
+       (pass_forwprop::execute): Call match_long_mul_phi on each
+       PHI in the degenerate-PHI walk.
+
+2026-08-19  Konstantinos Eleftheriou  <[email protected]>
+
+       PR tree-optimization/107090
+       * tree-ssa-forwprop.cc (long_mul_check_low_plus_defer): New
+       helper, defers the fold when any GT/LT/GE/LE use shares an
+       operand with the PLUS; gates the LOW_PART PLUS_EXPR row added
+       to long_mul_table.
+
+2026-08-19  Konstantinos Eleftheriou  <[email protected]>
+
+       PR tree-optimization/107090
+       * match.pd: Add mul_ladder_sum1, mul_ladder_sum2,
+       mul_ladder_sum3 and mul_ladder_part_sum atom recognizers.
+       * tree-ssa-forwprop.cc (gimple_mul_ladder_sum1): Declare.
+       (gimple_mul_ladder_sum2): Likewise.
+       (gimple_mul_ladder_sum3): Likewise.
+       (gimple_mul_ladder_part_sum): Likewise.
+       (enum long_mul_kind): Add LMK_LADDER_SUM1 / LMK_LADDER_SUM2
+       / LMK_LADDER_SUM3 / LMK_LADDER_PART_SUM, with the
+       long_mul_table HIGH_PART and LOW_PART rows for each ladder
+       form.
+       (long_mul_set_summand): Handle the new kinds.
+       (long_mul_classify_carry): Update the specificity note above
+       long_mul_classify_plus_kinds.
+       (long_mul_classify_plus_kinds): Try mul_ladder_sum3 and
+       mul_ladder_sum1 before mul_low_sum (more-constrained
+       first); add mul_ladder_sum2.
+       (long_mul_classify_hi_extract): Add mul_ladder_part_sum
+       branch.
+       (long_mul_classify_lo_extract): Adjust.
+
+2026-08-19  Konstantinos Eleftheriou  <[email protected]>
+
+       PR tree-optimization/107090
+       * match.pd: Add mul_carry_low atom recognizer.
+       * tree-ssa-forwprop.cc (gimple_mul_carry_low): Declare.
+       (enum long_mul_kind): Add LMK_CARRY_LOW.
+       (struct long_mul_summand): Add carry_a / carry_b for the
+       LMK_CARRY_LOW summand's two operands.
+       (long_mul_set_summand): Handle LMK_CARRY_LOW.
+       (long_mul_classify_carry): Try mul_carry_low after the
+       more-constrained mul_carry_low_sum / mul_carry_cross_sum.
+       (long_mul_find_summand): New helper, find the first summand
+       with a given kind.
+       (long_mul_check_two_carries): New extra check, validates the
+       LMK_CARRY_LOW summand's operands against the canonical
+       (op0, op1); gates the two-carry HIGH_PART row added to
+       long_mul_table.
+
+2026-08-19  Konstantinos Eleftheriou  <[email protected]>
+
+       PR tree-optimization/107090
+       * match.pd: Add mul_low_sum and mul_carry_low_sum atom
+       recognizers.
+       * tree-ssa-forwprop.cc (gimple_mul_low_sum): Declare.
+       (gimple_mul_carry_low_sum): Likewise.
+       (create_mul_low_seq): Update the widest-atom note above
+       LONG_MUL_MAX_CAPTURES to mul_carry_low_sum (7 captures).
+       (enum long_mul_kind): Add LMK_LOW_SUM and LMK_CARRY_LOW_SUM,
+       with the long_mul_table HIGH_PART and LOW_PART rows that
+       consume them.
+       (long_mul_set_summand): Handle the new kinds.
+       (long_mul_classify_carry): Try mul_carry_low_sum before
+       mul_carry_cross_sum (most-specific first).
+       (long_mul_classify_plus_kinds): Try mul_low_sum after
+       mul_low_accum (mul_low_sum's first arm is any plus and
+       mul_low_accum constrains both arms).
+
+2026-08-19  Konstantinos Eleftheriou  <[email protected]>
+           Philipp Tomsich  <[email protected]>
+
+       PR tree-optimization/107090
+       * match.pd: Add atom match recognizers for long-multiply
+       (mul_hi, mul_lo, mul_hilo, mul_lolo, mul_hihi, mul_cross_sum,
+       mul_low_accum, mul_carry_cross_sum).
+       * tree-ssa-forwprop.cc (gimple_mul_hi): Declare.
+       (gimple_mul_lo): Likewise.
+       (gimple_mul_hilo): Likewise.
+       (gimple_mul_lolo): Likewise.
+       (gimple_mul_hihi): Likewise.
+       (gimple_mul_cross_sum): Likewise.
+       (gimple_mul_low_accum): Likewise.
+       (gimple_mul_carry_cross_sum): Likewise.
+       (build_mul_high_seq): New, emits (N)(((2N) op1 * (2N) op2) >> N)
+       into a caller-supplied destination.
+       (long_mul_apply_extras): New, combines the preserved addends back
+       on top of the folded multiply.
+       (create_mul_high_seq): New, replaces the statement with the
+       high-part multiply plus any extras.
+       (create_mul_low_seq): New, likewise for the low part.
+       (enum long_mul_kind): New.
+       (enum long_mul_extract): New.
+       (struct long_mul_summand): New.
+       (long_mul_linearize_chain): New, walks the outer add/ior chain
+       into a multiset of leaves.
+       (long_mul_is_lshift_def): New.
+       (long_mul_set_summand): New.
+       (long_mul_classify_carry): New.
+       (long_mul_classify_plus_kinds): New.
+       (long_mul_classify_hi_extract): New.
+       (long_mul_classify_lo_extract): New.
+       (long_mul_classify_shl_extract): New.
+       (long_mul_classify_bare): New.
+       (long_mul_classify_summand): New, classify each summand via the
+       match.pd atoms.
+       (long_mul_summand_compare): New.
+       (struct long_mul_row): New.
+       (long_mul_same_ops): New.
+       (long_mul_is_cross_half): New.
+       (long_mul_hilo_orientation): New, orientation of a mul_hilo
+       capture relative to (op0, op1).
+       (long_mul_canonical_ops): New.
+       (long_mul_check_consistency): New, cross-summand consistency
+       check (operand pairing, half-width shifts, hilo cross-half).
+       (long_mul_signature_matches): New.
+       (long_mul_hint_shared_intermediate): New, dump-file hint
+       pointing at a shared inner addition.
+       (long_mul_classify_match): New, looks a summand multiset up in
+       long_mul_table and runs the per-row checks.
+       (long_mul_classify_chain): New, linearize plus classify plus
+       table lookup; sets aside leaves that classify as no summand.
+       (match_long_mul): New, top-level entry: starts only at a chain
+       end, classifies the chain, and dispatches to create_mul_high_seq
+       / create_mul_low_seq with any preserved addends.
+       (pass_forwprop::execute): Call match_long_mul on PLUS_EXPR and
+       BIT_IOR_EXPR statements.
+
+2026-08-19  Andrea Pinski  <[email protected]>
+
+       PR tree-optimization/126934
+       * range-op.cc (operator_div::op1_op2_relation_effect): Fix
+       for ops range being negative with VREL_LT.
+
+2026-08-19  Kyrylo Tkachov  <[email protected]>
+
+       * config/aarch64/iterators.md (vnarrowq): New mode attribute.
+       (sat_trunc_op): New code attribute.
+       * config/aarch64/aarch64-simd.md (<sat_trunc_op>trunc<mode><vnarrowq>2):
+       New expander.
+
+2026-08-19  Alice Carlotti  <[email protected]>
+
+       * config/aarch64/aarch64-sys-regs.def: Sync from Binutils.
+
+2026-08-19  Iain Sandoe  <[email protected]>
+
+       * config/darwin.h (LINK_COMMAND_SPEC_A): Synchronise the
+       options for coverage with gcc/gcc.cc.
+
+2026-08-19  Kyrylo Tkachov  <[email protected]>
+
+       * config/aarch64/aarch64-simd.md (aarch64_cm<optab>di): Accept a
+       zero second operand in the general register alternative.
+
+2026-08-19  Kyrylo Tkachov  <[email protected]>
+
+       PR tree-optimization/125557
+       * ifcvt.cc (average_cost): Scale a nonnegative cost difference using
+       the probability of the more expensive arm.
+
+2026-08-19  Kyrylo Tkachov  <[email protected]>
+
+       * profile-count.h (profile_probability::apply): Scale an unsigned
+       magnitude with safe_scale_64bit.
+       * profile-count.cc (test_profile_probability_apply): New.
+       (profile_count_cc_tests): New.
+       * selftest.h (profile_count_cc_tests): Declare.
+       * selftest-run-tests.cc (selftest::run_tests): Run it.
+
+2026-08-19  Richard Biener  <[email protected]>
+
+       * tree-vect-slp.cc (vect_build_slp_instance): Remove dead code.
+       (vect_analyze_slp_instance): Likewise.
+
+2026-08-19  Richard Biener  <[email protected]>
+
+       * tree-vect-slp.cc (vect_print_slp_tree): Dump the scheduling
+       point, if set.
+
+2026-08-19  Richard Biener  <[email protected]>
+
+       * tree-vect-slp.cc (vect_optimize_slp_pass::containing_loop):
+       For nodes w/o representative use the region entry block
+       to indicate the containing loop.
+
+2026-08-19  Richard Biener  <[email protected]>
+
+       PR tree-optimization/126936
+       * tree-vect-slp.cc (vect_bb_slp_mark_live_stmts): Exclude
+       use_stmt from dominance check.
+       (vect_schedule_slp): Likewise for root.
+
+2026-08-19  Richard Biener  <[email protected]>
+
+       * tree-vect-slp.cc (vect_slp_build_two_operator_nodes):
+       Set SLP_TREE_REPRESENTATIVE to NULL for the permute nodes.
+       (vect_build_slp_tree_2): Likewise.
+       (vect_build_slp_store_interleaving): Likewise.
+       (vect_lower_load_permutations): Likewise.
+       (vect_optimize_slp_pass::get_result_with_layout): Likewise.
+       (vect_cse_slp_node_parts): Deal with NULL SLP_TREE_REPRESENTATIVE
+       for VEC_PERM nodes.
+       (vect_slp_analyze_node_operations_1): Assert permute nodes
+       do not have SLP_TREE_REPRESENTATIVE set.
+       * tree-vect-slp-patterns.cc (complex_pattern::build): Adjust.
+       (vect_build_swap_evenodd_node): Do not set SLP_TREE_REPRESENTATIVE.
+       (vect_build_combine_node): Likewise.
+
+2026-08-19  Richard Biener  <[email protected]>
+
+       * tree-vect-slp.cc (vect_slp_node_weight): Get vinfo as
+       context.  For nodes without representative use the
+       region entry block.
+       (vect_optimize_slp_pass::start_choosing_layouts): Always
+       assign vertex weight.
+
+2026-08-19  Kyrylo Tkachov  <[email protected]>
+
+       PR target/126597
+       * config/aarch64/aarch64.cc (aarch64_expand_vec_perm_const_1): Swap
+       zero_op0_p and zero_op1_p along with the operands.
+
+2026-08-19  Richard Biener  <[email protected]>
+
+       PR ipa/126930
+       * tree-ssa-alias.cc (ptr_deref_may_alias_global_p): Guard
+       against non-pointers.
+       (ptr_deref_may_alias_auto_p): Likewise.
+
 2026-08-18  Andrew MacLeod  <[email protected]>
 
        PR tree-optimization/126856
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index a8e78f54d93c..7a23bbffaa7d 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20260819
+20260820
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index f2ba6a9c942f..e2eaae947be5 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,17 @@
+2026-08-19  Eric Botcazou  <[email protected]>
+
+       PR ada/126928
+       * sem_ch12.adb (In_Local_Package_Of_Formal_Package): New predicate.
+       (Analyze_Package_Instantiation): Do not register the instantiation
+       of the body if it is present in the local package of a formal one.
+       (Need_Subprogram_Instance_Body): Likewise.
+
+2026-08-19  Eric Botcazou  <[email protected]>
+
+       PR ada/126907
+       * sem_attr.adb (Resolve_Attribute) <Attribute_Reduce>: Do not call
+       Relocate_Node on nodes of the original unanalyzed tree.
+
 2026-08-01  Eric Botcazou  <[email protected]>
 
        PR ada/126553
diff --git a/gcc/cobol/ChangeLog b/gcc/cobol/ChangeLog
index 2ba14b3ff0cb..99b55f40fb9a 100644
--- a/gcc/cobol/ChangeLog
+++ b/gcc/cobol/ChangeLog
@@ -1,3 +1,47 @@
+2026-08-19  James K. Lowden  <[email protected]>
+
+       * parse_ante.h (in_procedure_division): Position alphabetically.
+       (in_identification_division): New function.
+       (in_file_section): Remove void argument declaration.
+       * scan.l: Add TITLE pattern and accept as NAME outside ID Division.
+       * scan_ante.h (in_procedure_division): Remove void argument declaration.
+       (in_environment_division): Same.
+       (in_identification_division): Declare new function.
+
+2026-08-19  Robert Dubner  <[email protected]>
+           James K. Lowden  <[email protected]>
+
+       * cdf.y: Revise debug message and token numbers.  Remove USED_TOKEN
+       macro, introduce SAVE_LOOKAHEAD.
+       * gengen.cc (class DECL_COUNTER): Add VAR_DECL creation counter.
+       (gg_define_from_declaration): Likewise.
+       * parse.y: Move named XML tokens to first token list and recognize
+       FILLER.
+       * scan.l: Eliminate scan used for debug message.
+       * scan_ante.h (level_found): Remove function.
+       (PUSH_CDF_STATE): Push cdf_state SC at most once.
+       (trim_location): Less verbose debug message.
+       (symbol_lower_name): New function.
+       (symbol_exists): Use symbol_lower_name and accept override parameter.
+       (scanner_cache_update):  New function.
+       (unquote):  New function for string literals.
+       * scan_post.h (start_condition_str):  Update with new SC names.
+       (run_cdf): Do not pop from cdf_state unconditionally.
+       (RECENT): Remove macro.
+       (same_end): Remove function.
+       (same_token): Same.
+       (next_token): Same.
+       (prelex): Use cdf::last_lexed and cdf::had_lookahead().
+       (yylex): Remove one early return.
+       * symbols.cc (symbol_program): Use new map of programs.
+       (symbol_function_impl): Use new map of functions.
+       (symbol_temporaries): Use new list of alphanumerics.
+       (symbol_temporary_alphanumerics): New class to house alphanumerics
+       list.
+       (symbol_program_add): Populate new maps.
+       * token_names.h: Regenerate.
+       * util.cc (cdf_field_add):  Use scanner_cache_update.
+
 2026-08-17  Robert Dubner  <[email protected]>
 
        * cdf.y: Revert changes.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index b50649baef6b..2f4168c5c6f5 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,28 @@
+2026-08-19  Marek Polacek  <[email protected]>
+
+       * reflect.cc (check_splice_expr): Reject splicing a direct base
+       class relationship without an object.
+
+2026-08-19  Jakub Jelinek  <[email protected]>
+
+       PR c++/126918
+       * constexpr.cc (class constexpr_global_ctx): Extend description of
+       caught_exceptions vector.
+       (cxx_eval_cxa_builtin_fn): When catching a pointer-to-member and
+       the current exception is nullptr or pointer-to-member with different
+       type, create a temporary, initialize it from the exception value and
+       return address of it.  Make sure to free these temporaries at
+       __cxa_end_catch time.
+       * call.cc (handler_match_for_exception_type): Allow NULLPTR_TYPE
+       exception type or different pointer-to-member type even for
+       TYPE_PTRMEMFUNC_P types, not just TYPE_PTRDATAMEM_P types.
+
+2026-08-19  Eczbek  <[email protected]>
+
+       PR c++/70097
+       * decl.cc (grokdeclarator): If rqual is REF_QUAL_NONE, set it to
+       result of type_memfn_rqual before passing to build_memfn_type.
+
 2026-08-18  Jakub Jelinek  <[email protected]>
 
        PR c++/126867
diff --git a/gcc/m2/ChangeLog b/gcc/m2/ChangeLog
index f3cd33a6c6be..df7bb37239f6 100644
--- a/gcc/m2/ChangeLog
+++ b/gcc/m2/ChangeLog
@@ -1,3 +1,18 @@
+2026-08-19  Gaius Mulley  <[email protected]>
+
+       PR modula2/126911
+       * tools-src/mktargetsrc.py (safeRemove): New function.
+       (quietSystem): Call safeRemove for temporaryFile and
+       args.outputfile.
+
+2026-08-19  Gaius Mulley  <[email protected]>
+
+       PR modula2/126911
+       * tools-src/mktargetsrc.py (quietSystem): Add temporaryFile
+       parameter.
+       Tidy up if result is non zero by removing temporaryFile
+       and args.outputfile.
+
 2026-08-12  Gaius Mulley  <[email protected]>
 
        PR modula2/125129
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8859600ae0f8..7593552c1c65 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,235 @@
+2026-08-19  H.J. Lu  <[email protected]>
+
+       PR testsuite/126923
+       * gcc.target/i386/pr125436-1a.c (dg-options): Add -mno-avx.
+       * gcc.target/i386/pr125436-1b.c (dg-options): Likewise.
+       * gcc.target/i386/pr125436-2a.c (dg-options): Likewise.
+       * gcc.target/i386/pr125436-2b.c (dg-options): Likewise.
+       * gcc.target/i386/pr125436-3.c (dg-options): Likewise.
+       * gcc.target/i386/pr125436-4.c (dg-options): Likewise.
+
+2026-08-19  H.J. Lu  <[email protected]>
+
+       PR testsuite/126923
+       * gcc.target/i386/builtin-copysign-4.c (dg-options): Add
+       -mtune-ctrl=^sse_packed_single_insn_optimal.
+       * gcc.target/i386/builtin-copysign-5.c (dg-options): Likewise.
+       * gcc.target/i386/builtin-copysign-6.c (dg-options): Likewise.
+       * gcc.target/i386/builtin-copysign-7.c (dg-options): Likewise.
+       * gcc.target/i386/builtin-copysign-8a.c (dg-options): Likewise.
+
+2026-08-19  H.J. Lu  <[email protected]>
+
+       PR testsuite/126923
+       * gcc.target/i386/sse2-shiftqihi-constant-1.c (dg-options): Add
+       -mno-gfni.
+
+2026-08-19  H.J. Lu  <[email protected]>
+
+       PR testsuite/126923
+       * gcc.target/i386/avx512bw-shiftqihi-constant-1.c (dg-options):
+       Add -mno-gfni.
+
+2026-08-19  H.J. Lu  <[email protected]>
+
+       PR testsuite/126923
+       * gcc.target/i386/avx2-shiftqihi-constant-1.c (dg-options): Add
+       -mno-gfni.
+
+2026-08-19  H.J. Lu  <[email protected]>
+
+       PR testsuite/126923
+       * gcc.target/i386/abi-mix-1.c (dg-options): Add -mno-avx.
+
+2026-08-19  Konstantinos Eleftheriou  <[email protected]>
+           Philipp Tomsich  <[email protected]>
+
+       PR tree-optimization/107090
+       PR tree-optimization/126642
+       * gcc.dg/torture/long-mul-64-run.c: Add near-miss variants of the
+       idiom, cross-checked against their literal meaning.
+       * gcc.dg/tree-ssa/long-mul-carry.c: Add scans for the high-part
+       chain lowering and its dump message. Exclude sparc/hppa from
+       the chain-lowering scan.
+       * gcc.dg/tree-ssa/long-mul-ladder.c: Likewise.
+       * lib/target-supports.exp (check_effective_target_oi_mode): New;
+       enumerates targets whose mode table declares OImode.
+       * gcc.dg/long-mul-128-Og.c: New test.
+       * gcc.dg/torture/long-mul-128.c: New test.
+       * gcc.dg/tree-ssa/long-mul-chain-cse-128.c: New test.
+       * gcc.dg/tree-ssa/long-mul-chain-trunc-128.c: New test.
+       * gcc.target/arm/long-mul-thumb1-inline.c: New test.
+       * gcc.target/arm/long-mul-umull.c: New test.
+       * gcc.target/i386/long-mul-phi-split.c: New test.
+       * gcc.target/i386/long-mul-sweep.c: New test.
+       * gcc.target/i386/widen_mult_high_chain.c: New test.
+
+2026-08-19  Konstantinos Eleftheriou  <[email protected]>
+           Philipp Tomsich  <[email protected]>
+
+       PR tree-optimization/107090
+       * gcc.dg/tree-ssa/long-mul-carry.c: Add PHI-form CARRY_LOW_SUM,
+       CARRY_CROSS_SUM, and negated-branch compile variants; split the
+       forwprop1 high-part fold count into 10 on int128 and 8 on !int128.
+       * gcc.dg/tree-ssa/long-mul-two-carry.c: Add the
+       mulh_two_carry_low_phi function and its forwprop3 high-part
+       (carry PHI) fold scan.
+       * gcc.dg/tree-ssa/long-mul-boundary-64.c: New test.
+       * gcc.dg/tree-ssa/long-mul-boundary.c: New test.
+       * gcc.dg/tree-ssa/long-mul-partial.c: New test.
+
+2026-08-19  Konstantinos Eleftheriou  <[email protected]>
+
+       PR tree-optimization/107090
+       * gcc.dg/tree-ssa/long-mul-two-carry.c: Add a forwprop4 LOW
+       fold expectation for full_mul_two_carry, deferred from
+       forwprop3 by long_mul_check_low_plus_defer.
+       * gcc.dg/tree-ssa/long-mul-low-plus.c: New test.
+
+2026-08-19  Konstantinos Eleftheriou  <[email protected]>
+
+       PR tree-optimization/107090
+       * gcc.target/aarch64/long_mul.c: Add mulh_ladder and
+       mulh_ladder_32 functions; bump expected umulh / umull
+       scan counts from 1 to 2.
+       * gcc.target/i386/long_mul.c: Same for mulq / imulq.
+       * gcc.dg/tree-ssa/long-mul-ladder.c: New test.
+
+2026-08-19  Konstantinos Eleftheriou  <[email protected]>
+
+       PR tree-optimization/107090
+       * gcc.dg/tree-ssa/long-mul-two-carry.c: New test.
+
+2026-08-19  Konstantinos Eleftheriou  <[email protected]>
+
+       PR tree-optimization/107090
+       * gcc.dg/tree-ssa/long-mul-carry.c: Add carry-low-sum
+       coverage (mulh_carry_low_sum, full_mul_carry_low_sum,
+       mulh_carry_low_sum_comm, mulh_carry_low_sum_lohi,
+       mulh_carry_low_sum_128, mulh_carry_low_sum_v2i32) and
+       update fold counts.
+
+2026-08-19  Konstantinos Eleftheriou  <[email protected]>
+           Philipp Tomsich  <[email protected]>
+
+       PR tree-optimization/107090
+       * gcc.dg/torture/long-mul-64-run.c: New test.
+       * gcc.dg/tree-ssa/long-mul-carry.c: New test.
+       * gcc.dg/tree-ssa/long-mul-extra-addend.c: New test.
+       * gcc.target/aarch64/long_mul.c: New test.
+       * gcc.target/i386/long_mul.c: New test.
+
+2026-08-19  Marek Polacek  <[email protected]>
+
+       * g++.dg/reflect/mangle3.C: Adjust.
+       * g++.dg/reflect/splice1.C: Remove XFAIL.
+
+2026-08-19  Torbjörn SVENSSON  <[email protected]>
+
+       * gcc.target/arm/cmse/cmse-18.c: Use effective-target
+       arm_arch_v8m_main.
+       * gcc.target/arm/cmse/cmse-19.c: Use effective-target
+       arm_arch_v8_1m_mve.
+       * lib/target-supports.exp: Define effective-target
+       arm_arch_v8m_main.
+
+2026-08-19  Andrea Pinski  <[email protected]>
+
+       PR tree-optimization/126934
+       * gcc.dg/torture/pr126934-1.c: New test.
+
+2026-08-19  Kyrylo Tkachov  <[email protected]>
+
+       * gcc.target/aarch64/vect-sat-trunc-1.c: New test.
+       * gcc.target/aarch64/vect-sat-trunc-2.c: New test.
+
+2026-08-19  Kyrylo Tkachov  <[email protected]>
+
+       * gcc.target/aarch64/cmpdi-neg-1.c: New test.
+
+2026-08-19  Kyrylo Tkachov  <[email protected]>
+
+       PR tree-optimization/125557
+       * gcc.target/i386/ifcvt-average-cost-1.c: New test.
+
+2026-08-19  Eric Botcazou  <[email protected]>
+
+       * gnat.dg/specs/generic_inst10.ads: New test.
+       * gnat.dg/specs/generic_inst10_g1.ads: New helper.
+       * gnat.dg/specs/generic_inst10_g2.ads: Likewise.
+       * gnat.dg/specs/generic_inst10_g3.ads: Likewise.
+       * gnat.dg/specs/generic_inst10_pkg.ads: Likewise.
+
+2026-08-19  Eric Botcazou  <[email protected]>
+
+       * gnat.dg/reduce7.adb: New test.
+
+2026-08-19  Iain Sandoe  <[email protected]>
+
+       * g++.dg/ext/sync-4.C: Adjust XFAIL to reflect that this issue
+       is now fixed on modern Darwin.
+
+2026-08-19  Iain Sandoe  <[email protected]>
+
+       * g++.dg/lto/pr86585_0.C: Add -dylib0.o for Darwin8/9.
+       * g++.dg/lto/pr87906_0.C: Likewise.
+
+2026-08-19  H.J. Lu  <[email protected]>
+
+       PR middle-end/126784
+       * g++.dg/tree-ssa/vec-narrow-1.C: Remove -Wno-psabi.  Add -msse4
+       and require int128 for x86.
+       * g++.dg/tree-ssa/vec-narrow-minmax-2.C: Likewise.
+
+2026-08-19  Richard Biener  <[email protected]>
+
+       PR tree-optimization/126936
+       * gcc.dg/vect/bb-slp-pr126936.c: New testcase.
+
+2026-08-19  H.J. Lu  <[email protected]>
+
+       PR testsuite/126927
+       * gcc.target/x86_64/abi/ms-sysv/do-test.S (call_do_test_unaligned):
+       New.
+       * gcc.target/x86_64/abi/ms-sysv/gen.cc (make_do_tests_decl):
+       Replace do_test_unaligned with call_do_test_unaligned.
+       (make_do_test): Remove asm statements with stack adjustment.
+
+2026-08-19  H.J. Lu  <[email protected]>
+
+       PR testsuite/126923
+       * gcc.target/i386/xorps-sse2.c (dg-options): Add
+       -mtune-ctrl=^sse_packed_single_insn_optimal.
+
+2026-08-19  H.J. Lu  <[email protected]>
+
+       PR testsuite/126923
+       * gcc.target/i386/xop-pcmov3.c (dg-options): Replace -mno-avx512vl
+       with -mno-avx512f.
+
+2026-08-19  H.J. Lu  <[email protected]>
+
+       PR testsuite/126923
+       * gcc.target/i386/zero-scratch-regs-29.c (dg-options): Add
+       -mtune-ctrl=^use_ffreep.
+       * gcc.target/i386/zero-scratch-regs-30.c (dg-options): Likewise.
+
+2026-08-19  Kyrylo Tkachov  <[email protected]>
+
+       PR target/126597
+       * gcc.target/aarch64/pr126597.c: New test.
+
+2026-08-19  Jakub Jelinek  <[email protected]>
+
+       PR c++/126918
+       * g++.dg/cpp26/constexpr-eh24.C: New test.
+       * g++.dg/cpp26/constexpr-eh25.C: New test.
+
+2026-08-19  Eczbek  <[email protected]>
+
+       PR c++/70097
+       * g++.dg/cpp0x/ref-qual22.C: New test.
+
 2026-08-18  Andrew MacLeod  <[email protected]>
 
        PR tree-optimization/126856
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 4a71ab07f19d..d5e276fa4859 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,10 @@
+2026-08-19  Kyrylo Tkachov  <[email protected]>
+
+       PR target/126935
+       * lex.cc (HWCAP_SVE): Define if not already defined.
+       (init_vectorized_lexer): Require HWCAP_SVE as well as
+       HWCAP2_SVE2.
+
 2026-08-13  Kyrylo Tkachov  <[email protected]>
 
        * configure.ac: Test whether the AArch64 SVE2 lexer can be built.
diff --git a/libgcobol/ChangeLog b/libgcobol/ChangeLog
index 2c891fc96c67..074f3fcdf148 100644
--- a/libgcobol/ChangeLog
+++ b/libgcobol/ChangeLog
@@ -1,3 +1,10 @@
+2026-08-19  Robert Dubner  <[email protected]>
+           James K. Lowden  <[email protected]>
+
+       * posix/README.md: Updated documentation.
+       * posix/shim/open.cc (posix_open): Remove O_LARGEFILE from POSIX
+       mode flags.
+
 2026-08-12  Robert Dubner  <[email protected]>
 
        * charmaps.h (ascii_at): New define for '@',
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 21dc169aa37d..d2211a924b3d 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,124 @@
+2026-08-19  Tomasz Kamiński  <[email protected]>
+
+       * include/bits/stl_stack.h (std::stack): Declare members as
+       _GLIBCXX26_CONSTEXPR.
+       (std::operator==, std::operator!=, std::operator<, std::operator>)
+       (std::operator<=, std::operator>=, std::operator<=>, std::swap):
+       Declare as _GLIBCXX26_CONSTEXPR.
+       * include/bits/version.def (constexpr_stack): Define.
+       * include/bits/version.h: Regenerate.
+       * include/std/stack (__cpp_lib_constexpr_stack): Define.
+       * (formatter<stack<....>, _CharT>::format)
+       [__glibcxx_constexpr_format]: Declare as constexpr.
+       * testsuite/23_containers/headers/stack/synopsis.cc:
+       Update declarations.
+       * testsuite/std/format/ranges/adaptors.cc: Expand test to stack.
+       * testsuite/23_containers/stack/constexpr.cc: New test derived
+       from 23_containers/queue/constexpr.cc.
+
+2026-08-19  Tomasz Kamiński  <[email protected]>
+
+       * include/bits/print.h (_File_sink::_File::_M_init_write_buf):
+       Fix whitespace and pass errno directly to __throw_system_error.
+
+2026-08-19  Anlai Lu  <[email protected]>
+           Tomasz Kamiński  <[email protected]>
+
+       * include/bits/print.h (_File_sink::_File::_File)
+       [_GLIBCXX_USE_STDIO_LOCKING && _GLIBCXX_USE_GLIBC_STDIO_EXT]:
+       Move __overflow call to separate member function.
+       (_File_sink::_File::_M_init_write_buf)
+       [_GLIBCXX_USE_STDIO_LOCKING && _GLIBCXX_USE_GLIBC_STDIO_EXT]:
+       Extracted from constructor, call __overflow for null
+       _M_file->_IO_write_ptr.
+       (_File_sink::_File_sink)
+       [_GLIBCXX_USE_STDIO_LOCKING && _GLIBCXX_USE_GLIBC_STDIO_EXT]:
+       Call _M_init_write_buf instead of _M_write_buf.
+       * testsuite/27_io/print/1.cc: Add test_print_setvbuf.
+
+2026-08-19  Tomasz Kamiński  <[email protected]>
+
+       * include/bits/random.h (std::__rotr, std::__rotl, std::__bit_ceil):
+       [__cplusplus >= 201103L]: Define as _GLIBCXX14_CONSTEXPR.
+       (std::__countl_zero, std::__countr_zero, std::__popcount)
+       [__cplusplus >= 201103L]: Split implementation using generic
+       builtin, define other as _GLIBCXX14_CONSTEXPR.
+       (std::__bit_width, std::__bit_floor) [__cplusplus >= 201103L]:
+       Modify to use single return statement.
+       * include/bits/random.tcc (std::__countl_zero, std::__countr_zero)
+       (std::__popcount, std::__bit_width): Define explicit specializations
+       for __detail::__rand_uint128.
+       * include/std/bit (std::__generate_canonical_pow2)
+       (std::__generate_canonical_any): Replace builtins call with
+       <bit> function calls.
+
+2026-08-19  Tomasz Kamiński  <[email protected]>
+           Thor Preimesberger  <[email protected]>
+
+       * include/bits/deque.tcc (deque): Declare out of line member
+       defintions as _GLIBCXX26_CONSTEXPR.
+       (std::__fill_a1, std::__copy_move_dit, std::__copy_move_a1)
+       (std::__copy_move_a2, std::__copy_n_a)
+       (std::__copy_move_backward_dit, std::__copy_move_backward_a1)
+       (std::__equal_dit, std::__equal_aux1, std::__lex_cmp_dit)
+       (std::__lexicographical_compare_aux1, std::__uninitialized_copy_a)
+       (std::__uninitialized_move_a): Declare as _GLIBCXX26_CONSTEXPR.
+       * include/bits/stl_algobase.h (std::__fill_a1, std::__copy_n_a)
+       (std::__copy_move_a1, std::__copy_move_backward_a1)
+       (std::__equal_aux1, __lexicographical_compare_aux1): Declare
+       overloads accepting _Deque_iterator as _GLIBCXX26_CONSTEXPR.
+       * include/bits/stl_deque.h (std::_Deque_iterator, std::_Deque_base)
+       (std::deque): Declare members as _GLIBCXX26_CONSTEXPR.
+       (std::operator==, std::operator<=>, std::swap): Declare as
+       _GLIBCXX26_CONSTEXPR.
+       * include/bits/stl_queue.h (std::queue): Declare members as
+       _GLIBCXX26_CONSTEXPR.
+       (std::priority_queue): Make _GLIBCXX26_CONSTEXPR placement
+       consistient.
+       (std::operator==, std::operator!=, std::operator<, std::operator>)
+       (std::operator<=, std::operator>=, std::operator<=>, std::swap):
+       Declare as _GLIBCXX26_CONSTEXPR.
+       * include/bits/stl_uninitialized.h (std::__uninitialized_copy_a):
+       Declare overloads accepting _Deque_iterator as _GLIBCXX26_CONSTEXPR.
+       (std::__uninitialized_default_a): Declare as _GLIBCXX20_CONSTEXPR.
+       * include/bits/version.def (constexpr_deque, constexpr_queue):
+       Define.
+       * include/bits/version.h: Regenerate.
+       * include/debug/deque (__debug::deque): Declare members as
+       _GLIBCXX26_CONSTEXPR.
+       (__debug::operator==, __debug::operator<=>, __debug::swap)
+       (__debug::erase, __debug::__erase_if): Declare as
+       _GLIBCXX26_CONSTEXPR.
+       * include/std/deque (__cpp_lib_constexpr_deque): Define.
+       (std::erase, std::erase_if): Declare as _GLIBCXX26_CONSTEXPR.
+       * include/std/queue (__cpp_lib_constexpr_queue): Define.
+       (_GLIBCXX_CONSTEXPR_FORMAT): Define locally.
+       (std::formatter<priority_queue<...>, _CharT>::format)
+       (std::formatter<queue<...>, _CharT>::format): Declare as
+       _GLIBCXX_CONSTEXPR_FORMAT.
+       * testsuite/23_containers/deque/constexpr.cc: New test.
+       * testsuite/23_containers/headers/deque/synopsis.cc: Update
+       declarations.
+       * testsuite/23_containers/headers/queue/synopsis.cc: Likewise.
+       * testsuite/23_containers/queue/constexpr.cc: New test.
+       * testsuite/23_containers/priority_queue/constexpr.cc: Replace
+       existing test with expanded suite.
+       * testsuite/std/format/ranges/adaptors.cc: Test at compile
+       time.
+
+2026-08-19  Yuao Ma  <[email protected]>
+
+       * include/bits/stl_algo.h (__for_each): Add segemented
+       iterators logic. Split out naive for-loop from ...
+       (for_each): ... here.
+       * testsuite/performance/25_algorithms/for_each.cc: New test.
+
+2026-08-19  Matthias Kretz  <[email protected]>
+
+       * include/bits/simd_vec.h (_M_elements_shifted_to_front): Remove
+       x86-specific implementation.
+       * testsuite/std/simd/traits_impl.cc: Fix incorrect macro name.
+
 2026-08-18  Jonathan Wakely  <[email protected]>
 
        PR libstdc++/126786

Reply via email to