2020-07-23  Release Manager

	* GCC 10.2.0 released.

2020-07-13  Julian Brown  <julian@codesourcery.com>

	Backported from master:
	2020-07-09  Julian Brown  <julian@codesourcery.com>

	* trans-openmp.c (gfc_trans_omp_clauses): Use 'inner' not 'decl' for
	derived type members which themselves have derived types.

2020-07-08  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2020-07-06  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95709
	* resolve.c (gfc_resolve_code): Check for valid arguments to
	assigned GOTO.

2020-07-06  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2020-07-02  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/93337
	* class.c (gfc_find_derived_vtab): Punt if name is not set.

2020-07-05  Thomas Koenig  <tkoenig@gcc.gnu.org>

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

	PR fortran/95366
	* gfortran.h (gfc_typename): Add optional argument for_hash.
	* misc.c (gfc_typename): When for_hash is true, just retur
	  CHARACTER(kind).
	* class.c (gfc_intrinsic_hash_value): Call gfc_typename with
	  for_hash = true.

2020-07-02  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2020-06-30  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/88379
	* resolve.c (resolve_assoc_var): Avoid NULL pointer dereference.

2020-07-01  Mark Eggleston  <markeggleston@gcc.gnu.org>

	Backported from master:
	2020-07-01  Steven G. Kargl  <kargl@gcc.gnu.org>
		    Mark Eggleston  <markeggleston@gcc.gnu.org>

	PR fortran/95829
	* decl.c (gfc_match_decl_type_spec): Compare with "* ) " instead
	of "*)".

2020-06-30  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2020-06-29  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95978
	* decl.c (gfc_match_data): Avoid NULL pointer dereference.

2020-06-30  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2020-06-29  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/71706
	* trans-stmt.c (gfc_trans_sync): Do proper kind conversion in
	bounds-checking code.

2020-06-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backported from master:
	2020-06-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/95743
	* trans-decl.c (gfc_generate_function_code): Do not generate
	recursion check for compiler-generated procedures.

2020-06-29  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2020-06-28  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95340
	* match.c (gfc_match_select_rank): Do not dereference NULL pointer.

2020-06-29  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2020-06-28  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95880
	* symbol.c (gfc_add_type): If sym->ns->proc_name is set, use it,
	otherwise fall back to sym->name.

2020-06-27  Harald Anlauf  <anlauf@gmx.de>

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

	PR fortran/95881
	* resolve.c (resolve_symbol): Avoid NULL pointer dereference.

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

	Backported from master:
	2020-06-25  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95826
	* decl.c (gfc_match_decl_type_spec): Replace a fixed size
	buffer by a pointer and reallocate if necessary.

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

	Backported from master:
	2020-06-25  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95828
	* match.c (select_rank_set_tmp): Enlarge internal buffer used in
	generating a mangled name.
	* resolve.c (resolve_select_rank): Likewise.

2020-06-25  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2020-06-24  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95827
	* iresolve.c (gfc_get_string): Enlarge internal buffer used in
	generating the mangled name.

2020-06-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backported from master:
	2020-06-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/95812
	* dependency.c (ref_same_as_full_array): Handle case of AR_FULL
	vs. AR_FULL.

2020-06-23  Mark Eggleston  <markeggleston@gcc.gnu.org>

	Backported from master:
	2020-06-22  Steven G. Kargl  <kargl@gcc.gnu.org>
		    Mark Eggleston  <markeggleston@gcc.gnu.org>

	PR fortran/95708
	* intrinsic.c (add_functions): Replace CLASS_INQUIRY with
	CLASS_TRANSFORMATIONAL for intrinsic num_images.
	(make_generic): Replace ACTUAL_NO with ACTUAL_YES for
	intrinsic team_number.
	* resolve.c (resolve_fl_procedure): Check pointer ts.u.derived
	exists before using it.

2020-06-22  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2020-06-20  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95707
	* gfortran.h (gfc_common_head): Enlarge buffer.
	* trans-common.c (gfc_sym_mangled_common_id): Enlarge temporary
	buffers, and add check on length on mangled name to prevent
	overflow.

2020-06-22  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2020-06-20  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95688
	* iresolve.c (gfc_get_string): Enlarge static buffer size.

