2019-02-22  Release Manager

	* GCC 8.3.0 released.

2019-02-10  Harald Anlauf  <anlauf@gmx.de>

	Backport from trunk
	PR fortran/89077
	* decl.c (add_init_expr_to_sym): Copy length of string initializer
	to declared symbol.

2019-02-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/71237
	Backport from trunk
	* expr.c (gfc_check_assign): Add argument is_init_expr.  If we are
	looking at an init expression, issue error if the target is not a
	TARGET and we are not looking at a procedure pointer.
	* gfortran.h (gfc_check_assign): Add optional argument
	is_init_expr.

2019-02-07  Jakub Jelinek  <jakub@redhat.com>

	Backported from mainline
	2019-02-01  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/83246
	PR fortran/89084
	* trans-decl.c (generate_local_decl): Add referenced FL_PARAMETERs
	if sym->ns->construct_entities rather than if
	sym->ns->parent->code->op == EXEC_BLOCK.

	2019-01-19  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/88902
	* trans-decl.c (gfc_get_symbol_decl): Don't add length to function
	or parent function if it has been added there already.

2019-02-05  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/67679
	Backport from trunk
	* trans-array.c (gfc_array_allocate):  For setting the bounds on
	the new array, add a condition for a not previously allocated
	variable.

2019-02-03  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk
	PR fortran/88393
	* trans-expr.c (gfc_conv_procedure_call): For derived entities,
	passed in parentheses to class formals, invert the order of
	copying allocatable components to taking the _data of the
	class expression.

2019-02-03  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk
	PR fortran/88980
	* trans-array.c (gfc_array_init_size): Add element_size to the
	arguments.
	(gfc_array_allocate): Remove the recalculation of the size of
	the element and use element_size from the call to the above.
	Unconditionally set the span field of the descriptor.

2019-02-03  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk
	PR fortran/88685
	* expr.c (is_subref_array): Move the check for class pointer
	dummy arrays to after the reference check. If we haven't seen
	an array reference other than an element and a component is not
	class or derived, return false.

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

	PR fortran/88298
	Backport from trunk
	* arith.c (gfc_int2int): Do not warn if src->do_not_warn is set.
	* gfortran.h (gfc_expr): Add flag do_not_warn.
	* intrinsic.c (gfc_convert_type_warn): Set expr->do_not_warn if
	no warning is desired.

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

	PR fortran/57048
	Backport from trunk
	* interface.c (gfc_compare_types): If a derived type and an
	integer both have a derived type, and they are identical,
	this is a C binding type and compares equal.

2019-01-27  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk
	PR fortran/56386
	PR fortran/58906
	PR fortran/77385
	PR fortran/80260
	PR fortran/82077
	* resolve.c (resolve_variable): Fix up expressions with array
	associate names, where the parser did not detect that this is
	array and there was no array part_ref in the expression.
	* trans-expr.c (gfc_find_and_cut_at_last_class_ref): base_expr
	should be a copy of e and not the initialization expr.

2019-01-25  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/87336
	* trans-array.c (gfc_get_array_span): Try to get the element
	length of incomplete types. Return NULL_TREE otherwise.
	(gfc_conv_expr_descriptor): Only set the 'span' field if the
	above does not return NULL_TREE. Set 'span' field if possible
	for all new descriptors.

2019-01-15  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/81849
	* resolve.c (resolve_symbol): Host associated varaibles can appear
	in the specification statement of a RESULT array.

2019-01-15  Dominique d'Humieres  <dominiq@gcc.gnu.org>

	PR fortran/88803
	* gfortran.texi: Replace @xref with @ref and adjust the sentence.

2019-01-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/35031
	* decl.c (gfc_match_entry): Check for F2018:C1546.  Fix nearby
	mis-indentation.

2019-01-08  Jakub Jelinek  <jakub@redhat.com>

	Backported from mainline
	2018-12-12  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/88463
	* trans-openmp.c (gfc_omp_predetermined_sharing): Handle TREE_READONLY
	VAR_DECLs with DECL_EXTERNAL like those with TREE_STATIC.

	2018-12-07  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/88377
	* trans-openmp.c (gfc_omp_clause_default_ctor,
	gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op,
	gfc_omp_clause_linear_ctor, gfc_omp_clause_dtor): Only consider
	GFC_DECL_GET_SCALAR_ALLOCATABLE vars as scalar allocatables if they
	have pointer type.

