trans-array.c (gfc_trans_create_temp_array): In the case of a class array temporary...
authorPaul Thomas <pault@gcc.gnu.org>
Mon, 16 Jan 2012 17:48:26 +0000 (17:48 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Mon, 16 Jan 2012 17:48:26 +0000 (17:48 +0000)
commit866e6d1bc163f73aebee6db5eb107fd2c5631543
treebf7f629b5cbc145d54768a410a2bd8fec3382995
parentc53153e7a099d3212a60912cd407abc04fb2610a
trans-array.c (gfc_trans_create_temp_array): In the case of a class array temporary...

2012-01-16  Paul Thomas  <pault@gcc.gnu.org>

* trans-array.c (gfc_trans_create_temp_array): In the case of a
class array temporary, detect a null 'eltype' on entry and use
'initial' to provde the class reference and so, through the
vtable, the element size for the dynamic type.
* trans-stmt.c (gfc_conv_elemental_dependencies): For class
expressions, set 'eltype' to null and pass the values via the
'initial' expression.

2012-01-16  Paul Thomas  <pault@gcc.gnu.org>

* gfortran.dg/class_array_3.f03: Remove the explicit loop in
subroutine 'qsort' and use index array to assign the result.

From-SVN: r183216
gcc/fortran/ChangeLog
gcc/fortran/trans-array.c
gcc/fortran/trans-stmt.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/class_array_3.f03