2020-06-22  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2020-06-20  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95687
	* class.c (get_unique_type_string): Return a string with dynamic
	length.
	(get_unique_hashed_string, gfc_hash_value): Use dynamic result
	from get_unique_type_string instead of static buffer.

2020-06-22  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2020-06-20  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95689
	* interface.c (check_sym_interfaces): Enlarge temporary buffer,
	and add check on length on mangled name to prevent overflow.

2020-06-22  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2020-06-20  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95587
	* match.c (gfc_match_equivalence): Check constraints on
	EQUIVALENCE objects also for CLASS variables.

2020-06-17  Harald Anlauf  <anlauf@gmx.de>

	Backported from master:
	2020-06-17  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95088
	* class.c (get_unique_type_string): Replace use of fixed size
	buffer by internally passing a pointer to strings.

2020-06-14  Steven G. Kargl  <kargl@gcc.gnu.org>
	    Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95544
	* check.c (invalid_null_arg): Rename to gfc_invalid_null_arg.
	(gfc_check_associated, gfc_check_kind, gfc_check_merge)
	(gfc_check_shape, gfc_check_size, gfc_check_spread)
	(gfc_check_transfer): Adjust.
	(gfc_check_len_lentrim, gfc_check_trim): Check for NULL() argument.
	* gfortran.h: Declare gfc_invalid_null_arg ().
	* intrinsic.c (check_arglist): Check for NULL() argument.

2020-06-14  Steve Kargl  <kargl@gcc.gnu.org>
	    Harald Anlauf  <anlauf@gmx.de>

	PR fortran/93366
	* check.c (gfc_check_associated, invalid_null_arg): Factorize
	check for presence of invalid NULL() argument.
	(gfc_check_kind, gfc_check_merge, gfc_check_shape)
	(gfc_check_sizeof, gfc_check_spread, gfc_check_transfer): Use this
	check for presence of invalid NULL() arguments.

2020-06-14  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95503
	* expr.c (gfc_check_pointer_assign): Skip contiguity check of rhs
	of pointer assignment if lhs cannot be simply contiguous.

2020-06-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/94109
	* class.c (finalize_component): Return early if finalization has
	already happened for expression and component within namespace.
	* gfortran.h (gfc_was_finalized): New type.
	(gfc_namespace): Add member was_finalzed.
	(gfc_expr): Remove finalized.
	* symbol.c (gfc_free_namespace): Free was_finalized.

2020-06-11  Harald Anlauf  <anlauf@gmx.de>
	    Steven G. Kargl   <kargl@gcc.gnu.org>

	PR fortran/95611
	* decl.c (access_attr_decl): Use correct symbol in error message.

2020-06-11  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95091
	* class.c (gfc_hash_value): Add cast.

2020-06-11  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95091
	* class.c (get_unique_type_string, gfc_hash_value): Enlarge
	buffers, and check whether the strings returned by
	get_unique_type_string() fit.

2020-06-05  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95373
	* primary.c (is_inquiry_ref): Move validity check of inquiry
	references against selected Fortran standard from here...
	(gfc_match_varspec) ...to here.

2020-06-05  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95373
	* primary.c (is_inquiry_ref): Check validity of inquiry
	references against selected Fortran standard.

2020-06-05  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95106
	* trans-common.c (gfc_sym_mangled_common_id): Enlarge temporaries
	for name-mangling.

2020-06-05  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95530
	PR fortran/95537
	* decl.c (gfc_match_decl_type_spec): Enlarge buffer, and enhance
	string copy to detect buffer overflow.
	* gfortran.h (gfc_common_head): Enlarge buffer.
	* trans-common.c (finish_equivalences): Enhance string copy to
	detect buffer overflow.

2020-06-05  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95090
	* class.c (get_unique_type_string): Use buffer overrun check.

2020-06-05  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95090
	* class.c (get_unique_type_string): Enlarge temporary for
	name-mangling.  Use strncpy to prevent buffer overrun.
	(get_unique_hashed_string): Enlarge temporary.
	(gfc_hash_value): Enlarge temporary for name-mangling.

2020-06-05  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95090
	* iresolve.c (gfc_get_string): Enlarge temporary for
	name-mangling.