2018-12-23  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk
	PR fortran/77703
	* resolve.c (get_temp_from_expr): Use the string length of
	constant character expressions.

2018-12-23  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk
	PR fortran/77325
	* trans-array.c (gfc_alloc_allocatable_for_assignment): If the
	rhs has a charlen expression, convert that and use it.
	* trans-expr.c (gfc_trans_assignment_1): The rse.pre for the
	assignment of deferred character array vars to a realocatable
	lhs should not be added to the exterior block since vector
	indices, for example, generate temporaries indexed within the
	loop.

2018-12-22  Steven G . Kargl  <kargl@gcc.gnu.org>

	PR fortran/85798
	* decl.c (gfc_match_data): If a component of a derived type entity
	appears in data statement, check that does not have the allocatable
	attribute.

2018-12-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/85544
	* frontend-passes.c (optimize_power): Remove.
	(optimize_op): Remove call to optimize_power.
	* trans-expr.c (gfc_conv_power_op): Handle cases of 1**integer,
	(2|4|8|16) ** integer and (-1) ** integer.

2018-12-22  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88169
	* module.c (mio_namelist): Remove an error condition/message that
	is contrary to the Fortran standard.

2018-12-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/87359
	* trans-array.c (gfc_is_reallocatable_lhs): Correct the problem
	introduced by r264358, which prevented components of associate
	names from being reallocated on assignment.

2018-12-16  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88116
	PR fortran/88467
	* array.c (gfc_match_array_constructor): Check return value of
	gfc_convert_type().  Skip constructor elements with BT_UNKNOWN,
	which need to go through resolution.
	* intrinsic.c (gfc_convert_type_warn): Return early if the types
	martch (i.e., no conversion is required).
	* simplify.c (gfc_convert_constant): Remove a gfc_internal_error,
	and return gfc_bad_expr.

2018-12-15  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88138
	* decl.c (variable_decl): Check that a derived isn't being assigned
	an incompatible entity in an initialization.

2018-12-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88155
	* primary.c (gfc_match_structure_constructor):  Set the locus of
	an expression to avoid a NULL pointer dereference.

2018-12-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88249
	* gfortran.h: Update prototype for gfc_resolve_filepos().
	* io.c (gfc_resolve_filepos): Check for UNIT number if ERR= is present.
	Use passed in locus for error message.
	* resolve.c (gfc_resolve_code): Pass locus in gfc_resolve_filepos()
	call.

2018-12-10  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/87922
	* io.c (gfc_match_open): Additional checks on ASYNCHRONOUS.

2018-12-10  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88269
	* io.c (io_constraint): Update macro. If locus line buffer is NULL,
	use gfc_current_locus in error messages.
	(check_io_constraints): Catch missing IO UNIT in write and read
	statements.  io_constraint macro is incompatible here.

2018-12-09  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88205
	* io.c (gfc_match_open): Move NEWUNIT checks to after STATUS checks.

2018-12-09  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88206
	* match.c (gfc_match_type_spec): REAL can be an intrinsic function.

2018-12-09  Fritz Reese  <fritzoreese@gmail.com>

	PR fortran/88228
	* resolve.c (resolve_operator):  Do not call resolve_function.
	Break like other cases.

2018-12-08  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88048
	* resolve.c (check_data_variable): Named constant cannot be a
	data object.

2018-12-08  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/88025
	* expr.c (gfc_apply_init):  Remove asserts that cannot trigger.
	Check for a NULL pointer.

2018-11-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/88073
	* frontend-passes.c (combine_array_constructor): Do not do
	anything if in a WHERE statement.

2018-11-24  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk
	PR fortran/88143
	* resolve.c (resolve_variable): Check for associate names with
	NULL target.

2018-11-05  Jakub Jelinek  <jakub@redhat.com>

	Backported from mainline
	2018-10-25  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/87725
	* openmp.c (gfc_match_omp_clauses): Parse simd, monotonic and
	nonmonotonic modifiers regardless of if they have been parsed
	already or if the opposite one has.  Fix up check whether
	comma after modifier should be parsed.
	(resolve_omp_clauses): Diagnose schedule modifier restrictions.

