PR fortran/19929
* trans-stmt.c (gfc_trans_deallocate): Check if the
object to be deallocated is an array by looking at
expr->rank instead of expr->symtree->n.sym->attr.dimension.
2005-09-21 Erik Edelmann <erik.edelmann@iki.fi>
PR fortran/19929
* gfortran.dg/der_ptr_component_1.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104495
138bc75d-0d04-0410-961f-
82ee72b054a4
+2005-09-21 Erik Edelmann <erik.edelmann@iki.fi>
+
+ PR fortran/19929
+ * trans-stmt.c (gfc_trans_deallocate): Check if the
+ object to be deallocated is an array by looking at
+ expr->rank instead of expr->symtree->n.sym->attr.dimension.
+
2005-09-20 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/23420
se.descriptor_only = 1;
gfc_conv_expr (&se, expr);
- if (expr->symtree->n.sym->attr.dimension)
+ if (expr->rank)
tmp = gfc_array_deallocate (se.expr, pstat);
else
{
+2005-09-21 Erik Edelmann <erik.edelmann@iki.fi>
+
+ PR fortran/19929
+ * gfortran.dg/der_ptr_component_1.f90: New test.
2005-09-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR c++/23965
--- /dev/null
+! { dg-do compile }
+! PR 19929
+! Deallocation of pointer components of derived type arrays
+program der_ptr_component
+ type :: t
+ integer, pointer :: p
+ end type t
+ type(t) :: a(1)
+
+ allocate(a(1)%p)
+ deallocate(a(1)%p)
+
+end program der_ptr_component