2020-06-05  Steven G. Kargl  <kargl@gcc.gnu.org>
	    Harald Anlauf  <anlauf@gmx.de>

	PR fortran/95500
	* trans-expr.c (gfc_conv_expr_reference): Do not dereference NULL
	pointer.

2020-06-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/94361
	* class.c (finalize_component): Use expr->finalized instead of
	comp->finalized.
	* gfortran.h (gfc_component): Remove finalized member.
	(gfc_expr): Add it here instead.

2020-05-28  Steven G. Kargl  <kargl@gcc.gnu.org>
	    Mark Eggleston  <markeggleston@gcc.gnu.org>
	    Mark Eggleston  <markeggleston@gcc.gnu.org>

	PR fortran/94397
	* match.c (gfc_match_type_spec): New variable ok initialised
	to true. Set ok with the return value of gfc_reduce_init_expr
	called only if the expression is not EXPR_CONSTANT and is not
	EXPR_VARIABLE. Add !ok to the check for type not being integer
	or the rank being greater than zero.

2020-05-28  Tobias Burnus  <tobias@codesourcery.com>
	    Mark Eggleston  <markeggleston@gnu.gcc.org>

	PR fortran/50392
	* trans-decl.c (gfc_get_symbol_decl): Remove unnecessary block
	delimiters.  Add auxiliary variables if a label is assigned to
	a return variable. (gfc_gat_fake_result): If the symbol has an
	assign attribute set declaration from the symbol's backend
	declaration.

2020-05-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/95191
	* libgfortran.h (libgfortran_error_codes): Add
	LIBERROR_BAD_WAIT_ID.

2020-05-20  Mark Eggleston  <markeggleston@gcc.gnu.org>

	Backported from master
	2020-05-20  Mark Eggleston  <markeggleston@gcc.gnu.org>

	PR fortran/39695
	* resolve.c (resolve_fl_procedure): Set name depending on
	whether the result attribute is set.  For PROCEDURE/RESULT
	conflict use the name in sym->ns->proc_name->name.
	* symbol.c (gfc_add_type): Add check for function and result
	attributes use sym->ns->proc_name->name if both are set.
	Where the symbol cannot have a type use the name in
	sym->ns->proc_name->name.

2020-05-13  Mark Eggleston  <markeggleston@gcc.gnu.org>

	Backported from master
	2020-05-13  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/93497
	* decl.c (char_len_param_value): Check whether character
	length expression is of type EXPR_OP and if so simplify it.
	* resolve.c (resolve_charlen): Reject length if it has a
	rank.

2020-05-12  Tobias Burnus  <tobias@codesourcery.com>

	Backported from mainline
	2020-05-11  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/94672
	* trans.h (gfc_conv_expr_present): Add use_saved_decl=false argument.
	* trans-expr.c (gfc_conv_expr_present): Likewise; use DECL directly
	and only if use_saved_decl is true, use the actual PARAM_DECL arg (saved
	descriptor).
	* trans-array.c (gfc_trans_dummy_array_bias): Set local 'arg.0'
	variable to NULL if 'arg' is not present.
	* trans-openmp.c (gfc_omp_check_optional_argument): Simplify by checking
	'arg.0' instead of the true PARM_DECL.
	(gfc_omp_finish_clause): Remove setting 'arg.0' to NULL.

2020-05-11  Mark Eggleston  <markeggleston@gcc.gnu.org>

	Backported from mainline
	2020-05-11  Janus Weil  <janus@gcc.gnu.org>
		    Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/59107
	* gfortran.h: Rename field resolved as resolve_symbol_called
	and assign two 2 bits instead of 1.
	* interface.c (check_dtio_interface1): Use new field name.
	(gfc_find_typebound_dtio_proc): Use new field name.
	* resolve.c (gfc_resolve_intrinsic): Replace check of the formal
	field with resolve_symbol_called is at least 2, if it is not
	set the field to 2.  (resolve_typebound_procedure): Use new field
	name.  (resolve_symbol): Use new field name and check whether it
	is at least 1, if it is not set the field to 1.

2020-05-07  Release Manager

	* GCC 10.1.0 released.

2020-04-29  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>

	PR fortran/94769
	* io.c (check_io_constraints): Initialize local variable num to
	-1 and assert that it receives a meaningful value by function
	compare_to_allowed_values.

