111
|
1 /* { dg-do compile } */
|
|
2 /* { dg-options "-fopenmp" } */
|
|
3
|
|
4 void
|
|
5 foo (void)
|
|
6 {
|
|
7 int i;
|
|
8 #pragma omp for simd schedule (simd, simd: static, 5)
|
|
9 for (i = 0; i < 64; i++)
|
|
10 ;
|
|
11 #pragma omp for simd schedule (monotonic, simd: static)
|
|
12 for (i = 0; i < 64; i++)
|
|
13 ;
|
|
14 #pragma omp for simd schedule (simd , monotonic : static, 6)
|
|
15 for (i = 0; i < 64; i++)
|
|
16 ;
|
|
17 #pragma omp for schedule (monotonic, monotonic : static, 7)
|
|
18 for (i = 0; i < 64; i++)
|
|
19 ;
|
|
20 #pragma omp for schedule (nonmonotonic, nonmonotonic : dynamic)
|
|
21 for (i = 0; i < 64; i++)
|
|
22 ;
|
|
23 #pragma omp for simd schedule (nonmonotonic , simd : dynamic, 3)
|
|
24 for (i = 0; i < 64; i++)
|
|
25 ;
|
|
26 #pragma omp for simd schedule (nonmonotonic,simd:guided,4)
|
|
27 for (i = 0; i < 64; i++)
|
|
28 ;
|
|
29 #pragma omp for schedule (monotonic: static, 2)
|
|
30 for (i = 0; i < 64; i++)
|
|
31 ;
|
|
32 #pragma omp for schedule (monotonic : static)
|
|
33 for (i = 0; i < 64; i++)
|
|
34 ;
|
|
35 #pragma omp for schedule (monotonic : dynamic)
|
|
36 for (i = 0; i < 64; i++)
|
|
37 ;
|
|
38 #pragma omp for schedule (monotonic : dynamic, 3)
|
|
39 for (i = 0; i < 64; i++)
|
|
40 ;
|
|
41 #pragma omp for schedule (monotonic : guided)
|
|
42 for (i = 0; i < 64; i++)
|
|
43 ;
|
|
44 #pragma omp for schedule (monotonic : guided, 7)
|
|
45 for (i = 0; i < 64; i++)
|
|
46 ;
|
|
47 #pragma omp for schedule (monotonic : runtime)
|
|
48 for (i = 0; i < 64; i++)
|
|
49 ;
|
|
50 #pragma omp for schedule (monotonic : auto)
|
|
51 for (i = 0; i < 64; i++)
|
|
52 ;
|
|
53 #pragma omp for schedule (nonmonotonic : dynamic)
|
|
54 for (i = 0; i < 64; i++)
|
|
55 ;
|
|
56 #pragma omp for schedule (nonmonotonic : dynamic, 3)
|
|
57 for (i = 0; i < 64; i++)
|
|
58 ;
|
|
59 #pragma omp for schedule (nonmonotonic : guided)
|
|
60 for (i = 0; i < 64; i++)
|
|
61 ;
|
|
62 #pragma omp for schedule (nonmonotonic : guided, 7)
|
|
63 for (i = 0; i < 64; i++)
|
|
64 ;
|
|
65 }
|
|
66
|
|
67 void
|
|
68 bar (void)
|
|
69 {
|
|
70 int i;
|
|
71 #pragma omp for schedule (nonmonotonic: static, 2) /* { dg-error ".nonmonotonic. modifier specified for .static. schedule kind" } */
|
|
72 for (i = 0; i < 64; i++)
|
|
73 ;
|
|
74 #pragma omp for schedule (nonmonotonic : static) /* { dg-error ".nonmonotonic. modifier specified for .static. schedule kind" } */
|
|
75 for (i = 0; i < 64; i++)
|
|
76 ;
|
|
77 #pragma omp for schedule (nonmonotonic : runtime) /* { dg-error ".nonmonotonic. modifier specified for .runtime. schedule kind" } */
|
|
78 for (i = 0; i < 64; i++)
|
|
79 ;
|
|
80 #pragma omp for schedule (nonmonotonic : auto) /* { dg-error ".nonmonotonic. modifier specified for .auto. schedule kind" } */
|
|
81 for (i = 0; i < 64; i++)
|
|
82 ;
|
|
83 #pragma omp for schedule (nonmonotonic, dynamic) ordered /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */
|
|
84 for (i = 0; i < 64; i++)
|
|
85 #pragma omp ordered
|
|
86 ;
|
|
87 #pragma omp for ordered schedule(nonmonotonic, dynamic, 5) /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */
|
|
88 for (i = 0; i < 64; i++)
|
|
89 #pragma omp ordered
|
|
90 ;
|
|
91 #pragma omp for schedule (nonmonotonic, guided) ordered(1) /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */
|
|
92 for (i = 0; i < 64; i++)
|
|
93 {
|
|
94 #pragma omp ordered depend(sink: i - 1)
|
|
95 #pragma omp ordered depend(source)
|
|
96 }
|
|
97 #pragma omp for ordered(1) schedule(nonmonotonic, guided, 2) /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */
|
|
98 for (i = 0; i < 64; i++)
|
|
99 {
|
|
100 #pragma omp ordered depend(source)
|
|
101 #pragma omp ordered depend(sink: i - 1)
|
|
102 }
|
|
103 #pragma omp for schedule (nonmonotonic , monotonic : dynamic) /* { dg-error "both .monotonic. and .nonmonotonic. modifiers specified" } */
|
|
104 for (i = 0; i < 64; i++)
|
|
105 ;
|
|
106 #pragma omp for schedule (monotonic,nonmonotonic:dynamic) /* { dg-error "both .monotonic. and .nonmonotonic. modifiers specified" } */
|
|
107 for (i = 0; i < 64; i++)
|
|
108 ;
|
|
109 }
|