2026-06-12  Release Manager

	* GCC 15.3.0 released.

2026-05-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backported from master:
	2026-05-20  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/106546
	* frontend-passes.cc (create_var): Set attr->automatic on
	new symbol.
	(create_do_loop): Likewise on iteration variable.

2026-05-20  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/115260
	* trans-expr.cc (gfc_conv_subref_array_arg): Pass false to
	dealloc argument of gfc_trans_scalar_assign if we are
	converting a g77-style argument.

2026-05-19  Andre Vehreschild  <vehre@gcc.gnu.org>

	Backported from master:
	2026-04-29  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/125021
	* coarray.cc (check_add_new_comp_handle_array): Prefix internal
	symbols by two underscores.
	(create_get_callback): Same.
	(create_allocated_callback): Same.
	(create_send_callback): Same.

2026-05-16  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2026-05-08  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/111952
	PR fortran/125059
	* trans-decl.cc (gfc_finish_var_decl): Remove bogus code forcing
	a DT variable with DTIO as static.
	* trans-io.cc (gfc_build_io_library_fndecls): Fix fnspec attribute.

2026-05-14  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-04-08  Christopher Albert  <albert@tugraz.at>

	PR fortran/96986
	* resolve.cc (resolve_global_procedure): Move entry symbol
	lookup outside the resolved != -1 block.

2026-05-13  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-04-10  Christopher Albert  <albert@tugraz.at>

	PR fortran/94978
	* frontend-passes.cc (evaluate_loop_bound): New helper.
	(inner_loop_may_be_skipped): New helper.
	(do_subscript): Skip outer-loop bound warnings when nested inner loops
	may be zero-trip for the substituted bound.

2026-05-13  Paul Thomas  <pault@gcc.gnu.org>

	Backported from master:
	2026-03-16  Paul Thomas  <pault@gcc.gnu.org>
		    Steve Kargl  <kargls@comcast.net>

	PR fortran/93832
	* array.cc (resolve_array_bound): Emit error and return false
	if bound expression is derived type or class.
	* primary.cc (gfc_convert_to_structure_constructor): Do not
	dereference NULL in character component test. Define 'shorter'
	and use it help cure one of several whitespace issues.

2026-05-13  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-04-11  Christopher Albert  <albert@tugraz.at>

	PR fortran/93814
	* trans-decl.cc (build_entry_thunks): Create local result buffer
	and length temporaries for bind(c) CHARACTER entry thunks when the
	master returns by reference but the thunk returns by value.

2026-05-12  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-04-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/93715
	* trans-decl.cc (gfc_trans_deferred_vars): Skip auto array
	allocation for scalar coarrays.

2026-05-12  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-04-13  Christopher Albert  <albert@tugraz.at>

	PR fortran/101760
	PR fortran/102314
	* trans-openmp.cc (gfc_omp_finish_clause): Compute OMP_CLAUSE_SIZE
	from the array domain bounds and element size for VLA types instead
	of using TYPE_SIZE_UNIT directly, to avoid corrupting the type.

2026-05-12  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-04-07  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/85352
	* resolve.cc (specification_expr_symbol): New variable.
	(entry_dummy_seen_p): Return whether a dummy appears in an already
	seen ENTRY.
	(gfc_resolve_formal_arglist): Remember the dummy whose specification
	expressions are being resolved.
	(resolve_variable): Accept unresolved sibling ENTRY dummy arguments
	while resolving the current dummy's specification expressions.
	(resolve_fl_variable): Preserve specification_expr_symbol.
	(resolve_symbol_array_spec): Likewise.

2026-05-09  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-04-07  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/107425
	* trans-decl.cc (gfc_finish_var_decl): Check for
	omp_affinity_iterators namespace before FL_LABEL BLOCK check.
	Only route actual iterator variables through add_decl_as_local;
	add other variables to the enclosing function.

