blob: ee798f4dd1b641f997794cbbecc02b2c1f6155d9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
/* { dg-do compile } */
/* { dg-options "-fopenmp" } */
void
foo (void)
{
int i;
#pragma omp for ordered /* { dg-error "'ordered' clause used with generated loops" } */
#pragma omp tile sizes (2)
for (i = 0; i < 64; i++)
{
#pragma omp ordered
;
}
#pragma omp for ordered /* { dg-error "'ordered' clause used with generated loops" } */
#pragma omp tile sizes (2)
for (i = 0; i < 64; i++)
{
#pragma omp ordered threads
;
}
#pragma omp for simd ordered /* { dg-error "'ordered' clause used with generated loops" "" { target c } } */
#pragma omp tile sizes (2) /* { dg-error "'ordered' clause used with generated loops" "" { target c++ } } */
for (i = 0; i < 64; i++)
{
#pragma omp ordered threads, simd
;
}
#pragma omp for simd ordered(1) /* { dg-error "'ordered' clause used with generated loops" "" { target c } } */
#pragma omp tile sizes (2) /* { dg-error "'ordered' clause used with generated loops" "" { target c++ } } */
for (i = 0; i < 64; i++)
{
#pragma omp ordered depend(sink: i - 1)
#pragma omp ordered depend(source)
}
#pragma omp for simd ordered(1) /* { dg-error "'ordered' clause used with generated loops" "" { target c } } */
#pragma omp tile sizes (2) /* { dg-error "'ordered' clause used with generated loops" "" { target c++ } } */
for (i = 0; i < 64; i++)
{
#pragma omp ordered doacross(sink: i - 1)
#pragma omp ordered doacross(source:omp_cur_iteration)
}
#pragma omp parallel for ordered /* { dg-error "'ordered' clause used with generated loops" "" { target c } } */
#pragma omp tile sizes (2) /* { dg-error "'ordered' clause used with generated loops" "" { target c++ } } */
for (i = 0; i < 64; i++)
{
#pragma omp ordered depend(sink: i - 1)
#pragma omp ordered depend(source)
}
#pragma omp parallel for ordered /* { dg-error "'ordered' clause used with generated loops" "" { target c } } */
#pragma omp tile sizes (2) /* { dg-error "'ordered' clause used with generated loops" "" { target c++ } } */
for (i = 0; i < 64; i++)
{
#pragma omp ordered doacross(sink: i - 1)
#pragma omp ordered doacross(source:)
}
#pragma omp for ordered(1) /* { dg-error "'ordered' clause used with generated loops" } */
#pragma omp tile sizes (2)
for (i = 0; i < 64; i++)
{
#pragma omp ordered depend(sink: i - 1)
#pragma omp ordered depend(source)
}
#pragma omp for ordered(1) /* { dg-error "'ordered' clause used with generated loops" } */
#pragma omp tile sizes (2)
for (i = 0; i < 64; i++)
{
#pragma omp ordered doacross(sink: i - 1)
#pragma omp ordered doacross(source:omp_cur_iteration)
}
}
void
bar (void)
{
int i;
#pragma omp for ordered /* { dg-error "'ordered' clause used with generated loops" } */
#pragma omp unroll partial (2)
for (i = 0; i < 64; i++)
{
#pragma omp ordered
;
}
#pragma omp for ordered /* { dg-error "'ordered' clause used with generated loops" } */
#pragma omp unroll partial (2)
for (i = 0; i < 64; i++)
{
#pragma omp ordered threads
;
}
#pragma omp for simd ordered /* { dg-error "'ordered' clause used with generated loops" "" { target c } } */
#pragma omp unroll partial (2) /* { dg-error "'ordered' clause used with generated loops" "" { target c++ } } */
for (i = 0; i < 64; i++)
{
#pragma omp ordered threads, simd
;
}
#pragma omp for simd ordered(1) /* { dg-error "'ordered' clause used with generated loops" "" { target c } } */
#pragma omp unroll partial (2) /* { dg-error "'ordered' clause used with generated loops" "" { target c++ } } */
for (i = 0; i < 64; i++)
{
#pragma omp ordered depend(sink: i - 1)
#pragma omp ordered depend(source)
}
#pragma omp for simd ordered(1) /* { dg-error "'ordered' clause used with generated loops" "" { target c } } */
#pragma omp unroll partial (2) /* { dg-error "'ordered' clause used with generated loops" "" { target c++ } } */
for (i = 0; i < 64; i++)
{
#pragma omp ordered doacross(sink: i - 1)
#pragma omp ordered doacross(source:omp_cur_iteration)
}
#pragma omp parallel for ordered /* { dg-error "'ordered' clause used with generated loops" "" { target c } } */
#pragma omp unroll partial (2) /* { dg-error "'ordered' clause used with generated loops" "" { target c++ } } */
for (i = 0; i < 64; i++)
{
#pragma omp ordered depend(sink: i - 1)
#pragma omp ordered depend(source)
}
#pragma omp parallel for ordered /* { dg-error "'ordered' clause used with generated loops" "" { target c } } */
#pragma omp unroll partial (2) /* { dg-error "'ordered' clause used with generated loops" "" { target c++ } } */
for (i = 0; i < 64; i++)
{
#pragma omp ordered doacross(sink: i - 1)
#pragma omp ordered doacross(source:)
}
#pragma omp for ordered(1) /* { dg-error "'ordered' clause used with generated loops" } */
#pragma omp unroll partial (2)
for (i = 0; i < 64; i++)
{
#pragma omp ordered depend(sink: i - 1)
#pragma omp ordered depend(source)
}
#pragma omp for ordered(1) /* { dg-error "'ordered' clause used with generated loops" } */
#pragma omp unroll partial (2)
for (i = 0; i < 64; i++)
{
#pragma omp ordered doacross(sink: i - 1)
#pragma omp ordered doacross(source:omp_cur_iteration)
}
}
|