http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46339
Jerry DeLisle <jvdelisle at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |DUPLICATE Summary|[4.3/4.4/4.5/4.6 |ICE (segfault) in |Regression] ICE (segfault) |gfc_trans_pointer_assignmen |in |t |gfc_trans_pointer_assignmen | |t | --- Comment #27 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> 2010-11-25 19:48:03 UTC --- This bug is not really a regression and is the same bug as 34640. Though we can get rid of the ICE we still will get wrong code: Here is a little different test case which compiles with patches above but gives wring results. module test implicit none type b integer(kind=2) :: j character(kind=1, len=52) :: c real(kind=16) :: x end type b type a type(b), dimension(4) :: i end type a contains subroutine test_sub(sorb,ipn) type(a), intent(in), target :: sorb integer(kind=2), dimension(:), pointer :: ipn ipn=>sorb%i(2:4)%j print *, ipn end subroutine test_sub end module test program main use test implicit none integer :: stride, ub, lb, span, str type(a), target :: myA integer(kind=2), dimension(:), pointer :: ptr myA%i(1:4)%j = (/ 1, 3, 5, 7 /) myA%i(1:4)%c = (/ 'a', 'b', 'c', 'd' /) call test_sub(myA,ptr) print *, ptr end program main *** This bug has been marked as a duplicate of bug 34640 ***