1! { dg-do compile }
2! { dg-additional-options "-fdump-tree-omplower" }
3
4program main
5  integer, parameter :: n = 100
6  integer i, a(n), b(n)
7
8  do i = 1, n
9     b(i) = i
10  end do
11
12  !$acc parallel loop gang (static:*) num_gangs (10)
13  do i = 1, n
14     a(i) = b(i) + 0
15  end do
16  !$acc end parallel loop
17
18  call test (a, b, 0, n)
19
20  !$acc parallel loop gang (static:1) num_gangs (10)
21  do i = 1, n
22     a(i) = b(i) + 1
23  end do
24  !$acc end parallel loop
25
26  call test (a, b, 1, n)
27
28  !$acc parallel loop gang (static:2) num_gangs (10)
29  do i = 1, n
30     a(i) = b(i) + 2
31  end do
32  !$acc end parallel loop
33
34  call test (a, b, 2, n)
35
36  !$acc parallel loop gang (static:5) num_gangs (10)
37  do i = 1, n
38     a(i) = b(i) + 5
39  end do
40  !$acc end parallel loop
41
42  call test (a, b, 5, n)
43
44  !$acc parallel loop gang (static:20) num_gangs (10)
45  do i = 1, n
46     a(i) = b(i) + 20
47  end do
48  !$acc end parallel loop
49
50  !$acc kernels loop gang (num:5, static:*)
51  do i = 1, n
52     a(i) = b(i) + 20
53  end do
54  !$acc end kernels loop
55
56  !$acc kernels loop gang (static:20, num:30)
57  do i = 1, n
58     a(i) = b(i) + 20
59  end do
60  !$acc end kernels loop
61
62  call test (a, b, 20, n)
63
64end program main
65
66subroutine test (a, b, sarg, n)
67  integer n
68  integer a (n), b(n), sarg
69  integer i
70
71  do i = 1, n
72     if (a(i) .ne. b(i) + sarg) STOP 1
73  end do
74end subroutine test
75
76! { dg-final { scan-tree-dump-times "gang\\(static:\\\*\\)" 1 "omplower" } }
77! { dg-final { scan-tree-dump-times "gang\\(static:1\\)" 1 "omplower" } }
78! { dg-final { scan-tree-dump-times "gang\\(static:2\\)" 1 "omplower" } }
79! { dg-final { scan-tree-dump-times "gang\\(static:5\\)" 1 "omplower" } }
80! { dg-final { scan-tree-dump-times "gang\\(static:20\\)" 1 "omplower" } }
81! { dg-final { scan-tree-dump-times "gang\\(num: 5 static:\\\*\\)" 1 "omplower" } }
82! { dg-final { scan-tree-dump-times "gang\\(num: 30 static:20\\)" 1 "omplower" } }
83