2020-04-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/93956
	PR fortran/94788
	* expr.c (gfc_check_pointer_assign): Revert patch for PR 93956.
	* interface.c: Likewise.

2020-04-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/94578
	* trans-expr.c (arrayfunc_assign_needs_temporary): If the
	LHS is a subref pointer, we also need a temporary.

2020-04-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/93956
	* expr.c (gfc_check_pointer_assign): Also set subref_array_pointer
	when a function returns a pointer.
	* interface.c (gfc_set_subref_array_pointer_arg): New function.
	(gfc_procedure_use): Call it.

2020-04-22  Fritz Reese  <foreese@gcc.gnu.org>

	* trigd_fe.inc: Use mpfr to compute cosd(30) rather than a host-
	precision floating point literal based on an invalid macro.

2020-04-22  José Rui Faustino de Sousa  <jrfsousa@gmail.com>

	PR fortran/90350
	* simplify.c (simplify_bound): In the case of assumed-size arrays
	check if the reference is to a full array.

2020-04-22  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/94709
	* scanner.c (load_line): In fixed form, also treat 'C' as comment and
	'D'/'d' only with -fd-lines-as-comments. Treat '!$' with -fopenmp,
	'!$acc' with -fopenacc and '!GCC$' as non-comment to permit <tab>
	and truncation warnings.

2020-04-20  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* dump-parse-tree.c (show_attr): Add numerous flags, some cleanup.

2020-04-20  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/93364
	* array.c (gfc_set_array_spec): Check for sum of rank and corank
	not exceeding GFC_MAX_DIMENSIONS.

2020-04-20  Steve Kargl  <kargl@gcc.gnu.org>
	Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/91800
	* decl.c (variable_decl): Reject Hollerith constants as type
	initializer.

2020-04-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/93500
	* resolve.c (resolve_operator): If both operands are
	NULL, return false.
	* simplify.c (simplify_bound): If a division by zero
	was seen during bound simplification, free the
	corresponcing expression and return &gfc_bad_expr.

2020-04-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/94090
	* gfortran.dg (gfc_compare_interfaces): Add
	optional argument bad_result_characteristics.
	* interface.c (gfc_check_result_characteristics): Fix
	whitespace.
	(gfc_compare_interfaces): Handle new argument; return
	true if function return values are wrong.
	* resolve.c (resolve_global_procedure): Hard error if
	the return value of a function is wrong.

2020-04-15  Fritz Reese  <foreese@gcc.gnu.org>
	Linus Koenig <link@sig-st.de>

	PR fortran/94192
	* simplify.c (simplify_bound): Simplify condition for error check.

2020-04-14  Tobias Burnus  <tobias@codesourcery.com>

	* module.c (gfc_match_use): Fix name-conflict check for use-associating
	the same symbol again in a submodule.

2020-04-13  Linus Koenig <link@sig-st.de>

	PR fortran/94192
	* resolve.c (resolve_fl_var_and_proc): Set flag "error" to 1 if
	pointer is found to not have an assumed rank or a deferred shape.
	* simplify.c (simplify_bound): If an error has been issued for a
	given pointer, one should not attempt to find its bounds.

2020-04-09  Fritz Reese  <foreese@gcc.gnu.org>

	PR fortran/87923
	* gfortran.h (gfc_resolve_open, gfc_resolve_close): Add
	locus parameter.
	(gfc_resolve_dt): Add code parameter.
	* io.c (async_io_dt, check_char_variable, is_char_type): Removed.
	(resolve_tag_format): Add locus to error message regarding
	zero-sized array in FORMAT tag.
	(check_open_constraints, check_close_constraints): New functions
	called at resolution time.
	(gfc_match_open, gfc_match_close, match_io): Move checks which don't
	affect the match result to new functions check_open_constraints,
	check_close_constraints, check_io_constraints.
	(gfc_resolve_open, gfc_resolve_close): Call new functions
	check_open_constraints, check_close_constraints after all tags have
	been independently resolved.  Remove duplicate constraints which are
	already verified by resolve_tag.  Explicitly pass locus to all error
	reports.
	(compare_to_allowed_values): Add locus parameter and provide
	explicit locus all error reports.
	(match_open_element, match_close_element, match_file_element,
	match_dt_element, match_inquire_element): Remove redundant special
	cases for ASYNCHRONOUS and IOMSG tags.
	(gfc_resolve_dt): Remove redundant special case for format
	expression.  Call check_io_constraints, forwarding an I/O list as
	the io_code parameter if present.
	(check_io_constraints): Change return type to bool.  Pass explicit
	locus to error reports.  Move generic checks after tag-specific
	checks, since errors are no longer buffered.  Move simplification of
	format string to match_io.  Remove redundant checks which are
	verified by resolve_tag.  Remove usage of async_io_dt flag and
	explicitly mark symbols used in asynchronous I/O with the
	asynchronous attribute.
	* resolve.c (resolve_transfer, resolve_fl_namelist): Remove checks
	for async_io_dt flag.  This is now done in io.c.
	(check_io_constraints).
	(gfc_resolve_code): Pass code locus to gfc_resolve_open,
	gfc_resolve_close, gfc_resolve_dt.