2026-05-08  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-04-06  Christopher Albert  <albert@tugraz.at>

	PR fortran/79524
	PR fortran/79524
	* decl.cc (discard_pending_charlens): New helper.
	(add_init_expr_to_sym): Drop statement-local charlens when
	rejecting variable-length parameter arrays.
	(variable_decl, do_parm, enumerator_decl): Save the current
	namespace charlen list before parsing declarations with
	initializers.
	(match_procedure_decl): Adjust call to add_init_expr_to_sym.

2026-05-06  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-04-05  Christopher Albert  <albert@tugraz.at>

	PR fortran/109788
	* iresolve.cc (copy_intrinsic_sym): New helper.
	(gfc_resolve_spread): Copy the intrinsic descriptor before
	specializing the character formal argument type.

2026-05-06  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-04-07  Christopher Albert  <albert@tugraz.at>

	PR fortran/102430
	* openmp.cc (resolve_omp_clauses): Reject array/allocatable LINEAR on
	worksharing-loop constructs.

2026-04-17  Paul Thomas  <pault@gcc.gnu.org>

	Backported from master:
	2026-04-03  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/100155
	* trans-expr.cc (gfc_add_interface_mapping): 'new_sym' dummy
	attribute set to zero.
	(gfc_conv_procedure_call): Deallocate allocatable components of
	a class argument, enclosed in parentheses,wrap up the parmse
	and proceed to the next argument.

2026-04-17  Paul Thomas  <pault@gcc.gnu.org>

	Backported from master:
	2026-03-27  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/102619
	* trans-expr.cc (gfc_get_interface_mapping_array): Add argument
	'assumed_rank_formal', which if true returns the descriptor in
	'ifm'.
	(gfc_add_interface_mapping): Detect an assumed rank formal arg
	of a non-intrinsic function to set 'assumed_rank_formal' and
	pass the descriptor to gfc_get_interface_mapping_array.

2026-04-13  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-03-30  Christopher Albert  <albert@tugraz.at>

	* scanner.cc (skip_free_oacc_sentinel): Clear openmp_flag only for
	fresh OpenACC directive lines.
	(skip_free_omp_sentinel): Clear openacc_flag only for fresh OpenMP
	directive lines.

2026-04-13  Christopher Albert  <albert@tugraz.at>

	PR fortran/95879
	PR fortran/95879
	* parse.cc (fixup_st_func_formals): New function to update
	statement function formal argument lists referencing a symbol
	about to be freed.
	(gfc_fixup_sibling_symbols): Call fixup_st_func_formals before
	gfc_release_symbol.

2026-04-06  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2026-04-04  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/66973
	* interface.cc (gfc_compare_actual_formal): Check that C_LOC and
	C_FUNLOC from ISO_C_BINDING as actual argument are passed to a
	dummy argument of matching type C_PTR/C_FUNPTR.

2026-04-05  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2026-04-03  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/124652
	* trans-expr.cc (gfc_conv_procedure_call): Do not clobber a
	procedure pointer intent(out) argument.
	* trans-intrinsic.cc (conv_isocbinding_function): When passing to
	C_FUNLOC a procedure pointer that is a dummy, dereference it.

2026-04-05  Kirill Chilikin  <chilikin.k@gmail.com>

	Backported from master:
	2026-02-03  Kirill Chilikin  <chilikin.k@gmail.com>

	PR fortran/117303
	* trans-intrinsic.cc (conv_isocbinding_function):
	Assign the reference returned by C_FUNLOC to a variable.

2026-04-05  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-03-20  Christopher Albert  <albert@tugraz.at>

	PR fortran/120723
	* trans-openmp.cc (gfc_trans_omp_clauses): Handle bare scalar
	OpenACC attach/detach clauses without pointer-mapping nodes.

2026-04-02  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-04-02  Christopher Albert  <albert@tugraz.at>
		    Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/124751
	* trans-array.cc (gfc_conv_array_parameter): Build a packed
	descriptor for assumed-rank actual arguments instead of reusing
	stale metadata from the original descriptor.

2026-04-02  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-04-01  Christopher Albert  <albert@tugraz.at>

	PR fortran/100194
	* trans-expr.cc (gfc_conv_procedure_call): Skip
	gfc_conv_subref_array_arg for assumed-rank actual arguments
	(e->rank == -1) when the dummy is contiguous.

