1! { dg-do compile }
2! { dg-additional-options "-O1" }
3
4subroutine ni (ps)
5    type vector
6       real  x, y
7    end type
8    type quad_inductor
9       type (vector) v1, v2
10    end type
11    type (quad_inductor), dimension(inout) :: ps
12    integer :: dl, nk = 1.0
13    fo = 1.0
14    if (f == 1) then
15       nk = 0.0
16       fo = 0.0
17    end if
18    ot = nk * 0.5
19    gb = -fo * 0.5
20    wu = fo * 0.5
21    up = nk * 0.1
22    xe = up * 0.1
23    do lx = 0, 7
24       ps%v2%y = -wu
25       ps(dl)%v1%x = xe + 1.0
26       ps(dl)%v1%y = wu - tn
27    end do
28    do lx = 0, 7
29       ps(dl)%v1%x = 0.1 - ot
30       ps(dl)%v1%y = 0.1 - wu
31    end do
32end
33