------- Additional Comments From Thomas dot Koenig at online dot de  2005-03-08 
15:35 -------
Here's a somewhat reduced testcase that fails
for me on ia64-unknown-linux-gnu:

$ cat forall_5.f90
program evil_forall
  implicit none
  type t
    logical valid
    integer :: s
    integer, dimension(:), pointer :: p
  end type
  type (t), dimension (2) :: v
  integer i

  allocate (v(1)%p(2))
  allocate (v(2)%p(2))

  v(:)%valid = (/.true., .true./)
  v(:)%s = (/1, 2/)
  v(1)%p(:) = (/9, 10/)
  v(2)%p(:) = (/11, 12/)

  forall (i=1:2,v(i)%valid)
    v(i)%p(1:v(i)%s) = v(3-i)%p(1:v(i)%s)
  end forall

  if (any(v(1)%p(:) .ne. (/11, 10/))) call abort

end program

Still gives me 335 lines of *.t02.original - not easy to debug...

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15080

Reply via email to