r253514 - in /trunk/gcc: fortran/ChangeLog fort...

pault@gcc.gnu.org pault@gcc.gnu.org
Sat Oct 7 21:14:00 GMT 2017


Author: pault
Date: Sat Oct  7 21:14:06 2017
New Revision: 253514

URL: https://gcc.gnu.org/viewcvs?rev=253514&root=gcc&view=rev
Log:
2017-10-07  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82375
	* class.c (gfc_find_derived_vtab): Return NULL for a passed
	pdt template to prevent bad procedures from being written.
	* decl.c (gfc_get_pdt_instance): Do not use the default
	initializer for pointer and allocatable pdt type components. If
	the component is allocatbale, set the 'alloc_comp' attribute of
	'instance'.
	* module.c : Add a prototype for 'mio_actual_arglist'. Add a
	boolean argument 'pdt'.
	(mio_component): Call it for the parameter list of pdt type
	components with 'pdt' set to true.
	(mio_actual_arg): Add the boolean 'pdt' and, if it is set, call
	mio_integer for the 'spec_type'.
	(mio_actual_arglist): Add the boolean 'pdt' and use it in the
	call to mio_actual_arg.
	(mio_expr, mio_omp_udr_expr): Call mio_actual_arglist with
	'pdt' set false.
	* resolve.c (get_pdt_spec_expr): Add the parameter name to the
	KIND parameter error.
	(get_pdt_constructor): Check that cons->expr is non-null.
	* trans-array.c (structure_alloc_comps): For deallocation of
	allocatable components, ensure that parameterized components
	are deallocated first. Likewise, when parameterized components
	are allocated, nullify allocatable components first. Do not
	recurse into pointer or allocatable pdt components while
	allocating or deallocating parameterized components. Test that
	parameterized arrays or strings are allocated before freeing
	them.
	(gfc_trans_pointer_assignment): Call the new function. Tidy up
	a minor whitespace issue.
	trans-decl.c (gfc_trans_deferred_vars): Set 'tmp' to NULL_TREE
	to prevent the expression from being used a second time.

2017-10-07  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/82375
	* gfortran.dg/pdt_13.f03 : New test.
	* gfortran.dg/pdt_14.f03 : New test.
	* gfortran.dg/pdt_15.f03 : New test.

Added:
    trunk/gcc/testsuite/gfortran.dg/pdt_13.f03
    trunk/gcc/testsuite/gfortran.dg/pdt_14.f03
    trunk/gcc/testsuite/gfortran.dg/pdt_15.f03
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/class.c
    trunk/gcc/fortran/decl.c
    trunk/gcc/fortran/module.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/fortran/trans-array.c
    trunk/gcc/fortran/trans-decl.c
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list