2018-06-21 Paul Thomas <pault@gcc.gnu.org>
commitac2a3f3c5b85942767e110359c038e7c7c0c2751
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Jun 2018 17:34:31 +0000 (21 17:34 +0000)
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Jun 2018 17:34:31 +0000 (21 17:34 +0000)
treeb16d6362bc01c10d44f13604f3b352d4176cd089
parentd0ae7eebffe5ece4ef11a3d874c2e6987002b85c
2018-06-21  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/83118
* 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-21  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/83118
* gfortran.dg/unlimited_polymorphic_30.f03: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261857 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/ChangeLog
gcc/fortran/resolve.c
gcc/fortran/trans-array.c
gcc/fortran/trans-expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/unlimited_polymorphic_30.f03 [new file with mode: 0644]