169935Sdannyboy! PR middle-end/49308
248734Siwasaki! { dg-do compile }
350472Speter! { dg-options "-O2 -funroll-loops -g" }
448734Siwasaki
548734Siwasakisubroutine foo(n, b, d, e)
648734Siwasaki  type t
748734Siwasaki    integer :: f
848734Siwasaki  end type t
948734Siwasaki  type s
1048734Siwasaki    type(t), pointer :: g
1148734Siwasaki  end type s
1248734Siwasaki  type u
1348734Siwasaki    type(s), dimension(:), pointer :: h
1448734Siwasaki  end type
1548734Siwasaki  integer :: i, k, n
1648734Siwasaki  type(u), pointer :: a, e
1748734Siwasaki  character(len=250) :: b, c, d
1848734Siwasaki  logical :: l
1948734Siwasaki  do i = 1, n
2048734Siwasaki    j = i - 1
2148734Siwasaki    if (j/=0) c = trim(b) // adjustl(d(j))
2248734Siwasaki  end do
2348734Siwasaki  a => e
2448734Siwasaki  do k = 1, size(a%h)
2548734Siwasaki     l = (a%h(k)%g%f == a%h(1)%g%f)
2648734Siwasaki     if (.not.(l)) call bar()
2748734Siwasaki  enddo
2848734Siwasakiend subroutine foo
2948734Siwasaki