2020-04-07  Fritz Reese  <foreese@gcc.gnu.org>
	    Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/93871
	* gfortran.h (GFC_ISYM_ACOSD, GFC_ISYM_ASIND, GFC_ISYM_ATAN2D,
	GFC_ISYM_ATAND, GFC_ISYM_COSD, GFC_ISYM_COTAND, GFC_ISYM_SIND,
	GFC_ISYM_TAND): New.
	* intrinsic.c (add_functions): Remove check for flag_dec_math.
	Give degree trig functions simplification and name resolution
	functions (e.g, gfc_simplify_atrigd () and gfc_resolve_atrigd ()).
	(do_simplify): Remove special casing of degree trig functions.
	* intrinsic.h (gfc_simplify_acosd, gfc_simplify_asind,
	gfc_simplify_atand, gfc_simplify_cosd, gfc_simplify_cotand,
	gfc_simplify_sind, gfc_simplify_tand, gfc_resolve_trigd2): Add new
	prototypes.
	(gfc_simplify_atrigd, gfc_simplify_trigd, gfc_resolve_cotan,
	resolve_atrigd): Remove prototypes of deleted functions.
	* iresolve.c (is_trig_resolved, copy_replace_function_shallow,
	gfc_resolve_cotan, get_radians, get_degrees, resolve_trig_call,
	gfc_resolve_atrigd, gfc_resolve_atan2d): Delete functions.
	(gfc_resolve_trigd, gfc_resolve_trigd2): Resolve to library functions.
	* simplify.c (rad2deg, deg2rad, gfc_simplify_acosd, gfc_simplify_asind,
	gfc_simplify_atand, gfc_simplify_atan2d, gfc_simplify_cosd,
	gfc_simplify_sind, gfc_simplify_tand, gfc_simplify_cotand): New
	functions.
	(gfc_simplify_atan2): Fix error message.
	(simplify_trig_call, gfc_simplify_trigd, gfc_simplify_atrigd,
	radians_f): Delete functions.
	* trans-intrinsic.c: Add LIB_FUNCTION decls for sind, cosd, tand.
	(rad2deg, gfc_conv_intrinsic_atrigd, gfc_conv_intrinsic_cotan,
	gfc_conv_intrinsic_cotand, gfc_conv_intrinsic_atan2d): New functions.
	(gfc_conv_intrinsic_function): Handle ACOSD, ASIND, ATAND, COTAN,
	COTAND, ATAN2D.
	* trigd_fe.inc: New file. Included by simplify.c to implement
	simplify_sind, simplify_cosd, simplify_tand with code common to the
	libgfortran implementation.

2020-04-06  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/93686
	* decl.c (gfc_match_data): Handle data matching for derived type
	pointers.

2020-04-02  Tobias Burnus  <tobias@codesourcery.com>

	* gfortran.h (gfc_resolve_formal_arglist): Add prototype.
	* interface.c (check_dtio_interface1): Call it.
	* resolve.c (gfc_resolve_formal_arglist): Renamed from
	resolve_formal_arglist, removed static.
	(find_arglists, resolve_types): Update calls.

2020-04-02  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/93522
	* match.c (gfc_match_select_rank): Fix error cleanup.

2020-04-02  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/93498
	* check.c (gfc_check_findloc):  If the kinds of the arguments
	differ goto label "incompat".