2026-03-31  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2026-03-25  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/124567
	* interface.cc (gfc_check_dummy_characteristics): Split shape check
	into a separate check for rank and a check for shape, taking into
	account a corner case where the ambiguity between deferred shape
	and assumed shape has not been fully resolved at the time of
	checking.

2026-03-31  Mikael Morin  <morin-mikael@orange.fr>

	Backported from master:
	2025-07-31  Mikael Morin  <morin-mikael@orange.fr>

	PR fortran/121342
	* trans-expr.cc (gfc_conv_subref_array_arg): Remove offset
	update.
	(gfc_conv_procedure_call): For polymorphic functions, move the
	scalarizer descriptor information...
	* trans-array.cc (gfc_add_loop_ss_code): ... here, and evaluate
	the bounds to fresh variables.
	(get_class_info_from_ss): Remove offset update.
	(gfc_conv_ss_startstride): Don't set a zero value for function
	result upper bounds.
	(late_set_loop_bounds): New.
	(gfc_conv_loop_setup): If the bounds of a function result have
	been set, and no other array provided loop bounds for a
	dimension, use the function result bounds as loop bounds for
	that dimension.
	(gfc_set_delta): Don't skip delta setting for polymorphic
	function results.

2026-03-31  Mikael Morin  <mikael@gcc.gnu.org>

	Backported from master:
	2025-06-19  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/120713
	* trans-array.cc (gfc_trans_deferred_array): Statically
	initialize deferred length variable for SAVEd character arrays.

2026-03-30  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2026-03-27  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/124631
	* simplify.cc (gfc_simplify_eoshift): Initialize sstride[0] to
	prevent pointer arithmetic with undefined offset.  Fix several
	frontend memleaks.

2026-03-30  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-03-11  Christopher Albert  <albert@tugraz.at>

	PR fortran/95338
	* trans-types.cc (gfc_get_entry_result_type): New helper to use the
	ABI return type for mixed ENTRY union fields.
	(gfc_get_mixed_entry_union): Use it for each entry result field.

2026-03-29  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-03-13  Christopher Albert  <albert@tugraz.at>

	PR fortran/102459
	* trans-openmp.cc (gfc_trans_omp_clauses): Choose the scalar
	reference path from the full expression rank rather than the first
	array reference.
	(gfc_trans_omp_depobj): Likewise.

2026-03-29  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-03-12  Christopher Albert  <albert@tugraz.at>

	PR fortran/82721
	* decl.cc (discard_pending_charlen): New helper.
	(build_sym): Discard unattached CHARACTER length nodes when
	gfc_add_type rejects the declaration.

2026-03-28  Paul Thomas  <pault@gcc.gnu.org>

	Backported from master:
	2026-03-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/84245
	* match.cc (gfc_match_select_type): Free the temporary namespace
	only on MATCH_NO. Return immediately on MATCH_ERROR.

2026-03-25  Paul Thomas  <pault@gcc.gnu.org>

	Backported from master:
	2026-03-25  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/119273
	* trans-array.cc (expr_contains_impure_fcn): New function.
	(gfc_expr_contains_impure_fcn): New function calling above fcn.
	(array_bound_check_elemental): Add indexse pre-block to se pre.
	Warn if the index expression contains a function not declared
	to be pure.

2026-03-25  Paul Thomas  <pault@gcc.gnu.org>

	Backported from master:
	2026-03-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/105168
	* trans-expr.cc (gfc_conv_class_to_class): If the argument expr
	is not a class type use the parent tree if that is a class.
	(gfc_conv_procedure_call): If the argument expression is not a
	variable, shift the bounds to give unity lbounds.
	(gfc_trans_arrayfunc_assign): Return NULL_TREE instead of NULL.

2026-03-20  Mikael Morin  <morin-mikael@orange.fr>

	Backported from master:
	2025-09-24  Mikael Morin  <morin-mikael@orange.fr>

	PR fortran/122046
	* symbol.cc (gfc_get_procedure_ns): Try to find the namespace
	among the list of contained namespaces before returning the
	value from the formal_ns field.