2019-11-03  Tobias Burnus  <burnus@net-b.de>
	    Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/87597
	* expr.c (gfc_simplify_expr): Avoid simplifying
	the 'array' argument to lbound/ubound/lcobound/
	ucobound.

2018-10-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/83999
	Backport from trunk
	* resolve.c (resolve_fl_procedure): Include class functions in
	the test that elemental function results be scalar.

2018-10-08  Paul Thomas  <pault@gcc.gnu.org>

	Backport from trunk
	PR fortran/86372
	* trans-stmt.c (trans_associate_var): Character associate names
	with variable string length do not have to be deferred length
	for the string length to be set, if variable.

2018-10-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/86111
	Backport from trunk
	* gfortran.h (enum arith): Add ARITH_WRONGCONCAT.
	* arith.h (gfc_arith_error): Issue error for ARITH_WRONGCONCAT.
	(gfc_arith_concat):  If the types of op1 and op2 are not
	character of if their kinds do not match, issue ARITH_WRONGCONCAT.

2018-09-18  Janus Weil  <janus@gcc.gnu.org>

	Backport from trunk
	PR fortran/85395
	* decl.c (match_binding_attributes): Use correct default accessibility
	for procedure pointer components.

2018-09-18  Janus Weil  <janus@gcc.gnu.org>

	Backport from trunk
	PR fortran/86830
	* expr.c (gfc_is_simply_contiguous): Handle type-bound procedure calls
	with non-polymorphic objects.

2018-09-18  Paul Thomas  <pault@gcc.gnu.org>

	Backported from trunk
	PR fortran/85954
	* resolve.c (resolve_assoc_var): If the target expression is a
	deferred charlen dummy and the associate name shares the
	charlen, generate a new one. Make sure that new charlens are in
	the namespace list so that they get cleaned up.
	* trans-array.c (gfc_is_reallocatable_lhs): Associate names are
	not reallocatable.
	* trans-decl.c (gfc_get_symbol_decl): Put deferred character
	length dummy and result arrays on the deferred initialization
	list so that the variable length arrays can be correctly dealt
	with.
	* trans-expr.c (gfc_conv_string_length): Return if 'expr' is
	NULL rather than ICEing.

2018-09-12  Paul Thomas  <pault@gcc.gnu.org>

	Backported from trunk
	PR fortran/87284
	* trans-expr.c (gfc_trans_class_init_assign): Access to
	to array elements of the dynamic type requires that the array
	reference be added to the class expression and not the _data
	component, unlike scalar expressions.

2018-09-11  Paul Thomas  <pault@gcc.gnu.org>

	Backported from trunk
	PR fortran/87277
	* expr.c (is_subref_array): Add the check of dimensionality for
	class, dummy, pointer arrays.

2018-09-05  Janus Weil  <janus@gcc.gnu.org>

	Backported from trunk
	PR fortran/86116
	* interface.c (compare_type): Remove a CLASS/TYPE check.
	(compare_type_characteristics): New function that behaves like the old
	'compare_type'.
	(gfc_check_dummy_characteristics, gfc_check_result_characteristics):
	Call 'compare_type_characteristics' instead of 'compare_type'.

2018-09-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* simplify.c (gfc_simplify_modulo): Re-arrange code to test
	whether 'P' is zero and issue an error if it is.

2018-09-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/86328
	PR fortran/86760
	* trans-array.c (gfc_conv_scalarized_array_ref): Do not fix
	info->descriptor but pass it directly to gfc_build_array_ref.
	(gfc_conv_array_ref): Likewise for se->expr.
	* trans.c (gfc_build_array_ref): If 'decl' is a COMPONENT_REF
	obtain the span field directly from it.

2018-08-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	Backport from trunk
	PR fortran/86837
	* frontend-passes.c (var_in_expr_callback): New function.
	(var_in_expr): New function.
	(traverse_io_block): Use var_in_expr instead of
	gfc_check_dependency for checking if the variable depends on the
	previous interators.

2018-08-12  Paul Thomas  <pault@gcc.gnu.org>

	Backported from trunk
	PR fortran/86906
	* resolve.c (resolve_fl_variable_derived): Check if the derived
	type is use associated before checking for the host association
	error.

2018-07-26  Jakub Jelinek  <jakub@redhat.com>

	Backported from mainline
	2018-07-10  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/86421
	* module.c (omp_declare_simd_clauses): Add LINEAR with _REF, _VAL and
	_UVAL suffixes.
	(mio_omp_declare_simd): Save and restore ref, val and uval modifiers
	on linear clauses.  Initialize n->where to gfc_current_locus.