2020-04-02 Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/94030
	* resolve.c (resolve_equivalence): Correct formatting
	around the label "identical_types".  Instead of using
	gfc_resolve_array_spec use is_non_constants_shape_array
	to determine whether the array can be used in a in an
	equivalence statement.

2020-04-01  Mark Eggleston  <mark.eggleston@codethink.com>

	PR fortran/94386
	expr.c (simplify_parameter_variable): Restore code deleted
	in PR94246.

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

	PR fortran/94246
	* arith.c : Remove trailing white space.
	* expr.c (scalarize_intrinsic_call): Remove the error checking.
	Make a copy of the expression to be simplified and only replace
	the original if the simplification succeeds.

2020-03-28  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/94348
	* decl.c (gfc_match_submod_proc): Add result var to the
	proc's namespace.

2020-03-27  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/93957
	* trans-array.c (gfc_alloc_allocatable_for_assignment): Accept
	nonallocatable, nonpointer deferred-rank arrays.

2020-03-27  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/93363
	* resolve.c (resolve_assoc_var): Reject association to DT and
	function name.

2020-03-25  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/93484
	* match.c (gfc_match_type_spec): Replace gfc_match_init_expr with
	gfc_match_expr. Return m if m is MATCH_NO or MATCH_ERROR.

2020-03-23  Mark Eggleston  <mark.eggleston@codethink.com>
	Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/93600
	* expr.c (simplify_parameter_variable): Check whether the ref
	chain contains INQUIRY_LEN or INQUIRY_KIND and set inquiry
	boolean. When an empty array has been identified and a new
	new EXPR_ARRAY expression has been created only return that
	expression if inquiry is not set. This allows the new
	expression to drop through to be simplified into a
	EXPR_CONSTANT representing %kind or %len.
	* matc.c (gfc_match_assignment): If lvalue doesn't have a
	symtree free both lvalue and rvalue expressions and return
	an error.
	* resolv.c (gfc_resolve_ref): Ensure that code to handle
	INQUIRY_LEN is only performed for arrays with deferred types.

2020-03-18  Jakub Jelinek  <jakub@redhat.com>

	* class.c (generate_finalization_wrapper): Fix up duplicated word
	issue in a comment.
	* trans-types.c (gfc_get_nodesc_array_type): Likewise.

2020-03-17  Jakub Jelinek  <jakub@redhat.com>

	* array.c (gfc_check_iter_variable): Fix up duplicated word issue
	in a comment.
	* arith.c (gfc_arith_concat): Likewise.
	* resolve.c (gfc_resolve_ref): Likewise.
	* frontend-passes.c (matmul_lhs_realloc): Likewise.
	* module.c (gfc_match_submodule, load_needed): Likewise.
	* trans-expr.c (gfc_init_se): Likewise.

2020-03-15  Lewis Hyatt  <lhyatt@gmail.com>

	* lang.opt: Avoid redundancy in the help text.

2020-03-12  Tobias Burnus  <tobias@codesourcery.com>

	PR middle-end/94120
	* openmp.c (gfc_match_oacc_declare): Accept function-result
	variables; reject variables declared in a different scoping unit.

2020-03-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/93581
	* resolve.c (gfc_resolve_ref): Modify array refs to be elements
	if the ref chain ends in INQUIRY_LEN.
	* trans-array.c (gfc_get_dataptr_offset): Provide the offsets
	for INQUIRY_RE and INQUIRY_IM.

2020-03-05 Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/93792
	* decl.c (variable_decl): If param and initializer check
	for BOZ, if found,  output an error, set m to MATCH_ERROR
	and goto cleanup.

2020-03-02  Andrew Benson  <abensonca@gmail.com>

	PR fortran/93486
	* module.c: Increase size of variables used to read module names
	when loading interfaces from module files to permit cases where
	the name is the concatenation of a module and submodule name.
	* gfortran.dg/pr93486.f90: New test.

2020-03-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/92976
	* match.c (select_type_set_tmp): If the selector array spec has
	explicit bounds, make the temporary's bounds deferred.

2020-03-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/92959
	* trans-intrinsic.c (gfc_conv_associated): Eliminate
	'nonzero_charlen' and move the chunk to evaluate zero character
	length until after the argument evaluation so that the string
	length can be used.

