comparison 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
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
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 }