2018-07-26  Release Manager

	* GCC 8.2.0 released.

2018-07-16  Fritz Reese  <fritzoreese@gmail.com>

	PR fortran/83184
	Backport from trunk.
	* decl.c (match_old_style_init): Initialize locus of variable expr when
	creating a data variable.
	(match_clist_expr): Verify array is explicit shape/size before
	attempting to allocate constant array constructor.

2018-07-16  Fritz Reese  <fritzoreese@gmail.com>

	Backport from trunk:

	PR fortran/86417
	* module.c (mio_component): Set component->loc when loading from module.

	PR fortran/83183
	PR fortran/86325
	* expr.c (class_allocatable, class_pointer, comp_allocatable,
	comp_pointer): New helpers.
	(component_initializer): Generate EXPR_NULL for allocatable or pointer
	components. Do not generate initializers for components within BT_CLASS.
	Do not assign to comp->initializer.
	(gfc_generate_initializer): Use new helpers; move code to generate
	EXPR_NULL for class allocatable components into component_initializer().

2018-07-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82969
	PR fortran/86242
	* trans-array.c (structure_alloc_comps): Do not explicitly copy
	procedure pointer components.

2018-06-28  Fritz Reese  <fritzoreese@gmail.com>

	PR fortran/82865
	Backport from trunk.
	* decl.c (gfc_match_type): Refactor and check for PDT declarations.

2018-06-25  Fritz Reese  <fritzoreese@gmail.com>

	PR fortran/82972
	PR fortran/83088
	PR fortran/85851
	Backport from trunk.
	* expr.c (component_initializer): Assign init expr to c->initializer.
	(generate_isocbinding_initializer): New.
	(gfc_generate_initializer): Call generate_isocbinding_initializer to
	generate initializers for c_ptr and c_funptr with -finit-derived.

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

	PR fortran/83118
	Back port from trunk
	* resolve.c (resolve_ordinary_assign): Force the creation of a
	vtable for assignment of non-polymorphic expressions to an
	unlimited polymorphic object.
	* trans-array.c (gfc_alloc_allocatable_for_assignment): Use the
	size of the rhs type for such assignments. Set the dtype, _len
	and vptrs appropriately.
	* trans-expr.c (gfc_trans_assignment): Force the use of the
	_copy function for these assignments.

2018-06-15  Cesar Philippidis  <cesar@codesourcery.com>

	Backport from mainline
	2018-06-13  Cesar Philippidis  <cesar@codesourcery.com>

	PR fortran/85703
	* parse.c (decode_oacc_directive): Set gfc_matching_function
	to false.
	(decode_omp_directive): Likewise.

2018-06-15  Cesar Philippidis  <cesar@codesourcery.com>

	Backport from mainline
	2018-06-13  Cesar Philippidis  <cesar@codesourcery.com>

	PR fortran/85702
	* openmp.c (gfc_match_oacc_wait): Use %C to report error location.

2018-06-15  Cesar Philippidis  <cesar@codesourcery.com>

	Backport from mainline
	2018-06-05  Cesar Philippidis  <cesar@codesourcery.com>

	PR fortran/85701
	* openmp.c (gfc_resolve_oacc_declare): Error on functions and
	subroutine data clause arguments.

2018-06-13  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/86110
	* array.c (gfc_resolve_character_array_constructor): Avoid NULL
	pointer dereference.

2018-06-12  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/44491
	* expr.c (gfc_check_assign): Select non-NULL locus.

2018-06-09  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85138
	PR fortran/85996
	PR fortran/86051
	* decl.c (gfc_match_char_spec): Use private namespace in attempt to
	reduce a charlen to a constant.

2018-06-09  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/86059
	* array.c (match_array_cons_element): NULL() cannot be in an
	array constructor.

2018-06-09  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/63514
	* symbol.c (gfc_add_volatile): Enforce F2008:C1282 and F2018:C1588.

2018-06-09  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78278
	Committed as part of r261364
	* data.c (gfc_assign_data_value): Re-arrange code to allow for
	an error for double initialization of CHARACTER entities.

2018-06-09  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/38351
	* resolve.c (resolve_operator): Provide better error message for
	derived type entity used in an binary intrinsic numeric operator.

