http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57019
--- Comment #4 from thambsup at gmail dot com 2013-04-21 13:23:05 UTC --- >About the second part, I'm not fully sure how to reproduce it. Can you give a >full self-contained code example instead of describing it in words? type cParticle real(4) :: v(3) endtype cParticle type pCItem type(cParticle) :: Ele end type pCItem type(pCItem),target,dimension(1:1,1:1)::pCellArray type(cParticle),pointer,dimension(:,:)::pArray real(4),pointer,dimension(:)::v_pointer real(4),dimension(3)::v_real=99. pArray=>pCellArray%Ele v_pointer=>pArray(1,1)%v;v_pointer=v_real. !OK %%%%%%%%%%%% write(*,*) pArray(1,1) v_real=88. pArray(1,1)%v=v_real !SEGFAULT %%%%%%%%%%%%%%%%%%%%%%%% write(*,*) pArray(1,1) end in original code it is not cause segfault, but it make wrong assignment -- only pArray(1,1)%v(1) becomes 88. v(2:3) is still 99.