https://gcc.gnu.org/g:31d967232a9331ad72571da27550b2f5d7d38523
commit r17-2132-g31d967232a9331ad72571da27550b2f5d7d38523 Author: GCC Administrator <[email protected]> Date: Sat Jul 4 00:16:37 2026 +0000 Daily bump. Diff: --- gcc/ChangeLog | 136 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/cp/ChangeLog | 32 ++++++++++++ gcc/fortran/ChangeLog | 15 ++++++ gcc/objc/ChangeLog | 19 +++++++ gcc/testsuite/ChangeLog | 92 ++++++++++++++++++++++++++++++++ libssp/ChangeLog | 6 +++ libstdc++-v3/ChangeLog | 60 +++++++++++++++++++++ 8 files changed, 361 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 426d31c9ed3f..01bdbc4fd2d6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,139 @@ +2026-07-03 Philipp Tomsich <[email protected]> + + PR tree-optimization/122569 + * match.pd (clz_msb_iso_table_index): New match pattern. + * tree-ssa-forwprop.cc (gimple_clz_msb_iso_table_index): Declare. + (simplify_count_zeroes): Recognize the new pattern; route its + table validation through the CTZ checkfn. Relax the element + type check to accept integer types up to 64 bits. + +2026-07-03 Philipp Tomsich <[email protected]> + + * match.pd (msb_or_cascade_32, msb_or_cascade_64): New match + helpers. + (clz_table_index): Rewrite the 32-bit and 64-bit forms to use + the cascade helpers. + +2026-07-03 Andrew Pinski <[email protected]> + + PR tree-optimization/106164 + PR tree-optimization/126042 + PR tree-optimization/94589 + * fold-const.cc (combine_comparisons): Split into + 2 versions. Also handle BIT_AND_EXPR and BIT_IOR_EXPR. + * fold-const.h (combine_comparisons): New declaration. + * match.pd (`(a CMP1 b) BITOP (a CMP2 b)`): New pattern. + +2026-07-03 Georg-Johann Lay <[email protected]> + + * config/avr/avr.cc (avr_out_plus_1): Handle +/-1 on the + lower regs without needing a scratch. + * config/avr/avr.md (add<mode>3_clobber, *add<mode>3_clobber) + (add<mode>3, *add<mode>3, addpsi3, *addpsi3): Add constraint + alternative "Y01 Ym1" for +/-1 without scratch. + +2026-07-03 Jeff Law <[email protected]> + + * config/riscv/riscv.cc (synthesize_add): Utilize shNadd.uw when + appropriate. + +2026-07-03 Jeff Law <[email protected]> + + * config/riscv/riscv.cc (and_synthesis): Use riscv_integer_cost rather + than riscv_const_insns. Use rotate+clear_bits+rotate when useful. + +2026-07-03 Richard Biener <[email protected]> + + * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Make + profitabilty decision easier to debug. + +2026-07-03 Naveen <[email protected]> + + PR tree-optimization/102202 + * tree-call-cdce.cc: Include "tree-ssanames.h", "gimple-fold.h". + (len_has_boolean_range_p): New function. + (can_shrink_wrap_len_p): New function. + (gen_zero_len_conditions): New function. + (shrink_wrap_len_call): New function. + (shrink_wrap_conditional_dead_built_in_calls): Dispatch to + shrink_wrap_one_memset_call for memset calls eligible for the [0, 1] + length transform, ahead of the generic LHS and range-test paths. + (pass_call_cdce::execute): Collect memset calls satisfying + can_shrink_wrap_memset_p as shrink-wrap candidates. + +2026-07-03 Kyrylo Tkachov <[email protected]> + + PR target/120027 + * config/aarch64/aarch64-sve-builtins-base.cc (svext_bhw_impl::fold): + New member function. Fold the unsigned svextb/svexth/svextw + intrinsics to a bitwise AND when the merging form has an all-true + predicate. + +2026-07-03 Tamar Christina <[email protected]> + Chris Bazley <[email protected]> + + * expr.cc (store_constructor): Handle VLA vec_init support and generic + fall through piecewise copy. + * doc/md.texi: Document change + +2026-07-03 Jeff Law <[email protected]> + + * config/riscv/riscv.cc (synthesize_ior_xor): Use riscv_integer_cost + rather than riscv_const_insns. + +2026-07-03 Oleg Endo <[email protected]> + + * config/sh/sh.opt.urls: Renegerate. + * config/vax/vax.opt.urls: Renegerate. + +2026-07-03 Oleg Endo <[email protected]> + + PR target/55212 + * config/sh/sh.opt (mlra): Ignore option but keep it around + for compatibility. + * config/sh/sh.cc (TARGET_LRA_P): Remove. + (sh_lra_p): Move definition ... + * config/sh/sh-protos.h (sh_lra_p): ... here. Always return true. + * doc/invoke.texi: Remove mention of -mlra for SH. + +2026-07-03 Oleg Endo <[email protected]> + + PR target/55212 + * config/sh/sh.md (movv2sf, movv2sf_i, unnamed splits): New patterns. + * config/sh/sh.cc (sh_hard_regno_mode_ok): Allow V2SF only in fp-regs. + (sh_max_mov_insn_displacement): Return 0 for any float mode. + +2026-07-03 Kaz Kojima <[email protected]> + + PR target/55212 + * config/sh/sh.md (extend<mode>si2_short_mem_disp_z): New + insn_and_split. + (extend<mode>si2): Use it for LRA. + (mov<mode>_store_mem_index, *mov<mode>_store_mem_index): New patterns. + (mov<mode>): Use it for LRA. + (movsf_ie_store_mem_index, movsf_ie_load_mem_index, + *movsf_ie_store_mem_inde, *movsf_ie_load_mem_index): New patterns. + (movsf): Use it for LRA. + +2026-07-03 Kaz Kojima <[email protected]> + + PR target/55212 + * config/sh/predicates.md (pc_relative_load_operand): New predicate. + * config/sh/sh-protos.h (sh_movsf_ie_ra_split_p): Remove. + (sh_movsf_ie_y_split_p): New proto. + (sh_movsf_ie_subreg_multiword_p): New proto. + * config/sh/sh.cc: (sh_movsf_ie_ra_split_p): Remove. + (sh_movsf_ie_y_split_p): New function. + (sh_movsf_ie_subreg_multiword_p): New function. + (broken_move): Take movsf_ie_ra into account for fldi cases. + * config/sh/sh.md (movdf_i4_F_z): New insn. + (movdf): Use it when expanding. + (movsf_ie_ra): Use define_insn instead of define_insn_and_split. + Adjust alternatives. + (movsf_ie_rffr): New insn_and_split. + (movsf_ie_F_z, movsf_ie_Q_z, movsf_ie_y): New insns. + (movsf): Use new patterns when expanding. + 2026-07-02 Pengfei Li <[email protected]> * config/aarch64/aarch64.cc diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index e0b5151540e1..d8351f019a66 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20260703 +20260704 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 30498bc352e7..8fb2873c9171 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,35 @@ +2026-07-03 Jakub Jelinek <[email protected]> + + PR c++/126057 + * decl.cc (cp_finish_decomp): Set assembler name to + <decomp> during error recovery whenever TREE_STATIC + rather than just DECL_NAMESPACE_SCOPE_P. + * pt.cc (tsubst_stmt): If tsubst_decomp_names fails, + set assembler name to <decomp>. + +2026-07-03 Jakub Jelinek <[email protected]> + + PR c++/125826 + * method.cc: Implement C++29 P2953R5 - Adding restrictions to + defaulted assignment operator functions. + (maybe_delete_defaulted_fn): For C++29, error instead of + deleting always, with the exception of F1 having parmtype + const C & and F2 having implicit_parmtype C & and no other + non-permitted changes. Move checks whether defaulted fn + should be deleted or ill-formed at all from defaulted_late_check + to this function. Also error for C++29 if + FUNCTION_RVALUE_QUALIFIED. + (defaulted_late_check): Call maybe_delete_defaulted_fn + unconditionally. + +2026-07-03 Jakub Jelinek <[email protected]> + + PR c++/126036 + * reflect.cc (get_range_elts): Avoid calling finish_compound_literal + when processing_template_decl, instead set *non_constant_p and + return NULL_TREE. + (process_metafunction): Likewise. + 2026-07-02 Marek Polacek <[email protected]> PR c++/125819 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 6e08adf7f638..063a77e9db0b 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,18 @@ +2026-07-03 Sandra Loosemore <[email protected]> + Tobias Burnus <[email protected]> + + * openmp.cc (resolve_omp_clauses_aff_dep_map_cache): Fix + indentation. + +2026-07-03 Mikael Morin <[email protected]> + + PR fortran/97592 + PR fortran/125998 + * trans-array.cc (gfc_conv_array_parameter): Always create a new + descriptor. Copy lbound and ubound from the original descriptor + using matching dimension indexes. Recalculate stride and + offset. + 2026-07-03 Jerry DeLisle <[email protected]> PR fortran/126018 diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index 99d0e1bbbb2e..35dd1911300a 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,22 @@ +2026-07-03 Iain Sandoe <[email protected]> + + PR objc/124260 + * objc-act.cc (objc_create_temporary_var, objc_build_struct, + synth_module_prologue, objc_build_internal_const_str_type, + objc_begin_catch_clause, objc_push_parm, synth_self_and_ucmd_args, + start_method_def, objc_start_function, + get_super_receiver): Use build_lang_decl for Objective-C++. + * objc-act.h (objc_build_decl): New. + * objc-gnu-runtime-abi-01.cc (gnu_runtime_01_initialize, + objc_add_static_instance, handle_class_ref): use build_lang_decl + for Objective-C++. + * objc-next-runtime-abi-01.cc (next_runtime_01_initialize, + next_runtime_abi_01_build_const_string_constructor): Likewise. + * objc-next-runtime-abi-02.cc (next_runtime_02_initialize, + next_runtime_abi_02_build_const_string_constructor): Likewise. + * objc-runtime-shared-support.cc (create_field_decl, + start_var_decl): Likewise. + 2026-06-28 Kevin Stefanov <[email protected]> PR middle-end/125274 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3bd58b482b58..0cd189245d59 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,95 @@ +2026-07-03 Philipp Tomsich <[email protected]> + + PR tree-optimization/122569 + * gcc.dg/tree-ssa/pr122569-3.c: New test. + +2026-07-03 Andrew Pinski <[email protected]> + + PR tree-optimization/106164 + PR tree-optimization/126042 + PR tree-optimization/94589 + * g++.dg/opt/pr94589-5a.C: New test. + * gcc.dg/pr94589-5.c: Explictly enable -ftrapping-math. + * gcc.dg/pr94589-5a.c: New test. + +2026-07-03 Jakub Jelinek <[email protected]> + + PR c++/126057 + * g++.dg/cpp2a/decomp11.C: New test. + +2026-07-03 Jakub Jelinek <[email protected]> + + PR c++/125826 + * g++.dg/cpp0x/defaulted51.C: Adjust expected diagnostics + for C++29. + * g++.dg/cpp0x/defaulted55.C: Likewise. + * g++.dg/cpp0x/defaulted56.C: Likewise. + * g++.dg/cpp0x/defaulted57.C: Likewise. + * g++.dg/cpp0x/defaulted63.C: Likewise. + * g++.dg/cpp0x/defaulted64.C: Likewise. + * g++.dg/cpp0x/defaulted65.C: Likewise. + * g++.dg/cpp0x/defaulted66.C: Likewise. + * g++.dg/cpp0x/defaulted67.C: Likewise. + * g++.dg/cpp0x/defaulted68.C: Likewise. + * g++.dg/cpp1y/defaulted2.C: Likewise. + * g++.dg/cpp29/defaulted1.C: New test. + * g++.dg/cpp29/defaulted2.C: New test. + * g++.dg/cpp29/defaulted3.C: New test. + * g++.dg/cpp29/defaulted4.C: New test. + * g++.dg/cpp29/defaulted5.C: New test. + * g++.dg/cpp29/defaulted6.C: New test. + +2026-07-03 Jakub Jelinek <[email protected]> + + PR c++/126036 + * g++.dg/reflect/pr126036.C: New test. + +2026-07-03 Jeff Law <[email protected]> + + * gcc.target/riscv/and-synthesis-3.c: New test. + +2026-07-03 Naveen <[email protected]> + + PR tree-optimization/102202 + * gcc.dg/pr102202-1.c: New test. + * gcc.dg/pr102202.c: New test. + * gcc.target/aarch64/pr100518.c: Modify to handle the warning. + +2026-07-03 Kyrylo Tkachov <[email protected]> + + PR target/120027 + * gcc.target/aarch64/sve/acle/general/pr120027.c: New test. + +2026-07-03 Mikael Morin <[email protected]> + + PR fortran/97592 + PR fortran/125998 + * gfortran.dg/contiguous_17.f90: New test. + +2026-07-03 Tamar Christina <[email protected]> + Chris Bazley <[email protected]> + + * gcc.target/aarch64/sve/copsi.c: New test. + +2026-07-03 Oleg Endo <[email protected]> + + PR target/81426 + * gcc.target/sh/pr81426.c: New test. + +2026-07-03 Oleg Endo <[email protected]> + + PR target/34777 + * gcc.target/sh/torture/pr34777-1.c: New test. + +2026-07-03 Oleg Endo <[email protected]> + + PR target/124778 + * gcc.target/sh/torture/pr124778.c: New test. + +2026-07-03 Jeff Law <[email protected]> + + * gcc.target/riscv/xor-synthesis-4.c: New test. + 2026-07-03 Jerry DeLisle <[email protected]> PR fortran/126018 diff --git a/libssp/ChangeLog b/libssp/ChangeLog index 022fc1d74416..a88e98bdf15a 100644 --- a/libssp/ChangeLog +++ b/libssp/ChangeLog @@ -1,3 +1,9 @@ +2026-07-03 WHR <[email protected]> + Thomas Schwinge <[email protected]> + + PR other/116547 + * ssp.c: Include stdlib.h for alloca(3). + 2026-06-29 Pietro Monteiro <[email protected]> PR bootstrap/103459 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 0083a3ef6ad1..ab31a93cfded 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,63 @@ +2026-07-03 Nathan Myers <[email protected]> + + PR libstdc++/126072 + * testsuite/20_util/allocator/allocate_at_least.cc: Fix. + +2026-07-03 Tomasz Kamiński <[email protected]> + + * include/std/format (_Pres_type::_Pres_p, _Pres_type::_Pres_P): + Change the values to which they are defined. + (__formatter_fp::format): Append 0x/0X if _M_type is _Pres_p/_Pres_P + respectively. + (__formatter_fp::_M_localize): Add __offset parameter representing + start of number value (after sign and prefix). + (__formatter_ptr::parse, __formatter_ptr::_M_default) + (__formatter_ptr::__formatter_ptr): Remove unused __type parameter, + and replace use of _Pres_p/P with _Pres_x/X. + +2026-07-03 Tomasz Kamiński <[email protected]> + + * include/std/format (__formatter_int::format) + (__formatter_fp::format): For unrecognised _M_spec._M_type + values (default branch of switch) fallthrou to _Pres_none. + +2026-07-03 Tomasz Kamiński <[email protected]> + + * include/bits/optional_ref.h (optional<_Tp&>::_S_from_ptr): + Define. + * include/bits/version.def (exception_ptr_cast): Bump value + to 202603. + * include/bits/version.h: Regenerate. + * libsupc++/exception_ptr.h (exception_ptr_cast) + [__cpp_lib_exception_ptr_cast >= 202603L]: Change return + type to optional<const _Ex&>. + * testsuite/18_support/exception_ptr/exception_ptr_cast.cc: + Modify to handle change in the return type, and add test + for type convertible to optional to reference to that value. + +2026-07-03 Tomasz Kamiński <[email protected]> + + * include/Makefile.am (bits/optional_ref.h): Add. + * include/Makefile.in: Regenerate. + * include/bits/inplace_tags.h: New file. + * include/bits/utility.h (std::in_place_t, std::in_place) + (std::in_place_type_t, std::in_place_type) + (std::in_place_index_t, in_place_index): Move to + bits/inplace_tags.h. + * include/bits/optional_ref.h: New file. + * include/std/optional (std::nullopt_t, std::nullopt) + (std::__is_valid_contained_type_for_optional) + (std::_Optional_func, std::optional<_Tp&>) + (std::__is_optional_ref_v, std::__optional_ref_base): + Moved to bits/optional_ref.h. + (optional<_Tp&>::begin, optional<_Tp&>::end) + (optional<_Tp&>::value, optional<_Tp&>::value_or) + (optional<_Tp&>::and_then, optional<_Tp&>::transform) + (optional<_Tp&>::optional(_Optional_func<_Fn>, _Value)): + Define out of line. + (optional<_Tp&>::or_else): Define out of line, and + change requires from invocable<_Fn> to is_invocable_v<_Fn>. + 2026-07-02 Yuao Ma <[email protected]> * include/bits/basic_string.h(append, assign): Add new
