+2025-06-26 Alex Coplan <alex.coplan@arm.com>
+
+ * mklog.py (main): New.
+
2025-06-23 David Malcolm <dmalcolm@redhat.com>
PR other/116792
+2025-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple-fold.cc (fold_const_aggregate_ref_1) <COMPONENT_REF>:
+ Bail out immediately if the reference has reverse storage order.
+ * tree-ssa-sccvn.cc (fully_constant_vn_reference_p): Likewise.
+
+2025-06-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/120777
+ * gimple-fold.cc (gimple_get_virt_method_for_vtable): Revert
+ 2018-09-18 changes.
+
+2025-06-27 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/98735
+ PR c++/118904
+ * tree.cc (struct identifier_hash): New type.
+ (struct identifier_count_traits): New traits.
+ (internal_label_nums): New hash map.
+ (generate_internal_label): New function.
+ (prefix_for_internal_label): New function.
+ * tree.h (IDENTIFIER_INTERNAL_P): New macro.
+ (generate_internal_label): Declare.
+ (prefix_for_internal_label): Declare.
+ * ubsan.cc (ubsan_ids): Remove.
+ (ubsan_type_descriptor): Use generate_internal_label.
+ (ubsan_create_data): Likewise.
+
+2025-06-27 Jan Hubicka <hubicka@ucw.cz>
+
+ * auto-profile.cc (function_instance::set_name,
+ function_instance::set_realized, function_instnace::realized_p,
+ function_instance::set_in_worklist,
+ function_instance::clear_in_worklist,
+ function_instance::in_worklist_p): New member functions.
+ (function_instance::in_worklist, function_instance::realized_):
+ new.
+ (get_relative_location_for_locus): Break out from ....
+ (get_relative_location_for_stmt): ... here.
+ (function_instance::~function_instance): Sanity check that
+ removed function is not in worklist.
+ (function_instance::merge): Do not offline realized instances.
+ (function_instance::offline): Make private; add duplicate functions
+ to worklist rather then merging immediately.
+ (function_instance::offline_if_in_set): Cleanup.
+ (function_instance::remove_external_functions): Likewise.
+ (function_instance::offline_if_not_realized): New member function.
+ (autofdo_source_profile::offline_external_functions): Handle delayed
+ functions.
+ (autofdo_source_profile::offline_unrealized_inlines): New member function.
+ (walk_block): New function.
+ (mark_realized_functions): New function.
+ (afdo_annotate_cfg): Fix dump.
+ (auto_profile): Mark realized functions and offline rest; do not compute
+ fn summary.
+
+2025-06-27 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/113934
+ * config/avr/avr.opt (-mlra): Turn on per default.
+
+2025-06-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/120808
+ * tree-vect-slp-patterns.cc (vect_match_expression_p):
+ Take a code_helper and also match calls.
+ (addsub_pattern::recognize): Handle .FMA/.FMS pairs
+ in addition to PLUS/MINUS.
+ (addsub_pattern::build): Adjust.
+
+2025-06-27 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vect_chooses_same_modes_p): New
+ overload.
+ * tree-vect-stmts.cc (vect_chooses_same_modes_p): Likewise.
+ * tree-vect-loop.cc (vect_analyze_loop): Prune epilogue
+ analysis further when not using partial vectors.
+
+2025-06-27 Richard Biener <rguenther@suse.de>
+
+ * tree-vect-loop.cc (vect_analyze_loop): Consider AVX512
+ style masking when computing supports_partial_vectors.
+
+2025-06-27 Tamar Christina <tamar.christina@arm.com>
+
+ * doc/extend.texi: Fix typo in unsed attribute docs.
+
+2025-06-27 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/120830
+ * config/i386/i386-features.cc (ix86_get_vector_cse_mode): Handle
+ vector broadcast source.
+
+2025-06-27 Alexandre Oliva <oliva@adacore.com>
+
+ PR rtl-optimization/120424
+ * lra-eliminations.cc (elimination_2sp_occurred_p): Rename
+ from...
+ (elimination_fp2sp_occured_p): ... this. Adjust all uses.
+ (lra_eliminate_regs_1): Don't require a from-frame-pointer
+ elimination to set it.
+ (update_reg_eliminate): Likewise to test it.
+
+2025-06-27 Alexandre Oliva <oliva@adacore.com>
+
+ PR rtl-optimization/120424
+ * lra-eliminations.cc (lra_eliminate_regs_1): Adjust autoinc
+ addresses that are MEMs.
+
+2025-06-27 Alexandre Oliva <oliva@adacore.com>
+
+ PR rtl-optimization/120424
+ * lra-eliminations.cc (lra_update_fp2sp_elimination): Reorder
+ and regroup related statements.
+
+2025-06-27 Alexandre Oliva <oliva@adacore.com>
+
+ PR rtl-optimization/120424
+ * lra-eliminations.cc (lra_update_fp2sp_elimination):
+ Avoid sp offsets in further fp2sp eliminations...
+ (update_reg_eliminate): ... and restore to_rtx before assert
+ checking.
+
+2025-06-27 Alexandre Oliva <oliva@adacore.com>
+
+ PR rtl-optimization/120424
+ * lra-eliminations.cc (lra_update_fp2sp_elimination):
+ Compute complete live ranges and recompute slots' live ranges
+ if needed.
+ * lra-lives.cc (lra_reset_live_range_list): New.
+ (lra_complete_live_ranges): New.
+ * lra-spills.cc (assign_spill_hard_regs): Reject empty live
+ ranges.
+ (add_pseudo_to_slot): Likewise.
+ (lra_recompute_slots_live_ranges): New.
+ * lra-int.h (lra_reset_live_range_list): Declare.
+ (lra_complete_live_ranges): Declare.
+ (lra_recompute_slots_live_ranges): Declare.
+
+2025-06-27 Alexandre Oliva <oliva@adacore.com>
+
+ PR rtl-optimization/120424
+ * genoutput.cc (scan_operands): Make MATCH_SCRATCHes eliminable.
+
+2025-06-27 Alexandre Oliva <oliva@adacore.com>
+
+ PR rtl-optimization/120424
+ * lra-eliminations.cc (lra_update_fp2sp_elimination):
+ Inactivate the unused fp2sp elimination right away.
+
+2025-06-26 Dimitar Dimitrov <dimitar@dinux.eu>
+
+ * config/pru/pru.md (reg move splitter): New splitter for 64-bit
+ register moves into two 32-bit moves.
+ (const_int move splitter): New splitter for 64-bit constant
+ integer moves into two 32-bit moves.
+
+2025-06-26 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostic.h (diagnostic_context::set_permissive_option): New.
+ (diagnostic_context::set_fatal_errors): New.
+ (diagnostic_context::set_internal_error_callback): New.
+ (diagnostic_context::set_adjust_diagnostic_info_callback): New.
+ (diagnostic_context::inhibit_notes): New.
+ (diagnostic_context::m_opt_permissive): Make private.
+ (diagnostic_context::m_fatal_errors): Likewise.
+ (diagnostic_context::m_internal_error): Likewise.
+ (diagnostic_context::m_adjust_diagnostic_info): Likewise.
+ (diagnostic_context::m_inhibit_notes_p): Likewise.
+ (diagnostic_inhibit_notes): Delete.
+ * opts.cc (common_handle_option): Use
+ diagnostic_context::set_fatal_errors.
+ * toplev.cc (internal_error_function): Use
+ diagnostic_context::set_internal_error_callback.
+ (general_init): Likewise.
+ (process_options): Use diagnostic_context::inhibit_notes.
+
+2025-06-26 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/120809
+ * diagnostic-format-html.cc
+ (html_builder::maybe_make_state_diagram): Bulletproof against the
+ SVG generation failing.
+ * xml.cc (xml::printer::push_element): Assert that the ptr is
+ nonnull.
+ (xml::printer::append): Likewise.
+
+2025-06-26 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostic-output-spec.cc (sarif_scheme_handler::make_sink):
+ Split out creation of sarif_generation_options and
+ sarif_serialization_format into...
+ (sarif_scheme_handler::make_sarif_gen_opts): ...this...
+ (sarif_scheme_handler::make_sarif_serialization_object): ...and
+ this.
+
+2025-06-26 Paul-Antoine Arras <parras@baylibre.com>
+
+ PR target/120828
+ * config/riscv/riscv-v.cc (prepare_ternary_operands): Handle the
+ vector-scalar case.
+
+2025-06-26 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/120719
+ * config/i386/i386.md (crc_rev<SWI124:mode>si4): New expander.
+
+2025-06-26 Kito Cheng <kito.cheng@sifive.com>
+
+ * config/riscv/riscv.md: Fix build issue.
+
+2025-06-26 Martin Jambor <mjambor@suse.cz>
+
+ * lto-ltrans-cache.h (class ltrans_file_cache): Remove member prefix.
+ * lto-ltrans-cache.cc (ltrans_file_cache::ltrans_file_cache): Do
+ not initialize member prefix.
+
+2025-06-26 Kito Cheng <kito.cheng@sifive.com>
+
+ * config/riscv/riscv.md: Add comment and reorder include
+ files.
+
+2025-06-26 Martin Jambor <mjambor@suse.cz>
+
+ * tree-vect-stmts.cc (supportable_indirect_convert_operation):
+ Remove an unused shadowed variable.
+
+2025-06-26 Martin Jambor <mjambor@suse.cz>
+
+ * tree-vect-slp.cc (cond_expr_maps): Remove.
+
+2025-06-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * auto-profile.cc (function_instance::merge): Add TODO.
+ (autofdo_source_profile::offline_external_functions):
+ Do not use range for on the worklist.
+ * timevar.def (TV_IPA_AUTOFDO_OFFLINE): New timevar.
+
+2025-06-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * auto-profile.cc (name_index_set, name_index_map): New types.
+ (dump_afdo_loc): New function.
+ (dump_inline_stack): Simplify.
+ (function_instance::merge): Merge recursively inlined functions;
+ offline if necessary; collect new fnctions.
+ (function_instance::offline): New member function.
+ (function_instance::offline_if_in_set): New member function.
+ (function_instance::remove_external_functions): New member function.
+ (function_instance::dump): New member function.
+ (function_instance::debug): New member function.
+ (function_instance::dump_inline_stack): New member function.
+ (function_instance::find_icall_target_map): Use removed_icall_target.
+ (function_instance::remove_icall_target): Only mark icall target removed.
+ (autofdo_source_profile::offline_external_functions): New function.
+ (function_instance::read_function_instance): Record inlined_to pointers;
+ use -1 for unknown head counts.
+ (autofdo_source_profile::get_function_instance_by_name_index): New
+ function.
+ (autofdo_source_profile::add_function_instance): New member function.
+ (autofdo_source_profile::read): Do not leak memory; fix formatting.
+ (read_profile): Fix formatting.
+ (afdo_annotate_cfg): LIkewise.
+ (class pass_ipa_auto_profile_offline): New pass.
+ (make_pass_ipa_auto_profile_offline): New function.
+ * passes.def (pass_ipa_auto_profile_offline): Add
+ * tree-pass.h (make_pass_ipa_auto_profile): Declare
+
+2025-06-26 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/120819
+ * config/i386/i386-features.cc (ix86_broadcast_inner): Also handle
+ all 1s float vector constant.
+
+2025-06-26 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/120816
+ * config/i386/i386-features.cc (remove_redundant_vector_load):
+ Handle REG_EH_REGION note in DEF_INSN.
+
+2025-06-26 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/119628
+ * config/i386/i386-expand.cc (ix86_expand_call): Call
+ ix86_type_no_callee_saved_registers_p instead of looking up
+ no_callee_saved_registers attribute.
+ * config/i386/i386-options.cc (ix86_set_func_type): Look up
+ preserve_none attribute. Check preserve_none attribute for
+ interrupt attribute. Don't check no_caller_saved_registers nor
+ no_callee_saved_registers conflicts here.
+ (ix86_set_func_type): Check no_callee_saved_registers before
+ checking no_caller_saved_registers attribute.
+ (ix86_set_current_function): Allow SSE with
+ no_caller_saved_registers attribute.
+ (ix86_handle_call_saved_registers_attribute): Check preserve_none,
+ no_callee_saved_registers and no_caller_saved_registers conflicts.
+ (ix86_gnu_attributes): Add preserve_none attribute.
+ * config/i386/i386-protos.h (ix86_type_no_callee_saved_registers_p):
+ New.
+ * config/i386/i386.cc
+ (x86_64_preserve_none_int_parameter_registers): New.
+ (ix86_using_red_zone): Don't use red-zone when there are no
+ caller-saved registers with SSE.
+ (ix86_type_no_callee_saved_registers_p): New.
+ (ix86_function_ok_for_sibcall): Also check TYPE_PRESERVE_NONE
+ and call ix86_type_no_callee_saved_registers_p instead of looking
+ up no_callee_saved_registers attribute.
+ (ix86_comp_type_attributes): Call
+ ix86_type_no_callee_saved_registers_p instead of looking up
+ no_callee_saved_registers attribute. Return 0 if preserve_none
+ attribute doesn't match in 64-bit mode.
+ (ix86_function_arg_regno_p): For cfun with TYPE_PRESERVE_NONE,
+ use x86_64_preserve_none_int_parameter_registers.
+ (init_cumulative_args): Set preserve_none_abi.
+ (function_arg_64): Use x86_64_preserve_none_int_parameter_registers
+ with preserve_none attribute.
+ (setup_incoming_varargs_64): Use
+ x86_64_preserve_none_int_parameter_registers with preserve_none
+ attribute.
+ (ix86_save_reg): Treat TYPE_PRESERVE_NONE like
+ TYPE_NO_CALLEE_SAVED_REGISTERS.
+ (ix86_nsaved_sseregs): Allow saving XMM registers for
+ no_caller_saved_registers attribute.
+ (ix86_compute_frame_layout): Likewise.
+ (x86_this_parameter): Use
+ x86_64_preserve_none_int_parameter_registers with preserve_none
+ attribute.
+ * config/i386/i386.h (ix86_args): Add preserve_none_abi.
+ (call_saved_registers_type): Add TYPE_PRESERVE_NONE.
+ (machine_function): Change call_saved_registers to 3 bits.
+ * doc/extend.texi: Add preserve_none attribute. Update
+ no_caller_saved_registers attribute to remove -mgeneral-regs-only
+ restriction.
+
2025-06-25 H.J. Lu <hjl.tools@gmail.com>
* config/i386/i386-features.cc (ix86_place_single_vector_set):
+2025-06-26 David Malcolm <dmalcolm@redhat.com>
+
+ * gcc-interface/misc.cc (gnat_init): Use
+ diagnostic_context::set_internal_error_callback.
+
2025-06-22 Nicolas Boulenguez <nicolas@debian.org>
PR ada/120106
+2025-06-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/120777
+ * c-cppbuiltin.cc (c_cpp_builtins): Predefine
+ __cpp_constexpr_virtual_inheritance=202506L for C++26.
+
+2025-06-26 David Malcolm <dmalcolm@redhat.com>
+
+ * c-opts.cc (c_common_diagnostics_set_defaults): Use
+ diagnostic_context::set_permissive_option.
+
2025-06-23 Tobias Burnus <tburnus@baylibre.com>
* c-omp.cc (c_finish_oacc_wait): Handle if clause.
+2025-06-27 Marek Polacek <polacek@redhat.com>
+
+ PR c++/120756
+ * pt.cc (resolve_nondeduced_context): Pass complain to mark_used.
+
+2025-06-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/120777
+ * constexpr.cc: Implement C++26 P3533R2 - constexpr virtual
+ inheritance.
+ (is_valid_constexpr_fn): Don't reject constexpr cdtors in classes
+ with virtual bases for C++26, adjust error wording.
+ (cxx_bind_parameters_in_call): Add ORIG_FUN argument, add
+ values for __in_chrg and __vtt_parm arguments when needed.
+ (cxx_eval_dynamic_cast_fn): Adjust function comment, HINT -1
+ should be possible. For C++26 if obj is cast from POINTER_PLUS_EXPR,
+ attempt to use cxx_fold_indirect_ref to simplify it and if successful,
+ build ADDR_EXPR of that.
+ (cxx_eval_call_expression): Add orig_fun variable, set it to
+ fun before looking through clones, pass it to
+ cxx_bind_parameters_in_call.
+ (reduced_constant_expression_p): Add SZ argument, pass DECL_SIZE
+ of FIELD_DECL e.index to recursive calls and don't return false
+ if SZ is non-NULL and there are unfilled fields with bit position
+ at or above SZ.
+ (cxx_fold_indirect_ref_1): Handle reading of vtables using
+ ptrdiff_t dynamic type instead of some pointer type. Set el_sz
+ to DECL_SIZE_UNIT value rather than TYPE_SIZE_UNIT of
+ DECL_FIELD_IS_BASE fields in classes with virtual bases.
+ (cxx_fold_indirect_ref): In canonicalize_obj_off lambda look
+ through COMPONENT_REFs with DECL_FIELD_IS_BASE in classes with
+ virtual bases and adjust off correspondingly. Remove assertion that
+ off is integer_zerop, pass tree_to_uhwi (off) instead of 0 to the
+ cxx_fold_indirect_ref_1 call.
+ * cp-tree.h (publicly_virtually_derived_p): Declare.
+ (reduced_constant_expression_p): Add another tree argument defaulted
+ to NULL_TREE.
+ * method.cc (synthesized_method_walk): Don't clear *constexpr_p
+ if there are virtual bases for C++26.
+ * class.cc (build_base_path): Compute fixed_type_p and
+ virtual_access before checks for build_simple_base_path instead of
+ after that and conditional cp_build_addr_expr. Use build_simple_path
+ if !virtual_access even when v_binfo is non-NULL.
+ (layout_virtual_bases): For build_base_field calls use
+ access_public_node rather than access_private_node if
+ publicly_virtually_derived_p.
+ (build_vtbl_initializer): Revert 2018-09-18 and 2018-12-11 changes.
+ (publicly_virtually_derived_p): New function.
+
+2025-06-27 Jason Merrill <jason@redhat.com>
+
+ * class.cc (fixed_type_or_null): Handle class-type CALL_EXPR.
+ * parser.cc (cp_parser_binary_expression): Fix decltype_p handling.
+
+2025-06-27 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/98735
+ PR c++/118904
+ * cp-gimplify.cc (source_location_id): Remove.
+ (fold_builtin_source_location): Use generate_internal_label.
+ * module.cc (enum tree_tag): Add 'tt_internal_id' enumerator.
+ (trees_out::tree_value): Adjust assertion, write definitions
+ of uncontexted VAR_DECLs.
+ (trees_in::tree_value): Read variable definitions.
+ (trees_out::tree_node): Write internal labels, adjust assert.
+ (trees_in::tree_node): Read internal labels.
+
+2025-06-27 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/120040
+ * constexpr.cc (cxx_eval_constant_expression): Handle TYPE_NAME
+ now being a TYPE_DECL rather than just an IDENTIFIER_NODE.
+ * init.cc (build_new_constexpr_heap_type): Build a TYPE_DECL for
+ the returned type; mark the type as artificial.
+ * module.cc (trees_out::type_node): Add some assertions.
+
+2025-06-27 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/98735
+ PR c++/120040
+ * module.cc (trees_out::tree_value): Write TYPE_DECLs.
+ (trees_in::tree_value): Read TYPE_DECLs.
+ (trees_out::tree_node): Support uncontexted TYPE_DECLs, and
+ ensure that all parts of a by-value decl are marked for
+ streaming.
+ (trees_out::get_merge_kind): Treat members of uncontexted types
+ as always unique.
+
+2025-06-27 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ * decl.cc (grokfndecl): Add explanation of how to attach to
+ global module.
+
+2025-06-26 David Malcolm <dmalcolm@redhat.com>
+
+ * error.cc (cxx_initialize_diagnostics): Use
+ diagnostic_context::set_adjust_diagnostic_info_callback.
+
+2025-06-26 Jakub Jelinek <jakub@redhat.com>
+
+ * cp-trait.def: Implement C++26 P2830R10 - Constexpr Type Ordering.
+ (TYPE_ORDER): New.
+ * method.cc (type_order_value): Define.
+ * cp-tree.h (type_order_value): Declare.
+ * semantics.cc (trait_expr_value): Use gcc_unreachable also
+ for CPTK_TYPE_ORDER, adjust comment.
+ (finish_trait_expr): Handle CPTK_TYPE_ORDER.
+ * constraint.cc (diagnose_trait_expr): Likewise.
+
2025-06-25 Martin Jambor <mjambor@suse.cz>
* coroutines.h (class cp_coroutine_transform): Remove member
+2025-06-27 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/120784
+ * interface.cc (gfc_match_end_interface): Detect empty local_name.
+
+2025-06-26 Martin Jambor <mjambor@suse.cz>
+
+ * match.cc (gfc_match_nullify): Initialize p to NULL;
+
+2025-06-26 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ * trans.cc (gfc_allocate_using_malloc): Prevent possible memory
+ leak when allocation was already done.
+
+2025-06-26 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ * resolve.cc (resolve_fl_derived0): Do not create the token
+ component when not in coarray lib mode.
+ * trans-types.cc: Do not access the token when not in coarray
+ lib mode.
+
+2025-06-26 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/120711
+ * trans-array.cc (gfc_trans_array_ctor_element): Store the value
+ of the offset for reuse.
+
2025-06-24 Tobias Burnus <tburnus@baylibre.com>
* trans-stmt.cc (gfc_trans_call_acc_attach_detach): New.
+2025-06-26 Martin Jambor <mjambor@suse.cz>
+
+ * checks/errors/borrowck/rust-borrow-checker-diagnostics.cc
+ (BorrowCheckerDiagnostics::get_loan): Type cast loan to uint32_t.
+
2025-04-28 Owen Avery <powerboat9.gamer@gmail.com>
* checks/errors/borrowck/rust-bir-place.h
+2025-06-27 Marek Polacek <polacek@redhat.com>
+
+ PR c++/120756
+ * g++.dg/warn/deprecated-22.C: New test.
+
+2025-06-27 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/abi/mangle81.C: Add -fno-implicit-constexpr.
+ * g++.dg/init/vbase1.C: Likewise.
+ * g++.dg/ipa/ipa-icf-4.C: Likewise.
+
+2025-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/sso20.adb: New test.
+
+2025-06-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/120777
+ * g++.dg/cpp26/constexpr-virt-inherit1.C: New test.
+ * g++.dg/cpp26/constexpr-virt-inherit2.C: New test.
+ * g++.dg/cpp26/constexpr-virt-inherit3.C: New test.
+ * g++.dg/cpp26/feat-cxx26.C: Add __cpp_constexpr_virtual_inheritance
+ tersts.
+ * g++.dg/cpp2a/constexpr-dtor3.C: Don't expect one error for C++26.
+ * g++.dg/cpp2a/constexpr-dtor16.C: Don't expect errors for C++26.
+ * g++.dg/cpp2a/constexpr-dynamic10.C: Likewise.
+ * g++.dg/cpp0x/constexpr-ice21.C: Likewise.
+ * g++.dg/cpp0x/constexpr-ice4.C: Likewise.
+ * g++.dg/abi/mangle1.C: Guard the test on c++23_down.
+ * g++.dg/abi/mangle81.C: New test.
+ * g++.dg/ipa/ipa-icf-4.C (A::A): For
+ __cpp_constexpr_virtual_inheritance >= 202506L add user provided
+ non-constexpr constructor.
+
+2025-06-27 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/120784
+ * gfortran.dg/interface_63.f90: Extend testcase.
+
+2025-06-27 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/98735
+ PR c++/118904
+ * g++.dg/modules/src-loc-1.h: New test.
+ * g++.dg/modules/src-loc-1_a.H: New test.
+ * g++.dg/modules/src-loc-1_b.C: New test.
+ * g++.dg/modules/src-loc-1_c.C: New test.
+ * g++.dg/modules/ubsan-1_a.C: New test.
+ * g++.dg/modules/ubsan-1_b.C: New test.
+ * g++.dg/ubsan/module-1-aux.cc: New test.
+ * g++.dg/ubsan/module-1.C: New test.
+
+2025-06-27 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/120040
+ * g++.dg/modules/pr120040_a.C: New test.
+ * g++.dg/modules/pr120040_b.C: New test.
+
+2025-06-27 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/tree-prof/afdo-crossmodule-1.c: Update template.
+
+2025-06-27 Jeff Law <jlaw@ventanamicro.com>
+
+ PR target/119971
+ * gcc.target/riscv/pr119971.c: Fix typo.
+
+2025-06-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/120808
+ * gcc.dg/vect/bb-slp-pr120808.c: Now also expect FMADDSUB
+ patterns to be matched.
+
+2025-06-27 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/120830
+ * g++.target/i386/pr120830.C: New test.
+
+2025-06-26 Dimitar Dimitrov <dimitar@dinux.eu>
+
+ * gcc.target/pru/mov64-subreg-1.c: New test.
+ * gcc.target/pru/mov64-subreg-2.c: New test.
+
+2025-06-26 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/120809
+ * gcc.dg/analyzer/state-diagram-5.c: Split out into...
+ * gcc.dg/analyzer/state-diagram-5-html.c: ...this, adding
+ dg-require-dot...
+ * gcc.dg/analyzer/state-diagram-5-sarif.c: ...and this.
+
+2025-06-26 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/cpp26/type-order1.C: New test.
+ * g++.dg/cpp26/type-order2.C: New test.
+ * g++.dg/cpp26/type-order3.C: New test.
+
+2025-06-26 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/120719
+ * gcc.target/i386/crc-builtin-crc32.c: New test.
+
+2025-06-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/tree-prof/afdo-crossmodule-1.c: New test.
+ * gcc.dg/tree-prof/afdo-crossmodule-1b.c: New test.
+
+2025-06-26 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/120711
+ * gfortran.dg/asan/array_constructor_1.f90: New test.
+
+2025-06-26 Jan Hubicka <hubicka@ucw.cz>
+
+ * gcc.dg/tree-prof/indir-call-prof-2.c: Update template.
+
+2025-06-26 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/120819
+ * g++.target/i386/pr120819.C: New test.
+
+2025-06-26 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/119628
+ * gcc.target/i386/no-callee-saved-3.c: Adjust error location.
+ * gcc.target/i386/no-callee-saved-19a.c: New test.
+ * gcc.target/i386/no-callee-saved-19b.c: Likewise.
+ * gcc.target/i386/no-callee-saved-19c.c: Likewise.
+ * gcc.target/i386/no-callee-saved-19d.c: Likewise.
+ * gcc.target/i386/no-callee-saved-19e.c: Likewise.
+ * gcc.target/i386/preserve-none-1.c: Likewise.
+ * gcc.target/i386/preserve-none-2.c: Likewise.
+ * gcc.target/i386/preserve-none-3.c: Likewise.
+ * gcc.target/i386/preserve-none-4.c: Likewise.
+ * gcc.target/i386/preserve-none-5.c: Likewise.
+ * gcc.target/i386/preserve-none-6.c: Likewise.
+ * gcc.target/i386/preserve-none-7.c: Likewise.
+ * gcc.target/i386/preserve-none-8.c: Likewise.
+ * gcc.target/i386/preserve-none-9.c: Likewise.
+ * gcc.target/i386/preserve-none-10.c: Likewise.
+ * gcc.target/i386/preserve-none-11.c: Likewise.
+ * gcc.target/i386/preserve-none-12.c: Likewise.
+ * gcc.target/i386/preserve-none-13.c: Likewise.
+ * gcc.target/i386/preserve-none-14.c: Likewise.
+ * gcc.target/i386/preserve-none-15.c: Likewise.
+ * gcc.target/i386/preserve-none-16.c: Likewise.
+ * gcc.target/i386/preserve-none-17.c: Likewise.
+ * gcc.target/i386/preserve-none-18.c: Likewise.
+ * gcc.target/i386/preserve-none-19.c: Likewise.
+ * gcc.target/i386/preserve-none-20.c: Likewise.
+ * gcc.target/i386/preserve-none-21.c: Likewise.
+ * gcc.target/i386/preserve-none-22.c: Likewise.
+ * gcc.target/i386/preserve-none-23.c: Likewise.
+ * gcc.target/i386/preserve-none-24.c: Likewise.
+ * gcc.target/i386/preserve-none-25.c: Likewise.
+ * gcc.target/i386/preserve-none-26.c: Likewise.
+ * gcc.target/i386/preserve-none-27.c: Likewise.
+ * gcc.target/i386/preserve-none-28.c: Likewise.
+ * gcc.target/i386/preserve-none-29.c: Likewise.
+ * gcc.target/i386/preserve-none-30a.c: Likewise.
+ * gcc.target/i386/preserve-none-30b.c: Likewise.
+
2025-06-25 Luis Silva <luiss@synopsys.com>
* gcc.target/arc/mult-cmp0.c: New test.
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ * include/bits/ranges_algo.h (shuffle_fn::operator()):
+ Reimplement directly, based on the stl_algo.h implementation.
+ * testsuite/25_algorithms/shuffle/constrained.cc (test02):
+ New test.
+
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ * include/bits/ranges_algo.h (__sample_fn::operator()):
+ Reimplement the forward_iterator branch directly, based
+ on the stl_algo.h implementation. Add explicit cast to
+ _Out's difference_type in the !forward_iterator branch.
+ * testsuite/25_algorithms/sample/constrained.cc (test02):
+ New test.
+
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ * include/bits/ranges_algo.h (__detail::__introselect): New,
+ based on the stl_algo.h implementation.
+ (nth_element_fn::operator()): Reimplement in terms of the above.
+ * testsuite/25_algorithms/nth_element/constrained.cc:
+
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ * include/bits/ranges_algo.h (__detail::__find_if_not_n): New,
+ based on the stl_algo.h implementation.
+ (__detail::__stable_partition_adaptive): Likewise.
+ (__stable_partition_fn::operator()): Reimplement in terms of
+ the above.
+ * testsuite/25_algorithms/stable_partition/constrained.cc
+ (test03): New test.
+
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ * include/bits/ranges_algo.h (__detail::__move_merge): New,
+ based on the stl_algo.h implementation.
+ (__detail::__merge_sort_loop): Likewise.
+ (__detail::__chunk_insertion_sort): Likewise.
+ (__detail::__merge_sort_with_buffer): Likewise.
+ (__detail::__stable_sort_adaptive): Likewise.
+ (__detail::__stable_sort_adaptive_resize): Likewise.
+ (__detail::__inplace_stable_sort): Likewise.
+ (__stable_sort_fn::operator()): Reimplement in terms of the above.
+ * testsuite/25_algorithms/stable_sort/constrained.cc:
+
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ * include/bits/ranges_algo.h (__detail::__move_merge_adaptive):
+ New, based on the stl_algo.h implementation.
+ (__detail::__move_merge_adaptive_backward): Likewise.
+ (__detail::__rotate_adaptive): Likewise.
+ (__detail::__merge_adaptive): Likewise.
+ (__detail::__merge_adaptive_resize): Likewise.
+ (__detail::__merge_without_buffer): Likewise.
+ (__inplace_merge_fn::operator()): Reimplement in terms of the
+ above.
+ * testsuite/25_algorithms/inplace_merge/constrained.cc (test03):
+ New test.
+
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ PR libstdc++/118209
+ * include/bits/max_size_type.h (__bit_width): New explicit
+ specialization for __max_size_type.
+ * include/bits/ranges_algo.h (__detail::__move_median_to_first):
+ New, based on the stl_algo.h implementation.
+ (__detail::__unguarded_liner_insert): Likewise.
+ (__detail::__insertion_sort): Likewise.
+ (__detail::__sort_threshold): Likewise.
+ (__detail::__unguarded_insertion_sort): Likewise.
+ (__detail::__final_insertion_sort): Likewise.
+ (__detail::__unguarded_partition): Likewise.
+ (__detail::__unguarded_partition_pivot): Likewise.
+ (__detail::__heap_select): Likewise.
+ (__detail::__partial_sort): Likewise.
+ (__detail::__introsort_loop): Likewise.
+ (__sort_fn::operator()): Reimplement in terms of the above.
+ * testsuite/25_algorithms/sort/118209.cc: New test.
+ * testsuite/25_algorithms/sort/constrained.cc (test03): New test.
+
+2025-06-27 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/100795
+ * include/bits/ranges_algo.h (__detail::__push_heap): New,
+ based on the stl_heap.h implementation.
+ (__push_heap_fn::operator()): Reimplement in terms of the above.
+ (__detail::__adjust_heap): New, based on the stl_heap.h
+ implementation.
+ (__deatil::__pop_heap): Likewise.
+ (__pop_heap_fn::operator()): Reimplement in terms of the above.
+ (__make_heap_fn::operator()): Likewise.
+ (__sort_heap_fn::operator()): Likewise.
+ * testsuite/25_algorithms/heap/constrained.cc (test03): New
+ test.
+
+2025-06-27 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/110739
+ * include/bits/chrono_io.h (__formatter_chrono::_S_empty_fs): Define.
+ (__formatter_chrono::_S_str_d2): Use _S_str_d3 for 3+ digits and
+ place allways_inline attribute after comment.
+ (__formatter_chrono::_S_str_d3): Extracted from _S_str_d2.
+ (__formatter_chrono::_M_H_I, __formatter_chrono::_M_R_X): Replace
+ _S_empty_spec with _S_empty_fs().
+ (__formatter_chrono::_M_j): Likewise and use _S_str_d3 in common
+ case.
+ (__format::operator-(_ChronoParts, _ChronoParts))
+ (__format::operator-=(_ChronoParts, _ChronoParts))
+ (__formatter_chrono::_S_fill_two_digits)
+ (__formatter_chrono::_S_str_d1): Place always_inline attribute
+ after comment.
+
+2025-06-27 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/110739
+ * include/bits/chrono_io.h (__formatter_chrono::_M_format_to):
+ Rename _Out to _OutIter for consistency, and update calls
+ to specifier functions.
+ (__formatter_chrono::_M_wi, __formatter_chrono::_M_C_y_Y)
+ (__formatter_chrono::_M_D_x, __formatter_chrono::_M_d_e)
+ (__formatter_chrono::_M_F, __formatter_chrono::_M_g_G)
+ (__formatter_chrono::_M_H_I, __formatter_chrono::_M_j)
+ (__formatter_chrono::_M_m, __formatter_chrono::_M_M)
+ (__formatter_chrono::_M_q, __formatter_chrono::_M_R_X)
+ (__formatter_chrono::_M_u_w, __formatter_chrono::_M_U_V_W)
+ (__formatter_chrono::_M_z, __formatter_chrono::_M_z):
+ Remove _FormatContext parameter, and introduce _OutIter
+ for __out type.
+ (__formatter_chrono::_M_a_A, __formatter_chrono::_M_B_b)
+ (__formatter_chrono::_M_p, __formatter_chrono::_M_Q)
+ (__formatter_chrono::_M_r, __formatter_chrono::_M_S)
+ (__formatter_chrono::_M_subsecs, __formatter_chrono::_M_T):
+ Introduce separate _OutIter template parameter for __out.
+ (__formatter_chrono::_M_c, __formatter_chrono::_M_T):
+ Likewise, and adjust calls to specifiers functions.
+ * testsuite/std/time/format/empty_spec.cc: Make underlying
+ type for Rep configurable.
+
+2025-06-27 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/abi/pre/gnu.ver: Keep the closing brace of the
+ CXXABI_1.3.17 symbol group together with the identifier
+ for the inherited group.
+
+2025-06-26 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/110739
+ * include/bits/chrono_io.h (__formatter_chrono::_M_use_locale_fmt):
+ Define.
+ (__formatter_chrono::_M_locale_fmt): Moved to front of the class.
+ (__formatter_chrono::_M_format_to): Construct and initialize
+ struct tm and call _M_locale_fmt if needed.
+ (__formatter_chrono::_M_c_r_x_X): Split into separate methods.
+ (__formatter_chrono::_M_c, __formatter_chrono::_M_r): Define.
+ (__formatter_chrono::_M_D): Renamed to _M_D_x.
+ (__formatter_chrono::_M_D_x): Renamed from _M_D.
+ (__formatter_chrono::_M_R_T): Split into _M_R_X and _M_T.
+ (__formatter_chrono::_M_R_X): Extracted from _M_R_T.
+ (__formatter_chrono::_M_T): Define in terms of _M_R_X and _M_subsecs.
+ (__formatter_chrono::_M_subsecs): Extracted from _M_S.
+ (__formatter_chrono::_M_S): Replaced __mod with __subs argument,
+ removed _M_locale_fmt call, and delegate to _M_subsecs.
+ (__formatter_chrono::_M_C_y_Y, __formatter_chrono::_M_d_e)
+ (__formatter_chrono::_M_H_I, __formatter_chrono::_M_m)
+ (__formatter_chrono::_M_u_w, __formatter_chrono::_M_U_V_W): Remove
+ __mod argument and call to _M_locale_fmt.
+
+2025-06-26 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/110739
+ * include/bits/chrono_io.h (__format::__no_timezone_available):
+ Removed, replaced with separate throws in formatter for
+ __local_time_fmt
+ (__format::_ChronoParts): Defined additional enumertors and
+ declared as enum class.
+ (__format::operator&(_ChronoParts, _ChronoParts))
+ (__format::operator&=(_ChronoParts&, _ChronoParts))
+ (__format::operator-(_ChronoParts, _ChronoParts))
+ (__format::operator-=(_ChronoParts&, _ChronoParts))
+ (__format::operator==(_ChronoParts, decltype(nullptr)))
+ (_ChronoSpec::_M_time_only, _ChronoSpec::_M_floating_point_rep)
+ (_ChronoSpec::_M_custom_rep, _ChronoSpec::_M_needed)
+ (_ChronoSpec::_M_needs, __format::_ChronoData): Define.
+ (__format::__formatter_chrono): Redefine to accept _ChronoData.
+ (__formatter_chrono::_M_format_to_ostream): Moved to
+ __formatter_duration.
+ (__format::__formatter_duration): Define.
+ (__formatter_chrono_info::format): Pass value-constructed
+ _ChronoData.
+ (std::formatter<chrono::day, _CharT>)
+ (std::formatter<chrono::month, _CharT>)
+ (std::formatter<chrono::year, _CharT>)
+ (std::formatter<chrono::weekday, _CharT>)
+ (std::formatter<chrono::weekday_indexed, _CharT>)
+ (std::formatter<chrono::weekday_last, _CharT>)
+ (std::formatter<chrono::month_day, _CharT>)
+ (std::formatter<chrono::month_day_last, _CharT>)
+ (std::formatter<chrono::month_weekday, _CharT>)
+ (std::formatter<chrono::month_weekday_indexed, _CharT>)
+ (std::formatter<chrono::month_weekday_last, _CharT>)
+ (std::formatter<chrono::year_month, _CharT>)
+ (std::formatter<chrono::year_month_day, _CharT>)
+ (std::formatter<chrono::year_month_day_last, _CharT>)
+ (std::formatter<chrono::year_month_weekday, _CharT>)
+ (std::formatter<chrono::year_month_weekday_indexed, _CharT>)
+ (std::formatter<chrono::year_month_weekday_last, _CharT>):
+ Construct _ChronoData in format, and configure _M_needed in
+ _ChronoSpec.
+ (std::formatter<chrono::duration<_Rep, _Period>, _CharT>)
+ (std::formatter<chrono::hh_mm_ss<_Duration>, _CharT>)
+ (std::formatter<chrono::sys_time<_Duration>, _CharT>)
+ (std::formatter<chrono::utc_time<_Duration>, _CharT>)
+ (std::formatter<chrono::tai_time<_Duration>, _CharT>)
+ (std::formatter<chrono::gps_time<_Duration>, _CharT>)
+ (std::formatter<chrono::file_time<_Duration>, _CharT>)
+ (std::formatter<chrono::local_time<_Duration>, _CharT>)
+ (std::formatter<chrono::_detail::__local_time_fmt<_Duration>, _CharT>):
+ Reworked in terms of __formatter_duration and _ChronoData.
+ (std::formatter<chrono::_detail::__utc_leap_second<_Duration>, _CharT>):
+ Removed.
+ (_Parser<_Duration>::operator()): Adjusted for _ChronoParts
+ being enum class.
+ * include/std/chrono (__detail::__utc_leap_second): Removed,
+ replaced with simply bumping _M_seconds in _ChronoData.
+ * testsuite/std/time/format/empty_spec.cc: Updated %S integral
+ ouput.
+
+2025-06-26 Jakub Jelinek <jakub@redhat.com>
+
+ * include/bits/version.def (exception_ptr_cast): Add.
+ * include/bits/version.h: Regenerate.
+ * libsupc++/exception: Define __glibcxx_want_exception_ptr_cast before
+ including bits/version.h.
+ * libsupc++/exception_ptr.h (std::exception_ptr_cast): Define.
+ (std::__exception_ptr::exception_ptr::_M_exception_ptr_cast): Declare.
+ * libsupc++/eh_ptr.cc
+ (std::__exception_ptr::exception_ptr::_M_exception_ptr_cast): Define.
+ * src/c++23/std.cc.in (std::exception_ptr_cast): Export.
+ * config/abi/pre/gnu.ver: Export
+ _ZNKSt15__exception_ptr13exception_ptr21_M_exception_ptr_castERKSt9type_info
+ at CXXABI_1.3.17.
+ * testsuite/util/testsuite_abi.cc (check_version): Allow CXXABI_1.3.17.
+ * testsuite/18_support/exception_ptr/exception_ptr_cast.cc: New test.
+
+2025-06-26 Jakub Jelinek <jakub@redhat.com>
+
+ * include/bits/version.def (type_order): New.
+ * include/bits/version.h: Regenerate.
+ * libsupc++/compare: Define __glibcxx_want_type_order before
+ including bits/version.h.
+ (std::type_order, std::type_order_v): New trait and template variable.
+ * src/c++23/std.cc.in (std::type_order, std::type_order_v): Export.
+ * testsuite/18_support/comparisons/type_order/1.cc: New test.
+
2025-06-25 Tomasz Kamiński <tkaminsk@redhat.com>
* testsuite/std/time/format/precision.cc: New tests.