2 /* { dg-options "-O2 -fopenmp -std=c99" } */
7 __attribute__((noinline
, noclone
)) int
10 #pragma omp taskloop firstprivate (x) lastprivate (x)
11 for (int i
= 0; i
< 64; i
++)
21 __attribute__((noinline
, noclone
)) void
24 #pragma omp taskloop firstprivate (g) lastprivate (g) nogroup
25 for (int i
= 0; i
< 64; i
++)
34 __attribute__((noinline
, noclone
)) long long
35 f3 (long long a
, long long b
, long long c
)
39 #pragma omp taskloop default (none) lastprivate (i, l)
40 for (i
= a
; i
< b
; i
+= c
)
45 __attribute__((noinline
, noclone
)) long long
46 f4 (long long a
, long long b
, long long c
, long long d
,
47 long long e
, long long f
, int k
)
51 #pragma omp taskloop default (none) collapse(2) \
52 firstprivate (k) lastprivate (i, j, k, l)
53 for (i
= a
; i
< b
; i
+= e
)
54 for (j
= c
; j
< d
; j
+= f
)
58 if (i
== 31 && j
== 46)
62 return i
+ 5 * j
+ 11 * k
+ 17 * l
;
71 if (f1 (74) != 63 + 4)
78 if (f3 (7, 12, 2) != 11 * 7 + 13)
80 if (f4 (0, 32, 16, 48, 1, 2, 73) != 32 + 5 * 48 + 11 * 31 + 17 * 46)