2018-06-09  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78571
	* data.c (create_character_initializer): Return early if type is
	incompatible with CHARACTER.

2018-06-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85631
	Backport from trunk.
	* trans.h (gfc_ss): Add field no_bounds_check.
	* trans-array.c (gfc_conv_ss_startstride): If flag_realloc_lhs and
	ss->no_bounds_check is set, do not use runtime checks.
	* trans-expr.c (gfc_trans_assignment_1): Set lss->no_bounds_check
	for reallocatable lhs.

2018-06-07  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/86045
	Backport from trunk.
	* simplify.c (gfc_simplify_mod): Re-arrange code to test whether
	'P' is zero and issue an error if it is.

2018-06-07  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85641
	Backport from trunk.
	* frontend-passes.c (is_fe_temp): Add prototype.
	(realloc_string_callback): Early return for frontend-generated
	temporary.

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

	PR fortran/85981
	* resolve.c (resolve_allocate_deallocate): Check errmsg is default
	character kind.

2018-05-25  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85786
	* trans-intrinsic.c (gfc_conv_associated): Add arg1se to the block.

2018-05-25  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85895
	Backport from trunk
	* resolve.c (resolve_sync): Resolve expression before checking for
	an error.

2018-05-25  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85780
	Backport from trunk
	* resolve.c (resolve_fl_procedure): Avoid NULL dereference.

2018-05-25  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85779
	Backport from trunk
	* decl.c (gfc_match_derived_decl): Fix NULL point dereference.

2018-05-25  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85543
	Backport from trunk
	* resolve.c (update_current_proc_array_outer_dependency): Avoid NULL
	pointer dereference.

2018-05-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/80657
	Backport from trunk
	* resolve.c (flag_fn_result_spec): Use the 'sym' argument to
	test for self refs to the function result in the character len
	expression. If a self reference is found, emit an error and
	return true.
	(resolve_fntype): Use the function symbol in the calls to the
	above.

2018-05-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/49636
	Backport from trunk
	* trans-array.c (gfc_get_array_span): Renamed from
	'get_array_span'.
	(gfc_conv_expr_descriptor): Change references to above.
	* trans-array.h : Add prototype for 'gfc_get_array_span'.
	* trans-stmt.c (trans_associate_var): If the associate name is
	a subref array pointer, use gfc_get_array_span for the span.

2018-05-20  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82275
	Backport from trunk
	* match.c (gfc_match_type_spec): Go through the array ref and
	decrement 'rank' for every dimension that is an element.

2018-05-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82923
	PR fortran/66694
	PR fortran/82617
	Backport from trunk
	* trans-array.c (gfc_alloc_allocatable_for_assignment): Set the
	charlen backend_decl of the rhs expr to ss->info->string_length
	so that the value in the current scope is used.

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

	PR fortran/85742
	* trans-types.c (gfc_get_dtype_rank_type): Reorder evaluation
	of 'size'. If the element type is a pointer use the size of the
	TREE_TYPE of the type, unless it is VOID_TYPE. In this latter
	case, set the size to zero.

2018-05-12  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85542
	Backport from trunk
	* expr.c (check_inquiry): Avoid NULL pointer dereference.

2018-05-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/70870
	Backport from trunk
	* data.c (gfc_assign_data_value): Check that a data object does
	not also have default initialization.

2018-05-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85521
	Backport from trunk
	* array.c (gfc_resolve_character_array_constructor): Substrings
	with upper bound smaller than lower bound are zero length strings.

2018-05-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85687
	Backport from trunk
	* check.c (gfc_check_rank): Check that the argument is a data object.

2018-05-11  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/68846
	PR fortran/70864
	Backport from trunk
	* resolve.c (get_temp_from_expr): The temporary must not have
	dummy or intent attributes.

2018-05-06  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/85507
	Backport from trunk.
	* dependency.c (gfc_dep_resolver): Revert looking at coarray dimension
	introduced by r259385.
	* trans-intrinsic.c (conv_caf_send): Always report a dependency for
	same variables in coarray assignments.

2018-05-02  Release Manager

	* GCC 8.1.0 released.

2018-04-24  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85520
	* decl.c (gfc_match_char_spec): Check for negative length and set to 0.

