[AArch64] Merge stores of D-register values with different modes
[official-gcc.git] / gcc / testsuite / gfortran.dg / pr49308.f90
blob728a5e21051a45fa071471767cbb1d22a981e475
1 ! PR middle-end/49308
2 ! { dg-do compile }
3 ! { dg-options "-O2 -funroll-loops -g" }
5 subroutine foo(n, b, d, e)
6 type t
7 integer :: f
8 end type t
9 type s
10 type(t), pointer :: g
11 end type s
12 type u
13 type(s), dimension(:), pointer :: h
14 end type
15 integer :: i, k, n
16 type(u), pointer :: a, e
17 character(len=250) :: b, c, d
18 logical :: l
19 do i = 1, n
20 j = i - 1
21 if (j/=0) c = trim(b) // adjustl(d(j))
22 end do
23 a => e
24 do k = 1, size(a%h)
25 l = (a%h(k)%g%f == a%h(1)%g%f)
26 if (.not.(l)) call bar()
27 enddo
28 end subroutine foo