2026-03-19  Paul Thomas  <pault@gcc.gnu.org>

	Backported from master:
	2026-03-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/124161
	* resolve.cc (resolve_symbol): Do not apply the default
	initializer if the symbol is used in a submodule.

2026-03-18  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-03-17  Christopher Albert  <albert@tugraz.at>

	PR fortran/120286
	* trans-openmp.cc (gfc_is_class_pointer_type): New helper.
	(gfc_omp_clause_copy_ctor): Unwrap saved descriptors before
	deciding whether privatization should preserve only pointer
	association.  Handle scalar class pointers on that path too.
	(gfc_omp_clause_dtor): Likewise.

2026-03-16  Christopher Albert  <albert@tugraz.at>

	Backported from master:
	2026-03-12  Christopher Albert  <albert@tugraz.at>

	PR fortran/102596
	* trans-openmp.cc (gfc_omp_clause_default_ctor): Only require an
	outer reference when the constructor path actually uses it.

2026-03-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/106946
	PR fortran/124482
	* decl.cc (gfc_match_data_decl): Defer CLASS container cleanup
	until after all failed components are unlinked.  Check remaining
	component list before freeing a shared container.
	* gfortran.h (gfc_free_component): Declare.
	(gfc_delete_symtree): Declare.
	* symbol.cc (gfc_free_component): New function.
	(free_components): Use it.

2026-03-14  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2026-03-12  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/124450
	* trans-io.cc (transfer_expr): If code is NULL, call
	transfer_array_component with NULL where argument rather than
	&code->loc.

2026-03-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	Backported from master:
	2026-03-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
		    Gilles Gouaillardet  <gilles.gouaillardet@gmail.com>

	PR fortran/121743
	* trans-decl.cc (build_function_decl): Adjust the
	gcc_assert condition to avoid the ICE.

2026-02-14  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2026-02-08  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/123961
	* check.cc (array_check): Extend check to class array functions.
	* class.cc (gfc_add_class_array_ref): Fix NULL pointer dereference.

2025-12-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	Backported from master:
	2025-12-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/107406
	* parse.cc (check_component): Adjust the error check to
	require a codimension if the allocatable type has
	a non-coarray LOCK_TYPE component.

2025-12-09  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-12-05  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/122977
	* expr.cc (gfc_is_simply_contiguous): For an associate variable
	check whether the associate target is contiguous.
	* resolve.cc (resolve_symbol): Skip array type check for an
	associate variable when	the target has the contiguous attribute.

2025-11-18  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-11-17  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/122709
	* resolve.cc (resolve_assoc_var): If the associate target is a
	contiguous pointer, so is the associate variable.

2025-11-01  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-10-25  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/114023
	* trans-expr.cc (gfc_trans_pointer_assignment): Always set dtype
	when remapping a pointer.  For unlimited polymorphic LHS use
	elem_len from RHS.
	* trans-intrinsic.cc (gfc_conv_is_contiguous_expr): Extend inline
	generated code for IS_CONTIGUOUS for pointer arguments to detect
	when span differs from the element size.

2025-11-01  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-10-24  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/122386
	* dependency.cc (gfc_ref_needs_temporary_p): Revert r16-518.
	* trans-intrinsic.cc (gfc_conv_intrinsic_transfer): Force temporary
	for SOURCE not being a simply-contiguous array.

2025-10-25  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-10-09  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/122206
	* trans-types.cc (gfc_get_function_type): Do not clobber an
	existing procedure interface.

2025-10-25  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-10-04  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/107968
	* trans-io.cc (gfc_trans_transfer): Also scalarize I/O of section
	of an array pointer.

2025-09-28  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-09-11  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/121616
	* primary.cc (gfc_variable_attr): Properly set dimension attribute
	from a component ref.

2025-09-28  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-09-25  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/121939
	* trans-types.cc (gfc_init_types): Set string flag for all
	character types.

