------- 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