2012-01-16 Paul Thomas <pault@gcc.gnu.org>
commit44e6e526da5c014aae364044d77b30766d29d8a3
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 16 Jan 2012 17:48:26 +0000 (16 17:48 +0000)
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 16 Jan 2012 17:48:26 +0000 (16 17:48 +0000)
treebf7f629b5cbc145d54768a410a2bd8fec3382995
parent4470b8f689d4ca7b799fb223653b62ffcf521c33
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183216 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/ChangeLog
gcc/fortran/trans-array.c
gcc/fortran/trans-stmt.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/class_array_3.f03