2025-09-28  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-09-21  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/108581
	* trans-array.cc (gfc_conv_expr_descriptor): Take the dynamic
	string length into account when deriving the dataptr offset for
	a deferred-length character array.

2025-09-23  Paul Thomas  <pault@gcc.gnu.org>

	Backported from master:
	2025-08-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/89092
	* resolve.cc (was_declared): Add subroutine attribute.

2025-09-09  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-09-03  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/121263
	* trans-intrinsic.cc (gfc_conv_intrinsic_transfer): For an
	unlimited polymorphic SOURCE to TRANSFER use saved descriptor
	if possible.

2025-08-08  Release Manager

	* GCC 15.2.0 released.

2025-07-28  Andre Vehreschild  <vehre@gcc.gnu.org>

	Backported from master:
	2025-07-21  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/119106
	* expr.cc (simplify_constructor): Do not simplify constants.
	(gfc_simplify_expr): Continue to simplify expression when an
	iterator is present.

2025-07-26  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-07-23  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/121203
	* trans-expr.cc (gfc_conv_procedure_call): Obtain the character
	length of an assumed character length procedure from the typespec
	of the actual argument even if there is no explicit interface.

2025-07-20  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-07-18  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/121145
	* trans-expr.cc (gfc_conv_procedure_call): Do not create pointer
	check for proc-pointer actual passed to optional dummy.

2025-07-16  Paul Thomas  <pault@gcc.gnu.org>

	Backported from master:
	2025-07-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/121060
	* interface.cc (matching_typebound_op): Defer determination of
	specific procedure until resolution by returning NULL.

2025-07-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>

	Backported from master:
	2025-07-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>

	PR fortran/104428
	* trans-openmp.cc (gfc_trans_omp_declare_variant): Check that proc_st
	is non-NULL before dereferencing.  Add line number to error message.

2025-07-15  Andre Vehreschild  <vehre@gcc.gnu.org>

	Backported from master:
	2025-07-08  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/120637
	* class.cc (finalize_component): Return true, when a finalizable
	component was detect and do not free it.

2025-07-09  Andre Vehreschild  <vehre@gcc.gnu.org>

	Backported from master:
	2025-07-03  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/120843
	* resolve.cc (resolve_operator): Remove conformability check,
	because it is not in the standard.

2025-07-08  Andre Vehreschild  <vehre@gcc.gnu.org>

	Backported from master:
	2025-07-01  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/120847
	* coarray.cc (check_add_new_comp_handle_array): Make the count
	of components static to be able to create more than one.  Create
	an array component only for array expressions.

2025-07-08  Andre Vehreschild  <vehre@gcc.gnu.org>

	Backported from master:
	2025-07-01  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/120843
	* resolve.cc (resolve_operator): Report inconsistent coranks
	only when not referencing this_image.
	(gfc_op_rank_conformable): Treat coranks as inconformable only
	when a coindex other then implicit this_image is used.

2025-07-03  Andre Vehreschild  <vehre@gcc.gnu.org>

	Backported from master:
	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-27  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-06-27  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/120784
	* interface.cc (gfc_match_end_interface): Detect empty local_name.

2025-06-26  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-06-23  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/120784
	* interface.cc (gfc_match_end_interface): If a use-associated
	symbol is renamed, use the local_name for checking.

2025-06-25  Paul Thomas  <pault@gcc.gnu.org>

	Backported from master:
	2025-05-01  Paul Thomas  <pault@gcc.gnu.org>
		    and Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/119948
	* resolve.cc (gfc_impure_variable): The result of a module
	procedure with an interface declaration is not impure even if
	the current namespace is not the same as the symbol's.
	* primary.cc (match_variable): Module procedures with sym the
	same as result can be treated as variables, although marked
	external.

2025-06-18  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-06-16  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/51961
	* resolve.cc (conformable_arrays): Use modified rank check when
	MOLD= expression is given.

2025-06-13  Andre Vehreschild  <vehre@gcc.gnu.org>

	Backported from master:
	2025-06-13  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/120483
	* trans-expr.cc (gfc_conv_substring): Use pointer arithmetic on
	static allocatable char arrays.

