2015-02-05 Paul Thomas <pault@gcc.gnu.org>
authorPaul Thomas <pault@gcc.gnu.org>
Thu, 5 Feb 2015 08:02:58 +0000 (08:02 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Thu, 5 Feb 2015 08:02:58 +0000 (08:02 +0000)
commit3cd52c11b284c1123b1782dc5629d22a42844c37
tree460ab48d46937485d07108170047c95303e18d38
parenta0cbab4acd8f7af1ece6d94e61d5c754246c5efa
2015-02-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/640757
* resolve.c (resolve_structure_cons): Obtain the rank of class
components.
* trans-expr.c (gfc_trans_alloc_subarray_assign): Do the
assignment to allocatable class array components.
(alloc_scalar_allocatable_for_subcomponent_assignment): If comp
is a class component, allocate to the _data field.
(gfc_trans_subcomponent_assign): If a class component with a
derived type expression set the _vptr field and for array
components, call gfc_trans_alloc_subarray_assign. For scalars,
the assignment is performed here.

2015-02-05  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/640757
* gfortran.dg/type_to_class_2.f90: New test
* gfortran.dg/type_to_class_3.f90: New test

From-SVN: r220435
gcc/fortran/ChangeLog
gcc/fortran/resolve.c
gcc/fortran/trans-expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/type_to_class_2.f03 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/type_to_class_3.f03 [new file with mode: 0644]