[gcc r17-3451] Daily bump.
GCC Administrator
gccadmin@gcc.gnu.org
Thu Aug 20 00:17:15 GMT 2026
https://gcc.gnu.org/g:ff56b86a447e20866d9f81fac209b5ad660cb880
commit r17-3451-gff56b86a447e20866d9f81fac209b5ad660cb880
Author: GCC Administrator <gccadmin@gcc.gnu.org>
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 <claudio.bantaloukas@arm.com>
+
+ PR other/126226
+ * .gitignore: Ignore python eggs.
+ * pyproject.toml: New file.
+
+2026-08-19 Longjun Luo <luolongjuna@gmail.com>
+
+ * MAINTAINERS.yml: Add myself.
+ * MAINTAINERS (Write After Approval): Regenerate.
+ (Contributing under the DCO): Regenerate.
+
2026-08-18 Richard Earnshaw <rearnsha@arm.com>
* 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 <rearnsha@arm.com>
+
+ * add-write-after.py (getuserdata): Also capture an optional
+ forge ID.
+
2026-08-18 Richard Earnshaw <rearnsha@arm.com>
* 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 <konstantinos.eleftheriou@vrull.eu>
+ Philipp Tomsich <philipp.tomsich@vrull.eu>
+
+ 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 <konstantinos.eleftheriou@vrull.eu>
+ Philipp Tomsich <philipp.tomsich@vrull.eu>
+
+ 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 <konstantinos.eleftheriou@vrull.eu>
+
+ 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 <konstantinos.eleftheriou@vrull.eu>
+
+ 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 <konstantinos.eleftheriou@vrull.eu>
+
+ 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 <konstantinos.eleftheriou@vrull.eu>
+
+ 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 <konstantinos.eleftheriou@vrull.eu>
+ Philipp Tomsich <philipp.tomsich@vrull.eu>
+
+ 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 <andrew.pinski@oss.qualcomm.com>
+
+ 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 <ktkachov@nvidia.com>
+
+ * 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 <alice.carlotti@arm.com>
+
+ * config/aarch64/aarch64-sys-regs.def: Sync from Binutils.
+
+2026-08-19 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/darwin.h (LINK_COMMAND_SPEC_A): Synchronise the
+ options for coverage with gcc/gcc.cc.
+
+2026-08-19 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * config/aarch64/aarch64-simd.md (aarch64_cm<optab>di): Accept a
+ zero second operand in the general register alternative.
+
+2026-08-19 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ 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 <ktkachov@nvidia.com>
+
+ * 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 <rguenther@suse.de>
+
+ * tree-vect-slp.cc (vect_build_slp_instance): Remove dead code.
+ (vect_analyze_slp_instance): Likewise.
+
+2026-08-19 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-slp.cc (vect_print_slp_tree): Dump the scheduling
+ point, if set.
+
+2026-08-19 Richard Biener <rguenther@suse.de>
+
+ * 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 <rguenther@suse.de>
+
+ 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 <rguenther@suse.de>
+
+ * 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 <rguenther@suse.de>
+
+ * 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 <ktkachov@nvidia.com>
+
+ 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 <rguenther@suse.de>
+
+ 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 <amacleod@redhat.com>
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 <ebotcazou@adacore.com>
+
+ 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 <ebotcazou@adacore.com>
+
+ 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 <ebotcazou@adacore.com>
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 <jklowden@cobolworx.com>
+
+ * 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 <rdubner@symas.com>
+ James K. Lowden <jklowden@cobolworx.com>
+
+ * 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 <rdubner@symas.com>
* 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 <polacek@redhat.com>
+
+ * reflect.cc (check_splice_expr): Reject splicing a direct base
+ class relationship without an object.
+
+2026-08-19 Jakub Jelinek <jakub@redhat.com>
+
+ 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 <eczbek.void@gmail.com>
+
+ 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 <jakub@redhat.com>
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 <gaiusmod2@gmail.com>
+
+ PR modula2/126911
+ * tools-src/mktargetsrc.py (safeRemove): New function.
+ (quietSystem): Call safeRemove for temporaryFile and
+ args.outputfile.
+
+2026-08-19 Gaius Mulley <gaiusmod2@gmail.com>
+
+ 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 <gaiusmod2@gmail.com>
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 <hjl.tools@gmail.com>
+
+ 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 <hjl.tools@gmail.com>
+
+ 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 <hjl.tools@gmail.com>
+
+ PR testsuite/126923
+ * gcc.target/i386/sse2-shiftqihi-constant-1.c (dg-options): Add
+ -mno-gfni.
+
+2026-08-19 H.J. Lu <hjl.tools@gmail.com>
+
+ PR testsuite/126923
+ * gcc.target/i386/avx512bw-shiftqihi-constant-1.c (dg-options):
+ Add -mno-gfni.
+
+2026-08-19 H.J. Lu <hjl.tools@gmail.com>
+
+ PR testsuite/126923
+ * gcc.target/i386/avx2-shiftqihi-constant-1.c (dg-options): Add
+ -mno-gfni.
+
+2026-08-19 H.J. Lu <hjl.tools@gmail.com>
+
+ PR testsuite/126923
+ * gcc.target/i386/abi-mix-1.c (dg-options): Add -mno-avx.
+
+2026-08-19 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu>
+ Philipp Tomsich <philipp.tomsich@vrull.eu>
+
+ 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 <konstantinos.eleftheriou@vrull.eu>
+ Philipp Tomsich <philipp.tomsich@vrull.eu>
+
+ 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 <konstantinos.eleftheriou@vrull.eu>
+
+ 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 <konstantinos.eleftheriou@vrull.eu>
+
+ 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 <konstantinos.eleftheriou@vrull.eu>
+
+ PR tree-optimization/107090
+ * gcc.dg/tree-ssa/long-mul-two-carry.c: New test.
+
+2026-08-19 Konstantinos Eleftheriou <konstantinos.eleftheriou@vrull.eu>
+
+ 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 <konstantinos.eleftheriou@vrull.eu>
+ Philipp Tomsich <philipp.tomsich@vrull.eu>
+
+ 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 <polacek@redhat.com>
+
+ * g++.dg/reflect/mangle3.C: Adjust.
+ * g++.dg/reflect/splice1.C: Remove XFAIL.
+
+2026-08-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
+
+ * 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 <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/126934
+ * gcc.dg/torture/pr126934-1.c: New test.
+
+2026-08-19 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ * 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 <ktkachov@nvidia.com>
+
+ * gcc.target/aarch64/cmpdi-neg-1.c: New test.
+
+2026-08-19 Kyrylo Tkachov <ktkachov@nvidia.com>
+
+ PR tree-optimization/125557
+ * gcc.target/i386/ifcvt-average-cost-1.c: New test.
+
+2026-08-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * 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 <ebotcazou@adacore.com>
+
+ * gnat.dg/reduce7.adb: New test.
+
+2026-08-19 Iain Sandoe <iain@sandoe.co.uk>
+
+ * g++.dg/ext/sync-4.C: Adjust XFAIL to reflect that this issue
+ is now fixed on modern Darwin.
+
+2026-08-19 Iain Sandoe <iain@sandoe.co.uk>
+
+ * 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 <hjl.tools@gmail.com>
+
+ 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 <rguenther@suse.de>
+
+ PR tree-optimization/126936
+ * gcc.dg/vect/bb-slp-pr126936.c: New testcase.
+
+2026-08-19 H.J. Lu <hjl.tools@gmail.com>
+
+ 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 <hjl.tools@gmail.com>
+
+ 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 <hjl.tools@gmail.com>
+
+ PR testsuite/126923
+ * gcc.target/i386/xop-pcmov3.c (dg-options): Replace -mno-avx512vl
+ with -mno-avx512f.
+
+2026-08-19 H.J. Lu <hjl.tools@gmail.com>
+
+ 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 <ktkachov@nvidia.com>
+
+ PR target/126597
+ * gcc.target/aarch64/pr126597.c: New test.
+
+2026-08-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/126918
+ * g++.dg/cpp26/constexpr-eh24.C: New test.
+ * g++.dg/cpp26/constexpr-eh25.C: New test.
+
+2026-08-19 Eczbek <eczbek.void@gmail.com>
+
+ PR c++/70097
+ * g++.dg/cpp0x/ref-qual22.C: New test.
+
2026-08-18 Andrew MacLeod <amacleod@redhat.com>
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 <ktkachov@nvidia.com>
+
+ 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 <ktkachov@nvidia.com>
* 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 <rdubner@symas.com>
+ James K. Lowden <jklowden@cobolworx.com>
+
+ * posix/README.md: Updated documentation.
+ * posix/shim/open.cc (posix_open): Remove O_LARGEFILE from POSIX
+ mode flags.
+
2026-08-12 Robert Dubner <rdubner@symas.com>
* 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 <tkaminsk@redhat.com>
+
+ * 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 <tkaminsk@redhat.com>
+
+ * 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 <agicy@qq.com>
+ Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * 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 <tkaminsk@redhat.com>
+
+ * 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 <tkaminsk@redhat.com>
+ Thor Preimesberger <tcpreimesberger@gmail.com>
+
+ * 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 <c8ef@outlook.com>
+
+ * 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 <m.kretz@gsi.de>
+
+ * 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 <jwakely@redhat.com>
PR libstdc++/126786
More information about the Libstdc++-cvs
mailing list