2018-04-14  Andre Vehreschild  <vehre@gcc.gnu.org>

	PR fortran/81773
	PR fortran/83606
	* dependency.c (gfc_dep_resolver): Coarray indexes are to be ignored
	during dependency computation.  They define no data dependency.
	* trans-array.c (conv_array_index_offset): The stride can not be set
	here, prevent fail.
	* trans-intrinsic.c (conv_caf_send): Add creation of temporary array
	for caf_get's result and copying to the array with vectorial
	indexing.

2018-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85387
	* frontend-passes.c (traverse_io_block): Check for start, end or
	stride being defined by an outer implied DO loop.

2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/83064
	PR testsuite/85346
	* trans-stmt.c (gfc_trans_forall_loop): Use annot_expr_ivdep_kind
	for annotation and remove dependence on -ftree-parallelize-loops.

2018-04-10  Jakub Jelinek  <jakub@redhat.com>

	PR fortran/85313
	* openmp.c (resolve_omp_do): Remove bogus if (j < i) break;.
	(resolve_oacc_nested_loops): Likewise.  Formatting fix.

2018-04-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/83064
	* trans-stmt.c (gfc_trans_forall_loop): Remove annotation for
	parallell processing of DO CONCURRENT -ftree-parallelize-loops
	is set.

2018-04-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/51260
	* resolve.c (resolve_variable): Simplify cases where access to a
	parameter array results in a single constant.

2018-04-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85102
	* decl.c (variable_decl): If upper or lower bounds simplify
	to a constant, use that.

2018-03-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/84931
	* simplify.c (gfc_convert_constant): Handle case of array
	constructors within an array that has no iterator and improve
	the conciseness of this section of code.

2017-03-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85111
	* array.c (gfc_resolve_character_array_constructor): Early
	exit for zero-size arrays.
	* simplify.c (simplify_transformation_to_array): Exit early
	if the result size is zero.
	(simplify_minmaxloc_to_array): Likewise.

2018-03-28  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/69497
	* symbol.c (gfc_symbol_done_2): Start freeing namespaces
	from the root.
	(gfc_free_namespace): Restore assert (revert r258839).

2018-03-28  Jakub Jelinek  <jakub@redhat.com>

	* gfortran.h (gfc_dt): Rename default_exp field to dec_ext.
	* ioparm.def (IOPARM_dt_default_exp): Rename to ...
	(IOPARM_dt_dec_ext): ... this.
	* trans-io.c (build_dt): Adjust for default_exp renaming to
	dec_ext and IOPARM_dt_default_exp renaming to IOPARM_dt_dec_ext.
	* io.c (match_io): Likewise.

2018-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/85084
	* frontend-passes.c (gfc_run_passes): Do not run front-end
	optimizations if a previous error occurred.

2018-03-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
	Harald Anlauf  <anlauf@gmx.de>

	PR fortran/85083
	* primary.c (gfc_convert_to_structure_constructor): Check
	conformance of argument types in structure constructor.

2018-03-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66709
	* io.c: Include constructor.h.
	(resolve_tag_format): For a constant character array, concatenate
	into a single character expression.

2018-03-25  Seth Johnson <johnsonsr@ornl.gov>
	Dominique d'Humieres  <dominiq@gcc.gnu.org>

	PR fortran/84924
	* check.c (gfc_check_c_f_pointer): Allow scalar noninteroperable
	scalar derived type with -std=f2003 and -std=f2008.

2018-03-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Dominique d'Humieres  <dominiq@gcc.gnu.org>

	PR fortran/69497
	* symbol.c (gfc_free_namespace): Delete the assert and only if
	refs count is equals zero, free the namespace. Otherwise,
	something is halfway and other errors will resound.

2018-03-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/70068
	* expr.c (find_substring_ref): Change types of start, end
	and length variables to gfc_charlen_t. Set length to zero
	for empty substring.

2018-03-24  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/42651
	* decl.c (check_function_name): Improved error message
	(gfc_match_volatile, gfc_match_asynchronous) Use check_function_name.

2018-03-22  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/84922
	* decl.c (get_proc_name): If the MODULE prefix appears in interface
	body, then it must appear on the contained subroutine or function.
	While here, fix nearby mis-indented code.

2018-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
	Harald Anlauf  <anlauf@gmx.de>

	PR fortran/84957
	* trans-types.c (gfc_sym_type): Do not dereference NULL pointer.

