------- Comment #1 from paul dot richard dot thomas at cea dot fr 2006-09-15
13:12 -------
Olav,
Thanks for the contribution:
TYPE BLOCK
INTEGER, DIMENSION(:), POINTER :: R => NULL(),C => NULL()
TYPE(BAS), POINTER, DIMENSION(:) :: NO => NULL ()
END TYPE BLOCK
gives you a workaround that loses you nothing.
ALLOCATE (matrix) then produces
{
void * * ptr.0;
ptr.0 = (void * *) &matrix;
_gfortran_allocate (ptr.0, 72, 0);
}
{
struct block D.929;
struct block block.1;
block.1.r.data = 0B;
block.1.c.data = 0B;
block.1.no.data = 0B;
D.929 = block.1;
blassign (matrix, &D.929);
}
It is the last line that triggers the error.
Paul
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29098