2020-02-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/92785
	* trans-expr.c (gfc_conv_intrinsic_to_class): Renormalise non-
	variable expressions to be unity lbound based.

2020-02-25  Steven G. Kargl  <kargl@gcc.gnu.org>

	* simplify.c (degrees_f): Remove unused code.

2020-02-25  Jakub Jelinek  <jakub@redhat.com>

	PR translation/93864
	* intrinsic.texi (CO_BROADCAST): Fix typo, paramter -> parameter.
	* trans-array.c (gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp,
	gfc_check_pdt_dummy): Fix comment typo paramter -> parameter.

2020-02-24  Mark Eggleston  <mark.eggleston@codethink.com>
	    Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/93835
	* decl.c (gfc_match_data) : Check whether the data expression
	is a derived type and is a constructor. If a BOZ constant
	is encountered in the constructor output an error and return
	MATCH_ERROR.

2020-02-24  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/93604
	* decl.c (gfc_match_data) : Check whether the data expression
	is a derived type and is a constructor. If a BOZ constant
	is encountered in the constructor output an error and return
	MATCH_ERROR.

2020-02-24  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/93552
	* match.c (match_exit_cycle): With OpenACC, check the kernels loop
	directive and tile clause as well.

2020-02-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/93889
	* interface.c (compare_parameter): Fix error message.

2020-02-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/93890
	* interface.c: Replace "can not" by "cannot" and remove trailing
	space.

2020-02-20  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/93825
	* openmp.c (resolve_oacc_loop_blocks): Move call to
	resolve_oacc_nested_loops from here ...
	(resolve_oacc_loop): ... to here.

2020-02-18  Mark Eggleston  <markeggleston@gcc.gnu.org>

	PR fortran/93714
	* expr.c (gfc_check_pointer_assign): Move check for
	matching character length to after checking the lvalue
	attributes for target or pointer.

2020-02-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/93601
	* match.c (gfc_match_assignment) : Reject assignment if
	the lhs stype is BT_CLASS and the rhs type is BT_BOZ.

2020-02-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/93603
	* match.c (gfc_match_associate) : If target expression
	has the type BT_BOZ output an error and goto
	assocListError.

2020-02-18  Steven G. Kargl  <kargl@gcc.gnu.org>
	    Mark Eggleston  <markeggleston@gcc.gnu.org>

	PR fortran/93580
	* primary.c (gfc_match_varspec): If the symbol following %
	is re or im and the primary expression type is not BT_COMPLEX
	issue an error. If the symbol is len and the primary
	expression type is not BT_CHARACTER is an error.

2020-02-10  Andrew Benson  <abensonca@gmail.com>

	PR fortran/83113
	* array.c: Do not attempt to set the array spec for a submodule
	function symbol (as it has already been set in the corresponding
	module procedure interface).
	* symbol.c: Do not reject duplicate POINTER, ALLOCATABLE, or
	DIMENSION attributes in declarations of a submodule function.
	* gfortran.h: Add a macro that tests for a module procedure in a
	submodule.
	* gfortran.dg/pr83113.f90: New test.

2020-02-03  Julian Brown  <julian@codesourcery.com>
	    Tobias Burnus  <tobias@codesourcery.com>

	* cpp.c (cpp_define_builtins): Update _OPENACC define to 201711.
	* intrinsic.texi: Update mentions of OpenACC version to 2.6.
	* gfortran.texi: Likewise. Remove experimental disclamer for OpenACC.
	* invoke.texi: Remove experimental disclamer for OpenACC.

2020-02-03  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/93541
	* intrinisic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS):
	Add undocumented parameters from omp_lib.f90.in.

2020-02-03  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/93427
	* resolve.c (resolve_assoc_var): Remove too strict check.
	* gfortran.dg/associate_51.f90: Update test case.

2020-02-01  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/92305
	* trans-types.c (gfc_get_function_type): Also push boolean_type_node
	types for non-character scalar VALUE optional dummy arguments.
	* trans-decl.c (create_function_arglist): Skip those in
	hidden_typelist.  Formatting fix.

2020-01-31  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/93462
	* frontend-passes.c (gfc_code_walker): For EXEC_OACC_ATOMIC, set
	in_omp_atomic to true prevent front-end optimization.