2018-03-21  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/84615
	* trans-expr.c (gfc_conv_procedure_call): Convert charlen to
	gfc_charlen_type_node when calling procedure.

2018-03-20  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85001
	* interface.c (symbol_rank): Remove bogus null pointer check that
	crept in when translating a ternary operator into an if-else
	constructor.

2018-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/84931
	* simplify.c (gfc_convert_constant): Correctly handle iterators
	for type conversion.

2018-03-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/77414
	* decl.c (get_proc_name):  Check for a subroutine re-defined in
	the contain portion of a subroutine.  Change language of existing
	error message to better describe the issue. While here fix whitespace
	issues.

2018-03-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/65453
	* decl.c (get_proc_name): Catch clash between a procedure statement
	and a contained subprogram

2018-03-16  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/69395
	* decl.c (merge_array_spec): Correct the error condition.

2018-03-15  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78741
	* decl.c (get_proc_name):  Check for clash of entry name with
	subroutine name.

2018-03-15  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/69395
	* decl.c (merge_array_spec): Limit the merging to maximum allowed
	dimensions, and issue error message if limit is exceeded.

2018-03-13  Steven G. Kargl  <kargl@gcc.gnu.org>

	* check.c (gfc_check_kill_sub):  Remove check for INTEGER(4) or (8).
	* intrinsic.c (add_functions): Remove reference to gfc_resolve_kill.
	(add_subroutines): Remove reference to gfc_resolve_kill_sub.
	* intrinsic.texi: Update documentation.
	* iresolve.c (gfc_resolve_kill, gfc_resolve_kill_sub): Remove.
	* trans-decl.c (gfc_build_intrinsic_function_decls):  Add
	gfor_fndecl_kill and gfor_fndecl_kill_sub
	* trans-intrinsic.c (conv_intrinsic_kill, conv_intrinsic_kill_sub): new
	functions.
	(gfc_conv_intrinsic_function): Use conv_intrinsic_kill.
        (gfc_conv_intrinsic_subroutine): Use conv_intrinsic_kill_sub.
	* trans.h: Declare gfor_fndecl_kill and gfor_fndecl_kill_sub.

2018-03-11  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/84546
	* trans-array.c (structure_alloc_comps): Make sure that the
	vptr is copied and that the unlimited polymorphic _len is used
	to compute the size to be allocated.
	* trans-expr.c (gfc_get_class_array_ref): If unlimited, use the
	unlimited polymorphic _len for the offset to the element.
	(gfc_copy_class_to_class): Set the new 'unlimited' argument.
	* trans.h : Add the boolean 'unlimited' to the prototype.

2018-03-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/83939
	* resolve.c (resolve_fl_procedure): Enforce F2018:C15100.

2018-03-11  Steven G. Kargl  <kargls@gcc.gnu.org>

	* check.c (gfc_check_kill):  Check pid and sig are scalar.
	(gfc_check_kill_sub): Restrict kind to 4 and 8.
	* intrinsic.c (add_function): Sort keyword list.  Add pid and sig
	keywords for KILL.  Remove redundant *back="back" in favor of the
	original *bck="back".
	(add_subroutines): Sort keyword list.  Add pid and sig keywords
	for KILL.
	* intrinsic.texi: Fix documentation to consistently use pid and sig.
	* iresolve.c (gfc_resolve_kill): Kind can only be 4 or 8.  Choose the
	correct function.
	(gfc_resolve_rename_sub): Add comment.

2018-03-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/66128
	* simplify.c (simplify_transformation): Return default result for
	empty array argument.
	(gfc_simplify_all): Remove special-case handling for zerosize.
	(gfc_simplify_any): Likewise.
	(gfc_simplify_count): Likewise.
	(gfc_simplify_iall): Likewise.
	(gfc_simplify_iany): Likewise.
	(gfc_simplify_iparity): Likewise.
	(gfc_simplify_minval): Likewise.
	(gfc_simplify_maxval): Likewise.
	(gfc_simplify_norm2): Likewise.
	(gfc_simplify_product): Likewise.
	(gfc_simplify_sum): Likewise.

2018-03-10  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/84734
	* arith.c (check_result, eval_intrinsic):  If result overflows, pass
	the expression up the chain instead of a NULL pointer.

2018-03-07  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/64124
	PR fortran/70409
