annotate gcc/testsuite/c-c++-common/gomp/schedule-modifiers-1.c @ 111:04ced10e8804

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