2025-06-04  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-06-03  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/99838
	* data.cc (gfc_assign_data_value): For a new initializer use the
	location from the constructor as fallback.

2025-06-03  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-05-30  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/102599
	PR fortran/114022
	* expr.cc (simplify_complex_array_inquiry_ref): Helper function for
	simplification of inquiry references (%re/%im) of constant complex
	arrays.
	(find_inquiry_ref): Use it for handling %re/%im inquiry references
	of complex arrays.
	(scalarize_intrinsic_call): Fix frontend memleak.
	* primary.cc (gfc_match_varspec): When the reference is NULL, the
	previous simplification has succeeded in evaluating inquiry
	references also of arrays.

2025-06-03  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-05-27  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/101735
	* primary.cc (gfc_match_varspec): Correct order of logic.

2025-06-03  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-05-27  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/101735
	* expr.cc (find_inquiry_ref): If an inquiry reference applies to
	a substring, use that, and calculate substring length if needed.
	* primary.cc (extend_ref): Also handle attaching to end of
	reference chain for appending.
	(gfc_match_varspec): Discrimate between arrays of character and
	substrings of them.  If a substring is taken from a character
	component of a derived type, get the proper typespec so that
	inquiry references work correctly.
	(gfc_match_rvalue): Handle corner case where we hit a seemingly
	dangling '%' and missed an inquiry reference. Try another match.

2025-06-02  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2025-05-10  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/120193
	* trans-types.cc (gfc_init_types): For flag_unsigned use
	build_distinct_type_copy or build_variant_type_copy from
	gfc_character_types[index_char] if index_char > -1 instead of
	gfc_character_types[index_char] or
	gfc_build_unsigned_type (&gfc_unsigned_kinds[index]).

2025-06-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	Backported from master:
	2025-05-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/119856
	* io.cc: Set missing comma error checks to STD_STD_LEGACY.

2025-05-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	Backported from master:
	2025-05-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/120049
	* check.cc (gfc_check_c_associated): Use new helper functions.
	Only call check_c_ptr_1 if optional c_ptr_2 tests succeed.
	(check_c_ptr_1): Handle only c_ptr_1 checks.
	(check_c_ptr_2): Expand checks for c_ptr_2 and handle cases
	where there is no derived pointer in the gfc_expr and check
	the inmod_sym_id only if it exists. Rephrase error message.
	* misc.cc (gfc_typename): Handle the case for BT_VOID rather
	than throw an internal error.

2025-05-31  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backported from master:
	2025-05-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/120355
	* interface.cc (compare_parameter): If the global function has a
	result clause, take typespec from there for the comparison against
	the dummy argument.

2025-05-22  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-05-15  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/85750
	* resolve.cc (resolve_symbol): Reorder conditions when to apply
	default-initializers.

2025-05-20  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-05-10  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/102891
	* dependency.cc (gfc_ref_needs_temporary_p): Within an array
	reference, inquiry references of complex variables generally
	need a temporary.

2025-05-19  Tobias Burnus  <tburnus@baylibre.com>

	Backported from master:
	2025-05-15  Tobias Burnus  <tburnus@baylibre.com>

	* trans-openmp.cc (gfc_omp_deep_mapping_do): Handle SSA_NAME if
	a def_stmt is available.

2025-05-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	Backported from master:
	2025-05-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/120049
	* check.cc (gfc_check_c_associated): Modify checks to avoid
	ICE and allow use, intrinsic :: iso_c_binding from a separate
	module file.

2025-05-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backported from master:
	2025-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/120139
	* dump-parse-tree.cc (get_c_type_name): If no constant
	size of an array exists, output an asterisk.

2025-05-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backported from master:
	2025-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/120107
	* dump-parse-tree.cc (write_type): Do not dump non-interoperable
	types.

2025-05-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/120163
	* gfortran.h: Add formal_resolved to gfc_symbol.
	* resolve.cc (gfc_resolve_formal_arglist): Set it.
	(resolve_function): Do not call gfc_get_formal_from_actual_arglist
	if we already resolved a formal arglist.
	(resolve_call): Likewise.

