Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/c-c++-common/gomp/nesting-2.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 void | |
2 foo (void) | |
3 { | |
4 int i; | |
5 #pragma omp taskloop | |
6 for (i = 0; i < 64; i++) | |
7 { | |
8 int j; | |
9 #pragma omp for /* { dg-error "region may not be closely nested inside of" } */ | |
10 for (j = 0; j < 10; j++) | |
11 ; | |
12 #pragma omp single /* { dg-error "region may not be closely nested inside of" } */ | |
13 ; | |
14 #pragma omp sections /* { dg-error "region may not be closely nested inside of" } */ | |
15 { | |
16 #pragma omp section | |
17 ; | |
18 } | |
19 #pragma omp barrier /* { dg-error "region may not be closely nested inside of" } */ | |
20 #pragma omp master /* { dg-error "region may not be closely nested inside of" } */ | |
21 ; | |
22 #pragma omp ordered /* { dg-error "region may not be closely nested inside of" } */ | |
23 ; | |
24 #pragma omp ordered threads /* { dg-error "region may not be closely nested inside of" } */ | |
25 ; | |
26 #pragma omp ordered simd threads /* { dg-error ".ordered. .simd. must be closely nested inside .simd. region" } */ | |
27 ; | |
28 #pragma omp simd | |
29 for (j = 0; j < 10; j++) | |
30 #pragma omp ordered simd | |
31 ; | |
32 #pragma omp critical | |
33 { | |
34 #pragma omp simd | |
35 for (j = 0; j < 10; j++) | |
36 #pragma omp ordered simd | |
37 ; | |
38 } | |
39 } | |
40 #pragma omp taskloop | |
41 for (i = 0; i < 64; i++) | |
42 #pragma omp parallel | |
43 { | |
44 int j; | |
45 #pragma omp for | |
46 for (j = 0; j < 10; j++) | |
47 ; | |
48 #pragma omp single | |
49 ; | |
50 #pragma omp sections | |
51 { | |
52 #pragma omp section | |
53 ; | |
54 } | |
55 #pragma omp barrier | |
56 #pragma omp master | |
57 ; | |
58 #pragma omp ordered /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */ | |
59 ; | |
60 #pragma omp ordered threads /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */ | |
61 ; | |
62 #pragma omp simd | |
63 for (j = 0; j < 10; j++) | |
64 #pragma omp ordered simd | |
65 ; | |
66 #pragma omp critical | |
67 { | |
68 #pragma omp simd | |
69 for (j = 0; j < 10; j++) | |
70 #pragma omp ordered simd | |
71 ; | |
72 } | |
73 } | |
74 #pragma omp taskloop | |
75 for (i = 0; i < 64; i++) | |
76 #pragma omp target | |
77 { | |
78 int j; | |
79 #pragma omp for | |
80 for (j = 0; j < 10; j++) | |
81 ; | |
82 #pragma omp single | |
83 ; | |
84 #pragma omp sections | |
85 { | |
86 #pragma omp section | |
87 ; | |
88 } | |
89 #pragma omp barrier | |
90 #pragma omp master | |
91 ; | |
92 #pragma omp ordered /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */ | |
93 ; | |
94 #pragma omp ordered threads /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */ | |
95 ; | |
96 #pragma omp simd | |
97 for (j = 0; j < 10; j++) | |
98 #pragma omp ordered simd | |
99 ; | |
100 #pragma omp critical | |
101 { | |
102 #pragma omp simd | |
103 for (j = 0; j < 10; j++) | |
104 #pragma omp ordered simd | |
105 ; | |
106 } | |
107 } | |
108 #pragma omp ordered | |
109 { | |
110 #pragma omp ordered /* { dg-error "region may not be closely nested inside of" } */ | |
111 ; | |
112 } | |
113 #pragma omp ordered threads | |
114 { | |
115 #pragma omp ordered /* { dg-error "region may not be closely nested inside of" } */ | |
116 ; | |
117 } | |
118 #pragma omp ordered | |
119 { | |
120 #pragma omp ordered threads /* { dg-error "region may not be closely nested inside of" } */ | |
121 ; | |
122 } | |
123 #pragma omp ordered threads | |
124 { | |
125 #pragma omp ordered threads /* { dg-error "region may not be closely nested inside of" } */ | |
126 ; | |
127 } | |
128 #pragma omp critical | |
129 { | |
130 #pragma omp ordered simd /* { dg-error ".ordered. .simd. must be closely nested inside .simd. region" } */ | |
131 ; | |
132 } | |
133 #pragma omp for ordered | |
134 for (i = 0; i < 64; i++) | |
135 #pragma omp parallel | |
136 { | |
137 #pragma omp ordered threads /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */ | |
138 ; | |
139 } | |
140 #pragma omp for ordered | |
141 for (i = 0; i < 64; i++) | |
142 #pragma omp parallel | |
143 { | |
144 #pragma omp ordered /* { dg-error ".ordered. region must be closely nested inside a loop region with an .ordered. clause" } */ | |
145 ; | |
146 } | |
147 #pragma omp for ordered(1) | |
148 for (i = 0; i < 64; i++) | |
149 #pragma omp parallel | |
150 { | |
151 #pragma omp ordered depend(source) /* { dg-error ".ordered. construct with .depend. clause must be closely nested inside a loop with .ordered. clause with a parameter" } */ | |
152 #pragma omp ordered depend(sink: i - 1) /* { dg-error ".ordered. construct with .depend. clause must be closely nested inside a loop with .ordered. clause with a parameter" } */ | |
153 } | |
154 } |