2 ! { dg-additional-options "-fdump-tree-omplower" }
5 integer, parameter :: n
= 100
12 !$acc parallel loop gang (static:*) num_gangs (10)
16 !$acc end parallel loop
18 call test (a
, b
, 0, n
)
20 !$acc parallel loop gang (static:1) num_gangs (10)
24 !$acc end parallel loop
26 call test (a
, b
, 1, n
)
28 !$acc parallel loop gang (static:2) num_gangs (10)
32 !$acc end parallel loop
34 call test (a
, b
, 2, n
)
36 !$acc parallel loop gang (static:5) num_gangs (10)
40 !$acc end parallel loop
42 call test (a
, b
, 5, n
)
44 !$acc parallel loop gang (static:20) num_gangs (10)
48 !$acc end parallel loop
50 !$acc kernels loop gang (num:5, static:*)
54 !$acc end kernels loop
56 !$acc kernels loop gang (static:20, num:30)
60 !$acc end kernels loop
62 call test (a
, b
, 20, n
)
66 subroutine test (a
, b
, sarg
, n
)
68 integer a (n
), b(n
), sarg
72 if (a(i
) .ne
. b(i
) + sarg
) STOP 1
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" } }