http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59414
--- Comment #16 from Paul Thomas <pault at gcc dot gnu.org> --- Author: pault Date: Tue Jan 28 20:10:22 2014 New Revision: 207204 URL: http://gcc.gnu.org/viewcvs?rev=207204&root=gcc&view=rev Log: 2014-01-28 Paul Thomas <pa...@gcc.gnu.org> PR fortran/59414 * trans-stmt.c (gfc_trans_allocate): Before the pointer assignment to transfer the source _vptr to a class allocate expression, the final class reference should be exposed. The tail that includes the _data and array references is stored. This reduced expression is transferred to 'lhs' and the _vptr added. Then the tail is restored to the allocate expression. 2014-01-28 Paul Thomas <pa...@gcc.gnu.org> PR fortran/59414 * gfortran.dg/allocate_class_3.f90 : New test Added: trunk/gcc/testsuite/gfortran.dg/allocate_class_3.f90 trunk/gcc/testsuite/gfortran.dg/elemental_by_value_1.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/trans-stmt.c trunk/gcc/testsuite/ChangeLog