1! { dg-do compile }
2! { dg-additional-options "-ffree-line-length-160" }
3
4subroutine foo (n, s, t, u, v, w)
5  integer :: n, i, s, t, u, v, w
6  common /bar/ i
7  !$omp simd safelen(s + 1)
8  do i = 1, n
9  end do
10  !$omp do schedule (static, t * 2)
11  do i = 1, n
12  end do
13  !$omp do simd safelen(s + 1) schedule (static, t * 2)
14  do i = 1, n
15  end do
16  !$omp parallel do schedule (static, t * 2) num_threads (u - 1)
17  do i = 1, n
18  end do
19  !$omp parallel do simd safelen(s + 1) schedule (static, t * 2) num_threads (u - 1)
20  do i = 1, n
21  end do
22  !$omp distribute dist_schedule (static, v + 8)
23  do i = 1, n
24  end do
25  !$omp distribute simd dist_schedule (static, v + 8) safelen(s + 1)
26  do i = 1, n
27  end do
28  !$omp distribute parallel do simd dist_schedule (static, v + 8) safelen(s + 1) &
29  !$omp & schedule (static, t * 2) num_threads (u - 1)
30  do i = 1, n
31  end do
32  !$omp distribute parallel do dist_schedule (static, v + 8) num_threads (u - 1) &
33  !$omp & schedule (static, t * 2)
34  do i = 1, n
35  end do
36  !$omp target
37  !$omp teams distribute dist_schedule (static, v + 8) num_teams (w + 8)
38  do i = 1, n
39  end do
40  !$omp end target
41  !$omp target
42  !$omp teams distribute simd dist_schedule (static, v + 8) safelen(s + 1) &
43  !$omp & num_teams (w + 8)
44  do i = 1, n
45  end do
46  !$omp end target
47  !$omp target
48  !$omp teams distribute parallel do simd dist_schedule (static, v + 8) safelen(s + 1) &
49  !$omp & schedule (static, t * 2) num_threads (u - 1) num_teams (w + 8)
50  do i = 1, n
51  end do
52  !$omp end target
53  !$omp target
54  !$omp teams distribute parallel do dist_schedule (static, v + 8) num_threads (u - 1) &
55  !$omp & schedule (static, t * 2) num_teams (w + 8)
56  do i = 1, n
57  end do
58  !$omp end target
59  !$omp target teams distribute dist_schedule (static, v + 8) num_teams (w + 8)
60  do i = 1, n
61  end do
62  !$omp target teams distribute simd dist_schedule (static, v + 8) safelen(s + 1) &
63  !$omp & num_teams (w + 8)
64  do i = 1, n
65  end do
66  !$omp target teams distribute parallel do simd dist_schedule (static, v + 8) safelen(s + 1) &
67  !$omp & schedule (static, t * 2) num_threads (u - 1) num_teams (w + 8)
68  do i = 1, n
69  end do
70  !$omp target teams distribute parallel do dist_schedule (static, v + 8) num_threads (u - 1) &
71  !$omp & schedule (static, t * 2) num_teams (w + 8)
72  do i = 1, n
73  end do
74end subroutine
75