[PATCH] Backport of 25 fortran patches

Steve Kargl sgk@troutmask.apl.washington.edu
Wed Sep 28 19:25:00 GMT 2016


The attached patch and ChangeLog entries are for the
backporting of 25 patches from trunk to the 6-branch.
The bugzilla PR's contained in the patch are

  fortran/41922 fortran/60774 fortran/61318 fortran/68566 fortran/69514
  fortran/69867 fortran/69962 fortran/70006 fortran/71067 fortran/71730
  fortran/71799 fortran/71859 fortran/71862 fortran/77260 fortran/77351
  fortran/77372 fortran/77380 fortran/77391 fortran/77420 fortran/77429 
  fortran/77460 fortran/77506 fortran/77507 fortran/77612 fortran/77694

The patch has been bootstrapped and regression tested on
x86_64-*-freebsd.  Ok to commit?

-- 
Steve
-------------- next part --------------
2016-09-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/41922
	* target-memory.c (expr_to_char): Pass in locus and use it in error
	messages.
	(gfc_merge_initializers): Ditto.
	* target-memory.h: Update prototype for gfc_merge_initializers ().
	* trans-common.c (get_init_field): Use the correct locus.

	PR fortran/60774
	* parse.c (next_free,next_fixed): Issue error for statement label
	without a statement.

	PR fortran/61318
	* interface.c (compare_parameter): Use better locus for error message.

	PR fortran/68566
	* check.c (gfc_check_reshape): Check for constant expression.

	PR fortran/69514
	* array.c (gfc_match_array_constructor):  If type-spec is present,
	walk the array constructor performing possible conversions for 
	numeric types.

	PR fortran/69867
	* decl.c (build_struct): Ensure that pointers point to something.

	PR fortran/69962
	* decl.c (gfc_set_constant_character_len):  if expr is not
	constant issue an error instead of an ICE.

	PR fortran/70006
	* io.c (gfc_resolve_dt): Use correct locus.
	* resolve.c (resolve_branch): Ditto.

	PR fortran/71067
	* decl.c (match_data_constant): On error, set 'result' to NULL.

	PR fortran/71730
	* decl.c (char_len_param_value): Check return value of
	gfc_reduce_init_expr().

	PR fortran/71799
	* resolve.c(gfc_resolve_iterator): Failure of type conversion need
	not ICE.

	PR fortran/71859
	* check.c(numeric_check): Prevent ICE.  Issue error for invalid
	subroutine as an actual argument when numeric argument is expected.

	PR fortran/71862
	* class.c: Remove assert.  Iterate over component only if non-null.

	PR fortran/77260
	* gcc/fortran/trans-decl.c (generate_local_decl): Suppress warning
	for unused variable if symbol is entry point.

	PR fortran/77351
	* frontend-passes.c (remove_trim,combine_array_constructor): Check for
	NULL pointer.

	PR fortran/77372
	simplify.c (simplify_ieee_selected_real_kind): Check for NULL pointers.

	PR fortran/77380
	* dependency.c (gfc_check_dependency): Do not assert with
	-fcoarray=lib.

	PR fortran/77391
	* resolve.c (deferred_requirements): New function to check F2008:C402.
	(resolve_fl_variable,resolve_fl_parameter): Use it.

	PR fortran/77420
	* trans-common.c:  Handle array elements in equivalence when
	the lower and upper bounds of array spec are NULL.

	PR fortran/77429 
	* dependency.c (gfc_check_dependency):  Convert gcc_assert() to
	a conditional and possible call to  gfc_internal_error().

	PR fortran/77460
	* simplify.c (simplify_transformation_to_scalar):  On error, result
	may be NULL, simply return.

	PR fortran/77506
	* array.c (gfc_match_array_constructor): CHARACTER(len=*) cannot
	appear in an array constructor.

	PR fortran/77507
	* intrinsic.c (add_functions):  Use correct keyword.

	PR fortran/77612
	* decl.c (char_len_param_value): Check parent namespace for 
	seen_implicit_none.

	PR fortran/77694
	* frontend-passes.c (optimize_binop_array_assignment): Check pointer
	for NULL.

