+2025-06-18 Dimitar Dimitrov <dimitar@dinux.eu>
+ Richard Sandiford <richard.sandiford@arm.com>
+ Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR target/119966
+ * emit-rtl.cc (validate_subreg): Call simplify_subreg_regno
+ instead of checking info.representable_p..
+ * rtl.h (simplify_subreg_regno): Add new argument
+ allow_stack_regs.
+ * rtlanal.cc (simplify_subreg_regno): Do not reject
+ stack-related registers if allow_stack_regs is true.
+
+2025-06-18 Andrew MacLeod <amacleod@redhat.com>
+
+ * value-range.cc (irange::intersect_bitmask): Always update the
+ stored mask to reflect the current calculated mask.
+
+2025-06-18 Andrew MacLeod <amacleod@redhat.com>
+
+ PR tree-optimization/119039
+ * value-range.cc (irange::contains_p): Call wide_int version of
+ contains_p for singleton ranges.
+ (irange::intersect): If either range is a singleton, use
+ contains_p.
+
+2025-06-18 Andrew MacLeod <amacleod@redhat.com>
+
+ PR tree-optimization/119039
+ * vr-values.cc (simplify_using_ranges::legacy_fold_cond): Remove.
+ (simplify_using_ranges::simplify_switch_using_ranges): Adjust.
+
+2025-06-18 Richard Biener <rguenther@suse.de>
+
+ * tree-cfg.cc (dump_function_to_file): Use flags, not dump_flags.
+
+2025-06-18 Jan Beulich <jbeulich@suse.com>
+
+ * doc/gcov.texi: Drop blank after @anchor.
+
+2025-06-18 Jan Beulich <jbeulich@suse.com>
+
+ * doc/extend.texi: Fill first argument of @xref{}.
+
+2025-06-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/120631
+ * real.cc (decimal_from_integer): Add digits argument, if larger than
+ 256, use XALLOCAVEC allocated buffer.
+ (real_from_integer): Pass val_in's precision divided by 3 to
+ decimal_from_integer.
+ * dfp.cc (decimal_real_to_integer): For precision > 128 if finite
+ and exponent is large, decrease exponent and multiply resulting
+ wide_int by powers of 10^19.
+
+2025-06-18 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/riscv-v.cc (expand_vx_binary_vec_dup_vec): Add
+ new case SMIN.
+ (expand_vx_binary_vec_vec_dup): Ditto.
+ * config/riscv/riscv.cc (riscv_rtx_costs): Ditto.
+ * config/riscv/vector-iterators.md: Add new op smin.
+
+2025-06-18 Lili Cui <lili.cui@intel.com>
+ Michael Matz <matz@suse.de>
+
+ * config/i386/i386-protos.h (ix86_get_separate_components):
+ New function.
+ (ix86_components_for_bb): Likewise.
+ (ix86_disqualify_components): Likewise.
+ (ix86_emit_prologue_components): Likewise.
+ (ix86_emit_epilogue_components): Likewise.
+ (ix86_set_handled_components): Likewise.
+ * config/i386/i386.cc (save_regs_using_push_pop):
+ Split from ix86_compute_frame_layout.
+ (ix86_compute_frame_layout):
+ Use save_regs_using_push_pop.
+ (pro_epilogue_adjust_stack):
+ Use gen_pro_epilogue_adjust_stack_add_nocc.
+ (ix86_expand_prologue): Add some assertions and adjust
+ the stack frame at the beginning of the prolog for shrink
+ wrapping separate.
+ (ix86_emit_save_regs_using_mov):
+ Skip registers that are wrapped separately.
+ (ix86_emit_restore_regs_using_mov): Likewise.
+ (ix86_expand_epilogue): Add some assertions and set
+ restore_regs_via_mov to true for shrink wrapping separate.
+ (ix86_get_separate_components): New function.
+ (ix86_components_for_bb): Likewise.
+ (ix86_disqualify_components): Likewise.
+ (ix86_emit_prologue_components): Likewise.
+ (ix86_emit_epilogue_components): Likewise.
+ (ix86_set_handled_components): Likewise.
+ (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS): Define.
+ (TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB): Likewise.
+ (TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS): Likewise.
+ (TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS): Likewise.
+ (TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS): Likewise.
+ (TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Likewise.
+ * config/i386/i386.h (struct machine_function):Add
+ reg_is_wrapped_separately array for register wrapping
+ information.
+ * config/i386/i386.md
+ (@pro_epilogue_adjust_stack_add_nocc<mode>): New.
+
+2025-06-18 Andrew MacLeod <amacleod@redhat.com>
+
+ PR tree-optimization/120661
+ * value-range.cc (irange::snap): New.
+ (irange::snap_subranges): New.
+ (irange::set_range_from_bitmask): Call snap_subranges.
+ * value-range.h (snap, snap_subranges): New prototypes.
+
2025-06-17 Jan Hubicka <hubicka@ucw.cz>
* auto-profile.cc (afdo_indirect_call): Compute speculative edge
+2025-06-18 David Malcolm <dmalcolm@redhat.com>
+
+ * checker-event.h (checker_event::get_kind): New accessor.
+ (checker_event::m_kind): Make private.
+ * checker-path.cc (checker_path::maybe_log): Use accessor for
+ checker_event::m_kind.
+ (checker_path::add_event): Likewise.
+ (checker_path::debug): Likewise.
+ (checker_path::cfg_edge_pair_at_p): Likewise.
+ (checker_path::inject_any_inlined_call_events): Likewise.
+ * diagnostic-manager.cc
+ (diagnostic_manager::prune_for_sm_diagnostic): Likewise.
+ (diagnostic_manager::prune_for_sm_diagnostic): Likewise.
+ (diagnostic_manager::consolidate_conditions): Likewise.
+ (diagnostic_manager::consolidate_unwind_events): Likewise.
+ (diagnostic_manager::finish_pruning): Likewise.
+
2025-05-06 David Malcolm <dmalcolm@redhat.com>
* checker-event.cc (checker_event::checker_event): Update
+2025-06-18 James K. Lowden <jklowden@cobolworx.com>
+
+ PR cobol/120621
+ * cbldiag.h (yyerror): Add diagnostic attributes.
+ (yywarn): Same.
+ (error_msg): Same.
+ (yyerrorvl): Same.
+ (cbl_unimplementedw): Same.
+ (cbl_unimplemented): Same.
+ (cbl_unimplemented_at): Same.
+ * cdf-copy.cc (copybook_elem_t::open_file): Supply string argument.
+ * cdf.y: Use %<%>.
+ * cobol-system.h (if): Check GCC_VERSION.
+ (ATTRIBUTE_GCOBOL_DIAG): Define.
+ * except.cc (cbl_enabled_exception_t::dump): Remove extra %s.
+ * genapi.cc (get_class_condition_string): Use acceptable message.
+ (get_bytes_needed): Same.
+ (move_tree): Same.
+ (get_string_from): Same.
+ (internal_perform_through): Same.
+ (tree_type_from_field_type): Same.
+ (is_valuable): Same.
+ (parser_logop): Same.
+ (parser_relop): Same.
+ (parser_relop_long): Same.
+ (parser_if): Same.
+ (parser_setop): Same.
+ (parser_perform_conditional): Same.
+ (parser_file_add): Same.
+ (parser_file_open): Same.
+ (parser_file_close): Same.
+ (parser_file_read): Same.
+ (parser_file_write): Same.
+ (inspect_replacing): Same.
+ (parser_sort): Same.
+ (parser_file_sort): Same.
+ (parser_file_merge): Same.
+ (create_and_call): Same.
+ (parser_bitop): Same.
+ (parser_bitwise_op): Same.
+ (hijack_for_development): Same.
+ (mh_source_is_literalN): Same.
+ (mh_dest_is_float): Same.
+ (parser_symbol_add): Same.
+ * gengen.cc (show_type): Use acceptable message.
+ (gg_find_field_in_struct): Same.
+ (gg_declare_variable): Same.
+ (gg_printf): Same.
+ (gg_fprintf): Same.
+ (gg_tack_on_function_parameters): Same.
+ (gg_define_function): Same.
+ (gg_get_function_decl): Same.
+ (gg_finalize_function): Same.
+ (gg_call_expr): Same.
+ (gg_call): Same.
+ (gg_insert_into_assembler): Define new function.
+ (gg_insert_into_assemblerf): Use gg_insert_into_assembler().
+ * gengen.h (gg_insert_into_assembler): Simpler function declaration.
+ (gg_insert_into_assemblerf): Declare new function.
+ * genmath.cc (parser_op): Use acceptable message.
+ * genutil.cc (get_binary_value): Use acceptable message.
+ * lexio.cc (parse_replacing_pair): Correct diagnostic arguments.
+ (preprocess_filter_add): Same.
+ (cdftext::open_input): Same.
+ * parse.y: Use acceptable messages.
+ * parse_ante.h (struct evaluate_elem_t): Use %<%>.
+ (is_callable): Same.
+ * parse_util.h (intrinsic_invalid_parameter): Use %qs.
+ * scan.l: Use dialect_error().
+ * scan_ante.h (numstr_of): Use %qs.
+ (scanner_token): Quote COBOL tokens in messages.
+ (scanner_parsing): Correct diagnostic message.
+ (scanner_parsing_toggle): Quote COBOL tokens in messages.
+ (scanner_parsing_pop): Same.
+ (typed_name): Use %qs.
+ * scan_post.h (prelex): Quote COBOL tokens in message.
+ * show_parse.h (CHECK_FIELD): Use acceptable message format.
+ (CHECK_LABEL): Same.
+ * symbols.cc (symbol_field_same_as): Remove extra spaces.
+ (cbl_alphabet_t::assign): Use %<%>.
+ (cbl_field_t::internalize): Quote library name in message.
+ * symbols.h (struct os_locale_t): Constify codeset.
+ (class temporaries_t): Add copy constructor.
+ (struct cbl_alphabet_t): Use acceptable message.
+ * util.cc (symbol_type_str): Use cbl_internal_error.
+ (cbl_field_type_str): Same.
+ (is_elementary): Same.
+ (cbl_field_t::report_invalid_initial_value): Use %qs.
+ (class unique_stack): Avoid %m.
+ (ydferror): Declare function with attributes.
+ (error_msg): Same.
+ (cobol_fileline_set): Use %<%>.
+ (os_locale_t): Remove use of xstrdup.
+ (cobol_parse_files): Quote C names in message.
+ (dialect_error): Use %<%>.
+ * util.h (cbl_message): Add attributes.
+ (cbl_internal_error): Same.
+ (cbl_err): Same.
+ (cbl_errx): Same.
+
2025-06-16 James K. Lowden <jklowden@cobolworx.com>
PR cobol/120621
+2025-06-18 Iain Sandoe <iain@sandoe.co.uk>
+
+ PR c++/115908
+ PR c++/118074
+ PR c++/95615
+ * coroutines.cc (coro_frame_refcount_id): New.
+ (coro_init_identifiers): Initialise coro_frame_refcount_id.
+ (build_actor_fn): Set up initial_await_resume_called. Handle
+ decrementing of the frame reference count. Return directly to
+ the caller if that is non-zero.
+ (cp_coroutine_transform::wrap_original_function_body): Use a
+ conditional eh-only cleanup around the initial await expression
+ to release the body use on exception before initial await
+ resume.
+ (cp_coroutine_transform::build_ramp_function): Wrap the called
+ body in a cleanup that releases a use of the frame when we
+ return to the ramp. Implement frame, promise and argument copy
+ destruction via conditional cleanups when the frame use count
+ is zero.
+
2025-06-17 Iain Sandoe <iain@sandoe.co.uk>
* coroutines.cc (struct coroutine_info): Update comments.
+2025-06-18 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/82480
+ * check.cc (gfc_check_fstat): Extend checks to INTENT(OUT) arguments.
+ (gfc_check_fstat_sub): Likewise.
+ (gfc_check_stat): Likewise.
+ (gfc_check_stat_sub): Likewise.
+ * intrinsic.texi: Adjust documentation.
+
2025-06-16 Harald Anlauf <anlauf@gmx.de>
PR fortran/51961
+2025-06-18 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc.dg/pr119039-1.c: Add space in search criteria.
+
+2025-06-18 Iain Sandoe <iain@sandoe.co.uk>
+
+ PR c++/115908
+ PR c++/118074
+ PR c++/95615
+ * g++.dg/coroutines/pr115908.C: Move to...
+ * g++.dg/coroutines/torture/pr115908.C: ...here.
+ * g++.dg/coroutines/torture/pr95615-02.C: Move to...
+ * g++.dg/coroutines/torture/pr95615-01-promise-ctor-throws.C: ...here.
+ * g++.dg/coroutines/torture/pr95615-03.C: Move to...
+ * g++.dg/coroutines/torture/pr95615-02-get-return-object-throws.C: ...here.
+ * g++.dg/coroutines/torture/pr95615-01.C: Move to...
+ * g++.dg/coroutines/torture/pr95615-03-initial-suspend-throws.C: ...here.
+ * g++.dg/coroutines/torture/pr95615-04.C: Move to...
+ * g++.dg/coroutines/torture/pr95615-04-initial-await-ready-throws.C: ...here.
+ * g++.dg/coroutines/torture/pr95615-05.C: Move to...
+ * g++.dg/coroutines/torture/pr95615-05-initial-await-suspend-throws.C: ...here.
+ * g++.dg/coroutines/torture/pr95615.inc: Add more cases and ensure that the
+ code completes properly when no exceptions are thrown.
+ * g++.dg/coroutines/torture/pr95615-00-nothing-throws.C: New test.
+ * g++.dg/coroutines/torture/pr95615-06-initial-await-resume-throws.C: New test.
+ * g++.dg/coroutines/torture/pr95615-07-body-throws.C: New test.
+ * g++.dg/coroutines/torture/pr95615-08-initial-suspend-throws-uhe-throws.C: New test.
+ * g++.dg/coroutines/torture/pr95615-09-body-throws-uhe-throws.C: New test.
+
+2025-06-18 Andrew MacLeod <amacleod@redhat.com>
+
+ PR tree-optimization/119039
+ * gcc.dg/pr119039-2.c: New.
+
+2025-06-18 Andrew MacLeod <amacleod@redhat.com>
+
+ PR tree-optimization/119039
+ * gcc.dg/pr119039-1.c: New.
+ * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust thread counts.
+
+2025-06-18 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/82480
+ * gfortran.dg/stat_3.f90: New test.
+
+2025-06-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/120631
+ * gcc.dg/dfp/bitint-9.c: New test.
+
+2025-06-18 Pan Li <pan2.li@intel.com>
+
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-4-i16.c: Add asm check
+ for vmin.vx combine.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-4-i32.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-4-i64.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-4-i8.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-5-i16.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-5-i32.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-5-i64.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-5-i8.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-6-i16.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-6-i32.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-6-i64.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-6-i8.c: Ditto.
+
+2025-06-18 Pan Li <pan2.li@intel.com>
+
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-1-i16.c: Add asm check.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-1-i32.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-1-i64.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-1-i8.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-2-i16.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-2-i32.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-2-i64.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-2-i8.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-3-i16.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-3-i32.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-3-i64.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx-3-i8.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx_binary.h: Add test
+ helper macros.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx_binary_data.h: Add test
+ data for run test.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmin-run-1-i16.c: New test.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmin-run-1-i32.c: New test.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmin-run-1-i64.c: New test.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmin-run-1-i8.c: New test.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmin-run-2-i16.c: New test.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmin-run-2-i32.c: New test.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmin-run-2-i64.c: New test.
+ * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmin-run-2-i8.c: New test.
+
+2025-06-18 Lili Cui <lili.cui@intel.com>
+ Michael Matz <matz@suse.de>
+
+ * gcc.target/x86_64/abi/callabi/leaf-2.c: Adjust the test.
+ * gcc.target/i386/interrupt-16.c: Likewise.
+ * gfortran.dg/guality/arg1.f90: Likewise.
+ * gcc.target/i386/avx10_2-comibf-1.c: Likewise.
+ * g++.target/i386/shrink_wrap_separate.C: New test.
+ * gcc.target/i386/shrink_wrap_separate_check_lea.c: Likewise.
+
+2025-06-18 Andrew MacLeod <amacleod@redhat.com>
+
+ PR tree-optimization/120661
+ * gcc.dg/pr120661-1.c: New.
+ * gcc.dg/pr120661-2.c: New.
+
2025-06-17 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/specs/aggr8.ads: New test.
+2025-06-18 Harald Anlauf <anlauf@gmx.de>
+
+ PR fortran/82480
+ * intrinsics/stat.c (stat_i4_sub_0): Fix argument names. Rename
+ SARRAY to VALUES also in error message. When array VALUES is
+ KIND=4, get only stat components that do not overflow INT32_MAX,
+ otherwise set the corresponding VALUES elements to -1.
+ (stat_i4_sub): Fix argument names.
+ (lstat_i4_sub): Likewise.
+ (stat_i8_sub_0): Likewise.
+ (stat_i8_sub): Likewise.
+ (lstat_i8_sub): Likewise.
+ (stat_i4): Likewise.
+ (stat_i8): Likewise.
+ (lstat_i4): Likewise.
+ (lstat_i8): Likewise.
+ (fstat_i4_sub): Likewise.
+ (fstat_i8_sub): Likewise.
+ (fstat_i4): Likewise.
+ (fstat_i8): Likewise.
+
2025-06-11 François-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR libfortran/116400