[gcc r17-3451] Daily bump.
GCC Administrator via Gcc-cvs <[email protected]>
| Newsgroups | gmane.comp.gcc.cvs |
|---|---|
| Message-ID | <[email protected]> |
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