Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/c-c++-common/goacc/loop-2-kernels.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 void K(void) | |
2 { | |
3 int i, j; | |
4 | |
5 #pragma acc kernels | |
6 { | |
7 #pragma acc loop auto | |
8 for (i = 0; i < 10; i++) | |
9 { } | |
10 #pragma acc loop gang | |
11 for (i = 0; i < 10; i++) | |
12 { } | |
13 #pragma acc loop gang(5) | |
14 for (i = 0; i < 10; i++) | |
15 { } | |
16 #pragma acc loop gang(num:5) | |
17 for (i = 0; i < 10; i++) | |
18 { } | |
19 #pragma acc loop gang(static:5) | |
20 for (i = 0; i < 10; i++) | |
21 { } | |
22 #pragma acc loop gang(static:*) | |
23 for (i = 0; i < 10; i++) | |
24 { } | |
25 #pragma acc loop gang | |
26 for (i = 0; i < 10; i++) | |
27 { | |
28 #pragma acc loop vector | |
29 for (j = 0; j < 10; j++) | |
30 { } | |
31 #pragma acc loop worker | |
32 for (j = 0; j < 10; j++) | |
33 { } | |
34 #pragma acc loop gang // { dg-error "inner loop uses same" } | |
35 for (j = 0; j < 10; j++) | |
36 { } | |
37 } | |
38 #pragma acc loop seq gang // { dg-error "'seq' overrides" } | |
39 for (i = 0; i < 10; i++) | |
40 { } | |
41 | |
42 #pragma acc loop worker | |
43 for (i = 0; i < 10; i++) | |
44 { } | |
45 #pragma acc loop worker(5) | |
46 for (i = 0; i < 10; i++) | |
47 { } | |
48 #pragma acc loop worker(num:5) | |
49 for (i = 0; i < 10; i++) | |
50 { } | |
51 #pragma acc loop worker | |
52 for (i = 0; i < 10; i++) | |
53 { | |
54 #pragma acc loop vector | |
55 for (j = 0; j < 10; j++) | |
56 { } | |
57 #pragma acc loop worker // { dg-error "inner loop uses same" } | |
58 for (j = 0; j < 10; j++) | |
59 { } | |
60 #pragma acc loop gang | |
61 for (j = 0; j < 10; j++) | |
62 { } | |
63 } | |
64 #pragma acc loop seq worker // { dg-error "'seq' overrides" } | |
65 for (i = 0; i < 10; i++) | |
66 { } | |
67 #pragma acc loop gang worker | |
68 for (i = 0; i < 10; i++) | |
69 { } | |
70 | |
71 #pragma acc loop vector | |
72 for (i = 0; i < 10; i++) | |
73 { } | |
74 #pragma acc loop vector(5) | |
75 for (i = 0; i < 10; i++) | |
76 { } | |
77 #pragma acc loop vector(length:5) | |
78 for (i = 0; i < 10; i++) | |
79 { } | |
80 #pragma acc loop vector | |
81 for (i = 0; i < 10; i++) | |
82 { | |
83 #pragma acc loop vector // { dg-error "inner loop uses same" } | |
84 for (j = 1; j < 10; j++) | |
85 { } | |
86 #pragma acc loop worker | |
87 for (j = 1; j < 10; j++) | |
88 { } | |
89 #pragma acc loop gang | |
90 for (j = 1; j < 10; j++) | |
91 { } | |
92 } | |
93 #pragma acc loop seq vector // { dg-error "'seq' overrides" } | |
94 for (i = 0; i < 10; i++) | |
95 { } | |
96 #pragma acc loop gang vector | |
97 for (i = 0; i < 10; i++) | |
98 { } | |
99 #pragma acc loop worker vector | |
100 for (i = 0; i < 10; i++) | |
101 { } | |
102 | |
103 #pragma acc loop auto | |
104 for (i = 0; i < 10; i++) | |
105 { } | |
106 #pragma acc loop seq auto // { dg-error "'seq' overrides" } | |
107 for (i = 0; i < 10; i++) | |
108 { } | |
109 #pragma acc loop gang auto // { dg-error "'auto' conflicts" } | |
110 for (i = 0; i < 10; i++) | |
111 { } | |
112 #pragma acc loop worker auto // { dg-error "'auto' conflicts" } | |
113 for (i = 0; i < 10; i++) | |
114 { } | |
115 #pragma acc loop vector auto // { dg-error "'auto' conflicts" } | |
116 for (i = 0; i < 10; i++) | |
117 { } | |
118 } | |
119 | |
120 #pragma acc kernels loop auto | |
121 for (i = 0; i < 10; i++) | |
122 { } | |
123 #pragma acc kernels loop gang | |
124 for (i = 0; i < 10; i++) | |
125 { } | |
126 #pragma acc kernels loop gang(5) | |
127 for (i = 0; i < 10; i++) | |
128 { } | |
129 #pragma acc kernels loop gang(num:5) | |
130 for (i = 0; i < 10; i++) | |
131 { } | |
132 #pragma acc kernels loop gang(static:5) | |
133 for (i = 0; i < 10; i++) | |
134 { } | |
135 #pragma acc kernels loop gang(static:*) | |
136 for (i = 0; i < 10; i++) | |
137 { } | |
138 | |
139 #pragma acc kernels loop worker | |
140 for (i = 0; i < 10; i++) | |
141 { } | |
142 #pragma acc kernels loop worker(5) | |
143 for (i = 0; i < 10; i++) | |
144 { } | |
145 #pragma acc kernels loop worker(num:5) | |
146 for (i = 0; i < 10; i++) | |
147 { } | |
148 #pragma acc kernels loop seq worker // { dg-error "'seq' overrides" "" { target c } } | |
149 for (i = 0; i < 10; i++) // { dg-error "'seq' overrides" "" { target c++ } } | |
150 { } | |
151 #pragma acc kernels loop gang worker | |
152 for (i = 0; i < 10; i++) | |
153 { } | |
154 | |
155 #pragma acc kernels loop vector | |
156 for (i = 0; i < 10; i++) | |
157 { } | |
158 #pragma acc kernels loop vector(5) | |
159 for (i = 0; i < 10; i++) | |
160 { } | |
161 #pragma acc kernels loop vector(length:5) | |
162 for (i = 0; i < 10; i++) | |
163 { } | |
164 #pragma acc kernels loop seq vector // { dg-error "'seq' overrides" "" { target c } } | |
165 for (i = 0; i < 10; i++) // { dg-error "'seq' overrides" "" { target c++ } } | |
166 { } | |
167 #pragma acc kernels loop gang vector | |
168 for (i = 0; i < 10; i++) | |
169 { } | |
170 #pragma acc kernels loop worker vector | |
171 for (i = 0; i < 10; i++) | |
172 { } | |
173 | |
174 #pragma acc kernels loop auto | |
175 for (i = 0; i < 10; i++) | |
176 { } | |
177 #pragma acc kernels loop seq auto // { dg-error "'seq' overrides" "" { target c } } | |
178 for (i = 0; i < 10; i++) // { dg-error "'seq' overrides" "" { target c++ } } | |
179 { } | |
180 #pragma acc kernels loop gang auto // { dg-error "'auto' conflicts" "" { target c } } | |
181 for (i = 0; i < 10; i++) // { dg-error "'auto' conflicts" "" { target c++ } } | |
182 { } | |
183 #pragma acc kernels loop worker auto // { dg-error "'auto' conflicts" "" { target c } } | |
184 for (i = 0; i < 10; i++) // { dg-error "'auto' conflicts" "" { target c++ } } | |
185 { } | |
186 #pragma acc kernels loop vector auto // { dg-error "'auto' conflicts" "" { target c } } | |
187 for (i = 0; i < 10; i++) // { dg-error "'auto' conflicts" "" { target c++ } } | |
188 { } | |
189 } |