]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Sat, 28 Jun 2025 00:20:46 +0000 (00:20 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Sat, 28 Jun 2025 00:20:46 +0000 (00:20 +0000)
contrib/ChangeLog
gcc/ChangeLog
gcc/DATESTAMP
gcc/ada/ChangeLog
gcc/c-family/ChangeLog
gcc/cp/ChangeLog
gcc/fortran/ChangeLog
gcc/rust/ChangeLog
gcc/testsuite/ChangeLog
libstdc++-v3/ChangeLog

index fbc3cfe0f674641e54efb72629091cd49e371723..d91f7cdcad942446c248db8acbc6016abdea90d6 100644 (file)
@@ -1,3 +1,7 @@
+2025-06-26  Alex Coplan  <alex.coplan@arm.com>
+
+       * mklog.py (main): New.
+
 2025-06-23  David Malcolm  <dmalcolm@redhat.com>
 
        PR other/116792
index d74466126e9593602098c58e44deea208443bf2f..7f22f15056222c01cc37c288c9d8f53a0b721793 100644 (file)
@@ -1,3 +1,336 @@
+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):
index efcd83eefd6187754630ef8ec71229b95895b837..89bcad6c21585fceaadadaf3a7f4d10e79adfeb7 100644 (file)
@@ -1 +1 @@
-20250626
+20250628
index 9c18d8c1f2609726e7797198c8e0134fae89a6c7..715feb401d4a6073a9b5a6730678627fef845948 100644 (file)
@@ -1,3 +1,8 @@
+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
index 1d721f3b08a2201c6117472bef06e09173fbb29b..debd181e872095cdcd8a9f066272859924fd9d1d 100644 (file)
@@ -1,3 +1,14 @@
+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.
index ffd16ea4c01f9c018a4b28605bbae26deb870a4c..d97eefff92998a2fcc75c467e338e073c59478f6 100644 (file)
@@ -1,3 +1,112 @@
+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
index 4bdd2f86a8317ab291a17d4b5438008c917e54d1..6b44a691c476500dae1902f94db1fd636c7b130b 100644 (file)
@@ -1,3 +1,30 @@
+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.
index 5cb931132662ca2ba8efe7932c816e9011b3a0ff..2a5219d2fe09931347fad5514a16fc98741ac201 100644 (file)
@@ -1,3 +1,8 @@
+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
index 672bb80d3f4d38de8186593d607acbe6d0ce0ca3..48dfa9b959531a2eedac56fdd19b5e753056d2fe 100644 (file)
@@ -1,3 +1,165 @@
+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.
index 57e068f62b68d79870892350e1c2acd249fa7fd7..38773c8620525931b69d5aa03e6025e53c4c9862 100644 (file)
@@ -1,3 +1,265 @@
+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.