-------------- next part --------------
2016-09-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/77507
 	* ieee/ieee_arithmetic.F90 (IEEE_VALUE_4,IEEE_VALUE_8,IEEE_VALULE_10,
	IEEE_VALUE_16):  Use correct keyword.

-------------- next part --------------
2016-09-28  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/41922
	* gfortran.dg/equiv_constraint_5.f90: Adjust the error message.
	* gfortran.dg/equiv_constraint_7.f90: Ditto.
	* gfortran.dg/pr41922.f90: New test.

	PR fortran/60774
	* gfortran.dg/empty_label.f: Adjust test for new error message.
	* gfortran.dg/empty_label.f90: Ditto.
	* gfortran.dg/empty_label_typedecl.f90: Ditto.
	* gfortran.dg/label_3.f90: Deleted (redundant with empty_label.f90).
	* gfortran.dg/warnings_are_errors_1.f90: Remove invalid statement label.

	PR fortran/61318
	* gfortran.dg/pr61318.f90: New test.

	PR fortran/68566
	* gfortran.dg/pr68566.f90: new test.

	PR fortran/69514
	* gfortran.dg/pr69514_1.f90: New test.
	* gfortran.dg/pr69514_2.f90: New test.

	PR fortran/69867
	* gfortran.dg/pr69867.f90: New test.

	PR fortran/69962
	* gfortran.dg/pr69962.f90: New test.

	PR fortran/70006
	* gfortran.dg/pr70006.f90: New test.

	PR fortran/71067
	* gfortran.dg/pr71067_1.f90: New test.
	* gfortran.dg/pr71067_2.f90: Ditto.

	PR fortran/71730
	* gfortran.dg/pr71730.f90: New test.
	* gfortran.dg/bounds_check_strlen_2.f90: Fix invalid code.
	* gfortran.dg/array_constructor_27.f03: Update dg-error message.
	* gfortran.dg/array_constructor_26.f03: Ditto.

	PR fortran/71799
	* gfortran.dg/pr71799.f90: New test.

	PR fortran/71859
	* gfortran.dg/pr71859.f90: New test.
	* gfortran.dg/intrinsic_numeric_arg.f: Update error message.
	* gfortran.dg/coarray_collectives_1.f90: Ditto.

	PR fortran/71862
	* gfortran.dg/pr71862.f90: New test.

	PR fortran/77260
	* gfortran.dg/pr77260_1.f90: New test.
	* gfortran.dg/pr77260_2.f90: Ditto.

	PR fortran/77351
	* gfortran.dg/pr77351.f90: New test.

	PR fortran/77372
	gfortran.dg/pr77372.f90: New test.

	PR fortran/77380
	* gfortran.dg/pr77380.f90: New test.

	PR fortran/77391
	* gfortran.dg/pr77391.f90: New test.

	PR fortran/77420
	* gfortran.dg/pr77420_1.f90: New test.
	* gfortran.dg/pr77420_2.f90: Ditto.
	* gfortran.dg/pr77420_3.f90: New test. Requires ...
	* gfortran.dg/pr77420_4.f90: this file.

	PR fortran/77429 
	* gfortran.dg/pr77429.f90: New test.

	PR fortran/77460
	* gfortran.dg/pr77460.f90: New test.

	PR fortran/77506
	* gfortran.dg/pr77506.f90: New test.

	PR fortran/77507
	* gfortran.dg/ieee/pr77507.f90: New test.

	PR fortran/77612
	* gfortran.dg/pr77612.f90: New test.

	PR fortran/77694
	* gfortran.dg/pr77694.f90: New test.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: zz.diff
Type: text/x-diff
Size: 47485 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20160928/0d6330de/attachment.bin>


More information about the Gcc-patches mailing list