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.

Reply via email to