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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
subroutine foo
integer :: i, j
!$omp taskloop
do i = 0, 63
!$omp do ! { dg-error "region may not be closely nested inside of" }
do j = 0, 9
end do
!$omp single ! { dg-error "region may not be closely nested inside of" }
!$omp end single
!$omp sections ! { dg-error "region may not be closely nested inside of" }
!$omp section
block
end block
!$omp end sections
!$omp barrier ! { dg-error "region may not be closely nested inside of" }
!$omp master ! { dg-error "region may not be closely nested inside of" } -- ?
block; end block ! otherwise not generated
!$omp end master
!$omp masked ! { dg-error "region may not be closely nested inside of" } -- ?
block; end block ! otherwise not generated
!$omp end masked
!$omp scope ! { dg-error "region may not be closely nested inside of" } -- ?
block; end block ! otherwise not generated
!$omp end scope
!$omp ordered ! { dg-error "region may not be closely nested inside of" }
!$omp end ordered
!$omp ordered threads ! { dg-error "region may not be closely nested inside of" }
!$omp end ordered
!$omp ordered simd threads ! { dg-error ".ordered. .simd. must be closely nested inside .simd. region" }
!$omp end ordered
!$omp simd
do j = 0, 9
!$omp ordered simd
!$omp end ordered
end do
!$omp critical
!$omp simd
do j = 0, 9
!$omp ordered simd
!$omp end ordered
end do
!$omp end critical
end do
!$omp taskloop
do i = 0, 63
!$omp parallel
!$omp do
do j = 0, 9
end do
!$omp single
!$omp end single
!$omp sections
!$omp section
block; end block
!$omp end sections
!$omp barrier
!$omp master
block; end block ! otherwise not generated
!$omp end master
!$omp masked
block; end block ! otherwise not generated
!$omp end masked
!$omp scope
block; end block ! otherwise not generated
!$omp end scope
!$omp ordered ! { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" }
!$omp end ordered
!$omp ordered threads ! { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" }
!$omp end ordered
!$omp simd
do j = 0, 9
!$omp ordered simd
!$omp end ordered
end do
!$omp critical
!$omp simd
do j = 0, 9
!$omp ordered simd
!$omp end ordered
end do
!$omp end critical
!$omp end parallel
end do
!$omp taskloop
do i = 0, 63
!$omp target
!$omp do
do j = 0, 9
end do
!$omp single
!$omp end single
!$omp sections
!$omp section
block; end block
!$omp end sections
!$omp barrier
!$omp master
block; end block ! otherwise not generated
!$omp end master
!$omp masked
block; end block ! otherwise not generated
!$omp end masked
!$omp scope
block; end block ! otherwise not generated
!$omp end scope
!$omp ordered ! { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" }
!$omp end ordered
!$omp ordered threads ! { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" }
!$omp end ordered
!$omp simd
do j = 0, 9
!$omp ordered simd
!$omp end ordered
end do
!$omp critical
!$omp simd
do j = 0, 9
!$omp ordered simd
!$omp end ordered
end do
!$omp end critical
!$omp end target
end do
!$omp ordered
!$omp ordered ! { dg-error "region may not be closely nested inside of" }
!$omp end ordered
!$omp end ordered
!$omp ordered threads
!$omp ordered ! { dg-error "region may not be closely nested inside of" }
!$omp end ordered
!$omp end ordered
!$omp ordered
!$omp ordered threads ! { dg-error "region may not be closely nested inside of" }
!$omp end ordered
!$omp end ordered
!$omp ordered threads
!$omp ordered threads ! { dg-error "region may not be closely nested inside of" }
!$omp end ordered
!$omp end ordered
!$omp critical
!$omp ordered simd ! { dg-error ".ordered. .simd. must be closely nested inside .simd. region" }
!$omp end ordered
!$omp end critical
!$omp do ordered
do i = 0, 63
!$omp parallel
!$omp ordered threads ! { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" }
!$omp end ordered
!$omp end parallel
end do
!$omp do ordered
do i = 0, 63
!$omp parallel
!$omp ordered ! { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" }
!$omp end ordered
!$omp end parallel
end do
!$omp do ordered(1)
do i = 0, 63
!$omp parallel
!$omp ordered depend(source) ! { dg-error ".ordered. construct with .depend. clause must be closely nested inside a loop with .ordered. clause" }
!$omp ordered depend(sink: i - 1) ! { dg-error ".ordered. construct with .depend. clause must be closely nested inside a loop with .ordered. clause" }
!$omp end parallel
end do
end
|