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