2020-01-30  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	PR fortran/87103
	* expr.c (gfc_check_conformance): Check vsnprintf for truncation.
	* iresolve.c (gfc_get_string): Likewise.
	* symbol.c (gfc_new_symbol): Remove check for maximum symbol
	name length.  Remove redundant 0 setting of new calloc()ed
	gfc_symbol.

2020-01-30  Paul Thomas  <pault@gcc.gnu.org>
	    Jakub Jelinek  <jakub@redhat.com>

	PR fortran/92123
	* trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init for
	CFI descs.
	(gfc_build_builtin_function_decls): Use ".w." instead of ".ww" or ".wR"
	for gfor_fndecl_{cfi_to_gfc,gfc_to_cfi}.
	(convert_CFI_desc): Handle references to CFI descriptors.

2020-01-29  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/93463
	* openmp.c (oacc_code_to_statement): Handle
	EXEC_OACC_{ROUTINE,UPDATE,WAIT,CACHE,{ENTER,EXIT}_DATA,DECLARE}.

2020-01-28  Andrew Benson  <abensonca@gmail.com>

	PR fortran/93461
	* trans.h: Increase GFC_MAX_MANGLED_SYMBOL_LEN to
	GFC_MAX_SYMBOL_LEN*3+5 to allow for inclusion of submodule name,
	plus the "." between module and submodule names.
	* gfortran.dg/pr93461.f90: New test.

2020-01-28  Andrew Benson  <abensonca@gmail.com>

	PR fortran/93473
	* parse.c: Increase length of char variables to allow them to hold
	a concatenated module + submodule name.
	* gfortran.dg/pr93473.f90: New test.

2020-01-28  Julian Brown  <julian@codesourcery.com>

	PR fortran/93025
	* openmp.c (resolve_omp_clauses): Check array references for contiguity.

2020-01-28  Julian Brown  <julian@codesourcery.com>

	* gfortran.h (gfc_symbol): Add comp_mark bitfield.
	* openmp.c (resolve_omp_clauses): Disallow mixed component and
	full-derived-type accesses to the same variable within a single
	directive.

2020-01-28  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/93464
	* openmp.c (gfc_omp_check_optional_argument): Avoid ICE when
	DECL_LANG_SPECIFIC and GFC_DESCRIPTOR_TYPE_P but not
	GFC_DECL_SAVED_DESCRIPTOR as for local allocatable character vars.

2020-01-28  Tobias Burnus  <tobias@codesourcery.com>

	* gfortran.texi (Runtime): Remove tailing '.' in @menu.

2020-01-27  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/85781
	* trans-expr.c (gfc_conv_substring): Handle non-ARRAY_TYPE strings
	of Bind(C) procedures.

2020-01-22  Jakub Jelinek  <jakub@redhat.com>

	* parse.c (parse_omp_structured_block): Handle ST_OMP_TARGET_PARALLEL.
	* trans-openmp.c (gfc_trans_omp_target)
	<case EXEC_OMP_TARGET_PARALLEL>: Call pushlevel first.

	PR fortran/93329
	* openmp.c (omp_code_to_statement): Handle remaining EXEC_OMP_*
	cases.

2020-01-21  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/93309
	* interface.c (gfc_procedure_use): Also check parent namespace for
	'implict none (external)'.
	* symbol.c (gfc_get_namespace): Don't set has_implicit_none_export
	to parent namespace's setting.

2020-01-19  Thomas König  <tkoenig@gcc.gnu.org>

	PR fortran/44960
	* primary.c (gfc_match_rvalue): Break after setting MATCH_ERROR.
	* resolve.c (resolve_function): Issue error when a
	function call contains a reference.

2020-01-17  Mark Eggleston  <mark.eggleston@codethink.com>

	PR fortran/93236
	* resolve.c (resolve_types): Declare boolean recursive and set with the
	value of the recursive attribute of namespace proc_name symbol
	structure if it exists.  Call gfc_save_all if both flag_automatic and
	recursive are false or ns->save_all is true.

2020-01-16  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/93253
	* check.c (gfc_invalid_boz): Mention -fallow-invalid-boz
	in the error message.
	* gfortran.texi (BOZ literal constants): List another missing
