111
|
1 /* { dg-do compile } */
|
|
2
|
|
3 void
|
|
4 foo (int a, int b, int *p, int *q)
|
|
5 {
|
|
6 int i;
|
|
7 #pragma omp parallel if (a)
|
|
8 ;
|
|
9 #pragma omp parallel if (parallel:a)
|
|
10 ;
|
|
11 #pragma omp parallel for simd if (a)
|
|
12 for (i = 0; i < 16; i++)
|
|
13 ;
|
|
14 #pragma omp parallel for simd if (parallel : a)
|
|
15 for (i = 0; i < 16; i++)
|
|
16 ;
|
|
17 #pragma omp task if (a)
|
|
18 ;
|
|
19 #pragma omp task if (task: a)
|
|
20 ;
|
|
21 #pragma omp taskloop if (a)
|
|
22 for (i = 0; i < 16; i++)
|
|
23 ;
|
|
24 #pragma omp taskloop if (taskloop : a)
|
|
25 for (i = 0; i < 16; i++)
|
|
26 ;
|
|
27 #pragma omp target if (a)
|
|
28 ;
|
|
29 #pragma omp target if (target: a)
|
|
30 ;
|
|
31 #pragma omp target teams distribute parallel for simd if (a)
|
|
32 for (i = 0; i < 16; i++)
|
|
33 ;
|
|
34 #pragma omp target teams distribute parallel for simd if (parallel : a) if (target: b)
|
|
35 for (i = 0; i < 16; i++)
|
|
36 ;
|
|
37 #pragma omp target data if (a) map (p[0:2])
|
|
38 ;
|
|
39 #pragma omp target data if (target data: a) map (p[0:2])
|
|
40 ;
|
|
41 #pragma omp target enter data if (a) map (to: p[0:2])
|
|
42 #pragma omp target enter data if (target enter data: a) map (to: p[0:2])
|
|
43 #pragma omp target exit data if (a) map (from: p[0:2])
|
|
44 #pragma omp target exit data if (target exit data: a) map (from: p[0:2])
|
|
45 #pragma omp target update if (a) to (q[0:3])
|
|
46 #pragma omp target update if (target update:a) to (q[0:3])
|
|
47 }
|