2025-05-13  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2025-05-13  Jakub Jelinek  <jakub@redhat.com>
		    Daniil Kochergin  <daniil2472s@gmail.com>
		    Tobias Burnus  <tburnus@baylibre.com>

	PR fortran/120191
	* trans-intrinsic.cc (strip_kind_from_actual): Remove.
	(gfc_conv_intrinsic_minmaxloc): Don't call strip_kind_from_actual.
	Free and clear kind_arg->expr if non-NULL.  Set back_arg->name to
	"%VAL" instead of a loop looking for last argument.  Remove actual
	variable, use array_arg instead.  Free and clear dim_arg->expr if
	non-NULL for BT_CHARACTER cases instead of using a loop.

2025-05-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/119928
	* interface.cc (gfc_check_dummy_characteristics): Do not issue
	error if one dummy symbol has been generated from an actual
	argument and the other one has OPTIONAL, INTENT, ALLOCATABLE,
	POINTER, TARGET, VALUE, ASYNCHRONOUS or CONTIGUOUS.
	(gfc_get_formal_from_actual_arglist): Do nothing if symbol
	is a class.

2025-05-09  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-05-08  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/120179
	* match.cc (gfc_match_do): Do not attempt to match end-of-statement
	twice.

2025-05-09  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-05-04  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/119986
	* expr.cc (is_subref_array): When searching for array references,
	do not terminate early so that inquiry references to complex
	components work.
	* primary.cc (gfc_variable_attr): A substring reference can refer
	to either a scalar or array character variable.  Adjust search
	accordingly.

2025-05-03  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2025-04-25  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/102900
	* trans-decl.cc (gfc_generate_function_code): Use sym->result
	when generating fake result decl for functions returning
	allocatable or pointer results.
	* trans-expr.cc (gfc_conv_procedure_call): When checking the
	pointer status of an actual argument passed to a non-allocatable,
	non-pointer dummy which is of type CLASS, do not check the
	class container of the actual if it is just a procedure pointer.
	(gfc_trans_pointer_assignment): Fix treatment of assignment to
	NULL of a procedure pointer.

2025-04-25  Release Manager

	* GCC 15.1.0 released.

2025-04-23  Steven G. Kargl  <kargl@gcc.gnu.org>

	Backported from master:
	2025-04-19  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/119836
	* resolve.cc (check_pure_function): Fix checking for
	an impure subprogram within a DO CONCURRENT construct.
	(pure_subroutine): Ditto.

2025-04-16  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/106948
	* resolve.cc (gfc_pure_function): If a function has been resolved,
	but esym is not yet set, look at its attributes to see whether it
	is pure or elemental.

2025-04-15  Tobias Burnus  <tburnus@baylibre.com>

	* f95-lang.cc (LANG_HOOKS_OMP_DEEP_MAPPING,
	LANG_HOOKS_OMP_DEEP_MAPPING_P, LANG_HOOKS_OMP_DEEP_MAPPING_CNT):
	Define.
	* openmp.cc (gfc_match_omp_clause_reduction): Fix location setting.
	(resolve_omp_clauses): Permit allocatable components, reject
	them and polymorphic variables in PRIVATE/FIRSTPRIVATE.
	* trans-decl.cc (add_clause): Set clause location.
	* trans-openmp.cc (gfc_has_alloc_comps): Add ptr_ok and
	shallow_alloc_only Boolean arguments.
	(gfc_omp_replace_alloc_by_to_mapping): New.
	(gfc_omp_private_outer_ref, gfc_walk_alloc_comps,
	gfc_omp_clause_default_ctor, gfc_omp_clause_copy_ctor,
	gfc_omp_clause_assign_op, gfc_omp_clause_dtor): Update call to it.
	(gfc_omp_finish_clause): Minor cleanups, improve location data,
	handle allocatable components.
	(gfc_omp_deep_mapping_map, gfc_omp_deep_mapping_item,
	gfc_omp_deep_mapping_comps, gfc_omp_gen_simple_loop,
