]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
compiler: remove Array_index_expression::is_lvalue_
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
ab869e7f
GA
12022-05-05 Sandra Loosemore <sandra@codesourcery.com>
2
3 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
4
3e7db517
GA
52022-05-04 Tobias Burnus <tobias@codesourcery.com>
6
7 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
8
92022-05-04 Tobias Burnus <tobias@codesourcery.com>
10
11 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
12
e66af28d
GA
132022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
14
15 * libgomp.map: Added omp_get_mapped_ptr.
16 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
17 * omp.h.in: Added omp_get_mapped_ptr.
18 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
19 * omp_lib.h.in: Likewise.
20 * target.c (omp_get_mapped_ptr): Added implementation of
21 omp_get_mapped_ptr.
22 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
23 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
24 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
25 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
26 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
27 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
28 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
29 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
30
6b6f53d8
GA
312022-04-28 Thomas Schwinge <thomas@codesourcery.com>
32
33 PR fortran/104717
34 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
35 privatization scanning. For GCN offloading compilation, raise
36 '-mgang-private-size'.
37
01ad093b
GA
382022-04-26 Jakub Jelinek <jakub@redhat.com>
39
40 PR libgomp/105358
41 * work.c (gomp_init_work_share): Don't mask of adjustment for
42 dynamic long long realignment if struct gomp_work_share has smaller
43 alignof than long long.
44 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
45 struct gomp_work_share has smaller alignof than long long or if
46 sizeof (struct gomp_work_share) is smaller than
47 INLINE_ORDERED_TEAM_IDS_OFF.
48 * loop_ull.c (GOMP_loop_ull_start): Likewise.
49 * sections.c (GOMP_sections2_start): Likewise.
50
98de0da6
GA
512022-04-25 Jakub Jelinek <jakub@redhat.com>
52 Thomas Schwinge <thomas@codesourcery.com>
53
54 PR fortran/104717
55 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
56
247bbed1
GA
572022-04-13 Jakub Jelinek <jakub@redhat.com>
58
59 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
60
80eb8ec6
GA
612022-04-06 Thomas Schwinge <thomas@codesourcery.com>
62
63 * plugin/cuda/cuda.h: Remove file.
64 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
65 "cuda/cuda.h" instead of <cuda.h>.
66 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
67 'PLUGIN_NVPTX_CPPFLAGS'.
68 * configure: Regenerate.
69
9d84ed68
GA
702022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
71
72 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
73
5e09bb1b
GA
742022-04-04 Tom de Vries <tdevries@suse.de>
75
76 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
77 on_device_arch_nvptx instead of offload_target_nvptx.
78 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
79
8af4270d
GA
802022-04-01 Tom de Vries <tdevries@suse.de>
81
82 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
83 and use REC_DEPTH.
84 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
85
862022-04-01 Tom de Vries <tdevries@suse.de>
87
88 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
89 num_workers check.
90
9f774626
GA
912022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
92 Lulu Cheng <chenglulu@loongson.cn>
93
94 * configure.tgt: Add LoongArch triplet.
95
aab0127d
GA
962022-03-28 Tom de Vries <tdevries@suse.de>
97
98 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
99 instead of /libexec/.
100 * configure: Regenerate.
101
31e989a2
GA
1022022-03-25 Tom de Vries <tdevries@suse.de>
103
104 PR libgomp/105042
105 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
106 execution time.
107 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
108 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
109
d1ca63a1
GA
1102022-03-23 Tobias Burnus <tobias@codesourcery.com>
111
112 PR middle-end/104285
113 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
114 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
115 * testsuite/libgomp.c++/target-same-name-2.C: New test.
116 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
117 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
118 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
119
a2287813
GA
1202022-03-22 Tom de Vries <tdevries@suse.de>
121
122 PR target/104916
123 PR target/104783
124 * testsuite/libgomp.c/pr104783-2.c: New test.
125
8ca61ad1
GA
1262022-03-18 Tobias Burnus <tobias@codesourcery.com>
127
128 PR fortran/103039
129 * testsuite/libgomp.fortran/associate4.f90: New test.
130
1312022-03-18 Tom de Vries <tdevries@suse.de>
132
133 PR target/104952
134 * testsuite/libgomp.c/pr104952-1.c: New test.
135 * testsuite/libgomp.c/pr104952-2.c: New test.
136
1372022-03-18 Jakub Jelinek <jakub@redhat.com>
138
139 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
140 variable next to pl variable.
141
e9ea3016
GA
1422022-03-17 Thomas Schwinge <thomas@codesourcery.com>
143
144 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
145 Enhance.
146 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
147 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
148
1492022-03-17 Thomas Schwinge <thomas@codesourcery.com>
150
151 PR middle-end/90115
152 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
153 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
154
9fc8f278
GA
1552022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
156
157 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
158 omp_set_max_active_levels.
159 * testsuite/libgomp.fortran/icv-8.f90: New test.
160
1612022-03-16 Thomas Schwinge <thomas@codesourcery.com>
162
163 PR testsuite/102841
164 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
165
b9756c08
GA
1662022-03-13 Tobias Burnus <tobias@codesourcery.com>
167
168 * libgomp.texi: Fix typo.
169
57eeedda
GA
1702022-03-12 Thomas Schwinge <thomas@codesourcery.com>
171
172 PR middle-end/100280
173 PR middle-end/104892
174 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
175 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
176 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
177 Likewise.
178 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
179 Likewise.
180 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
181 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
182 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
183 Likewise.
184
1852022-03-12 Thomas Schwinge <thomas@codesourcery.com>
186
187 PR middle-end/104892
188 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
189 to PR104892.
190 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
191 enable '--param=openacc-kernels=decompose' and adjust.
192 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
193 Likewise.
194 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
195 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
196 Likewise.
197
1982022-03-12 Thomas Schwinge <thomas@codesourcery.com>
199
200 PR middle-end/90115
201 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
202 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
203 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
204 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
205
2062022-03-12 Thomas Schwinge <thomas@codesourcery.com>
207
208 PR middle-end/100280
209 PR middle-end/104086
210 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
211 Merge this...
212 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
213 ..., and this...
214 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
215 this, and adjust.
216 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
217 Extend.
218
5e28be89
GA
2192022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
220
221 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
222 trait. Test last index in w and v array. Remove redundant
223 assignment to V(1). Move alignment checks at the end of
224 parallel region.
225
2262022-03-10 Tom de Vries <tdevries@suse.de>
227
228 * testsuite/libgomp.c/pr104783.c: New test.
229
2302022-03-10 Thomas Schwinge <thomas@codesourcery.com>
231
232 PR middle-end/90115
233 PR middle-end/102330
234 PR middle-end/104774
235 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
236 Enhance.
237 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
238 Adjust.
239 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
240 Likewise.
241 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
242 Likewise.
243 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
244 Likewise.
245 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
246 Likewise.
247 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
248 Likewise.
249 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
250 Likewise.
251 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
252 Likewise.
253 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
254 Likewise.
255 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
256 Likewise.
257 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
258 Likewise.
259 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
260 Likewise.
261 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
262 Likewise.
263 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
264 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
265 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
266
2672022-03-10 Thomas Schwinge <thomas@codesourcery.com>
268
269 PR middle-end/90115
270 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
271 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
272 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
273 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
274
8d96e14c
GA
2752022-03-04 Thomas Schwinge <thomas@codesourcery.com>
276
277 PR testsuite/104791
278 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
279 expected diagnostics.
280
2812022-03-04 Thomas Schwinge <thomas@codesourcery.com>
282
283 PR middle-end/104784
284 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
285 Test with '--param=openacc-kernels=decompose'.
286 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
287 Likewise.
288 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
289 Likewise.
290 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
291 Likewise.
292 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
293 Likewise.
294 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
295 Likewise.
296 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
297 Likewise.
298 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
299 Likewise.
300 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
301 Likewise.
302 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
303 Likewise.
304 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
305 Likewise.
306 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
307 Likewise.
308 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
309 Likewise.
310 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
311 Likewise.
312 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
313 Likewise.
314 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
315 Likewise.
316 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
317 Likewise.
318 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
319 Likewise.
320 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
321 Likewise.
322 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
323 Likewise.
324 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
325 Likewise.
326 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
327 Likewise.
328 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
329 Likewise.
330 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
331 Likewise.
332 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
333 Likewise.
334 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
335 Likewise.
336 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
337 Likewise.
338 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
339 Likewise.
340 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
341 Likewise.
342 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
343 Likewise.
344 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
345 Likewise.
346 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
347 Likewise.
348 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
349 Likewise.
350
3512022-03-04 Thomas Schwinge <thomas@codesourcery.com>
352
353 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
354 Test '-fopt-info-omp-all'.
355 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
356 Likewise.
357 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
358 Likewise.
359 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
360 Likewise.
361 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
362 Likewise.
363 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
364 Likewise.
365 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
366 Likewise.
367 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
368 Likewise.
369 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
370 Likewise.
371 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
372 Likewise.
373 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
374 Likewise.
375 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
376 Likewise.
377 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
378 Likewise.
379 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
380 Likewise.
381 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
382 Likewise.
383 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
384 Likewise.
385 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
386 Likewise.
387 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
388 Likewise.
389 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
390 Likewise.
391 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
392 Likewise.
393 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
394 Likewise.
395 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
396 Likewise.
397 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
398 Likewise.
399 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
400 Likewise.
401 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
402 Likewise.
403 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
404 Likewise.
405 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
406 Likewise.
407 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
408 Likewise.
409 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
410 Likewise.
411 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
412 Likewise.
413 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
414 Likewise.
415 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
416 Likewise.
417 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
418 Likewise.
419
4202022-03-04 Thomas Schwinge <thomas@codesourcery.com>
421
422 PR middle-end/100280
423 PR middle-end/104132
424 PR middle-end/104133
425 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
426 Extend.
427
4282022-03-04 Thomas Schwinge <thomas@codesourcery.com>
429
430 PR middle-end/100280
431 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
432 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
433 Likewise.
434
4352022-03-04 Thomas Schwinge <thomas@codesourcery.com>
436
437 PR middle-end/100280
438 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
439 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
440 Likewise.
441
a35f1697
GA
4422022-02-28 Tom de Vries <tdevries@suse.de>
443
444 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
445 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
446 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
447 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
448 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
449 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
450
756a6185
GA
4512022-02-24 Tom de Vries <tdevries@suse.de>
452
453 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
454 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
455 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
456 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
457 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
458 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
459 * testsuite/libgomp.c/declare-variant-3.h: New header file.
460
2cfb33fc
GA
4612022-02-22 Thomas Schwinge <thomas@codesourcery.com>
462
463 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
464 gang-redundant execution.
465
4662022-02-22 Tom de Vries <tdevries@suse.de>
467
468 PR target/99555
469 * config/nvptx/bar.c (generation_to_barrier): New function, copied
470 from config/rtems/bar.c.
471 (futex_wait, futex_wake): New function.
472 (do_spin, do_wait): New function, copied from config/linux/wait.h.
473 (gomp_barrier_wait_end, gomp_barrier_wait_last)
474 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
475 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
476 and replace with include of config/linux/bar.c.
477 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
478 (gomp_barrier_init): Init new fields.
479 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
480 workarounds.
481 * testsuite/libgomp.c/pr99555-1.c: Same.
482 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
483
4842022-02-22 Tom de Vries <tdevries@suse.de>
485
486 PR testsuite/104146
487 * testsuite/libgomp.c++/pr96390.C: Add additional-option
488 -foffload=-Wa,--verify for nvptx.
489 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
490
875e493b
GA
4912022-02-15 Tobias Burnus <tobias@codesourcery.com>
492
493 * testsuite/libgomp.fortran/depend-4.f90: New test.
494
a645583d
GA
4952022-02-10 Tobias Burnus <tobias@codesourcery.com>
496
497 PR c++/102204
498 * testsuite/libgomp.c++/target-virtual-1.C: New test.
499
5002022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
501
502 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
503 * target.c (copy_firstprivate_data): Copy only if host address is not
504 NULL.
505 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
506 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
507 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
508 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
509 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
510 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
511 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
512 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
513 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
514 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
515
2a2fda2d
GA
5162022-02-08 Jakub Jelinek <jakub@redhat.com>
517
518 PR libgomp/104385
519 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
520 clear task->parent.
521 * testsuite/libgomp.c/pr104385.c: New test.
522
3c1cbde1
GA
5232022-02-04 Tobias Burnus <tobias@codesourcery.com>
524
525 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
526 STOP of previous commit.
527
5282022-02-04 Tobias Burnus <tobias@codesourcery.com>
529
530 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
531 from is_64bit_aligned_.
532 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
533 and use it, more implicit none, remove unused argument.
534
682ede39
GA
5352022-02-03 David Seifert <soap@gentoo.org>
536 Jakub Jelinek <jakub@redhat.com>
537
538 * configure.ac: Support --disable-werror.
539 * configure: Regenerate.
540
ae7e4af9
GA
5412022-02-01 Tom de Vries <tdevries@suse.de>
542
543 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
544 PR83812 workaround.
545 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
546 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
547
5482022-02-01 Tom de Vries <tdevries@suse.de>
549
550 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
551 num_workers for nvidia accelerator to fix libgomp error 'insufficient
552 resources'.
553 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
554 Same.
555 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
556
5572022-02-01 Tom de Vries <tdevries@suse.de>
558
559 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
560 recursion depth.
561 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
562
1bb52662
GA
5632022-01-31 Martin Liska <mliska@suse.cz>
564
565 * acinclude.m4: Detect *_ld_is_mold and use it.
566 * configure: Regenerate.
567
99f17e99
GA
5682022-01-27 Tobias Burnus <tobias@codesourcery.com>
569
570 * libgomp.texi (OpenMP 5.0): Update implementation status.
571
9dd44357
GA
5722022-01-21 Thomas Schwinge <thomas@codesourcery.com>
573
574 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
575 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
576 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
577 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
578 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
579 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
580 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
581 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
582 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
583 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
584 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
585 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
586 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
587 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
588 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
589
fe1ad141
GA
5902022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
591
592 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
593 "static") to make the device num available in the offload image.
594
5952022-01-19 Martin Liska <mliska@suse.cz>
596 Thomas Schwinge <thomas@codesourcery.com>
597
598 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
599 patterns.
600 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
601 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
602 Likewise.
603 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
604 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
605 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
606 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
607 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
608 Likewise.
609 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
610 Likewise.
611 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
612 Likewise.
613 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
614 Likewise.
615 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
616 Likewise.
617 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
618 Likewise.
619 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
620 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
621 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
622
7a761ae6
GA
6232022-01-18 Martin Liska <mliska@suse.cz>
624
625 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
626 in dg-warning.
627 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
628 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
629 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
630 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
631 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
632 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
633 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
634 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
635 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
636 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
637 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
638 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
639 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
640 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
641 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
642
fc829782
GA
6432022-01-17 Thomas Schwinge <thomas@codesourcery.com>
644
645 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
646 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
647 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
648
6492022-01-17 Julian Brown <julian@codesourcery.com>
650 Thomas Schwinge <thomas@codesourcery.com>
651
652 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
653 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
654 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
655
1e942d7c
GA
6562022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
657 Andrew Stubbs <ams@codesourcery.com>
658
659 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
660 the number of teams and threads if necessary.
661 (gcn_exec): Automatically set the number of gangs and workers if
662 necessary.
663
ad3f0d08
GA
6642022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
665
666 * testsuite/libgomp.fortran/allocate-1.c: New test.
667 * testsuite/libgomp.fortran/allocate-1.f90: New test.
668 * libgomp.texi: Remove string that says that allocate clause
669 support is for C/C++ only.
670
6712022-01-13 Thomas Schwinge <thomas@codesourcery.com>
672
673 * testsuite/libgomp.c-c++-common/on_device_arch.h
674 (any_device_arch, any_device_arch_intel_mic): New.
675 * testsuite/lib/libgomp.exp
676 (check_effective_target_offload_device_any_intel_mic): New.
677 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
678 * testsuite/libgomp.fortran/target10.f90: Likewise.
679
6802022-01-13 Thomas Schwinge <thomas@codesourcery.com>
681
682 PR tree-optimization/102192
683 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
684 '-Wuninitialized' diagnostics.
685
6862022-01-13 Thomas Schwinge <thomas@codesourcery.com>
687
688 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
689 current '-Wuninitialized' diagnostics.
690 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
691 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
692 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
693 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
694 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
695 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
696 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
697 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
698 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
699 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
700 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
701 Likewise.
702
7032022-01-13 Thomas Schwinge <thomas@codesourcery.com>
704
705 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
706 for 'offload_device_intel_mic'.
707
7082022-01-13 Julian Brown <julian@codesourcery.com>
709 Thomas Schwinge <thomas@codesourcery.com>
710
711 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
712 offloading execution XFAIL.
713
7142022-01-13 Thomas Schwinge <thomas@codesourcery.com>
715
716 PR middle-end/100280
717 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
718 Update.
719 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
720 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
721 Likewise.
722
7232022-01-13 Thomas Schwinge <thomas@codesourcery.com>
724
725 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
726 Enhance.
727 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
728 Likewise.
729 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
730 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
731 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
732 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
733 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
734 Likewise.
735 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
736 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
737 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
738 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
739
7d11b64b
GA
7402022-01-04 Tobias Burnus <tobias@codesourcery.com>
741
742 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
743 * testsuite/libgomp.fortran/target10.f90: Likewise.
744
7452022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
746
747 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
748 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
749 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
750
a4ae8c37
GA
7512022-01-03 Jakub Jelinek <jakub@redhat.com>
752
753 * libgomp.texi: Bump @copying's copyright year.
754
7f1239cb
GA
7552021-12-13 Tobias Burnus <tobias@codesourcery.com>
756
757 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
758 * testsuite/libgomp.fortran/atomic-19.f90: New test.
759
0bceef16
GA
7602021-12-10 Andrew Stubbs <ams@codesourcery.com>
761
762 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
763 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
764 table, not individual symbols.
765
4b4839e3
GA
7662021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
767
768 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
769 "target offload_device_nonshared_as"
770 * testsuite/libgomp.c++/target-this-3.C: Likewise.
771 * testsuite/libgomp.c++/target-this-4.C: Likewise.
772
641ff219
GA
7732021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
774
775 * target.c (gomp_map_vars_existing): Make sure attached pointer is
776 not overwritten during cross-host/device copying.
777 (gomp_update): Likewise.
778 (gomp_exit_data): Likewise.
779 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
780 * testsuite/libgomp.c++/target-12.C: Likewise.
781 * testsuite/libgomp.c++/target-15.C: Likewise.
782 * testsuite/libgomp.c++/target-16.C: Likewise.
783 * testsuite/libgomp.c++/target-17.C: Likewise.
784 * testsuite/libgomp.c++/target-21.C: Likewise.
785 * testsuite/libgomp.c++/target-23.C: Likewise.
786 * testsuite/libgomp.c/target-23.c: Likewise.
787 * testsuite/libgomp.c/target-29.c: Likewise.
788 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
789
7902021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
791
792 PR middle-end/92120
793 * libgomp.h (gomp_attach_pointer): Add bool parameter.
794 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
795 (goacc_enter_data_internal): Likewise.
796 * target.c (gomp_map_vars_existing): Update assert condition to
797 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
798 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
799 parameter, add support for mapping a pointer with NULL target.
800 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
801 parameter, add support for attaching a pointer with NULL target.
802 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
803 gomp_attach_pointer, add handling for
804 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
805 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
806 * testsuite/libgomp.c++/target-23.C: New testcase.
807 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
808 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
809 * testsuite/libgomp.c++/target-this-1.C: New testcase.
810 * testsuite/libgomp.c++/target-this-2.C: New testcase.
811 * testsuite/libgomp.c++/target-this-3.C: New testcase.
812 * testsuite/libgomp.c++/target-this-4.C: New testcase.
813 * testsuite/libgomp.c++/target-this-5.C: New testcase.
814
70e4cb66
GA
8152021-12-04 Tobias Burnus <tobias@codesourcery.com>
816
817 * libgomp.texi (OpenMP 5.1): Update status.
818
8192021-12-04 Tobias Burnus <tobias@codesourcery.com>
820
821 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
822
ea6ef320
GA
8232021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
824
825 PR fortran/90030
826 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
827 * testsuite/libgomp.fortran/pr90030.f90: New test.
828
c177e806
GA
8292021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
830 Thomas Schwinge <thomas@codesourcery.com>
831
832 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
833 temporary skip.
834
8352021-11-30 Cesar Philippidis <cesar@codesourcery.com>
836 Thomas Schwinge <thomas@codesourcery.com>
837
838 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
839 skip.
840
87cd82c8
GA
8412021-11-29 Richard Biener <rguenther@suse.de>
842
843 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
844 return.
845
d9ca4b45
GA
8462021-11-24 Jakub Jelinek <jakub@redhat.com>
847
848 PR middle-end/103384
849 * testsuite/libgomp.c/declare-variant-2.c: New test.
850
483092d3
GA
8512021-11-18 David Edelsohn <dje.gcc@gmail.com>
852
853 * alloc.c (gomp_aligned_alloc): Fix typo.
854
8552021-11-18 Jakub Jelinek <jakub@redhat.com>
856
857 PR libgomp/102838
858 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
859 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
860 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
861 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
862 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
863 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
864 gomp_aligned_alloc instead of team_malloc.
865
8662021-11-18 Jakub Jelinek <jakub@redhat.com>
867
868 PR libgomp/102838
869 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
870 memalign over posix_memalign over aligned_alloc over fallback
871 with malloc instead of aligned_alloc over _aligned_alloc over
872 posix_memalign over memalign over fallback with malloc. For
873 aligned_alloc, round up size up to multiple of al.
874
6b1695f4
GA
8752021-11-16 Jakub Jelinek <jakub@redhat.com>
876
877 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
878 construct as implemented.
879
e2b57363
GA
8802021-11-15 Tobias Burnus <tobias@codesourcery.com>
881
882 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
883
8842021-11-15 Jakub Jelinek <jakub@redhat.com>
885
886 * task.c (gomp_create_target_task): Copy args array as well.
887 * target.c (gomp_target_fallback): Add args argument.
888 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
889 (GOMP_target): Adjust gomp_target_fallback caller.
890 (GOMP_target_ext): Likewise.
891 (gomp_target_task_fn): Likewise.
892 * config/nvptx/team.c (gomp_nvptx_main): Set
893 gomp_global_icv.thread_limit_var.
894 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
895
8962021-11-15 Jakub Jelinek <jakub@redhat.com>
897
898 * config/nvptx/team.c (__gomp_team_num): Define as
899 __attribute__((shared)) var.
900 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
901 * config/nvptx/target.c (__gomp_team_num): Declare as
902 extern __attribute__((shared)) var.
903 (GOMP_teams4): Use __gomp_team_num as the team number instead of
904 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
905 is bigger than num_blocks, use num_teams_lower teams and arrange for
906 bumping of __gomp_team_num if !first and returning false once we run
907 out of teams.
908 * config/nvptx/teams.c (__gomp_team_num): Declare as
909 extern __attribute__((shared)) var.
910 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
911
9122021-11-15 Jakub Jelinek <jakub@redhat.com>
913
914 * testsuite/libgomp.c/teams-5.c: New test.
915
af2852b9
GA
9162021-11-12 Jakub Jelinek <jakub@redhat.com>
917
918 PR target/103201
919 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
920 to ...
921 * config/gcn/teams.c: ... here. New file.
922
9232021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
924
925 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
926 implicit map handling to allow a "superset" existing map as valid case.
927 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
928 (get_implicit): New function to extract implicit status.
929 (gomp_map_fields_existing): Adjust arguments in calls to
930 gomp_map_vars_existing, and add uses of get_implicit.
931 (gomp_map_vars_internal): Likewise.
932 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
933
9342021-11-12 Jakub Jelinek <jakub@redhat.com>
935
936 * libgomp_g.h (GOMP_teams4): Declare.
937 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
938 * target.c (GOMP_teams4): New function.
939 * config/nvptx/target.c (GOMP_teams): Remove.
940 (GOMP_teams4): New function.
941 * config/gcn/target.c (GOMP_teams): Remove.
942 (GOMP_teams4): New function.
943 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
944 teams instead of <= 2.
945 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
946
b39265d4
GA
9472021-11-11 Tobias Burnus <tobias@codesourcery.com>
948
949 * testsuite/libgomp.fortran/teams-1.f90: New test.
950
9512021-11-11 Jakub Jelinek <jakub@redhat.com>
952
953 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
954 * team.c (struct gomp_thread_start_data): Likewise.
955 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
956 (gomp_team_start): Initialize start_data->num_teams and
957 start_data->team_num. Update nthr->num_teams and nthr->team_num.
958 * teams.c (gomp_num_teams, gomp_team_num): Remove.
959 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
960 instead of gomp_num_teams and gomp_team_num.
961 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
962 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
963 * testsuite/libgomp.c/teams-4.c: New test.
964
9652021-11-11 Jakub Jelinek <jakub@redhat.com>
966
967 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
968
c9b1334e
GA
9692021-11-09 Thomas Schwinge <thomas@codesourcery.com>
970
971 * env.c (parse_gomp_openacc_dim): Restore parsing.
972
0ef94462
GA
9732021-10-30 Tobias Burnus <tobias@codesourcery.com>
974
975 PR middle-end/102972
976 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
977 parallel construct.
978 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
979 * testsuite/libgomp.c/target-3.c: Likewise.
980 * testsuite/libgomp.c/target-5.c: Likewise.
981 * testsuite/libgomp.c/target-6.c: Likewise.
982 * testsuite/libgomp.c/target-teams-1.c: Likewise.
983 * testsuite/libgomp.c/teams-1.c: Likewise.
984 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
985 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
986 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
987 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
988 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
989 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
990 * testsuite/libgomp.fortran/teams1.f90: Likewise.
991
4c61300f
GA
9922021-10-29 Aldy Hernandez <aldyh@redhat.com>
993
994 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
995 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
996
04a2cf3f
GA
9972021-10-27 Jakub Jelinek <jakub@redhat.com>
998
999 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
1000 aren't implemented for Fortran yet.
1001
10022021-10-27 Jakub Jelinek <jakub@redhat.com>
1003
1004 * testsuite/libgomp.c/loop-26.c: New test.
1005 * testsuite/libgomp.c/loop-27.c: New test.
1006
b621508d
GA
10072021-10-25 Tobias Burnus <tobias@codesourcery.com>
1008
1009 PR testsuite/102910
1010 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
1011 instead of #include <alloca.h> + alloca.
1012
ae5c5406
GA
10132021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
1014
1015 * libgomp.texi (Support of strictly structured blocks in Fortran):
1016 Adjust to 'Y'.
1017 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
1018
674dda6b
GA
10192021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
1020
1021 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
1022 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
1023
10242021-10-20 Jakub Jelinek <jakub@redhat.com>
1025
1026 PR libgomp/102838
1027 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
1028 (struct gomp_work_share): Only use aligned(64) attribute if
1029 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
1030 add padding before lock to ensure lock is at offset 64 bytes
1031 into the structure.
1032 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
1033 New poor man's static assertions.
1034 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
1035 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1036
10372021-10-20 Aldy Hernandez <aldyh@redhat.com>
1038 Richard Biener <rguenther@suse.de>
1039
1040 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
1041
ce4d1f63
GA
10422021-10-18 Jakub Jelinek <jakub@redhat.com>
1043
1044 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
1045 && gomp_places_list_len < count after nfirst <= nlast loop condition.
1046
10472021-10-18 Tobias Burnus <tobias@codesourcery.com>
1048
1049 PR fortran/102086
1050 PR fortran/92189
1051 PR fortran/92621
1052 PR fortran/101308
1053 PR fortran/101309
1054 PR fortran/101635
1055 PR fortran/92482
1056 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
1057
93d183a5
GA
10582021-10-15 Jakub Jelinek <jakub@redhat.com>
1059
1060 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
1061 type from char [50] to const char *.
1062 (places_array): Add a testcase for simplified syntax place followed
1063 by length or length and stride.
1064
10652021-10-15 Jakub Jelinek <jakub@redhat.com>
1066
1067 * env.c (parse_one_place): Handle non-negative-number the same
1068 as { non-negative-number }. Reject even !number:1 and
1069 !number:1:stride or !place:1 or !place:1:stride instead of just
1070 length other than 1.
1071 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
1072 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
1073 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
1074 as implemented.
1075 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
1076 simplified syntax.
1077
10782021-10-15 Jakub Jelinek <jakub@redhat.com>
1079
1080 * env.c (parse_schedule): For strtoul or strtoull calls which don't
1081 clearly reject return value 0 as invalid handle the case where end
1082 pointer is the same as first argument as invalid.
1083 (parse_unsigned_long_1): Likewise.
1084 (parse_one_place): Likewise.
1085 (parse_places_var): Likewise.
1086 (parse_stacksize): Likewise.
1087 (parse_spincount): Likewise.
1088 (parse_affinity): Likewise.
1089 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
1090 Make code valid C89.
1091 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
1092 For strtoul calls which don't clearly reject return value 0 as
1093 invalid handle the case where end pointer is the same as first
1094 argument as invalid.
1095 (gomp_affinity_init_level_1): Likewise.
1096 (gomp_affinity_init_numa_domains): Likewise.
1097 * config/rtems/proc.c (parse_thread_pools): Likewise.
1098
10992021-10-15 Jakub Jelinek <jakub@redhat.com>
1100
1101 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
1102 after creating count places clean up and return immediately.
1103 * testsuite/libgomp.c/places-6.c: New test.
1104 * testsuite/libgomp.c/places-7.c: New test.
1105 * testsuite/libgomp.c/places-8.c: New test.
1106 * testsuite/libgomp.c/places-9.c: New test.
1107 * testsuite/libgomp.c/places-10.c: New test.
1108
11092021-10-15 Jakub Jelinek <jakub@redhat.com>
1110
1111 * env.c (parse_places_var): Handle numa_domains as level 5.
1112 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
1113 function.
1114 (gomp_affinity_init_level): Use it instead of
1115 gomp_affinity_init_level_1 for level == 5.
1116 * testsuite/libgomp.c/places-5.c: New test.
1117
11182021-10-15 Jakub Jelinek <jakub@redhat.com>
1119
1120 * env.c (parse_places_var): Handle ll_caches as level 4.
1121 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
1122 function.
1123 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
1124 last level cache.
1125 (gomp_affinity_init_level): Likewise.
1126 * testsuite/libgomp.c/places-1.c: New test.
1127 * testsuite/libgomp.c/places-2.c: New test.
1128 * testsuite/libgomp.c/places-3.c: New test.
1129 * testsuite/libgomp.c/places-4.c: New test.
1130
5d5885c9
GA
11312021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1132
1133 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
1134 directive.
1135
11362021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1137
1138 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
1139
52055987
GA
11402021-10-12 Julian Brown <julian@codesourcery.com>
1141
1142 * target.c (gomp_copy_host2dev): Release device lock on cbuf
1143 error path.
1144
11452021-10-12 Tobias Burnus <tobias@codesourcery.com>
1146
1147 * testsuite/libgomp.fortran/icv-3.f90: New.
1148 * testsuite/libgomp.fortran/icv-4.f90: New.
1149
11502021-10-12 Jakub Jelinek <jakub@redhat.com>
1151
1152 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
1153 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
1154 OMP_TEAMS_THREAD_LIMIT): Document.
1155
11562021-10-12 Jakub Jelinek <jakub@redhat.com>
1157
1158 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
1159 to avoid makeinfo warnings.
1160
11612021-10-12 Jakub Jelinek <jakub@redhat.com>
1162
1163 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
1164 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
1165
11662021-10-12 Jakub Jelinek <jakub@redhat.com>
1167
1168 PR libgomp/102628
1169 PR libgomp/102668
1170 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
1171 allocation sizes from 420 to 320 and from 768 to 568.
1172 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1173 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
1174 for cr from 16 to 4.
1175
11762021-10-12 Jakub Jelinek <jakub@redhat.com>
1177
1178 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
1179 * testsuite/libgomp.c/scan-12.c: Likewise.
1180 * testsuite/libgomp.c/scan-13.c: Likewise.
1181 * testsuite/libgomp.c/scan-14.c: Likewise.
1182 * testsuite/libgomp.c/scan-15.c: Likewise.
1183 * testsuite/libgomp.c/scan-16.c: Likewise.
1184 * testsuite/libgomp.c/scan-17.c: Likewise.
1185 * testsuite/libgomp.c/scan-18.c: Likewise.
1186 * testsuite/libgomp.c/scan-19.c: Likewise.
1187 * testsuite/libgomp.c/scan-20.c: Likewise.
1188 * testsuite/libgomp.c/scan-21.c: Likewise.
1189 * testsuite/libgomp.c/scan-22.c: Likewise.
1190 * testsuite/libgomp.c++/scan-9.C: Likewise.
1191 * testsuite/libgomp.c++/scan-10.C: Likewise.
1192 * testsuite/libgomp.c++/scan-11.C: Likewise.
1193 * testsuite/libgomp.c++/scan-12.C: Likewise.
1194 * testsuite/libgomp.c++/scan-13.C: Likewise.
1195 * testsuite/libgomp.c++/scan-14.C: Likewise.
1196 * testsuite/libgomp.c++/scan-15.C: Likewise.
1197 * testsuite/libgomp.c++/scan-16.C: Likewise.
1198
11992021-10-12 Kewen Lin <linkw@linux.ibm.com>
1200
1201 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
1202
732d7638
GA
12032021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
1204
1205 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
1206 omp_atv_serialized.
1207 * omp.h.in: Add deprecated flag for omp_atv_sequential.
1208 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
1209 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
1210 * testsuite/libgomp.fortran/alloc-12.f90: New test.
1211
12122021-10-11 Jakub Jelinek <jakub@redhat.com>
1213
1214 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
1215 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1216 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
1217 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1218 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
1219 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1220 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
1221 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
1222 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
1223 omp_set_teams_thread_limit{,_,_8_}.
1224 * icv.c (omp_set_num_teams, omp_get_max_teams,
1225 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
1226 functions.
1227 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
1228 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
1229 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
1230 vars.
1231 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
1232 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
1233 is not specified, use gomp_nteams_var.
1234 * fortran.c (omp_set_num_teams, omp_get_max_teams,
1235 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
1236 ialias_redirect.
1237 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
1238 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
1239 omp_get_teams_thread_limit_): New functions.
1240
c9db17b8
GA
12412021-10-09 liuhongt <hongtao.liu@intel.com>
1242
1243 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
1244 * testsuite/libgomp.c++/scan-11.C: Ditto.
1245 * testsuite/libgomp.c++/scan-12.C: Ditto.
1246 * testsuite/libgomp.c++/scan-13.C: Ditto.
1247 * testsuite/libgomp.c++/scan-14.C: Ditto.
1248 * testsuite/libgomp.c++/scan-15.C: Ditto.
1249 * testsuite/libgomp.c++/scan-16.C: Ditto.
1250 * testsuite/libgomp.c++/scan-9.C: Ditto.
1251 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
1252 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
1253 * testsuite/libgomp.c/scan-11.c: Ditto.
1254 * testsuite/libgomp.c/scan-12.c: Ditto.
1255 * testsuite/libgomp.c/scan-13.c: Ditto.
1256 * testsuite/libgomp.c/scan-14.c: Ditto.
1257 * testsuite/libgomp.c/scan-15.c: Ditto.
1258 * testsuite/libgomp.c/scan-16.c: Ditto.
1259 * testsuite/libgomp.c/scan-17.c: Ditto.
1260 * testsuite/libgomp.c/scan-18.c: Ditto.
1261 * testsuite/libgomp.c/scan-19.c: Ditto.
1262 * testsuite/libgomp.c/scan-20.c: Ditto.
1263 * testsuite/libgomp.c/scan-21.c: Ditto.
1264 * testsuite/libgomp.c/scan-22.c: Ditto.
1265
12662021-10-09 Jakub Jelinek <jakub@redhat.com>
1267
1268 * libgomp.texi (OpenMP 5.1): Mention implemented support for
1269 structured block sequences in C/C++. Mention support for
1270 unconstrained/reproducible modifiers on order clause.
1271 Mention partial (C/C++ only) support of extentensions to atomics
1272 construct. Mention partial (C/C++ on clause only) support of
1273 align/allocator modifiers on allocate clause.
1274
e3e07b89
GA
12752021-10-02 Tobias Burnus <tobias@codesourcery.com>
1276
1277 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
1278 based on libgomp.c-c++-common/order-reproducible-1.c.
1279 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1280 * testsuite/libgomp.fortran/my-usleep.c: New test.
1281
9d116bcc
GA
12822021-10-01 Tobias Burnus <tobias@codesourcery.com>
1283
1284 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
1285 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
1286 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
1287 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
1288 based on libgomp.c-c++-common/alloc-9.c.
1289
12902021-10-01 Jakub Jelinek <jakub@redhat.com>
1291
1292 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
1293 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
1294
12952021-10-01 Jakub Jelinek <jakub@redhat.com>
1296
1297 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
1298 ialias_redirect.
1299 * env.c (handle_omp_display_env): Use ialias_call.
1300 * icv-device.c: Move ialias right below each function.
1301 (omp_get_device_num): Use ialias_call.
1302 * fortran.c (omp_fulfill_event): Add ialias_redirect.
1303 * icv.c (omp_get_active_level): Add ialias_redirect.
1304
13052021-10-01 Jakub Jelinek <jakub@redhat.com>
1306
1307 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
1308 __alloc_align__ (1) attribute.
1309 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
1310
24679983
GA
13112021-09-30 Tobias Burnus <tobias@codesourcery.com>
1312
1313 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
1314 for -fintrinsic-modules-path= warning of the C compiler.
1315 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1316 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
1317
13182021-09-30 Tobias Burnus <tobias@codesourcery.com>
1319
1320 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
1321 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
1322 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1323 omp_realloc): Add.
1324 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1325 omp_realloc): Add.
1326 * testsuite/libgomp.fortran/alloc-10.f90: New test.
1327 * testsuite/libgomp.fortran/alloc-6.f90: New test.
1328 * testsuite/libgomp.fortran/alloc-7.c: New test.
1329 * testsuite/libgomp.fortran/alloc-7.f90: New test.
1330 * testsuite/libgomp.fortran/alloc-8.f90: New test.
1331 * testsuite/libgomp.fortran/alloc-9.f90: New test.
1332
13332021-09-30 Jakub Jelinek <jakub@redhat.com>
1334
1335 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
1336 omp_realloc): New prototypes.
1337 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
1338 attribute.
1339 * allocator.c: Include string.h.
1340 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
1341 variable and use it instead of alignment so that when retrying the old
1342 alignment is used again. Don't retry if new alignment is the same
1343 as old alignment, unless allocator had pool size.
1344 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
1345 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
1346 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
1347 omp_aligned_calloc and omp_realloc.
1348 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
1349 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
1350 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
1351 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
1352 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
1353 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
1354
fd133479
GA
13552021-09-28 Tobias Burnus <tobias@codesourcery.com>
1356
1357 PR libgomp/96661
1358 * configure.ac: Only check for int-type = 2*size_t support when
1359 building with Fortran support.
1360 * configure: Regenerate.
1361
13622021-09-28 Thomas Schwinge <thomas@codesourcery.com>
1363
1364 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
1365 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1366
cf966403
GA
13672021-09-27 Aldy Hernandez <aldyh@redhat.com>
1368
1369 * team.c: Initialize start_data.
1370 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
1371 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
1372
13732021-09-27 Tobias Burnus <tobias@codesourcery.com>
1374
1375 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
1376 dg-message back to dg-note.
1377
13782021-09-27 Tobias Burnus <tobias@codesourcery.com>
1379
1380 PR fortran/94070
1381 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
1382 expected dg-note output.
1383
e4777439
GA
13842021-09-22 Tobias Burnus <tobias@codesourcery.com>
1385
1386 PR fortran/55534
1387 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
1388 r12-3722 by removing -Wno-missing-include-dirs.
1389 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1390
13912021-09-22 Jakub Jelinek <jakub@redhat.com>
1392
1393 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
1394 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
1395
2c41dd82
GA
13962021-09-21 Tobias Burnus <tobias@codesourcery.com>
1397
1398 PR fortran/55534
1399 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
1400 to ALWAYS_CFLAGS.
1401 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1402
cf74e7b5
GA
14032021-09-18 Jakub Jelinek <jakub@redhat.com>
1404
1405 * testsuite/libgomp.c++/default-1.C: New test.
1406 * testsuite/libgomp.c-c++-common/default-1.c: New test.
1407 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
1408 to default clause in C and C++" as implemented.
1409
0a4cb439
GA
14102021-09-17 Julian Brown <julian@codesourcery.com>
1411
1412 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
1413
14142021-09-17 Julian Brown <julian@codesourcery.com>
1415
1416 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
1417
14182021-09-17 Jakub Jelinek <jakub@redhat.com>
1419
1420 * libgomp.texi (OpenMP 5.1): Spelling fix,
1421 declare variante -> declare variant.
1422
14232021-09-17 Jakub Jelinek <jakub@redhat.com>
1424
1425 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
1426 Use /* */ comments instead of //.
1427 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
1428 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
1429 * testsuite/libgomp.c++/atomic-16.C: New test.
1430 * testsuite/libgomp.c++/atomic-17.C: New test.
1431
a26206ec
GA
14322021-09-10 Jakub Jelinek <jakub@redhat.com>
1433
1434 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
1435 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
1436 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
1437
b2748138
GA
14382021-09-07 Tobias Burnus <tobias@codesourcery.com>
1439
1440 * libgomp.texi (OpenMP Implementation Status): Extend
1441 OpenMP 5.0 section.
1442 (OpenACC Profiling Interface): Fix typo.
1443
14442021-09-07 Tobias Burnus <tobias@codesourcery.com>
1445
1446 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
1447 not to 4.5; link to new section.
1448 (OpenMP Implementation Status): New.
1449
9f99555f
GA
14502021-09-06 Thomas Schwinge <thomas@codesourcery.com>
1451
1452 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
1453
7b739540
GA
14542021-09-03 Tobias Burnus <tobias@codesourcery.com>
1455
1456 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
1457 dg-output.
1458 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1459
38b19c5b
GA
14602021-08-23 Thomas Schwinge <thomas@codesourcery.com>
1461 Jakub Jelinek <jakub@redhat.com>
1462
1463 * testsuite/libgomp.c/address-space-1.c: New file.
1464
14652021-08-23 Thomas Schwinge <thomas@codesourcery.com>
1466
1467 * testsuite/lib/libgomp.exp
1468 (check_effective_target_offload_target_intelmic): Remove 'proc'.
1469 (check_effective_target_offload_device_intel_mic): New 'proc'.
1470 * testsuite/libgomp.c-c++-common/on_device_arch.h
1471 (device_arch_intel_mic, on_device_arch_intel_mic): New.
1472 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
1473 'dg-xfail-run-if'.
1474 * testsuite/libgomp.fortran/target10.f90: Likewise.
1475
14762021-08-23 Tobias Burnus <tobias@codesourcery.com>
1477
1478 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
1479 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
1480 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
1481 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
1482
14832021-08-23 Jakub Jelinek <jakub@redhat.com>
1484
1485 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
1486 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
1487 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
1488
5b2876f9
GA
14892021-08-22 Thomas Schwinge <thomas@codesourcery.com>
1490
1491 * config/nvptx/error.c (fwrite, exit): Override, too.
1492 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
1493 of offloading testing.
1494 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1495
7c9e1645
GA
14962021-08-20 Tobias Burnus <tobias@codesourcery.com>
1497
1498 * testsuite/libgomp.fortran/error-1.f90: New test.
1499
15002021-08-20 Jakub Jelinek <jakub@redhat.com>
1501
1502 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
1503 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
1504 * error.c (GOMP_warning, GOMP_error): New functions.
1505 * testsuite/libgomp.c-c++-common/error-1.c: New test.
1506
6e529985
GA
15072021-08-18 Tobias Burnus <tobias@codesourcery.com>
1508
1509 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
1510 omp_target_free. omp_target_is_present, omp_target_memcpy,
1511 omp_target_memcpy_rect, omp_target_associate_ptr,
1512 omp_target_disassociate_ptr): Add interface.
1513 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
1514 omp_target_free. omp_target_is_present, omp_target_memcpy,
1515 omp_target_memcpy_rect, omp_target_associate_ptr,
1516 omp_target_disassociate_ptr): Add interface.
1517 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
1518 interface block for omp_alloc + omp_free.
1519 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
1520 * testsuite/libgomp.fortran/refcount-1.f90: New test.
1521 * testsuite/libgomp.fortran/target-12.f90: New test.
1522
15232021-08-18 Jakub Jelinek <jakub@redhat.com>
1524
1525 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
1526
2d14d64b
GA
15272021-08-17 Tobias Burnus <tobias@codesourcery.com>
1528
1529 * testsuite/libgomp.fortran/scope-1.f90: New test.
1530 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
1531
15322021-08-17 Jakub Jelinek <jakub@redhat.com>
1533
1534 * Makefile.am (libgomp_la_SOURCES): Add scope.c
1535 * Makefile.in: Regenerated.
1536 * libgomp_g.h (GOMP_scope_start): Declare.
1537 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
1538 * scope.c: New file.
1539 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
1540 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
1541
9d1d9fc8
GA
15422021-08-16 Thomas Schwinge <thomas@codesourcery.com>
1543
1544 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
1545 '?:' issues.
1546
15472021-08-16 Tobias Burnus <tobias@codesourcery.com>
1548
1549 * testsuite/libgomp.fortran/masked-1.f90: New test.
1550
261512fa
GA
15512021-08-13 Thomas Schwinge <thomas@codesourcery.com>
1552
1553 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
1554
72be20e2
GA
15552021-08-12 Jakub Jelinek <jakub@redhat.com>
1556
1557 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
1558
15592021-08-12 Tobias Burnus <tobias@codesourcery.com>
1560
1561 * env.c (parse_bind_var): Accept 'primary' as alias for
1562 'master'.
1563 (omp_display_env): Add TODO comment to
1564 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
1565 * libgomp.texi: Change 'master thread' to 'primary thread'
1566 in line with OpenMP 5.1.
1567 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
1568 omp_proc_bind_master is an alias of it.
1569 (OMP_PROC_BIND): Mention 'PRIMARY'.
1570 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
1571 (omp_proc_bind_primary): Add.
1572 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1573 * omp_lib.f90.in (omp_proc_bind_primary): Add.
1574 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1575 * omp_lib.h.in (omp_proc_bind_primary): Add.
1576 * testsuite/libgomp.c/affinity-1.c: Check that
1577 'primary' works and is identical to 'master'.
1578
37768150
GA
15792021-08-09 Julian Brown <julian@codesourcery.com>
1580 Kwok Cheung Yeung <kcy@codesourcery.com>
1581 Thomas Schwinge <thomas@codesourcery.com>
1582
1583 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
1584 16.
1585 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1586 [acc_device_radeon]: Update.
1587 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
1588 [ACC_DEVICE_TYPE_radeon]: Likewise.
1589 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1590 [acc_device_radeon]: Likewise.
1591 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
1592 [ACC_DEVICE_TYPE_radeon]: Likewise.
1593 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
1594 'openacc_radeon_accel_selected' and '-O0'.
1595 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1596
8ebf4fb5
GA
15972021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
1598
1599 * icv-device.c (omp_get_device_num): New API function, host side.
1600 * fortran.c (omp_get_device_num_): New interface function.
1601 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
1602 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
1603 omp_get_device_num_.
1604 * libgomp.texi (omp_get_device_num): Add documentation for new API
1605 function.
1606 * omp.h.in (omp_get_device_num): Add declaration.
1607 * omp_lib.f90.in (omp_get_device_num): Likewise.
1608 * omp_lib.h.in (omp_get_device_num): Likewise.
1609 * target.c (gomp_load_image_to_device): If additional entry for device
1610 number exists at end of returned entries from 'load_image_func' hook,
1611 copy the assigned device number over to the device variable.
1612 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1613 (omp_get_device_num): New API function, device side.
1614 * plugin/plugin-gcn.c ("symcat.h"): Add include.
1615 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1616 at end of returned 'target_table' entries.
1617 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1618 (omp_get_device_num): New API function, device side.
1619 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
1620 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1621 at end of returned 'target_table' entries.
1622 * testsuite/lib/libgomp.exp
1623 (check_effective_target_offload_target_intelmic): New function for
1624 testing for intelmic offloading.
1625 * testsuite/libgomp.c-c++-common/target-45.c: New test.
1626 * testsuite/libgomp.fortran/target10.f90: New test.
1627
4d17ca1b
GA
16282021-07-30 Thomas Schwinge <thomas@codesourcery.com>
1629 Ulrich Drepper <drepper@redhat.com>
1630
1631 * fortran.c (omp_display_env_, omp_display_env_8_): Only
1632 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
1633
16342021-07-29 Thomas Schwinge <thomas@codesourcery.com>
1635 Julian Brown <julian@codesourcery.com>
1636 Kwok Cheung Yeung <kcy@codesourcery.com>
1637
1638 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
1639 's%oaccdevlow%oaccloops%g'.
1640 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
1641 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1642 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
1643 Likewise.
1644 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
1645 Likewise.
1646 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
1647 Likewise.
1648 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
1649 Likewise.
1650 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
1651 Likewise.
1652 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
1653 Likewise.
1654 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
1655 Likewise.
1656 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
1657 Likewise.
1658 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1659
872c1a56
ML
16602021-07-29 Aldy Hernandez <aldyh@redhat.com>
1661
1662 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
1663 threader.
1664 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1665
af3f12e6
GA
16662021-07-27 Ulrich Drepper <drepper@gmail.com>
1667
1668 * env.c (wait_policy, stacksize): New static variables,
1669 move out of handle_omp_display_env.
1670 (omp_display_env): New function. The meat of the old
1671 handle_omp_display_env function.
1672 (handle_omp_display_env): Change to not take parameters
1673 and instead use the global variables. Only perform
1674 parsing, defer to omp_display_env for the implementation.
1675 (initialize_env): Remove local variables wait_policy and
1676 stacksize. Don't pass parameters to handle_omp_display_env.
1677 * fortran.c: Add ialias_redirect for omp_display_env.
1678 (omp_display_env_, omp_display_env_8_): New functions.
1679 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
1680 omp_display_env_, and omp_display_env_8_.
1681 * omp.h.in: Declare omp_display_env.
1682 * omp_lib.f90.in: Likewise.
1683 * omp_lib.h.in: Likewise.
1684
16852021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1686 Julian Brown <julian@codesourcery.com>
1687
1688 * target.c (gomp_coalesce_buf_add): Update comment.
1689 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
1690 'aq && cbuf'.
1691 (gomp_map_vars_internal): Only 'if (!aq)', do
1692 'gomp_coalesce_buf_add'.
1693 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
1694 XFAIL.
1695
16962021-07-27 Julian Brown <julian@codesourcery.com>
1697 Thomas Schwinge <thomas@codesourcery.com>
1698
1699 * libgomp.h (gomp_copy_host2dev): Update prototype.
1700 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
1701 argument to gomp_copy_host2dev (false).
1702 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
1703 (copy_data): Don't free src.
1704 (queue_push_copy): Remove free_src handling.
1705 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
1706 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
1707 snapshotting.
1708 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
1709 queue_push_copy.
1710 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
1711 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
1712 data when true, and set up deferred freeing of temporary buffer.
1713 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
1714 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
1715 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
1716 calls to gomp_copy_host2dev with appropriate ephemeral argument.
1717 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
1718 XFAIL.
1719
17202021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1721 Tom de Vries <tom@codesourcery.com>
1722
1723 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
1724 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
1725
17262021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1727
1728 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
1729 sequencing of 'async' data copying vs. profiling events.
1730 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1731 Likewise.
1732
17332021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1734 Julian Brown <julian@codesourcery.com>
1735
1736 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
1737 'async'/'wait' issue.
1738 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
1739 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
1740 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
1741
419c6c68
GA
17422021-07-21 Thomas Schwinge <thomas@codesourcery.com>
1743 Joseph Myers <joseph@codesourcery.com>
1744 Cesar Philippidis <cesar@codesourcery.com>
1745
1746 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
1747 file.
1748 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
1749 Likewise.
1750 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
1751 Likewise.
1752 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1753
92d45509
GA
17542021-07-20 Thomas Schwinge <thomas@codesourcery.com>
1755
1756 PR target/101484
1757 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
1758 '-Wno-error=array-bounds'.
1759 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
1760 * libgomp.h [__AMDGCN__]: Likewise.
1761
21ea2f93
GA
17622021-07-19 Thomas Schwinge <thomas@codesourcery.com>
1763
1764 PR target/101484
1765 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
1766 * libgomp.h [__AMDGCN__]: Likewise.
1767
0e775456
GA
17682021-07-13 Jakub Jelinek <jakub@redhat.com>
1769 Florian Weimer <fweimer@redhat.com>
1770
1771 * config/linux/sem.h: Don't include limits.h.
1772 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
1773 * config/linux/affinity.c: Include limits.h.
1774
bea7c16a
GA
17752021-07-01 Jakub Jelinek <jakub@redhat.com>
1776
1777 PR middle-end/94366
1778 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
1779
6bc18203
GA
17802021-06-29 Tobias Burnus <tobias@codesourcery.com>
1781
1782 PR other/67300
1783 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
1784 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
1785 avoid disabling other offload targets.
1786 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
1787 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1788 * testsuite/libgomp.c/target-44.c: Likewise.
1789
17902021-06-29 Tobias Burnus <tobias@codesourcery.com>
1791
1792 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
1793 target has shared memory and disable some scalar pointer/allocatable
1794 checks if not as firstprivate does not work.
1795
90708f87
GA
17962021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
1797
1798 PR testsuite/101114
1799 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
1800 Add "target offload_device_nonshared_as" condition for enabling test.
1801
9aa8327e
GA
18022021-06-24 Jakub Jelinek <jakub@redhat.com>
1803
1804 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
1805 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
1806 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
1807 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
1808
fcf617f0
GA
18092021-06-23 Jakub Jelinek <jakub@redhat.com>
1810
1811 PR middle-end/101167
1812 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
1813
688359a2
GA
18142021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
1815
1816 * hashtab.h (htab_clear): New function with initialization code
1817 factored out from...
1818 (htab_create): ...here, adjust to use htab_clear function.
1819 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
1820 special refcount values, add comments.
1821 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
1822 (REFCOUNT_LINK): Likewise.
1823 (REFCOUNT_STRUCTELEM): New special refcount range for structure
1824 element siblings.
1825 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
1826 sibling maps.
1827 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
1828 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
1829 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
1830 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
1831 (struct splay_tree_key_s): Add structelem_refcount and
1832 structelem_refcount_ptr fields into a union with dynamic_refcount.
1833 Add comments.
1834 (gomp_map_vars): Delete declaration.
1835 (gomp_map_vars_async): Likewise.
1836 (gomp_unmap_vars): Likewise.
1837 (gomp_unmap_vars_async): Likewise.
1838 (goacc_map_vars): New declaration.
1839 (goacc_unmap_vars): Likewise.
1840 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
1841 (goacc_enter_datum): Likewise.
1842 (goacc_enter_data_internal): Likewise.
1843 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
1844 and goacc_unmap_vars.
1845 (GOACC_data_start): Adjust to use goacc_map_vars.
1846 (GOACC_data_end): Adjust to use goacc_unmap_vars.
1847 * target.c (hash_entry_type): New typedef.
1848 (htab_alloc): New function hook for hashtab.h.
1849 (htab_free): Likewise.
1850 (htab_hash): Likewise.
1851 (htab_eq): Likewise.
1852 (hashtab.h): Add file include.
1853 (gomp_increment_refcount): New function.
1854 (gomp_decrement_refcount): Likewise.
1855 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
1856 gomp_increment_refcount.
1857 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
1858 to gomp_map_vars_existing.
1859 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
1860 variable to guard OpenMP specific paths, adjust calls to
1861 gomp_map_vars_existing, add structure element sibling splay_tree_key
1862 sequence creation code, adjust Fortran map case to avoid increment
1863 under OpenMP.
1864 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
1865 local refcount_set if caller passed in NULL, adjust call to
1866 gomp_map_vars_internal.
1867 (gomp_map_vars_async): Adjust and rename into...
1868 (goacc_map_vars): ...this new function, adjust call to
1869 gomp_map_vars_internal.
1870 (gomp_remove_splay_tree_key): New function with code factored out from
1871 gomp_remove_var_internal.
1872 (gomp_remove_var_internal): Add code to handle removing multiple
1873 splay_tree_key sequence for structure elements, adjust code to use
1874 gomp_remove_splay_tree_key for splay-tree key removal.
1875 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
1876 gomp_decrement_refcount.
1877 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
1878 local refcount_set if caller passed in NULL, adjust call to
1879 gomp_unmap_vars_internal.
1880 (gomp_unmap_vars_async): Adjust and rename into...
1881 (goacc_unmap_vars): ...this new function, adjust call to
1882 gomp_unmap_vars_internal.
1883 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
1884 gomp_unmap_vars.
1885 (GOMP_target_ext): Likewise.
1886 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
1887 (GOMP_target_data): Likewise.
1888 (GOMP_target_data_ext): Likewise.
1889 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
1890 (gomp_exit_data): Add refcount_set parameter, adjust to use
1891 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
1892 after main loop.
1893 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
1894 gomp_map_vars and gomp_exit_data.
1895 (gomp_target_task_fn): Likewise.
1896 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
1897 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
1898 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
1899 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
1900 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
1901 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
1902
ede6c356
GA
19032021-06-15 Tobias Burnus <tobias@codesourcery.com>
1904
1905 PR fortran/92568
1906 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
1907
43c35d0d
GA
19082021-06-10 Andrew Stubbs <ams@codesourcery.com>
1909 Thomas Schwinge <thomas@codesourcery.com>
1910
1911 * libgomp.map (GOACC_2.0.2): New symbol version.
1912 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
1913 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
1914
19152021-06-10 Thomas Schwinge <thomas@codesourcery.com>
1916 Andrew Stubbs <ams@codesourcery.com>
1917
1918 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
1919 extracted from...
1920 (GOACC_enter_exit_data): ... here.
1921 (GOACC_declare): Use it.
1922
19232021-06-10 Thomas Schwinge <thomas@codesourcery.com>
1924
1925 * oacc-parallel.c (GOACC_declare): Move...
1926 * oacc-mem.c: ... here.
1927 * libgomp_g.h: Adjust.
1928
19292021-06-10 Andrew Stubbs <ams@codesourcery.com>
1930 Thomas Schwinge <thomas@codesourcery.com>
1931
1932 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
1933 handling.
1934
19352021-06-10 Jakub Jelinek <jakub@redhat.com>
1936
1937 PR tree-optimization/100981
1938 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
1939 dsdotr and dsdoti to 0.
1940
4f625f47
GA
19412021-06-09 H.J. Lu <hjl.tools@gmail.com>
1942
1943 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
1944 if atomic compare-and-swap is supported on 'int'.
1945
19462021-06-09 Richard Biener <rguenther@suse.de>
1947
1948 PR tree-optimization/100981
1949 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
1950
c6038721
GA
19512021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1952
1953 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
1954 unconditionally.
1955 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1956 Update.
1957 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1958 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1959
19602021-06-08 Thomas Schwinge <thomas@codesourcery.com>
1961
1962 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
1963 '-DACC_MEM_SHARED=0'.
1964 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1965 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1966 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
1967 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1968 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1969 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
1970 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1971 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1972 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1973 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1974 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
1975 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
1976 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
1977 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
1978 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
1979 'acc_device_radeon' testing.
1980 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
1981 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
1982 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
1983 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
1984 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1985 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1986 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
1987 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
1988 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
1989 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
1990 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
1991 for non-'openacc_nvidia_accel_selected'.
1992 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
1993 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
1994 all implement this checking".
1995 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
1996 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
1997 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
1998 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
1999 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2000
20012021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2002
2003 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
2004 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
2005
20062021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2007
2008 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
2009 for 'acc_device_radeon'.
2010
20112021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2012
2013 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
2014 for non-'acc_device_nvidia'.
2015
20162021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2017
2018 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
2019 'acc_device_radeon' testing.
2020 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2021 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2022 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2023
20242021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2025
2026 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
2027 require 'openacc_nvidia_accel_selected'. Fix up for
2028 'ACC_DEVICE_TYPE_radeon'.
2029
20302021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2031
2032 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
2033 'openacc_nvidia_accel_selected'.
2034 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2035
20362021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2037
2038 * testsuite/lib/libgomp.exp
2039 (check_effective_target_openacc_radeon_accel_selected):
2040 Streamline.
2041
20422021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2043
2044 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
2045 PR80547 workaround.
2046
20472021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2048
2049 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2050 <acc_device_nvidia>: Update comment.
2051
48166757
GA
20522021-05-28 Tobias Burnus <tobias@codesourcery.com>
2053
2054 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
2055
cd62d089
GA
20562021-05-27 Jakub Jelinek <jakub@redhat.com>
2057
2058 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
2059 check_effective_target_openacc_cublas,
2060 check_effective_target_openacc_cudart): New.
2061 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
2062 target openacc_cublas.
2063 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2064 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2065 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
2066 target openacc_cuda.
2067 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2068 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2069 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2070 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2071 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2072 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2073 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2074 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2075 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
2076 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2077 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2078 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2079 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2080 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2081 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2082 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2083 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
2084 targets openacc_cublas and openacc_cudart.
2085 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2086 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2087 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2088 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2089 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
2090 Require effective target openacc_cudart.
2091 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
2092 for effective target openacc_cuda and add && defined USE_CUDA_H to
2093 preprocessor conditionals. Guard -lcuda also on openacc_cuda
2094 effective target.
2095
01c59ef2
GA
20962021-05-26 Jakub Jelinek <jakub@redhat.com>
2097
2098 PR libgomp/100573
2099 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
2100 GOMP_target_end_data, GOMP_target_update_ext,
2101 GOMP_target_enter_exit_data): New dummy entrypoints.
2102 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
2103 GOMP_target_end_data, GOMP_target_update_ext,
2104 GOMP_target_enter_exit_data): Likewise.
2105 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
2106 OMPFROM, OMPTO): Define.
2107 (main): Remove #pragma omp target teams around all the tests.
2108 * testsuite/libgomp.c-c++-common/target-41.c: New test.
2109 * testsuite/libgomp.c-c++-common/target-42.c: New test.
2110
2bc6dace
GA
21112021-05-25 Jakub Jelinek <jakub@redhat.com>
2112
2113 PR middle-end/99928
2114 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
2115
637569df
GA
21162021-05-24 Tobias Burnus <tobias@codesourcery.com>
2117
2118 PR fortran/86470
2119 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
2120 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
2121 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
2122
15d30d2f
GA
21232021-05-22 Thomas Schwinge <thomas@codesourcery.com>
2124
2125 PR testsuite/90115
2126 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
2127 uninteresting/varying diagnostics.
2128
2832d51b
GA
21292021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2130
2131 PR middle-end/90115
2132 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
2133 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2134
21352021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2136
2137 PR middle-end/90115
2138 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
2139 file.
2140 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
2141 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
2142 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2143 Likewise.
2144 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2145 Likewise.
2146 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2147 Likewise.
2148 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2149 Likewise.
2150 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2151 Likewise.
2152 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2153 Likewise.
2154 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2155 Likewise.
2156 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2157 Likewise.
2158 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2159 Likewise.
2160 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2161 Likewise.
2162 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2163 Likewise.
2164 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2165 Likewise.
2166 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2167 Likewise.
2168 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2169 Likewise.
2170 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2171 Likewise.
2172 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2173 Likewise.
2174 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2175 Likewise.
2176 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2177 Likewise.
2178 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2179 Likewise.
2180 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2181 Likewise.
2182 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2183 Likewise.
2184 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2185 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2186 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2187 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
2188 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2189 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2190 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2191 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2192 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2193 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2194 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2195 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2196 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2197 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2198 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2199 Likewise.
2200 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
2201 Likewise.
2202 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
2203 Likewise.
2204 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2205 Likewise.
2206 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
2207 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2208 Likewise.
2209 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2210 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2211 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2212 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2213 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2214 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2215 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2216 Likewise.
2217 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2218 Likewise.
2219 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2220 Likewise.
2221 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2222 Likewise.
2223 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2224 Likewise.
2225 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2226 Likewise.
2227 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2228 Likewise.
2229 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2230 Likewise.
2231 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2232 Likewise.
2233 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2234 Likewise.
2235 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2236 Likewise.
2237 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2238 Likewise.
2239 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2240 Likewise.
2241 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2242 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2243 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2244 Likewise.
2245 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2246 Likewise.
2247 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2248 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2249 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2250
22512021-05-21 Julian Brown <julian@codesourcery.com>
2252 Chung-Lin Tang <cltang@codesourcery.com>
2253 Thomas Schwinge <thomas@codesourcery.com>
2254
2255 PR middle-end/90115
2256 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
2257 test.
2258 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2259 Likewise.
2260 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2261 Likewise.
2262
22632021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2264
2265 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
2266 for nvptx offloading.
2267
22682021-05-21 Tobias Burnus <tobias@codesourcery.com>
2269
2270 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
2271
65f32e5d
GA
22722021-05-19 Thomas Schwinge <thomas@codesourcery.com>
2273
2274 PR target/83812
2275 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
2276
22772021-05-19 Julian Brown <julian@codesourcery.com>
2278
2279 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
2280
a8daf9a1
GA
22812021-05-18 Thomas Schwinge <thomas@codesourcery.com>
2282
2283 * testsuite/lib/libgomp.exp
2284 (check_effective_target_offload_target_nvptx): Don't shadow global
2285 'offload_targets' variable.
2286
22872021-05-18 Thomas Schwinge <thomas@codesourcery.com>
2288
2289 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
2290 '-latomic' to nvptx offloading compilation.
2291 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2292
22932021-05-18 Thomas Schwinge <thomas@codesourcery.com>
2294
2295 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
2296 offloading compilation.
2297
a7ffc1ef
GA
22982021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
2299
2300 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
2301 if new tasks generated.
2302 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
2303
87a7d10c
GA
23042021-05-14 Tobias Burnus <tobias@codesourcery.com>
2305
2306 * testsuite/libgomp.fortran/parallel-master.f90: New test.
2307
f9af11c7
GA
23082021-05-13 Martin Liska <mliska@suse.cz>
2309
2310 PR testsuite/100569
2311 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
2312 * testsuite/libgomp.c/pr46032-2.c: Likewise.
2313 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
2314 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
2315
0ff3a0f2
GA
23162021-05-12 Tobias Burnus <tobias@codesourcery.com>
2317
2318 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
2319 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
2320
037e3661
GA
23212021-05-11 Jakub Jelinek <jakub@redhat.com>
2322
2323 PR middle-end/100471
2324 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
2325 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
2326 reduction pointer.
2327 * testsuite/libgomp.c/task-reduction-4.c: New test.
2328
62d87a32
GA
23292021-05-07 Tobias Burnus <tobias@codesourcery.com>
2330 Tom de Vries <tdevries@suse.de>
2331
2332 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
2333 complex/floating-point || + && reduction with 'omp target'.
2334 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2335
99e8df7a
GA
23362021-05-04 Tobias Burnus <tobias@codesourcery.com>
2337
2338 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
2339 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
2340 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
2341 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
2342
23432021-05-04 Tobias Burnus <tobias@codesourcery.com>
2344
2345 PR testsuite/100397
2346 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
2347 declaration to scope of non-'depend'-guarded assignment to avoid races.
2348
e690396d
GA
23492021-05-03 Tom de Vries <tdevries@suse.de>
2350
2351 PR target/100321
2352 * testsuite/libgomp.c/target-44.c: New test.
2353
9326049e
GA
23542021-04-30 Roman Zhuykov <zhroma@ispras.ru>
2355
2356 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
2357
3c8e539d
GA
23582021-04-29 Tom de Vries <tdevries@suse.de>
2359
2360 * testsuite/libgomp.c/pr81778.c: New test.
2361
23622021-04-29 Tom de Vries <tdevries@suse.de>
2363
2364 PR target/100232
2365 * testsuite/libgomp.c/target-43.c: New file.
2366
e4ff4ffb
GA
23672021-04-28 Jakub Jelinek <jakub@redhat.com>
2368 Tobias Burnus <tobias@codesourcery.com>
2369
2370 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
2371 * target.c (gomp_load_plugin_for_device): If set and if a plugin
2372 can't be dlopened, silently assume it has no devices.
2373 * Makefile.in: Regenerate.
2374 * config.h.in: Regenerate.
2375 * configure: Regenerate.
2376
c0fa3f2f
GA
23772021-04-26 Tobias Burnus <tobias@codesourcery.com>
2378
2379 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2380 Use [Ww]arning in dg-bogus as FE diagnostic and default
2381 diagnostic differ and the result depends on ENABLE_OFFLOAD.
2382 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2383 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2384 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2385
23862021-04-26 Tobias Burnus <tobias@codesourcery.com>
2387
2388 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2389 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
2390 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2391 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2392 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2393
23942021-04-26 Thomas Schwinge <thomas@codesourcery.com>
2395 Nathan Sidwell <nathan@codesourcery.com>
2396 Tom de Vries <vries@codesourcery.com>
2397 Julian Brown <julian@codesourcery.com>
2398 Kwok Cheung Yeung <kcy@codesourcery.com>
2399
2400 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
2401 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
2402 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2403 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2404 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2405 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2406 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
2407 Likewise.
2408 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2409 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2410 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2411 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2412 Likewise.
2413 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2414 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2415 Likewise.
2416 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2417 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
2418 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2419 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2420 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2421 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2422 Likewise.
2423 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2424 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2425 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2426 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2427 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2428 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2429 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2430 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2431 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2432 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2433 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2434
24352021-04-26 Thomas Schwinge <thomas@codesourcery.com>
2436
2437 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
2438 compile with '-w'.
2439 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2440 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2441 Likewise.
2442 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2443 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
2444 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2445 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2446 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2447 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2448 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2449
e3948473
GA
24502021-04-22 Richard Biener <rguenther@suse.de>
2451
2452 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
2453 only on nvptx-none.
2454
c1ef0c92
GA
24552021-04-21 Tobias Burnus <tobias@codesourcery.com>
2456
2457 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
2458 omp_depend_kind instead of defining it as 16.
2459
24602021-04-21 Tobias Burnus <tobias@codesourcery.com>
2461
2462 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2463 New, based on check_effective_target_offload_target_nvptx.
2464 (check_effective_target_offload_target_nvptx): Call it.
2465 (check_effective_target_offload_target_amdgcn): New.
2466 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
2467 Require target offload_target_nvptx || offload_target_amdgcn.
2468 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
2469 * testsuite/libgomp.c/pr86416-1.c: Likewise.
2470 * testsuite/libgomp.c/pr86416-2.c: Likewise.
2471
24722021-04-21 Tobias Burnus <tobias@codesourcery.com>
2473
2474 * testsuite/libgomp.fortran/depobj-1.f90: New test.
2475
6e81e015
GA
24762021-04-19 Thomas Schwinge <thomas@codesourcery.com>
2477
2478 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2479 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
2480 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2481 Likewise.
2482 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2483 Likewise.
2484 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2485
ee351f7f
GA
24862021-04-15 Thomas Schwinge <thomas@codesourcery.com>
2487
2488 PR target/99555
2489 * testsuite/lib/libgomp.exp
2490 (check_effective_target_offload_device_nvptx): New.
2491 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
2492 resolved, make sure that we exit quickly, with error status,
2493 XFAILed.
2494 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
2495 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2496
df3b1289
GA
24972021-04-14 Jakub Jelinek <jakub@redhat.com>
2498
2499 PR testsuite/100071
2500 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
2501 cp = omp_alloc with cp, p arguments instead of cq, q and call
2502 c_f_pointer after last cq = omp_alloc with cq, q.
2503
a0ecde22
GA
25042021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
2505
2506 PR middle-end/98088
2507 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
2508 for loop with GT/GE condition.
2509 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
2510
3115aba8
GA
25112021-04-09 Thomas Schwinge <thomas@codesourcery.com>
2512
2513 PR middle-end/84991
2514 PR middle-end/84992
2515 PR middle-end/90779
2516 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
2517
25182021-04-09 Jakub Jelinek <jakub@redhat.com>
2519
2520 PR libgomp/99984
2521 * team.c (gomp_thread_start): Call pthread_setspecific for
2522 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
2523 has been initialized to avoid false positive warning.
2524
65374af2
GA
25252021-03-29 Tobias Burnus <tobias@codesourcery.com>
2526
2527 PR target/99555
2528 * testsuite/lib/on_device_arch.c: Move to ...
2529 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
2530 * testsuite/libgomp.fortran/on_device_arch.c: New file;
2531 #include on_device_arch.h.
2532 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
2533 on_device_arch.h instead of using dg-additional-source.
2534 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2535 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
2536 on_device_arch.c without relative paths.
2537
4493b1c1
GA
25382021-03-25 Thomas Schwinge <thomas@codesourcery.com>
2539
2540 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
2541 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
2542 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
2543 * config.h.in: Regenerate.
2544 * configure: Likewise.
2545
25462021-03-25 Thomas Schwinge <thomas@codesourcery.com>
2547
2548 PR target/99555
2549 * testsuite/lib/on_device_arch.c: New file.
2550 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2551 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
2552 skip for nvptx offloading, with error status.
2553 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2554
25552021-03-25 Thomas Schwinge <thomas@codesourcery.com>
2556
2557 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
2558 OpenACC 'serial' construct diagnostic for nvptx offloading.
2559
3c5b6d24
GA
25602021-03-15 Tobias Burnus <tobias@codesourcery.com>
2561
2562 PR c++/99509
2563 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
2564
6da2762a
GA
25652021-03-12 Tobias Burnus <tobias@codesourcery.com>
2566
2567 PR fortran/98858
2568 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
2569
67f10d28
GA
25702021-03-04 Jakub Jelinek <jakub@redhat.com>
2571
2572 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
2573 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
2574 checking of -m32 or -mx32 options on the command line.
2575 * config.h.in: Regenerated.
2576 * configure: Regenerated.
2577
ec9dc4fa
GA
25782021-02-27 Iain Sandoe <iain@sandoe.co.uk>
2579
2580 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
2581 support from the target.
2582
daa68844
GA
25832021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
2584 Jakub Jelinek <jakub@redhat.com>
2585
2586 PR libgomp/98738
2587 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
2588 (struct gomp_task): Replace detach and completion_sem fields with
2589 union containing completion_sem and detach_team. Add deferred_p
2590 field.
2591 (struct gomp_team): Remove task_detach_queue.
2592 * task.c: Include assert.h.
2593 (gomp_init_task): Initialize deferred_p and completion_sem fields.
2594 Rearrange initialization order of fields.
2595 (task_fulfilled_p): Delete.
2596 (GOMP_task): Use address of task as the event handle. Remove
2597 initialization of detach field. Initialize deferred_p field.
2598 Use automatic local for completion_sem. Initialize detach_team field
2599 for deferred tasks.
2600 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
2601 Set kind of suspended detach task to GOMP_TASK_DETACHED and
2602 decrement task_running_count. Move finish_cancelled block out of
2603 else branch. Relocate call to gomp_team_barrier_done.
2604 (GOMP_taskwait): Handle tasks with completion events that have not
2605 been fulfilled.
2606 (GOMP_taskgroup_end): Likewise.
2607 (omp_fulfill_event): Use address of task as event handle. Post to
2608 completion_sem for undeferred tasks. Clear detach_team if task
2609 has not finished. For finished tasks, handle post-execution tasks,
2610 call gomp_team_barrier_wake if necessary, and free task.
2611 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
2612 (free_team): Remove free of task_detach_queue.
2613 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
2614 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
2615 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
2616 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
2617 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
2618 Change data-sharing of detach events on enclosing parallel to private.
2619 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
2620 taskwait directive.
2621 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
2622 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
2623 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
2624 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
2625 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
2626 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
2627 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
2628 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
2629 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
2630 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
2631 Change data-sharing of detach events on enclosing parallel to private.
2632 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
2633 taskwait directive.
2634 * testsuite/libgomp.fortran/task-detach-7.f90: New.
2635 * testsuite/libgomp.fortran/task-detach-8.f90: New.
2636 * testsuite/libgomp.fortran/task-detach-9.f90: New.
2637 * testsuite/libgomp.fortran/task-detach-10.f90: New.
2638 * testsuite/libgomp.fortran/task-detach-11.f90: New.
2639
2f5765cf
GA
26402021-02-22 Tobias Burnus <tobias@codesourcery.com>
2641
2642 PR fortran/99171
2643 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
2644
acc0ee5c
GA
26452021-02-17 Julian Brown <julian@codesourcery.com>
2646
2647 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
2648 expected errors.
2649
26502021-02-17 Julian Brown <julian@codesourcery.com>
2651
2652 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
2653 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
2654
0c5cdb31
GA
26552021-02-11 Uroš Bizjak <ubizjak@gmail.com>
2656
2657 * config/linux/x86/futex.h (__futex_wait):
2658 Revert output type back to long.
2659 (__futex_wake): Ditto.
2660 (futex_wait): Update for revert.
2661 (futex_wake): Ditto.
2662
26632021-02-11 Uroš Bizjak <ubizjak@gmail.com>
2664
2665 * config/linux/x86/futex.h (__futex_wait): New static inline
2666 wrapper function. Correct output type to int and
2667 timeout type to void *.
2668 (__futex_wake): New static inline wrapper function.
2669 Correct output type to int.
2670 (futex_wait): Use __futex_wait.
2671 (futex_wake): Use __futex_wake.
2672
4b37c3ea
GA
26732021-02-10 Julian Brown <julian@codesourcery.com>
2674
2675 PR fortran/98979
2676 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
2677 errors.
2678
a19dd5e6
GA
26792021-02-04 Julian Brown <julian@codesourcery.com>
2680
2681 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
2682
9faaa807
GA
26832021-02-03 Andrew Stubbs <ams@codesourcery.com>
2684
2685 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
2686 EF_AMDGPU_MACH_AMDGCN_GFX908.
2687 (gcn_gfx908_s): New constant string.
2688 (isa_hsa_name): Add gfx908.
2689 (isa_code): Add gfx908.
2690
161e4c08
GA
26912021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
2692
2693 * libgomp.texi (omp_fulfill_event): New entry.
2694
b93d0e36
GA
26952021-01-20 Jakub Jelinek <jakub@redhat.com>
2696
2697 * task.c (GOMP_task): Rename priority argument to priority_arg,
2698 add priority automatic variable and modify that variable. Instead of
2699 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
2700 check flags for that bit.
2701
f35a4f96
GA
27022021-01-19 Tobias Burnus <tobias@codesourcery.com>
2703
2704 PR fortran/98476
2705 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
2706
ef1f8ee6
GA
27072021-01-18 Andreas Schwab <schwab@suse.de>
2708
2709 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
2710
27112021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
2712
2713 * config/rtems/sem.h (gomp_sem_getcount): New function.
2714
27152021-01-18 Jakub Jelinek <jakub@redhat.com>
2716
2717 * config/linux/sem.h (gomp_sem_getcount): New function.
2718 * config/posix/sem.h (gomp_sem_getcount): New function.
2719 * config/posix/sem.c (gomp_sem_getcount): New function.
2720 * config/accel/sem.h (gomp_sem_getcount): New function.
2721 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
2722 (omp_fulfill_event): Likewise.
2723
59cf67d1
GA
27242021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
2725
2726 * fortran.c (omp_fulfill_event_): New.
2727 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
2728 (struct gomp_team): Add task_detach_queue and task_detach_count
2729 fields.
2730 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
2731 * libgomp_g.h (GOMP_task): Add extra argument.
2732 * omp.h.in (enum omp_event_handle_t): New.
2733 (omp_fulfill_event): New.
2734 * omp_lib.f90.in (omp_event_handle_kind): New.
2735 (omp_fulfill_event): New.
2736 * omp_lib.h.in (omp_event_handle_kind): New.
2737 (omp_fulfill_event): Declare.
2738 * priority_queue.c (priority_tree_find): New.
2739 (priority_list_find): New.
2740 (priority_queue_find): New.
2741 * priority_queue.h (priority_queue_predicate): New.
2742 (priority_queue_find): New.
2743 * task.c (gomp_init_task): Initialize detach field.
2744 (task_fulfilled_p): New.
2745 (GOMP_task): Add detach argument. Ignore detach argument if
2746 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
2747 field. Copy address of completion_sem into detach argument and
2748 into the start of the data record. Wait for detach event if task
2749 not deferred.
2750 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
2751 Remove completed tasks and requeue dependent tasks.
2752 (omp_fulfill_event): New.
2753 * team.c (gomp_new_team): Initialize task_detach_queue and
2754 task_detach_count fields.
2755 (free_team): Free task_detach_queue field.
2756 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
2757 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
2758 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
2759 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
2760 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
2761 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
2762 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
2763 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
2764 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
2765 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
2766 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
2767 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
2768
2f7f0d32
GA
27692021-01-15 Jakub Jelinek <jakub@redhat.com>
2770
2771 PR target/70454
2772 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
2773 be added through preprocessor check on
2774 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
2775
5fff80fd
GA
27762021-01-14 Thomas Schwinge <thomas@codesourcery.com>
2777
2778 PR libgomp/65099
2779 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
2780 configurations.
2781 * configure: Regenerate.
2782 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
2783 check.
2784
651b8a50
GA
27852021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
2786
2787 * configure: Re-generate.
2788
27892021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
2790
2791 * configure: Re-generate.
2792
27932021-01-05 Julian Brown <julian@codesourcery.com>
2794
2795 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
2796 (struct ptx_device): Add omp_stacks struct.
2797 (nvptx_open_device): Initialise cached-stacks housekeeping info.
2798 (nvptx_close_device): Free cached stacks block and mutex.
2799 (nvptx_stacks_free): New function.
2800 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
2801 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
2802 (nvptx_stacks_alloc): Rename to...
2803 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
2804 size or smaller is required.
2805 (nvptx_stacks_free): Remove.
2806 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
2807 during kernel execution.
2808
b6dd195a
GA
28092021-01-01 Jakub Jelinek <jakub@redhat.com>
2810
2811 * libgomp.texi: Bump @copying's copyright year.
2812
2d3425a5
GA
28132020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
2814
2815 * libgomp.texi (Top): Avoid bad "up" link.
2816
b1a2242e
GA
28172020-12-18 Jakub Jelinek <jakub@redhat.com>
2818
2819 * testsuite/libgomp.c/task-6.c: New test.
2820
ca2bd949
GA
28212020-12-09 Andrew Stubbs <ams@codesourcery.com>
2822
2823 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
2824 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
2825
f6e8e279
GA
28262020-12-08 Tobias Burnus <tobias@codesourcery.com>
2827
2828 * testsuite/libgomp.fortran/scan-1.f90: New test.
2829
6e1edf48
GA
28302020-12-05 Iain Sandoe <iain@sandoe.co.uk>
2831
2832 PR target/97865
2833 * configure: Regenerate.
2834
a9625c50
GA
28352020-11-29 John David Anglin <danglin@gcc.gnu.org>
2836
2837 * configure: Regenerate.
2838
360258da
GA
28392020-11-25 Thomas Schwinge <thomas@codesourcery.com>
2840
2841 * testsuite/libgomp.oacc-c++/cache-1.C: New.
2842 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
2843
28442020-11-25 Andrew Stubbs <ams@codesourcery.com>
2845
2846 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
2847 expected results.
2848
1e2c9a27
GA
28492020-11-24 Andrew Stubbs <ams@codesourcery.com>
2850
2851 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
2852 (reserved): Delete unused define.
2853
28542020-11-24 Thomas Schwinge <thomas@codesourcery.com>
2855
2856 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
2857 Tcl 8.5-specific behavior.
2858 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2859
25bb75f8
GA
28602020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
2861
2862 * env.c (gomp_global_icv): Remove nest_var field. Add
2863 max_active_levels_var field.
2864 (gomp_max_active_levels_var): Remove.
2865 (parse_boolean): Return true on success.
2866 (handle_omp_display_env): Express OMP_NESTED in terms of
2867 max_active_levels_var. Change format specifier for
2868 max_active_levels_var.
2869 (initialize_env): Set max_active_levels_var from
2870 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
2871 OMP_PROC_BIND.
2872 * icv.c (omp_set_nested): Express in terms of
2873 max_active_levels_var.
2874 (omp_get_nested): Likewise.
2875 (omp_set_max_active_levels): Use max_active_levels_var field instead
2876 of gomp_max_active_levels_var.
2877 (omp_get_max_active_levels): Likewise.
2878 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
2879 max_active_levels_var field.
2880 (gomp_supported_active_levels): Set to UCHAR_MAX.
2881 (gomp_max_active_levels_var): Delete.
2882 * libgomp.texi (omp_get_nested): Update documentation.
2883 (omp_set_nested): Likewise.
2884 (OMP_MAX_ACTIVE_LEVELS): Likewise.
2885 (OMP_NESTED): Likewise.
2886 (OMP_NUM_THREADS): Likewise.
2887 (OMP_PROC_BIND): Likewise.
2888 * parallel.c (gomp_resolve_num_threads): Replace reference
2889 to nest_var with max_active_levels_var. Use max_active_levels_var
2890 field instead of gomp_max_active_levels_var.
2891
28922020-11-18 Tobias Burnus <tobias@codesourcery.com>
2893
2894 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
2895 nvptx_usleep; use also for device={arch(gcn)}.
2896
faab61b5
GA
28972020-11-14 Jakub Jelinek <jakub@redhat.com>
2898
2899 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
2900 (foo): Add tests for non-VLA private and firstprivate clauses on
2901 omp task.
2902 (bar): Likewise. Remove taking of address from private/firstprivate
2903 variables.
2904 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
2905 (foo): Add p, q, px and s arguments. Add tests for array reductions
2906 and for non-VLA private and firstprivate clauses on omp task.
2907 (bar): Removed.
2908 (main): Adjust foo caller. Don't call bar.
2909
77f67db2
GA
29102020-11-13 Gergö Barany <gergo@codesourcery.com>
2911 Thomas Schwinge <thomas@codesourcery.com>
2912
2913 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2914 New.
2915 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2916 Likewise.
2917 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2918 Likewise.
2919 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
2920 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2921
29222020-11-13 Gergö Barany <gergo@codesourcery.com>
2923 Thomas Schwinge <thomas@codesourcery.com>
2924
2925 PR fortran/94358
2926 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
2927
29282020-11-13 Jakub Jelinek <jakub@redhat.com>
2929
2930 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
2931 for array reductions.
2932 (main): Adjust foo callers.
2933
a5a11525
GA
29342020-11-12 Jakub Jelinek <jakub@redhat.com>
2935
2936 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
2937 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
2938 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
2939 * allocator.c (omp_aligned_alloc): New for now static function,
2940 add alignment argument and handle it.
2941 (omp_alloc): Reimplement using omp_aligned_alloc.
2942 (GOMP_alloc, GOMP_free): New functions.
2943 (omp_free): Add ialias.
2944 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
2945 * testsuite/libgomp.c++/allocate-1.C: New test.
2946
29472020-11-12 Thomas Schwinge <thomas@codesourcery.com>
2948
2949 PR fortran/97782
2950 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
2951
bb622641
GA
29522020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
2953
2954 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
2955 usable.
2956 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
2957 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
2958 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
2959 (goacc_enter_data_internal): Likewise.
2960 * target.c (gomp_map_vars_internal):
2961 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
2962 of gomp_attach_pointer for OpenMP cases.
2963 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
2964 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
2965 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
2966
0cfd9109
GA
29672020-11-05 Ulrich Drepper <drepper@redhat.com>
2968 Kwok Cheung Yeung <kcy@codesourcery.com>
2969
2970 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
2971 * Makefile.in: Regenerate.
2972 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
2973 pragmas to ignore -Wdeprecated-declarations warnings.
2974 * icv.c: Likewise.
2975 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
2976 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
2977 and omp_get_nested with __GOMP_DEPRECATED_5_0.
2978 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
2979 deprecated.
2980 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
2981 to test options.
2982 * testsuite/libgomp.c/affinity-1.c: Likewise.
2983 * testsuite/libgomp.c/affinity-2.c: Likewise.
2984 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
2985 * testsuite/libgomp.c/lib-1.c: Likewise.
2986 * testsuite/libgomp.c/nested-1.c: Likewise.
2987 * testsuite/libgomp.c/nested-2.c: Likewise.
2988 * testsuite/libgomp.c/nested-3.c: Likewise.
2989 * testsuite/libgomp.c/pr32362-1.c: Likewise.
2990 * testsuite/libgomp.c/pr32362-2.c: Likewise.
2991 * testsuite/libgomp.c/pr32362-3.c: Likewise.
2992 * testsuite/libgomp.c/pr35549.c: Likewise.
2993 * testsuite/libgomp.c/pr42942.c: Likewise.
2994 * testsuite/libgomp.c/pr61200.c: Likewise.
2995 * testsuite/libgomp.c/sort-1.c: Likewise.
2996 * testsuite/libgomp.c/target-5.c: Likewise.
2997 * testsuite/libgomp.c/target-6.c: Likewise.
2998 * testsuite/libgomp.c/teams-1.c: Likewise.
2999 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
3000 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3001 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3002 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
3003 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3004 * testsuite/libgomp.fortran/lib2.f: Likewise.
3005 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3006 * testsuite/libgomp.fortran/teams1.f90: Likewise.
3007
88ce3d5f
GA
30082020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3009
3010 PR target/85486
3011 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
3012 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
3013 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3014
30152020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3016
3017 PR testsuite/80219
3018 PR testsuite/85303
3019 * testsuite/lib/libgomp.exp (libgomp_init): Set
3020 'gcc_warning_prefix', 'gcc_error_prefix'.
3021
30222020-10-30 Jakub Jelinek <jakub@redhat.com>
3023
3024 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
3025 even in field_tgt_clear initializer.
3026
e93aae4a
GA
30272020-10-28 Jakub Jelinek <jakub@redhat.com>
3028
3029 * testsuite/libgomp.c/target-42.c: New test.
3030
30312020-10-28 Jakub Jelinek <jakub@redhat.com>
3032 Tom de Vries <tdevries@suse.de>
3033
3034 PR testsuite/81690
3035 * testsuite/libgomp.c/usleep.h: New file.
3036 * testsuite/libgomp.c/target-32.c: Include usleep.h.
3037 (main): Use tgt_usleep instead of usleep.
3038 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
3039 (main): Use tgt_usleep instead of usleep.
3040
30412020-10-28 Jakub Jelinek <jakub@redhat.com>
3042
3043 PR lto/96680
3044 * testsuite/libgomp.c/declare-variant-1.c: New test.
3045
56ddd5e2
GA
30462020-10-22 Jakub Jelinek <jakub@redhat.com>
3047
3048 * testsuite/libgomp.c/target-41.c: New test.
3049
30502020-10-22 Jakub Jelinek <jakub@redhat.com>
3051
3052 * icv.c (omp_get_initial_device): Remove including corresponding
3053 ialias.
3054 * icv-device.c (omp_get_initial_device): New function. Return
3055 gomp_get_num_devices (). Add ialias.
3056 * target.c (resolve_device): Don't fail with
3057 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
3058 gomp_get_num_devices ().
3059 (omp_target_alloc, omp_target_free, omp_target_is_present,
3060 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
3061 omp_target_disassociate_ptr, omp_pause_resource): Use
3062 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
3063 first use in the functions, in uses dominated by the
3064 gomp_get_num_devices call use num_devices_openmp instead.
3065 * libgomp.texi (omp_get_initial_device): Document.
3066 * config/gcn/icv-device.c (omp_get_initial_device): New function.
3067 Add ialias.
3068 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
3069 * testsuite/libgomp.c/target-40.c: New test.
3070
30712020-10-21 Jakub Jelinek <jakub@redhat.com>
3072
3073 * env.c (parse_target_offload): Change new_offload var type to int,
3074 preinitialize to -1, remove found var and test new_offload != -1
3075 instead of found.
3076
e2e04288
GA
30772020-10-20 Jakub Jelinek <jakub@redhat.com>
3078
3079 * target.c (gomp_target_init): Inside of the function, use automatic
3080 variables corresponding to num_devices, num_devices_openmp and devices
3081 global variables and update the globals only at the end of the
3082 function.
3083
30842020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
3085
3086 * env.c (gomp_target_offload_var): New.
3087 (parse_target_offload): New.
3088 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
3089 (initialize_env): Parse OMP_TARGET_OFFLOAD.
3090 * libgomp.h (gomp_target_offload_t): New.
3091 (gomp_target_offload_var): New.
3092 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
3093 * target.c (resolve_device): Generate error if device not found and
3094 offloading is mandatory.
3095 (gomp_target_fallback): Generate error if offloading is mandatory.
3096 (GOMP_target): Add argument in call to gomp_target_fallback.
3097 (GOMP_target_ext): Likewise.
3098 (gomp_target_data_fallback): Generate error if offloading is mandatory.
3099 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
3100 (GOMP_target_data_ext): Likewise.
3101 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
3102 (gomp_target_init): Return early if offloading is disabled.
3103
b85d5dc5
GA
31042020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
3105
3106 * libgomp.texi (omp_get_max_active_levels): Modify description.
3107 (omp_get_supported_active_levels): Make descriptions consistent.
3108
b2698c21
GA
31092020-10-14 Jakub Jelinek <jakub@redhat.com>
3110
3111 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
3112
bdd74cc2
GA
31132020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
3114
3115 * env.c (gomp_max_active_levels_var): Initialize to
3116 gomp_supported_active_levels.
3117 (initialize_env): Limit gomp_max_active_levels_var to be at most
3118 equal to gomp_supported_active_levels.
3119 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
3120 (omp_get_supported_active_levels_): New.
3121 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
3122 to at most equal to gomp_supported_active_levels.
3123 (omp_get_supported_active_levels): New.
3124 * libgomp.h (gomp_supported_active_levels): New.
3125 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
3126 omp_get_supported_active_levels_.
3127 * libgomp.texi (omp_get_supported_active_levels): New.
3128 (omp_set_max_active_levels): Update. Add reference to
3129 omp_get_supported_active_levels.
3130 * omp.h.in (omp_get_supported_active_levels): New.
3131 * omp_lib.f90.in (omp_get_supported_active_levels): New.
3132 * omp_lib.h.in (omp_get_supported_active_levels): New.
3133 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
3134 against omp_get_supported_active_levels.
3135 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
3136
2baa36d4
GA
31372020-10-11 Clement Chigot <clement.chigot@atos.net>
3138
3139 * config/t-aix: Delete and recreate libgomp before creating
3140 FAT library.
3141
da9df699
GA
31422020-10-08 Tom de Vries <tdevries@suse.de>
3143
3144 PR libgomp/81802
3145 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
3146 dimensions.
3147
8e97b905
GA
31482020-10-06 Tom de Vries <tdevries@suse.de>
3149
3150 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
3151
31522020-10-06 Tom de Vries <tdevries@suse.de>
3153
3154 PR middle-end/90861
3155 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
3156
7e9282ae
GA
31572020-10-05 Tom de Vries <tdevries@suse.de>
3158
3159 PR fortran/95654
3160 * testsuite/libgomp.fortran/pr95654.f90: New test.
3161
b0b9b8f0
GA
31622020-10-02 Tobias Burnus <tobias@codesourcery.com>
3163
3164 * Makefile.in: Regenerate with automake 1.15.1.
3165 * aclocal.m4: Likewise.
3166 * configure: Likewise.
3167 * testsuite/Makefile.in: Likewise.
3168
660bfe61
GA
31692020-09-30 Andrew Stubbs <ams@codesourcery.com>
3170
3171 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
3172 and amdgcn targets.
3173
31742020-09-30 Tobias Burnus <tobias@codesourcery.com>
3175
3176 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
3177
93bca37c
GA
31782020-09-29 Andrew Stubbs <ams@codesourcery.com>
3179
3180 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
3181 total number of threads is one.
3182 (gomp_team_barrier_wake): Likewise.
3183 (gomp_team_barrier_wait_end): Likewise.
3184 (gomp_team_barrier_wait_cancel_end): Likewise.
3185 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
3186 (gomp_team_barrier_wake): Likewise.
3187 (gomp_team_barrier_wait_end): Likewise.
3188 (gomp_team_barrier_wait_cancel_end): Likewise.
3189 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
3190
e84761c6
GA
31912020-09-28 Tobias Burnus <tobias@codesourcery.com>
3192
3193 PR middle-end/96390
3194 * testsuite/libgomp.c++/pr96390.C: New test.
3195 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
3196
4383c595
GA
31972020-09-27 Clement Chigot <clement.chigot@atos.net>
3198
3199 * config/t-aix: Use $(AR) without -X32_64.
3200
cdd8f031
GA
32012020-09-25 Jakub Jelinek <jakub@redhat.com>
3202
3203 * testsuite/libgomp.c/loop-25.c: New test.
3204
521d2711
GA
32052020-09-22 Tobias Burnus <tobias@codesourcery.com>
3206
3207 PR fortran/95654
3208 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
3209
32102020-09-22 Tom de Vries <tdevries@suse.de>
3211
3212 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
3213 fails.
3214
ecde1b0a
GA
32152020-09-16 Nathan Sidwell <nathan@acm.org>
3216
3217 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
3218
9f7ab8c5
GA
32192020-09-15 Tobias Burnus <tobias@codesourcery.com>
3220
3221 PR fortran/96668
3222 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
3223
32242020-09-15 Tobias Burnus <tobias@codesourcery.com>
3225
3226 PR fortran/96668
3227 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
3228 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
3229 (gomp_map_vars_existing): Update call to it.
3230 (gomp_map_fields_existing): Likewise
3231 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
3232 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
3233 remapped.
3234 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
3235 GOMP_MAP_POINTER.
3236 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
3237 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
3238
50a71cd0
GA
32392020-09-14 Tom de Vries <tdevries@suse.de>
3240
3241 * config/nvptx/atomic.c: New file. Add
3242 __sync_val_compare_and_swap_16.
3243 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
3244 target offload_target_nvptx.
3245
31a05046
GA
32462020-09-08 Julian Brown <julian@codesourcery.com>
3247
3248 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
3249 iteration-ordering assumptions.
3250
32512020-09-08 Julian Brown <julian@codesourcery.com>
3252
3253 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
3254 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3255
5b9a3d2a
GA
32562020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
3257
3258 * plugin/plugin-nvptx.c (nvptx_free):
3259 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
3260 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
3261 comments.
3262
32632020-08-20 Tobias Burnus <tobias@codesourcery.com>
3264
3265 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
3266
b3cb5606
GA
32672020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
3268
3269 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
3270
32712020-08-13 Jakub Jelinek <jakub@redhat.com>
3272
3273 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
3274 * testsuite/libgomp.c/loop-23.c (main): Likewise.
3275 * testsuite/libgomp.c/loop-24.c: New test.
3276
bc0ca715
GA
32772020-08-08 Jakub Jelinek <jakub@redhat.com>
3278 Tobias Burnus <tobias@codesourcery.com>
3279
3280 PR fortran/93553
3281 * testsuite/libgomp.fortran/pr93553.f90: New test.
3282
aa5ea20c
GA
32832020-08-05 Jakub Jelinek <jakub@redhat.com>
3284
3285 * testsuite/libgomp.c/loop-22.c: New test.
3286 * testsuite/libgomp.c/loop-23.c: New test.
3287
32882020-08-05 Jakub Jelinek <jakub@redhat.com>
3289
3290 PR middle-end/96459
3291 * testsuite/libgomp.c/teams-3.c: New test.
3292 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
3293 if not defined yet.
3294 (N(test)): Use it before all N(f*) calls.
3295 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
3296 (main): Don't call all test_* functions from within
3297 #pragma omp teams reduction(|:err), call them directly.
3298
abba2591
GA
32992020-08-04 Tom de Vries <tdevries@suse.de>
3300
3301 PR target/96428
3302 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
3303 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
3304
6a1ad710
GA
33052020-08-03 Julian Brown <julian@codesourcery.com>
3306 Thomas Schwinge <thomas@codesourcery.com>
3307
3308 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
3309 shared-memory devices. Extend with further checking.
3310
33112020-08-03 Martin Jambor <mjambor@suse.cz>
3312
3313 * plugin/Makefrag.am: Remove configuration of HSA plugin.
3314 * aclocal.m4: Regenerated.
3315 * Makefile.in: Regenerated.
3316 * config.h.in: Regenerated.
3317 * configure: Regenerated.
3318 * plugin/configfrag.ac: Likewise.
3319 * plugin/hsa_ext_finalize.h: Removed.
3320 * plugin/plugin-hsa.c: Likewise.
3321 * testsuite/Makefile.in: Regenerated.
3322 * testsuite/lib/libgomp.exp
3323 (offload_target_to_openacc_device_type): Remove hsa case.
3324 (check_effective_target_hsa_offloading_selected_nocache): Removed
3325 (check_effective_target_hsa_offloading_selected): Likewise.
3326 (libgomp_init): Do not add -Wno-hsa to additional_flags.
3327 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
3328 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3329 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
3330 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3331 * testsuite/libgomp.hsa.c/c.exp: Likewise.
3332 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3333 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
3334 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3335 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3336 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3337 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3338 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3339 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3340 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3341 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3342 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3343 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
3344 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3345 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
3346 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3347 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3348 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
3349 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3350 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3351
e71dab87
GA
33522020-07-27 Julian Brown <julian@codesourcery.com>
3353 Thomas Schwinge <thomas@codesourcery.com>
3354
3355 * libgomp.h (struct target_var_desc): Rename do_detach field to
3356 is_attach.
3357 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
3358 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
3359 (goacc_enter_data_internal): Don't affect reference counts
3360 for attach mappings.
3361 (goacc_exit_data_internal): Don't affect reference counts for detach
3362 mappings.
3363 * target.c (gomp_map_vars_existing): Don't affect reference counts for
3364 attach mappings.
3365 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
3366 mark attach mappings.
3367 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
3368 reference count for attach mappings.
3369 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
3370 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3371 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3372 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
3373 test as shouldfail.
3374 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
3375 gracefully in no-finalize mode.
3376 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
3377
53256ee3
GA
33782020-07-24 Thomas Schwinge <thomas@codesourcery.com>
3379
3380 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
3381 use.
3382 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3383 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3384
9bb403dc
GA
33852020-07-23 Julian Brown <julian@codesourcery.com>
3386 Thomas Schwinge <thomas@codesourcery.com>
3387
3388 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
3389 finalization for detach operation.
3390 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
3391 New test.
3392
33932020-07-23 Tobias Burnus <tobias@codesourcery.com>
3394
3395 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
3396 * libgomp_f.h.in (omp_check_defines): Check whether
3397 sizeof of determined Fortran kind and C typedef match.
3398 * omp_lib.f90.in: Add omp_depened_kind.
3399 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
3400 * configure: Regenerate.
3401 * Makefile.in: Regenerate.
3402 * testsuite/Makefile.in: Regenerate.
3403
3ea9abca
GA
34042020-07-22 Tobias Burnus <tobias@codesourcery.com>
3405
3406 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
3407 gcc/testsuite/c-c++-common/gomp/.
3408 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
3409 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
3410 from gcc/testsuite/gfortran.dg/gomp/.
3411 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
3412
34132020-07-22 Tobias Burnus <tobias@codesourcery.com>
3414
3415 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
3416 * omp_lib.h.in: Likewise.
3417
aeb34e15
GA
34182020-07-18 H.J. Lu <hjl.tools@gmail.com>
3419
3420 PR target/95620
3421 * testsuite/libgomp.c/pr95620.c: New test.
3422
96686b3f
GA
34232020-07-16 Julian Brown <julian@codesourcery.com>
3424 Thomas Schwinge <thomas@codesourcery.com>
3425
3426 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
3427 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
3428
fe8185b5
GA
34292020-07-15 Tobias Burnus <tobias@codesourcery.com>
3430
3431 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
3432 avoid conversion on 32bit systems from 32bit to 64bit due
3433 to -fdefault-integer-8.
3434
34352020-07-15 Tobias Burnus <tobias@codesourcery.com>
3436
3437 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
3438 variables; add character(kind=4) tests; update TODO comment.
3439
34402020-07-15 Tobias Burnus <tobias@codesourcery.com>
3441
3442 * allocator.c: Add ialias for omp_init_allocator and
3443 omp_destroy_allocator.
3444 * configure.ac: Set INTPTR_T_KIND.
3445 * configure: Regenerate.
3446 * Makefile.in: Regenerate.
3447 * testsuite/Makefile.in: Regenerate.
3448 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
3449 omp_set_default_allocator_, omp_get_default_allocator_): New
3450 functions and ialias_redirect.
3451 * icv.c: Add ialias for omp_set_default_allocator and
3452 omp_get_default_allocator.
3453 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
3454 omp_destroy_allocator_, omp_set_default_allocator_ and
3455 omp_get_default_allocator_.
3456 * omp_lib.f90.in: Add allocator traits parameters, declare
3457 allocator routines and add related kind parameters.
3458 * omp_lib.h.in: Likewise.
3459 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
3460 * testsuite/libgomp.fortran/alloc-1.F90: New test.
3461 * testsuite/libgomp.fortran/alloc-2.F90: New test.
3462 * testsuite/libgomp.fortran/alloc-3.F: New test.
3463 * testsuite/libgomp.fortran/alloc-4.f90: New test.
3464 * testsuite/libgomp.fortran/alloc-5.f90: New test.
3465
8ca07a30
GA
34662020-07-14 Tom de Vries <tom@codesourcery.com>
3467 Cesar Philippidis <cesar@codesourcery.com>
3468 Thomas Schwinge <thomas@codesourcery.com>
3469 Kwok Cheung Yeung <kcy@codesourcery.com>
3470
3471 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
3472 New variable.
3473 (acc_init_1): Set acc_init_thread to pthread_self (). Set
3474 acc_init_state to initializing at the start, and to initialized at the
3475 end.
3476 (self_initializing_p): New function.
3477 (acc_get_device_type): Return acc_device_none if called by thread that
3478 is currently executing acc_init_1.
3479 * libgomp.texi (acc_get_device_type): Update documentation.
3480 (Implementation Status and Implementation-Defined Behavior): Likewise.
3481 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
3482
34832020-07-14 David Edelsohn <dje.gcc@gmail.com>
3484
3485 * config/t-aix: Set BITS from compiler cpp macro.
3486
34872020-07-14 Tobias Burnus <tobias@codesourcery.com>
3488
3489 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
3490
34912020-07-14 Tobias Burnus <tobias@codesourcery.com>
3492
3493 PR fortran/67311
3494 * testsuite/libgomp.fortran/target-map-1.f90: New test.
3495
34962020-07-14 Jakub Jelinek <jakub@redhat.com>
3497
3498 * testsuite/libgomp.c/loop-21.c: New test.
3499
ea69fcf9
GA
35002020-07-13 Julian Brown <julian@codesourcery.com>
3501 Thomas Schwinge <thomas@codesourcery.com>
3502
3503 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
3504
86536295
GA
35052020-07-10 Julian Brown <julian@codesourcery.com>
3506 Thomas Schwinge <thomas@codesourcery.com>
3507
3508 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
3509 dynamic_refcount.
3510 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3511 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
3512 dynamic_refcount.
3513 (acc_unmap_data): Update comment.
3514 (goacc_map_var_existing, goacc_enter_datum): Adjust for
3515 dynamic_refcount semantics.
3516 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
3517 Adjust for dynamic_refcount semantics.
3518 (goacc_enter_data_internal): Implement "present" case of dynamic
3519 memory-map handling here. Update "non-present" case for
3520 dynamic_refcount semantics.
3521 (goacc_exit_data_internal): Use goacc_exit_datum_1.
3522 * target.c (gomp_map_vars_internal): Remove
3523 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
3524 handling.
3525 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
3526 (gomp_load_image_to_device): Substitute dynamic_refcount for
3527 virtual_refcount.
3528 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
3529 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
3530 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
3531 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
3532 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
3533 trace output.
3534 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
3535 trace output.
3536 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
3537 test.
3538 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3539 Remove stale comment.
3540 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
3541 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3542 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3543 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3544 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3545 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
3546
35472020-07-10 Julian Brown <julian@codesourcery.com>
3548 Thomas Schwinge <thomas@codesourcery.com>
3549
3550 * oacc-mem.c (goacc_map_var_existing): New function.
3551 (goacc_enter_datum): Use above function.
3552 (goacc_exit_datum_1): New function.
3553 (goacc_exit_datum): Use above function.
3554
3f8ca9cb
GA
35552020-07-09 Julian Brown <julian@codesourcery.com>
3556 Thomas Schwinge <thomas@codesourcery.com>
3557
3558 PR middle-end/95270
3559 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
3560 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
3561
35622020-07-09 Julian Brown <julian@codesourcery.com>
3563
3564 * oacc-mem.c (find_group_last): Group data-movement clauses
3565 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
3566 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
3567
35682020-07-09 Jakub Jelinek <jakub@redhat.com>
3569
3570 * testsuite/libgomp.c/loop-19.c: New test.
3571 * testsuite/libgomp.c/loop-20.c: New test.
3572
35732020-07-09 Jakub Jelinek <jakub@redhat.com>
3574
3575 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
3576 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
3577 it. Remove __omp_alloctrait_value_max__.
3578 * allocator.c (omp_init_allocator): Handle omp_atv_default for
3579 omp_atk_alignment and omp_atk_pool_size.
3580
b991c834
GA
35812020-07-03 Thomas Schwinge <thomas@codesourcery.com>
3582
3583 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
3584 behavior for 'GOMP_MAP_FORCE_FROM'.
3585 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
3586
35872020-07-03 Thomas Schwinge <thomas@codesourcery.com>
3588
3589 * oacc-mem.c (goacc_exit_data_internal): Remove
3590 'GOMP_MAP_ALWAYS_FROM' handling.
3591
46fbb6c6
GA
35922020-06-30 Thomas Schwinge <thomas@codesourcery.com>
3593
3594 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
3595 'scan-assembler' with 'scan-offload-rtl'.
3596 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
3597 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3598 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
3599 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
3600
36012020-06-30 Thomas Schwinge <thomas@codesourcery.com>
3602
3603 * target.c (gomp_map_vars_existing): Assert 'kind !=
3604 GOMP_MAP_ATTACH'.
3605 (gomp_map_vars_internal): Clean up.
3606
9a33c41f
GA
36072020-06-27 Jakub Jelinek <jakub@redhat.com>
3608
3609 * testsuite/libgomp.c/loop-17.c: New test.
3610 * testsuite/libgomp.c/loop-18.c: New test.
3611
c9c05f73
GA
36122020-06-26 Marek Polacek <polacek@redhat.com>
3613
3614 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
3615
4543acc8
GA
36162020-06-23 Alexandre Oliva <oliva@adacore.com>
3617
3618 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
3619 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
3620
605a8f3b
GA
36212020-06-22 David Edelsohn <dje.gcc@gmail.com>
3622
3623 * Makefile.am: Use -include.
3624 * Makefile.in: Regenerate.
3625
f86e11a2
GA
36262020-06-21 David Edelsohn <dje.gcc@gmail.com>
3627
3628 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
3629 * Makefile.in: Regenerate
3630 * configure.ac (tmake_file): Substitute.
3631 * configure: Regenerate.
3632 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
3633 * config/t-aix: New file.
3634
aff95ee7
GA
36352020-06-17 Thomas Schwinge <thomas@codesourcery.com>
3636
3637 PR lto/94848
3638 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
3639 'dg-do run'.
3640
36412020-06-17 Andrew Stubbs <ams@codesourcery.com>
3642
3643 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
3644 variant for HSA_RUNTIME_LIB name.
3645 (find_executable_symbol_1): Delete.
3646 (find_executable_symbol): Delete.
3647 (init_kernel_properties): Add ".kd" suffix to symbol names.
3648 (find_load_offset): Delete.
3649 (create_and_finalize_hsa_program): Remove relocation handling.
3650
56638b9b
GA
36512020-06-16 Tobias Burnus <tobias@codesourcery.com>
3652
3653 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
3654
2c455ae0
GA
36552020-06-08 Tobias Burnus <tobias@codesourcery.com>
3656
3657 PR lto/94848
3658 PR middle-end/95551
3659 * testsuite/libgomp.fortran/target-var.f90: New test.
3660
1a59f3db
GA
36612020-06-05 Thomas Schwinge <thomas@codesourcery.com>
3662 Julian Brown <julian@codesourcery.com>
3663
3664 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
3665 special handling.
3666
36672020-06-05 Thomas Schwinge <thomas@codesourcery.com>
3668 Julian Brown <julian@codesourcery.com>
3669
3670 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3671 Simplify.
3672
36732020-06-05 Julian Brown <julian@codesourcery.com>
3674
3675 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
3676 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
3677
3add3425
GA
36782020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3679
3680 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3681 Evaluate 'copyfrom' individually for each entry.
3682 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
3683
36842020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3685
3686 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3687 Evaluate 'finalize' individually for each entry.
3688 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
3689 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
3690 file.
3691
36922020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3693
3694 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
3695 usage.
3696 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
3697
36982020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3699 Julian Brown <julian@codesourcery.com>
3700
3701 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
3702 checking.
3703 (acc_unmap_data, goacc_exit_data_internal): Restore
3704 'is_tgt_unmapped' checking.
3705 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
3706 file.
3707 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
3708 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3709 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3710 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3711 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3712 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3713
37142020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3715 Julian Brown <julian@codesourcery.com>
3716
3717 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
3718
37192020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3720
3721 PR libgomp/92854
3722 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
3723
37242020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3725
3726 PR libgomp/92854
3727 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
3728 more.
3729
37302020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3731 Julian Brown <julian@codesourcery.com>
3732
3733 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
3734 'gomp_map_vars'.
3735 (acc_map_data): Clean up accordingly.
3736
37372020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3738
3739 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
3740 of over-eager 'finalize' clause.
3741 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
3742 file.
3743 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3744 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3745 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3746 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3747 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3748 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
3749 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3750 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
3751
37522020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3753
3754 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
3755
37562020-06-04 Julian Brown <julian@codesourcery.com>
3757
3758 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
3759 error path.
3760 (goacc_detach_internal): Likewise.
3761
37622020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3763
3764 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
3765 the checkpoint.
3766 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3767 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3768 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3769 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3770 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3771
a9312a79
GA
37722020-06-02 Jakub Jelinek <jakub@redhat.com>
3773
3774 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
3775 defined.
3776
945b53cc
GA
37772020-05-30 Jakub Jelinek <jakub@redhat.com>
3778
3779 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
3780
37812020-05-30 Jakub Jelinek <jakub@redhat.com>
3782
3783 * allocator.c (omp_alloc): For size == 0, return NULL early.
3784
885ef72f
GA
37852020-05-29 H.J. Lu <hjl.tools@gmail.com>
3786
3787 PR bootstrap/95413
3788 * configure: Regenerated.
3789
8df7ee67
TK
37902020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
3791
3792 PR libfortran/95191
3793 * testsuite/libgomp.fortran/async_io_9.f90: New test.
3794
800bcc8c
JJ
37952020-05-19 Jakub Jelinek <jakub@redhat.com>
3796
3797 * omp.h.in (omp_uintptr_t): New typedef.
3798 (__GOMP_UINTPTR_T_ENUM): Define.
3799 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
3800 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
3801 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
3802 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
3803 omp_get_default_allocator, omp_alloc, omp_free): Declare.
3804 * libgomp.h (struct gomp_team_state): Add def_allocator field.
3805 (gomp_def_allocator): Declare.
3806 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
3807 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
3808 omp_alloc and omp_free.
3809 * team.c (gomp_team_start): Copy over ts.def_allocator.
3810 * env.c (gomp_def_allocator): New variable.
3811 (parse_wait_policy): Adjust function comment.
3812 (parse_allocator): New function.
3813 (handle_omp_display_env): Print OMP_ALLOCATOR.
3814 (initialize_env): Call parse_allocator.
3815 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
3816 * allocator.c: New file.
3817 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
3818 functions.
3819 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
3820 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
3821 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
3822 * Makefile.in: Regenerated.
3823
4c1a5d8b
L
38242020-05-15 H.J. Lu <hongjiu.lu@intel.com>
3825
3826 PR bootstrap/95147
3827 * configure: Regenerated.
3828
cdc34b50
TK
38292020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
3830
3831 PR libfortran/95119
3832 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
3833
38342020-05-14 H.J. Lu <hongjiu.lu@intel.com>
3835
3836 * configure: Regenerated.
3837
38382020-05-14 Jakub Jelinek <jakub@redhat.com>
3839
3840 * testsuite/libgomp.c-c++-common/target-40.c: New test.
3841
f884bef2
TB
38422020-05-13 Tobias Burnus <tobias@codesourcery.com>
3843
3844 PR fortran/94690
3845 * testsuite/libgomp.fortran/pr66199-3.f90: New.
3846 * testsuite/libgomp.fortran/pr66199-4.f90: New.
3847 * testsuite/libgomp.fortran/pr66199-5.f90: New.
3848 * testsuite/libgomp.fortran/pr66199-6.f90: New.
3849 * testsuite/libgomp.fortran/pr66199-7.f90: New.
3850 * testsuite/libgomp.fortran/pr66199-8.f90: New.
3851 * testsuite/libgomp.fortran/pr66199-9.f90: New.
3852
dc703151
JJ
38532020-05-12 Jakub Jelinek <jakub@redhat.com>
3854
3855 * testsuite/libgomp.c/target-39.c: New test.
3856
b9dc11b6
TS
38572020-04-29 Thomas Schwinge <thomas@codesourcery.com>
3858
a5d0bc12
TS
3859 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
3860 * openacc.f90 (acc_device_current): Likewise.
3861 * openacc.h (acc_device_current): Likewise.
3862 * openacc_lib.h (acc_device_current): Likewise.
3863
7f198924
TS
3864 PR target/94282
3865 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
3866 'dg-allow-blank-lines-in-output'.
3867
4912a04f
TS
3868 * oacc-init.c (get_openacc_name): Handle 'gcn'.
3869 * testsuite/lib/libgomp.exp
3870 (offload_target_to_openacc_device_type) [amdgcn*]: Return
3871 'radeon'. Adjust all users.
3872 (check_effective_target_openacc_amdgcn_accel_present): Rename
3873 to...
3874 (check_effective_target_openacc_radeon_accel_present): ... this.
3875 Adjust all users.
3876 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
3877 (check_effective_target_openacc_radeon_accel_selected): ... this.
3878 Adjust all users.
3879
b9dc11b6
TS
3880 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
3881 'dg-do run'.
3882
966de09b
AS
38832020-04-23 Andrew Stubbs <ams@codesourcery.com>
3884
3885 PR other/94629
3886
3887 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
3888 hsa_iterate_agents.
3889 (GOMP_OFFLOAD_init_device): Check return values from both calls to
3890 hsa_agent_iterate_regions.
3891
3f5d94c1
TS
38922020-04-20 Thomas Schwinge <thomas@codesourcery.com>
3893
3894 PR middle-end/94635
3895 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
3896 run'.
3897
85d8c05a
TB
38982020-04-20 Tobias Burnus <tobias@codesourcery.com>
3899
3900 PR middle-end/94120
3901 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
3902 test case.
3903
af557050
TB
39042020-04-17 Tobias Burnus <tobias@codesourcery.com>
3905
3906 PR middle-end/94635
3907 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
3908
af4c9257
TS
39092020-04-13 Thomas Schwinge <thomas@codesourcery.com>
3910
3911 PR libgomp/92843
3912 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
3913 Rename to...
3914 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
3915 ... this.
3916 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
3917 Rename to...
3918 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
3919 ... this.
3920 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
3921 Rename to...
3922 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
3923 ... this.
3924 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
3925 Rename to...
3926 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
3927 ... this.
3928 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
3929 Rename to...
3930 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
3931 ... this.
3932 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
3933 Rename to...
3934 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
3935 ... this.
3936 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
3937 Rename to...
3938 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
3939 ... this.
3940 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
3941 Rename to...
3942 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3943 ... this.
3944 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
3945 Rename to...
3946 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
3947 ... this.
3948 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
3949 Rename to...
3950 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
3951 ... this.
3952 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
3953 Rename to...
3954 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
3955 ... this.
3956 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
3957 Rename to...
3958 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
3959 ... this.
3960 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
3961 Rename to...
3962 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
3963 ... this.
3964 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
3965 Rename to...
3966 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
3967 ... this.
3968 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
3969 Rename to...
3970 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
3971 ... this.
3972 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
3973 Rename to...
3974 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
3975 ... this.
3976
be9862dd
JB
39772020-04-10 Julian Brown <julian@codesourcery.com>
3978 Thomas Schwinge <thomas@codesourcery.com>
3979
3980 PR libgomp/92843
3981 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
3982 New file.
3983 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
3984 Likewise.
3985 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
3986 Likewise.
3987 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
3988 Likewise.
3989 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
3990 Likewise.
3991 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
3992 Likewise.
3993 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
3994 Likewise.
3995 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
3996 Likewise.
3997 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
3998 Likewise.
3999 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4000 Likewise.
4001 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4002 Likewise.
4003 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4004 Likewise.
4005 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4006 Likewise.
4007 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4008 Likewise.
4009 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4010 Likewise.
4011 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
4012 Likewise.
4013
6b816a5f
TS
40142020-04-10 Thomas Schwinge <thomas@codesourcery.com>
4015
4016 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
4017 run'.
4018
13e41d8b
TB
40192020-04-08 Tobias Burnus <tobias@codesourcery.com>
4020
4021 PR middle-end/94120
4022 * libgomp.oacc-c++/declare-pr94120.C: New.
4023
749bd22d
MR
40242020-04-06 Maciej W. Rozycki <macro@wdc.com>
4025
4026 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
4027 files.
4028 * configure: Regenerate.
4029 * testsuite/libgomp-site-extra.exp.in: New file.
4030 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
4031 variable.
4032 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
4033 variable.
4034 * testsuite/Makefile.in: Regenerate.
4035
2b1e849b
TS
40362020-04-03 Thomas Schwinge <thomas@codesourcery.com>
4037
4038 PR tree-optimization/89713
4039 PR c/94392
4040 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
4041 'bar.sync'.
4042 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4043
689418b9
TB
40442020-03-31 Tobias Burnus <tobias@codesourcery.com>
4045
4046 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
4047 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
4048
c2211a60
TB
40492020-03-24 Tobias Burnus <tobias@codesourcery.com>
4050
4051 PR libgomp/81689
4052 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
4053
4897bb00
TB
40542020-03-20 Tobias Burnus <tobias@codesourcery.com>
4055
4056 PR libgomp/94251
4057 * target.c (gomp_load_image_to_device): Fix link
4058 variable handling.
4059
02f7334a
JJ
40602020-03-19 Jakub Jelinek <jakub@redhat.com>
4061
4062 PR c++/93931
4063 * testsuite/libgomp.c++/pr93931.C: New test.
4064
bb83e069
TB
40652020-03-19 Tobias Burnus <tobias@codesourcery.com>
4066
4067 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
4068 dg-allow-blank-lines-in-output.
4069
26cbcfe5
TB
40702020-03-18 Julian Brown <julian@codesourcery.com>
4071 Tobias Burnus <tobias@codesourcery.com>
4072
4073 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
4074 it work concurrently.
4075
4da92887
TB
40762020-03-18 Tobias Burnus <tobias@codesourcery.com>
4077
4078 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
4079 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
4080 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
4081
9c3cdb43
JJ
40822020-03-14 Jakub Jelinek <jakub@redhat.com>
4083
4084 PR middle-end/93566
4085 * testsuite/libgomp.c/pr93566.c: New test.
4086
83d45e1d
FH
40872020-02-21 Frederik Harwath <frederik@codesourcery.com>
4088
4089 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
4090 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
4091 integer(acc_device_property) for the type of the return value of
4092 acc_get_property.
4093
8d1a1cb1
TB
40942020-02-19 Tobias Burnus <tobias@codesourcery.com>
4095
4096 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
4097 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
4098 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
4099 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
4100 (acc_set_device_num): Fix Fortran argument name, use same name for C.
4101 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
4102 corrections; add note about the previous interface and named constant.
4103 (OpenACC library and environment variables): Fix two typos.
4104 * openacc.f90: Use for all procedures the argument names from the spec
4105 as for …_h they are user visible.
4106 (openacc_kinds): Rename acc_device_property to
4107 acc_device_property_kinds and change value to int32 ; and update users.
4108 Re-add acc_device_property for for backward compatibility.
4109 (acc_get_property_string_h): Clean up as acc_device_property_kind
4110 changed.
4111 (acc_get_property_h): Likewise and return c_size_t instead of
4112 acc_device_property.
4113 (openacc): Also export acc_device_property_kinds.
4114 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
4115 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
4116 handling; check against /= 0 instead of == 1 to match C.
4117 * openacc_lib.h: Use for all procedures the argument names from the spec
4118 as for …_h they are user visible. Place !GCC$ into the first column to
4119 be active also for fixed-form souce form.
4120 (acc_device_current, acc_device_property_kind, acc_device_property,
4121 acc_property_memory, acc_property_free_memory, acc_property_name,
4122 acc_property_vendor, acc_property_driver): New named constants.
4123 (acc_get_property, acc_get_property_string): New generic interface.
4124
2d9eb4e4
FH
41252020-02-13 Frederik Harwath <frederik@codesourcery.com>
4126
4127 PR libgomp/93481
4128 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
4129 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
4130 optional.
4131 (gomp_target_task_fn): Assert "devicep->async_run_func".
4132 (clear_unsupported_flags): New function to remove unsupported flags
4133 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
4134 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
4135 * testsuite/libgomp.c/target-33.c:
4136 Remove xfail for offload_target_nvptx.
4137 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
4138
41392020-02-10 Frederik Harwath <frederik@codesourcery.com>
4140
4141 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
4142 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
4143 * testsuite/libgomp.c/target-34.c: Likewise.
4144 * testsuite/libgomp.c/target-link-1.c: Add xfail for
4145 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
4146
9bc3b95d
JJ
41472020-02-09 Jakub Jelinek <jakub@redhat.com>
4148
4149 * testsuite/libgomp.c/target-38.c: New test.
4150
cb3f0648
JJ
41512020-02-06 Jakub Jelinek <jakub@redhat.com>
4152
4153 PR libgomp/93515
4154 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
4155
91bc3c98
TB
41562020-02-05 Tobias Burnus <tobias@codesourcery.com>
4157
4158 * testsuite/lib/libgomp.exp
4159 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
4160 and not as 'source' argument to libgomp_target_compile.
4161
591f869a
AS
41622020-02-03 Andrew Stubbs <ams@codesourcery.com>
4163
4164 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
4165 (gcn_gfx801_s): Remove.
4166 (isa_hsa_name): Remove gfx801.
4167 (isa_gcc_name): Remove gfx801/carizzo.
4168 (isa_code): Remove gfx801.
4169
e464fc90
TB
41702020-02-03 Julian Brown <julian@codesourcery.com>
4171 Tobias Burnus <tobias@codesourcery.com>
4172
4173 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
4174 and *_finalize variants; document acc_attach and acc_detach; update
4175 references from OpenACC 2.0 to 2.6.
4176 * openacc.f90 (openacc_version): Update to 201711.
4177 * openacc_lib.h (openacc_version): Update to 201711.
4178 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
4179 openacc_version to 201711.
4180 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4181
5a28e272
KCY
41822020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
4183
4184 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
4185 and vgpr_count fields.
4186 (struct kernel_info): Add a field for a hsa_kernel_description.
4187 (run_kernel): Reduce the number of threads/workers if the requested
4188 number would require too many VGPRs.
4189 (init_basic_kernel_info): Initialize description field with
4190 the hsa_kernel_description entry for the kernel.
4191
5ab5d81b
TB
41922020-01-29 Tobias Burnus <tobias@codesourcery.com>
4193
4194 PR bootstrap/93409
4195 * plugin/configfrag.ac (enable_offload_targets): Skip
4196 HSA and GCN plugin besides -m32 also for -mx32.
4197 * configure: Regenerate.
4198
989a5fb3
FH
41992020-01-29 Frederik Harwath <frederik@codesourcery.com>
4200
4201 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
4202
42032020-01-29 Frederik Harwath <frederik@codesourcery.com>
4204
4205 * plugin-gcn.c (struct agent_info): Add fields "name" and
4206 "vendor_name" ...
4207 (GOMP_OFFLOAD_init_device): ... and init from here.
4208 (struct hsa_context_info): Add field "driver_version_s" ...
4209 (init_hsa_contest): ... and init from here.
4210 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
4211 implementation.
4212 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4213 Enable test execution for amdgcn and host offloading targets.
4214 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
4215 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4216 (expect_device_properties): Split function into ...
4217 (expect_device_string_properties): ... this new function ...
4218 (expect_device_memory): ... and this new function.
4219 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
4220 Add test.
4221
278c3214
JB
42222020-01-28 Julian Brown <julian@codesourcery.com>
4223
4224 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
4225 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
4226 component/non-component variable refs in a single directive.
4227 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
4228
e8e66971
MR
42292020-01-24 Maciej W. Rozycki <macro@wdc.com>
4230
4231 * configure.ac: Handle `--with-toolexeclibdir='.
4232 * Makefile.in: Regenerate.
4233 * aclocal.m4: Regenerate.
4234 * configure: Regenerate.
4235 * testsuite/Makefile.in: Regenerate.
4236
9e424d97
FH
42372020-01-24 Frederik Harwath <frederik@codesourcery.com>
4238
4239 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4240 (expect_device_properties): Remove "expected_free_mem" argument,
4241 change "expected_total_mem" argument type to size_t;
4242 change types of acc_get_property results to size_t,
4243 adapt format strings.
4244 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4245 Use %zu instead of %zd to print size_t values.
4246 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
4247 rename to ...
4248 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
4249 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
4250 rename to ...
4251 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
4252
14e5e746
AS
42532020-01-23 Andrew Stubbs <ams@codesourcery.com>
4254
4255 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
4256 the device id.
4257
09e0ad62
AS
42582020-01-20 Andrew Stubbs <ams@codesourcery.com>
4259
4260 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
4261 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
4262 Adjust test dimensions for amdgcn.
4263 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
4264 gang/worker/vector expectations dynamically.
4265 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
4266 (main): Likewise.
4267 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
4268 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
4269 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
4270 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
4271 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
4272 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
4273 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
4274 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
4275 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4276 (acc_gang): Recognise acc_device_radeon.
4277 (acc_worker): Likewise.
4278 (acc_vector): Likewise.
4279 (main): Set expectations for amdgcn.
4280 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
4281 (main): Adjust gang/worker/vector expectations dynamically.
4282 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
4283 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
4284 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
4285 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
4286 for amdgcn.
4287
6687d13a
AS
42882020-01-17 Andrew Stubbs <ams@codesourcery.com>
4289
4290 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
4291 acc_device_radeon.
4292 (openacc): Likewise.
4293 * openacc.f90 (openacc_kinds): Likewise.
4294 (openacc): Likewise.
4295 * openacc.h (acc_device_t): Likewise.
4296 * openacc_lib.h: Likewise.
4297 * testsuite/lib/libgomp.exp
4298 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
4299 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
4300 (cb_compute_construct_end): Likewise.
4301 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4302 (cb_enqueue_launch_start): Likewise.
4303 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
4304 (cb_enter_data_end): Likewise.
4305 (cb_exit_data_start): Likewise.
4306 (cb_exit_data_end): Likewise.
4307 (cb_compute_construct_end): Likewise.
4308 (cb_enqueue_launch_start): Likewise.
4309 (cb_enqueue_launch_end): Likewise.
4310 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
4311 (main): Likewise.
4312
b3b75e66
TS
43132020-01-10 Thomas Schwinge <thomas@codesourcery.com>
4314
6fc0385c
TS
4315 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
4316 to use this instead of 'enum gomp_device_property'.
4317 (GOMP_OFFLOAD_get_property): Rename to...
4318 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
4319 * libgomp.h (struct gomp_device_descr): Move
4320 'GOMP_OFFLOAD_openacc_get_property'...
4321 (struct acc_dispatch_t): ... here. Adjust all users.
4322 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
4323
b3b75e66
TS
4324 * target.c (gomp_map_vars_internal)
4325 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
4326 paths.
4327
91df4397
JJ
43282020-01-10 Jakub Jelinek <jakub@redhat.com>
4329
4330 PR libgomp/93219
4331 * libgomp.h (gomp_print_string): Change return type from void to int.
4332 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
4333 not all characters have been written.
4334
df2c0d36
TB
43352020-01-08 Tobias Burnus <tobias@codesourcery.com>
4336
4337 * libgomp.texi: Fix typos, use https.
4338
f760c0c7
TB
43392020-01-03 Tobias Burnus <tobias@codesourcery.com>
4340
4341 * testsuite/libgomp.fortran/optional-map.f90: Add test for
4342 unallocated/disassociated actual arguments to nonallocatable/nonpointer
4343 dummy arguments; those are/shall be regarded as absent arguments.
4344 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4345 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
4346
7e7065b9
JJ
43472020-01-01 Jakub Jelinek <jakub@redhat.com>
4348
8d9254fc
JJ
4349 Update copyright years.
4350
7e7065b9
JJ
4351 * libgomp.texi: Bump @copying's copyright year.
4352
2c829799
AM
43532019-12-31 Ayush Mittal <ayush.m@samsung.com>
4354
4355 PR libgomp/93065
4356 * oacc-init.c (goacc_runtime_deinitialize): New function.
4357
e9dcb75e
JJ
43582019-12-28 Jakub Jelinek <jakub@redhat.com>
4359
4360 PR bootstrap/93074
4361 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
4362 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
4363
6c84c8bf
MR
43642019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
4365 Frederik Harwath <frederik@codesourcery.com>
4366 Thomas Schwinge <tschwinge@codesourcery.com>
4367
4368 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
4369 * libgomp-plugin.h (gomp_device_property_value): New union.
4370 (gomp_device_property_value): New prototype.
4371 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
4372 constant.
4373 (acc_device_property_t): New enum.
4374 (acc_get_property, acc_get_property_string): New prototypes.
4375 * oacc-init.c (acc_get_device_type): Also assert that result
4376 is not `acc_device_current'.
4377 (get_property_any, acc_get_property, acc_get_property_string):
4378 New functions.
4379 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
4380 `acc_property_memory', `acc_property_free_memory',
4381 `acc_property_name', `acc_property_vendor' and
4382 `acc_property_driver' constants. Add `acc_device_property' data
4383 type.
4384 (openacc_internal): Add `acc_get_property' and
4385 `acc_get_property_string' interfaces. Add `acc_get_property_h',
4386 `acc_get_property_string_h', `acc_get_property_l' and
4387 `acc_get_property_string_l'.
4388 * oacc-host.c (host_get_property): New function.
4389 (host_dispatch): Wire it.
4390 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
4391 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
4392 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
4393 * libgomp.texi (OpenACC Runtime Library Routines): Add
4394 `acc_get_property'.
4395 (acc_get_property): New node.
4396 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
4397 function (stub).
4398 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
4399 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
4400 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
4401 calls.
4402 (GOMP_OFFLOAD_get_property): New function.
4403 (struct ptx_device): Add new field "name".
4404 (cuda_driver_version_s): Add new static variable ...
4405 (nvptx_init): ... and init from here.
4406
4407 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
4408 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
4409 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
4410 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
4411 with test helper functions.
4412
4413 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
4414
c8e759b4
MR
44152019-12-22 Maciej W. Rozycki <macro@wdc.com>
4416
4417 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
4418 variable.
4419
b092fb3b
TS
44202019-12-21 Thomas Schwinge <thomas@codesourcery.com>
4421
4422 * target.c (gomp_map_vars_internal): Restore 'omp declare target
4423 link' handling.
4424
9be3ac5d
JB
44252019-12-19 Julian Brown <julian@codesourcery.com>
4426
4427 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
4428 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
4429 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
4430
02817027
JB
44312019-12-19 Julian Brown <julian@codesourcery.com>
4432 Cesar Philippidis <cesar@codesourcery.com>
4433
4434 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
4435 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
4436 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
4437 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
4438 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
4439 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
4440 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
4441 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
4442 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
4443 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
4444 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
4445 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
4446 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
4447
c2eb021f
JB
44482019-12-19 Julian Brown <julian@codesourcery.com>
4449
4450 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
4451 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
4452 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
4453 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
4454 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
4455 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
4456 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
4457 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
4458 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
4459 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
4460 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
4461 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
4462
8e7e71ff
JB
44632019-12-19 Julian Brown <julian@codesourcery.com>
4464
4465 * libgomp.h (struct target_var_desc): Add do_detach flag.
4466 * oacc-init.c (acc_shutdown_1): Free aux block if present.
4467 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
4468 struct components. Tidy up and add some new checks.
4469 (goacc_enter_data_internal): Update call to find_group_last.
4470 (goacc_exit_data_internal): Support detach operations and
4471 GOMP_MAP_STRUCT.
4472 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
4473 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
4474 attach/detach in enter/exit data detection code.
4475 * target.c (gomp_map_vars_existing): Initialise do_detach field of
4476 tgt_var_desc.
4477 (gomp_map_vars_internal): Support attach.
4478 (gomp_unmap_vars_internal): Support detach.
4479
5d5be7bf
JB
44802019-12-19 Julian Brown <julian@codesourcery.com>
4481 Thomas Schwinge <thomas@codesourcery.com>
4482
4483 * libgomp.h (struct splay_tree_aux): Add attach_count field.
4484 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
4485 * libgomp.map (OACC_2.6): New section. Add acc_attach,
4486 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
4487 acc_detach_finalize_async.
4488 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
4489 acc_detach, acc_detach_async, acc_detach_finalize,
4490 acc_detach_finalize_async): New functions.
4491 * openacc.h (acc_attach, acc_attach_async, acc_detach,
4492 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
4493 prototypes.
4494 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
4495 (gomp_remove_var_internal): Free attachment counts if present.
4496 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
4497 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
4498
5bcd470b
JB
44992019-12-19 Julian Brown <julian@codesourcery.com>
4500 Cesar Philippidis <cesar@codesourcery.com>
4501
4502 * libgomp.h (gomp_map_val): Add prototype.
4503 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
4504 open-coding device-address calculation.
4505 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
4506 non-present case.
4507
378da98f
JB
45082019-12-19 Julian Brown <julian@codesourcery.com>
4509
4510 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
4511 field for virtual_refcount.
4512 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
4513 (gomp_free_memmap): Remove prototype.
4514 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
4515 instead of calling gomp_free_memmap.
4516 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
4517 dynamic_refcount.
4518 (acc_unmap_data): Open code instead of forcing target_mem_desc's
4519 to_free field to NULL then calling gomp_unmap_vars. Handle
4520 REFCOUNT_INFINITY on target blocks.
4521 (goacc_enter_data): Rename to...
4522 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
4523 handling for mapping groups. Use virtual_refcount instead of
4524 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
4525 map_map_vars_async call. Re-do lookup for target pointer return value.
4526 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
4527 renamed goacc_enter_datum function.
4528 (goacc_exit_data): Rename to...
4529 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
4530 (acc_delete, acc_delete_async, acc_delete_finalize,
4531 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
4532 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
4533 goacc_exit_datum function.
4534 (gomp_acc_remove_pointer, find_pointer): Remove functions.
4535 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
4536 New functions.
4537 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
4538 goacc_exit_data_internal helper functions.
4539 * target.c (gomp_map_vars_internal): Handle
4540 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
4541 semantics.
4542 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
4543 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
4544 virtual_refcount field instead of dynamic_refcount.
4545 (gomp_free_memmap): Remove function.
4546 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
4547 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
4548 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
4549
2a656a93
JB
45502019-12-19 Julian Brown <julian@codesourcery.com>
4551 Thomas Schwinge <thomas@codesourcery.com>
4552
4553 * libgomp.h (struct splay_tree_aux): New.
4554 (struct splay_tree_key_s): Replace link_key field with aux pointer.
4555 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
4556 to aux struct.
4557 (gomp_remove_var_internal): Free aux block if present.
4558 (gomp_load_image_to_device): Zero-initialise aux field instead of
4559 link_key field.
4560 (omp_target_associate_pointer): Zero-initialise aux field.
4561
601399c0
JJ
45622019-12-18 Jakub Jelinek <jakub@redhat.com>
4563
4564 PR middle-end/86416
4565 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
4566 q or none.
4567 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
4568 L or none.
4569
a6163563
JB
45702019-12-19 Julian Brown <julian@codesourcery.com>
4571 Maciej W. Rozycki <macro@codesourcery.com>
4572 Tobias Burnus <tobias@codesourcery.com>
4573 Thomas Schwinge <thomas@codesourcery.com>
4574
4575 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
4576 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
4577 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
4578 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
4579 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
4580 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
4581 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
4582 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
4583 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
4584
6278b549
TS
45852019-12-18 Thomas Schwinge <thomas@codesourcery.com>
4586
77ce5555
TS
4587 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4588 called...
4589 (goacc_insert_pointer): ... from here, "present" case.
4590 (goacc_insert_pointer): Inline function into...
4591 (GOACC_enter_exit_data): ... here, and simplify.
4592
9444a299
TS
4593 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4594 called...
4595 (goacc_insert_pointer): ... from here, "not present" case.
4596
5031b619
TS
4597 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
4598 all users.
4599
1a79b578
TS
4600 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
4601 'goacc_enter_data', 'goacc_exit_data'.
4602
34cfe31e
TS
4603 * oacc-mem.c (delete_copyout): Refactor into...
4604 (goacc_exit_data): ... this. Adjust all users.
4605
aaf0e9d7
TS
4606 * oacc-mem.c (present_create_copy): Refactor into...
4607 (goacc_enter_data): ... this. Adjust all users.
4608
83d1d065
TS
4609 * target.c (gomp_unmap_vars_internal): Add a safeguard to
4610 'gomp_remove_var'.
4611
cc3f11f5
TS
4612 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
4613 like 'GOMP_MAP_FROM'.
4614
ddb25eb9
TS
4615 PR libgomp/92726
4616 PR libgomp/92970
4617 PR libgomp/92984
4618 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
4619 fails.
4620 (GOACC_enter_exit_data): Simplify accordingly.
4621 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
4622 subsuming...
4623 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
4624 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
4625 file.
4626 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
4627 subsuming...
4628 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
4629 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
4630 file.
4631 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
4632 subsuming...
4633 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
4634
32128577
TS
4635 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
4636 'finalize' handling.
4637
ba40277f
TS
4638 PR libgomp/92848
4639 * oacc-mem.c (acc_map_data, present_create_copy)
4640 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
4641 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
4642 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
4643 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
4644 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
4645 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
4646 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
4647 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4648 Remove "XFAIL"s.
4649
6278b549
TS
4650 * target.c (gomp_unmap_tgt): Make it 'static'.
4651 * libgomp.h (gomp_unmap_tgt): Remove.
4652
c80c9e26
TB
46532019-12-18 Tobias Burnus <tobias@codesourcery.com>
4654
4655 PR middle-end/86416
4656 * testsuite/libgomp.c/pr86416-1.c: New.
4657 * testsuite/libgomp.c/pr86416-2.c: New.
4658
0b8499a4
TB
46592019-12-17 Tobias Burnus <tobias@codesourcery.com>
4660
4661 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
4662 all symbols as public except for the 'use …, only' imported symbol,
4663 which is private.
4664 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4665 all symbols from module openacc_kinds as PUBLIC
4666 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
4667 fix comment typo.
4668 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
4669
1cbd94e8
JB
46702019-12-13 Julian Brown <julian@codesourcery.com>
4671
4672 PR libgomp/92881
4673
4674 * libgomp.h (gomp_remove_var_async): Add prototype.
4675 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
4676 gomp_remove_var.
4677 * target.c (gomp_unref_tgt): Change return type to bool, indicating
4678 whether target_mem_desc was unmapped.
4679 (gomp_unref_tgt_void): New.
4680 (gomp_remove_var): Reimplement in terms of...
4681 (gomp_remove_var_internal): ...this new helper function.
4682 (gomp_remove_var_async): New, implemented using above helper function.
4683 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
4684 gomp_unref_tgt.
4685
26b74ed0
AS
46862019-12-13 Andrew Stubbs <ams@codesourcery.com>
4687
4688 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
4689 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4690 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
4691 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
4692 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
4693 Likewise.
4694 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
4695 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
4696
7858bb96
TB
46972019-12-13 Tobias Burnus <tobias@codesourcery.com>
4698
4699 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
4700 as public except for the 'use …, only' imported symbol, which is
4701 private.
4702 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4703 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
4704 attributes for acc_copyout_finalize and acc_delete_finalize.
4705
f8ac7d8f
JJ
47062019-12-11 Jakub Jelinek <jakub@redhat.com>
4707
4708 PR fortran/92899
4709 * testsuite/libgomp.fortran/atomic1.f90: New test.
4710
3d1b5e71
TS
47112019-12-11 Thomas Schwinge <thomas@codesourcery.com>
4712
d6e8c01c
TS
4713 PR libgomp/92843
4714 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
4715 reference counting for structured 'REFCOUNT_INFINITY'. Add some
4716 assertions.
4717 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
4718 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
4719 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
4720 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4721 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4722
57963e39
TS
4723 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
4724 * oacc-mem.c: ... here.
4725 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
4726 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
4727 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
4728 Remove.
4729 * libgomp_g.h: Update.
4730
c5578b56
TS
4731 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
4732 * oacc-async.c: ... here.
4733 * oacc-int.h (goacc_wait): Declare.
4734 * libgomp_g.h: Update
4735
3d1b5e71
TS
4736 PR libgomp/92854
4737 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
4738 New file.
4739 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
4740 Likewise.
4741 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
4742 Likewise.
4743 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
4744 Likewise.
4745 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
4746 Likewise.
4747 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
4748 Likewise.
4749
5e939438
TS
47502019-12-11 Thomas Schwinge <thomas@codesourcery.com>
4751 Julian Brown <julian@codesourcery.com>
4752
4753 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
4754 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
4755
93d90219
TB
47562019-12-11 Tobias Burnus <tobias@codesourcery.com>
4757
4758 * omp_lib.h.in: Fix spelling of function declaration
4759 omp_get_cancell(l)ation.
4760 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
4761 Fix typos.
4762 * env.c: Fix comment typos.
4763 * oacc-host.c: Likewise.
4764 * ordered.c: Likewise.
4765 * task.c: Likewise.
4766 * team.c: Likewise.
4767 * config/gcn/task.c: Likewise.
4768 * config/gcn/team.c: Likewise.
4769 * config/nvptx/task.c: Likewise.
4770 * config/nvptx/team.c: Likewise.
4771 * plugin/plugin-gcn.c: Likewise.
4772 * testsuite/libgomp.fortran/jacobi.f: Likewise.
4773 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4774 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
4775
a0221aee
TB
47762019-12-11 Tobias Burnus <tobias@codesourcery.com>
4777
4778 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
4779 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
4780 unnecessary 'dg-additional-options "-w"'.
4781
47afc7b4
TS
47822019-12-09 Thomas Schwinge <thomas@codesourcery.com>
4783 Julian Brown <julian@codesourcery.com>
4784
4785 PR libgomp/92116
4786 PR libgomp/92877
4787
4788 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
4789 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
4790 Adjust all users.
4791 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
4792 Remove XFAIL.
4793 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
4794 Likewise.
4795 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
4796
b5859e40
TS
47972019-12-09 Thomas Schwinge <thomas@codesourcery.com>
4798
cec41816
TS
4799 PR libgomp/92503
4800 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
4801 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
4802 file.
4803 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
4804 Likewise.
4805 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
4806 Likewise.
4807 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
4808 Likewise.
4809 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
4810 Likewise.
4811 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
4812 Likewise.
4813 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4814 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4815 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4816 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4817 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4818 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4819 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4820 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4821 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4822 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4823
e103542b
TS
4824 PR libgomp/92840
4825 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
4826 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
4827 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
4828 New file.
4829 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
4830 Likewise.
4831 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
4832 Likewise.
4833 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4834 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
4835
41f36f22
TS
4836 PR libgomp/92511
4837 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
4838 this file...
4839 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
4840 this file...
4841 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
4842 file...
4843 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
4844 file...
4845 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4846 ... with their content moved into, and extended in this new file.
4847 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
4848 New file.
4849 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
4850 Likewise.
4851 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
4852 Likewise.
4853 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
4854 Likewise.
4855
6effebe1
TS
4856 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
4857
7d020473
TS
4858 PR libgomp/92854
4859 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
4860
1e1fb715
TS
4861 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
4862
b5859e40
TS
4863 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
4864
11586ed9
TB
48652019-12-09 Tobias Burnus <tobias@codesourcery.com>
4866
4867 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
4868 unique.
4869 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
4870 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4871 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
4872 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
4873 Ditto.
4874 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
4875 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
4876
3ad4a03a
KCY
48772019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
4878
4879 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
4880
6e4d01d6
TB
48812019-12-06 Tobias Burnus <tobias@codesourcery.com>
4882 Kwok Cheung Yeung <kcy@codesourcery.com>
4883
4884 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
4885 if input it a NULL pointer.
4886 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
4887 diagnostic of NULL pointer.
4888 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
4889 * testsuite/libgomp.fortran/optional-map.f90: New.
4890 * testsuite/libgomp.fortran/use_device_addr-1.f90
4891 (test_dummy_opt_callee_1_absent): New.
4892 (test_dummy_opt_call_1): Call it.
4893 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
4894 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
4895 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
4896 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
4897 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
4898 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
4899 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
4900 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
4901 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
4902 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
4903 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
4904 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
4905 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
4906 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
4907 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
4908 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
4909
ad80ec46
TB
49102019-12-05 Tobias Burnus <tobias@codesourcery.com>
4911
4912 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
4913 expect dg-output of 'Error termination.' for GCN.
4914 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4915 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4916
a8a5f4cc
JJ
49172019-12-04 Jakub Jelinek <jakub@redhat.com>
4918
4919 PR fortran/92756
4920 * testsuite/libgomp.fortran/teams1.f90: New test.
4921 * testsuite/libgomp.fortran/teams2.f90: New test.
4922
d8f0024b
FH
49232019-12-03 Frederik Harwath <frederik@codesourcery.com>
4924
4925 * oacc-init.c (acc_known_device_type): Add function.
4926 (unknown_device_type_error): Add function.
4927 (name_of_acc_device_t): Change to call unknown_device_type_error
4928 on unknown type.
4929 (resolve_device): Use acc_known_device_type.
4930 (acc_init): Fail if acc_device_t argument is not valid.
4931 (acc_shutdown): Likewise.
4932 (acc_get_num_devices): Likewise.
4933 (acc_set_device_type): Likewise.
4934 (acc_get_device_num): Likewise.
4935 (acc_set_device_num): Likewise.
4936 (acc_on_device): Add comment that argument validity is not checked.
4937
83caa34e
AS
49382019-12-03 Andrew Stubbs <ams@codesourcery.com>
4939
4940 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
4941 Recognize amdgcn.
4942 (check_effective_target_openacc_amdgcn_accel_present): New proc.
4943 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
4944 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
4945 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4946 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4947
00484365
SN
49482019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
4949
4950 PR libgomp/91938
4951 * configure.tgt: Avoid IE tls on *-*-musl*.
4952
9909a059
TB
49532019-11-29 Tobias Burnus <tobias@codesourcery.com>
4954
4955 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
4956 adding a common-block test case.
4957
b3f44388
JJ
49582019-11-29 Jakub Jelinek <jakub@redhat.com>
4959
4960 PR c++/60228
4961 * testsuite/libgomp.c++/udr-20.C: New test.
4962 * testsuite/libgomp.c++/udr-21.C: New test.
4963
b1a73b48
TS
49642019-11-27 Thomas Schwinge <thomas@codesourcery.com>
4965
4966 * testsuite/lib/libgomp.exp
4967 (check_effective_target_offload_target_nvptx): New proc.
4968 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
4969 'dg-skip-if'.
4970 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
4971 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
4972 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
4973
b8e72446
RO
49742019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4975
4976 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
4977 * testsuite/libgomp.c/pr39591-2.c: Likewise.
4978 * testsuite/libgomp.c/pr39591-3.c: Likewise.
4979 * testsuite/libgomp.c/private-1.c: Likewise.
4980 * testsuite/libgomp.c/task-1.c: Likewise.
4981 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
4982
d88b27da
JB
49832019-11-20 Julian Brown <julian@codesourcery.com>
4984
4985 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
4986 aq->mutex here.
4987 (queue_push_launch): Lock aq->mutex before calling
4988 wait_for_queue_nonfull.
4989 (queue_push_callback): Likewise.
4990 (queue_push_asyncwait): Likewise.
4991 (queue_push_placeholder): Likewise.
4992
8d2f4ddf
JB
49932019-11-20 Julian Brown <julian@codesourcery.com>
4994
4995 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
4996 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
4997 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
4998 return code.
4999
e307b05f
JB
50002019-11-20 Julian Brown <julian@codesourcery.com>
5001
5002 PR libgomp/92511
5003
5004 * oacc-mem.c (present_create_copy): Fix device pointer return value in
5005 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
5006 in non-present/create case.
5007 (delete_copyout): Change error condition to fail only on copies outside
5008 of mapped block. Adjust error message accordingly.
5009 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
5010 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
5011 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
5012 message.
5013 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5014 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
5015 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5016
83115e9e
MR
50172019-11-20 Maciej W. Rozycki <macro@wdc.com>
5018
5019 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
5020 libatomic in build-tree testing.
5021
a1289887
MR
50222019-11-18 Maciej W. Rozycki <macro@wdc.com>
5023
5024 * testsuite/Makefile.in: Regenerate.
5025
8916ba87
AS
50262019-11-15 Andrew Stubbs <ams@codesourcery.com>
5027
5028 * testsuite/libgomp.c/target-print-1.c: New file.
5029 * testsuite/libgomp.fortran/target-print-1.f90: New file.
5030 * testsuite/libgomp.oacc-c/print-1.c: New file.
5031 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
5032
237957cc
AS
50332019-11-13 Andrew Stubbs <ams@codesourcery.com>
5034 Kwok Cheung Yeung <kcy@codesourcery.com>
5035 Julian Brown <julian@codesourcery.com>
5036 Tom de Vries <tom@codesourcery.com>
5037
5038 * plugin/Makefrag.am: Add amdgcn plugin support.
5039 * plugin/configfrag.ac: Likewise.
5040 * plugin/plugin-gcn.c: New file.
5041 * configure: Regenerate.
5042 * Makefile.in: Regenerate.
5043 * testsuite/Makefile.in: Regenerate.
5044
cee16451
AS
50452019-11-13 Andrew Stubbs <ams@codesourcery.com>
5046
5047 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
5048 and use team_malloc variants.
5049 (gomp_gcn_exit_kernel): Use team_free.
5050 * libgomp.h (TEAM_ARENA_SIZE): Define.
5051 (TEAM_ARENA_START): Define.
5052 (TEAM_ARENA_FREE): Define.
5053 (TEAM_ARENA_END): Define.
5054 (team_malloc): New function.
5055 (team_malloc_cleared): New function.
5056 (team_free): New function.
5057 * team.c (gomp_new_team): Initialize and use team_malloc.
5058 (free_team): Use team_free.
5059 (gomp_free_thread): Use team_free.
5060 (gomp_pause_host): Use team_free.
5061 * work.c (gomp_init_work_share): Use team_malloc.
5062 (gomp_fini_work_share): Use team_free.
5063
fa499995
AS
50642019-11-13 Andrew Stubbs <ams@codesourcery.com>
5065 Kwok Cheung Yeung <kcy@codesourcery.com>
5066 Julian Brown <julian@codesourcery.com>
5067 Tom de Vries <tom@codesourcery.com>
5068
5069 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
5070 * Makefile.in: Regenerate.
5071 * config.h.in (PLUGIN_GCN): Add new undef.
5072 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
5073 * config/gcn/affinity-fmt.c: New file.
5074 * config/gcn/bar.c: New file.
5075 * config/gcn/bar.h: New file.
5076 * config/gcn/doacross.h: New file.
5077 * config/gcn/icv-device.c: New file.
5078 * config/gcn/oacc-target.c: New file.
5079 * config/gcn/simple-bar.h: New file.
5080 * config/gcn/target.c: New file.
5081 * config/gcn/task.c: New file.
5082 * config/gcn/team.c: New file.
5083 * config/gcn/time.c: New file.
5084 * configure.ac: Add amdgcn*-*-*.
5085 * configure: Regenerate.
5086 * configure.tgt: Add amdgcn*-*-*.
5087 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
5088 * libgomp.h (gcn_thrs): Add amdgcn variant.
5089 (set_gcn_thrs): Likewise.
5090 (gomp_thread): Likewise.
5091 * oacc-int.h (goacc_thread): Likewise.
5092 * oacc-target.c: New file.
5093 * openacc.f90 (acc_device_gcn): New parameter.
5094 * openacc.h (acc_device_t): Add acc_device_gcn.
5095 * team.c (gomp_free_pool_helper): Add amdgcn support.
5096
d2903ce0
AS
50972019-11-13 Andrew Stubbs <ams@codesourcery.com>
5098 Julian Brown <julian@codesourcery.com>
5099
5100 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
5101 parameter.
5102 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
5103 queue constructor.
5104 * oacc-host.c (host_openacc_async_construct): Add device parameter.
5105 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
5106 device parameter.
5107
b3d14b3a
AS
51082019-11-13 Andrew Stubbs <ams@codesourcery.com>
5109
5110 * configure.tgt (nvptx*-*-*): Add "accel" directory.
5111 * config/nvptx/libgomp-plugin.c: Move ...
5112 * config/accel/libgomp-plugin.c: ... to here.
5113 * config/nvptx/lock.c: Move ...
5114 * config/accel/lock.c: ... to here.
5115 * config/nvptx/mutex.c: Move ...
5116 * config/accel/mutex.c: ... to here.
5117 * config/nvptx/mutex.h: Move ...
5118 * config/accel/mutex.h: ... to here.
5119 * config/nvptx/oacc-async.c: Move ...
5120 * config/accel/oacc-async.c: ... to here.
5121 * config/nvptx/oacc-cuda.c: Move ...
5122 * config/accel/oacc-cuda.c: ... to here.
5123 * config/nvptx/oacc-host.c: Move ...
5124 * config/accel/oacc-host.c: ... to here.
5125 * config/nvptx/oacc-init.c: Move ...
5126 * config/accel/oacc-init.c: ... to here.
5127 * config/nvptx/oacc-mem.c: Move ...
5128 * config/accel/oacc-mem.c: ... to here.
5129 * config/nvptx/oacc-plugin.c: Move ...
5130 * config/accel/oacc-plugin.c: ... to here.
5131 * config/nvptx/omp-lock.h: Move ...
5132 * config/accel/omp-lock.h: ... to here.
5133 * config/nvptx/openacc.f90: Move ...
5134 * config/accel/openacc.f90: ... to here.
5135 * config/nvptx/pool.h: Move ...
5136 * config/accel/pool.h: ... to here.
5137 * config/nvptx/proc.c: Move ...
5138 * config/accel/proc.c: ... to here.
5139 * config/nvptx/ptrlock.c: Move ...
5140 * config/accel/ptrlock.c: ... to here.
5141 * config/nvptx/ptrlock.h: Move ...
5142 * config/accel/ptrlock.h: ... to here.
5143 * config/nvptx/sem.c: Move ...
5144 * config/accel/sem.c: ... to here.
5145 * config/nvptx/sem.h: Move ...
5146 * config/accel/sem.h: ... to here.
5147 * config/nvptx/thread-stacksize.h: Move ...
5148 * config/accel/thread-stacksize.h: ... to here.
5149
62aee289
MR
51502019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
5151 Tobias Burnus <tobias@codesourcery.com>
5152 Frederik Harwath <frederik@codesourcery.com>
5153 Thomas Schwinge <thomas@codesourcery.com>
5154
5155 libgomp/
5156 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
5157 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
5158 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
5159
a2c26c50
TB
51602019-11-11 Tobias Burnus <tobias@codesourcery.com>
5161 Kwok Cheung Yeung <kcy@codesourcery.com>
5162
5163 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
5164 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
5165
6d4868f3
TS
51662019-11-11 Thomas Schwinge <thomas@codesourcery.com>
5167
bfa1837b
TS
5168 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
5169
6d4868f3
TS
5170 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
5171 run'.
5172 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5173 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
5174
5d183d17
FH
51752019-11-06 Thomas Schwinge <thomas@codesourcery.com>
5176
5177 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
5178 Add expected warnings about missing reduction clauses.
5179 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5180 Likewise.
5181 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
5182 Likewise.
5183 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
5184 Likewise.
5185
d8f03b03
TB
51862019-11-04 Tobias Burnus <tobias@codesourcery.com>
5187
5188 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
5189 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
5190 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
5191 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5192 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5193 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5194
12fd2ec5
TB
51952019-11-04 Tobias Burnus <tobias@codesourcery.com>
5196
5197 PR fortran/92305
5198 * testsuite/libgomp.fortran/allocatable2.f90: Use
5199 unique numbers with 'stop'.
5200 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5201 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5202 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
5203 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
5204 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
5205
92e63bd2
TB
52062019-11-01 Tobias Burnus <tobias@codesourcery.com>
5207
5208 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
5209 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
5210 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5211 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
5212 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
5213 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
5214
91ae0a46
TB
52152019-10-30 Tobias Burnus <tobias@codesourcery.com>
5216
5217 * testsuite/libgomp.fortran/target9.f90: New.
5218
c425e66b
TB
52192019-10-30 Tobias Burnus <tobias@codesourcery.com>
5220
5221 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
5222 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
5223 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
5224 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
5225 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
5226 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
5227 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
5228 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
5229 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
5230 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
5231 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
5232 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
5233 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
5234 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
5235 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
5236 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
5237 * testsuite/libgomp.fortran/associate1.f90: Ditto.
5238 * testsuite/libgomp.fortran/associate2.f90: Ditto.
5239 * testsuite/libgomp.fortran/associate3.f90: Ditto.
5240 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
5241 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
5242 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
5243 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
5244 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
5245 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
5246 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
5247 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
5248 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
5249 * testsuite/libgomp.fortran/character1.f90: Ditto.
5250 * testsuite/libgomp.fortran/character2.f90: Ditto.
5251 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
5252 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
5253 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
5254 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
5255 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
5256 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
5257 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
5258 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
5259 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
5260 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
5261 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
5262 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
5263 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
5264 * testsuite/libgomp.fortran/do1.f90: Ditto.
5265 * testsuite/libgomp.fortran/do2.f90: Ditto.
5266 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
5267 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
5268 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
5269 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
5270 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
5271 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
5272 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
5273 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
5274 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
5275 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
5276 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
5277 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
5278 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
5279 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
5280 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
5281 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
5282 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
5283 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
5284 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
5285 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
5286 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
5287 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
5288 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
5289 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
5290 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
5291 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
5292 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
5293 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
5294 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
5295 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
5296 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
5297 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
5298 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
5299 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
5300 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
5301 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
5302 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
5303 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
5304 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
5305 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
5306 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
5307 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
5308 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
5309 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
5310 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
5311 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
5312 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
5313 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
5314 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
5315 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5316 * testsuite/libgomp.fortran/lib1.f90: Ditto.
5317 * testsuite/libgomp.fortran/lib4.f90: Ditto.
5318 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
5319 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
5320 * testsuite/libgomp.fortran/nested1.f90: Ditto.
5321 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
5322 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
5323 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
5324 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5325 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
5326 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
5327 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
5328 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
5329 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
5330 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
5331 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
5332 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
5333 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
5334 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
5335 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
5336 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
5337 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
5338 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
5339 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
5340 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
5341 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
5342 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
5343 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
5344 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
5345 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5346 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
5347 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
5348 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
5349 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
5350 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
5351 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5352 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
5353 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
5354 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
5355 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
5356 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5357 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
5358 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
5359 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
5360 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
5361 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
5362 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
5363 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
5364 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
5365 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
5366 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
5367 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
5368 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
5369 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
5370 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
5371 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
5372 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
5373 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
5374 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
5375 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
5376 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
5377 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5378 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
5379 * testsuite/libgomp.fortran/reference1.f90: Ditto.
5380 * testsuite/libgomp.fortran/reference2.f90: Ditto.
5381 * testsuite/libgomp.fortran/retval1.f90: Ditto.
5382 * testsuite/libgomp.fortran/retval2.f90: Ditto.
5383 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
5384 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
5385 * testsuite/libgomp.fortran/simd1.f90: Ditto.
5386 * testsuite/libgomp.fortran/simd2.f90: Ditto.
5387 * testsuite/libgomp.fortran/simd3.f90: Ditto.
5388 * testsuite/libgomp.fortran/simd4.f90: Ditto.
5389 * testsuite/libgomp.fortran/simd5.f90: Ditto.
5390 * testsuite/libgomp.fortran/simd6.f90: Ditto.
5391 * testsuite/libgomp.fortran/simd7.f90: Ditto.
5392 * testsuite/libgomp.fortran/stack.f90: Ditto.
5393 * testsuite/libgomp.fortran/strassen.f90: Ditto.
5394 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
5395 * testsuite/libgomp.fortran/tabs2.f: Ditto.
5396 * testsuite/libgomp.fortran/target1.f90: Ditto.
5397 * testsuite/libgomp.fortran/target2.f90: Ditto.
5398 * testsuite/libgomp.fortran/target3.f90: Ditto.
5399 * testsuite/libgomp.fortran/target4.f90: Ditto.
5400 * testsuite/libgomp.fortran/target5.f90: Ditto.
5401 * testsuite/libgomp.fortran/target6.f90: Ditto.
5402 * testsuite/libgomp.fortran/target7.f90: Ditto.
5403 * testsuite/libgomp.fortran/target8.f90: Ditto.
5404 * testsuite/libgomp.fortran/task1.f90: Ditto.
5405 * testsuite/libgomp.fortran/task2.f90: Ditto.
5406 * testsuite/libgomp.fortran/task3.f90: Ditto.
5407 * testsuite/libgomp.fortran/task4.f90: Ditto.
5408 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5409 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5410 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5411 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5412 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5413 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
5414 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
5415 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
5416 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
5417 * testsuite/libgomp.fortran/udr1.f90: Ditto.
5418 * testsuite/libgomp.fortran/udr10.f90: Ditto.
5419 * testsuite/libgomp.fortran/udr11.f90: Ditto.
5420 * testsuite/libgomp.fortran/udr12.f90: Ditto.
5421 * testsuite/libgomp.fortran/udr13.f90: Ditto.
5422 * testsuite/libgomp.fortran/udr14.f90: Ditto.
5423 * testsuite/libgomp.fortran/udr15.f90: Ditto.
5424 * testsuite/libgomp.fortran/udr2.f90: Ditto.
5425 * testsuite/libgomp.fortran/udr3.f90: Ditto.
5426 * testsuite/libgomp.fortran/udr4.f90: Ditto.
5427 * testsuite/libgomp.fortran/udr5.f90: Ditto.
5428 * testsuite/libgomp.fortran/udr6.f90: Ditto.
5429 * testsuite/libgomp.fortran/udr7.f90: Ditto.
5430 * testsuite/libgomp.fortran/udr8.f90: Ditto.
5431 * testsuite/libgomp.fortran/udr9.f90: Ditto.
5432 * testsuite/libgomp.fortran/vla1.f90: Ditto.
5433 * testsuite/libgomp.fortran/vla2.f90: Ditto.
5434 * testsuite/libgomp.fortran/vla3.f90: Ditto.
5435 * testsuite/libgomp.fortran/vla4.f90: Ditto.
5436 * testsuite/libgomp.fortran/vla5.f90: Ditto.
5437 * testsuite/libgomp.fortran/vla6.f90: Ditto.
5438 * testsuite/libgomp.fortran/vla7.f90: Ditto.
5439 * testsuite/libgomp.fortran/vla8.f90: Ditto.
5440 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5441 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5442
01509e2f
TB
54432019-10-30 Tobias Burnus <tobias@codesourcery.com>
5444
5445 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
5446 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
5447 Ditto; add 'dg-do run' for torture testing.
5448 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
5449 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5450 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5451 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5452 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5453 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5454 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
5455 * testsuite/libgomp.fortran/task2.f90: Ditto.
5456 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5457 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5458 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5459 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5460 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5461 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5462
ffbdd78a
TB
54632019-10-28 Tobias Burnus <tobias@codesourcery.com>
5464
5465 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
5466 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
5467 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
5468 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
5469 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
5470 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
5471 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
5472 Use 'stop' not abort().
5473 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
5474 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
5475 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
5476 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
5477 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
5478 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
5479 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
5480 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
5481 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
5482 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
5483 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
5484 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
5485 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
5486 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
5487 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
5488 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
5489 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
5490 Ditto.
5491 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5492 Ditto.
5493 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5494 Ditto.
5495 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5496 Ditto.
5497 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5498 Ditto.
5499 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
5500 Ditto.
5501 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
5502 Ditto.
5503 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
5504 Ditto.
5505 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
5506 Ditto.
5507 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
5508 Ditto.
5509 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
5510 Ditto.
5511 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
5512 Ditto.
5513 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
5514 Ditto.
5515 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
5516 Ditto.
5517 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
5518 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
5519 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
5520 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
5521 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
5522 Likewise and also add 'dg-do run'.
5523 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
5524 Ditto.
5525
ec084613
CP
55262019-10-25 Cesar Philippidis <cesar@codesourcery.com>
5527 Tobias Burnus <tobias@codesourcery.com>
5528
5529 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
5530 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
5531 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
5532
77ef3394
JJ
55332019-10-14 Jakub Jelinek <jakub@redhat.com>
5534
5535 PR libgomp/92081
5536 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
5537 than 0.
5538
08c14aaa
TB
55392019-10-11 Tobias Burnus <tobias@codesourcery.com>
5540
5541 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
5542 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
5543
6bbead0c
TS
55442019-10-09 Thomas Schwinge <thomas@codesourcery.com>
5545
5546 PR middle-end/92036
5547 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
5548 file.
5549
eba3dee8
TB
55502019-10-09 Tobias Burnus <tobias@codesourcery.com>
5551
5552 PR testsuite/91884
5553 * testsuite/libgomp.fortran/fortran.exp: Conditionally
5554 add -lquadmath.
5555 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
5556
7d48e14f
JJ
55572019-10-09 Jakub Jelinek <jakub@redhat.com>
5558
5559 PR libgomp/92028
5560 * target.c (gomp_map_vars_internal): Readd the previous
5561 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
5562 though do that just in the !not_found_cnt case.
5563
65b67cf3
TB
55642019-10-08 Tobias Burnus <tobias@codesourcery.com>
5565
5566 * gfortran.dg/gomp/target-simd.f90: New.
5567
6c7e076b
JB
55682019-10-02 Julian Brown <julian@codesourcery.com>
5569 Cesar Philippidis <cesar@codesourcery.com>
5570
5571 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
5572 * target.c (FIELD_TGT_EMPTY): Define.
5573 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
5574 as switch instead of list of ifs.
5575 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
5576
d61bff85
AT
55772019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
5578
5579 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
5580 include. Replace alloca () with __builtin_alloca ().
5581 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
5582
810f316d
JJ
55832019-10-01 Jakub Jelinek <jakub@redhat.com>
5584
5585 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
5586 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
5587 * oacc-parallel.c: Don't include "libgomp_g.h".
5588 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
5589 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
5590 * aclocal.m4: Regenerated.
5591 * config.h.in: Regenerated.
5592 * configure: Regenerated.
5593 * Makefile.in: Regenerated.
5594
d7f9ee98
KCY
55952019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
5596
5597 * libgomp_g.h: Include stdint.h instead of gstdint.h.
5598
e9085da5
MR
55992019-09-27 Maciej W. Rozycki <macro@wdc.com>
5600
5601 * configure: Regenerate.
5602
c28712be
TB
56032019-09-13 Tobias Burnus <tobias@codesourcery.com>
5604
5605 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
5606 string is initialized.
5607
3c086f8d
FW
56082019-09-06 Florian Weimer <fweimer@redhat.com>
5609
5610 * configure: Regenerate.
5611
c6c2d1bc
CLT
56122019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
5613
5614 PR other/79543
5615 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
5616 scanning to conform to the GNU Coding Standards.
5617 * configure: Regenerate.
5618
5cb72d83
JJ
56192019-08-28 Jakub Jelinek <jakub@redhat.com>
5620
5621 PR libgomp/91530
5622 * testsuite/libgomp.c/scan-21.c: New test.
5623 * testsuite/libgomp.c/scan-22.c: New test.
5624
0ad7981c
JJ
56252019-08-27 Jakub Jelinek <jakub@redhat.com>
5626
5627 PR libgomp/91530
5628 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
5629 targets.
5630 * testsuite/libgomp.c/scan-12.c: Likewise.
5631 * testsuite/libgomp.c/scan-13.c: Likewise.
5632 * testsuite/libgomp.c/scan-14.c: Likewise.
5633 * testsuite/libgomp.c/scan-15.c: Likewise.
5634 * testsuite/libgomp.c/scan-16.c: Likewise.
5635 * testsuite/libgomp.c/scan-17.c: Likewise.
5636 * testsuite/libgomp.c/scan-18.c: Likewise.
5637 * testsuite/libgomp.c/scan-19.c: Likewise.
5638 * testsuite/libgomp.c/scan-20.c: Likewise.
5639 * testsuite/libgomp.c++/scan-9.C: Likewise.
5640 * testsuite/libgomp.c++/scan-10.C: Likewise.
5641 * testsuite/libgomp.c++/scan-11.C: Likewise.
5642 * testsuite/libgomp.c++/scan-12.C: Likewise.
5643 * testsuite/libgomp.c++/scan-14.C: Likewise.
5644 * testsuite/libgomp.c++/scan-15.C: Likewise.
5645 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
5646 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
5647 * testsuite/libgomp.c++/scan-16.C: Likewise.
5648
1e67491a
TK
56492019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
5650
5651 PR fortran/91473
5652 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
5653 -std=legacy so invalid code in the test case is accepted.
5654
393fdeb1
TK
56552019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
5656
5657 PR fortran/91422
5658 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
5659 dimension.
5660
8860d270
JJ
56612019-08-08 Jakub Jelinek <jakub@redhat.com>
5662
5663 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
5664 perform the lookup in the first loop only if !not_found_cnt, otherwise
5665 perform lookups for it in the second loop guarded with
5666 if (not_found_cnt || has_firstprivate).
5667 * testsuite/libgomp.c/target-37.c: New test.
5668 * testsuite/libgomp.c++/target-22.C: New test.
5669
398e3feb
JJ
56702019-08-07 Jakub Jelinek <jakub@redhat.com>
5671
5672 * testsuite/libgomp.c/target-18.c (struct S): New type.
5673 (foo): Use use_device_addr clause instead of use_device_ptr clause
5674 where required by OpenMP 5.0, add further tests for both use_device_ptr
5675 and use_device_addr clauses.
5676 * testsuite/libgomp.c++/target-9.C (struct S): New type.
5677 (foo): Use use_device_addr clause instead of use_device_ptr clause
5678 where required by OpenMP 5.0, add further tests for both use_device_ptr
5679 and use_device_addr clauses. Add t and u arguments.
5680 (main): Adjust caller.
5681
d81ab49d
JJ
56822019-08-06 Jakub Jelinek <jakub@redhat.com>
5683
5684 * testsuite/libgomp.c++/loop-13.C: New test.
5685 * testsuite/libgomp.c++/loop-14.C: New test.
5686 * testsuite/libgomp.c++/loop-15.C: New test.
5687
c3ac76aa
JJ
56882019-07-31 Jakub Jelinek <jakub@redhat.com>
5689
5690 PR middle-end/91301
5691 * testsuite/libgomp.c++/for-27.C: New test.
5692
8dc63166
SK
56932019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
5694
393fdeb1 5695 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 5696 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 5697
554a530f
JJ
56982019-07-20 Jakub Jelinek <jakub@redhat.com>
5699
5700 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
5701
6cda84b5
JJ
57022019-07-08 Jakub Jelinek <jakub@redhat.com>
5703
5704 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
5705 * testsuite/libgomp.c++/scan-16.C: Likewise.
5706
1f52d1a8
JJ
57072019-07-06 Jakub Jelinek <jakub@redhat.com>
5708
6f67abcd
JJ
5709 * testsuite/libgomp.c/scan-19.c: New test.
5710 * testsuite/libgomp.c/scan-20.c: New test.
5711
1f52d1a8
JJ
5712 * testsuite/libgomp.c/scan-11.c: New test.
5713 * testsuite/libgomp.c/scan-12.c: New test.
5714 * testsuite/libgomp.c/scan-13.c: New test.
5715 * testsuite/libgomp.c/scan-14.c: New test.
5716 * testsuite/libgomp.c/scan-15.c: New test.
5717 * testsuite/libgomp.c/scan-16.c: New test.
5718 * testsuite/libgomp.c/scan-17.c: New test.
5719 * testsuite/libgomp.c/scan-18.c: New test.
5720 * testsuite/libgomp.c++/scan-9.C: New test.
5721 * testsuite/libgomp.c++/scan-10.C: New test.
5722 * testsuite/libgomp.c++/scan-11.C: New test.
5723 * testsuite/libgomp.c++/scan-12.C: New test.
5724 * testsuite/libgomp.c++/scan-13.C: New test.
5725 * testsuite/libgomp.c++/scan-14.C: New test.
5726 * testsuite/libgomp.c++/scan-15.C: New test.
5727 * testsuite/libgomp.c++/scan-16.C: New test.
5728
2f03073f
JJ
57292019-07-04 Jakub Jelinek <jakub@redhat.com>
5730
5731 * testsuite/libgomp.c/scan-9.c: New test.
5732 * testsuite/libgomp.c/scan-10.c: New test.
5733
2f6bb511
JJ
57342019-07-03 Jakub Jelinek <jakub@redhat.com>
5735
5736 * testsuite/libgomp.c++/scan-1.C: New test.
5737 * testsuite/libgomp.c++/scan-2.C: New test.
5738 * testsuite/libgomp.c++/scan-3.C: New test.
5739 * testsuite/libgomp.c++/scan-4.C: New test.
5740 * testsuite/libgomp.c++/scan-5.C: New test.
5741 * testsuite/libgomp.c++/scan-6.C: New test.
5742 * testsuite/libgomp.c++/scan-7.C: New test.
5743 * testsuite/libgomp.c++/scan-8.C: New test.
5744 * testsuite/libgomp.c/scan-1.c: New test.
5745 * testsuite/libgomp.c/scan-2.c: New test.
5746 * testsuite/libgomp.c/scan-3.c: New test.
5747 * testsuite/libgomp.c/scan-4.c: New test.
5748 * testsuite/libgomp.c/scan-5.c: New test.
5749 * testsuite/libgomp.c/scan-6.c: New test.
5750 * testsuite/libgomp.c/scan-7.c: New test.
5751 * testsuite/libgomp.c/scan-8.c: New test.
5752
bd194a51
TS
57532019-06-18 Thomas Schwinge <thomas@codesourcery.com>
5754
85fca03a
TS
5755 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
5756 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
5757 Likewise.
5758
bd194a51
TS
5759 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
5760 check.
5761
6652161e
CP
57622019-06-18 Cesar Philippidis <cesar@codesourcery.com>
5763
5764 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
5765 file.
5766
3a37d6f6
TS
57672019-06-18 Thomas Schwinge <thomas@codesourcery.com>
5768
4017da8d
TS
5769 PR fortran/90743
5770 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
5771 case.
5772 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
5773 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
5774 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
5775 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
5776
6f7c1f65
TS
5777 PR testsuite/90861
5778 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
5779
3a37d6f6
TS
5780 PR middle-end/90862
5781 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
5782
f45ce17d
TV
57832019-06-16 Tom de Vries <tdevries@suse.de>
5784
5785 PR tree-optimization/89376
5786 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
5787
00908992
TV
57882019-06-15 Tom de Vries <tdevries@suse.de>
5789
5790 PR tree-optimization/89713
5791 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
5792 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
5793
211b7533
JJ
57942019-06-15 Jakub Jelinek <jakub@redhat.com>
5795
5796 PR middle-end/90779
5797 * testsuite/libgomp.c/pr90779.c: New test.
5798 * testsuite/libgomp.fortran/pr90779.f90: New test.
5799
120a01d1
TV
58002019-06-15 Tom de Vries <tdevries@suse.de>
5801
5802 PR tree-optimization/90009
5803 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
5804
c29c92c7
FX
58052019-06-13 Feng Xue <fxue@os.amperecomputing.com>
5806
5807 PR tree-optimization/89713
5808 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
5809
ce9c4ec3
JJ
58102019-06-11 Jakub Jelinek <jakub@redhat.com>
5811
5812 PR target/90811
5813 * testsuite/libgomp.c/pr90811.c: New test.
5814
28b3a77c
JJ
58152019-06-05 Jakub Jelinek <jakub@redhat.com>
5816
5817 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
5818 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
5819
7855700e
JJ
58202019-06-04 Jakub Jelinek <jakub@redhat.com>
5821
5822 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
5823 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
5824 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
5825 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
5826
a7155c2e
RO
58272019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5828
5829 * configure.ac: Call AX_COUNT_CPUS.
5830 Substitute CPU_COUNT.
5831 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
5832 count fallback.
5833 * aclocal.m4: Regenerate.
5834 * configure: Regenerate.
5835 * Makefile.in, testsuite/Makefile.in: Regenerate.
5836
7e47198b
JJ
58372019-05-29 Jakub Jelinek <jakub@redhat.com>
5838
5839 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
5840 to ...
5841 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
5842 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
5843 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
5844
fcfb8032
JJ
58452019-05-27 Jakub Jelinek <jakub@redhat.com>
5846
8e7757ba
JJ
5847 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
5848
36c7a3ff
JJ
5849 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
5850
fcfb8032
JJ
5851 PR libgomp/90641
5852 * work.c (gomp_init_work_share): Instead of aligning final ordered
5853 value to multiples of long long alignment, align to that the
5854 first part (ordered team ids) and if inline_ordered_team_ids
5855 is not on a long long alignment boundary within the structure,
5856 use __alignof__ (long long) - 1 pad size always.
5857 * loop.c (GOMP_loop_start): Fix *mem computation if
5858 inline_ordered_team_ids is not aligned on long long alignment boundary
5859 within the structure.
5860 * loop-ull.c (GOMP_loop_ull_start): Likewise.
5861 * sections.c (GOMP_sections2_start): Likewise.
5862
b5c26449
JJ
58632019-05-24 Jakub Jelinek <jakub@redhat.com>
5864
6c7ae8c5
JJ
5865 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
5866 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
5867
b5c26449
JJ
5868 PR libgomp/90585
5869 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
5870 HAVE_INTTYPES_H is defined.
5871 (print_uint64_t): New typedef.
5872 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
5873 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
5874 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
5875 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
5876 before casting to void *.
5877 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
5878 * oacc-mem.c: Don't include config.h nor stdint.h.
5879 * target.c: Don't include config.h.
5880 * oacc-cuda.c: Likewise.
5881 * oacc-host.c: Don't include stdint.h.
5882
3e03ed66
JJ
58832019-05-20 Jakub Jelinek <jakub@redhat.com>
5884
5885 PR libgomp/90527
5886 * alloc.c (_GNU_SOURCE): Define.
5887
5fae049d
TS
58882019-05-17 Thomas Schwinge <thomas@codesourcery.com>
5889
5890 * acc_prof.h: New file.
5891 * oacc-profiling.c: Likewise.
5892 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
5893 Add these, respectively.
5894 * Makefile.in: Regenerate.
5895 * env.c (initialize_env): Call goacc_profiling_initialize.
5896 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
5897 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
5898 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
5899 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
5900 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
5901 acc_prof_register, acc_prof_unregister, and acc_register_library.
5902 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
5903 GOMP_PLUGIN_goacc_thread.
5904 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
5905 prof_callbacks_enabled members.
5906 (goacc_prof_enabled, goacc_profiling_initialize)
5907 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
5908 (goacc_profiling_dispatch): Declare.
5909 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
5910 (GOACC_PROFILING_SETUP_P): Define.
5911 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
5912 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
5913 OpenACC Profiling Interface.
5914 * oacc-cuda.c (acc_get_current_cuda_device)
5915 (acc_get_current_cuda_context, acc_get_cuda_stream)
5916 (acc_set_cuda_stream): Likewise.
5917 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
5918 (acc_init, acc_set_device_type, acc_get_device_type)
5919 (acc_get_device_num, goacc_lazy_initialize): Likewise.
5920 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
5921 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
5922 (acc_unmap_data, present_create_copy, delete_copyout)
5923 (update_dev_host): Likewise.
5924 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
5925 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
5926 Likewise.
5927 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
5928 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
5929 Likewise.
5930 * libgomp.texi: Update.
5931 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
5932 file.
5933 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
5934 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5935 Likewise.
5936 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5937 Likewise.
5938 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
5939 Likewise.
5940 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
5941 Likewise.
5942
1f4c5b9b
CLT
59432019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
5944
5945 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
5946 (struct goacc_asyncqueue_list): Likewise.
5947 (goacc_aq): Likewise.
5948 (goacc_aq_list): Likewise.
5949 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
5950 (GOMP_OFFLOAD_openacc_async_test): Remove.
5951 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
5952 (GOMP_OFFLOAD_openacc_async_wait): Remove.
5953 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
5954 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
5955 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
5956 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
5957 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
5958 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
5959 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
5960 (GOMP_OFFLOAD_openacc_async_exec): Declare.
5961 (GOMP_OFFLOAD_openacc_async_construct): Declare.
5962 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
5963 (GOMP_OFFLOAD_openacc_async_test): Declare.
5964 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
5965 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
5966 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
5967 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
5968 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
5969
5970 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
5971 (gomp_acc_insert_pointer): Adjust declaration.
5972 (gomp_copy_host2dev): New declaration.
5973 (gomp_copy_dev2host): Likewise.
5974 (gomp_map_vars_async): Likewise.
5975 (gomp_unmap_tgt): Likewise.
5976 (gomp_unmap_vars_async): Likewise.
5977 (gomp_fini_device): Likewise.
5978
5979 * oacc-async.c (get_goacc_thread): New function.
5980 (get_goacc_thread_device): New function.
5981 (lookup_goacc_asyncqueue): New function.
5982 (get_goacc_asyncqueue): New function.
5983 (acc_async_test): Adjust code to use new async design.
5984 (acc_async_test_all): Likewise.
5985 (acc_wait): Likewise.
5986 (acc_wait_async): Likewise.
5987 (acc_wait_all): Likewise.
5988 (acc_wait_all_async): Likewise.
5989 (goacc_async_free): New function.
5990 (goacc_init_asyncqueues): Likewise.
5991 (goacc_fini_asyncqueues): Likewise.
5992 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
5993 design.
5994 (acc_set_cuda_stream): Likewise.
5995 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
5996 (host_openacc_register_async_cleanup): Remove.
5997 (host_openacc_async_exec): New function.
5998 (host_openacc_async_test): Adjust parameters.
5999 (host_openacc_async_test_all): Remove.
6000 (host_openacc_async_wait): Remove.
6001 (host_openacc_async_wait_async): Remove.
6002 (host_openacc_async_wait_all): Remove.
6003 (host_openacc_async_wait_all_async): Remove.
6004 (host_openacc_async_set_async): Remove.
6005 (host_openacc_async_synchronize): New function.
6006 (host_openacc_async_serialize): New function.
6007 (host_openacc_async_host2dev): New function.
6008 (host_openacc_async_dev2host): New function.
6009 (host_openacc_async_queue_callback): New function.
6010 (host_openacc_async_construct): New function.
6011 (host_openacc_async_destruct): New function.
6012 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 6013 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
6014 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
6015 (goacc_attach_host_thread_to_device): Remove old async code usage.
6016 * oacc-int.h (goacc_init_asyncqueues): New declaration.
6017 (goacc_fini_asyncqueues): Likewise.
6018 (goacc_async_copyout_unmap_vars): Likewise.
6019 (goacc_async_free): Likewise.
6020 (get_goacc_asyncqueue): Likewise.
6021 (lookup_goacc_asyncqueue): Likewise.
6022 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
6023 design.
6024 (present_create_copy): Adjust code to use new async design.
6025 (delete_copyout): Likewise.
6026 (update_dev_host): Likewise.
6027 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
6028 async design.
6029 (gomp_acc_remove_pointer): Adjust code to use new async design.
6030 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
6031 design.
6032 (GOACC_enter_exit_data): Likewise.
6033 (goacc_wait): Likewise.
6034 (GOACC_update): Likewise.
6035 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
6036 when called, warn as obsolete in comment.
6037 * target.c (goacc_device_copy_async): New function.
6038 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
6039 add goacc_device_copy_async case.
6040 (gomp_copy_dev2host): Likewise.
6041 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
6042 (gomp_map_pointer): Likewise.
6043 (gomp_map_fields_existing): Likewise.
6044 (gomp_map_vars_internal): New always_inline function, renamed from
6045 gomp_map_vars.
6046 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
6047 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
6048 passing goacc_asyncqueue argument.
6049 (gomp_unmap_tgt): Remove static, add attribute_hidden.
6050 (gomp_unref_tgt): New function.
6051 (gomp_unmap_vars_internal): New always_inline function, renamed from
6052 gomp_unmap_vars.
6053 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
6054 (gomp_unmap_vars_async): Implement by calling
6055 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
6056 (gomp_fini_device): New function.
6057 (gomp_exit_data): Adjust gomp_copy_dev2host call.
6058 (gomp_load_plugin_for_device): Remove old interface, adjust to load
6059 new async interface.
6060 (gomp_target_fini): Adjust code to call gomp_fini_device.
6061
6062 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
6063 (struct ptx_stream): Remove.
6064 (struct nvptx_thread): Remove current_stream field.
6065 (cuda_map_create): Remove.
6066 (cuda_map_destroy): Remove.
6067 (map_init): Remove.
6068 (map_fini): Remove.
6069 (map_pop): Remove.
6070 (map_push): Remove.
6071 (struct goacc_asyncqueue): Define.
6072 (struct nvptx_callback): Define.
6073 (struct ptx_free_block): Define.
6074 (struct ptx_device): Remove null_stream, active_streams, async_streams,
6075 stream_lock, and next fields.
6076 (enum ptx_event_type): Remove.
6077 (struct ptx_event): Remove.
6078 (ptx_event_lock): Remove.
6079 (ptx_events): Remove.
6080 (init_streams_for_device): Remove.
6081 (fini_streams_for_device): Remove.
6082 (select_stream_for_async): Remove.
6083 (nvptx_init): Remove ptx_events and ptx_event_lock references.
6084 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
6085 case.
6086 (nvptx_open_device): Add free_blocks initialization, remove
6087 init_streams_for_device call.
6088 (nvptx_close_device): Remove fini_streams_for_device call, add
6089 free_blocks destruct code.
6090 (event_gc): Remove.
6091 (event_add): Remove.
6092 (nvptx_exec): Adjust parameters and code.
6093 (nvptx_free): Likewise.
6094 (nvptx_host2dev): Remove.
6095 (nvptx_dev2host): Remove.
6096 (nvptx_set_async): Remove.
6097 (nvptx_async_test): Remove.
6098 (nvptx_async_test_all): Remove.
6099 (nvptx_wait): Remove.
6100 (nvptx_wait_async): Remove.
6101 (nvptx_wait_all): Remove.
6102 (nvptx_wait_all_async): Remove.
6103 (nvptx_get_cuda_stream): Remove.
6104 (nvptx_set_cuda_stream): Remove.
6105 (GOMP_OFFLOAD_alloc): Adjust code.
6106 (GOMP_OFFLOAD_free): Likewise.
6107 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6108 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
6109 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6110 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6111 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6112 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6113 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6114 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6115 (cuda_free_argmem): New function.
6116 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
6117 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
6118 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
6119 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
6120 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
6121 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
6122 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
6123 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
6124 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
6125 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
6126 (cuda_callback_wrapper): New function.
6127 (cuda_memcpy_sanity_check): New function.
6128 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
6129 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
6130 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
6131 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
6132
da2d30c1
TS
61332019-05-07 Thomas Schwinge <thomas@codesourcery.com>
6134
6135 PR target/87835
6136 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
6137
2bbbfa4e
TS
61382019-05-06 Thomas Schwinge <thomas@codesourcery.com>
6139
6140 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
6141
bbf1efe1
KB
61422019-03-27 Kevin Buettner <kevinb@redhat.com>
6143
6144 * team.c (gomp_team_start): Initialize pool->threads[0].
6145
1241136c
TS
61462019-02-22 Thomas Schwinge <thomas@codesourcery.com>
6147
b03d721a
TS
6148 * testsuite/libgomp.oacc-c++/c++.exp: Specify
6149 "-foffload=$offload_target".
6150 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6151 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6152 * testsuite/lib/libgomp.exp
6153 (check_effective_target_openacc_nvidia_accel_configured): Remove,
6154 as (conceptually) merged into
6155 check_effective_target_openacc_nvidia_accel_selected. Adjust all
6156 users.
6157
0a0384b4
TS
6158 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
6159 * testsuite/libgomp-test-support.exp.in: Adjust.
6160 * testsuite/lib/libgomp.exp: Likewise. Don't populate
6161 openacc_device_types_s.
6162 (offload_target_to_openacc_device_type): New proc.
6163 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
6164 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6165 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6166 * Makefile.in: Regenerate.
6167 * configure: Likewise.
6168 * testsuite/Makefile.in: Likewise.
6169
ee332b4a
TS
6170 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
6171 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
6172 instead of OFFLOAD_TARGETS.
6173 * target.c (gomp_target_init): Adjust.
6174 * testsuite/libgomp-test-support.exp.in: Likewise.
6175 * testsuite/lib/libgomp.exp: Likewise. Populate
6176 openacc_device_types_s instead of offload_targets_s_openacc.
6177 (check_effective_target_openacc_nvidia_accel_selected)
6178 (check_effective_target_openacc_host_selected): Adjust.
6179 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6180 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6181 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6182 * Makefile.in: Regenerate.
6183 * config.h.in: Likewise.
6184 * configure: Likewise.
6185 * testsuite/Makefile.in: Likewise.
6186
1241136c
TS
6187 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
6188 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
6189 "offloading: supported, but hardware not accessible".
6190 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6191 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6192
19695f4d
CLT
61932019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
6194
6195 PR c/87924
6196 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
6197 goacc_wait().
6198 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
6199 and related adjustment.
6200
8b44f8ec
JJ
62012019-01-30 Jakub Jelinek <jakub@redhat.com>
6202
6203 PR c++/88988
6204 * testsuite/libgomp.c++/pr88988.C: New test.
6205
be3a87e7
JJ
62062019-01-28 Jakub Jelinek <jakub@redhat.com>
6207
6208 PR middle-end/89002
6209 * testsuite/libgomp.c/pr89002.c: New test.
6210
497ef4d7
RB
62112019-01-28 Richard Biener <rguenther@suse.de>
6212
6213 PR testsuite/89064
6214 PR tree-optimization/86865
6215 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
6216
738c56d4
TV
62172019-01-24 Tom de Vries <tdevries@suse.de>
6218
6219 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
6220 once instantiated_devices drops to 0.
6221
4a75460b
TV
62222019-01-23 Tom de Vries <tdevries@suse.de>
6223
6224 PR target/PR88946
6225 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
6226 cuMemFree.
6227 (nvptx_exec): Don't call map_push if mapnum == 0.
6228 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
6229
4fef8e4d
TV
62302019-01-23 Tom de Vries <tdevries@suse.de>
6231
6232 PR target/88941
6233 PR target/88939
6234 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
6235 (map_fini): Remove "assert (!s->map->active)".
6236 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
6237
2ee6cb22
TV
62382019-01-23 Tom de Vries <tdevries@suse.de>
6239
6240 PR target/87835
6241 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
6242 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
6243
d41d952c
TV
62442019-01-15 Tom de Vries <tdevries@suse.de>
6245
6246 PR target/80547
6247 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
6248 New test.
6249
efb56ae8
TV
62502019-01-12 Tom de Vries <tdevries@suse.de>
6251
6252 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
6253 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
6254 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
6255 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
6256
2c2ff168
TV
62572019-01-12 Tom de Vries <tdevries@suse.de>
6258
6259 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
6260
a1057758
TV
62612019-01-12 Tom de Vries <tdevries@suse.de>
6262
6263 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
6264 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
6265 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
6266
56314b77
TV
62672019-01-12 Tom de Vries <tdevries@suse.de>
6268
6269 PR target/85486
6270 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
6271 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
6272
b39e4366
TV
62732019-01-12 Tom de Vries <tdevries@suse.de>
6274
6275 PR target/85381
6276 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
6277 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
6278
2cb7a501
TV
62792019-01-12 Tom de Vries <tdevries@suse.de>
6280
6281 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
6282 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
6283 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
6284
8e77f71e
TV
62852019-01-12 Tom de Vries <tdevries@suse.de>
6286
6287 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
6288 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
6289 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
6290
52d22ece
TV
62912019-01-12 Tom de Vries <tdevries@suse.de>
6292
6293 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
6294 resources diagnostic.
6295
2b9d9e39
TV
62962019-01-12 Tom de Vries <tdevries@suse.de>
6297
6298 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
6299 vector length to be 128.
6300 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
6301 length 2097152 to be reduced to 1024 instead of 32.
6302
4102bda6
TS
63032019-01-11 Thomas Schwinge <thomas@codesourcery.com>
6304 James Norris <jnorris@codesourcery.com>
6305
6306 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
6307 Library Routines", and "Environment Variables".
6308
052aaace
TV
63092019-01-11 Tom de Vries <tdevries@suse.de>
6310
6311 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
6312 num_workers 16.
6313
9390f916
TV
63142019-01-11 Tom de Vries <tdevries@suse.de>
6315
6316 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
6317 -foffload=-w.
6318 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
6319 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
6320 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
6321 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
6322
2c3e7ad2
TV
63232019-01-11 Tom de Vries <tdevries@suse.de>
6324
6325 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
6326 test.
6327
e222497d
NS
63282019-01-10 Nathan Sidwell <nathan@acm.org>
6329 Julian Brown <julian@codesourcery.com>
6330
6331 PR lto/71959
6332 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
6333 * testsuite/libgomp.oacc-c++/pr71959.C: New.
6334
cb87fec3
SH
63352019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
6336
6337 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
6338 and paste code.
6339
30b4d0d0
SH
63402019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
6341
6342 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
6343 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6344 write.
6345
5d0bc70a
TV
63462019-01-09 Tom de Vries <tdevries@suse.de>
6347
6348 PR target/88756
6349 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
6350 #define instead of "const int".
6351 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
6352 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
6353 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
6354 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
6355
2c372e81
TV
63562019-01-09 Tom de Vries <tdevries@suse.de>
6357
6358 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
6359 one worker.
6360
43493c97
TV
63612019-01-07 Tom de Vries <tdevries@suse.de>
6362
6363 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
6364 GOMP_OPENACC_DIM argument.
6365
5c571497
TV
63662019-01-03 Tom de Vries <tdevries@suse.de>
6367
6368 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
6369 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
6370
a5544970
JJ
63712019-01-01 Jakub Jelinek <jakub@redhat.com>
6372
6373 Update copyright years.
6374
3f27508c
JJ
63752019-01-01 Jakub Jelinek <jakub@redhat.com>
6376
6377 * libgomp.texi: Bump @copying's copyright year.
6378
59d5960c
TS
63792018-12-28 Thomas Schwinge <thomas@codesourcery.com>
6380
6381 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
6382 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
6383 (GOACC_declare): Redefine the "device" argument to "flags".
6384
a44c1790
TS
63852018-12-28 Thomas Schwinge <thomas@codesourcery.com>
6386 Cesar Philippidis <cesar@codesourcery.com>
6387
6388 * target.c (struct gomp_coalesce_chunk): New structure.
6389 (struct gomp_coalesce_buf): Update the chunks member to use that
6390 type. Adjust all users.
6391
a152954e
TV
63922018-12-19 Tom de Vries <tdevries@suse.de>
6393
6394 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
6395 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
6396 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
6397
49188cd1
TV
63982018-12-19 Tom de Vries <tdevries@suse.de>
6399
6400 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
6401 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
6402 gcc/testsuite/gcc.dg/goacc.
6403 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
6404
c759830b
TS
64052018-12-14 Thomas Schwinge <thomas@codesourcery.com>
6406 Chung-Lin Tang <cltang@codesourcery.com>
6407
6408 * oacc-mem.c (acc_present_or_create): Remove definition and change
6409 to alias of acc_create.
6410 (acc_present_or_copyin): Remove definition and change to alias of
6411 acc_copyin.
6412 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
6413 of acc_present_or_create.
6414 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
6415 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6416 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6417 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6418 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6419 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6420 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6421 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6422 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6423 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6424 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6425 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6426 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6427 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6428 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6429 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6430
7de562ee
TS
64312018-12-14 Thomas Schwinge <thomas@codesourcery.com>
6432
f847198e
TS
6433 PR libgomp/88495
6434 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
6435 "identical parameters".
6436 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
6437 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
6438
c8ab8aab
TS
6439 PR libgomp/88484
6440 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
6441 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
6442
1404af62
TS
6443 PR libgomp/88407
6444 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
6445 (nvptx_wait_async): Unseen async-argument is a no-op.
6446 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
6447 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
6448 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6449 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6450 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6451 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
6452 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
6453 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
6454 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
6455
7de562ee
TS
6456 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
6457 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6458
17469af7
CLT
64592018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
6460
6461 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
6462 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6463 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6464
18c247cc
TS
64652018-12-14 Thomas Schwinge <thomas@codesourcery.com>
6466
6467 PR libgomp/88370
6468 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
6469 (acc_set_cuda_stream): Clarify.
6470 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6471 "async_valid_p".
6472 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
6473 acc_async_sync".
6474 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
6475 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
6476 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
6477 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6478
b0aba46c
TV
64792018-12-14 Tom de Vries <tdevries@suse.de>
6480
6481 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
6482 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
6483 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
6484 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
6485 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
6486
fe0827ee
TV
64872018-12-13 Tom de Vries <tdevries@suse.de>
6488
6489 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
6490 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
6491 * fortran.c (omp_display_affinity_): ... here.
6492 * libgomp.h (gomp_print_string): Declare.
6493 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
6494 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6495 write.
6496
a51f8c92
JJ
64972018-12-13 Jakub Jelinek <jakub@redhat.com>
6498
6499 PR libgomp/88460
6500 * testsuite/libgomp.c++/for-24.C (results): Include it in
6501 omp declare target region.
6502 (main): Use map (always, tofrom: results) instead of
6503 map (tofrom: results).
6504
a6ef2ac9
JJ
65052018-12-12 Jakub Jelinek <jakub@redhat.com>
6506
7a289b7d
JJ
6507 PR fortran/88463
6508 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
6509 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
6510
a6ef2ac9
JJ
6511 * testsuite/libgomp.c-c++-common/for-16.c: New test.
6512
9c47a019
AS
65132018-12-12 Andreas Schwab <schwab@suse.de>
6514
6515 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
6516 clobbered.
6517
d0cbb206
TK
65182018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
6519
6520 PR fortran/88411
6521 * testsuite/libgomp.fortran/async_io_8.f90: New test.
6522
84ca08d2
TS
65232018-12-09 Thomas Schwinge <thomas@codesourcery.com>
6524 Jakub Jelinek <jakub@redhat.com>
6525
6526 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
6527 devicep->host2dev_func.
6528
6997628d
JJ
65292018-12-08 Jakub Jelinek <jakub@redhat.com>
6530
6531 PR libgomp/87995
6532 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
6533 tls_runtime effective target.
6534 (t): New threadprivate variable.
6535 (main): Set t in threads which execute iterations of the worksharing
6536 loop. Propagate that to the task after the loop and don't abort
6537 if the current taskgroup hasn't been cancelled.
6538
daa8c1d7
JJ
65392018-12-02 Jakub Jelinek <jakub@redhat.com>
6540
4a82df9a
JJ
6541 * testsuite/libgomp.c/task-reduction-3.c: New test.
6542
daa8c1d7
JJ
6543 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
6544
fe570ff8
CP
65452018-11-30 Cesar Philippidis <cesar@codesourcery.com>
6546
6547 PR libgomp/88288
6548 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
6549 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
6550
c223608f
TS
65512018-11-30 Thomas Schwinge <thomas@codesourcery.com>
6552
6553 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
6554
fc60283c
RB
65552018-10-19 Richard Biener <rguenther@suse.de>
6556
6557 PR tree-optimization/88182
6558 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
6559
ffcf3b79
JJ
65602018-11-26 Jakub Jelinek <jakub@redhat.com>
6561
6562 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
6563 (RUNTEST): Don't define.
6564 (RUNTESTDEFAULTFLAGS): Add.
6565 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
6566 (distclean-am): Depend on distclean-DEJAGNU.
6567 (check-am): If -j% option is present in MFLAGS and if
6568 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
6569 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
6570 * testsuite/Makefile.in: Regenerated.
6571
ef6e6914
RB
65722018-11-26 Richard Biener <rguenther@suse.de>
6573
6574 PR tree-optimization/88182
6575 * testsuite/libgomp.c++/pr88182.C: New testcase.
6576
72d3bb76
JJ
65772018-11-20 Jakub Jelinek <jakub@redhat.com>
6578
6579 PR bootstrap/88106
6580 * config/mingw32/affinity-fmt.c: New file.
6581
207286c3
JJ
65822018-11-09 Jakub Jelinek <jakub@redhat.com>
6583
9666c522
JJ
6584 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
6585 (gomp_display_affinity): Use __builtin_choose_expr to handle
6586 properly handle argument having integral, or pointer or some other
6587 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
6588 with uint64_t type instead of %llx and unsigned long long.
6589
207286c3
JJ
6590 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
6591 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
6592
2033f45b
RO
65932018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6594
6595 * affinity.c: Include <string.h>, <stdio.h>.
6596 (gomp_display_affinity_place): Remove cpusetp.
6597 * teams.c: Include <limits.h>.
6598
28567c40
JJ
65992018-11-08 Jakub Jelinek <jakub@redhat.com>
6600
8991d779
JJ
6601 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
6602 in_reduction clause for s[0].
6603
28567c40
JJ
6604 * affinity.c (gomp_display_affinity_place): New function.
6605 * affinity-fmt.c: New file.
6606 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
6607 * config/linux/affinity.c (gomp_display_affinity_place): New function.
6608 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
6609 Move these functions to ...
6610 * config/nvptx/teams.c: ... here. New file.
6611 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
6612 New functions.
6613 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
6614 functions.
6615 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
6616 and _aligned_malloc.
6617 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
6618 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
6619 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
6620 gomp_affinity_format_len): New variables.
6621 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
6622 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
6623 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
6624 modifiers. Display (non-default) chunk sizes. Print
6625 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
6626 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
6627 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
6628 * fortran.c: Include stdio.h and string.h.
6629 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
6630 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
6631 (omp_set_affinity_format_, omp_get_affinity_format_,
6632 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
6633 omp_pause_resource_all_): New functions.
6634 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
6635 switch.
6636 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
6637 functions to ...
6638 * teams.c: ... here. New file.
6639 * libgomp_g.h: Include gstdint.h.
6640 (GOMP_loop_nonmonotonic_runtime_start,
6641 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
6642 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
6643 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
6644 GOMP_parallel_loop_nonmonotonic_runtime,
6645 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6646 GOMP_loop_ull_nonmonotonic_runtime_start,
6647 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
6648 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
6649 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6650 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
6651 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
6652 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6653 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6654 GOMP_teams_reg): Declare.
6655 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
6656 gomp_aligned_alloc uses fallback implementation.
6657 (gomp_aligned_alloc, gomp_aligned_free): Declare.
6658 (enum gomp_schedule_type): Add GFS_MONOTONIC.
6659 (struct gomp_doacross_work_share): Add extra field.
6660 (struct gomp_work_share): Add task_reductions field.
6661 (struct gomp_taskgroup): Add workshare and reductions fields.
6662 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
6663 (gomp_thread_handle): New typedef.
6664 (gomp_display_affinity_place, gomp_set_affinity_format,
6665 gomp_display_string, gomp_display_affinity,
6666 gomp_display_affinity_thread): Declare.
6667 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
6668 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
6669 gomp_workshare_task_reduction_register): Declare.
6670 (gomp_team_start): Add taskgroup argument.
6671 (gomp_pause_host): Declare.
6672 (gomp_init_work_share, gomp_work_share_start): Change bool argument
6673 to size_t.
6674 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
6675 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
6676 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
6677 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6678 GOMP_loop_ull_doacross_start,
6679 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6680 GOMP_loop_maybe_nonmonotonic_runtime_next,
6681 GOMP_loop_maybe_nonmonotonic_runtime_start,
6682 GOMP_loop_nonmonotonic_runtime_next,
6683 GOMP_loop_nonmonotonic_runtime_start,
6684 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6685 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6686 GOMP_loop_ull_nonmonotonic_runtime_next,
6687 GOMP_loop_ull_nonmonotonic_runtime_start,
6688 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6689 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
6690 GOMP_taskgroup_reduction_register,
6691 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6692 GOMP_teams_reg and GOMP_taskwait_depend.
6693 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
6694 omp_{capture,display}_affinity{,_}, and
6695 omp_[gs]et_affinity_format{,_}.
6696 * loop.c: Include string.h.
6697 (GOMP_loop_runtime_next): Add ialias.
6698 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6699 (gomp_loop_static_start, gomp_loop_dynamic_start,
6700 gomp_loop_guided_start, gomp_loop_ordered_static_start,
6701 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
6702 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6703 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
6704 or gomp_doacross_init callers.
6705 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
6706 GOMP_loop_doacross_start): New functions.
6707 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
6708 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
6709 Mask off GFS_MONOTONIC bit.
6710 (GOMP_loop_maybe_nonmonotonic_runtime_next,
6711 GOMP_loop_maybe_nonmonotonic_runtime_start,
6712 GOMP_loop_nonmonotonic_runtime_next,
6713 GOMP_loop_nonmonotonic_runtime_start,
6714 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6715 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
6716 functions.
6717 (gomp_parallel_loop_start): Pass NULL as taskgroup to
6718 gomp_team_start.
6719 * loop_ull.c: Include string.h.
6720 (GOMP_loop_ull_runtime_next): Add ialias.
6721 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6722 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
6723 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
6724 gomp_loop_ull_ordered_dynamic_start,
6725 gomp_loop_ull_ordered_guided_start,
6726 gomp_loop_ull_doacross_static_start,
6727 gomp_loop_ull_doacross_dynamic_start,
6728 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
6729 and gomp_doacross_ull_init callers.
6730 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6731 GOMP_loop_ull_doacross_start): New functions.
6732 (GOMP_loop_ull_runtime_start,
6733 GOMP_loop_ull_ordered_runtime_start,
6734 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
6735 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6736 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6737 GOMP_loop_ull_nonmonotonic_runtime_next,
6738 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
6739 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
6740 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
6741 (omp_pause_resource_t, omp_depend_t): New typedefs.
6742 (enum omp_lock_hint_t): Renamed to ...
6743 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
6744 enumerators using numbers and omp_lock_hint_* as their aliases.
6745 (omp_lock_hint_t): New typedef. Rename to ...
6746 (omp_sync_hint_t): ... this.
6747 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
6748 omp_sync_hint_t instead of omp_lock_hint_t.
6749 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6750 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6751 Declare.
6752 (omp_target_is_present, omp_target_disassociate_ptr):
6753 Change first argument from void * to const void *.
6754 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
6755 from void * to const void *.
6756 (omp_target_associate_ptr): Change first and second arguments from
6757 void * to const void *.
6758 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
6759 omp_pause_hard): New parameters.
6760 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6761 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6762 New interfaces.
6763 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
6764 omp_pause_hard): New parameters.
6765 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6766 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6767 New externals.
6768 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
6769 EXTRA argument. If not needed to prepare array, if extra is 0,
6770 clear ws->doacross, otherwise allocate just doacross structure and
6771 extra payload. If array is needed, allocate also extra payload.
6772 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
6773 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
6774 doacross == NULL.
6775 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
6776 gomp_team_start.
6777 (GOMP_parallel): Likewise. Formatting fix.
6778 (GOMP_parallel_reductions): New function.
6779 (GOMP_cancellation_point): If taskgroup has workshare
6780 flag set, check cancelled of prev taskgroup if any.
6781 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
6782 on prev taskgroup if any.
6783 * sections.c: Include string.h.
6784 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6785 (GOMP_sections_start): Adjust gomp_work_share_start caller.
6786 (GOMP_sections2_start): New function.
6787 (GOMP_parallel_sections_start, GOMP_parallel_sections):
6788 Pass NULL as taskgroup to gomp_team_start.
6789 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
6790 gomp_work_share_start callers.
6791 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
6792 If taskgroup has workshare flag set, check cancelled on prev
6793 taskgroup if any. Guard all cancellation tests with
6794 gomp_cancel_var test.
6795 (omp_target_is_present, omp_target_disassociate_ptr):
6796 Change ptr argument from void * to const void *.
6797 (omp_target_memcpy): Change src argument from void * to const void *.
6798 (omp_target_memcpy_rect): Likewise.
6799 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
6800 instead of char * where needed.
6801 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
6802 from void * to const void *.
6803 (omp_pause_resource, omp_pause_resource_all): New functions.
6804 * task.c (gomp_task_handle_depend): Handle new depend array format
6805 in addition to the old. Handle mutexinoutset kinds the same as
6806 inout for now, handle unspecified kinds.
6807 (gomp_create_target_task): If taskgroup has workshare flag set, check
6808 cancelled on prev taskgroup if any. Guard all cancellation tests with
6809 gomp_cancel_var test. Handle new depend array format count in
6810 addition to the old.
6811 (GOMP_task): Likewise. Adjust function comment.
6812 (gomp_task_run_pre): If taskgroup has workshare flag set, check
6813 cancelled on prev taskgroup if any. Guard all cancellation tests with
6814 gomp_cancel_var test.
6815 (GOMP_taskwait_depend): New function.
6816 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
6817 format in addition to the old. Handle mutexinoutset kinds the same as
6818 inout for now, handle unspecified kinds. Fix a function comment typo.
6819 (gomp_taskgroup_init): New function.
6820 (GOMP_taskgroup_start): Use it.
6821 (gomp_reduction_register, gomp_create_artificial_team,
6822 GOMP_taskgroup_reduction_register,
6823 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6824 gomp_parallel_reduction_register,
6825 gomp_workshare_task_reduction_register,
6826 gomp_workshare_taskgroup_start,
6827 GOMP_workshare_task_reduction_unregister): New functions.
6828 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
6829 check cancelled on prev taskgroup if any. Guard all cancellation
6830 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
6831 by calling GOMP_taskgroup_reduction_register.
6832 * team.c (gomp_thread_attr): Remove comment.
6833 (struct gomp_thread_start_data): Add handle field.
6834 (gomp_thread_start): Call pthread_detach.
6835 (gomp_new_team): Adjust gomp_init_work_share caller.
6836 (gomp_free_pool_helper): Call pthread_detach.
6837 (gomp_team_start): Add taskgroup argument, initialize implicit
6838 tasks' taskgroup field to that. Don't call
6839 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
6840 (gomp_team_end): Determine nesting by thr->ts.level != 0
6841 rather than thr->ts.team != NULL.
6842 (gomp_pause_pool_helper, gomp_pause_host): New functions.
6843 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
6844 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
6845 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
6846 if more than 1 allocate also extra payload at the end of array. Never
6847 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
6848 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
6849 return true instead of ws.
6850 * Makefile.in: Regenerated.
6851 * configure: Regenerated.
6852 * config.h.in: Regenerated.
6853 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
6854 in some cases.
6855 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
6856 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
6857 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
6858 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
6859 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
6860 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
6861 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
6862 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
6863 * testsuite/libgomp.c-c++-common/for-10.c: New test.
6864 * testsuite/libgomp.c-c++-common/for-11.c: New test.
6865 * testsuite/libgomp.c-c++-common/for-12.c: New test.
6866 * testsuite/libgomp.c-c++-common/for-13.c: New test.
6867 * testsuite/libgomp.c-c++-common/for-14.c: New test.
6868 * testsuite/libgomp.c-c++-common/for-15.c: New test.
6869 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
6870 define a different N(test), don't define N(f0) to N(f14), but instead
6871 define N(f20) to N(f34) using != comparisons.
6872 * testsuite/libgomp.c-c++-common/for-7.c: New test.
6873 * testsuite/libgomp.c-c++-common/for-8.c: New test.
6874 * testsuite/libgomp.c-c++-common/for-9.c: New test.
6875 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
6876 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
6877 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
6878 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
6879 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
6880 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
6881 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
6882 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
6883 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
6884 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
6885 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
6886 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
6887 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
6888 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
6889 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
6890 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
6891 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
6892 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
6893 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
6894 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
6895 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
6896 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
6897 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
6898 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
6899 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
6900 * testsuite/libgomp.c++/depend-1.C: New test.
6901 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
6902 * testsuite/libgomp.c++/depobj-1.C: New test.
6903 * testsuite/libgomp.c++/for-16.C: New test.
6904 * testsuite/libgomp.c++/for-21.C: New test.
6905 * testsuite/libgomp.c++/for-22.C: New test.
6906 * testsuite/libgomp.c++/for-23.C: New test.
6907 * testsuite/libgomp.c++/for-24.C: New test.
6908 * testsuite/libgomp.c++/for-25.C: New test.
6909 * testsuite/libgomp.c++/for-26.C: New test.
6910 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
6911 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
6912 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
6913 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
6914 * testsuite/libgomp.c++/task-reduction-10.C: New test.
6915 * testsuite/libgomp.c++/task-reduction-11.C: New test.
6916 * testsuite/libgomp.c++/task-reduction-12.C: New test.
6917 * testsuite/libgomp.c++/task-reduction-13.C: New test.
6918 * testsuite/libgomp.c++/task-reduction-14.C: New test.
6919 * testsuite/libgomp.c++/task-reduction-15.C: New test.
6920 * testsuite/libgomp.c++/task-reduction-16.C: New test.
6921 * testsuite/libgomp.c++/task-reduction-17.C: New test.
6922 * testsuite/libgomp.c++/task-reduction-18.C: New test.
6923 * testsuite/libgomp.c++/task-reduction-19.C: New test.
6924 * testsuite/libgomp.c/task-reduction-1.c: New test.
6925 * testsuite/libgomp.c++/task-reduction-1.C: New test.
6926 * testsuite/libgomp.c/task-reduction-2.c: New test.
6927 * testsuite/libgomp.c++/task-reduction-2.C: New test.
6928 * testsuite/libgomp.c++/task-reduction-3.C: New test.
6929 * testsuite/libgomp.c++/task-reduction-4.C: New test.
6930 * testsuite/libgomp.c++/task-reduction-5.C: New test.
6931 * testsuite/libgomp.c++/task-reduction-6.C: New test.
6932 * testsuite/libgomp.c++/task-reduction-7.C: New test.
6933 * testsuite/libgomp.c++/task-reduction-8.C: New test.
6934 * testsuite/libgomp.c++/task-reduction-9.C: New test.
6935 * testsuite/libgomp.c/teams-1.c: New test.
6936 * testsuite/libgomp.c/teams-2.c: New test.
6937 * testsuite/libgomp.c/thread-limit-4.c: New test.
6938 * testsuite/libgomp.c/thread-limit-5.c: New test.
6939 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
6940
58168bbf
CLT
69412018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
6942
6943 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
6944 acc_memcpy_to/from_device functions, now with async parameter.
6945 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
6946 (acc_memcpy_from_device): Likewise.
6947 (acc_memcpy_to_device_async): New API function.
6948 (acc_memcpy_from_device_async): Likewise.
6949 (present_create_copy): Add async parameter and async setting/unsetting.
6950 (acc_create): Adjust present_create_copy call.
6951 (acc_copyin): Likewise.
6952 (acc_present_or_create): Likewise.
6953 (acc_present_or_copyin): Likewise.
6954 (acc_create_async): New API function.
6955 (acc_copyin_async): New API function.
6956 (delete_copyout): Add async parameter and async setting/unsetting.
6957 (acc_delete): Adjust delete_copyout call.
6958 (acc_copyout): Likewise.
6959 (acc_delete_async): New API function.
6960 (acc_copyout_async): Likewise.
6961 (update_dev_host): Add async parameter and async setting/unsetting.
6962 (acc_update_device): Adjust update_dev_host call.
6963 (acc_update_self): Likewise.
6964 (acc_update_device_async): New API function.
6965 (acc_update_self_async): Likewise.
6966 * openacc.h (acc_copyin_async): Declare new API function.
6967 (acc_create_async): Likewise.
6968 (acc_copyout_async): Likewise.
6969 (acc_delete_async): Likewise.
6970 (acc_update_device_async): Likewise.
6971 (acc_update_self_async): Likewise.
6972 (acc_memcpy_to_device_async): Likewise.
6973 (acc_memcpy_from_device_async): Likewise.
6974 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
6975 (acc_copyin_async_64_h): New subroutine.
6976 (acc_copyin_async_array_h): New subroutine.
6977 (acc_create_async_32_h): New subroutine.
6978 (acc_create_async_64_h): New subroutine.
6979 (acc_create_async_array_h): New subroutine.
6980 (acc_copyout_async_32_h): New subroutine.
6981 (acc_copyout_async_64_h): New subroutine.
6982 (acc_copyout_async_array_h): New subroutine.
6983 (acc_delete_async_32_h): New subroutine.
6984 (acc_delete_async_64_h): New subroutine.
6985 (acc_delete_async_array_h): New subroutine.
6986 (acc_update_device_async_32_h): New subroutine.
6987 (acc_update_device_async_64_h): New subroutine.
6988 (acc_update_device_async_array_h): New subroutine.
6989 (acc_update_self_async_32_h): New subroutine.
6990 (acc_update_self_async_64_h): New subroutine.
6991 (acc_update_self_async_array_h): New subroutine.
6992 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
6993 (acc_copyin_async_64_h): New subroutine.
6994 (acc_copyin_async_array_h): New subroutine.
6995 (acc_create_async_32_h): New subroutine.
6996 (acc_create_async_64_h): New subroutine.
6997 (acc_create_async_array_h): New subroutine.
6998 (acc_copyout_async_32_h): New subroutine.
6999 (acc_copyout_async_64_h): New subroutine.
7000 (acc_copyout_async_array_h): New subroutine.
7001 (acc_delete_async_32_h): New subroutine.
7002 (acc_delete_async_64_h): New subroutine.
7003 (acc_delete_async_array_h): New subroutine.
7004 (acc_update_device_async_32_h): New subroutine.
7005 (acc_update_device_async_64_h): New subroutine.
7006 (acc_update_device_async_array_h): New subroutine.
7007 (acc_update_self_async_32_h): New subroutine.
7008 (acc_update_self_async_64_h): New subroutine.
7009 (acc_update_self_async_array_h): New subroutine.
7010 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
7011 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
7012 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
7013 acc_memcpy_to_device_async*, acc_update_device_async*, and
7014 acc_update_self_async* entries.
7015 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
7016 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
7017 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
7018
22e05272
JM
70192018-10-31 Joseph Myers <joseph@codesourcery.com>
7020
7021 PR bootstrap/82856
7022 * Makefile.am: Include multilib.am
7023 (AUTOMAKE_OPTIONS): Add info-in-builddir.
7024 (CLEANFILES): Remove libgomp.info.
7025 * configure.ac: Remove AC_PREREQ.
7026 * testsuite/Makefile.am (RUNTEST): Remove quotes.
7027 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
7028 Regenerate.
7029
87a5ccfb
JM
70302018-10-29 Joseph Myers <joseph@codesourcery.com>
7031 Julian Brown <julian@codesourcery.com>
7032
7033 * testsuite/libgomp.oacc-c++/this.C: New.
7034
2049befd
CP
70352018-09-18 Cesar Philippidis <cesar@codesourcery.com>
7036
7037 * plugin/plugin-nvptx.c (struct cuda_map): New.
7038 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
7039 h_tail with (cuda_map *) map.
7040 (cuda_map_create): New function.
7041 (cuda_map_destroy): New function.
7042 (map_init): Update to use a linked list of cuda_map objects.
7043 (map_fini): Likewise.
7044 (map_pop): Likewise.
7045 (map_push): Likewise. Return CUdeviceptr instead of void.
7046 (init_streams_for_device): Remove stales references to ptx_stream
7047 members.
7048 (select_stream_for_async): Likewise.
7049 (nvptx_exec): Update call to map_init.
7050
8e36332c
CP
70512018-09-09 Cesar Philippidis <cesar@codesourcery.com>
7052 Julian Brown <julian@codesourcery.com>
7053
7054 PR middle-end/86336
7055 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
7056
2b4c9065
NK
70572018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
7058 Thomas Koenig <tkoenig@gcc.gnu.org>
7059
7060 PR fortran/25829
7061 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7062 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7063 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7064 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7065 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7066 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7067 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7068
bd9b3d3d
CP
70692018-08-13 Cesar Philippidis <cesar@codesourcery.com>
7070 Tom de Vries <tdevries@suse.de>
7071
7072 PR target/85590
7073 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
7074 (cuOccupancyMaxPotentialBlockSize): Declare.
7075 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
7076 CUDA_ONE_CALL_MAYBE_NULL.
7077 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
7078 CUoccupancyB2DSize and declare
7079 cuOccupancyMaxPotentialBlockSize.
7080 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
7081 default num_gangs and num_workers when the driver supports it.
7082
8e09a12f
TV
70832018-08-08 Tom de Vries <tdevries@suse.de>
7084
7085 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
7086 CUDA_ONE_CALL_MAYBE_NULL.
7087 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
7088 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
7089 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
7090 are not found.
7091
cedd9bd0
TV
70922018-08-08 Tom de Vries <tdevries@suse.de>
7093
7094 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
7095 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
7096 present.
7097
b113af95
TV
70982018-08-08 Tom de Vries <tdevries@suse.de>
7099
7100 * plugin/plugin-nvptx.c
7101 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
7102 (nvptx_open_device): Use
7103 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
7104
94767dac
TV
71052018-08-08 Tom de Vries <tdevries@suse.de>
7106
7107 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
7108 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
7109
02150de8
TV
71102018-08-07 Tom de Vries <tdevries@suse.de>
7111
7112 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
7113 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
7114 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
7115 corresponding call in CUDA_ONE_CALL. Add def/undef of
7116 CUDA_ONE_CALL_MAYBE_NULL.
7117 (CUDA_CALL_EXISTS): Define.
7118
9e28b107
TV
71192018-08-07 Tom de Vries <tdevries@suse.de>
7120
7121 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
7122 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
7123 corresponding undefs right after.
7124
09940090
TV
71252018-08-04 Tom de Vries <tdevries@suse.de>
7126
7127 * plugin/configfrag.ac: For --without-cuda-driver, set
7128 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
7129 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
7130 * configure: Regenerate.
7131
77e0a97a
TV
71322018-08-02 Tom de Vries <tdevries@suse.de>
7133
7134 PR target/86660
7135 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
7136 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
7137 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
7138 Same.
7139 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
7140 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
7141 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
7142
701d080a
CP
71432018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7144 Thomas Schwinge <thomas@codesourcery.com>
7145
7146 * config/nvptx/oacc-parallel.c: Truncate.
7147
094db6be
CP
71482018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7149 James Norris <jnorris@codesourcery.com>
7150
7151 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
7152 (map_init, map_pop): Remove use of struct map.
7153 (map_push): Likewise and change argument list.
094db6be
CP
7154 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
7155
8c6310a2
TV
71562018-08-01 Tom de Vries <tdevries@suse.de>
7157
7158 * plugin/cuda-lib.def: New file. Factor out of ...
7159 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
7160 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
7161 using CUDA_CALLS.
7162
1d4a51cf
AV
71632018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
7164
7165 Revert 'AsyncI/O patch committed'.
7166 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
7167 Thomas Koenig <tkoenig@gcc.gnu.org>
7168
7169 PR fortran/25829
7170 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7171 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7172 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7173 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7174 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7175 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7176 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7177
4cdfee3f
TV
71782018-07-30 Tom de Vries <tdevries@suse.de>
7179
7180 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
7181 (nvptx_exec): Ensure worker and vector default dims don't exceed
7182 targ_fn->max_threads_per_block.
7183
0b210c43
TV
71842018-07-30 Tom de Vries <tdevries@suse.de>
7185
7186 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
7187 (nvptx_open_device): Init default_dims for device.
7188 (nvptx_exec): Use default_dims from device.
7189
5883c5cc
JJ
71902018-07-26 Jakub Jelinek <jakub@redhat.com>
7191
5d36384c
JJ
7192 PR testsuite/86660
7193 * testsuite/libgomp.c++/for-15.C (results): Include it in
7194 omp declare target region.
7195 (main): Use map (always, tofrom: results) instead of
7196 map (tofrom: results).
7197
5883c5cc
JJ
7198 PR middle-end/86660
7199 * testsuite/libgomp.c/pr86660.c: New test.
7200
88a4654d
CP
72012018-07-26 Cesar Philippidis <cesar@codesourcery.com>
7202 Tom de Vries <tdevries@suse.de>
7203
7204 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
7205 sufficient resources to launch a kernel, and give a hint on how to fix
7206 it.
7207
0c6c2f5f
CP
72082018-07-26 Cesar Philippidis <cesar@codesourcery.com>
7209 Tom de Vries <tdevries@suse.de>
7210
7211 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
7212 max_threads_per_block and max_threads_per_multiprocessor fields.
7213 (nvptx_open_device): Initialize new fields.
7214 (nvptx_exec): Use num_sms, and new fields.
7215
6dd58010
TV
72162018-07-26 Tom de Vries <tdevries@suse.de>
7217
7218 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
7219 to correct locations. Remove xfail.
7220
b2eb1779
TV
72212018-07-26 Tom de Vries <tdevries@suse.de>
7222
7223 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
7224 acc_wait. Move acc_async_test calls to correct locations. Remove
7225 xfail.
7226
b1f45884
NK
72272018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
7228 Thomas Koenig <tkoenig@gcc.gnu.org>
7229
7230 PR fortran/25829
7231 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7232 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7233 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7234 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7235 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7236 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7237 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7238
3a106211
JJ
72392018-07-17 Jakub Jelinek <jakub@redhat.com>
7240
a3bccfa1
JJ
7241 PR middle-end/86542
7242 * testsuite/libgomp.c++/pr86542.C: New test.
7243
3a106211
JJ
7244 PR middle-end/86539
7245 * testsuite/libgomp.c++/pr86539.C: New test.
7246
2bae8b2f
JJ
72472018-07-11 Jakub Jelinek <jakub@redhat.com>
7248
7249 PR c++/86443
7250 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
7251 (results): Make sure the variable is not inside declare target region.
7252 (qux): Remove unused function.
7253
0b27c3ed
JJ
72542018-07-10 Jakub Jelinek <jakub@redhat.com>
7255
7256 PR c++/86443
7257 * testsuite/libgomp.c++/for-15.C: New test.
7258
f0391511
JJ
72592018-06-26 Jakub Jelinek <jakub@redhat.com>
7260
7261 PR c++/86291
7262 * testsuite/libgomp.c++/pr86291.C: New test.
7263
1a6d1d24
GP
72642018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
7265
7266 * libgomp.texi (Top): Move www.openmp.org to https.
7267 (Enabling OpenMP): Ditto.
7268 (omp_get_active_level): Ditto.
7269 (omp_get_ancestor_thread_num): Ditto.
7270 (omp_get_cancellation): Ditto.
7271 (omp_get_default_device): Ditto.
7272 (omp_get_dynamic): Ditto.
7273 (omp_get_level): Ditto.
7274 (omp_get_max_active_levels): Ditto.
7275 (omp_get_max_task_priority): Ditto.
7276 (omp_get_max_threads): Ditto.
7277 (omp_get_nested): Ditto.
7278 (omp_get_num_devices): Ditto.
7279 (omp_get_num_procs): Ditto.
7280 (omp_get_num_teams): Ditto.
7281 (omp_get_num_threads): Ditto.
7282 (omp_get_proc_bind): Ditto.
7283 (omp_get_schedule): Ditto.
7284 (omp_get_team_num): Ditto.
7285 (omp_get_team_size): Ditto.
7286 (omp_get_thread_limit): Ditto.
7287 (omp_get_thread_num): Ditto.
7288 (omp_in_parallel): Ditto.
7289 (omp_in_final): Ditto.
7290 (omp_is_initial_device): Ditto.
7291 (omp_set_default_device): Ditto.
7292 (omp_set_dynamic): Ditto.
7293 (omp_set_max_active_levels): Ditto.
7294 (omp_set_nested): Ditto.
7295 (omp_set_num_threads): Ditto.
7296 (omp_set_schedule): Ditto.
7297 (omp_init_lock): Ditto.
7298 (omp_set_lock): Ditto.
7299 (omp_test_lock): Ditto.
7300 (omp_unset_lock): Ditto.
7301 (omp_destroy_lock): Ditto.
7302 (omp_init_nest_lock): Ditto.
7303 (omp_set_nest_lock): Ditto.
7304 (omp_test_nest_lock): Ditto.
7305 (omp_unset_nest_lock): Ditto.
7306 (omp_destroy_nest_lock): Ditto.
7307 (omp_get_wtick): Ditto.
7308 (omp_get_wtime): Ditto.
7309 (OMP_CANCELLATION): Ditto.
7310 (OMP_DISPLAY_ENV): Ditto.
7311 (OMP_DEFAULT_DEVICE): Ditto.
7312 (OMP_DYNAMIC): Ditto.
7313 (OMP_MAX_ACTIVE_LEVELS): Ditto.
7314 (OMP_MAX_TASK_PRIORITY): Ditto.
7315 (OMP_NESTED): Ditto.
7316 (OMP_NUM_THREADS): Ditto.
7317 (OMP_PROC_BIND): Ditto.
7318 (OMP_PLACES): Ditto.
7319 (OMP_STACKSIZE): Ditto.
7320 (OMP_SCHEDULE): Ditto.
7321 (OMP_THREAD_LIMIT): Ditto.
7322 (OMP_WAIT_POLICY): Ditto.
7323
31dd69b7
CP
73242018-06-22 Cesar Philippidis <cesar@codesourcery.com>
7325 James Norris <jnorris@codesourcery.com>
7326 Julian Brown <julian@codesourcery.com>
7327 Thomas Schwinge <thomas@codesourcery.com>
7328 Tom de Vries <tom@codesourcery.com>
7329
7330 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
7331 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
7332 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
7333 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
7334 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7335 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7336 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
7337 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
7338 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
7339 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
7340 Likewise.
7341 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7342 Likewise.
7343 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7344 Likewise.
7345 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
7346 Likewise.
7347 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
7348 Likewise.
7349 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7350 Likewise.
7351 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
7352 Likewise.
7353 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
7354 Likewise.
7355 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
7356 Likewise.
7357 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
7358 Likewise.
7359 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
7360 Likewise.
7361 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
7362 Likewise.
7363 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
7364 Likewise.
7365 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
7366 Likewise.
7367 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
7368 Likewise.
7369 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
7370 Likewise.
7371 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
7372 Likewise.
7373 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
7374 Likewise.
7375 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
7376 Likewise.
7377 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
7378 Likewise.
7379 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
7380 Likewise.
7381 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
7382 Likewise.
7383 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
7384 Likewise.
7385 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
7386 Likewise.
7387 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
7388 Likewise.
7389 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
7390 Likewise.
7391 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
7392 Likewise.
7393 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
7394 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
7395 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
7396 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
7397 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
7398 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
7399 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
7400 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
7401 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
7402 Likewise.
7403 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
7404 Likewise.
7405 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
7406 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
7407 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
7408 Likewise.
7409 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
7410 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
7411 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
7412 Likewise.
7413 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
7414 Likewise.
7415 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
7416 Likewise.
7417 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
7418 Likewise.
7419 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
7420 Likewise.
7421 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
7422 Likewise.
7423 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
7424 Likewise.
7425 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
7426 Likewise.
7427 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
7428 Likewise.
7429 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
7430 Likewise.
7431 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
7432 Likewise.
7433 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
7434 Likewise.
7435 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
7436 Likewise.
7437 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
7438 Likewise.
7439 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
7440 Likewise.
7441 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
7442 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
7443 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
7444 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
7445 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
7446 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
7447 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
7448
829c6349
CLT
74492018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
7450 Thomas Schwinge <thomas@codesourcery.com>
7451 Cesar Philippidis <cesar@codesourcery.com>
7452
7453 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
7454 (gomp_acc_remove_pointer): Update declaration.
7455 (gomp_acc_declare_allocate): Declare.
7456 (gomp_remove_var): Declare.
7457 * libgomp.map (OACC_2.5): Define.
7458 * oacc-mem.c (acc_map_data): Update refcount.
7459 (acc_unmap_data): Likewise.
7460 (present_create_copy): Likewise.
7461 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
7462 (acc_copyin): Likewise.
7463 (FLAG_FINALIZE): Define.
7464 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
7465 (acc_delete_finalize): New function.
7466 (acc_delete_finalize_async): New function.
7467 (acc_copyout_finalize): New function.
7468 (acc_copyout_finalize_async): New function.
7469 (gomp_acc_insert_pointer): Update refcounts.
7470 (gomp_acc_remove_pointer): Return if data is not present on the
7471 accelerator.
7472 * oacc-parallel.c (find_pset): Rename to find_pointer.
7473 (find_pointer): Add support for GOMP_MAP_POINTER.
7474 (handle_ftn_pointers): New function.
7475 (GOACC_parallel_keyed): Update refcounts of variables.
7476 (GOACC_enter_exit_data): Add support for finalized data mappings.
7477 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
7478 of fortran arrays.
7479 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
7480 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
7481 for GOMP_MAP_FORCE_FROM.
7482 * openacc.f90 (module openacc_internal): Add
7483 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
7484 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
7485 acc_copyout_finalize and acc_delete_finalize.
7486 (acc_copyout_finalize_32_h): New subroutine.
7487 (acc_copyout_finalize_64_h): New subroutine.
7488 (acc_copyout_finalize_array_h): New subroutine.
7489 (acc_delete_finalize_32_h): New subroutine.
7490 (acc_delete_finalize_64_h): New subroutine.
7491 (acc_delete_finalize_array_h): New subroutine.
7492 * openacc.h (acc_copyout_finalize): Declare.
7493 (acc_copyout_finalize_async): Declare.
7494 (acc_delete_finalize): Declare.
7495 (acc_delete_finalize_async): Declare.
7496 * openacc_lib.h (acc_copyout_finalize): New interface.
7497 (acc_delete_finalize): New interface.
7498 * target.c (gomp_map_vars): Update dynamic_refcount.
7499 (gomp_remove_var): New function.
7500 (gomp_unmap_vars): Use it.
7501 (gomp_unload_image_from_device): Likewise.
7502 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
7503 case to utilize OpenACC 2.5 data clause semantics.
7504 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7505 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7506 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7507 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7508 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7509 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7510 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7511 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7512 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7513 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7514 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7515 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
7516 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
7517 utilize OpenACC 2.5 data clause semantics.
7518 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7519 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7520 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7521 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7522 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7523 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7524 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7525 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7526 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7527
4358400b
JW
75282018-05-21 Janus Weil <janus@gcc.gnu.org>
7529
7530 PR fortran/85841
7531 PR testsuite/85865
7532 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
7533 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
7534 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
7535 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
7536 * testsuite/libgomp.fortran/task2.f90: Ditto.
7537 * testsuite/libgomp.fortran/vla1.f90: Ditto.
7538 * testsuite/libgomp.fortran/vla2.f90: Ditto.
7539 * testsuite/libgomp.fortran/vla3.f90: Ditto.
7540 * testsuite/libgomp.fortran/vla4.f90: Ditto.
7541 * testsuite/libgomp.fortran/vla5.f90: Ditto.
7542 * testsuite/libgomp.fortran/vla6.f90: Ditto.
7543 * testsuite/libgomp.fortran/vla8.f90: Ditto.
7544 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
7545 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
7546
950ad0ba
CP
75472018-05-18 Cesar Philippidis <cesar@codesourcery.com>
7548
7549 PR c++/85782
7550 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
7551
f5ad16f1
TV
75522018-05-09 Tom de Vries <tom@codesourcery.com>
7553
7554 PR libgomp/82901
7555 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
7556 to GOACC_enter_exit_data.
7557
edbd038a
TV
75582018-05-09 Tom de Vries <tom@codesourcery.com>
7559
7560 PR libgomp/83792
7561 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
7562 (async_synchronous_p): New function.
7563 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
7564 async_valid_p.
7565 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
7566 async_valid_stream_id_p.
7567 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
7568 * oacc-parallel.c (GOACC_parallel_keyed): Same.
7569
37d6c719
TV
75702018-05-07 Tom de Vries <tom@codesourcery.com>
7571
7572 PR testsuite/85677
7573 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
7574 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
7575
63f12215
TV
75762018-05-03 Tom de Vries <tom@codesourcery.com>
7577
7578 PR testsuite/85106
7579 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
7580 extra_tool_flags if it contains an -foffload=-fdump-* flag.
7581 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
7582 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
7583
ec00d3fa
TV
75842018-05-02 Tom de Vries <tom@codesourcery.com>
7585
7586 PR libgomp/85411
7587 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
7588 GOMP_OPENACC_DIM ...
7589 * env.c (parse_gomp_openacc_dim): ... here. New function.
7590 (initialize_env): Call parse_gomp_openacc_dim.
7591 (goacc_default_dims): Define.
7592 * libgomp.h (goacc_default_dims): Declare.
7593 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
7594 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
7595 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
7596 GOMP_PLUGIN_acc_default_dim.
7597 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
7598 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
7599
92243e7c
TV
76002018-05-02 Tom de Vries <tom@codesourcery.com>
7601
7602 PR testsuite/83791
7603 * testsuite/libgomp.c++/udr-9.C: Update.
7604 * testsuite/libgomp.c++/atomic-16.C: Remove.
7605 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
7606 * testsuite/libgomp.c++/loop-13.C: Remove.
7607 * testsuite/libgomp.c++/loop-14.C: Remove.
7608 * testsuite/libgomp.c++/loop-15.C: Remove.
7609 * testsuite/libgomp.c++/monotonic-1.C: Remove.
7610 * testsuite/libgomp.c++/monotonic-2.C: Remove.
7611 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
7612 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
7613 * testsuite/libgomp.c++/ordered-1.C: Remove.
7614 * testsuite/libgomp.c++/pr45784.C: Remove.
7615 * testsuite/libgomp.c++/pr64824.C: Remove.
7616 * testsuite/libgomp.c++/pr64868.C: Remove.
7617 * testsuite/libgomp.c++/pr66199-1.C: Remove.
7618 * testsuite/libgomp.c++/pr66199-2.C: Remove.
7619 * testsuite/libgomp.c++/pr66199-3.C: Remove.
7620 * testsuite/libgomp.c++/pr66199-4.C: Remove.
7621 * testsuite/libgomp.c++/pr66199-5.C: Remove.
7622 * testsuite/libgomp.c++/pr66199-6.C: Remove.
7623 * testsuite/libgomp.c++/pr66199-7.C: Remove.
7624 * testsuite/libgomp.c++/pr66199-8.C: Remove.
7625 * testsuite/libgomp.c++/pr66199-9.C: Remove.
7626 * testsuite/libgomp.c++/pr69389.C: Remove.
7627 * testsuite/libgomp.c++/simd10.C: Remove.
7628 * testsuite/libgomp.c++/simd11.C: Remove.
7629 * testsuite/libgomp.c++/simd12.C: Remove.
7630 * testsuite/libgomp.c++/simd13.C: Remove.
7631 * testsuite/libgomp.c++/target-1.C: Remove.
7632 * testsuite/libgomp.c++/target-3.C: Remove.
7633 * testsuite/libgomp.c++/target-4.C: Remove.
7634 * testsuite/libgomp.c++/target-5.C: Remove.
7635 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
7636 * testsuite/libgomp.c++/taskloop-1.C: Remove.
7637 * testsuite/libgomp.c++/taskloop-2.C: Remove.
7638 * testsuite/libgomp.c++/taskloop-3.C: Remove.
7639 * testsuite/libgomp.c++/taskloop-4.C: Remove.
7640 * testsuite/libgomp.c++/udr-9.C: Remove.
7641 * testsuite/libgomp.c++/for-10.C: Remove.
7642 * testsuite/libgomp.c++/for-11.C: Remove.
7643 * testsuite/libgomp.c++/for-12.C: Remove.
7644 * testsuite/libgomp.c++/for-13.C: Remove.
7645 * testsuite/libgomp.c++/for-14.C: Remove.
7646 * testsuite/libgomp.c++/for-9.C: Remove.
7647 * testsuite/libgomp.c/atomic-18.c: Move ...
7648 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
7649 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
7650 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
7651 * testsuite/libgomp.c/loop-13.c: Move ...
7652 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
7653 * testsuite/libgomp.c/loop-14.c: Move ...
7654 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
7655 * testsuite/libgomp.c/loop-15.c: Remove.
7656 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
7657 * testsuite/libgomp.c/monotonic-1.c: Move ...
7658 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
7659 * testsuite/libgomp.c/monotonic-2.c: Move ...
7660 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
7661 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
7662 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
7663 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
7664 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
7665 * testsuite/libgomp.c/ordered-4.c: Move ...
7666 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
7667 * testsuite/libgomp.c/pr45784.c: Move ...
7668 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
7669 * testsuite/libgomp.c/pr64824.c: Move ...
7670 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
7671 * testsuite/libgomp.c/pr64868.c: Move ...
7672 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
7673 * testsuite/libgomp.c/pr66199-1.c: Move ...
7674 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
7675 * testsuite/libgomp.c/pr66199-2.c: Move ...
7676 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
7677 * testsuite/libgomp.c/pr66199-3.c: Move ...
7678 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
7679 * testsuite/libgomp.c/pr66199-4.c: Move ...
7680 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
7681 * testsuite/libgomp.c/pr66199-5.c: Move ...
7682 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
7683 * testsuite/libgomp.c/pr66199-6.c: Move ...
7684 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
7685 * testsuite/libgomp.c/pr66199-7.c: Move ...
7686 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
7687 * testsuite/libgomp.c/pr66199-8.c: Move ...
7688 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
7689 * testsuite/libgomp.c/pr66199-9.c: Move ...
7690 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
7691 * testsuite/libgomp.c/pr69389.c: Move ...
7692 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
7693 * testsuite/libgomp.c/simd-14.c: Move ...
7694 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
7695 * testsuite/libgomp.c/simd-15.c: Move ...
7696 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
7697 * testsuite/libgomp.c/simd-16.c: Move ...
7698 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
7699 * testsuite/libgomp.c/simd-17.c: Move ...
7700 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
7701 * testsuite/libgomp.c/target-1.c: Move ...
7702 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
7703 * testsuite/libgomp.c/target-10.c: Move ...
7704 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
7705 * testsuite/libgomp.c/target-13.c: Move ...
7706 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
7707 * testsuite/libgomp.c/target-2.c: Move ...
7708 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
7709 * testsuite/libgomp.c/taskgroup-1.c: Move ...
7710 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
7711 * testsuite/libgomp.c/taskloop-1.c: Move ...
7712 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
7713 * testsuite/libgomp.c/taskloop-2.c: Move ...
7714 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
7715 * testsuite/libgomp.c/taskloop-3.c: Move ...
7716 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
7717 * testsuite/libgomp.c/taskloop-4.c: Move ...
7718 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
7719 * testsuite/libgomp.c/udr-1.c: Move ...
7720 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
7721 * testsuite/libgomp.c/for-1.c: Move ...
7722 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
7723 * testsuite/libgomp.c/for-1.h: Move ...
7724 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
7725 * testsuite/libgomp.c/for-2.c: Move ...
7726 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
7727 * testsuite/libgomp.c/for-2.h: Move ...
7728 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
7729 * testsuite/libgomp.c/for-3.c: Move ...
7730 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
7731 * testsuite/libgomp.c/for-4.c: Move ...
7732 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
7733 * testsuite/libgomp.c/for-5.c: Move ...
7734 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
7735 * testsuite/libgomp.c/for-6.c: Move ...
7736 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
7737
1f62d637
TV
77382018-05-02 Tom de Vries <tom@codesourcery.com>
7739
7740 PR libgomp/82428
7741 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
7742 __builtin_goacc_parlevel_{id,size}.
7743 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
7744 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
7745 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
7746 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
7747 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
7748 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
7749 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
7750 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
7751 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
7752 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
7753 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
7754 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
7755 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
7756 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
7757 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
7758 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
7759 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
7760 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
7761 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
7762 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
7763 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
7764 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
7765 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
7766
9220b511
TV
77672018-05-02 Tom de Vries <tom@codesourcery.com>
7768
7769 PR testsuite/85106
7770 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
7771
6c3c13c1
TV
77722018-05-02 Tom de Vries <tom@codesourcery.com>
7773
7774 PR testsuite/85106
7775 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
7776
8d70b61e
JB
77772018-04-29 Julian Brown <julian@codesourcery.com>
7778 Tom de Vries <tom@codesourcery.com>
7779
7780 PR testsuite/85527
7781 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
7782 arbitrary order for iterations of atomic subtract check.
7783
4a57a4b6
TV
77842018-04-28 Tom de Vries <tom@codesourcery.com>
7785
7786 PR testsuite/85527
7787 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
7788 atomic capture results obtained in parallel loop to an array, instead of
7789 to a scalar.
7790
df36a3d3
TV
77912018-04-26 Tom de Vries <tom@codesourcery.com>
7792
7793 PR libgomp/84020
7794 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
7795 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
7796 (process_GOMP_NVPTX_JIT): New function.
7797 (link_ptx): Use process_GOMP_NVPTX_JIT.
7798
d160ae78
RB
77992018-04-26 Richard Biener <rguenther@suse.de>
7800 Tom de Vries <tom@codesourcery.com>
7801
7802 PR lto/85422
7803 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
7804
ca9dc642
TV
78052018-04-26 Tom de Vries <tom@codesourcery.com>
7806
7807 PR target/85519
7808 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
7809 recursion depth from 25 to 23.
7810 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
7811
7b47ecf2
L
78122018-04-24 H.J. Lu <hongjiu.lu@intel.com>
7813
7814 * configure: Regenerated.
7815
e91eba31
NS
78162018-04-20 Nathan Sidwell <nathan@codesourcery.com>
7817 Tom de Vries <tom@codesourcery.com>
7818
7819 PR target/85445
7820 * testsuite/libgomp.oacc-c++/ref-1.C: New.
7821
6e0d40b6
TS
78222018-04-19 Thomas Schwinge <thomas@codesourcery.com>
7823
7824 PR libgomp/85463
7825 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
7826 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7827 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7828 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7829 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7830 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7831
7832 PR libfortran/85166
7833 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
7834 abort".
7835 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7836
a0e1df88
JJ
78372018-04-19 Jakub Jelinek <jakub@redhat.com>
7838
7839 * configure: Regenerated.
7840
001ddaa8
DM
78412018-04-18 David Malcolm <dmalcolm@redhat.com>
7842
7843 PR jit/85384
7844 * configure: Regenerate.
7845
05e0af43
CP
78462018-04-16 Cesar Philippidis <cesar@codesourcery.com>
7847 Tom de Vries <tom@codesourcery.com>
7848
7849 PR middle-end/84955
7850 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
7851 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
7852
bc436e10
TK
78532018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
7854
7855 PR fortran/83064
7856 PR testsuite/85346
7857 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
7858 test from gfortran.dg to here.
7859
ffb164c7
JJ
78602018-04-12 Cesar Philippidis <cesar@codesourcery.com>
7861
7862 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
7863 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
7864
78652018-04-12 Cesar Philippidis <cesar@codesourcery.com>
7866
7867 PR middle-end/84955
7868 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
7869 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
7870
2ba16fd2
TV
78712018-04-05 Tom de Vries <tom@codesourcery.com>
7872
7873 PR target/85204
7874 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
7875
46dbeb40
TV
78762018-03-26 Tom de Vries <tom@codesourcery.com>
7877
7878 PR tree-optimization/85063
7879 * testsuite/libgomp.c/switch-conversion-2.c: New test.
7880 * testsuite/libgomp.c/switch-conversion.c: New test.
7881 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
7882 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
7883
bfc24e32
TK
78842018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
7885
7886 PR fortran/84381
7887 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
7888 call abort by STOP n.
7889 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
7890 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
7891 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
7892 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
7893 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
7894 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
7895 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
7896 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
7897 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
7898 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
7899 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
7900 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
7901 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
7902 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
7903 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
7904 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
7905 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
7906 * testsuite/libgomp.fortran/associate1.f90: Likewise.
7907 * testsuite/libgomp.fortran/associate2.f90: Likewise.
7908 * testsuite/libgomp.fortran/associate3.f90: Likewise.
7909 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
7910 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
7911 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
7912 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
7913 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
7914 * testsuite/libgomp.fortran/character1.f90: Likewise.
7915 * testsuite/libgomp.fortran/character2.f90: Likewise.
7916 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
7917 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
7918 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
7919 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
7920 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
7921 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
7922 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
7923 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
7924 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
7925 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
7926 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
7927 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
7928 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
7929 * testsuite/libgomp.fortran/do1.f90: Likewise.
7930 * testsuite/libgomp.fortran/do2.f90: Likewise.
7931 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
7932 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
7933 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
7934 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
7935 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
7936 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
7937 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
7938 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
7939 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
7940 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
7941 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
7942 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
7943 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
7944 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
7945 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
7946 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
7947 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
7948 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
7949 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
7950 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
7951 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
7952 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
7953 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
7954 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
7955 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
7956 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
7957 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
7958 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
7959 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
7960 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
7961 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
7962 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
7963 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
7964 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
7965 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
7966 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
7967 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
7968 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
7969 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
7970 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
7971 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
7972 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
7973 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
7974 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
7975 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
7976 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
7977 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
7978 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
7979 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
7980 * testsuite/libgomp.fortran/lib1.f90: Likewise.
7981 * testsuite/libgomp.fortran/lib2.f: Likewise.
7982 * testsuite/libgomp.fortran/lib3.f: Likewise.
7983 * testsuite/libgomp.fortran/lib4.f90: Likewise.
7984 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
7985 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
7986 * testsuite/libgomp.fortran/nested1.f90: Likewise.
7987 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
7988 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
7989 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
7990 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
7991 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
7992 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
7993 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
7994 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
7995 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
7996 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
7997 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
7998 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
7999 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
8000 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
8001 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
8002 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
8003 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
8004 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
8005 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
8006 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8007 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
8008 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
8009 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
8010 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
8011 * testsuite/libgomp.fortran/pr25162.f: Likewise.
8012 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
8013 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
8014 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
8015 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
8016 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
8017 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
8018 * testsuite/libgomp.fortran/pr28390.f: Likewise.
8019 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
8020 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
8021 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
8022 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
8023 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
8024 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
8025 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
8026 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
8027 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
8028 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
8029 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
8030 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
8031 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
8032 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
8033 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
8034 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
8035 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
8036 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
8037 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
8038 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
8039 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
8040 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
8041 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
8042 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
8043 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
8044 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8045 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
8046 * testsuite/libgomp.fortran/reference1.f90: Likewise.
8047 * testsuite/libgomp.fortran/reference2.f90: Likewise.
8048 * testsuite/libgomp.fortran/retval1.f90: Likewise.
8049 * testsuite/libgomp.fortran/retval2.f90: Likewise.
8050 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
8051 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
8052 * testsuite/libgomp.fortran/simd1.f90: Likewise.
8053 * testsuite/libgomp.fortran/simd2.f90: Likewise.
8054 * testsuite/libgomp.fortran/simd3.f90: Likewise.
8055 * testsuite/libgomp.fortran/simd4.f90: Likewise.
8056 * testsuite/libgomp.fortran/simd5.f90: Likewise.
8057 * testsuite/libgomp.fortran/simd6.f90: Likewise.
8058 * testsuite/libgomp.fortran/simd7.f90: Likewise.
8059 * testsuite/libgomp.fortran/stack.f90: Likewise.
8060 * testsuite/libgomp.fortran/strassen.f90: Likewise.
8061 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
8062 * testsuite/libgomp.fortran/tabs2.f: Likewise.
8063 * testsuite/libgomp.fortran/target1.f90: Likewise.
8064 * testsuite/libgomp.fortran/target2.f90: Likewise.
8065 * testsuite/libgomp.fortran/target3.f90: Likewise.
8066 * testsuite/libgomp.fortran/target4.f90: Likewise.
8067 * testsuite/libgomp.fortran/target5.f90: Likewise.
8068 * testsuite/libgomp.fortran/target6.f90: Likewise.
8069 * testsuite/libgomp.fortran/target7.f90: Likewise.
8070 * testsuite/libgomp.fortran/target8.f90: Likewise.
8071 * testsuite/libgomp.fortran/task1.f90: Likewise.
8072 * testsuite/libgomp.fortran/task2.f90: Likewise.
8073 * testsuite/libgomp.fortran/task3.f90: Likewise.
8074 * testsuite/libgomp.fortran/task4.f90: Likewise.
8075 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
8076 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
8077 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
8078 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
8079 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
8080 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8081 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8082 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8083 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
8084 * testsuite/libgomp.fortran/udr1.f90: Likewise.
8085 * testsuite/libgomp.fortran/udr10.f90: Likewise.
8086 * testsuite/libgomp.fortran/udr11.f90: Likewise.
8087 * testsuite/libgomp.fortran/udr12.f90: Likewise.
8088 * testsuite/libgomp.fortran/udr13.f90: Likewise.
8089 * testsuite/libgomp.fortran/udr14.f90: Likewise.
8090 * testsuite/libgomp.fortran/udr15.f90: Likewise.
8091 * testsuite/libgomp.fortran/udr2.f90: Likewise.
8092 * testsuite/libgomp.fortran/udr3.f90: Likewise.
8093 * testsuite/libgomp.fortran/udr4.f90: Likewise.
8094 * testsuite/libgomp.fortran/udr5.f90: Likewise.
8095 * testsuite/libgomp.fortran/udr6.f90: Likewise.
8096 * testsuite/libgomp.fortran/udr7.f90: Likewise.
8097 * testsuite/libgomp.fortran/udr8.f90: Likewise.
8098 * testsuite/libgomp.fortran/udr9.f90: Likewise.
8099 * testsuite/libgomp.fortran/vla1.f90: Likewise.
8100 * testsuite/libgomp.fortran/vla2.f90: Likewise.
8101 * testsuite/libgomp.fortran/vla3.f90: Likewise.
8102 * testsuite/libgomp.fortran/vla4.f90: Likewise.
8103 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8104 * testsuite/libgomp.fortran/vla6.f90: Likewise.
8105 * testsuite/libgomp.fortran/vla7.f90: Likewise.
8106 * testsuite/libgomp.fortran/vla8.f90: Likewise.
8107 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
8108 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
8109 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8110 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8111 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8112 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8113 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8114 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8115 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8116 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8117 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8118 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
8119 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8120 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
8121 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8122 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8123 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8124 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8125 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8126 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8127 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8128 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8129 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8130 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
8131 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
8132 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8133 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8134 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8135 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8136 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8137 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8138 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8139 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8140 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8141 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8142 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8143 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8144 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8145 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
8146 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8147 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
8148 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8149 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
8150 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
8151 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
8152 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
8153 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8154 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8155 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8156 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8157 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8158 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8159 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8160 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8161 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8162 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8163 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8164 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8165 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8166 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8167 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8168 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8169 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8170 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8171 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8172 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8173 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
8174 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8175 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
8176 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8177 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
8178 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
8179 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
8180 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
8181 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8182 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8183 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8184 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8185 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8186 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8187 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8188 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8189 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
8190 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
8191 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8192 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8193 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8194 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8195 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
8196 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
8197 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
8198 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8199 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8200 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
8201
79cf14ae
RB
82022018-03-20 Richard Biener <rguenther@suse.de>
8203
8204 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
8205 parallelizable loop.
8206
14e335ed
IT
82072018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
8208
8209 PR target/84148
8210 * configure: Regenerate.
8211
83d9be55
JJ
82122018-02-16 Jakub Jelinek <jakub@redhat.com>
8213
8214 PR fortran/84418
8215 * libgomp.fortran/pr84418-1.f90: New test.
8216 * libgomp.fortran/pr84418-2.f90: New test.
8217
d1fe6124
JJ
82182018-02-14 Jakub Jelinek <jakub@redhat.com>
8219
8220 PR fortran/84313
8221 * testsuite/libgomp.fortran/threadprivate4.f90: Add
8222 -std=f2003 -fall-intrinsics into dg-additional-options.
8223
3d224921
MJ
82242018-02-08 Martin Jambor <mjambor@suse.cz>
8225
8226 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
8227 clonable.
8228
c7c30edd
MJ
82292018-02-08 Martin Jambor <mjambor@suse.cz>
8230
8231 * testsuite/libgomp.hsa.c/staticvar.c: New test.
8232
f320fdfd
RO
82332018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8234
8235 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
8236 [__cplusplus]: Declare extern "C".
8237
c31bc4ac
TV
82382018-02-07 Tom de Vries <tom@codesourcery.com>
8239
8240 PR libgomp/84217
8241 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
8242
99ae7ce5
CS
82432018-01-29 Christoph Spiel <cspiel@freenet.de>
8244 Jakub Jelinek <jakub@redhat.com>
8245
8246 PR libgomp/84096
8247 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
8248 instead of omp_lock_t.
8249
e77a1236
TV
82502018-01-25 Tom de Vries <tom@codesourcery.com>
8251
8252 PR target/84028
8253 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
8254
3dede32b
TV
82552018-01-24 Tom de Vries <tom@codesourcery.com>
8256
8257 PR target/83589
8258 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
8259
be606483
TV
82602018-01-24 Tom de Vries <tom@codesourcery.com>
8261
8262 PR target/81352
8263 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
8264
8c8e9a6b
TV
82652018-01-19 Tom de Vries <tom@codesourcery.com>
8266 Cesar Philippidis <cesar@codesourcery.com>
8267
8268 PR target/83920
8269 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
8270 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
8271
65e6aea3
JJ
82722018-01-03 Jakub Jelinek <jakub@redhat.com>
8273
85ec4feb
JJ
8274 Update copyright years.
8275
65e6aea3
JJ
8276 * libgomp.texi: Bump @copying's copyright year.
8277
60bf575c
TV
82782017-12-30 Tom de Vries <tom@codesourcery.com>
8279
8280 PR libgomp/83046
8281 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
8282 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
8283
7ec16b79
TV
82842017-12-27 Tom de Vries <tom@codesourcery.com>
8285
8286 PR c++/83046
8287 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
8288 (test_nonstatic): Fix return type to workaround PR83046.
8289
ac550b9a
JJ
82902017-12-05 Jakub Jelinek <jakub@redhat.com>
8291
8292 PR testsuite/83281
8293 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
8294 j suffix instead of i.
8295 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
8296 Likewise.
8297
ebdc83f0
CP
82982017-12-01 Cesar Philippidis <cesar@codesourcery.com>
8299
8300 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
8301 call to acc_wait (1).
8302
3b3e6283
JJ
83032017-11-24 Jakub Jelinek <jakub@redhat.com>
8304
8305 PR fortran/81304
8306 * testsuite/libgomp.fortran/pr81304.f90: New test.
8307
3b575376
JJ
83082017-11-23 Jakub Jelinek <jakub@redhat.com>
8309
8310 PR fortran/81841
8311 * libgomp.fortran/pr81841.f90: New test.
8312
b13547d8
JJ
83132017-11-22 Jakub Jelinek <jakub@redhat.com>
8314
8315 PR libgomp/83106
8316 * target.c (gomp_target_init): Compute lengths just once and
8317 use them in both malloc size and subsequent copying.
8318
efe33ced
IT
83192017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
8320
8321 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
8322 * acinclude.m4: Add cet.m4.
8323 * configure: Regenerate.
8324 * Makefile.in: Likewise.
8325 * testsuite/Makefile.in: Likewise.
8326
a7cf2612
TV
83272017-11-15 Tom de Vries <tom@codesourcery.com>
8328
8329 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
8330 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
8331 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
8332 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
8333 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
8334 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
8335
dde76623
TV
83362017-11-14 Tom de Vries <tom@codesourcery.com>
8337
8338 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
8339 non-nvidia devices.
8340
4dbeb716
JJ
83412017-11-07 Jakub Jelinek <jakub@redhat.com>
8342
8343 PR c++/82835
8344 * testsuite/libgomp.c++/pr82835.C: New test.
8345
454f8b2b
ML
83462017-11-06 Martin Liska <mliska@suse.cz>
8347
8348 * testsuite/libgomp.c++/loop-2.C: Return a value
8349 for functions with non-void return type, or change type to void,
8350 or add -Wno-return-type for test.
8351 * testsuite/libgomp.c++/loop-4.C: Likewise.
8352 * testsuite/libgomp.c++/parallel-1.C: Likewise.
8353 * testsuite/libgomp.c++/shared-1.C: Likewise.
8354 * testsuite/libgomp.c++/single-1.C: Likewise.
8355 * testsuite/libgomp.c++/single-2.C: Likewise.
8356
12e9c8ce
TV
83572017-10-31 Tom de Vries <tom@codesourcery.com>
8358
8359 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
8360 "do {} while (false)".
8361 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
8362 after HSA_DEBUG call.
8363
7324369a
JJ
83642017-10-28 Jakub Jelinek <jakub@redhat.com>
8365
8366 * target.c (struct gomp_coalesce_buf): New type.
8367 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
8368 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
8369 (gomp_copy_host2dev): Add CBUF argument, if copying into
8370 the cached ranges, memcpy into buffer instead of copying
8371 into device.
8372 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
8373 Add CBUF argument, pass it through to other calls.
8374 (gomp_map_vars): Aggregate copies from host to device if small enough
8375 and with small enough gaps in between into memcpy into a buffer and
8376 fewer host to device copies from the buffer.
8377 (gomp_update): Adjust gomp_copy_host2dev caller.
8378
933ab0e6
TS
83792017-10-17 Thomas Schwinge <thomas@codesourcery.com>
8380
8381 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
8382 run" directive.
8383 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8384 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8385 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8386 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8387
92d5d01a
TV
83882017-10-16 Tom de Vries <tom@codesourcery.com>
8389
8390 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
8391 openacc_nvidia_accel_selected.
8392 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
8393 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
8394 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
8395 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
8396 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
8397 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
8398 openacc_nvidia_accel_selected. Skip for shared memory device.
8399 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
8400 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
8401
191411e4
MJ
84022017-10-09 Martin Jambor <mjambor@suse.cz>
8403
8404 PR hsa/82416
8405 * testsuite/libgomp.hsa.c/pr82416.c: New test.
8406
e923330e
TV
84072017-10-07 Tom de Vries <tom@codesourcery.com>
8408
8409 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
8410 Remove acc_device_nvidia references.
8411 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
8412 Same.
8413
8fe3ed4c
TV
84142017-10-05 Tom de Vries <tom@codesourcery.com>
8415
8416 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
8417 vector_length(32) clause from acc parallel directive.
8418 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
8419
26596ee5
TV
84202017-10-04 Tom de Vries <tom@codesourcery.com>
8421
8422 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
8423 (main): Reduce sum of arr elements. Assert that hres is exactly
8424 representable in 32-bit floating point.
8425 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
8426 (main): Reduce sum of arr elements. Assert that hres and hmres are
8427 exactly representable in 32-bit floating point.
8428 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
8429
5c561fa9
TV
84302017-09-28 Tom de Vries <tom@codesourcery.com>
8431
8432 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
8433 setting.
8434 * testsuite/libgomp.c++/pr69393.C: Same.
8435 * testsuite/libgomp.c++/taskloop-1.C: Same.
8436 * testsuite/libgomp.c++/taskloop-3.C: Same.
8437 * testsuite/libgomp.c++/taskloop-4.C: Same.
8438 * testsuite/libgomp.c/for-4.c: Same.
8439 * testsuite/libgomp.c/pr66199-3.c: Same.
8440 * testsuite/libgomp.c/pr66199-4.c: Same.
8441 * testsuite/libgomp.c/pr66199-6.c: Same.
8442 * testsuite/libgomp.c/taskloop-1.c: Same.
8443 * testsuite/libgomp.c/taskloop-3.c: Same.
8444 * testsuite/libgomp.c/taskloop-4.c: Same.
8445 * testsuite/libgomp.fortran/aligned1.f03: Same.
8446 * testsuite/libgomp.fortran/condinc1.f: Same.
8447 * testsuite/libgomp.fortran/condinc3.f90: Same.
8448 * testsuite/libgomp.fortran/crayptr1.f90: Same.
8449 * testsuite/libgomp.fortran/crayptr2.f90: Same.
8450 * testsuite/libgomp.fortran/crayptr3.f90: Same.
8451 * testsuite/libgomp.fortran/omp_cond1.f: Same.
8452 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
8453 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
8454 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
8455 * testsuite/libgomp.fortran/recursion1.f90: Same.
8456 * testsuite/libgomp.fortran/target2.f90: Same.
8457 * testsuite/libgomp.fortran/target5.f90: Same.
8458 * testsuite/libgomp.fortran/task3.f90: Same.
8459
7d6206fe
TV
84602017-09-28 Tom de Vries <tom@codesourcery.com>
8461
8462 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
8463 vector_length(32) clause from acc parallel directive.
8464 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
8465
84c8627c
TV
84662017-09-27 Tom de Vries <tom@codesourcery.com>
8467
8468 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
8469 Remove acc_device_nvidia references.
8470
ebc6a85e
TV
84712017-09-16 Tom de Vries <tom@codesourcery.com>
8472
8473 PR c/81875
8474 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
8475
82419efb
TV
84762017-09-14 Tom de Vries <tom@codesourcery.com>
8477
8478 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
8479 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
8480 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
8481 * testsuite/libgomp.c/c.exp: Include test-cases from
8482 libgomp.c-c++-common.
8483 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
8484 files.
8485
8b586510
JJ
84862017-09-14 Jakub Jelinek <jakub@redhat.com>
8487
8488 PR c++/81314
8489 * testsuite/libgomp.c++/pr81314.C: New test.
8490
9651fbaf
GP
84912017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
8492
8493 * libgomp.texi (Top): www.openacc.org now uses https.
8494 (Enabling OpenACC): Ditto.
8495 (acc_get_num_devices): Ditto.
8496 (acc_set_device_type): Ditto.
8497 (acc_get_device_type): Ditto.
8498 (acc_set_device_num): Ditto.
8499 (acc_get_device_num): Ditto.
8500 (acc_async_test): Ditto.
8501 (acc_async_test_all): Ditto.
8502 (acc_wait): Ditto.
8503 (acc_wait_all): Ditto.
8504 (acc_wait_all_async): Ditto.
8505 (acc_wait_async): Ditto.
8506 (acc_init): Ditto.
8507 (acc_shutdown): Ditto.
8508 (acc_on_device): Ditto.
8509 (acc_malloc): Ditto.
8510 (acc_free): Ditto.
8511 (acc_copyin): Ditto.
8512 (acc_present_or_copyin): Ditto.
8513 (acc_create): Ditto.
8514 (acc_present_or_create): Ditto.
8515 (acc_copyout): Ditto.
8516 (acc_delete): Ditto.
8517 (acc_update_device): Ditto.
8518 (acc_update_self): Ditto.
8519 (acc_map_data): Ditto.
8520 (acc_unmap_data): Ditto.
8521 (acc_deviceptr): Ditto.
8522 (acc_hostptr): Ditto.
8523 (acc_is_present): Ditto.
8524 (acc_memcpy_to_device): Ditto.
8525 (acc_memcpy_from_device): Ditto.
8526 (acc_get_current_cuda_device): Ditto.
8527 (acc_get_current_cuda_context): Ditto.
8528 (acc_get_cuda_stream): Ditto.
8529 (acc_set_cuda_stream): Ditto.
8530 (ACC_DEVICE_TYPE): Ditto.
8531 (ACC_DEVICE_NUM): Ditto.
8532 (OpenACC Library Interoperability): Ditto.
8533
50aa16c3
JJ
85342017-08-09 Jakub Jelinek <jakub@redhat.com>
8535
8536 PR c/81687
8537 * testsuite/libgomp.c/pr81687-1.c: New test.
8538 * testsuite/libgomp.c/pr81687-2.c: New test.
8539
56b5041c
JJ
85402017-08-07 Jakub Jelinek <jakub@redhat.com>
8541
8542 PR c/69389
8543 * testsuite/libgomp.c/pr69389.c: New test.
8544 * testsuite/libgomp.c++/pr69389.C: New test.
8545
f4c222c0
TV
85462017-08-07 Tom de Vries <tom@codesourcery.com>
8547
8548 PR middle-end/78266
8549 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
8550 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
8551
a40ff0ae
JJ
85522017-07-27 Jakub Jelinek <jakub@redhat.com>
8553
8554 PR c/45784
8555 * testsuite/libgomp.c/pr45784.c: New test.
8556 * testsuite/libgomp.c++/pr45784.C: New test.
8557
3717fbe3
TV
85582017-07-19 Tom de Vries <tom@codesourcery.com>
8559
8560 * testsuite/libgomp.oacc-c/vec.c: New test.
8561
9607b014
TV
85622017-07-03 Tom de Vries <tom@codesourcery.com>
8563
8564 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
8565
dfb15f6b
TV
85662017-06-27 Tom de Vries <tom@codesourcery.com>
8567
8568 * plugin/plugin-nvptx.c (notify_var): New function.
8569 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
8570
22f1a037
TV
85712017-06-27 Tom de Vries <tom@codesourcery.com>
8572
8573 * env.c (parse_unsigned_long_1): Factor out of ...
8574 (parse_unsigned_long): ... here.
8575 (parse_int_1): Factor out of ...
8576 (parse_int): ... here.
8577 (parse_int_secure): New function.
8578 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
8579 * secure_getenv.h: Factor out of ...
8580 * plugin/plugin-hsa.c: ... here.
8581 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
8582
d54d1fc3
JJ
85832017-06-21 Jakub Jelinek <jakub@redhat.com>
8584
8585 PR c++/81130
8586 * testsuite/libgomp.c++/pr81130.C: New test.
8587
4f4b0ab8
RO
85882017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8589
8590 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
8591 default args.
8592 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
8593 dg-xfail-run-if default args.
8594
40ffd95f
BE
85952017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
8596
8597 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
8598 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8599
01275e1e
JJ
86002017-05-30 Jakub Jelinek <jakub@redhat.com>
8601
8602 PR libgomp/80822
8603 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
8604 (gomp_affinity_init_level): Use it. Always analyze the core and thread
8605 sibling lists, depending on level just pick up what CPUs to put
8606 together into a place vs. whether add multiple ordered places.
8607
78672bd8
TS
86082017-05-24 Thomas Schwinge <thomas@codesourcery.com>
8609
7ce64403
TS
8610 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
8611 * libgomp.map (OACC_2.0.1): Add these.
8612 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
8613 for "acc_wait", and "acc_wait_all", respectively.
8614 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
8615 for "acc_wait", and "acc_wait_all", respectively.
8616 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
8617 * libgomp.texi (acc_wait, acc_wait_all): Update.
8618 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
8619 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
8620 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8621
318686c2
TS
8622 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
8623 acc_present_or_copyin and acc_present_or_create procedures,
8624 respectively.
8625 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
8626 generally different variants of OpenACC Runtime Library functions.
8627 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8628
a6745534
TS
8629 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
8630 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8631
9b94fbc7
TS
8632 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
8633 of preprocessor definitions.
8634 * libgomp.h (strong_alias): Guard by "#ifdef
8635 HAVE_ATTRIBUTE_ALIAS".
8636 * oacc-mem.c: Provide "acc_pcreate" as alias for
8637 "acc_present_or_create", and "acc_pcopyin" as alias for
8638 "acc_present_or_copyin".
8639 * libgomp.map: New version "OACC_2.0.1".
8640 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
8641 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
8642 its content into...
8643 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
8644 Extend testing.
8645
78672bd8
TS
8646 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
8647 when disabling nvptx offloading.
8648
0c36d0d5
TS
86492017-05-23 Thomas Schwinge <thomas@codesourcery.com>
8650
fd71a9a2
TS
8651 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
8652 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8653 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8654
0c36d0d5
TS
8655 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
8656 * testsuite/lib/libgomp.exp
8657 (check_effective_target_openacc_nvidia_accel_configured): New
8658 proc.
8659 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
8660 (check_effective_target_c++): New procs.
8661 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
8662 (check_effective_target_c++): Likewise.
8663
c24783c4
JJ
86642017-05-22 Jakub Jelinek <jakub@redhat.com>
8665
655e5265
JJ
8666 PR middle-end/80809
8667 * testsuite/libgomp.c/pr80809-2.c: New test.
8668 * testsuite/libgomp.c/pr80809-3.c: New test.
8669
e9e2ef9f
JJ
8670 PR middle-end/80809
8671 * testsuite/libgomp.c/pr80809-1.c: New test.
8672
c24783c4
JJ
8673 PR middle-end/80853
8674 * testsuite/libgomp.c/pr80853.c: New test.
8675
0da2f96a
TS
86762017-05-19 Thomas Schwinge <thomas@codesourcery.com>
8677
7fd549d2
TS
8678 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
8679 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
8680 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8681 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8682 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8683
0da2f96a
TS
8684 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
8685 Debug output for failure.
8686
62ffe920
RO
86872017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8688
8689 * testsuite/lib/libgomp.exp: Load scanlang.exp.
8690
f49215b1
JJ
86912017-04-27 Jakub Jelinek <jakub@redhat.com>
8692
8693 PR bootstrap/80531
8694 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
8695 bootstrap compare failures.
8696
2260d19d
AM
86972017-04-20 Alexander Monakov <amonakov@ispras.ru>
8698
8699 * testsuite/libgomp.c/target-36.c: New testcase.
8700
19929ba9
JJ
87012017-04-13 Jakub Jelinek <jakub@redhat.com>
8702
8703 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
8704 instead of char.
8705
fbc698e0
JJ
87062017-04-11 Jakub Jelinek <jakub@redhat.com>
8707
8708 PR libgomp/80394
8709 * testsuite/libgomp.c/pr80394.c: New test.
8710
c4060df4
JJ
87112017-04-04 Jakub Jelinek <jakub@redhat.com>
8712
8713 PR libgomp/79876
8714 * config/posix/thread-stacksize.h: New file.
8715 * config/darwin/thread-stacksize.h: New file.
8716 * config/nvptx/thread-stacksize.h: New file.
8717 * env.c: Include thread-stacksize.h.
8718 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
8719 instead of 0. Call pthread_attr_setstacksize even if
8720 GOMP_DEFAULT_STACKSIZE is non-zero.
8721
e02d868a
JJ
87222017-03-30 Jakub Jelinek <jakub@redhat.com>
8723
8724 * env.c (initialize_env): Initialize stacksize to 0.
8725
7ba8651e
CP
87262017-03-22 Cesar Philippidis <cesar@codesourcery.com>
8727
8728 PR c++/80029
8729 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
8730
eebc5e2d
JJ
87312017-03-08 Jakub Jelinek <jakub@redhat.com>
8732
8733 PR c/79940
8734 * testsuite/libgomp.c/pr79940.c: New test.
8735
1eb08f52
RO
87362017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8737
8738 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
8739 targets.
8740 Add __float128 options.
8741
b0f78ff3
JDA
87422017-02-11 John David Anglin <danglin@gcc.gnu.org>
8743
8744 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
8745 hppa*-*-* dg-skip-if directive.
8746
1bbe0d8f
JJ
87472017-02-09 Jakub Jelinek <jakub@redhat.com>
8748
8749 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
8750 dg-skip-if directive into a comment.
8751
02889d23
CLT
87522017-02-09 Nathan Sidwell <nathan@codesourcery.com>
8753 Chung-Lin Tang <cltang@codesourcery.com>
8754
8755 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
8756 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
8757 add additional case.
8758 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
8759 "openacc_nvidia_accel_selected".
8760 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
8761 Add num_workers(8) clause.
8762
5896a41d
JDA
87632017-02-08 John David Anglin <danglin@gcc.gnu.org>
8764
8765 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
8766 hppa*-*-*.
8767 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
8768 include complex.h on hppa*-*-hpux*.
8769 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8770
345a8c17
TS
87712017-02-02 Thomas Schwinge <thomas@codesourcery.com>
8772
e70ab10d
TS
8773 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
8774
345a8c17
TS
8775 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
8776 GOMP_OFFLOAD_openacc_exec. Adjust all users.
8777 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
8778 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
8779 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
8780 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
8781 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
8782 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
8783 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
8784 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
8785
dced339c
TS
87862017-01-31 Thomas Schwinge <thomas@codesourcery.com>
8787
8788 * libgomp-plugin.h: #include <stdbool.h>.
8789 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
8790 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
8791 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
8792 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
8793 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
8794 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
8795 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
8796 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
8797 (GOMP_OFFLOAD_openacc_register_async_cleanup)
8798 (GOMP_OFFLOAD_openacc_async_test)
8799 (GOMP_OFFLOAD_openacc_async_test_all)
8800 (GOMP_OFFLOAD_openacc_async_wait)
8801 (GOMP_OFFLOAD_openacc_async_wait_async)
8802 (GOMP_OFFLOAD_openacc_async_wait_all)
8803 (GOMP_OFFLOAD_openacc_async_wait_all_async)
8804 (GOMP_OFFLOAD_openacc_async_set_async)
8805 (GOMP_OFFLOAD_openacc_create_thread_data)
8806 (GOMP_OFFLOAD_openacc_destroy_thread_data)
8807 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
8808 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
8809 (GOMP_OFFLOAD_openacc_get_cuda_stream)
8810 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
8811 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
8812 these.
8813 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
8814 (GOMP_OFFLOAD_unload_image): Fix argument types.
8815
23749904
JJ
88162017-01-26 Jakub Jelinek <jakub@redhat.com>
8817
c1cadde1
JJ
8818 * testsuite/lib/libgomp.exp
8819 (check_effective_target_hsa_offloading_selected_nocache): Fix up
8820 check_compile invocation. Fix up removal of executable. Drop
8821 bogus "2>&1" argument.
8822
23749904
JJ
8823 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
8824 directive.
8825
88262017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
8827 Martin Jambor <mjambor@suse.cz>
8828
8829 * plugin/hsa.h: Moved to top level include.
8830 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
8831
73aa401e
JJ
88322017-01-21 Jakub Jelinek <jakub@redhat.com>
8833
8834 PR other/79046
8835 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
8836 of cat to get version from BASE-VER file.
8837 * testsuite/Makefile.in: Regenerated.
8838
b32e85fa
JJ
88392017-01-19 Jakub Jelinek <jakub@redhat.com>
8840
8841 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
8842 for _WIN64.
8843
3c36aa6b
JJ
88442017-01-17 Jakub Jelinek <jakub@redhat.com>
8845
d190d5c0
JJ
8846 * plugin/hsa.h: Add GCC runtime library exception.
8847 * plugin/hsa_ext_finalize.h: Likewise.
8848
2393d337
JJ
8849 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
8850 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
8851 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
8852 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
8853 plugin/include/cuda as include dir and -ldl instead of -lcuda as
8854 library to link ptx plugin against.
8855 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
8856 (CUDA_CALLS): Define.
8857 (cuda_lib, cuda_lib_inited): New variables.
8858 (init_cuda_lib): New function.
8859 (CUDA_CALL_PREFIX): Define.
8860 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
8861 (CUDA_CALL): Use FN instead of (FN).
8862 (CUDA_CALL_NOCHECK): Define.
8863 (cuda_error, fini_streams_for_device, select_stream_for_async,
8864 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
8865 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
8866 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
8867 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
8868 CUDA_CALL_NOCHECK.
8869 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
8870 CUDA_CALL_NOCHECK.
8871 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
8872 Use CUDA_CALL_NOCHECK.
8873 * plugin/cuda/cuda.h: New file.
8874 * config.h.in: Regenerated.
8875 * configure: Regenerated.
8876
3c36aa6b
JJ
8877 PR other/79046
8878 * configure.ac: Add GCC_BASE_VER.
8879 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
8880 get version from BASE-VER file.
8881 * testsuite/Makefile.in: Regenerated.
8882 * configure: Regenerated.
8883 * Makefile.in: Regenerated.
8884
c508bc2d
FXC
88852017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8886
8887 PR libgomp/60670
8888 * Makefile.am: Make fincludedir multilib-aware.
8889 * Makefile.in: Regenerate.
8890
c1a9c369
JJ
88912017-01-01 Jakub Jelinek <jakub@redhat.com>
8892
cbe34bb5
JJ
8893 Update copyright years.
8894
c1a9c369
JJ
8895 * libgomp.texi: Bump @copying's copyright year.
8896
e7a7f4be
SH
88972016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
8898
8899 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
8900 pthread_spinlock_t instead of gomp_mutex_t lock.
8901 (gomp_get_thread_pool): Likewise.
8902 (gomp_release_thread_pool): Likewise.
8903 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
8904 Likewise.
8905
d313d52c
SH
89062016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
8907
8908 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
8909 thread pool in case nthreads == 1.
8910
630e3c3a
AM
89112016-11-30 Alexander Monakov <amonakov@ispras.ru>
8912
8913 * config/nvptx/env.c: Delete.
8914 * icv.c: Move definitions of ICV variables back ...
8915 * env.c: ...here. Do not compile environment-related functionality if
8916 LIBGOMP_OFFLOADED_ONLY is set.
8917
9e38af5c
AM
89182016-11-30 Alexander Monakov <amonakov@ispras.ru>
8919
8920 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
8921 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
8922 * configure: Regenerate.
8923 * config.h.in: Likewise.
8924
f96b7f1f
AM
89252016-11-30 Alexander Monakov <amonakov@ispras.ru>
8926
8927 * Makefile.in: Regenerate with automake-1.11.6.
8928 * aclocal.m4: Likewise.
8929 * configure: Likewise.
8930 * testsuite/Makefile.in: Likewise.
8931
6a6951b1
AM
89322016-11-28 Alexander Monakov <amonakov@ispras.ru>
8933
8934 * config/nvptx/critical.c: Delete to use generic implementation.
8935
c7ac071f
JH
89362016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
8937
8938 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
8939 ../../affinity.c as fallback.
8940 * config/nvptx/affinity.c: Delete to use fallback implementation.
8941
6103184e 89422016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 8943 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
8944 Dmitry Melnik <dm@ispras.ru>
8945
8946 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
8947 * Makefile.in. Regenerate.
8948 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
8949 (LIBGOMP_USE_PTHREADS): ...here; new define.
8950 * configure: Regenerate.
8951 * config.h.in: Likewise.
8952 * config/posix/affinity.c: Move to...
8953 * affinity.c: ...here (new file). Guard use of Pthreads-specific
8954 interface by LIBGOMP_USE_PTHREADS.
8955 * critical.c: Split out GOMP_atomic_{start,end} into...
8956 * atomic.c: ...here (new file).
8957 * env.c: Split out ICV definitions into...
8958 * icv.c: ...here (new file) and...
8959 * icv-device.c: ...here. New file.
8960 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
8961 (gomp_destroy_lock_30): Ditto.
8962 (gomp_set_lock_30): Ditto.
8963 (gomp_unset_lock_30): Ditto.
8964 (gomp_test_lock_30): Ditto.
8965 (gomp_init_nest_lock_30): Ditto.
8966 (gomp_destroy_nest_lock_30): Ditto.
8967 (gomp_set_nest_lock_30): Ditto.
8968 (gomp_unset_nest_lock_30): Ditto.
8969 (gomp_test_nest_lock_30): Ditto.
8970 * lock.c: New.
8971 * config/nvptx/lock.c: New.
8972 * config/nvptx/bar.c: New.
8973 * config/nvptx/bar.h: New.
8974 * config/nvptx/doacross.h: New.
8975 * config/nvptx/error.c: New.
8976 * config/nvptx/icv-device.c: New.
8977 * config/nvptx/mutex.h: New.
8978 * config/nvptx/pool.h: New.
8979 * config/nvptx/proc.c: New.
8980 * config/nvptx/ptrlock.h: New.
8981 * config/nvptx/sem.h: New.
8982 * config/nvptx/simple-bar.h: New.
8983 * config/nvptx/target.c: New.
8984 * config/nvptx/task.c: New.
8985 * config/nvptx/team.c: New.
8986 * config/nvptx/time.c: New.
8987 * config/posix/simple-bar.h: New.
8988 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
8989 (gomp_num_teams_var): Declare.
8990 (struct gomp_thread_pool): Change threads_dock member to
8991 gomp_simple_barrier_t.
8992 [__nvptx__] (gomp_thread): New implementation.
8993 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
8994 (gomp_thread_destructor): Ditto.
8995 (gomp_init_thread_affinity): Ditto.
8996 * team.c: Guard uses of Pthreads-specific interfaces by
8997 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
8998 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
8999 * config/nvptx/alloc.c: Delete.
9000 * config/nvptx/barrier.c: Ditto.
9001 * config/nvptx/fortran.c: Ditto.
9002 * config/nvptx/iter.c: Ditto.
9003 * config/nvptx/iter_ull.c: Ditto.
9004 * config/nvptx/loop.c: Ditto.
9005 * config/nvptx/loop_ull.c: Ditto.
9006 * config/nvptx/ordered.c: Ditto.
9007 * config/nvptx/parallel.c: Ditto.
9008 * config/nvptx/priority_queue.c: Ditto.
9009 * config/nvptx/sections.c: Ditto.
9010 * config/nvptx/single.c: Ditto.
9011 * config/nvptx/splay-tree.c: Ditto.
9012 * config/nvptx/work.c: Ditto.
9013 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
9014 -foffload=-lgfortran in addition to -lgfortran.
9015 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
9016 * plugin/plugin-nvptx.c: Include <limits.h>.
9017 (struct targ_fn_descriptor): Add new fields.
9018 (struct ptx_device): Ditto. Set them...
9019 (nvptx_open_device): ...here.
9020 (nvptx_adjust_launch_bounds): New.
9021 (nvptx_host2dev): Allow NULL 'nvthd'.
9022 (nvptx_dev2host): Ditto.
9023 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
9024 (link_ptx): Adjust log sizes.
9025 (nvptx_host2dev): Allow NULL 'nvthd'.
9026 (nvptx_dev2host): Ditto.
9027 (nvptx_set_clocktick): New. Use it...
9028 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
9029 fields.
9030 (GOMP_OFFLOAD_dev2dev): New.
9031 (nvptx_adjust_launch_bounds): New.
9032 (nvptx_stacks_size): New.
9033 (nvptx_stacks_alloc): New.
9034 (nvptx_stacks_free): New.
9035 (GOMP_OFFLOAD_run): New.
9036 (GOMP_OFFLOAD_async_run): New (stub).
9037
56b1c60e
MJ
90382016-11-23 Martin Jambor <mjambor@suse.cz>
9039
9040 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
9041 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
9042 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9043
b8d89b03 90442016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 9045 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
9046
9047 * plugin/hsa.h: New file.
9048 * plugin/hsa_ext_finalize.h: New file.
9049 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
9050 header file unistd.h, and functions secure_getenv, __secure_getenv,
9051 getuid, geteuid, getgid and getegid.
9052 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
9053 -D_GNU_SOURCE.
9054 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
9055 Handle various cases of secure_getenv presence, add an implementation
9056 when we can test effective UID and GID.
9057 (struct hsa_runtime_fn_info): New structure.
9058 (hsa_runtime_fn_info hsa_fns): New variable.
9059 (hsa_runtime_lib): Likewise.
9060 (support_cpu_devices): Likewise.
9061 (init_enviroment_variables): Load newly introduced ENV
9062 variables.
9063 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
9064 (hsa_fatal): Likewise.
9065 (DLSYM_FN): New macro.
9066 (init_hsa_runtime_functions): New function.
9067 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
9068 structure. Depending on environment, also allow CPU devices.
9069 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
9070 (get_kernarg_memory_region): Likewise.
9071 (GOMP_OFFLOAD_init_device): Likewise.
9072 (destroy_hsa_program): Likewise.
9073 (init_basic_kernel_info): New function.
9074 (GOMP_OFFLOAD_load_image): Use it.
9075 (create_and_finalize_hsa_program): Call hsa run-time functions via
9076 hsa_fns structure.
9077 (create_single_kernel_dispatch): Likewise.
9078 (release_kernel_dispatch): Likewise.
9079 (init_single_kernel): Likewise.
9080 (parse_target_attributes): Allow up multiple HSA grid dimensions.
9081 (get_group_size): New function.
9082 (run_kernel): Likewise.
9083 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
9084 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
9085 structure.
9086 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
9087 * testsuite/libgomp-test-support.exp.in: Likewise.
9088 * Makefile.in: Regenerated.
9089 * aclocal.m4: Likewise.
9090 * config.h.in: Likewise.
9091 * configure: Likewise.
9092 * testsuite/Makefile.in: Likewise.
9093
18d2ada8 90942016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 9095 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
9096
9097 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
9098 mapping clauses to target constructs.
9099 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
9100
84c1b9d3
MK
91012016-11-15 Matthias Klose <doko@ubuntu.com>
9102
9103 * configure: Regenerate.
9104
b4c3a85b
JJ
91052016-11-10 Jakub Jelinek <jakub@redhat.com>
9106
8ebd1b31
JJ
9107 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
9108 * omp_lib.h.in (openmp_version): Likewise.
9109 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
9110 of 201307.
9111 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9112
b4c3a85b
JJ
9113 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
9114 (fib_wrapper): Add map(from: x) clause.
9115 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
9116 (e_53_2): Likewise.
9117 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
9118 (accum): Add map(tmp) clause.
9119 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
9120 (accum): Add map(tofrom: tmp) clause.
9121 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
9122 (gramSchmidt): Likewise.
9123 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
9124 map(tofrom: sum) clause.
9125 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
9126 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
9127 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
9128 only allowed on the loop iterator.
9129 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
9130 * testsuite/libgomp.fortran/taskloop2.f90: New test.
9131 * testsuite/libgomp.fortran/taskloop4.f90: New test.
9132 * testsuite/libgomp.fortran/doacross1.f90: New test.
9133 * testsuite/libgomp.fortran/doacross3.f90: New test.
9134 * testsuite/libgomp.fortran/taskloop1.f90: New test.
9135 * testsuite/libgomp.fortran/taskloop3.f90: New test.
9136 * testsuite/libgomp.fortran/doacross2.f90: New test.
9137 * testsuite/libgomp.c/doacross-1.c (main): Add missing
9138 #pragma omp atomic read.
9139 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9140 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
9141
6668eb45
CP
91422016-11-02 Cesar Philippidis <cesar@codesourcery.com>
9143 Nathan Sidwell <nathan@acm.org>
9144
9145 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
9146 to determine default geometry.
9147 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
9148 dimension.
9149
f10e37a1
JJ
91502016-11-01 Jakub Jelinek <jakub@redhat.com>
9151
9152 * hashtab.h: Use standard GPLv3 with runtime exception
9153 boilerplate.
9154
015c7760
AH
91552016-10-27 Aldy Hernandez <aldyh@redhat.com>
9156
9157 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
9158 size when allocating new thread.
9159
20a1e5b8
MP
91602016-09-14 Marek Polacek <polacek@redhat.com>
9161
9162 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
9163
1cad9284
JJ
91642016-08-19 Jakub Jelinek <jakub@redhat.com>
9165
9166 PR fortran/71014
9167 * testsuite/libgomp.fortran/pr71014.f90: New test.
9168
2c71d454
CLT
91692016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
9170
9171 PR middle-end/70895
9172 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
9173 firstprivate clauses.
9174 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
9175 copy clauses.
9176 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9177 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9178 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
9179 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9180 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9181 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9182 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9183 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9184 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9185 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9186 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9187 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
9188
7c713714
CLT
91892016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
9190
9191 PR fortran/70598
9192 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
9193
5c934396
JJ
91942016-08-08 Jakub Jelinek <jakub@redhat.com>
9195
9196 PR c++/58706
9197 * testsuite/libgomp.c++/pr58706.C: New test.
9198
9ef64248
TS
91992016-08-04 Thomas Schwinge <thomas@codesourcery.com>
9200
bbc79c0e
TS
9201 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
9202 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
9203 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
9204 Likewise.
9205 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
9206 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
9207 Likewise.
9208 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
9209
9ef64248
TS
9210 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
9211 test, and don't hardcode -O0.
9212
c1311c86
NS
92132016-08-03 Nathan Sidwell <nathan@codesourcery.com>
9214
9215 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
9216
b1c9c068
CP
92172016-07-15 Cesar Philippidis <cesar@codesourcery.com>
9218
9219 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
9220 test.
9221
b4410f63
L
92222016-07-03 H.J. Lu <hongjiu.lu@intel.com>
9223
9224 PR middle-end/71734
9225 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
9226 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
9227
a8dbab92
JJ
92282016-07-01 Jakub Jelinek <jakub@redhat.com>
9229
9230 PR fortran/71717
9231 * testsuite/libgomp.fortran/associate3.f90: New test.
9232
9b6a8d0f
JJ
92332016-06-17 Jakub Jelinek <jakub@redhat.com>
9234
9235 * testsuite/libgomp.c++/target-21.C: New test.
9236
283635f9
JJ
92372016-06-16 Jakub Jelinek <jakub@redhat.com>
9238
9239 * testsuite/libgomp.c++/target-20.C: New test.
9240
27d6ba88
TS
92412016-06-10 Thomas Schwinge <thomas@codesourcery.com>
9242 Cesar Philippidis <cesar@codesourcery.com>
9243
9244 PR middle-end/71373
9245 * libgomp.oacc-c/nested-function-1.c: New file.
9246 * libgomp.oacc-c/nested-function-2.c: Likewise.
9247 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
9248 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
9249 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
9250
4b1ffdb1
TS
92512016-06-10 Thomas Schwinge <thomas@codesourcery.com>
9252
9253 PR c/71381
9254 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
9255 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
9256 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
9257
d821b794
CLT
92582016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
9259
9260 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
9261 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
9262
3616a8c5
CP
92632016-06-01 Cesar Philippidis <cesar@codesourcery.com>
9264
9265 PR c/70688
5eed9a88 9266 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 9267
7211a097
JJ
92682016-05-26 Jakub Jelinek <jakub@redhat.com>
9269
9270 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
9271 instead of invalid schedule(static, 0).
9272 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9273
b4557008
CLT
92742016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
9275
9276 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
9277 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
9278 parameter, use to set async stream around call to gomp_unmap_vars,
9279 call gomp_unmap_vars() with 'do_copyfrom' set to true.
9280 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
9281 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
9282 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
9283 (event_add): Add int parameter, initialize 'val' field when
9284 adding new ptx_event struct.
9285 (nvptx_evec): Adjust event_add() call arguments.
9286 (nvptx_host2dev): Likewise.
9287 (nvptx_dev2host): Likewise.
9288 (nvptx_wait_async): Likewise.
9289 (nvptx_wait_all_async): Likewise.
9290 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
9291 pass to event_add() call.
9292 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
9293 parameter.
9294 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
9295 call openacc.register_async_cleanup_func() hook.
9296 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
9297 * target.c (gomp_copy_from_async): Delete function.
9298 (gomp_map_vars): Remove async_refcount.
9299 (gomp_unmap_vars): Likewise.
9300 (gomp_load_image_to_device): Likewise.
9301 (omp_target_associate_ptr): Likewise.
9302 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
9303 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
9304 (gomp_copy_from_async): Remove.
9305
6ce13072
CLT
93062016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
9307
9308 * target.c (gomp_device_copy): New function.
9309 (gomp_copy_host2dev): Likewise.
9310 (gomp_copy_dev2host): Likewise.
9311 (gomp_free_device_memory): Likewise.
9312 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
9313 (gomp_map_pointer): Likewise.
9314 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
9315 NULL value from alloc_func plugin hook.
9316 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
9317 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
9318 (gomp_unmap_vars): Likewise.
9319 (gomp_update): Adjust to call gomp_copy_dev2host and
9320 gomp_copy_host2dev functions.
9321 (gomp_unload_image_from_device): Handle false value from
9322 unload_image_func plugin hook.
9323 (gomp_init_device): Handle false value from init_device_func
9324 plugin hook.
9325 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
9326 (omp_target_free): Adjust to call gomp_free_device_memory.
9327 (omp_target_memcpy): Handle return values from host2dev_func,
9328 dev2host_func, and dev2dev_func plugin hooks.
9329 (omp_target_memcpy_rect_worker): Likewise.
9330 (gomp_target_fini): Handle false value from fini_device_func
9331 plugin hook.
9332 * libgomp.h (struct gomp_device_descr): Adjust return type of
9333 init_device_func, fini_device_func, unload_image_func, free_func,
9334 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
9335 * oacc-init.c (acc_shutdown_1): Handle false value from
9336 fini_device_func plugin hook.
9337 * oacc-host.c (host_init_device): Change return type to bool.
9338 (host_fini_device): Likewise.
9339 (host_unload_image): Likewise.
9340 (host_free): Likewise.
9341 (host_dev2host): Likewise.
9342 (host_host2dev): Likewise.
9343 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
9344 (acc_memcpy_to_device): Likewise.
9345 (acc_memcpy_from_device): Likewise.
9346 (delete_copyout): Add libfnname parameter, handle free_func
9347 hook fatal error case.
9348 (acc_delete): Adjust delete_copyout call.
9349 (acc_copyout): Likewise.
9350 (update_dev_host): Move gomp_mutex_unlock to after
9351 host2dev/dev2host hook calls.
9352
9353 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
9354 to 'hsa_error_msg', for clarity.
9355 (hsa_fatal): Likewise.
9356 (hsa_error): New function.
9357 (init_hsa_context): Change return type to bool, adjust to return
9358 false on error.
9359 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
9360 return value.
9361 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
9362 return false on error.
9363 (get_agent_info): Adjust to return NULL on error.
9364 (destroy_hsa_program): Change return type to bool, adjust to
9365 return false on error.
9366 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
9367 (destroy_module): Change return type to bool, adjust to
9368 return false on error.
9369 (GOMP_OFFLOAD_unload_image): Likewise.
9370 (GOMP_OFFLOAD_fini_device): Likewise.
9371 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
9372 (GOMP_OFFLOAD_free): Change to return false when called.
9373 (GOMP_OFFLOAD_dev2host): Likewise.
9374 (GOMP_OFFLOAD_host2dev): Likewise.
9375 (GOMP_OFFLOAD_dev2dev): Likewise.
9376
9377 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
9378 (CUDA_CALL): Likewise.
9379 (CUDA_CALL_ASSERT): Likewise.
9380 (map_init): Change return type to bool, use CUDA_CALL* macros.
9381 (map_fini): Likewise.
9382 (init_streams_for_device): Change return type to bool, adjust
9383 call to map_init.
9384 (fini_streams_for_device): Change return type to bool, adjust
9385 call to map_fini.
9386 (select_stream_for_async): Release stream_lock before calls to
9387 GOMP_PLUGIN_fatal, adjust call to map_init.
9388 (nvptx_init): Use CUDA_CALL* macros.
9389 (nvptx_attach_host_thread_to_device): Change return type to bool,
9390 use CUDA_CALL* macros.
9391 (nvptx_open_device): Use CUDA_CALL* macros.
9392 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
9393 macros.
9394 (nvptx_get_num_devices): Use CUDA_CALL* macros.
9395 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
9396 (nvptx_exec): Use CUDA_CALL* macros.
9397 (nvptx_alloc): Use CUDA_CALL* macros.
9398 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
9399 (nvptx_host2dev): Likewise.
9400 (nvptx_dev2host): Likewise.
9401 (nvptx_wait): Use CUDA_CALL* macros.
9402 (nvptx_wait_async): Likewise.
9403 (nvptx_wait_all): Likewise.
9404 (nvptx_wait_all_async): Likewise.
9405 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
9406 use CUDA_CALL* macros, adjust call to map_fini.
9407 (GOMP_OFFLOAD_init_device): Change return type to bool,
9408 adjust code accordingly.
9409 (GOMP_OFFLOAD_fini_device): Likewise.
9410 (GOMP_OFFLOAD_load_image): Adjust calls to
9411 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
9412 use CUDA_CALL* macros.
9413 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
9414 return code.
9415 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
9416 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
9417 handle error return.
9418 (GOMP_OFFLOAD_dev2host): Likewise.
9419 (GOMP_OFFLOAD_host2dev): Likewise.
9420 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
9421 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
9422
e46c7770
CP
94232016-05-24 Cesar Philippidis <cesar@codesourcery.com>
9424
9425 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
9426 (acc_free): Likewise.
9427 (acc_memcpy_to_device): Likewise.
9428 (acc_memcpy_from_device): Likewise.
9429 (acc_deviceptr): Likewise.
9430 (acc_hostptr): Likewise.
9431 (acc_is_present): Likewise.
9432 (acc_map_data): Likewise.
9433 (acc_unmap_data): Likewise.
9434 (present_create_copy): Likewise.
9435 (delete_copyout): Likewise.
9436 (update_dev_host): Likewise.
9437 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
9438 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
9439 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
9440 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9441 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
9442 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
9443 it only runs on nvptx targets.
9444 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9445 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9446 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9447 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9448 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9449 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9450 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9451 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9452 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9453 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9454 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9455 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9456 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9457 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9458 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9459 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9460 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9461 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9462 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9463 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9464 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9465 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9466 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9467
a5057543
MJ
94682016-05-23 Martin Jambor <mjambor@suse.cz>
9469
9470 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
9471
e37288a6
CLT
94722016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
9473
9474 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
9475 to gomp_init_targets_once.
9476 (acc_set_device_type): Remove !cached_base_dev condition on call to
9477 gomp_init_targets_once, move call to before acc_device_lock acquire,
9478 to avoid deadlock.
9479 (acc_get_device_num): Remove !cached_base_dev condition on call to
9480 gomp_init_targets_once.
9481 (acc_set_device_num): Likewise.
9482
51d9ed48
MJ
94832016-05-16 Martin Jambor <mjambor@suse.cz>
9484
92a285c1 9485 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 9486
5b37e866
NS
94872016-05-02 Nathan Sidwell <nathan@codesourcery.com>
9488
9489 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
9490 expected partitioning.
9491
e7ff0319
CP
94922016-04-29 Cesar Philippidis <cesar@codesourcery.com>
9493
9494 PR middle-end/70626
9495 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
9496 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
9497 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
9498
c2bd3b69
AM
94992016-04-21 Alexander Monakov <amonakov@ispras.ru>
9500
9501 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
9502 non-fatal.
9503
84311083
JJ
95042016-04-19 Jakub Jelinek <jakub@redhat.com>
9505
9506 PR middle-end/70680
9507 * testsuite/libgomp.c/pr70680-1.c: New test.
9508 * testsuite/libgomp.c/pr70680-2.c: New test.
9509
aadc043f
CP
95102016-04-14 Cesar Philippidis <cesar@codesourcery.com>
9511
9512 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
9513 pass parameter variables to subroutines.
9514
e387fc64
CP
95152016-04-14 Cesar Philippidis <cesar@codesourcery.com>
9516
9517 PR middle-end/70643
9518 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
9519
10c3c424
CP
95202016-04-13 Cesar Philippidis <cesar@codesourcery.com>
9521
9522 PR testsuite/68242
9523 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
9524 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9525
27f9add3
TS
95262016-04-12 Thomas Schwinge <thomas@codesourcery.com>
9527
58d32aeb
TS
9528 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
9529 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
9530 GOACC_declare prototype.
9531
d97633ef
TS
9532 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
9533 Merge this file, and...
9534 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
9535 ... this file, and...
9536 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
9537 ... this file, and...
9538 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
9539 ... this file, and...
9540 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
9541 ... this file, and...
9542 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
9543 ... this file, and...
9544 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
9545 ... this file, and...
9546 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
9547 ... this file, and...
9548 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
9549 ... this file, and...
9550 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
9551 ... this file, and...
9552 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
9553 ... this file, and...
9554 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
9555 ... this file, and...
9556 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
9557 ... this file into...
9558 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
9559 file.
9560
27f9add3
TS
9561 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9562 Make failure observable.
9563
21f3a236
JJ
95642016-04-12 Jakub Jelinek <jakub@redhat.com>
9565
9566 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
9567 field.
9568 * target.c (gomp_target_fallback_firstprivate,
9569 gomp_target_unshare_firstprivate): Removed.
9570 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
9571 before waiting for dependencies.
9572 (gomp_target_task_fn): Don't copy firstprivate vars here.
9573 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
9574 firstprivate_copies here.
9575 (gomp_create_target_task): Don't initialize firstprivate_copies field.
9576 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
9577 explicit/implicit firstprivate.
9578
c42cfb5c
CP
95792016-04-08 Cesar Philippidis <cesar@codesourcery.com>
9580
9581 PR lto/70289
9582 PR ipa/70348
9583 PR tree-optimization/70373
9584 PR middle-end/70533
9585 PR middle-end/70534
9586 PR middle-end/70535
9587 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
9588 test.
9589 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
9590 test.
9591 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
9592 test.
9593 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
9594 test.
9595 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
9596 test.
9597 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
9598 test.
9599 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
9600 test.
9601 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
9602 test.
9603 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
9604 test.
9605 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
9606 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
9607 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
9608 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
9609 test.
9610 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
9611 test.
9612 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
9613 test.
9614 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
9615 test.
9616 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
9617 coverage.
9618 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9619 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
9620 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
9621 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
9622 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
9623 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
9624 coverage.
9625 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9626 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9627 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9628 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9629 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
9630 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
9631 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
9632 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
9633 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
9634 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9635 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9636 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9637 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9638 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9639 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
9640
2620c80d
TS
96412016-03-30 Thomas Schwinge <thomas@codesourcery.com>
9642 James Norris <jnorris@codesourcery.com>
9643 Nathan Sidwell <nathan@codesourcery.com>
9644 Julian Brown <julian@codesourcery.com>
9645 Cesar Philippidis <cesar@codesourcery.com>
9646 Chung-Lin Tang <cltang@codesourcery.com>
9647 Tom de Vries <tom@codesourcery.com>
9648
9649 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
9650 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9651 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9652 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
9653 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9654 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9655 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9656 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
9657 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9658 XFAIL.
9659 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
9660 Incorporate...
9661 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
9662 file.
9663 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
9664 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
9665 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
9666 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
9667 Likewise.
9668 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
9669 Likewise.
9670 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9671 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
9672 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
9673 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
9674 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
9675 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9676 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
9677 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
9678 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
9679 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
9680 Likewise.
9681 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
9682 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
9683 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
9684 file...
9685 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
9686 file into...
9687 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
9688 file. Update.
9689 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
9690 file.
9691 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
9692 Likewise.
9693 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
9694 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
9695 ... this new file. Update.
9696 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
9697 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
9698 ... this new file. Update.
9699 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
9700 file. Incorporate...
9701 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
9702 file, and...
9703 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
9704 file, and...
9705 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
9706 file.
9707 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
9708
ce83104b
TS
97092016-03-29 Thomas Schwinge <thomas@codesourcery.com>
9710
9711 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
9712 set-torture-options.
9713
6e0df3b7
TS
97142016-03-24 Thomas Schwinge <thomas@codesourcery.com>
9715
9716 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
9717 gcc-dg-runtest.
9718 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9719 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
9720 -fno-builtin-acc_on_device instead of -O0.
9721 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
9722 -O0.
9723 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9724 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
9725 Likewise.
9726 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9727 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9728 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9729 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9730 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9731 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9732 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9733 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9734 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9735 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9736 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9737 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9738 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9739 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9740 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9741 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9742 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9743 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
9744 Don't specify -O2.
9745 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
9746 Likewise.
9747 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
9748 Likewise.
9749
f9c8babb
ML
97502016-03-24 Martin Liska <mliska@suse.cz>
9751
9752 * plugin/plugin-hsa.c (packet_store_release): New function
9753 that is taken from the HSA runtime manual.
9754 (GOMP_OFFLOAD_run): Use the function.
9755
04833609
JJ
97562016-03-23 Jakub Jelinek <jakub@redhat.com>
9757
9758 PR c++/70376
9759 * testsuite/libgomp.c++/pr70376.C: New test.
9760
d79ee524
TV
97612016-03-23 Tom de Vries <tom@codesourcery.com>
9762
9763 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
9764 initialization of lresult and lvresult.
9765 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
9766
b6d1f2b5
JN
97672016-03-23 James Norris <jnorris@codesourcery.com>
9768 Daichi Fukuoka <dc-fukuoka@sgi.com>
9769
9770 PR libgomp/69414
9771 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
9772 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
9773 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9774 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
9775
7397fce2
ML
97762016-03-23 Martin Liska <mliska@suse.cz>
9777
9778 PR hsa/70337
9779 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
9780 argument just in case a dispatched kernel uses that argument.
9781
ee2e7d51
TS
97822016-03-16 Thomas Schwinge <thomas@codesourcery.com>
9783
9784 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
9785 -ftree-parallelize-loops/-fopenacc changes.
9786 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
9787 Likewise.
9788 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
9789 Likewise.
9790 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
9791 Likewise.
9792 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
9793 Likewise.
9794 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
9795 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
9796
be9f7143
TS
97972016-03-13 Thomas Schwinge <thomas@codesourcery.com>
9798
9799 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
9800 always_ld_library_path the path to libgcc_s.
9801
f6c1032d
CP
98022016-03-10 Cesar Philippidis <cesar@codesourcery.com>
9803
9804 PR testsuite/70009
9805 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
9806
5a6452e6
TV
98072016-03-09 Tom de Vries <tom@codesourcery.com>
9808
9809 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
9810 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
9811 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
9812 Same.
9813 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
9814 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
9815 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
9816 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
9817
96a71bd5
MJ
98182016-03-07 Martin Jambor <mjambor@suse.cz>
9819
9820 * testsuite/lib/libgomp.exp
9821 (check_effective_target_hsa_offloading_selected_nocache): New.
9822 (check_effective_target_hsa_offloading_selected): Likewise.
9823 * testsuite/libgomp.hsa.c/c.exp: Likewise.
9824 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
9825 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
9826 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
9827 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
9828 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
9829 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
9830 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
9831 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
9832 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
9833 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
9834 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
9835 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
9836 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
9837 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
9838 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
9839 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
9840
02e0b5b2
MJ
98412016-03-07 Martin Jambor <mjambor@suse.cz>
9842
9843 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
9844 non-shared memory accelerators.
9845 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
9846 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
9847 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
9848 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
9849 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
9850 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
9851 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
9852 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
9853 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
9854
45548f30
MJ
98552016-03-07 Martin Jambor <mjambor@suse.cz>
9856
9857 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
9858 ALWAYS_CFLAGS.
9859
da3d46cb
JJ
98602016-03-02 Jakub Jelinek <jakub@redhat.com>
9861
9862 PR libgomp/69555
9863 * testsuite/libgomp.c++/pr69555-1.C: New test.
9864 * testsuite/libgomp.c++/pr69555-2.C: New test.
9865
622174b2
KM
98662016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
9867 Martin Jambor <mjambor@suse.cz>
9868
9869 * testsuite/lib/libgomp.exp
9870 (check_effective_target_offload_device_shared_as): New proc.
9871 * testsuite/libgomp.c++/declare_target-1.C: New test.
9872
e6861a99
IV
98732016-02-25 Ilya Verbin <ilya.verbin@intel.com>
9874
9875 PR driver/68463
9876 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
9877
f99c3557
TS
98782016-02-23 Thomas Schwinge <thomas@codesourcery.com>
9879
9880 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
9881 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
9882 dims.
9883 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
9884 -ftree-parallelize-loops/-fopenacc changes.
9885 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
9886 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
9887 Likewise.
9888 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
9889 Likewise.
9890 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
9891 Likewise.
9892 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
9893 Likewise.
9894 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
9895 Likewise.
9896 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
9897 Likewise.
9898 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
9899 Likewise.
9900 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
9901 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
9902 Likewise.
9903 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
9904 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
9905 Likewise.
9906 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
9907 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
9908 Likewise.
9909
d5ace3b5
CP
99102016-02-22 Cesar Philippidis <cesar@codesourcery.com>
9911
9912 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
9913
f3609a89
JJ
99142016-02-19 Jakub Jelinek <jakub@redhat.com>
9915
9916 PR driver/69805
9917 * testsuite/libgomp.c/pr69805.c: New test.
9918
2175df99
TV
99192016-02-16 Tom de Vries <tom@codesourcery.com>
9920
9921 PR lto/67709
9922 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
9923
17b6426c
TV
99242016-02-09 Tom de Vries <tom@codesourcery.com>
9925
9926 PR tree-optimization/69599
9927 * testsuite/libgomp.c/omp-nested-3.c: New test.
9928 * testsuite/libgomp.c/pr46032-2.c: New test.
9929 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
9930 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
9931
34df756c
TV
99322016-02-09 Tom de Vries <tom@codesourcery.com>
9933
9934 PR lto/69707
9935 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
9936
5854ee30
AM
99372016-02-02 Alexander Monakov <amonakov@ispras.ru>
9938
9939 * testsuite/libgomp.c/target-31.c: Fix testcase.
9940
e70b6ad7
AM
99412016-02-02 Alexander Monakov <amonakov@ispras.ru>
9942
9943 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
9944 clause.
9945 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
9946 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
9947 reduction and map clauses.
9948 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
9949
bd78a45f
JN
99502016-02-02 James Norris <jnorris@codesourcery.com>
9951
9952 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
9953
41d809d3
TS
99542016-02-02 Thomas Schwinge <thomas@codesourcery.com>
9955
18f60146
TS
9956 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
9957 * oacc-parallel.c (GOACC_host_data): Remove function definition.
9958
1a06f5e6
TS
9959 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
9960 cases.
9961
033ff3d1
TS
9962 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
9963 variables.
9964 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
9965 (hsa_kmt_lib): Set variables.
9966 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
9967 always_ld_library_path.
9968 * Makefile.in: Regenerate.
9969 * configure: Likewise.
9970 * testsuite/Makefile.in: Likewise.
9971
4a88d9b7
TS
9972 * plugin/configfrag.ac (offload_additional_options)
9973 (offload_additional_lib_paths): Don't amend for hsa offloading.
9974 * configure: Regenerate.
9975
41d809d3
TS
9976 * plugin/configfrag.ac: Don't configure for offloading target if
9977 we don't build the corresponding plugin.
9978 * configure: Regenerate.
9979
b6adbb9f
NS
99802016-02-01 Nathan Sidwell <nathan@codesourcery.com>
9981
9982 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
9983 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
9984
8dfdb419
TV
99852016-01-26 Tom de Vries <tom@codesourcery.com>
9986
9987 PR tree-optimization/69110
9988 * testsuite/libgomp.c/pr69110.c: New test.
9989
02ef53f2
RB
99902016-01-25 Richard Biener <rguenther@suse.de>
9991
9992 PR lto/69393
9993 * testsuite/libgomp.c++/pr69393.C: New testcase.
9994
eb4048f2
IV
99952016-01-22 Ilya Verbin <ilya.verbin@intel.com>
9996
9997 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
9998 function wasn't mapped to the device with non-shared memory.
9999
b235cdd5
IV
100002016-01-20 Ilya Verbin <ilya.verbin@intel.com>
10001
10002 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
10003
b2b40051
MJ
100042016-01-19 Martin Jambor <mjambor@suse.cz>
10005 Martin Liska <mliska@suse.cz>
10006
10007 * plugin/Makefrag.am: Add HSA plugin requirements.
10008 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
10009 (HSA_RUNTIME_LIB): Likewise.
10010 (HSA_RUNTIME_CPPFLAGS): Likewise.
10011 (HSA_RUNTIME_INCLUDE): New substitution.
10012 (HSA_RUNTIME_LIB): Likewise.
10013 (HSA_RUNTIME_LDFLAGS): Likewise.
10014 (hsa-runtime): New configure option.
10015 (hsa-runtime-include): Likewise.
10016 (hsa-runtime-lib): Likewise.
10017 (PLUGIN_HSA): New substitution variable.
10018 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
10019 configure options.
10020 (PLUGIN_HSA_CPPFLAGS): Likewise.
10021 (PLUGIN_HSA_LDFLAGS): Likewise.
10022 (PLUGIN_HSA_LIBS): Likewise.
10023 Check that we have access to HSA run-time.
10024 * libgomp-plugin.h (offload_target_type): New element
10025 OFFLOAD_TARGET_TYPE_HSA.
10026 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
10027 args.
10028 (bool gomp_create_target_task): Updated.
10029 (gomp_device_descr): Extra parameter of run_func and async_run_func,
10030 new field can_run_func.
10031 * libgomp_g.h (GOMP_target_ext): Update prototype.
10032 * oacc-host.c (host_run): Added a new parameter args.
10033 * target.c (calculate_firstprivate_requirements): New function.
10034 (copy_firstprivate_data): Likewise.
10035 (gomp_target_fallback_firstprivate): Use them.
10036 (gomp_target_unshare_firstprivate): New function.
10037 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
10038 devices.
10039 (GOMP_target): Do host fallback for all shared memory devices. Do not
10040 pass any args to plugins.
10041 (GOMP_target_ext): Introduce device-specific argument parameter args.
10042 Allow host fallback if device shares memory. Do not remap data if
10043 device has shared memory.
10044 (gomp_target_task_fn): Likewise. Also treat shared memory devices
10045 like host fallback for mappings.
10046 (GOMP_target_data): Treat shared memory devices like host fallback.
10047 (GOMP_target_data_ext): Likewise.
10048 (GOMP_target_update): Likewise.
10049 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
10050 gomp_create_target_task.
10051 (GOMP_target_enter_exit_data): Likewise.
10052 (omp_target_alloc): Treat shared memory devices like host fallback.
10053 (omp_target_free): Likewise.
10054 (omp_target_is_present): Likewise.
10055 (omp_target_memcpy): Likewise.
10056 (omp_target_memcpy_rect): Likewise.
10057 (omp_target_associate_ptr): Likewise.
10058 (gomp_load_plugin_for_device): Also load can_run.
10059 * task.c (GOMP_PLUGIN_target_task_completion): Free
10060 firstprivate_copies.
10061 (gomp_create_target_task): Accept new argument args and store it to
10062 ttask.
10063 * plugin/plugin-hsa.c: New file.
10064
5d7804a9
TV
100652016-01-18 Tom de Vries <tom@codesourcery.com>
10066
10067 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
10068 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
10069 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
10070 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
10071 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
10072 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
10073 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
10074 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
10075 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
10076 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
10077 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10078 Same.
10079 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10080 Same.
10081 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
10082 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
10083 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
10084 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
10085 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
10086 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
10087 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
10088 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10089 Same.
10090 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
10091
cb11f3cf
JJ
100922016-01-15 Jakub Jelinek <jakub@redhat.com>
10093
10094 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
10095
33a126a6
CP
100962016-01-15 Cesar Philippidis <cesar@codesourcery.com>
10097
10098 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
10099
cdf6119d
JN
101002016-01-12 James Norris <jnorris@codesourcery.com>
10101
10102 * libgomp.texi: Updates for OpenACC.
10103
0d58938e
AM
101042016-01-11 Alexander Monakov <amonakov@ispras.ru>
10105
10106 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
10107
95918b49
L
101082016-01-07 H.J. Lu <hongjiu.lu@intel.com>
10109
10110 PR fortran/66680
10111 * testsuite/libgomp.fortran/pr66680.f90: New test.
10112
8fc708b7
JJ
101132016-01-07 Jakub Jelinek <jakub@redhat.com>
10114
10115 PR middle-end/68960
10116 * testsuite/libgomp.c/pr68960.c: New test.
10117
e9b596c1
NS
101182016-01-06 Nathan Sidwell <nathan@acm.org>
10119
1a14faf2 10120 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
10121 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
10122
21fa2a29
JJ
101232016-01-04 Jakub Jelinek <jakub@redhat.com>
10124
818ab71a
JJ
10125 Update copyright years.
10126
21fa2a29
JJ
10127 * libgomp.texi: Bump @copying's copyright year.
10128
9310efbc
NS
101292015-12-31 Nathan Sidwell <nathan@acm.org>
10130
10131 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
10132 dg-additional-options syntax.
10133 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10134 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10135 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10136 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10137 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10138 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10139 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10140 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10141 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10142 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10143 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10144 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10145 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10146 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
10147 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10148 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10149 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10150 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10151
4a38b02b
IV
101522015-12-15 Ilya Verbin <ilya.verbin@intel.com>
10153
10154 * libgomp.h (REFCOUNT_LINK): Define.
10155 (struct splay_tree_key_s): Add link_key.
10156 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
10157 Replace target address of the pointer with target address of newly
10158 mapped object in the splay tree. Set link pointer on target to the
10159 device address of the mapped object.
10160 (gomp_unmap_vars): Restore target address of the pointer in the splay
10161 tree for REFCOUNT_LINK objects after unmapping.
10162 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
10163 declare target link" objects.
10164 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
10165 "omp declare target link" objects, which were mapped for the image.
10166 (gomp_exit_data): Restore target address of the pointer in the splay
10167 tree for REFCOUNT_LINK objects after unmapping.
10168 * testsuite/libgomp.c/target-link-1.c: New file.
10169
d84ffc0a
IV
101702015-12-14 Ilya Verbin <ilya.verbin@intel.com>
10171
10172 * libgomp.h (gomp_device_state): New enum.
10173 (struct gomp_device_descr): Replace is_initialized with state.
10174 (gomp_fini_device): Remove declaration.
10175 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
10176 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
10177 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
10178 (acc_set_device_type): Use state instead of is_initialized.
10179 (acc_set_device_num): Likewise.
10180 * target.c (resolve_device): Use state instead of is_initialized.
10181 Do not initialize finalized device.
10182 (gomp_map_vars): Do nothing if device is finalized.
10183 (gomp_unmap_vars): Likewise.
10184 (gomp_update): Likewise.
10185 (GOMP_offload_register_ver): Use state instead of is_initialized.
10186 (GOMP_offload_unregister_ver): Likewise.
10187 (gomp_init_device): Likewise.
10188 (gomp_unload_device): Likewise.
10189 (gomp_fini_device): Remove.
10190 (gomp_get_target_fn_addr): Do nothing if device is finalized.
10191 (GOMP_target): Go to host fallback if device is finalized.
10192 (GOMP_target_ext): Likewise.
10193 (gomp_exit_data): Do nothing if device is finalized.
10194 (gomp_target_task_fn): Go to host fallback if device is finalized.
10195 (gomp_target_fini): New static function.
10196 (gomp_target_init): Use state instead of is_initialized.
10197 Call gomp_target_fini at exit.
10198
76680678
TV
101992015-12-09 Tom de Vries <tom@codesourcery.com>
10200
10201 PR tree-optimization/68716
10202 * testsuite/libgomp.c/omp-nested-2.c: New test.
10203
ff7a55bf
TS
102042015-12-02 Thomas Schwinge <thomas@codesourcery.com>
10205
10206 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
10207 target openacc_nvidia_accel_selected.
10208 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
10209 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
10210 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
10211 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
10212
37d5ad46
JB
102132015-12-01 Julian Brown <julian@codesourcery.com>
10214 James Norris <James_Norris@mentor.com>
10215
10216 * oacc-parallel.c (GOACC_host_data): New function.
10217 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
10218 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
10219 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
10220 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
10221 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
10222 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
10223 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
10224
db941d7e
CP
102252015-11-30 James Norris <jnorris@codesourcery.com>
10226 Cesar Philippidis <cesar@codesourcery.com>
10227
10228 libgomp/
10229 * libgomp.oacc-fortran/routine-5.f90: New test.
10230 * libgomp.oacc-fortran/routine-7.f90: New test.
10231 * libgomp.oacc-fortran/routine-9.f90: New test.
10232
e0ca27c5
TV
102332015-11-30 Tom de Vries <tom@codesourcery.com>
10234
10235 PR tree-optimization/46032
10236 * testsuite/libgomp.c/pr46032.c: New test.
10237
aec17bfe
JJ
102382015-11-27 Jakub Jelinek <jakub@redhat.com>
10239
8e4e4719
JJ
10240 PR libgomp/68579
10241 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
10242 (gomp_create_target_task): Call it before freeing
10243 GOMP_TARGET_TASK_DATA tasks.
10244
aec17bfe
JJ
10245 PR c/63326
10246 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
10247 in between case label and OpenMP standalone directives.
10248 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
10249
6cfe90e6
DE
102502015-11-26 David Edelsohn <dje.gcc@gmail.com>
10251
10252 * configure: Regenerate.
10253
0e65fd7d
JJ
102542015-11-26 Jakub Jelinek <jakub@redhat.com>
10255
10256 * testsuite/libgomp.c/target-35.c: New test.
10257
dc7a8b4b
JN
102582015-11-22 James Norris <jnorris@codesourcery.com>
10259 Cesar Philippidis <cesar@codesourcery.com>
10260
10261 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
10262 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10263 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10264 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10265 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10266
48a78aee
JJ
102672015-11-20 Jakub Jelinek <jakub@redhat.com>
10268
10269 PR middle-end/68221
10270 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
10271 * testsuite/libgomp.c/reduction-12.c: Likewise.
10272 * testsuite/libgomp.c++/reduction-11.C: Likewise.
10273 * testsuite/libgomp.c++/reduction-12.C: Likewise.
10274
2d256816
NS
102752015-11-19 Nathan Sidwell <nathan@codesourcery.com>
10276
10277 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
10278 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
10279 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
10280 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
10281 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
10282 and fix.
10283 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10284 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10285
33f47f42
NS
102862015-11-18 Nathan Sidwell <nathan@codesourcery.com>
10287
10288 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
10289 worker & gang cases.
10290 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
10291
3d7bfee0
CP
102922015-11-17 Cesar Philippidis <cesar@codesourcery.com>
10293
10294 * config/nvptx/priority_queue.c: New file.
10295
00b9bd52
JJ
102962015-11-14 Jakub Jelinek <jakub@redhat.com>
10297
10298 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
10299 sections.
10300
e4606348
JJ
103012015-11-14 Jakub Jelinek <jakub@redhat.com>
10302 Aldy Hernandez <aldyh@redhat.com>
10303 Ilya Verbin <ilya.verbin@intel.com>
10304
10305 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
10306 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
10307 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
10308 iterators or IV by chunk size.
10309 * parallel.c (gomp_resolve_num_threads): Don't assume that
10310 if thr->ts.team is non-NULL, then pool must be non-NULL.
10311 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
10312 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
10313 GOMP_PLUGIN_target_task_completion.
10314 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
10315 * Makefile.in: Regenerate.
10316 * libgomp.h: Shuffle prototypes and forward definitions around so
10317 priority queues can be defined.
10318 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
10319 (enum gomp_target_task_state): New enum.
10320 (struct gomp_target_task): Add state, tgt, task and team fields.
10321 (gomp_create_target_task): Change return type to bool, add
10322 state argument.
10323 (gomp_target_task_fn): Change return type to bool.
10324 (struct gomp_device_descr): Add async_run_func.
10325 (struct gomp_task): Remove children, next_child, prev_child,
10326 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
10327 Add pnode field.
10328 (struct gomp_taskgroup): Remove children.
10329 Add taskgroup_queue.
10330 (struct gomp_team): Change task_queue type to a priority queue.
10331 (splay_compare): Define inline.
10332 (priority_queue_offset): New.
10333 (priority_node_to_task): New.
10334 (task_to_priority_node): New.
10335 * oacc-mem.c: Do not include splay-tree.h.
10336 * priority_queue.c: New file.
10337 * priority_queue.h: New file.
10338 * splay-tree.c: Do not include splay-tree.h.
10339 (splay_tree_foreach_internal): New.
10340 (splay_tree_foreach): New.
10341 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
10342 (splay_tree_callback): Define typedef.
10343 * target.c (splay_compare): Move to libgomp.h.
10344 (GOMP_target): Don't adjust *thr in any way around running offloaded
10345 task.
10346 (GOMP_target_ext): Likewise. Handle target nowait.
10347 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
10348 return value from gomp_create_target_task, if false, fallthrough
10349 as if no dependencies exist.
10350 (gomp_target_task_fn): Change return type to bool, return true
10351 if the task should have another part scheduled later. Handle
10352 target nowait.
10353 (gomp_load_plugin_for_device): Initialize async_run.
10354 * task.c (gomp_init_task): Initialize children_queue.
10355 (gomp_clear_parent_in_list): New.
10356 (gomp_clear_parent_in_tree): New.
10357 (gomp_clear_parent): Handle priorities.
10358 (GOMP_task): Likewise.
10359 (priority_queue_move_task_first,
10360 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
10361 New functions.
10362 (gomp_create_target_task): Use priority queues. Change return type
10363 to bool, add state argument, return false if for async
10364 {{enter,exit} data,update} constructs no dependencies need to be
10365 waited for, handle target nowait. Set task->fn to NULL instead of
10366 gomp_target_task_fn.
10367 (verify_children_queue): Remove.
10368 (priority_list_upgrade_task): New.
10369 (priority_queue_upgrade_task): New.
10370 (verify_task_queue): Remove.
10371 (priority_list_downgrade_task): New.
10372 (priority_queue_downgrade_task): New.
10373 (gomp_task_run_pre): Use priority queues.
10374 Abstract code out to priority_queue_downgrade_task.
10375 (gomp_task_run_post_handle_dependers): Use priority queues.
10376 (gomp_task_run_post_remove_parent): Likewise.
10377 (gomp_task_run_post_remove_taskgroup): Likewise.
10378 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
10379 tasks specially.
10380 (GOMP_taskwait): Likewise.
10381 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
10382 priority-queue_upgrade_task.
10383 (GOMP_taskgroup_start): Use priority queues.
10384 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
10385 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
10386 barrier.
10387 * taskloop.c (GOMP_taskloop): Handle priorities.
10388 * team.c (gomp_new_team): Call priority_queue_init.
10389 (free_team): Call priority_queue_free.
10390 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
10391 team created for target nowait in implicit parallel region.
10392 (gomp_team_start): For nested check, test thr->ts.level instead of
10393 thr->ts.team != NULL.
10394 * testsuite/libgomp.c/doacross-3.c: New test.
10395 * testsuite/libgomp.c/ordered-5.c: New test.
10396 * testsuite/libgomp.c/priority.c: New test.
10397 * testsuite/libgomp.c/target-31.c: New test.
10398 * testsuite/libgomp.c/target-32.c: New test.
10399 * testsuite/libgomp.c/target-33.c: New test.
10400 * testsuite/libgomp.c/target-34.c: New test.
10401
1d1ab74f
NS
104022015-11-13 Nathan Sidwell <nathan@codesourcery.com>
10403
c5a64cfe
NS
10404 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
10405
1d1ab74f
NS
10406 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
10407 loop is sequential.
10408
dd3c1b14
NS
104092015-11-13 Nathan Sidwell <nathan@codesourcery.com>
10410
10411 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
10412 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
10413
6e232ba4
JN
104142015-11-12 James Norris <jnorris@codesourcery.com>
10415 Joseph Myers <joseph@codesourcery.com>
10416
10417 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
10418 * oacc-parallel.c (GOACC_declare): New function.
10419 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
10420 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
10421 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
10422 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
10423 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
10424
fffeedeb
NS
104252015-11-12 Nathan Sidwell <nathan@codesourcery.com>
10426
10427 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
10428
182190f2
NS
104292015-11-1 Nathan Sidwell <nathan@codesourcery.com>
10430
10431 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
10432 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
10433
36fa0f5f
NS
104342015-11-09 Nathan Sidwell <nathan@codesourcery.com>
10435
d350c40c
NS
10436 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
10437 inadvertent commit.
10438
104392015-11-09 Nathan Sidwell <nathan@codesourcery.com>
10440
36fa0f5f
NS
10441 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
10442 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
10443 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
10444 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
10445 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
10446
66a5f0b4
TS
104472015-11-06 Thomas Schwinge <thomas@codesourcery.com>
10448
10449 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
10450 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10451
e01d41e5
JJ
104522015-11-05 Jakub Jelinek <jakub@redhat.com>
10453 Ilya Verbin <ilya.verbin@intel.com>
10454
10455 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
10456 GOMP_loop_nonmonotonic_dynamic_start,
10457 GOMP_loop_nonmonotonic_guided_next,
10458 GOMP_loop_nonmonotonic_guided_start,
10459 GOMP_loop_ull_nonmonotonic_dynamic_next,
10460 GOMP_loop_ull_nonmonotonic_dynamic_start,
10461 GOMP_loop_ull_nonmonotonic_guided_next,
10462 GOMP_loop_ull_nonmonotonic_guided_start,
10463 GOMP_parallel_loop_nonmonotonic_dynamic,
10464 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
10465 (GOMP_target_41): Renamed to ...
10466 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10467 arguments.
10468 (GOMP_target_data_41): Renamed to ...
10469 (GOMP_target_data_ext): ... this.
10470 (GOMP_target_update_41): Renamed to ...
10471 (GOMP_target_update_ext): ... this.
10472 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
10473 GOMP_target_data_ext and GOMP_target_update_ext instead of
10474 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
10475 Export GOMP_loop_nonmonotonic_dynamic_next,
10476 GOMP_loop_nonmonotonic_dynamic_start,
10477 GOMP_loop_nonmonotonic_guided_next,
10478 GOMP_loop_nonmonotonic_guided_start,
10479 GOMP_loop_ull_nonmonotonic_dynamic_next,
10480 GOMP_loop_ull_nonmonotonic_dynamic_start,
10481 GOMP_loop_ull_nonmonotonic_guided_next,
10482 GOMP_loop_ull_nonmonotonic_guided_start,
10483 GOMP_parallel_loop_nonmonotonic_dynamic and
10484 GOMP_parallel_loop_nonmonotonic_guided.
10485 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
10486 GOMP_parallel_loop_nonmonotonic_guided,
10487 GOMP_loop_nonmonotonic_dynamic_start,
10488 GOMP_loop_nonmonotonic_guided_start,
10489 GOMP_loop_nonmonotonic_dynamic_next,
10490 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
10491 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
10492 GOMP_loop_ull_nonmonotonic_guided_start,
10493 GOMP_loop_ull_nonmonotonic_dynamic_next,
10494 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
10495 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
10496 functions.
10497 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
10498 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
10499 Use gomp_map_val function.
10500 (gomp_target_fallback_firstprivate): New static function.
10501 (GOMP_target_41): Renamed to ...
10502 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10503 arguments. Move firstprivate fallback handling into a new
10504 function.
10505 (GOMP_target_data_41): Renamed to ...
10506 (GOMP_target_data_ext): ... this.
10507 (GOMP_target_update_41): Renamed to ...
10508 (GOMP_target_update_ext): ... this.
10509 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
10510 gomp_map_0len_lookup instead of gomp_map_lookup.
10511 (omp_target_is_present): Use gomp_map_0len_lookup instead of
10512 gomp_map_lookup.
10513 * testsuite/libgomp.c/target-28.c: Likewise.
10514 * testsuite/libgomp.c/monotonic-1.c: New test.
10515 * testsuite/libgomp.c/monotonic-2.c: New test.
10516 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
10517 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
10518 * testsuite/libgomp.c/pr66199-5.c: New test.
10519 * testsuite/libgomp.c/pr66199-6.c: New test.
10520 * testsuite/libgomp.c/pr66199-7.c: New test.
10521 * testsuite/libgomp.c/pr66199-8.c: New test.
10522 * testsuite/libgomp.c/pr66199-9.c: New test.
10523 * testsuite/libgomp.c/reduction-11.c: New test.
10524 * testsuite/libgomp.c/reduction-12.c: New test.
10525 * testsuite/libgomp.c/reduction-13.c: New test.
10526 * testsuite/libgomp.c/reduction-14.c: New test.
10527 * testsuite/libgomp.c/reduction-15.c: New test.
10528 * testsuite/libgomp.c/target-12.c (main): Adjust for
10529 omp_target_is_present change for one-past-last element.
10530 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
10531 the same var is both mapped and privatized.
10532 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
10533 handling of zero-length array sections.
10534 * testsuite/libgomp.c/target-28.c: New test.
10535 * testsuite/libgomp.c/target-29.c: New test.
10536 * testsuite/libgomp.c/target-30.c: New test.
10537 * testsuite/libgomp.c/target-teams-1.c: New test.
10538 * testsuite/libgomp.c++/member-6.C: New test.
10539 * testsuite/libgomp.c++/member-7.C: New test.
10540 * testsuite/libgomp.c++/monotonic-1.C: New test.
10541 * testsuite/libgomp.c++/monotonic-2.C: New test.
10542 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
10543 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
10544 * testsuite/libgomp.c++/pr66199-3.C: New test.
10545 * testsuite/libgomp.c++/pr66199-4.C: New test.
10546 * testsuite/libgomp.c++/pr66199-5.C: New test.
10547 * testsuite/libgomp.c++/pr66199-6.C: New test.
10548 * testsuite/libgomp.c++/pr66199-7.C: New test.
10549 * testsuite/libgomp.c++/pr66199-8.C: New test.
10550 * testsuite/libgomp.c++/pr66199-9.C: New test.
10551 * testsuite/libgomp.c++/reduction-11.C: New test.
10552 * testsuite/libgomp.c++/reduction-12.C: New test.
10553 * testsuite/libgomp.c++/target-13.C: New test.
10554 * testsuite/libgomp.c++/target-14.C: New test.
10555 * testsuite/libgomp.c++/target-15.C: New test.
10556 * testsuite/libgomp.c++/target-16.C: New test.
10557 * testsuite/libgomp.c++/target-17.C: New test.
10558 * testsuite/libgomp.c++/target-18.C: New test.
10559 * testsuite/libgomp.c++/target-19.C: New test.
10560
ccc8282b
NS
105612015-11-04 Nathan Sidwell <nathan@codesourcery.com>
10562
10563 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
10564 and reduction copy.
10565 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10566 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10567 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10568 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10569 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
10570 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10571 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
10572 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10573 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10574 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
10575 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
10576 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10577 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10578 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
10579
5d6823a2
NS
105802015-11-04 Nathan Sidwell <nathan@codesourcery.com>
10581
10582 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
10583 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
10584 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
10585 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
10586 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
10587 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
10588 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
10589 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
10590
5c06742f
NS
105912015-11-03 Nathan Sidwell <nathan@codesourcery.com>
10592
10593 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
10594 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
10595 (GOMP_OFFLOAD_openacc_parallel): Likewise.
10596 * oacc-host.c (host_openacc_exec): Likewise.
10597 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
10598
4bf9e5a8
TS
105992015-11-03 Julian Brown <julian@codesourcery.com>
10600 Thomas Schwinge <thomas@codesourcery.com>
10601
10602 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
10603 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10604 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
10605 Likewise.
10606 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
10607 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
10608
106092015-11-03 James Norris <jnorris@codesourcery.com>
10610
10611 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
10612 file.
10613 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
10614 Likewise.
10615 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
10616 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
10617 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
10618 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
10619 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
10620
a0e701d8
NS
106212015-10-29 Nathan Sidwell <nathan@codesourcery.com>
10622
10623 * openacc.h (enum acc_device_t): Reformat. Ensure layout
10624 compatibility.
10625 (enum acc_async_t): Reformat.
10626 (acc_on_device): Declare compatible with builtin and provide C++
10627 wrapper.
10628 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
10629
41e977ac
TS
106302015-10-29 Thomas Schwinge <thomas@codesourcery.com>
10631 Cesar Philippidis <cesar@codesourcery.com>
10632
10633 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
10634 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
10635 ... this. Add a description of the test at the top of the file.
10636 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
10637 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
10638 ... this. Add a description of the test at the top of the file.
10639
e3091406
NS
106402015-10-28 Nathan Sidwell <nathan@codesourcery.com>
10641
10642 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
10643 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
10644 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
10645 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
10646 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
10647 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
10648
a1c1908b
NS
106492015-10-27 Nathan Sidwell <nathan@codesourcery.com>
10650
10651 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
10652 dimensions.
10653
b3962a4a
TS
106542015-10-27 Thomas Schwinge <thomas@codesourcery.com>
10655
10656 PR testsuite/68063
10657 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
10658
88bae6f4
TS
106592015-10-27 James Norris <jnorris@codesourcery.com>
10660
10661 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
10662 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
10663
8baa7864
TS
106642015-10-26 Thomas Schwinge <thomas@codesourcery.com>
10665
bdeb752c
TS
10666 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
10667 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10668
ecd4fd43
TS
10669 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
10670 acc_device_nvidia usage.
10671 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
10672 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10673 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
10674
aa8b7d30
TS
10675 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
10676 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
10677
7c8f138d
TS
10678 PR libgomp/66518
10679 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
10680
8baa7864
TS
10681 PR libgomp/65437
10682 PR libgomp/66518
10683 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
10684 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
10685
88ebcde5
TV
106862015-10-23 Tom de Vries <tom@codesourcery.com>
10687
10688 PR testsuite/68063
10689 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
10690
9ef83c04
NS
106912015-10-20 Nathan Sidwell <nathan@codesourcery.com>
10692
10693 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
10694 vector_length.
10695 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10696
3837c6d6
IV
106972015-10-14 Ilya Verbin <ilya.verbin@intel.com>
10698 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
10699
10700 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
10701 to 0 when mapnum is 0.
10702
ac8a1965
SH
107032015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
10704
10705 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
10706 Cast to int from int32_t.
10707
d9a6bd32
JJ
107082015-10-13 Jakub Jelinek <jakub@redhat.com>
10709 Aldy Hernandez <aldyh@redhat.com>
10710 Ilya Verbin <ilya.verbin@intel.com>
10711
10712 * config/linux/affinity.c (omp_get_place_num_procs,
10713 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10714 * config/linux/doacross.h: New file.
10715 * config/posix/affinity.c (omp_get_place_num_procs,
10716 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10717 * config/posix/doacross.h: New file.
10718 * env.c: Include gomp-constants.h.
10719 (struct gomp_task_icv): Rename run_sched_modifier to
10720 run_sched_chunk_size.
10721 (gomp_max_task_priority_var): New variable.
10722 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
10723 (handle_omp_display_env): Change _OPENMP value from 201307 to
10724 201511. Print OMP_MAX_TASK_PRIORITY.
10725 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
10726 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
10727 chunk_size and run_sched_modifier to run_sched_chunk_size.
10728 (omp_get_max_task_priority, omp_get_initial_device,
10729 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
10730 omp_get_partition_place_nums): New functions.
10731 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
10732 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
10733 to chunk_size.
10734 (omp_get_num_places_, omp_get_place_num_procs_,
10735 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
10736 omp_get_place_proc_ids_8_, omp_get_place_num_,
10737 omp_get_partition_num_places_, omp_get_partition_place_nums_,
10738 omp_get_partition_place_nums_8_, omp_get_initial_device_,
10739 omp_get_max_task_priority_): New functions.
10740 * libgomp_g.h (GOMP_loop_doacross_static_start,
10741 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
10742 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
10743 GOMP_loop_ull_doacross_dynamic_start,
10744 GOMP_loop_ull_doacross_guided_start,
10745 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
10746 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
10747 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
10748 GOMP_target_data_41, GOMP_target_update_41,
10749 GOMP_target_enter_exit_data): New prototypes.
10750 (GOMP_task): Add prototype argument.
10751 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
10752 (struct gomp_doacross_work_share): New type.
10753 (struct gomp_work_share): Add doacross field.
10754 (struct gomp_task_icv): Rename run_sched_modifier to
10755 run_sched_chunk_size.
10756 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
10757 GOMP_TASK_UNDEFERRED. Add comments.
10758 (struct gomp_task_depend_entry): Add comments.
10759 (struct gomp_task): Likewise.
10760 (struct gomp_taskgroup): Likewise.
10761 (struct gomp_target_task): New type.
10762 (struct gomp_team): Add comment.
10763 (gomp_get_place_proc_ids_8, gomp_doacross_init,
10764 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
10765 gomp_create_target_task, gomp_target_task_fn): New prototypes.
10766 (struct target_var_desc): New type.
10767 (struct target_mem_desc): Adjust comment. Use struct
10768 target_var_desc instead of splay_tree_key for list.
10769 (REFCOUNT_INFINITY): Define.
10770 (struct splay_tree_key_s): Remove copy_from field.
10771 (struct gomp_device_descr): Add dev2dev_func field.
10772 (enum gomp_map_vars_kind): New enum.
10773 (gomp_map_vars): Add one argument.
10774 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
10775 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
10776 omp_get_place_num_procs, omp_get_place_num_procs_,
10777 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
10778 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
10779 omp_get_place_num_, omp_get_partition_num_places,
10780 omp_get_partition_num_places_, omp_get_partition_place_nums,
10781 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
10782 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
10783 omp_target_free, omp_target_is_present, omp_target_memcpy,
10784 omp_target_memcpy_rect, omp_target_associate_ptr and
10785 omp_target_disassociate_ptr.
10786 (GOMP_4.0.2): Renamed to ...
10787 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
10788 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
10789 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
10790 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
10791 GOMP_loop_doacross_static_start, GOMP_doacross_post,
10792 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
10793 GOMP_loop_ull_doacross_guided_start,
10794 GOMP_loop_ull_doacross_runtime_start,
10795 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
10796 GOMP_doacross_ull_wait.
10797 * libgomp.texi: Document omp_get_max_task_priority.
10798 Rename modifier argument to chunk_size for omp_set_schedule and
10799 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
10800 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
10801 to run_sched_chunk_size renaming.
10802 (GOMP_loop_ordered_runtime_start): Likewise.
10803 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10804 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
10805 GOMP_parallel_loop_runtime_start): New functions.
10806 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
10807 to run_sched_chunk_size renaming.
10808 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
10809 GOMP_loop_doacross_guided_start): New functions or aliases.
10810 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
10811 run_sched_modifier to run_sched_chunk_size renaming.
10812 (GOMP_loop_ull_ordered_runtime_start): Likewise.
10813 (gomp_loop_ull_doacross_static_start,
10814 gomp_loop_ull_doacross_dynamic_start,
10815 gomp_loop_ull_doacross_guided_start,
10816 GOMP_loop_ull_doacross_runtime_start): New functions.
10817 (GOMP_loop_ull_doacross_static_start,
10818 GOMP_loop_ull_doacross_dynamic_start,
10819 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
10820 * oacc-mem.c (acc_map_data, present_create_copy,
10821 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
10822 to gomp_map_vars.
10823 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
10824 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
10825 instead of false to gomp_map_vars.
10826 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
10827 * omp.h.in (omp_lock_hint_t): New type.
10828 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10829 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10830 omp_get_place_num, omp_get_partition_num_places,
10831 omp_get_partition_place_nums, omp_get_initial_device,
10832 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
10833 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
10834 omp_target_associate_ptr, omp_target_disassociate_ptr): New
10835 prototypes.
10836 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
10837 (omp_lock_hint_none, omp_lock_hint_uncontended,
10838 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10839 omp_lock_hint_speculative): New parameters.
10840 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10841 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10842 omp_get_place_num, omp_get_partition_num_places,
10843 omp_get_partition_place_nums, omp_get_initial_device,
10844 omp_get_max_task_priority): New interfaces.
10845 (omp_set_schedule, omp_get_schedule): Rename modifier argument
10846 to chunk_size.
10847 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
10848 (omp_lock_hint_none, omp_lock_hint_uncontended,
10849 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10850 omp_lock_hint_speculative): New parameters.
10851 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10852 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10853 omp_get_place_num, omp_get_partition_num_places,
10854 omp_get_partition_place_nums, omp_get_initial_device,
10855 omp_get_max_task_priority): New functions and subroutines.
10856 * ordered.c: Include stdarg.h and string.h.
10857 (MAX_COLLAPSED_BITS): Define.
10858 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
10859 gomp_doacross_ull_init, GOMP_doacross_ull_post,
10860 GOMP_doacross_ull_wait): New functions.
10861 * target.c: Include errno.h.
10862 (resolve_device): If device is not initialized, call
10863 gomp_init_device on it.
10864 (gomp_map_lookup): New function.
10865 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
10866 Don't bump refcount if REFCOUNT_INFINITY. Handle
10867 GOMP_MAP_ALWAYS_TO_P.
10868 (get_kind): Rename is_openacc argument to short_mapkind.
10869 (gomp_map_pointer): Use gomp_map_lookup.
10870 (gomp_map_fields_existing): New function.
10871 (gomp_map_vars): Rename is_openacc argument to short_mapkind
10872 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
10873 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
10874 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
10875 Adjust for tgt->list changed type and copy_from living in there.
10876 (gomp_copy_from_async): Adjust for tgt->list changed type and
10877 copy_from living in there.
10878 (gomp_unmap_vars): Likewise.
10879 (gomp_update): Likewise. Rename is_openacc argument to
10880 short_mapkind. Don't fail if object is not mapped.
10881 (gomp_load_image_to_device): Initialize refcount to
10882 REFCOUNT_INFINITY.
10883 (gomp_target_fallback): New function.
10884 (gomp_get_target_fn_addr): Likewise.
10885 (GOMP_target): Adjust gomp_map_vars caller, use
10886 gomp_get_target_fn_addr and gomp_target_fallback.
10887 (GOMP_target_41): New function.
10888 (gomp_target_data_fallback): New function.
10889 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
10890 (GOMP_target_data_41): New function.
10891 (GOMP_target_update): Adjust gomp_update caller.
10892 (GOMP_target_update_41): New function.
10893 (gomp_exit_data, GOMP_target_enter_exit_data,
10894 gomp_target_task_fn, omp_target_alloc, omp_target_free,
10895 omp_target_is_present, omp_target_memcpy,
10896 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
10897 omp_target_associate_ptr, omp_target_disassociate_ptr,
10898 gomp_load_plugin_for_device): New functions.
10899 * task.c: Include gomp-constants.h. Include taskloop.c
10900 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
10901 (gomp_task_handle_depend): New function.
10902 (GOMP_task): Use it. Add priority argument. Use
10903 gomp-constant.h constants instead of hardcoded numbers.
10904 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
10905 (gomp_create_target_task): New function.
10906 (verify_children_queue, verify_taskgroup_queue,
10907 verify_task_queue): New functions.
10908 (gomp_task_run_pre): Call verify_*_queue functions.
10909 If an upcoming tied task is about to leave the sibling or
10910 taskgroup queues in an invalid state, adjust appropriately.
10911 Remove taskgroup argument. Add comments.
10912 (gomp_task_run_post_handle_dependers): Add comments.
10913 (gomp_task_run_post_remove_parent): Likewise.
10914 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
10915 (GOMP_taskwait): Likewise. Add comments.
10916 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
10917 problem such that the first non parent_depends_on task does not
10918 end up at the end of the children queue.
10919 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
10920 GOMP_TASK_UNDEFERRED.
10921 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
10922 * taskloop.c: New file.
10923 * testsuite/lib/libgomp.exp
10924 (check_effective_target_offload_device_nonshared_as): New proc.
10925 * testsuite/libgomp.c/affinity-2.c: New test.
10926 * testsuite/libgomp.c/doacross-1.c: New test.
10927 * testsuite/libgomp.c/doacross-2.c: New test.
10928 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
10929 Add map clause to target.
10930 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
10931 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
10932 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
10933 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
10934 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
10935 Likewise.
10936 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
10937 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
10938 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
10939 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
10940 not defined. Use those where needed.
10941 * testsuite/libgomp.c/for-4.c: New test.
10942 * testsuite/libgomp.c/for-5.c: New test.
10943 * testsuite/libgomp.c/for-6.c: New test.
10944 * testsuite/libgomp.c/linear-1.c: New test.
10945 * testsuite/libgomp.c/ordered-4.c: New test.
10946 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
10947 only allowed on the loop iterator.
10948 * testsuite/libgomp.c/pr66199-3.c: New test.
10949 * testsuite/libgomp.c/pr66199-4.c: New test.
10950 * testsuite/libgomp.c/reduction-7.c: New test.
10951 * testsuite/libgomp.c/reduction-8.c: New test.
10952 * testsuite/libgomp.c/reduction-9.c: New test.
10953 * testsuite/libgomp.c/reduction-10.c: New test.
10954 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
10955 map(tofrom:s).
10956 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
10957 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
10958 * testsuite/libgomp.c/target-11.c: New test.
10959 * testsuite/libgomp.c/target-12.c: New test.
10960 * testsuite/libgomp.c/target-13.c: New test.
10961 * testsuite/libgomp.c/target-14.c: New test.
10962 * testsuite/libgomp.c/target-15.c: New test.
10963 * testsuite/libgomp.c/target-16.c: New test.
10964 * testsuite/libgomp.c/target-17.c: New test.
10965 * testsuite/libgomp.c/target-18.c: New test.
10966 * testsuite/libgomp.c/target-19.c: New test.
10967 * testsuite/libgomp.c/target-20.c: New test.
10968 * testsuite/libgomp.c/target-21.c: New test.
10969 * testsuite/libgomp.c/target-22.c: New test.
10970 * testsuite/libgomp.c/target-23.c: New test.
10971 * testsuite/libgomp.c/target-24.c: New test.
10972 * testsuite/libgomp.c/target-25.c: New test.
10973 * testsuite/libgomp.c/target-26.c: New test.
10974 * testsuite/libgomp.c/target-27.c: New test.
10975 * testsuite/libgomp.c/taskloop-1.c: New test.
10976 * testsuite/libgomp.c/taskloop-2.c: New test.
10977 * testsuite/libgomp.c/taskloop-3.c: New test.
10978 * testsuite/libgomp.c/taskloop-4.c: New test.
10979 * testsuite/libgomp.c++/ctor-13.C: New test.
10980 * testsuite/libgomp.c++/doacross-1.C: New test.
10981 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
10982 Replace offload_device with offload_device_nonshared_as.
10983 * testsuite/libgomp.c++/for-12.C: New test.
10984 * testsuite/libgomp.c++/for-13.C: New test.
10985 * testsuite/libgomp.c++/for-14.C: New test.
10986 * testsuite/libgomp.c++/linear-1.C: New test.
10987 * testsuite/libgomp.c++/member-1.C: New test.
10988 * testsuite/libgomp.c++/member-2.C: New test.
10989 * testsuite/libgomp.c++/member-3.C: New test.
10990 * testsuite/libgomp.c++/member-4.C: New test.
10991 * testsuite/libgomp.c++/member-5.C: New test.
10992 * testsuite/libgomp.c++/ordered-1.C: New test.
10993 * testsuite/libgomp.c++/reduction-5.C: New test.
10994 * testsuite/libgomp.c++/reduction-6.C: New test.
10995 * testsuite/libgomp.c++/reduction-7.C: New test.
10996 * testsuite/libgomp.c++/reduction-8.C: New test.
10997 * testsuite/libgomp.c++/reduction-9.C: New test.
10998 * testsuite/libgomp.c++/reduction-10.C: New test.
10999 * testsuite/libgomp.c++/reference-1.C: New test.
11000 * testsuite/libgomp.c++/simd14.C: New test.
11001 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
11002 * testsuite/libgomp.c++/target-5.C: New test.
11003 * testsuite/libgomp.c++/target-6.C: New test.
11004 * testsuite/libgomp.c++/target-7.C: New test.
11005 * testsuite/libgomp.c++/target-8.C: New test.
11006 * testsuite/libgomp.c++/target-9.C: New test.
11007 * testsuite/libgomp.c++/target-10.C: New test.
11008 * testsuite/libgomp.c++/target-11.C: New test.
11009 * testsuite/libgomp.c++/target-12.C: New test.
11010 * testsuite/libgomp.c++/taskloop-1.C: New test.
11011 * testsuite/libgomp.c++/taskloop-2.C: New test.
11012 * testsuite/libgomp.c++/taskloop-3.C: New test.
11013 * testsuite/libgomp.c++/taskloop-4.C: New test.
11014 * testsuite/libgomp.c++/taskloop-5.C: New test.
11015 * testsuite/libgomp.c++/taskloop-6.C: New test.
11016 * testsuite/libgomp.c++/taskloop-7.C: New test.
11017 * testsuite/libgomp.c++/taskloop-8.C: New test.
11018 * testsuite/libgomp.c++/taskloop-9.C: New test.
11019 * testsuite/libgomp.fortran/affinity1.f90: New test.
11020 * testsuite/libgomp.fortran/affinity2.f90: New test.
11021
1f600fea
TV
110222015-10-13 Tom de Vries <tom@codesourcery.com>
11023
11024 PR tree-optimization/67476
11025 * testsuite/libgomp.c/autopar-3.c: New test.
11026 * testsuite/libgomp.c/autopar-4.c: New test.
11027 * testsuite/libgomp.c/autopar-5.c: New test.
11028 * testsuite/libgomp.c/autopar-6.c: New test.
11029 * testsuite/libgomp.c/autopar-7.c: New test.
11030 * testsuite/libgomp.c/autopar-8.c: New test.
11031
058a654b
JN
110322015-10-12 James Norris <jnorris@codesourcery.com>
11033
11034 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
11035 initializer.
11036
9e531d37
DM
110372015-10-09 David Malcolm <dmalcolm@redhat.com>
11038
11039 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
11040 using load_gcc_lib.
11041
113020dc
TS
110422015-10-02 Thomas Schwinge <thomas@codesourcery.com>
11043
11044 * oacc-ptx.h: Remove file, moving its content into...
11045 * config/nvptx/fortran.c: ... here...
11046 * config/nvptx/oacc-init.c: ..., here...
11047 * config/nvptx/oacc-parallel.c: ..., and here.
11048 * config/nvptx/openacc.f90: New file.
11049 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
11050 (link_ptx): Don't link in predefined bits of PTX code.
11051
cc3cd79b
NS
110522015-09-30 Nathan Sidwell <nathan@codesourcery.com>
11053 Bernd Schmidt <bernds@codesourcery.com>
11054
11055 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
11056 (struct targ_ptx_obj): New.
11057 (nvptx_tdata): Move earlier, change data format.
11058 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
11059 objects.
11060 (GOMP_OFFLOAD_load_image): Adjust.
11061
4e2a5450
TS
110622015-09-30 Thomas Schwinge <thomas@codesourcery.com>
11063
11064 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
11065 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11066 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11067 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11068 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11069 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11070 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11071 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11072 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11073 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11074 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11075 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11076 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11077 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11078 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11079 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11080 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11081 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11082 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11083 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11084 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11085 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11086 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11087 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11088 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11089 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11090 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11091 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11092 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11093 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11094 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11095 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11096 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11097 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11098 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11099 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11100 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11101 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11102 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11103 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11104 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11105 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11106 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11107 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11108 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11109 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11110 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11111 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11112 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11113 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11114 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11115 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11116 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11117 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11118 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11119 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11120 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11121 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11122 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11123 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11124 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11125 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11126 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11127
164453bb
NS
111282015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11129
11130 * oacc-init.c (acc_on_device): Force optimization level.
11131
a12a0437
NS
111322015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11133
11134 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
11135 (cuda_errlist): Delete.
11136 (cuda_error): Reimplement.
11137
3e32ee19
NS
111382015-09-28 Nathan Sidwell <nathan@codesourcery.com>
11139
11140 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
11141 array.
11142 * libgomp.map (GOACC_parallel_keyed): New.
11143 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
11144 all callers.
11145 (GOACC_parallel_keyed): New interface. Lose geometry arguments
11146 and take keyed varargs list. Adjust call to exec_func.
11147 (GOACC_parallel): Force host fallback.
11148 * libgomp_g.h (GOACC_parallel): Remove.
11149 (GOACC_parallel_keyed): Declare.
11150 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 11151 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
11152 (nvptx_exec): Lose separate geometry args, take array. Process
11153 dynamic dimensions and adjust.
11154 (struct nvptx_tdata): Replace fn_names field with fn_descs.
11155 (GOMP_OFFLOAD_load_image): Adjust for change in function table
11156 data.
11157 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
11158 passing.
11159 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
11160 passing.
11161
6bb4c3e2
CLT
111622015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
11163
11164 PR libgomp/67141
11165 * oacc-int.h (goacc_host_init): Add declaration.
11166 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
11167 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
11168
74032f47 111692015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 11170 Sebastian Pop <s.pop@samsung.com>
74032f47 11171
93d90219 11172 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
11173 match o/p.
11174 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
11175 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
11176 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
11177 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
11178 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
11179
97875f4a
JJ
111802015-09-03 Jakub Jelinek <jakub@redhat.com>
11181
11182 * configure.tgt: Add missing ;; in between nvptx and rtems
11183 snippets.
11184
06441dd5
SH
111852015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11186
11187 * config/posix/pool.h (gomp_adjust_thread_attr): New.
11188 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
11189 (gomp_thread_pool_reservoir): Add priority member.
11190 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
11191 priority.
11192 (parse_thread_pools): Likewise.
11193 * team.c (gomp_team_start): Call configuration provided
11194 gomp_adjust_thread_attr(). Destroy thread attributes if
11195 necessary.
11196 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
11197
66c59f92
SH
111982015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11199
11200 * config/posix/pool.h: New.
11201 * config/rtems/pool.h: Likewise.
11202 * config/rtems/proc.c: Likewise.
11203 * libgomp.h (gomp_thread_destructor): Declare.
11204 * team.c: Include configuration provided "pool.h".
11205 (gomp_get_thread_pool): Define in configuration.
11206 (gomp_team_end): Call configuration defined
11207 gomp_release_thread_pool().
11208
13c41b2e
SH
112092015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11210
11211 * config/rtems/bar.c: New.
11212 * config/rtems/bar.h: Likewise.
11213 * config/rtems/mutex.c: Likewise.
11214 * config/rtems/mutex.h: Likewise.
11215 * config/rtems/sem.c: Likewise.
11216 * config/rtems/sem.h: Likewise.
11217 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
11218 <sys/lock.h> header file.
11219 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
11220 supported by Newlib.
11221 * configure: Regenerate.
11222
7892ec67
SH
112232015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11224
11225 * team.c (gomp_new_thread_pool): Delete and move content to ...
11226 (gomp_get_thread_pool): ... new function. Allocate and
11227 initialize thread pool on demand.
11228 (get_last_team): Use gomp_get_thread_pool().
11229 (gomp_team_start): Delete thread pool initialization.
11230
1b96e9a4
TV
112312015-09-03 Tom de Vries <tom@codesourcery.com>
11232
11233 PR tree-optimization/65637
11234 * testsuite/libgomp.c/autopar-2.c: New test.
11235
3ff2d74e
TV
112362015-08-29 Tom de Vries <tom@codesourcery.com>
11237
11238 PR tree-optimization/46193
11239 * testsuite/libgomp.c/pr46193.c: New test.
11240
2a21ff19
NS
112412015-08-24 Nathan Sidwell <nathan@codesourcery.com>
11242
11243 libgomp/
11244 * libgomp.map: Add 4.0.2 version.
11245 * target.c (offload_image_descr): Add version field.
11246 (gomp_load_image_to_device): Add version argument. Adjust plugin
11247 call. Improve load mismatch diagnostic.
11248 (gomp_unload_image_from_device): Add version argument. Adjust plugin
11249 call.
11250 (GOMP_offload_regster): Make stub function, move bulk to ...
11251 (GOMP_offload_register_ver): ... here. Process version argument.
11252 (GOMP_offload_unregister): Make stub function, move bulk to ...
11253 (GOMP_offload_unregister_ver): ... here. Process version argument.
11254 (gomp_init_device): Process version field.
11255 (gomp_unload_device): Process version field.
11256 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
11257 macros. Check plugin version.
11258 * libgomp.h (gomp_device_descr): Add version function field. Adjust
11259 loader and unloader types.
11260 * oacc-host.c: Include gomp-constants.h.
11261 (host_version): New.
11262 (host_load_image, host_unload_image): Adjust.
11263 (host_dispatch): Add host_version.
11264 * plugin/plugin-nvptx.c: Include gomp-constants.h.
11265 (GOMP_OFFLOAD_version): New.
11266 (GOMP_OFFLOAD_load_image): Add version arg and check it.
11267 (GOMP_OFFLOAD_unload_image): Likewise.
11268 * plugin/plugin-host.c: Include gomp-constants.h.
11269 (GOMP_OFFLOAD_version): New.
11270 (GOMP_OFFLOAD_load_image): Add version arg.
11271 (GOMP_OFFLOAD_unload_image): Likewise.
11272
1358a747
TV
112732015-08-24 Tom de Vries <tom@codesourcery.com>
11274
11275 PR tree-optimization/65468
11276 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
11277
6be5c241
TV
112782015-08-24 Tom de Vries <tom@codesourcery.com>
11279
11280 PR tree-optimization/65468
11281 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
11282
bfe7ac89
JV
112832015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
11284
11285 PR libgomp/66761
11286 PR libgomp/67303
11287 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
11288 (gomp_iter_guided_next): Idem.
11289 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
11290 (gomp_iter_ull_guided_next): Idem.
11291 * config/linux/wait.h (do_spin): Idem.
11292
b97e78b7
TS
112932015-08-10 Thomas Schwinge <thomas@codesourcery.com>
11294
11295 * libgomp-plugin.h (enum offload_target_type): Remove
11296 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
11297 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
11298 * openacc.h (enum acc_device_t): Likewise.
11299 * openacc_lib.h: Likewise.
11300 * oacc-init.c (name_of_acc_device_t): Don't handle it.
11301 (acc_on_device): Just use __builtin_acc_on_device.
11302 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
11303 of acc_on_device builtin.
11304 * plugin/plugin-host.h: Remove file.
11305 * plugin/plugin-host.c: Likewise, but salvage some content into...
11306 * oacc-host.c: ... this file.
11307 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
11308 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
11309 * Makefile.in: Regenerate.
11310 * configure: Likewise.
11311 * testsuite/lib/libgomp.exp
11312 (check_effective_target_openacc_host_nonshm_selected): Remove.
11313 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
11314 ACC_DEVICE_TYPE=host_nonshm.
11315 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11316 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11317 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11318 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11319 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11320 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11321
44a7d18d
TS
113222015-08-10 Thomas Schwinge <thomas@codesourcery.com>
11323 Jakub Jelinek <jakub@redhat.com>
11324
11325 * config/nvptx/affinity.c: New file.
11326 * config/nvptx/alloc.c: Likewise.
11327 * config/nvptx/bar.c: Likewise.
11328 * config/nvptx/barrier.c: Likewise.
11329 * config/nvptx/critical.c: Likewise.
11330 * config/nvptx/env.c: Likewise.
11331 * config/nvptx/error.c: Likewise.
11332 * config/nvptx/fortran.c: Likewise.
11333 * config/nvptx/iter.c: Likewise.
11334 * config/nvptx/iter_ull.c: Likewise.
11335 * config/nvptx/libgomp-plugin.c: Likewise.
11336 * config/nvptx/lock.c: Likewise.
11337 * config/nvptx/loop.c: Likewise.
11338 * config/nvptx/loop_ull.c: Likewise.
11339 * config/nvptx/mutex.c: Likewise.
11340 * config/nvptx/oacc-async.c: Likewise.
11341 * config/nvptx/oacc-cuda.c: Likewise.
11342 * config/nvptx/oacc-host.c: Likewise.
11343 * config/nvptx/oacc-init.c: Likewise.
11344 * config/nvptx/oacc-mem.c: Likewise.
11345 * config/nvptx/oacc-parallel.c: Likewise.
11346 * config/nvptx/oacc-plugin.c: Likewise.
11347 * config/nvptx/omp-lock.h: Likewise.
11348 * config/nvptx/ordered.c: Likewise.
11349 * config/nvptx/parallel.c: Likewise.
11350 * config/nvptx/proc.c: Likewise.
11351 * config/nvptx/ptrlock.c: Likewise.
11352 * config/nvptx/sections.c: Likewise.
11353 * config/nvptx/sem.c: Likewise.
11354 * config/nvptx/single.c: Likewise.
11355 * config/nvptx/splay-tree.c: Likewise.
11356 * config/nvptx/target.c: Likewise.
11357 * config/nvptx/task.c: Likewise.
11358 * config/nvptx/team.c: Likewise.
11359 * config/nvptx/time.c: Likewise.
11360 * config/nvptx/work.c: Likewise.
11361 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
11362 * configure: Regenerate.
11363 * configure.tgt (config_path): Set to "nvptx" for target
11364 nvptx*-*-*.
11365
96a2d174
TS
113662015-08-10 Thomas Schwinge <thomas@codesourcery.com>
11367
11368 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
11369
9ebddeb0
NS
113702015-08-03 Nathan Sidwell <nathan@codesourcery.com>
11371
11372 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
11373 (cuda_errlist): Constify.
11374 (errmsg): Move into ...
11375 (cuda_error): ... here. Make smaller.
11376 (_XSTR, _STR): Delete.
11377 (cuda_synames): Delete.
11378 (verify_device_library): Delete.
11379 (nvptx_init): Don't call it.
11380
12efb1d7
TV
113812015-07-28 Tom de Vries <tom@codesourcery.com>
11382
11383 * testsuite/libgomp.c/uns-outer-4.c: New test.
11384
710ee218
CP
113852015-07-24 Cesar Philippidis <cesar@codesourcery.com>
11386
11387 * testsuite/libgomp.c/pr66714.c: New test.
11388
27c4ac7d
MB
113892015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
11390
11391 PR libgomp/66950
11392 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
11393 (fib_ref): New function.
11394 (fib): Correct corner cases in the recursion.
11395 (main): Replace the non-simd loop with fib_ref call.
11396 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
11397 subroutine.
11398 (fibonacci): Lower the parameter N to 30. Correct accordingly check
11399 for the last array element value. Replace the non-simd loop with
11400 fib_ref call. Remove redundant b_ref array. Remove the comparison
11401 of the last array element with according Fibonacci sequence element.
11402 (fib): Correct corner cases in the recursion.
11403
22be2349
NS
114042015-07-21 Nathan Sidwell <nathan@codesourcery.com>
11405
11406 * target.c (gomp_offload_image_to_device): Rename to ...
11407 (gomp_load_image_to_device): ... here.
11408 (GOMP_offload_register): Adjust call.
11409 (gomp_init_device): Likewise.
11410 (gomp_unload_image_from_device): New. Broken out of ...
11411 (GOMP_offload_unregister): ... here. Call it.
11412 (gomp_unload_device): New.
11413 * libgomp.h (gomp_unload_device): Declare.
11414 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
11415 mem maps.
11416
f3e9a059
NS
114172015-07-20 Nathan Sidwell <nathan@codesourcery.com>
11418
a091118d
NS
11419 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
11420 wait=-specific if.
11421 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
11422 !=0 condition.
11423 (goacc_waits): Move !num_waits handling to ...
11424 (GOACC_wait): ... here, the only caller that might have zero waits.
11425
f3e9a059
NS
11426 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
11427 (struct ptx_image_data): Move earlier, add fns field.
11428 (struct ptx_device): Add images and image_lock fields.
11429 (ptx_images, ptx_image_lock): Delete.
11430 (nvptx_open_device): Initialize images and image_lock fields.
11431 (nvptx_close_device): Destroy image_lock.
11432 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
11433 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
11434 fields.
11435
afb2d80b
NS
114362015-07-17 Nathan Sidwell <nathan@codesourcery.com>
11437
896c28a7
NS
11438 * target.c (GOMP_offload_register): Use int for device type arg.
11439 (GOMP_offload_unregister): Likewise.
11440
ebe4a560
NS
11441 * target.c (struct_offload_image_descr): Constify host_table.
11442 (gomp_offload_image_to_device): Likewise.
11443 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
11444
afb2d80b
NS
11445 * libgomp.h (gomp_device_descr): Constify target data arguments.
11446 * target.c (struct offload_image_descr): Constify target_data.
11447 (gomp_offload_image_to_device): Likewise.
11448 (GOMP_offload_register): Likewise.
93d90219 11449 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
11450 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
11451 GOMP_OFFLOAD_unload_image): Constify target data.
11452 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
11453 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
11454
a4cb876d
NS
114552015-07-16 Nathan Sidwell <nathan@codesourcery.com>
11456
11457 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
11458 Workaround driver library const error.
11459 (struct nvptx_tdata, nvptx_tdata_t): New.
11460 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
11461 type.
11462
28ef6a27
MB
114632015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
11464
11465 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
11466 of EPS parameter from integer to real.
11467 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
11468 type of EPS parameter from integer to real.
11469
6dba0113
SH
114702015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
11471
11472 * team.c (get_last_team): New.
11473 (gomp_new_team): Recycle last non-nested team if possible.
11474 (gomp_team_end): Move team work share list free lock destruction
11475 to ...
11476 (free_team): ... here.
11477
4c1cb4da
MB
114782015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
11479
11480 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
11481 and ref from int to double. Replaced their comparison with
11482 an inequality of their difference and EPS.
11483 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
11484 comparison of pri and a reference number with an inequality of their
11485 difference and EPS.
11486 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
11487 the comparison of sum and sum_ref with an inequality of their
11488 difference and EPS.
11489 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
11490 the comparison of pri and a reference number with an inequality of
11491 their difference and EPS.
11492
343587dc
MB
114932015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
11494
11495 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
11496 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
11497 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
11498 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
11499 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
11500 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
11501 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
11502 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
11503 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
11504 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
11505 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
11506 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
11507 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
11508 variables.
11509 (vec_mult): Likewise. Add #pragma omp taskwait.
11510 (main): Adjust caller.
11511 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
11512 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
11513 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
11514 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
11515 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
11516 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
11517 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
11518 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
11519 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
11520 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
11521 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
11522 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
11523 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
11524 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
11525 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
11526 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
11527 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
11528 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
11529 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
11530 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
11531 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
11532 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
11533 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
11534 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
11535 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
11536 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
11537 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
11538 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
11539 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
11540 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
11541 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
11542 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
11543 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
11544 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
11545 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
11546 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
11547 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
11548 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
11549 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
11550 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
11551 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
11552 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
11553 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
11554 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
11555 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
11556 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
11557 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
11558 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
11559 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
11560 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
11561 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
11562 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
11563 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
11564 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
11565 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
11566 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
11567 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
11568 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
11569 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
11570 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
11571 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
11572 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
11573 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
11574 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
11575 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
11576 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
11577 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
11578 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
11579 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
11580 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
11581 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
11582 (vec_mult): Add !$omp taskwait.
11583 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
11584 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
11585 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
11586 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
11587 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
11588 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
11589 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
11590 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
11591 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
11592 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
11593 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
11594 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
11595 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
11596 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
11597 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
11598 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
11599 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
11600 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
11601 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
11602 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
11603 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
11604 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
11605 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
11606 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
11607 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
11608 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
11609 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
11610 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
11611 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
11612 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
11613 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
11614 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
11615 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
11616 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
11617 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
11618 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
11619 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
11620 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
11621 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
11622 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
11623 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
11624 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
11625 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
11626 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
11627 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
11628 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
11629 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
11630 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
11631 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
11632 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
11633 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
11634 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
11635 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
11636 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
11637 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
11638 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
11639 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
11640 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
11641 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
11642 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
11643 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
11644 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
11645 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
11646 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
11647 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
11648 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
11649 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
11650
9f620bf1
TV
116512015-07-10 Tom de Vries <tom@codesourcery.com>
11652
11653 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
11654 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
11655
a92defda
TS
116562015-07-08 Thomas Schwinge <thomas@codesourcery.com>
11657
11658 PR libgomp/65099
11659 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
11660 in a 64-bit configuration.
11661 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
11662 offloading testing if no such device is available.
11663 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11664 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11665
cadb53a5
TV
116662015-07-08 Tom de Vries <tom@codesourcery.com>
11667
11668 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
11669 second call to f.
11670 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11671
712cb0bb
TV
116722015-07-07 Tom de Vries <tom@codesourcery.com>
11673
11674 PR tree-optimization/66642
11675 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
11676 iteration count case.
11677 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
11678 function, factor out of ...
11679 (main): ... here. Test low iteration count case.
11680
e5210c77
SH
116812015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
11682
11683 * libgomp.h (gomp_thread_pool): Comment last_team field.
11684
f70360e7
UB
116852015-07-02 Uros Bizjak <ubizjak@gmail.com>
11686
11687 * testsuite/libgomp.c++/pr66702-1.C: Require
11688 vect_simd_clones effective target.
11689 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
11690
b451c271
TV
116912015-06-30 Tom de Vries <tom@codesourcery.com>
11692
11693 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11694 already set. Use DEFAULT_CFLAGS in dg-runtest.
11695 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
11696 "-O2".
11697
f8e89d9f
TV
116982015-06-30 Tom de Vries <tom@codesourcery.com>
11699
11700 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11701 already set. Use DEFAULT_CFLAGS in dg-runtest.
11702 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
11703 * testsuite/libgomp.c++/pr64824.C: Same.
11704 * testsuite/libgomp.c++/pr64868.C: Same.
11705 * testsuite/libgomp.c++/pr66199-1.C: Same.
11706 * testsuite/libgomp.c++/pr66199-2.C: Same.
11707 * testsuite/libgomp.c++/target-2.C: Same.
11708 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
11709 -std=<standard> option.
11710 * testsuite/libgomp.c++/udr-11.C: Same.
11711 * testsuite/libgomp.c++/udr-12.C: Same.
11712 * testsuite/libgomp.c++/udr-13.C: Same.
11713 * testsuite/libgomp.c++/udr-14.C: Same.
11714 * testsuite/libgomp.c++/udr-15.C: Same.
11715 * testsuite/libgomp.c++/udr-16.C: Same.
11716 * testsuite/libgomp.c++/udr-17.C: Same.
11717 * testsuite/libgomp.c++/udr-18.C: Same.
11718 * testsuite/libgomp.c++/udr-19.C: Same.
11719 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
11720 * testsuite/libgomp.c++/simd-1.C: Same.
11721 * testsuite/libgomp.c++/simd-2.C: Same.
11722 * testsuite/libgomp.c++/simd-3.C: Same.
11723 * testsuite/libgomp.c++/simd-4.C: Same.
11724 * testsuite/libgomp.c++/simd-5.C: Same.
11725 * testsuite/libgomp.c++/simd-6.C: Same.
11726 * testsuite/libgomp.c++/simd-7.C: Same.
11727 * testsuite/libgomp.c++/simd-8.C: Same.
11728 * testsuite/libgomp.c++/simd-9.C: Same.
11729 * testsuite/libgomp.c++/simd10.C: Same.
11730 * testsuite/libgomp.c++/simd11.C: Same.
11731 * testsuite/libgomp.c++/simd12.C: Same.
11732 * testsuite/libgomp.c++/simd13.C: Same.
11733
3446fe48
JJ
117342015-06-30 Jakub Jelinek <jakub@redhat.com>
11735
11736 PR middle-end/66702
11737 * testsuite/libgomp.c++/pr66702-1.C: New test.
11738 * testsuite/libgomp.c++/pr66702-2.C: New test.
11739
8a36714a
TV
117402015-06-30 Tom de Vries <tom@codesourcery.com>
11741
11742 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
11743 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
11744 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
11745 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
11746
4f75d608
TV
117472015-06-30 Tom de Vries <tom@codesourcery.com>
11748
11749 PR tree-optimization/66652
11750 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
11751 using restrict pointers.
11752 (main): Add arguments to calls to f.
11753 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11754
6d9d1eeb
AT
117552015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
11756
11757 * configure.ac: Fix check for header <sys/sysctl.h>.
11758 * configure: Regenerate.
11759 * config.h.in: Likewise.
11760
1222f22b
TV
117612015-06-23 Tom de Vries <tom@codesourcery.com>
11762
11763 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
11764 abort.
11765 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
11766
d7efbbf6
TS
117672015-06-19 Thomas Schwinge <thomas@codesourcery.com>
11768
bfcd036f
TS
11769 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
11770 acc_device_nvidia.
11771
d7efbbf6
TS
11772 PR libgomp/66518
11773 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
11774 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11775
d7bfc710
TV
117762015-06-15 Tom de Vries <tom@codesourcery.com>
11777
11778 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
11779 dg-additional-options for any remaining options.
11780 * testsuite/libgomp.c/atomic-2.c: Same.
11781 * testsuite/libgomp.c/atomic-4.c: Same.
11782 * testsuite/libgomp.c/atomic-5.c: Same.
11783 * testsuite/libgomp.c/atomic-6.c: Same.
11784 * testsuite/libgomp.c/autopar-1.c: Same.
11785 * testsuite/libgomp.c/copyin-1.c: Same.
11786 * testsuite/libgomp.c/copyin-2.c: Same.
11787 * testsuite/libgomp.c/copyin-3.c: Same.
11788 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
11789 * testsuite/libgomp.c/nestedfn-5.c: Same.
11790 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
11791 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
11792 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
11793 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11794 * testsuite/libgomp.c/pr32362-1.c: Same.
11795 * testsuite/libgomp.c/pr32362-2.c: Same.
11796 * testsuite/libgomp.c/pr32362-3.c: Same.
11797 * testsuite/libgomp.c/pr39591-1.c: Same.
11798 * testsuite/libgomp.c/pr39591-2.c: Same.
11799 * testsuite/libgomp.c/pr39591-3.c: Same.
11800 * testsuite/libgomp.c/pr58392.c: Same.
11801 * testsuite/libgomp.c/pr58756.c: Same.
11802 * testsuite/libgomp.c/simd-1.c: Same.
11803 * testsuite/libgomp.c/simd-10.c: Same.
11804 * testsuite/libgomp.c/simd-11.c: Same.
11805 * testsuite/libgomp.c/simd-12.c: Same.
11806 * testsuite/libgomp.c/simd-13.c: Same.
11807 * testsuite/libgomp.c/simd-14.c: Same.
11808 * testsuite/libgomp.c/simd-15.c: Same.
11809 * testsuite/libgomp.c/simd-2.c: Same.
11810 * testsuite/libgomp.c/simd-3.c: Same.
11811 * testsuite/libgomp.c/simd-4.c: Same.
11812 * testsuite/libgomp.c/simd-5.c: Same.
11813 * testsuite/libgomp.c/simd-6.c: Same.
11814 * testsuite/libgomp.c/simd-7.c: Same.
11815 * testsuite/libgomp.c/simd-8.c: Same.
11816 * testsuite/libgomp.c/simd-9.c: Same.
11817
fb5b5352
TV
118182015-06-15 Tom de Vries <tom@codesourcery.com>
11819
11820 * testsuite/libgomp.c/pr35625.c: Fix typo.
11821
ca431bef
TV
118222015-06-15 Tom de Vries <tom@codesourcery.com>
11823
11824 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
11825 in dg-options.
11826 * testsuite/libgomp.c/atomic-3.c: Same.
11827 * testsuite/libgomp.c/debug-1.c: Same.
11828 * testsuite/libgomp.c/nqueens-1.c: Same.
11829 * testsuite/libgomp.c/pr26171.c: Same.
11830 * testsuite/libgomp.c/pr48591.c: Same.
11831 * testsuite/libgomp.c/pr64824.c: Same.
11832 * testsuite/libgomp.c/pr64868.c: Same.
11833 * testsuite/libgomp.c/pr66133.c: Same.
11834 * testsuite/libgomp.c/pr66199-1.c: Same.
11835 * testsuite/libgomp.c/pr66199-2.c: Same.
11836 * testsuite/libgomp.c/target-8.c: Same.
11837
0d8a9e20
TV
118382015-06-15 Tom de Vries <tom@codesourcery.com>
11839
11840 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
11841 -std={gnu99,c99}.
11842 * testsuite/libgomp.c/for-1.c: Same.
11843 * testsuite/libgomp.c/for-2.c: Same.
11844 * testsuite/libgomp.c/for-3.c: Same.
11845 * testsuite/libgomp.c/pr35625.c: Same.
11846 * testsuite/libgomp.c/pr39154.c: Same.
11847 * testsuite/libgomp.c/simd-16.c: Same.
11848 * testsuite/libgomp.c/simd-17.c: Same.
11849
a6860be9
TV
118502015-06-13 Tom de Vries <tom@codesourcery.com>
11851
11852 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
11853
ab3306d2
TV
118542015-06-13 Tom de Vries <tom@codesourcery.com>
11855
11856 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
11857 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11858 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
11859 (N): Define.
11860 (main): Use N instead of hardcoded constants.
11861
7c82d827
TV
118622015-06-05 Tom de Vries <tom@codesourcery.com>
11863
11864 merge from gomp4 branch:
11865 2015-05-28 Tom de Vries <tom@codesourcery.com>
11866
11867 PR tree-optimization/65443
11868 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
11869 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
11870 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
11871
c469078d
BRF
118722015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
11873
11874 * testsuite/libgomp.graphite/bounds.c: Adjust for
11875 cleanup-tree-dump removal.
11876 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
11877 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
11878 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
11879 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
11880 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
11881 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
11882 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11883 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11884 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
11885 * testsuite/libgomp.graphite/pr41118.c: Likewise.
11886
bb3caa35
UB
118872015-05-28 Uros Bizjak <ubizjak@gmail.com>
11888
11889 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
11890 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
11891 (futex_wake) [!__x86_64__]: Ditto.
11892
9fb5fd44
JB
118932015-05-28 Julian Brown <julian@codesourcery.com>
11894
11895 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
11896 function comment. Only call gomp_fatal if new argument is true.
11897 (acc_dev_num_out_of_range): New function.
11898 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
11899 acc_dev_num_out_of_range as appropriate.
11900 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
11901 (acc_get_device_num, acc_set_device_num): Update calls to
11902 resolve_device.
9fb5fd44
JB
11903 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
11904 output.
11905
32eaed93
JB
119062015-05-28 Julian Brown <julian@codesourcery.com>
11907
11908 PR libgomp/65742
32eaed93
JB
11909 * oacc-init.c (plugin/plugin-host.h): Include.
11910 (acc_on_device): Check whether we're in an offloaded region for
11911 host_nonshm
11912 plugin. Don't use __builtin_acc_on_device.
11913 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
11914 nonshm_exec flag in thread-local data.
11915 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
11916 data for host_nonshm plugin.
11917 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
11918 for host_nonshm plugin.
11919 * plugin/plugin-host.h: New.
11920
ea023bcf
UB
119212015-05-27 Uros Bizjak <ubizjak@gmail.com>
11922
8ed501f1
UB
11923 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
11924
119252015-05-27 Uros Bizjak <ubizjak@gmail.com>
11926
11927 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
11928 Declare as int.
11929 (FUTEX_PRIVATE_FLAG): Remove L suffix.
11930 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
11931 Declare as int.
11932
119332015-05-27 Uros Bizjak <ubizjak@gmail.com>
11934
bb3caa35 11935 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 11936
1716efeb
CLT
119372015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
11938
11939 * target.c (gomp_map_pointer): New function abstracting out
11940 GOMP_MAP_POINTER handling.
11941 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
11942 gomp_map_pointer().
11943
41b37d5e
JJ
119442015-05-19 Jakub Jelinek <jakub@redhat.com>
11945
11946 PR middle-end/66199
11947 * testsuite/libgomp.c/pr66199-1.c: New test.
11948 * testsuite/libgomp.c/pr66199-2.c: New test.
11949 * testsuite/libgomp.c++/pr66199-1.C: New test.
11950 * testsuite/libgomp.c++/pr66199-2.C: New test.
11951 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
11952 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
11953
c8319826
JB
119542015-05-19 Julian Brown <julian@codesourcery.com>
11955
11956 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
11957 on cuInit failure.
11958
b37dddbc
JJ
119592015-05-13 Jakub Jelinek <jakub@redhat.com>
11960
11961 PR middle-end/66133
11962 * testsuite/libgomp.c/pr66133.c: New test.
11963
55fba601
MH
119642015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
11965
11966 * Makefile.in: Regenerated with automake-1.11.6.
11967 * aclocal.m4: Likewise.
11968 * config.h.in: Likewise.
11969 * configure: Likewise.
11970 * testsuite/Makefile.in: Likewise.
11971
1be0899d
JM
119722015-05-08 Jason Merrill <jason@redhat.com>
11973
11974 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
11975 _Complex.
11976
11977 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
11978
d2463960
JB
119792015-05-06 Julian Brown <julian@codesourcery.com>
11980
11981 * oacc-init.c (acc_device_lock): Add explanatory comment.
11982 (resolve_device): Add comment about locking requirement.
11983 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
11984 gomp_init_device and gomp_fini_device calls.
11985 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
11986 (acc_get_device_num, acc_set_device_num): Add locking around
11987 resolve_device and gomp_init_device calls.
11988
e38fdba4
JB
119892015-05-06 Julian Brown <julian@codesourcery.com>
11990
11991 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
11992 goacc_thread_lock on error paths.
11993 * oacc-mem.c (lookup_host): Remove locking from function. Note
11994 locking requirement for caller in function comment.
11995 (lookup_dev): Likewise.
11996 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
11997 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
11998 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
11999 Add locking.
12000
ae8ffbbb
TS
120012015-05-05 Thomas Schwinge <thomas@codesourcery.com>
12002
12003 PR testsuite/65205
12004 PR libgomp/65993
12005 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
12006 don't expect "0x" prefix for "%p" format specifier, don't expect
12007 "(nil)" for NULL pointer.
12008 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12009 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12010 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12011 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12012 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12013 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12014 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12015 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12016 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12017 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12018 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12019 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12020 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12021 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12022 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12023 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12024 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12025 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12026 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12027 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12028 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12029 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12030 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12031 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12032 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12033 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12034 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12035 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12036 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
12037 accurately specify what we're looking for.
12038 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12039 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12040 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12041 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12042 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12043
1309f1d2
JN
120442015-04-30 James Norris <jnorris@codesourcery.com>
12045
12046 PR testsuite/65205
12047 * testsuite/lib/libgomp.exp
12048 (check_effective_target_openacc_host_selected)
12049 (check_effective_target_openacc_host_nonshm_selected): New
12050 procedures.
12051 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
12052 dg-shouldfail.
12053 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12054 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12055 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12056 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12057 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12058 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12059 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12060 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12061 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12062 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12063 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12064 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12065 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12066 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12067 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12068 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12069 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12070 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12071 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12072 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12073 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12074 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12075 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12076 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12077 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12078 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12079 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12080 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12081 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12082 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12083 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12084 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12085 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12086 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12087 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12088 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12089 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12090 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12091 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12092 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12093 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12094 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12095 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12096
d93bdab5
JB
120972015-04-08 Julian Brown <julian@codesourcery.com>
12098
12099 * libgomp.h (target_mem_desc: Remove mem_map field.
12100 (acc_dispatch_t): Remove open_device_func, close_device_func,
12101 get_device_num_func, set_device_num_func, target_data members.
12102 Change create_thread_data_func argument to device number instead of
12103 generic pointer.
12104 * oacc-async.c (assert.h): Include.
12105 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
12106 (acc_wait_all, acc_wait_all_async): Use current host thread's
12107 active device, not base_dev.
12108 * oacc-cuda.c (acc_get_current_cuda_device)
12109 (acc_get_current_cuda_context, acc_get_cuda_stream)
12110 (acc_set_cuda_stream): Likewise.
12111 * oacc-host.c (host_dispatch): Don't set open_device_func,
12112 close_device_func, get_device_num_func or set_device_num_func.
12113 * oacc-init.c (base_dev, init_key): Remove.
12114 (cached_base_dev): New.
12115 (name_of_acc_device_t): New.
12116 (acc_init_1): Initialise default-numbered device, not zeroth.
12117 (acc_shutdown_1): Close all devices of a given type.
12118 (goacc_destroy_thread): Don't use base_dev.
12119 (lazy_open, lazy_init, lazy_init_and_open): Remove.
12120 (goacc_attach_host_thread_to_device): New.
12121 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
12122 (acc_get_num_devices): Don't use base_dev.
12123 (acc_set_device_type): Reimplement.
12124 (acc_get_device_type): Don't use base_dev.
12125 (acc_get_device_num): Tweak logic.
12126 (acc_set_device_num): Likewise.
12127 (acc_on_device): Use acc_get_device_type.
12128 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
12129 (goacc_lazy_initialize): Reimplement with acc_init and
12130 goacc_attach_host_thread_to_device.
12131 * oacc-int.h (goacc_thread): Add base_dev field.
12132 (base_dev): Remove extern declaration.
12133 (goacc_attach_host_thread_to_device): Add prototype.
12134 * oacc-mem.c (acc_malloc): Use current thread's device instead of
12135 base_dev.
12136 (acc_free): Likewise.
12137 (acc_memcpy_to_device): Likewise.
12138 (acc_memcpy_from_device): Likewise.
12139 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
12140 goacc_lazy_initialize (throughout).
12141 (GOACC_parallel): Use tgt_offset to locate target functions.
12142 * target.c (gomp_map_vars): Don't set tgt->mem_map.
12143 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
12144 (gomp_load_plugin_for_device): Remove open_device, close_device,
12145 get_device_num, set_device_num openacc hook initialisation. Don't set
12146 openacc.target_data.
12147 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
12148 (GOMP_OFFLOAD_openacc_close_device)
12149 (GOMP_OFFLOAD_openacc_get_device_num)
12150 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
12151 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
12152 to int.
12153 * plugin/plugin-nvptx.c (ptx_inited): Remove.
12154 (instantiated_devices, ptx_dev_lock): New.
12155 (struct ptx_image_data): New.
12156 (ptx_devices, ptx_images, ptx_image_lock): New.
12157 (fini_streams_for_device): Reorder cuStreamDestroy call.
12158 (nvptx_get_num_devices): Remove forward declaration.
12159 (nvptx_init): Change return type to bool.
12160 (nvptx_fini): Remove.
12161 (nvptx_attach_host_thread_to_device): New.
12162 (nvptx_open_device): Return struct ptx_device* instead of void*.
12163 (nvptx_close_device): Change argument type to struct ptx_device*,
12164 return type to void.
12165 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
12166 (kernel_target_data, kernel_host_table): Remove static globals.
12167 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
12168 (GOMP_OFFLOAD_init_device): Reimplement.
12169 (GOMP_OFFLOAD_fini_device): Likewise.
12170 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
12171 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
12172 (GOMP_OFFLOAD_host2dev): Use ORD argument.
12173 (GOMP_OFFLOAD_openacc_open_device)
12174 (GOMP_OFFLOAD_openacc_close_device)
12175 (GOMP_OFFLOAD_openacc_set_device_num)
12176 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
12177 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
12178 (device number).
12179
12180 testsuite/
12181 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
12182
a51df54e
IV
121832015-04-06 Ilya Verbin <ilya.verbin@intel.com>
12184
12185 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
12186 * libgomp.h (struct gomp_memory_mapping): Remove.
12187 (struct target_mem_desc): Change type of mem_map from
12188 gomp_memory_mapping * to splay_tree_s *.
12189 (struct gomp_device_descr): Remove register_image_func, get_table_func.
12190 Add load_image_func, unload_image_func.
12191 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
12192 Remove offload_regions_registered.
12193 (gomp_init_tables): Remove.
12194 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12195 to splay_tree_s *.
12196 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
12197 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
12198 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
12199 offload_regions_registered.
12200 Initialize load_image_func, unload_image_func, mem_map.root.
12201 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
12202 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
12203 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
12204 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
12205 gomp_memory_mapping *. Use dev's lock and splay_tree.
12206 (lookup_dev): Use dev's lock.
12207 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
12208 (acc_is_present): Likewise.
12209 (acc_map_data): Likewise.
12210 (acc_unmap_data): Likewise. Use dev's lock.
12211 (present_create_copy): Likewise.
12212 (delete_copyout): Pass dev to lookup_host instead of mem_map.
12213 (update_dev_host): Likewise.
12214 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
12215 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
12216 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
12217 (GOMP_OFFLOAD_get_table): Remove
12218 (GOMP_OFFLOAD_load_image): New function.
12219 (GOMP_OFFLOAD_unload_image): New function.
12220 * target.c (register_lock): New mutex for offload image registration.
12221 (num_devices): Do not guard with PLUGIN_SUPPORT.
12222 (gomp_realloc_unlock): New static function.
12223 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
12224 before gomp_fatal.
12225 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
12226 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
12227 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
12228 mem_map's.
12229 (gomp_unmap_vars): Likewise.
12230 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
12231 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
12232 (gomp_offload_image_to_device): New static function.
12233 (GOMP_offload_register): Add mutex lock.
12234 Call gomp_offload_image_to_device for all initialized devices.
12235 Replace gomp_realloc with gomp_realloc_unlock.
12236 (GOMP_offload_unregister): New function.
12237 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
12238 get_table_func from the plugin with calls to init_device_func and
12239 gomp_offload_image_to_device.
12240 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12241 to splay_tree_s *.
12242 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
12243 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
12244 (GOMP_target_data): Do not call gomp_init_tables.
12245 (GOMP_target_update): Likewise. Remove argument from gomp_update.
12246 (gomp_load_plugin_for_device): Replace register_image and get_table
12247 with load_image and unload_image in DLSYM ().
12248 (gomp_register_images_for_device): Remove function.
12249 (gomp_target_init): Do not initialize current_device.mem_map.*,
12250 current_device.offload_regions_registered.
12251 Remove call to gomp_register_images_for_device.
12252 Do not free offload_images and num_offload_images.
12253
6c384511
JJ
122542015-03-30 Jakub Jelinek <jakub@redhat.com>
12255
12256 PR fortran/65597
12257 * testsuite/libgomp.fortran/pr65597.f90: New test.
12258
3e8165a5
TV
122592015-03-27 Tom de Vries <tom@codesourcery.com>
12260
12261 PR testsuite/65594
12262 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
12263 (init, check): New function.
12264 (foo): Change return type to void.
12265 (main): Call init and check.
12266
4d688c9a
TV
122672015-03-27 Tom de Vries <tom@codesourcery.com>
12268
12269 PR testsuite/65594
12270 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
12271 (foo): Use M for non-inner loops to scale down test-case.
12272
01c0b3b0
KT
122732015-03-25 Kai Tietz <ktietz@redhat.com>
12274
12275 PR libgomp/64972
12276 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
12277 (GOACC_data_start): Likewise.
12278 * target.c (gomp_map_vars): Likewise.
12279
844d9a76
JDA
122802015-03-21 John David Anglin <danglin@gcc.gnu.org>
12281
12282 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
12283 hppa*-*-hpux*.
12284
9b65e171
JJ
122852015-03-19 Jakub Jelinek <jakub@redhat.com>
12286
12287 * testsuite/libgomp.c/target-10.c: New test.
12288 * testsuite/libgomp.c++/target-4.C: New test.
12289
db397e2e
IV
122902015-03-13 Ilya Verbin <ilya.verbin@intel.com>
12291
12292 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
12293 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
12294
cd93945d
SH
122952015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
12296
12297 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
12298 * configure.ac (*-*-rtems*): Assume Pthread is supported.
12299 (pthread.h): Check for this header file.
12300 * configure: Regenerate.
12301
05deba9f
TV
123022015-02-25 Tom de Vries <tom@codesourcery.com>
12303
12304 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
12305 (check_reduction_op, check_reduction_macro, max, min):
12306 Declare.
12307 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
12308 function.
12309 (main): Use new functions.
12310
196904d8
IT
123112015-02-18 Ilya Tocar <ilya.tocar@intel.com>
12312
12313 * target.c (gomp_load_plugin_for_device): Use const char * instead of
12314 char * for variables holding dlerror return values.
12315 (DLSYM_OPT): Ditto.
12316
a2818955
TS
123172015-02-17 Thomas Schwinge <thomas@codesourcery.com>
12318
12319 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
12320
26f93312
TS
123212015-02-17 Thomas Schwinge <thomas@codesourcery.com>
12322 Cesar Philippidis <cesar@codesourcery.com>
12323
12324 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
12325 GOACC_ctaid, and GOACC_nctaid routines.
12326
fa01ffcc
JJ
123272015-02-11 Jakub Jelinek <jakub@redhat.com>
12328
12329 PR c/64824
12330 * testsuite/libgomp.c/atomic-18.c: New test.
12331 * testsuite/libgomp.c++/atomic-16.C: New test.
12332
4886ec8e
JJ
123332015-02-04 Jakub Jelinek <jakub@redhat.com>
12334
12335 PR c/64824
12336 PR c/64868
12337 * testsuite/libgomp.c/pr64824.c: New test.
12338 * testsuite/libgomp.c/pr64868.c: New test.
12339 * testsuite/libgomp.c++/pr64824.C: New test.
12340 * testsuite/libgomp.c++/pr64868.C: New test.
12341
02d3e45e
DE
123422015-02-01 David Edelsohn <dje.gcc@gmail.com>
12343
12344 PR libgomp/64635
12345 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
12346 Link with -lpthread.
12347 * config/aix/plugin-suffix.h: Delete.
12348
b5f7a6ca
JH
123492015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
12350
12351 PR libgomp/64635
12352 * configure.tgt (*-*-aix*): Use config_path "aix posix".
12353 (*-*-darwin*): Use config_path "bsd darwin posix".
12354 (*-*-hpux*): Use config_path "hpux posix".
12355 * target.c: Add include of plugin-suffix.h and use
12356 SONAME_SUFFIX macro.
12357 * config/aix/plugin-suffix.h: New file.
12358 * config/darwin/plugin-suffix.h: New file.
12359 * config/hpux/plugin-suffix.h: New file.
12360 * config/posix/plugin-suffix.h: New file.
12361
b8910447
JJ
123622015-01-23 Jakub Jelinek <jakub@redhat.com>
12363
12364 PR middle-end/64734
12365 * libgomp.c/pr64734.c: New test.
12366
a0c88d06
TV
123672015-01-23 Tom de Vries <tom@codesourcery.com>
12368
12369 PR libgomp/64672
12370 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
12371
1506ae0e
TV
123722015-01-23 Tom de Vries <tom@codesourcery.com>
12373
12374 PR libgomp/64707
12375 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
12376 dg-options.
12377
128b26dc
TS
123782015-01-19 Thomas Schwinge <thomas@codesourcery.com>
12379
bed62c21 12380 PR libgomp/64625
128b26dc
TS
12381 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
12382 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
12383 formal parameter. Update all users.
12384 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
12385 Document unused formal parameter.
12386
6e36114c
TS
123872015-01-16 Thomas Schwinge <thomas@codesourcery.com>
12388
12389 * oacc-parallel.c: Don't include <alloca.h>.
12390 (GOACC_parallel): Use gomp_alloca instead of alloca.
12391
973e9808
GP
123922015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
12393
12394 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
12395
41dbbb37
TS
123962015-01-15 Thomas Schwinge <thomas@codesourcery.com>
12397 James Norris <jnorris@codesourcery.com>
12398 Tom de Vries <tom@codesourcery.com>
12399 Julian Brown <julian@codesourcery.com>
12400 Cesar Philippidis <cesar@codesourcery.com>
12401 Nathan Sidwell <nathan@codesourcery.com>
12402 Tobias Burnus <burnus@net-b.de>
12403
12404 * Makefile.am (search_path): Add $(top_srcdir)/../include.
12405 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
12406 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
12407 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
12408 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
12409 Include $(top_srcdir)/plugin/Makefrag.am.
12410 (nodist_libsubinclude_HEADERS): Add openacc.h.
12411 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
12412 openacc.f90, openacc.mod, openacc_kinds.mod.
12413 (omp_lib.mod): Generalize into...
12414 (%.mod): ... this new rule.
12415 (openacc_kinds.mod, openacc.mod): New rules.
12416 * plugin/configfrag.ac: New file.
12417 * configure.ac: Move plugin/offloading support into it. Include
12418 it. Instantiate testsuite/libgomp-test-support.pt.exp.
12419 * plugin/Makefrag.am: New file.
12420 * testsuite/Makefile.am (OFFLOAD_TARGETS)
12421 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
12422 export.
12423 (libgomp-test-support.exp): New rule.
12424 (all-local): Depend on it.
12425 * Makefile.in: Regenerate.
12426 * testsuite/Makefile.in: Regenerate.
12427 * config.h.in: Likewise.
12428 * configure: Likewise.
12429 * configure.tgt: Harden shell syntax.
12430 * env.c: Include "oacc-int.h".
12431 (parse_acc_device_type): New function.
12432 (gomp_debug_var, goacc_device_type, goacc_device_num): New
12433 variables.
12434 (initialize_env): Initialize those. Call
12435 goacc_runtime_initialize.
12436 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
12437 (gomp_fatal): Call gomp_vfatal.
12438 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
12439 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
12440 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
12441 (splay_tree_node, splay_tree, splay_tree_key)
12442 (struct target_mem_desc, struct splay_tree_key_s)
12443 (struct gomp_memory_mapping, struct acc_dispatch_t)
12444 (struct gomp_device_descr, gomp_acc_insert_pointer)
12445 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
12446 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
12447 (gomp_free_memmap, gomp_fini_device): New declarations.
12448 (gomp_vdebug, gomp_debug): New macros.
12449 Include "splay-tree.h".
12450 * libgomp.map (OACC_2.0): New symbol version. Use for
12451 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
12452 acc_set_device_type_h_, acc_get_device_type,
12453 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
12454 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
12455 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
12456 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
12457 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
12458 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
12459 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
12460 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
12461 acc_copyin_array_h_, acc_present_or_copyin,
12462 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
12463 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
12464 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
12465 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
12466 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
12467 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
12468 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
12469 acc_update_device, acc_update_device_32_h_,
12470 acc_update_device_64_h_, acc_update_device_array_h_,
12471 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
12472 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
12473 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
12474 acc_is_present_64_h_, acc_is_present_array_h_,
12475 acc_memcpy_to_device, acc_memcpy_from_device,
12476 acc_get_current_cuda_device, acc_get_current_cuda_context,
12477 acc_get_cuda_stream, acc_set_cuda_stream.
12478 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
12479 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
12480 GOACC_update, GOACC_wait, GOACC_get_thread_num,
12481 GOACC_get_num_threads.
12482 (GOMP_PLUGIN_1.0): New symbol version. Use for
12483 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
12484 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
12485 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
12486 GOMP_PLUGIN_acc_thread.
12487 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
12488 environment variable.
12489 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
12490 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
12491 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
12492 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
12493 (splay_tree_remove): New declarations.
12494 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
12495 (splay_tree_remove, splay_tree_lookup): Move into...
12496 * splay-tree.c: ... this new file.
12497 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
12498 (splay_tree_node, splay_tree, splay_tree_key)
12499 (struct target_mem_desc, struct splay_tree_key_s)
12500 (struct gomp_device_descr): Don't declare.
12501 (num_devices_openmp): New variable.
12502 (gomp_get_num_devices ): Use it.
12503 (gomp_init_targets_once): New function.
12504 (gomp_get_num_devices ): Use it.
12505 (get_kind, gomp_copy_from_async, gomp_free_memmap)
12506 (gomp_fini_device, gomp_register_image_for_device): New functions.
12507 (gomp_map_vars): Add devaddrs parameter.
12508 (gomp_update): Add mm parameter.
12509 (gomp_init_device): Move most of it into...
12510 (gomp_init_tables): ... this new function.
12511 (gomp_register_images_for_device): Remove function.
12512 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
12513 Make them hidden instead of static.
12514 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
12515 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
12516 (GOMP_target_end_data, GOMP_target_update)
12517 (gomp_load_plugin_for_device, gomp_target_init): Update for
12518 OpenACC changes.
12519 * oacc-async.c: New file.
12520 * oacc-cuda.c: Likewise.
12521 * oacc-host.c: Likewise.
12522 * oacc-init.c: Likewise.
12523 * oacc-int.h: Likewise.
12524 * oacc-mem.c: Likewise.
12525 * oacc-parallel.c: Likewise.
12526 * oacc-plugin.c: Likewise.
12527 * oacc-plugin.h: Likewise.
12528 * oacc-ptx.h: Likewise.
12529 * openacc.f90: Likewise.
12530 * openacc.h: Likewise.
12531 * openacc_lib.h: Likewise.
12532 * plugin/plugin-host.c: Likewise.
12533 * plugin/plugin-nvptx.c: Likewise.
12534 * libgomp-plugin.c: Likewise.
12535 * libgomp-plugin.h: Likewise.
12536 * libgomp_target.h: Remove file after merging content into the
12537 former file. Update all users.
12538 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
12539 (offload_targets_s, offload_targets_s_openacc): New variables.
12540 (check_effective_target_openacc_nvidia_accel_present)
12541 (check_effective_target_openacc_nvidia_accel_selected): New
12542 procedures.
12543 (libgomp_init): Update for OpenACC changes.
12544 * testsuite/libgomp-test-support.exp.in: New file.
12545 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
12546 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12547 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12548 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
12549 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
12550 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
12551 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
12552 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
12553 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12554 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
12555 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
12556 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
12557 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
12558 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12559 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
12560 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12561 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
12562 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
12563 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
12564 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
12565 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
12566 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
12567 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
12568 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
12569 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12570 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
12571 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
12572 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
12573 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
12574 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
12575 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12576 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12577 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12578 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
12579 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
12580 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12581 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
12582 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12583 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
12584 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
12585 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
12586 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
12587 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12588 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12589 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12590 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
12591 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12592 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12593 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12594 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12595 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12596 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
12597 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12598 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12599 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12600 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12601 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12602 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12603 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12604 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
12605 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
12606 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
12607 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12608 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12609 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12610 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
12611 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
12612 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12613 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12614 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12615 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
12616 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12617 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12618 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12619 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
12620 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
12621 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12622 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12623 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
12624 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
12625 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
12626 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
12627 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12628 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12629 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12630 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
12631 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
12632 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12633 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12634 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
12635 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
12636 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
12637 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
12638 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12639 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12640 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12641 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12642 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
12643 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12644 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12645 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
12646 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
12647 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
12648 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12649 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
12650 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
12651 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
12652 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
12653 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
12654 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12655 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
12656 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
12657 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12658 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
12659 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
12660 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
12661 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
12662 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
12663 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
12664 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
12665 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
12666 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
12667 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
12668 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
12669 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
12670 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
12671 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
12672 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
12673 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
12674 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
12675 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
12676 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
12677 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12678 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
12679 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
12680 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12681 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12682 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12683 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12684 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
12685 Likewise.
12686 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
12687 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
12688 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
12689 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
12690 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
12691 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
12692 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12693 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12694 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12695 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12696 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12697 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12698 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12699 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
12700 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
12701 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
12702 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
12703 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
12704 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
12705 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
12706 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
12707 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
12708 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
12709 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
12710 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12711 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
12712 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12713 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12714 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
12715 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
12716 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
12717 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
12718 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
12719 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12720 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
12721 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
12722 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
12723 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
12724 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
12725 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
12726 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
12727 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
12728 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
12729 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
12730 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
12731 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
12732 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
12733 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12734 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12735 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12736 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12737 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12738 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12739 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12740 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12741 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12742 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12743 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12744 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12745 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12746
f1f3453e
TS
127472015-01-10 Thomas Schwinge <thomas@codesourcery.com>
12748 Julian Brown <julian@codesourcery.com>
12749 David Malcolm <dmalcolm@redhat.com>
12750
12751 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
12752 to "GNU Offloading and Multi Processing Runtime Library". Change
12753 all users.
12754 * configure: Regenerate.
12755 * libgomp.texi: Update.
12756
f9a0eca4
TS
127572015-01-08 Thomas Schwinge <thomas@codesourcery.com>
12758
b335ef4e
TS
12759 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
12760 "$tgt_dir/lib32".
12761 * configure: Regenerate.
12762
f9a0eca4
TS
12763 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
12764 "intelmic" in $offload_targets.
12765
b67cd4e3
JJ
127662015-01-05 Jakub Jelinek <jakub@redhat.com>
12767
5624e564
JJ
12768 Update copyright years.
12769
b67cd4e3
JJ
12770 * libgomp.texi: Bump @copying's copyright year.
12771
3b41b583
KT
127722014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12773
12774 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 12775 Move load of target-supports.exp earlier.
3b41b583 12776
2354caec
IV
127772014-12-10 Ilya Verbin <ilya.verbin@intel.com>
12778
12779 * testsuite/libgomp.c/target-9.c: New test.
12780
f50eecba
VR
127812014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
12782
12783 * config.h.in: Regenerate.
12784 * configure: Regenerate.
12785 * configure.ac: Add GCC_CHECK_EMUTLS.
12786 * libgomp.h: Add check for USE_EMUTLS: this case
12787 is equal to HAVE_TLS.
12788 * team.c: Likewise.
12789
68bc9270
UB
127902014-12-03 Uros Bizjak <ubizjak@gmail.com>
12791
12792 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
12793
476ff787
AT
127942014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
12795 Ilya Verbin <ilya.verbin@intel.com>
12796
12797 * testsuite/libgomp.c/target-critical-1.c: New test.
12798
31a30e62
JJ
127992014-11-26 Jakub Jelinek <jakub@redhat.com>
12800
12801 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 12802 to dg-options unless expensive testing is on.
31a30e62
JJ
12803 (TESTITERS): Define to N if not defined.
12804 (main): Use TESTITERS instead of N.
12805 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
12806 dg-additional-options depending on whether expensive testing is on.
12807 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
12808 Decrease N to 100000 and CHUNKSZ to 10000.
12809
3f9e8f13
JJ
128102014-11-24 Jakub Jelinek <jakub@redhat.com>
12811
12812 PR fortran/63938
31a30e62
JJ
12813 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
12814 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 12815
c8451a46
SE
128162014-11-21 Steve Ellcey <sellcey@imgtec.com>
12817
12818 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
12819
a699d672
L
128202014-11-21 H.J. Lu <hongjiu.lu@intel.com>
12821
12822 PR bootstrap/63784
12823 * configure: Regenerated.
12824
4a19f719
UB
128252014-11-19 Uros Bizjak <ubizjak@gmail.com>
12826
12827 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
12828 vect_simd_clones effective target.
12829 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
12830
b1bf6c52
JJ
128312014-11-14 Jakub Jelinek <jakub@redhat.com>
12832
12833 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
12834 of 32 as block_size.
12835 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
12836 instead of 32 as block_size.
12837
d64ae614
AT
128382014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
12839 Ilya Verbin <ilya.verbin@intel.com>
12840
12841 * Makefile.in: Regenerate.
12842 * configure: Regenerate.
12843 * configure.ac: Set up offload_additional_options,
12844 offload_additional_lib_paths and offload_targets.
12845 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
12846 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
12847 * testsuite/Makefile.in: Regenerate.
12848 * testsuite/lib/libgomp.exp (libgomp_init): Append
12849 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
12850 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
12851 build directory to LD_LIBRARY_PATH for intelmic offload targets.
12852
122d7303
AT
128532014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
12854 Ilya Verbin <ilya.verbin@intel.com>
12855 Kirill Yukhin <kirill.yukhin@intel.com>
12856 Ilya Tocar <ilya.tocar@intel.com>
12857
12858 * testsuite/lib/libgomp.exp
12859 (check_effective_target_offload_device): New.
12860 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
12861 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
12862 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
12863 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
12864 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
12865 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
12866 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
12867 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
12868 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
12869 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
12870 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
12871 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
12872 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
12873 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
12874 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
12875 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
12876 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
12877 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
12878 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
12879 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
12880 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
12881 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
12882 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
12883 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
12884 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
12885 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
12886 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
12887 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
12888 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
12889 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
12890 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
12891 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
12892 * testsuite/libgomp.c/target-7.c: Fix test.
12893 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
12894 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
12895 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
12896 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
12897 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
12898 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
12899 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
12900 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
12901 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
12902 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
12903 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
12904 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
12905 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
12906 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
12907 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
12908 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
12909 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
12910 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
12911 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
12912 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
12913 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
12914 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
12915 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
12916 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
12917 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
12918 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
12919 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
12920 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
12921 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
12922 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
12923 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
12924
1df3f842
JJ
129252014-11-13 Jakub Jelinek <jakub@redhat.com>
12926 Ilya Verbin <ilya.verbin@intel.com>
12927 Thomas Schwinge <thomas@codesourcery.com>
12928 Andrey Turetskiy <andrey.turetskiy@intel.com>
12929
12930 * libgomp.map (GOMP_4.0.1): New symbol version.
12931 Add GOMP_offload_register.
12932 * libgomp_target.h: New file.
12933 * splay-tree.h: New file.
12934 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
12935 (gomp_target_init): New forward declaration.
12936 (gomp_is_initialized): New static variable.
12937 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
12938 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
12939 New structures.
12940 (offload_images, num_offload_images, devices, num_devices): New static
12941 variables.
12942 (splay_compare): New static function.
12943 (struct gomp_device_descr): New structure.
12944 (gomp_get_num_devices): Call gomp_target_init.
12945 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
12946 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
12947 (GOMP_offload_register): New function.
12948 (GOMP_target): Arrange for host callback to be performed in a separate
12949 initial thread and contention group, inheriting ICVs from
12950 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
12951 Add device initialization and lookup for target function in splay tree.
12952 (GOMP_target_data): Add device initialization and call gomp_map_vars.
12953 (GOMP_target_end_data): Call gomp_unmap_vars.
12954 (GOMP_target_update): Add device initialization and call gomp_update.
12955 (gomp_load_plugin_for_device, gomp_register_images_for_device)
12956 (gomp_target_init): New static functions.
12957
85c64bbe
BS
129582014-11-13 Bernd Schmidt <bernds@codesourcery.com>
12959 Thomas Schwinge <thomas@codesourcery.com>
12960 Ilya Verbin <ilya.verbin@intel.com>
12961 Andrey Turetskiy <andrey.turetskiy@intel.com>
12962
12963 * config.h.in: Regenerate.
12964 * configure: Regenerate.
12965 * configure.ac: Check for libdl, required for plugin support.
12966 (PLUGIN_SUPPORT): Define if plugins are supported.
12967 (enable_offload_targets): Support Intel MIC targets.
12968 (OFFLOAD_TARGETS): List of target names suitable for offloading.
12969
ebf6d33b
FXC
129702014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12971
12972 PR target/63610
12973 * configure: Regenerate.
12974
8c768629
RO
129752014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12976
12977 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
12978
c1d62412
MP
129792014-10-06 Marek Polacek <polacek@redhat.com>
12980
12981 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
12982 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
12983 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
12984 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
12985
44a0c6cb
MP
129862014-10-06 Marek Polacek <polacek@redhat.com>
12987
12988 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
12989 * testsuite/libgomp.c/nqueens-1.c: Likewise.
12990 * testsuite/libgomp.c/pr26943-3.c: Likewise.
12991 * testsuite/libgomp.c/pr26943-4.c: Likewise.
12992 * testsuite/libgomp.c/pr36802-2.c: Likewise.
12993 * testsuite/libgomp.c/pr36802-3.c: Likewise.
12994 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
12995 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
12996 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
12997 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
12998 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
12999 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
13000 * testsuite/libgomp.c/omp-single-1.c: Likewise.
13001 * testsuite/libgomp.c/omp-single-2.c: Likewise.
13002 * testsuite/libgomp.c/omp_matvec.c: Likewise.
13003 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
13004 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
13005 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
13006 declarations.
13007
5771c391
JJ
130082014-10-03 Jakub Jelinek <jakub@redhat.com>
13009
13010 PR libgomp/61200
13011 * testsuite/libgomp.c/pr61200.c: New test.
13012
bce16b88
JJ
130132014-09-18 Jakub Jelinek <jakub@redhat.com>
13014
13015 PR c++/63248
13016 * testsuite/libgomp.c++/pr63248.C: New test.
13017
3696163c
JJ
130182014-08-04 Jakub Jelinek <jakub@redhat.com>
13019
13020 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
13021 is not zero, but taskgroup->children is NULL and there are
13022 any task->children, schedule those instead of waiting.
13023 * testsuite/libgomp.c/depend-6.c: New test.
13024 * testsuite/libgomp.c/depend-7.c: New test.
13025 * testsuite/libgomp.c/depend-8.c: New test.
13026 * testsuite/libgomp.c/depend-9.c: New test.
13027 * testsuite/libgomp.c/depend-10.c: New test.
13028
0494285a
JJ
130292014-08-01 Jakub Jelinek <jakub@redhat.com>
13030
13031 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
13032 (struct gomp_taskwait): New type.
13033 (struct gomp_task): Add taskwait and parent_depends_on, remove
13034 in_taskwait and taskwait_sem fields.
13035 (gomp_finish_task): Don't destroy taskwait_sem.
13036 * task.c (gomp_init_task): Don't init in_taskwait, instead init
13037 taskwait and parent_depends_on.
13038 (GOMP_task): For if (0) tasks with depend clause that depend on
13039 earlier tasks don't defer them, instead call
13040 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
13041 Initialize redundant_out field, for redundant out entries just
13042 move them at the end of linked list instead of removing them
13043 completely, and set redundant_out flag instead of redundant.
13044 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
13045 that task.
13046 (gomp_task_run_post_handle_dependers): If parent is in
13047 gomp_task_maybe_wait_for_dependencies and newly runnable task
13048 is not parent_depends_on, queue it in parent->children linked
13049 list after all runnable tasks with parent_depends_on set.
13050 Adjust for addition of taskwait indirection.
13051 (gomp_task_run_post_remove_parent): If parent is in
13052 gomp_task_maybe_wait_for_dependencies and task to be removed
13053 is parent_depends_on, decrement n_depend and if needed awake
13054 parent. Adjust for addition of taskwait indirection.
13055 (GOMP_taskwait): Adjust for addition of taskwait indirection.
13056 (gomp_task_maybe_wait_for_dependencies): New function.
13057 * testsuite/libgomp.c/depend-5.c: New test.
13058
60ab4b44
TB
130592014-07-13 Tobias Burnus <burnus@net-b.de>
13060
13061 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 13062 with TS 18508/Fortran 2015.
60ab4b44 13063
773ec47f
MP
130642014-07-06 Marek Polacek <polacek@redhat.com>
13065
13066 PR c/6940
13067 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
13068
f707da16
JJ
130692014-07-03 Jakub Jelinek <jakub@redhat.com>
13070
13071 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
13072 matches regex $lang_source_re, add $lang_include_flags to options.
13073 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
13074 * testsuite/libgomp.c++/c++.exp: Likewise.
13075 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
13076 and lang_include_flags instead of adding -fintrinsic-modules-path= to
13077 ALWAYS_CFLAGS.
13078 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
13079
07b6c044
TS
130802014-07-03 Thomas Schwinge <thomas@codesourcery.com>
13081
13082 * testsuite/libgomp.fortran/fortran.exp: Explain
13083 gfortran-dg-runtest usage.
13084
da6f124d
JJ
130852014-06-25 Jakub Jelinek <jakub@redhat.com>
13086
13087 * testsuite/libgomp.fortran/simd5.f90: New test.
13088 * testsuite/libgomp.fortran/simd6.f90: New test.
13089 * testsuite/libgomp.fortran/simd7.f90: New test.
13090
b46ebd6c
JJ
130912014-06-24 Jakub Jelinek <jakub@redhat.com>
13092
56ad0e38
JJ
13093 * testsuite/libgomp.c/for-2.c: Define SC to static for
13094 #pragma omp for simd testing.
13095 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
13096 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
13097 SC macro.
13098 * testsuite/libgomp.c/simd-14.c: New test.
13099 * testsuite/libgomp.c/simd-15.c: New test.
13100 * testsuite/libgomp.c/simd-16.c: New test.
13101 * testsuite/libgomp.c/simd-17.c: New test.
13102 * testsuite/libgomp.c++/for-10.C: Define SC to static for
13103 #pragma omp for simd testing.
13104 * testsuite/libgomp.c++/simd10.C: New test.
13105 * testsuite/libgomp.c++/simd11.C: New test.
13106 * testsuite/libgomp.c++/simd12.C: New test.
13107 * testsuite/libgomp.c++/simd13.C: New test.
13108
b46ebd6c
JJ
13109 * testsuite/libgomp.fortran/aligned1.f03: New test.
13110 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
13111 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
13112 tasks with !$omp parallel !$omp single.
13113 * testsuite/libgomp.fortran/target8.f90: New test.
13114 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
13115 not to use trim in the combiner, instead call elemental function.
13116 (fn): New elemental function.
13117 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
13118 Make elemental.
13119 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
13120 omp_in): Likewise.
13121 * testsuite/libgomp.fortran/udr12.f90: New test.
13122 * testsuite/libgomp.fortran/udr13.f90: New test.
13123 * testsuite/libgomp.fortran/udr14.f90: New test.
13124 * testsuite/libgomp.fortran/udr15.f90: New test.
13125
f014c653
JJ
131262014-06-18 Jakub Jelinek <jakub@redhat.com>
13127
13128 * omp_lib.f90.in (openmp_version): Set to 201307.
13129 * omp_lib.h.in (openmp_version): Likewise.
13130 * testsuite/libgomp.c/target-8.c: New test.
13131 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
13132 and inbranch clauses.
13133 * testsuite/libgomp.fortran/depend-3.f90: New test.
13134 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
13135 openmp_version.
13136 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13137 * testsuite/libgomp.fortran/target1.f90: New test.
13138 * testsuite/libgomp.fortran/target2.f90: New test.
13139 * testsuite/libgomp.fortran/target3.f90: New test.
13140 * testsuite/libgomp.fortran/target4.f90: New test.
13141 * testsuite/libgomp.fortran/target5.f90: New test.
13142 * testsuite/libgomp.fortran/target6.f90: New test.
13143 * testsuite/libgomp.fortran/target7.f90: New test.
13144
92d28cbb
JJ
131452014-06-10 Jakub Jelinek <jakub@redhat.com>
13146
13147 PR fortran/60928
13148 * testsuite/libgomp.fortran/allocatable9.f90: New test.
13149 * testsuite/libgomp.fortran/allocatable10.f90: New test.
13150 * testsuite/libgomp.fortran/allocatable11.f90: New test.
13151 * testsuite/libgomp.fortran/allocatable12.f90: New test.
13152 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
13153 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
13154 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
13155 * testsuite/libgomp.fortran/associate1.f90: New test.
13156 * testsuite/libgomp.fortran/associate2.f90: New test.
13157 * testsuite/libgomp.fortran/procptr1.f90: New test.
13158
5f23671d
JJ
131592014-06-06 Jakub Jelinek <jakub@redhat.com>
13160
13161 * testsuite/libgomp.fortran/simd1.f90: New test.
13162 * testsuite/libgomp.fortran/udr1.f90: New test.
13163 * testsuite/libgomp.fortran/udr2.f90: New test.
13164 * testsuite/libgomp.fortran/udr3.f90: New test.
13165 * testsuite/libgomp.fortran/udr4.f90: New test.
13166 * testsuite/libgomp.fortran/udr5.f90: New test.
13167 * testsuite/libgomp.fortran/udr6.f90: New test.
13168 * testsuite/libgomp.fortran/udr7.f90: New test.
13169 * testsuite/libgomp.fortran/udr8.f90: New test.
13170 * testsuite/libgomp.fortran/udr9.f90: New test.
13171 * testsuite/libgomp.fortran/udr10.f90: New test.
13172 * testsuite/libgomp.fortran/udr11.f90: New test.
13173
0389fbb5
UB
131742014-05-27 Uros Bizjak <ubizjak@gmail.com>
13175
13176 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
13177 vect_simd_clones effective target.
13178 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
13179
decaaec8
JJ
131802014-05-21 Jakub Jelinek <jakub@redhat.com>
13181
13182 PR middle-end/61252
13183 * testsuite/libgomp.c++/simd-9.C: New test.
13184
72832460
UB
131852014-05-18 Uros Bizjak <ubizjak@gmail.com>
13186
13187 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
13188 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
13189 texts according to their @menu entry positions.
13190
dd2fc525
JJ
131912014-05-11 Jakub Jelinek <jakub@redhat.com>
13192
13193 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
13194 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
13195 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
13196 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
13197 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
13198 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
13199 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
13200 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
13201 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
13202 * testsuite/libgomp.fortran/depend-1.f90: New test.
13203 * testsuite/libgomp.fortran/depend-2.f90: New test.
13204 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
13205 * testsuite/libgomp.fortran/simd1.f90: New test.
13206 * testsuite/libgomp.fortran/simd2.f90: New test.
13207 * testsuite/libgomp.fortran/simd3.f90: New test.
13208 * testsuite/libgomp.fortran/simd4.f90: New test.
13209 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
13210
95782571
JJ
132112014-05-02 Jakub Jelinek <jakub@redhat.com>
13212
13213 * testsuite/libgomp.c/simd-10.c: New test.
13214 * testsuite/libgomp.c/simd-11.c: New test.
13215 * testsuite/libgomp.c/simd-12.c: New test.
13216 * testsuite/libgomp.c/simd-13.c: New test.
13217
f7468577
JJ
132182014-04-24 Jakub Jelinek <jakub@redhat.com>
13219
42056eac
JJ
13220 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
13221 atomic type clauses in any order and optional comma in between.
13222 * testsuite/libgomp.c++/atomic-15.C: Likewise.
13223 * testsuite/libgomp.c/atomic-17.c: Likewise.
13224
f7468577
JJ
13225 * testsuite/libgomp.c/simd-7.c: New test.
13226 * testsuite/libgomp.c/simd-8.c: New test.
13227 * testsuite/libgomp.c/simd-9.c: New test.
13228 * testsuite/libgomp.c/loop-16.c: New test.
13229
ab18f2f5
RH
132302014-04-02 Richard Henderson <rth@redhat.com>
13231
13232 * config/linux/futex.h (futex_wait): Get error value from errno.
13233 (futex_wake): Likewise.
13234
8bcc90b0
JJ
132352014-03-25 Jakub Jelinek <jakub@redhat.com>
13236
13237 PR c++/60331
13238 * testsuite/libgomp.c++/udr-11.C: New test.
13239 * testsuite/libgomp.c++/udr-12.C: New test.
13240 * testsuite/libgomp.c++/udr-13.C: New test.
13241 * testsuite/libgomp.c++/udr-14.C: New test.
13242 * testsuite/libgomp.c++/udr-15.C: New test.
13243 * testsuite/libgomp.c++/udr-16.C: New test.
13244 * testsuite/libgomp.c++/udr-17.C: New test.
13245 * testsuite/libgomp.c++/udr-18.C: New test.
13246 * testsuite/libgomp.c++/udr-19.C: New test.
13247
18d73c7f
RS
132482014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
13249
13250 Update copyright years
13251
f9030485
RS
132522014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
13253
13254 * hashtab.h: Use the standard form for the copyright notice.
13255
98db73df
TB
132562014-01-02 Tobias Burnus <burnus@net-b.de>
13257
13258 * libgomp.texi: Bump @copying's copyright year.
13259
ae246f7f
AT
132602013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
13261
93d90219 13262 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
13263 alloca () with __builtin_alloca ().
13264 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
13265 * testsuite/libgomp.c/lock-3.c: Likewise.
13266 * testsuite/libgomp.c/pr48591.c: Likewise.
13267
fa00a5fe
JJ
132682013-12-17 Jakub Jelinek <jakub@redhat.com>
13269
13270 PR testsuite/59534
13271 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
13272 comparisons.
13273
e9792e1d
JJ
132742013-12-16 Jakub Jelinek <jakub@redhat.com>
13275
13276 PR libgomp/58756
13277 * testsuite/libgomp.c/pr58756.c: New test.
13278
cab37c89
JJ
132792013-12-12 Jakub Jelinek <jakub@redhat.com>
13280
13281 PR libgomp/59467
13282 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
13283 !$omp parallel.
13284
de14871c
TS
132852013-11-07 Thomas Schwinge <thomas@codesourcery.com>
13286
1707a5de
TS
13287 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
13288 ALWAYS_CFLAGS.
13289 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
13290 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
13291 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
13292 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
13293 Likewise.
13294
70f05c43
TS
13295 * libgomp_g.h: Include <stddef.h> for size_t.
13296
de14871c
TS
13297 * libgomp.spec.in: Update comment about libgomp's dependencies.
13298 * configure.ac: Likewise.
13299 * configure: Regenerate.
13300
83fd6c5b
TB
133012013-10-16 Tobias Burnus <burnus@net-b.de>
13302
13303 * libgomp.texi: (Runtime Library Routines): Update references for
13304 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
13305 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
13306 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
13307 (Environment Variables): Update references for OpenMP 4.0. Add
13308 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
13309 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
13310 order.
13311
c8673881
JJ
133122013-10-14 Jakub Jelinek <jakub@redhat.com>
13313
13314 * env.c (parse_bind_var): Initialize value to avoid
13315 (false positive) warning.
13316
f89163fd
JJ
133172013-10-12 Jakub Jelinek <jakub@redhat.com>
13318
13319 PR libgomp/58691
13320 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
13321 to check variable.
13322 (gomp_init_num_threads): Move i variable declaration into
13323 #ifdef CPU_ALLOC_SIZE block.
13324 * config/linux/affinity.c (gomp_affinity_init_level): Test
13325 gomp_places_list_len == 0 rather than gomp_places_list == 0
13326 when checking for topology reading error.
13327 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
13328 * env.c (parse_affinity): Add ignore argument, if true, don't populate
13329 gomp_places_list, only parse env var and always return false.
13330 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
13331 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
13332 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
13333 and either of these variables were parsed correctly into a places
13334 list.
13335
1d340638
TS
133362013-10-11 Thomas Schwinge <thomas@codesourcery.com>
13337 Jakub Jelinek <jakub@redhat.com>
13338
13339 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
13340 of 5 loopfn matches.
13341 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13342 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13343 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
13344 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13345 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13346 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13347 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13348 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13349
71a81c21
TS
133502013-10-11 Thomas Schwinge <thomas@codesourcery.com>
13351
bd87f731
TS
13352 * Makefile.am (omp_lib.mod): Streamline rule.
13353 * Makefile.in: Regenerate.
13354
f5745bed
TS
13355 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
13356 exceptions.
13357
b5512c66
TS
13358 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
13359 * testsuite/libgomp.fortran/lib1.f90: Likewise.
13360 * testsuite/libgomp.fortran/lib2.f: Likewise.
13361 * testsuite/libgomp.fortran/lib3.f: Likewise.
13362
451c19c4
TS
13363 * configure.ac: Typo fix.
13364 * configure: Regenerate.
13365
86a6016d
TS
13366 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
13367 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13368
71a81c21
TS
13369 * omp.h.in: Don't touch the user's namespace.
13370
acf0174b
JJ
133712013-10-11 Jakub Jelinek <jakub@redhat.com>
13372 Tobias Burnus <burnus@net-b.de>
13373 Richard Henderson <rth@redhat.com>
13374
13375 * target.c: New file.
13376 * Makefile.am (libgomp_la_SOURCES): Add target.c.
13377 * Makefile.in: Regenerated.
13378 * libgomp_g.h (GOMP_task): Add depend argument.
13379 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13380 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13381 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
13382 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13383 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13384 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
13385 GOMP_taskgroup_start, GOMP_taskgroup_end,
13386 GOMP_parallel_sections): New prototypes.
13387 * fortran.c (omp_is_initial_device): Add ialias_redirect.
13388 (omp_is_initial_device_): New function.
13389 (ULP, STR1, STR2, ialias_redirect): Removed.
13390 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
13391 omp_set_default_device_8_, omp_get_default_device_,
13392 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
13393 functions.
13394 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13395 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13396 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
13397 @@GOMP_4.0.
13398 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
13399 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
13400 omp_set_default_device, omp_set_default_device_,
13401 omp_set_default_device_8_, omp_get_default_device,
13402 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
13403 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
13404 omp_get_team_num_): Export @@OMP_4.0.
13405 * team.c (struct gomp_thread_start_data): Add place field.
13406 (gomp_thread_start): Clear thr->thread_pool and
13407 thr->task before returning. Use gomp_team_barrier_wait_final
13408 instead of gomp_team_barrier_wait. Initialize thr->place.
13409 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
13410 team_cancelled and task_queued_count fields.
13411 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
13412 before calling pthread_exit.
13413 (gomp_free_thread): No longer static. Use
13414 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
13415 (gomp_team_start): Add flags argument. Set
13416 thr->thread_pool->threads_busy to nthreads immediately after creating
13417 new pool. Use gomp_managed_threads_lock instead of
13418 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
13419 (gomp_team_end): Use gomp_managed_threads_lock instead of
13420 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
13421 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 13422 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
13423 rather than thr->ts.work_share.
13424 (initialize_team): Don't call gomp_sem_init here.
13425 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
13426 caller.
13427 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
13428 * env.c (gomp_global_icv): Add default_device_var, target_data and
13429 bind_var initializers.
13430 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13431 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13432 gomp_places_list_len): New variables.
13433 (parse_bind_var, parse_one_place, parse_places_var): New functions.
13434 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
13435 sized places.
13436 (gomp_cancel_var): New global variable.
13437 (parse_int): New function.
13438 (handle_omp_display_env): New function.
13439 (initialize_env): Use it. Initialize default_device_var.
13440 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
13441 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
13442 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
13443 been successfully parsed (and call gomp_init_affinity in that case).
13444 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13445 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13446 omp_get_team_num, omp_is_initial_device): New functions.
13447 * libgomp.h: Include stdlib.h.
13448 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
13449 Define.
13450 (struct target_mem_desc): Forward declare.
13451 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
13452 and thread_limit_var fields.
13453 (gomp_get_num_devices): New prototype.
13454 (gomp_cancel_var): New extern decl.
13455 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
13456 team_cancelled and task_queued_count fields. Add comments about
13457 task_{,queued_,running_}count.
13458 (gomp_cancel_kind): New enum.
13459 (gomp_work_share_end_cancel): New prototype.
13460 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
13461 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
13462 and depend fields.
13463 (struct gomp_taskgroup): New type.
13464 (struct gomp_task_depend_entry,
13465 struct gomp_dependers_vec): New types.
13466 (gomp_finish_task): Free depend_hash if non-NULL.
13467 (struct gomp_team_state): Add place_partition_off
13468 and place_partition_len fields.
13469 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13470 gomp_places_list_len): New extern decls.
13471 (struct gomp_thread): Add place field.
13472 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13473 (gomp_init_thread_affinity): Add place argument.
13474 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13475 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13476 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13477 gomp_affinity_init_level, gomp_affinity_print_place): New
13478 prototypes.
13479 (gomp_team_start): Add flags argument.
13480 (gomp_thread_limit_var, gomp_remaining_threads_count,
13481 gomp_remaining_threads_lock): Remove.
13482 (gomp_managed_threads_lock): New variable.
13483 (struct gomp_thread_pool): Add threads_busy field.
13484 (gomp_free_thread): New prototype.
13485 * task.c: Include hashtab.h.
13486 (hash_entry_type): New typedef.
13487 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
13488 (gomp_init_task): Clear dependers, depend_hash, depend_count,
13489 copy_ctors_done and taskgroup fields.
13490 (GOMP_task): Add depend argument, handle depend clauses. If
13491 gomp_team_barrier_cancelled or if it's taskgroup has been
13492 cancelled, don't queue or start new tasks. Set copy_ctors_done
13493 field if needed. Initialize taskgroup field. If copy_ctors_done
13494 and already cancelled, don't discard the task. If taskgroup is
13495 non-NULL, enqueue the task into taskgroup queue. Increment
13496 num_children field in taskgroup. Increment task_queued_count.
13497 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
13498 gomp_task_run_post_remove_taskgroup): New inline functions.
13499 (gomp_task_run_post_handle_depend_hash,
13500 gomp_task_run_post_handle_dependers,
13501 gomp_task_run_post_handle_depend): New functions.
13502 (GOMP_taskwait): Use them. If more than one new tasks
13503 have been queued, wake other threads if needed.
13504 (gomp_barrier_handle_tasks): Likewise. If
13505 gomp_team_barrier_cancelled, don't start any new tasks, just free
13506 all tasks.
13507 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
13508 * omp_lib.f90.in
13509 (omp_proc_bind_kind, omp_proc_bind_false,
13510 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13511 omp_proc_bind_spread): New params.
13512 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13513 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13514 omp_get_team_num, omp_is_initial_device): New interfaces.
13515 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
13516 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
13517 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
13518 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
13519 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
13520 useless use omp_lib_kinds.
13521 * omp.h.in (omp_proc_bind_t): New typedef.
13522 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13523 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13524 omp_get_team_num, omp_is_initial_device): New prototypes.
13525 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
13526 through to gomp_team_start.
13527 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
13528 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
13529 Adjust gomp_parallel_loop_start callers.
13530 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13531 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13532 GOMP_loop_end_cancel): New functions.
13533 (GOMP_parallel_end): Add ialias_redirect.
13534 * hashtab.h: New file.
13535 * libgomp.texi (Environment Variables): Minor cleanup,
13536 update section refs to OpenMP 4.0rc2.
13537 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
13538 environment variables.
13539 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
13540 team->work_shares_to_free to thr->ts.work_share before calling
13541 free_work_share.
13542 (gomp_work_share_end_cancel): New function.
13543 * config/linux/proc.c: Include errno.h.
13544 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
13545 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
13546 sizeof (cpu_set_t) to determine number of iterations. Fix up check
13547 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
13548 gomp_cpuset_size is sizeof (cpu_set_t).
13549 (gomp_init_num_threads): Initialize gomp_cpuset_size,
13550 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
13551 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
13552 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
13553 contain any logical CPUs.
13554 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
13555 is NULL. Use gomp_cpusetp instead of &cpuset and pass
13556 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
13557 pthread_getaffinity_np. Check gomp_places_list instead of
13558 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
13559 * config/linux/bar.c (gomp_barrier_wait_end,
13560 gomp_barrier_wait_last): Use BAR_* defines.
13561 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
13562 from state where needed. Set work_share_cancelled to 0 on last
13563 thread.
13564 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
13565 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
13566 functions.
13567 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
13568 Add cpusetsize argument.
13569 (gomp_cpuset_size, gomp_cpusetp): Declare.
13570 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
13571 (affinity_counter): Remove.
13572 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
13573 if CPU_ALLOC_SIZE isn't defined.
13574 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
13575 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
13576 bind current thread to the first place.
13577 (gomp_init_thread_affinity): Rewritten. Add place argument, just
13578 pthread_setaffinity_np to gomp_places_list[place].
13579 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13580 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13581 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13582 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
13583 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13584 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13585 (gomp_barrier_t): Add awaited_final field.
13586 (gomp_barrier_init): Initialize awaited_final field.
13587 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
13588 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
13589 prototypes.
13590 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
13591 defines.
13592 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
13593 gomp_team_barrier_cancelled): New inline functions.
13594 (gomp_barrier_last_thread,
13595 gomp_team_barrier_set_task_pending,
13596 gomp_team_barrier_clear_task_pending,
13597 gomp_team_barrier_set_waiting_for_tasks,
13598 gomp_team_barrier_waiting_for_tasks,
13599 gomp_team_barrier_done): Use BAR_* defines.
13600 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
13601 (gomp_barrier_wait_end): Use BAR_* defines.
13602 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
13603 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
13604 Use BAR_* defines.
13605 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
13606 gomp_team_barrier_cancel): New functions.
13607 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
13608 argument.
13609 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13610 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13611 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13612 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
13613 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13614 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13615 (gomp_barrier_t): Add cancellable field.
13616 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
13617 gomp_team_barrier_cancel): New prototypes.
13618 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
13619 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
13620 gomp_team_barrier_cancelled): New inline functions.
13621 (gomp_barrier_wait_start, gomp_barrier_last_thread,
13622 gomp_team_barrier_set_task_pending,
13623 gomp_team_barrier_clear_task_pending,
13624 gomp_team_barrier_set_waiting_for_tasks,
13625 gomp_team_barrier_waiting_for_tasks,
13626 gomp_team_barrier_done): Use BAR_* defines.
13627 * barrier.c (GOMP_barrier_cancel): New function.
13628 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
13629 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13630 omp_proc_bind_spread): New params.
13631 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13632 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13633 omp_get_team_num, omp_is_initial_device): New externals.
13634 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
13635 New functions.
13636 (gomp_resolve_num_threads): Adjust for thread_limit now being in
13637 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
13638 infinity. If not nested, just return minimum of max_num_threads
13639 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
13640 to the returned value. Otherwise, don't update atomically
13641 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
13642 (GOMP_parallel_end): Adjust for thread_limit now being in
13643 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
13644 infinity. Adjust threads_busy in the pool rather than
13645 gomp_remaining_threads_count. Remember team->nthreads and call
13646 gomp_team_end before adjusting threads_busy, if not nested
13647 afterwards, just set it to 1 non-atomically. Add ialias.
13648 (GOMP_parallel_start): Adjust gomp_team_start caller.
13649 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
13650 * testsuite/libgomp.c/affinity-1.c: New test.
13651 * testsuite/libgomp.c/atomic-15.c: New test.
13652 * testsuite/libgomp.c/atomic-16.c: New test.
13653 * testsuite/libgomp.c/atomic-17.c: New test.
13654 * testsuite/libgomp.c/cancel-for-1.c: New test.
13655 * testsuite/libgomp.c/cancel-for-2.c: New test.
13656 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
13657 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
13658 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
13659 * testsuite/libgomp.c/cancel-sections-1.c: New test.
13660 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
13661 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
13662 * testsuite/libgomp.c/depend-1.c: New test.
13663 * testsuite/libgomp.c/depend-2.c: New test.
13664 * testsuite/libgomp.c/depend-3.c: New test.
13665 * testsuite/libgomp.c/depend-4.c: New test.
13666 * testsuite/libgomp.c/for-1.c: New test.
13667 * testsuite/libgomp.c/for-1.h: New file.
13668 * testsuite/libgomp.c/for-2.c: New test.
13669 * testsuite/libgomp.c/for-2.h: New file.
13670 * testsuite/libgomp.c/for-3.c: New test.
13671 * testsuite/libgomp.c/pr58392.c: New test.
13672 * testsuite/libgomp.c/simd-1.c: New test.
13673 * testsuite/libgomp.c/simd-2.c: New test.
13674 * testsuite/libgomp.c/simd-3.c: New test.
13675 * testsuite/libgomp.c/simd-4.c: New test.
13676 * testsuite/libgomp.c/simd-5.c: New test.
13677 * testsuite/libgomp.c/simd-6.c: New test.
13678 * testsuite/libgomp.c/target-1.c: New test.
13679 * testsuite/libgomp.c/target-2.c: New test.
13680 * testsuite/libgomp.c/target-3.c: New test.
13681 * testsuite/libgomp.c/target-4.c: New test.
13682 * testsuite/libgomp.c/target-5.c: New test.
13683 * testsuite/libgomp.c/target-6.c: New test.
13684 * testsuite/libgomp.c/target-7.c: New test.
13685 * testsuite/libgomp.c/taskgroup-1.c: New test.
13686 * testsuite/libgomp.c/thread-limit-1.c: New test.
13687 * testsuite/libgomp.c/thread-limit-2.c: New test.
13688 * testsuite/libgomp.c/thread-limit-3.c: New test.
13689 * testsuite/libgomp.c/udr-1.c: New test.
13690 * testsuite/libgomp.c/udr-2.c: New test.
13691 * testsuite/libgomp.c/udr-3.c: New test.
13692 * testsuite/libgomp.c++/affinity-1.C: New test.
13693 * testsuite/libgomp.c++/atomic-10.C: New test.
13694 * testsuite/libgomp.c++/atomic-11.C: New test.
13695 * testsuite/libgomp.c++/atomic-12.C: New test.
13696 * testsuite/libgomp.c++/atomic-13.C: New test.
13697 * testsuite/libgomp.c++/atomic-14.C: New test.
13698 * testsuite/libgomp.c++/atomic-15.C: New test.
13699 * testsuite/libgomp.c++/cancel-for-1.C: New test.
13700 * testsuite/libgomp.c++/cancel-for-2.C: New test.
13701 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
13702 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
13703 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
13704 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
13705 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
13706 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
13707 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
13708 * testsuite/libgomp.c++/cancel-test.h: New file.
13709 * testsuite/libgomp.c++/for-9.C: New test.
13710 * testsuite/libgomp.c++/for-10.C: New test.
13711 * testsuite/libgomp.c++/for-11.C: New test.
13712 * testsuite/libgomp.c++/simd-1.C: New test.
13713 * testsuite/libgomp.c++/simd-2.C: New test.
13714 * testsuite/libgomp.c++/simd-3.C: New test.
13715 * testsuite/libgomp.c++/simd-4.C: New test.
13716 * testsuite/libgomp.c++/simd-5.C: New test.
13717 * testsuite/libgomp.c++/simd-6.C: New test.
13718 * testsuite/libgomp.c++/simd-7.C: New test.
13719 * testsuite/libgomp.c++/simd-8.C: New test.
13720 * testsuite/libgomp.c++/target-1.C: New test.
13721 * testsuite/libgomp.c++/target-2.C: New test.
13722 * testsuite/libgomp.c++/target-2-aux.cc: New file.
13723 * testsuite/libgomp.c++/target-3.C: New test.
13724 * testsuite/libgomp.c++/taskgroup-1.C: New test.
13725 * testsuite/libgomp.c++/udr-1.C: New test.
13726 * testsuite/libgomp.c++/udr-2.C: New test.
13727 * testsuite/libgomp.c++/udr-3.C: New test.
13728 * testsuite/libgomp.c++/udr-4.C: New test.
13729 * testsuite/libgomp.c++/udr-5.C: New test.
13730 * testsuite/libgomp.c++/udr-6.C: New test.
13731 * testsuite/libgomp.c++/udr-7.C: New test.
13732 * testsuite/libgomp.c++/udr-8.C: New test.
13733 * testsuite/libgomp.c++/udr-9.C: New test.
13734
bd599dea
JJ
137352013-09-20 Jakub Jelinek <jakub@redhat.com>
13736
13737 PR testsuite/57605
13738 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
13739 ALWAYS_CFLAGS.
13740
3cbe17f7
AM
137412013-09-20 Alan Modra <amodra@gmail.com>
13742
13743 * configure: Regenerate.
13744
4befd127
JJ
137452013-09-19 Jakub Jelinek <jakub@redhat.com>
13746
13747 * testsuite/libgomp.c/sections-2.c: New test.
13748
946c8f7b
MS
137492013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
13750
13751 * testsuite/libgomp.fortran/strassen.f90:
13752 Add dg-skip-if aarch64_tiny.
13753
1ef3b58e
IS
137542013-06-20 Iain Sandoe <iain@codesourcery.com>
13755 Cesar Philippidis <cesar@codesourcery.com>
13756
13757 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
13758 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
13759 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
13760 * testsuite/libgomp.fortran/fortran.exp: Likewise.
13761 * testsuite/libgomp.graphite/graphite.exp: Likewise.
13762 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
13763 Use dg-runtest rather than gfortran-dg-runtest.
13764
9275f73a
TS
137652013-06-10 Thomas Schwinge <thomas@codesourcery.com>
13766
13767 * testsuite/libgomp.c/icv-2.c: Extend current handling of
13768 Linux-based x86 systems to cover all GNU systems.
13769 * testsuite/libgomp.c/lock-3.c: Likewise.
13770 * testsuite/libgomp.c/pr48591.c: Likewise.
13771
492992e2
TS
137722013-06-06 Thomas Schwinge <thomas@codesourcery.com>
13773
48df3acb
TS
13774 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
13775 GNU/Hurd, as done for Linux-based systems.
13776
492992e2
TS
13777 * config/posix/ptrlock.h: Fix comment.
13778
4fed6b25
TB
137792013-05-27 Tobias Burnus <burnus@net-b.de>
13780
13781 PR fortran/57423
13782 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
13783 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
13784 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
13785 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
13786 omp_destroy_nest_lock): Correct arguments to match the one in
13787 the OpenMP spec.
13788 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
13789 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
13790 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
13791 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
13792
5a0f4dd3
JJ
137932013-05-16 Jakub Jelinek <jakub@redhat.com>
13794
13795 * testsuite/libgomp.c/loop-13.c: New test.
13796 * testsuite/libgomp.c/loop-14.c: New test.
13797 * testsuite/libgomp.c/loop-15.c: New test.
13798 * testsuite/libgomp.c++/loop-13.C: New test.
13799 * testsuite/libgomp.c++/loop-14.C: New test.
13800 * testsuite/libgomp.c++/loop-15.C: New test.
13801
6d840d99
JJ
138022013-02-06 Jakub Jelinek <jakub@redhat.com>
13803
13804 PR middle-end/56217
13805 * testsuite/libgomp.c++/pr56217.C: New test.
13806
bed8d8a6
AM
138072013-02-01 Alan Modra <amodra@gmail.com>
13808
13809 * task.c (GOMP_task, GOMP_taskwait): Comment.
13810
3b35cd04
DV
138112013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
13812 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
13813
13814 PR libgomp/55561
13815 * config/linux/wait.h (do_spin): Use atomic load for addr.
13816 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
13817 for intptr and ptrlock.
13818 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
13819 for ptrlock.
13820
9a647288
AM
138212013-01-22 Alan Modra <amodra@gmail.com>
13822
13823 PR libgomp/51376
13824 PR libgomp/56073
13825 * task.c (GOMP_task): Revert 2011-12-09 change.
13826 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
13827 barrier to read task->children..
13828 (gomp_barrier_handle_tasks): ..and matching atomic store with
13829 release barrier here when setting parent->children to NULL.
13830
f34dea03
JJ
138312013-01-16 Jakub Jelinek <jakub@redhat.com>
13832 Tobias Burnus <burnus@net-b.de>
13833
13834 PR driver/55884
13835 * testsuite/libgomp.fortran/fortran.exp: Use
13836 -fintrinsic-modules-path= instead of
13837 -fintrinsic-modules-path.
13838
8129609c
RS
138392013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
13840
13841 Update copyright years.
13842
aa86bf1e
TB
138432012-12-19 Tobias Burnus <burnus@net-b.de>
13844
13845 * testsuite/libgomp.fortran/fortran.exp: Set
13846 -fintrinsic-modules-path.
13847
2865ea66
TB
138482012-12-19 Tobias Burnus <burnus@net-b.de>
13849
13850 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
13851 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
13852
4c5ba8d0
JJ
138532012-11-21 Jakub Jelinek <jakub@redhat.com>
13854
13855 PR libgomp/55411
13856 * team.c (gomp_free_thread): Decrease gomp_managed_threads
13857 if pool had any threads_used.
13858
e9f958c2
JH
138592012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
13860
13861 * testsuite/libgomp.c++/pr24455.C: Use
13862 -Wl,-undefined,dynamic_lookup on darwin.
13863
a57d75dc
DE
138642012-11-07 David Edelsohn <dje.gcc@gmail.com>
13865
13866 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
13867
c6c08485
DH
138682012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
13869
13870 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
13871
c1f37c00
IB
138722012-10-23 Ian Bolton <ian.bolton@arm.com>
13873 Jim MacArthur <jim.macarthur@arm.com>
13874 Marcus Shawcroft <marcus.shawcroft@arm.com>
13875 Nigel Stephens <nigel.stephens@arm.com>
13876 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13877 Richard Earnshaw <rearnsha@arm.com>
13878 Sofiane Naci <sofiane.naci@arm.com>
13879 Stephen Thomas <stephen.thomas@arm.com>
13880 Tejas Belagod <tejas.belagod@arm.com>
13881 Yufeng Zhang <yufeng.zhang@arm.com>
13882
13883 * configure.tgt: Add AArch64.
13884
7c424acd
JM
138852012-10-04 Jason Merrill <jason@redhat.com>
13886
13887 * testsuite/libgomp.c++/tls-init1.C: New.
13888
6608378b
DE
138892012-09-14 David Edelsohn <dje.gcc@gmail.com>
13890
13891 * configure: Regenerated.
13892
c24dbebb
CLT
138932012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
13894
13895 * config/linux/mips/futex.h (sys_futex0): Change to static
13896 function with noinline, nomips16 attributes under MIPS16. Adjust
13897 asm statement to place 'li v0,SYS_futex' immediately before
13898 syscall insn.
13899
3d3949df
SL
139002012-07-04 Sandra Loosemore <sandra@codesourcery.com>
13901
13902 * libgomp.texi (Library Index): Renamed from "Index" to prevent
13903 conflict with index.html on case-insensitive file systems.
13904
68a12ef3
UB
139052012-07-03 Uros Bizjak <ubizjak@gmail.com>
13906
13907 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
13908 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
13909
33ad93b9 139102012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
13911 Michael Matz <matz@suse.de>
13912 Tobias Grosser <tobias@grosser.es>
13913 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
13914
13915 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
13916 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13917 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13918 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13919
e6fdc918
AS
139202012-06-28 Andreas Schwab <schwab@linux-m68k.org>
13921
13922 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
13923
62e0a1ed
RG
139242012-06-22 Richard Guenther <rguenther@suse.de>
13925
13926 Merge from graphite branch
13927 2012-01-13 Tobias Grosser <tobias@grosser.es>
13928
13929 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
13930 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13931
26127932
JJ
139322012-06-07 Jakub Jelinek <jakub@redhat.com>
13933
13934 PR middle-end/53580
13935 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
13936 use GOMP_barrier () call instead.
13937 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13938 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13939 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
13940 call GOMP_barrier instead.
13941 * testsuite/libgomp.fortran/vla5.f90: Likewise.
13942
43fa5db5
JJ
139432012-06-06 Jakub Jelinek <jakub@redhat.com>
13944
13945 PR libgomp/52993
13946 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
13947 argument to memset call.
13948
e6d5f8c9
L
139492012-05-16 H.J. Lu <hongjiu.lu@intel.com>
13950
13951 * configure: Regenerated.
13952
559d990c
MLI
139532012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
13954
13955 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
13956
b9c23a61
L
139572012-03-31 H.J. Lu <hongjiu.lu@intel.com>
13958
13959 PR bootstrap/52812
13960 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
13961
c140ddf3
JJ
139622012-03-22 Jakub Jelinek <jakub@redhat.com>
13963
13964 PR middle-end/52547
13965 * testsuite/libgomp.c/pr52547.c: New test.
13966
6a26a74d
BRF
139672012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
13968
13969 * testsuite/lib/libgomp.exp: load fortran-modules.exp
13970
b24513a1
RO
139712012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13972
13973 * configure.tgt (mips-sgi-irix6*): Remove.
13974
5c30094f
RO
139752012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13976
13977 * configure.tgt (alpha*-dec-osf*): Remove.
13978
13979 * config/osf/sem.h: Remove.
13980 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
13981
a339c9d6
EB
139822012-02-29 Eric Botcazou <ebotcazou@adacore.com>
13983
13984 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
13985
cc2de92d
RO
139862012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13987
13988 PR libstdc++/52188
13989 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
13990 Remove ENABLE_SYMVERS_SOL2.
13991 * configure: Regenerate.
13992 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
13993 (PREPROCESS): New variable.
13994 (libgomp.ver): New target.
13995 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
13996 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
13997 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
13998 Use libgomp.ver.
13999 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
14000 * Makefile.in: Regenerate.
14001
dd552284
WL
140022012-02-14 Walter Lee <walt@tilera.com>
14003
14004 * configure.tgt: Handle tilegx and tilepro.
14005 * config/linux/tile/futex.h: New file.
14006
31432e21
RG
140072012-02-08 Richard Guenther <rguenther@suse.de>
14008
14009 PR tree-optimization/46886
14010 * testsuite/libgomp.c/pr46886.c: New testcase.
14011
b9264b5f
MK
140122012-01-25 Matthias Klose <doko@ubuntu.com>
14013
14014 * config/linux/arm: Remove empty directory.
14015 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
14016
fbf7be80
AM
140172011-12-09 Alan Modra <amodra@gmail.com>
14018
14019 PR libgomp/51376
14020 * task.c (GOMP_taskwait): Don't access task->children outside of
14021 task_lock mutex region.
14022 (GOMP_task): Likewise.
14023
5de62d00
JJ
140242011-12-06 Jakub Jelinek <jakub@redhat.com>
14025
14026 PR libgomp/51132
14027 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
14028 to file scope.
14029 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14030 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14031 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14032 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14033 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14034
45608a43
AM
140352011-12-02 Alan Modra <amodra@gmail.com>
14036
14037 * config/linux/affinity.c: Use atomic rather than sync builtin.
14038 * config/linux/lock.c: Likewise.
14039 * config/linux/ptrlock.h: Likewise.
14040 * config/linux/ptrlock.c: Likewise.
14041 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
14042 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
14043 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
14044 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
14045 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
14046 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
14047 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
14048 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
14049 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
14050 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
14051
ab6dd406
AM
140522011-11-30 Alan Modra <amodra@gmail.com>
14053
14054 PR libgomp/51298
14055 * config/linux/bar.h: Use atomic rather than sync builtins.
14056 * config/linux/bar.c: Likewise. Add missing acquire
14057 synchronisation on generation field.
14058 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
14059 double unlock.
14060
b40c885f
AM
140612011-11-30 Alan Modra <amodra@gmail.com>
14062
14063 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
14064 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
14065 * config/linux/mutex.h: Use atomic rather than sync builtins.
14066 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
14067 * config/linux/omp-lock.h: Comment fix.
14068 * config/linux/arm/mutex.h: Delete.
14069 * config/linux/powerpc/mutex.h: Delete.
14070 * config/linux/ia64/mutex.h: Delete.
14071 * config/linux/mips/mutex.h: Delete.
14072
3e348fcc
AM
140732011-11-30 Alan Modra <amodra@gmail.com>
14074
14075 PR libgomp/51249
14076 * config/linux/sem.h: Rewrite.
14077 * config/linux/sem.c: Rewrite.
14078
cef86eb2
RH
140792011-11-28 Richard Henderson <rth@redhat.com>
14080
14081 * libgomp.h (enum memmodel): New.
14082
c6084f68
AT
140832011-11-21 Andreas Tobler <andreast@fgznet.ch>
14084
14085 * configure: Regenerate.
14086
06fe026c
MK
140872011-10-10 Matthias Klose <doko@ubuntu.com>
14088
14089 * config/posix95: Remove empty directory.
14090
a6c975bd
JJ
140912011-08-26 Jakub Jelinek <jakub@redhat.com>
14092
14093 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
14094
c26dffff
JJ
140952011-08-19 Jakub Jelinek <jakub@redhat.com>
14096
14097 PR fortran/49792
14098 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
14099 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
14100
ddaad3c8
RO
141012011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14102
14103 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
14104
98d03683
RO
141052011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14106
14107 PR libgomp/49965
14108 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
14109
e0b23d9f
UB
141102011-08-03 Uros Bizjak <ubizjak@gmail.com>
14111
14112 * config/linux/proc.h: New.
14113 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
14114 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
14115 (gomp_init_num_threads): Update call to cpuset_popcount.
14116 (get_num_procs): Ditto.
14117 * config/linux/affinity.c (gomp_init_affinity): Call
14118 gomp_cpuset_popcount.
14119
20906c66
JJ
141202011-08-02 Jakub Jelinek <jakub@redhat.com>
14121
14122 PR fortran/42041
14123 PR fortran/46752
14124 * omp.h.in (omp_in_final): New prototype.
14125 * omp_lib.f90.in (omp_in_final): New interface.
14126 (omp_integer_kind, omp_logical_kind): Remove
14127 and replace all its uses in the module with 4.
14128 (openmp_version): Change to 201107.
14129 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
14130 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
14131 kind for the parameters.
14132 (omp_in_final): New external.
14133 (openmp_version): Change to 201107.
14134 * task.c (omp_in_final): New function.
14135 (gomp_init_task): Initialize final_task.
14136 (GOMP_task): Remove unused attribute from flags. Handle final
14137 tasks.
14138 (GOMP_taskyield): New function.
14139 (omp_in_final): Return true if if (false) or final (true) task
14140 or descendant of final (true).
14141 * fortran.c (omp_in_final_): New function.
14142 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
14143 (GOMP_3.0): Export GOMP_taskyield.
14144 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
14145 variables.
14146 (parse_unsigned_long_list): New function.
14147 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
14148 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
14149 even if parse_affinity returned false.
14150 * config/linux/affinity.c (gomp_init_affinity): Handle
14151 gomp_cpu_affinity_len == 0.
14152 * libgomp_g.h (GOMP_taskyield): New prototype.
14153 * libgomp.h (struct gomp_task): Add final_task field.
14154 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
14155 * team.c (gomp_team_start): Override new task's nthreads_var icv
14156 if list form OMP_NUM_THREADS has been used and it has value for
14157 the new nesting level.
14158
14159 * testsuite/libgomp.c/atomic-11.c: New test.
14160 * testsuite/libgomp.c/atomic-12.c: New test.
14161 * testsuite/libgomp.c/atomic-13.c: New test.
14162 * testsuite/libgomp.c/atomic-14.c: New test.
14163 * testsuite/libgomp.c/reduction-6.c: New test.
14164 * testsuite/libgomp.c/task-5.c: New test.
14165 * testsuite/libgomp.c++/atomic-2.C: New test.
14166 * testsuite/libgomp.c++/atomic-3.C: New test.
14167 * testsuite/libgomp.c++/atomic-4.C: New test.
14168 * testsuite/libgomp.c++/atomic-5.C: New test.
14169 * testsuite/libgomp.c++/atomic-6.C: New test.
14170 * testsuite/libgomp.c++/atomic-7.C: New test.
14171 * testsuite/libgomp.c++/atomic-8.C: New test.
14172 * testsuite/libgomp.c++/atomic-9.C: New test.
14173 * testsuite/libgomp.c++/task-8.C: New test.
14174 * testsuite/libgomp.c++/reduction-4.C: New test.
14175 * testsuite/libgomp.fortran/allocatable7.f90: New test.
14176 * testsuite/libgomp.fortran/allocatable8.f90: New test.
14177 * testsuite/libgomp.fortran/crayptr3.f90: New test.
14178 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
14179 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
14180 * testsuite/libgomp.fortran/pointer1.f90: New test.
14181 * testsuite/libgomp.fortran/pointer2.f90: New test.
14182 * testsuite/libgomp.fortran/task4.f90: New test.
14183
141842011-08-02 Tobias Burnus <burnus@net-b.de>
14185
14186 * libgomp.texi: Update OpenMP spec references to 3.1.
14187 (omp_in_final,OMP_PROC_BIND): New sections.
14188 (OMP_NUM_THREADS): Document that the value can be now a list.
14189 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
14190
c01ecafc
L
141912011-08-02 H.J. Lu <hongjiu.lu@intel.com>
14192
14193 * config/linux/x86/futex.h: Check __x86_64__ instead of
14194 __LP64__.
14195
25142650
JJ
141962011-07-29 Jakub Jelinek <jakub@redhat.com>
14197
14198 PR middle-end/49897
14199 PR middle-end/49898
14200 * testsuite/libgomp.c/pr49897-1.c: New test.
14201 * testsuite/libgomp.c/pr49897-2.c: New test.
14202 * testsuite/libgomp.c/pr49898-1.c: New test.
14203 * testsuite/libgomp.c/pr49898-2.c: New test.
14204
f53d712f
L
142052011-07-28 H.J. Lu <hongjiu.lu@intel.com>
14206
14207 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
14208 for ia32 instead of ilp32.
14209
14210 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
14211 * testsuite/libgomp.c/atomic-6.c: Likewise.
14212
3689198d
SP
142132011-07-23 Sebastian Pop <sebastian.pop@amd.com>
14214
14215 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
14216 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
14217
1a79cb73
RO
142182011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14219
14220 PR libgomp/45351
14221 * config/osf/sem.h: New file.
14222 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
14223
c1f51484
RO
142242011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14225
14226 PR target/49541
14227 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
14228 ldflags.
14229
bfee0724
JJ
142302011-07-15 Jakub Jelinek <jakub@redhat.com>
14231
14232 * config/linux/wait.h (do_spin): New inline, largely copied
14233 from do_wait, just don't do futex_wait here, instead return true if
14234 it should be done.
14235 (do_wait): Implement using do_spin.
14236 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
14237 to prototype.
14238 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14239 __sync_bool_compare_and_swap, pass the oldval to
14240 gomp_mutex_lock_slow.
14241 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
14242 If all mutex contenders are just spinning and not sleeping, don't
14243 change state to 2 unnecessarily. Optimize the loop when state has
14244 already become 2 to use just one atomic operation per loop instead
14245 of two.
14246 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
14247 to prototype.
14248 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14249 __sync_bool_compare_and_swap, pass the oldval to
14250 gomp_mutex_lock_slow.
14251
fb79f500
JJ
142522011-06-22 Jakub Jelinek <jakub@redhat.com>
14253
14254 PR libgomp/49490
14255 * iter.c (gomp_iter_static_next): For chunk size 0
14256 only use n ceil/ nthreads size for the first
14257 n % nthreads threads in the team instead of
14258 all threads except for the last few ones which
14259 get less work or none at all.
14260 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
14261 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
14262 chunk argument, set run_sched_modifier to 0 for static
14263 resp. 1 for other kinds. If chunk argument is 0
14264 and not static, set value to 1.
14265
4577f730
JJ
142662011-05-19 Jakub Jelinek <jakub@redhat.com>
14267
ea93a47b
JJ
14268 PR c++/49043
14269 * testsuite/libgomp.c++/pr49043.C: New test.
14270
4577f730
JJ
14271 PR c++/48869
14272 * testsuite/libgomp.c++/pr48869.C: New test.
14273
e7385332
JJ
142742011-05-06 Jakub Jelinek <jakub@redhat.com>
14275
14276 PR fortran/48894
14277 * fortran.c: Include limits.h.
14278 (TO_INT): Define.
14279 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
14280 *set.
14281 (omp_set_num_threads_8_, omp_set_schedule_8_,
14282 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
14283 omp_get_team_size_8_): Use TO_INT macro.
14284 * testsuite/libgomp.fortran/pr48894.f90: New test.
14285
20790697
JJ
142862011-04-13 Jakub Jelinek <jakub@redhat.com>
14287
14288 PR middle-end/48591
14289 * testsuite/libgomp.c/pr48591.c: New test.
14290
bf382f5f
RO
142912011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14292
14293 PR bootstrap/48135
14294 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
14295 * configure: Regenerate.
14296
113a53c1
JJ
142972011-02-27 Jakub Jelinek <jakub@redhat.com>
14298
14299 PR fortran/47886
14300 * testsuite/libgomp.fortran/task3.f90: New test.
14301
0024f1af
TB
143022011-02-24 Tobias Burnus <burnus@net-b.de>
14303
14304 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
14305
21e1e594
JJ
143062011-02-23 Jakub Jelinek <jakub@redhat.com>
14307
14308 PR libgomp/47854
14309 * libgomp.texi (omp_get_wtime): Don't say time in the past
14310 must be Unix Epoch.
14311
67962076
JJ
143122011-02-18 Jakub Jelinek <jakub@redhat.com>
14313
14314 PR libgomp/47804
14315 * testsuite/libgomp.fortran/fortran.exp: Check for both
14316 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
14317 but $blddir != "", still append ${blddir}/${lang_library_path}
14318 to ld_library_path.
14319
3808007c
TB
143202011-02-16 Tobias Burnus <burnus@net-b.de>
14321
14322 PR libgomp/47758
14323 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
14324 of libquadmath.a before adding its libpath to ldflags.
14325
53b4d41d
JJ
143262011-02-14 Jakub Jelinek <jakub@redhat.com>
14327
14328 PR libgomp/47731
14329 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
14330 to FUTEX_WAIT futex syscall.
14331 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
14332
029c8f3e
RW
143332011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14334
14335 * configure: Regenerate.
14336
bddd6626
BK
143372011-01-20 Benjamin Kosnik <bkoz@redhat.com>
14338
14339 PR libstdc++/36104
14340 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
14341
f1d4ab26
GP
143422011-01-16 Gerald Pfeifer
14343
14344 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
14345
2b503136
JJ
143462010-12-14 Jakub Jelinek <jakub@redhat.com>
14347
14348 PR fortran/46874
14349 * libgomp.fortran/allocatable6.f90: New test.
14350
c0f9d583
RO
143512010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14352
14353 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
14354 * configure: Regenerate.
14355
7de6ba7a
DK
143562010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
14357
14358 PR target/40125
14359 PR lto/46695
14360 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
14361 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
14362 * aclocal.m4: Regenerate.
14363 * configure: Regenerate.
14364 * Makefile.in: Regenerate.
14365 * testsuite/Makefile.in: Regenerate.
14366
b7516041
JJ
143672010-12-02 Jakub Jelinek <jakub@redhat.com>
14368
edaadf74
JJ
14369 PR fortran/46753
14370 * libgomp.fortran/pr46753.f90: New test.
14371
4c698cf8
JJ
14372 PR libgomp/43706
14373 * env.c (initialize_env): Default to spin count 300000
14374 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
14375 is specified.
14376
b7516041
JJ
14377 PR libgomp/45240
14378 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
14379 at the end if sync builtins aren't supported.
14380
6b43a34c
RO
143812010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14382
14383 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
14384
950691fa
RO
143852010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14386
14387 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
14388
fb9041ea
IS
143892010-11-24 Iain Sandoe <iains@gcc.gnu.org>
14390
14391 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
14392
1ec601bf
FXC
143932010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
14394 Tobias Burnus <burnus@net-b.de>
14395
14396 PR fortran/32049
3e348fcc 14397 * configure.ac:
1ec601bf
FXC
14398 * configure: Regenerate.
14399
d213e92e
MS
144002010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
14401
14402 * config/linux/futex.h: New.
14403 * config/linux/arm/mutex.h: New.
14404 * configure.tgt (arm*-*-linux*): Add config path.
14405
89d5c66f
SP
144062010-09-30 Sebastian Pop <sebastian.pop@amd.com>
14407
14408 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14409
87350d4a
TB
144102010-09-23 Tobias Burnus <burnus@net-b.de>
14411
14412 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
14413 Change Fortran datatype to LOGICAL.
14414 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
14415 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
14416
75bc9e5e
RW
144172010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14418
14419 * configure: Regenerate.
14420
acb5c916
JJ
144212010-07-26 Jakub Jelinek <jakub@redhat.com>
14422
14423 * libgomp.texi: Add function keyword to a couple of Fortran
14424 interfaces, use integer instead of int for Fortran.
14425
6a2ba183
AH
144262010-07-26 Aldy Hernandez <aldyh@redhat.com>
14427
14428 * libgomp.texi: Fix spelling and pasto problems throughout.
14429 Adjust prototypes to match code.
14430
df161b69
TB
144312010-07-24 Tobias Burnus <burnus@net-b.de>
14432
14433 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
14434 silence -fwhole-file warning.
14435
16c9d3b1
RO
144362010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14437
14438 * configure.tgt (*-*-solaris2.[56]*): Removed.
14439
6d28b933
RO
144402010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14441
14442 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
14443 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
14444 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
14445 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
14446 targetting solaris2*.
14447 * configure: Regenerate.
14448 * config.h.in: Regenerate.
14449
14450 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
14451 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
14452 Add libgomp_version_dep.
14453 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
14454 versioning.
14455 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
14456 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
14457 * Makefile.in: Regenerate.
14458
14459 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
14460 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14461 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
14462 to common block, protected by
14463 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14464
07a67d6a
GP
144652010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
14466
14467 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
14468
dbd34b89
IS
144692010-06-09 Iain Sandoe <iains@gcc.gnu.org>
14470
14471 PR bootstrap/43170
14472 * configure: Regenerate.
14473
13917ae3
RW
144742010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14475
14476 PR other/43620
14477 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
14478 * configure: Regenerate.
14479 * Makefile.in: Regenerate.
14480 * testsuite/Makefile.in: Regenerate.
14481
b83a701b
JJ
144822010-04-26 Jakub Jelinek <jakub@redhat.com>
14483
14484 PR c/43893
14485 * testsuite/libgomp.c/pr43893.c: New test.
14486 * testsuite/libgomp.c++/pr43893.C: New test.
14487
78db7d92
JJ
144882010-04-21 Jakub Jelinek <jakub@redhat.com>
14489
14490 PR middle-end/43570
14491 * testsuite/libgomp.fortran/vla8.f90: New test.
14492
5221d7a9
JJ
144932010-04-20 Jakub Jelinek <jakub@redhat.com>
14494
e4ba7a60
JJ
14495 PR libgomp/43706
14496 * config/linux/affinity.c (gomp_init_affinity): Decrease
14497 gomp_available_cpus if affinity mask confines the process to fewer
14498 CPUs.
14499 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
14500 non-NULL, just return gomp_available_cpus.
14501
5221d7a9
JJ
14502 PR libgomp/43569
14503 * sections.c (gomp_sections_init): Initialize ws->mode.
14504
289a9f86
UB
145052010-04-14 Uros Bizjak <ubizjak@gmail.com>
14506
14507 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
14508 not unused bar variable.
14509 * configure: Regenerate.
14510
4d9e8446
RW
145112010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14512
14513 * Makefile.in: Regenerate.
14514 * aclocal.m4: Regenerate.
14515 * testsuite/Makefile.in: Regenerate.
14516
80f046cc
JJ
145172010-03-22 Jakub Jelinek <jakub@redhat.com>
14518
14519 PR libgomp/42942
14520 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
14521 (initialize_env): Adjust callers.
14522 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
14523 when the argument is 0.
14524
14525 * testsuite/libgomp.c/pr42942.c: New test.
14526
b58543c3
SP
145272010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
14528
14529 PR middle-end/42644
14530 PR middle-end/42130
14531 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14532 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
14533
41d1138f
RO
145342010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14535
14536 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
14537 * testsuite/libgomp.c++/task-6.C: Likewise.
14538
6684eb28
SE
145392010-01-28 Steve Ellcey <sje@cup.hp.com>
14540
14541 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
14542
2122aa97
PB
145432010-01-26 Paolo Bonzini <bonzini@gnu.org>
14544
14545 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
14546 * configure: Regenerate.
14547
057dd91d
JJ
145482010-01-26 Jakub Jelinek <jakub@redhat.com>
14549
14550 PR fortran/42866
14551 * testsuite/libgomp.fortran/allocatable5.f90: New test.
14552
d0709b6a
PB
145532010-01-20 Paolo Bonzini <bonzini@gnu.org>
14554
14555 * configure.ac: Test for executability of GFORTRAN.
14556 * configure: Regenerate.
14557
b9497ab5
RO
145582010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14559
14560 * configure: Regenerate.
14561
45de5648
L
145622010-01-04 H.J. Lu <hongjiu.lu@intel.com>
14563
14564 PR libgomp/42602
14565 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
14566
e74003a1
RG
145672010-01-03 Richard Guenther <rguenther@suse.de>
14568
14569 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
14570
1b3abda8
SP
145712009-12-23 Sebastian Pop <sebpop@gmail.com>
14572
14573 * testsuite/libgomp.graphite/pr4118.c: New.
14574
e19977d3
IS
145752009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14576
14577 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
14578 for darwin, protect the test with require-effective-target tls_runtime.
14579 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
14580
1d32a772
IS
145812009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14582
14583 PR target/41605
14584 * testsuite/lib/libgomp.exp: Provide -B options to allow for
14585 link spec %s substitutions for static libraries.
14586
deb109b2
JH
145872009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
14588
14589 PR testsuite/42135
14590 * libgomp.graphite/force-parallel-2.c: Reduce array size.
14591
43e02a8a
RW
145922009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14593
14594 * Makefile.in: Regenerate.
14595 * configure: Regenerate.
14596 * testsuite/Makefile.in: Regenerate.
14597
17f35e23
DK
145982009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
14599
14600 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
14601 settings for LC_ALL and LANG.
14602
281e33e1
JJ
146032009-11-25 Jakub Jelinek <jakub@redhat.com>
14604
14605 PR fortran/42162
14606 * testsuite/libgomp.fortran/pr42162.f90: New test.
14607
2b32c27d
JJ
146082009-11-13 Jakub Jelinek <jakub@redhat.com>
14609
14610 PR middle-end/42029
281e33e1 14611 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 14612
89c74f4a
JJ
146132009-10-26 Jakub Jelinek <jakub@redhat.com>
14614
14615 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
14616 *s. Accept ld version without text in ()s.
14617 * configure: Regenerated.
14618
7e06c3d6
EB
146192009-10-22 Razya Ladelsky <razya@il.ibm.com>
14620
14621 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
14622
0046b1a7
RW
146232009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14624
14625 PR libgomp/41418
14626 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
14627 or a hyphen (happens with fortran language disabled).
14628 * configure: Regenerate.
14629
c82852f7
RW
146302009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14631
14632 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
14633 use sed script portable to Solaris /bin/sed for extracting ld
14634 version.
14635 * configure: Regenerate.
14636
98f3eb1f
AM
146372009-09-17 Alexander Monakov <amonakov@ispras.ru>
14638
14639 * testsuite/libgomp.graphite/bounds.c: New test.
14640
878f62e5
RW
146412009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14642
14643 * Makefile.am (libgomp_la_LINK): New.
14644 * Makefile.in: Regenerate.
14645
df58e648
RW
146462009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14647
14648 * configure.ac (AC_PREREQ): Bump to 2.64.
14649
5213506e
RW
146502009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14651
70fa0efa
RW
14652 * Makefile.am (install-html, install-pdf): Remove.
14653 * Makefile.in: Regenerate.
14654
5213506e
RW
14655 * Makefile.in: Regenerate.
14656 * aclocal.m4: Regenerate.
14657 * config.h.in: Regenerate.
14658 * configure: Regenerate.
14659 * testsuite/Makefile.in: Regenerate.
14660
84fec8a5
RW
146612009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14662
14663 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
14664 * Makefile.in: Regenerate.
14665
197c68cc
DK
146662009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
14667
14668 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
14669 * Makefile.in: Regenerate.
14670
693d54f2
TB
146712009-08-19 Tobias Burnus <burnus@net-b.de>
14672
14673 PR fortran/41102
14674 omp_lib.h.in: Fix -std=f95 errors.
14675
8cac884c
DE
146762009-08-14 David Edelsohn <edelsohn@gnu.org>
14677
14678 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
14679 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
14680 * testsuite/libgomp.graphite/graphite.exp: New.
14681
78729ee2
AT
146822009-08-05 Andreas Tobler <a.tobler@schweiz.org>
14683
14684 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
14685 only build.
14686
b13b7f39
DD
146872009-08-04 David Daney <ddaney@caviumnetworks.com>
14688
14689 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
14690 needed memory barrier semantics.
14691 * config/linux/mips/mutex.h: New file.
14692
1b3b24c2
RW
146932009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14694
14695 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
14696
396b7fa4
JM
146972009-07-16 Joseph Myers <joseph@codesourcery.com>
14698
14699 * configure: Regenerate.
14700
33cde516
RS
147012009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
14702
14703 PR testsuite/40699
14704 PR testsuite/40707
14705 PR testsuite/40709
14706 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
14707 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
14708 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
14709
bc21bfa5
RS
147102009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
14711
14712 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
14713 options when choosing a multilib.
14714
b30bfd40
RS
147152009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
14716
14717 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
14718 ld_library_path. Use add_path. Add just find_libgcc_s to
14719 ld_library_path, not every libgcc multilib directory.
14720 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
14721 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
14722 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
14723 Use add_path.
14724 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
14725
479c15c2
NF
147262009-06-09 Nathan Froyd <froydnj@codesourcery.com>
14727
14728 * Makefile.am (LTLDFLAGS): Define.
14729 (LINK): Define.
14730 * Makefile.in: Regenerate.
14731
667e6f89
JB
147322009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
14733
14734 PR fortran/39718
14735 * testsuite/libgomp.fortran/fortran.exp: Don't link with
14736 libgfortranbegin, check existence of libgfortran.a instead of
14737 libgfortranbegin.a.
14738
6dea8e99
JJ
147392009-05-20 Jakub Jelinek <jakub@redhat.com>
14740
14741 PR libgomp/40174
14742 * team.c (gomp_thread_start): Destroy thr->release semaphore.
14743 (gomp_free_pool_helper): Likewise.
14744
34d01e1d
VL
147452009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
14746 Jakub Jelinek <jakub@redhat.com>
14747
14748 PR fortran/35423
14749 * testsuite/libgomp.fortran/workshare2.f90: New test.
14750
748086b7
JJ
147512009-04-09 Nick Clifton <nickc@redhat.com>
14752
14753 * iter.c: Change copyright header to refer to version 3 of the
14754 GNU General Public License with version 3.1 of the GCC Runtime
14755 Library Exception and to point readers at the COPYING3 and
14756 COPYING3.RUNTIME files and the FSF's license web page.
14757 * alloc.c: Likewise.
14758 * barrier.c: Likewise.
14759 * config/bsd/proc.c: Likewise.
14760 * config/linux/affinity.c: Likewise.
14761 * config/linux/alpha/futex.h: Likewise.
14762 * config/linux/bar.c: Likewise.
14763 * config/linux/bar.h: Likewise.
14764 * config/linux/ia64/futex.h: Likewise.
14765 * config/linux/ia64/mutex.h: Likewise.
14766 * config/linux/lock.c: Likewise.
14767 * config/linux/mips/futex.h: Likewise.
14768 * config/linux/mutex.c: Likewise.
14769 * config/linux/mutex.h: Likewise.
14770 * config/linux/powerpc/futex.h: Likewise.
14771 * config/linux/proc.c: Likewise.
14772 * config/linux/ptrlock.c: Likewise.
14773 * config/linux/ptrlock.h: Likewise.
14774 * config/linux/s390/futex.h: Likewise.
14775 * config/linux/sem.c: Likewise.
14776 * config/linux/sem.h: Likewise.
14777 * config/linux/sparc/futex.h: Likewise.
14778 * config/linux/wait.h: Likewise.
14779 * config/linux/x86/futex.h: Likewise.
14780 * config/mingw32/proc.c: Likewise.
14781 * config/mingw32/time.c: Likewise.
14782 * config/posix/affinity.c: Likewise.
14783 * config/posix/bar.c: Likewise.
14784 * config/posix/bar.h: Likewise.
14785 * config/posix/lock.c: Likewise.
14786 * config/posix/mutex.h: Likewise.
14787 * config/posix/proc.c: Likewise.
14788 * config/posix/ptrlock.h: Likewise.
14789 * config/posix/sem.c: Likewise.
14790 * config/posix/sem.h: Likewise.
14791 * config/posix/time.c: Likewise.
14792 * config/posix95/lock.c: Likewise.
14793 * critical.c: Likewise.
14794 * env.c: Likewise.
14795 * error.c: Likewise.
14796 * fortran.c: Likewise.
14797 * iter_ull.c: Likewise.
14798 * libgomp.h: Likewise.
14799 * libgomp_f.h.in: Likewise.
14800 * libgomp_g.h: Likewise.
14801 * loop.c: Likewise.
14802 * loop_ull.c: Likewise.
14803 * omp.h.in: Likewise.
14804 * omp_lib.f90.in: Likewise.
14805 * omp_lib.h.in: Likewise.
14806 * ordered.c: Likewise.
14807 * parallel.c: Likewise.
14808 * sections.c: Likewise.
14809 * single.c: Likewise.
14810 * task.c: Likewise.
14811 * team.c: Likewise.
14812 * work.c: Likewise.
14813
148142009-04-09 Jakub Jelinek <jakub@redhat.com>
14815
14816 * testsuite/config/default.exp: Change copyright header to refer to
14817 version 3 of the GNU General Public License and to point readers
14818 at the COPYING3 file and the FSF's license web page.
14819
4f0ae266
JJ
148202009-04-08 Jakub Jelinek <jakub@redhat.com>
14821
14822 PR middle-end/39573
14823 * libgomp.c++/pr39573.C: New test.
14824
03742a9b
JJ
148252009-04-01 Jakub Jelinek <jakub@redhat.com>
14826
14827 PR other/39591
14828 * testsuite/libgomp.c/pr39591-1.c: New test.
14829 * testsuite/libgomp.c/pr39591-2.c: New test.
14830 * testsuite/libgomp.c/pr39591-3.c: New test.
14831
e50ea10b
UB
148322009-03-25 Uros Bizjak <ubizjak@gmail.com>
14833
14834 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
14835 * testsuite/libgomp.c/atomic-6.c: Ditto.
14836
c5cdb03f
JJ
148372009-03-23 Jakub Jelinek <jakub@redhat.com>
14838
14839 PR c/39495
14840 * testsuite/libgomp.c/loop-12.c: New test.
14841 * testsuite/libgomp.c/loop-11.c: New test.
14842 * testsuite/libgomp.c++/loop-11.C: New test.
14843 * testsuite/libgomp.c++/loop-12.C: New test.
14844 * testsuite/libgomp.c++/for-8.C: New test.
14845
7a9d3fe8
RW
148462009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14847
14848 * configure: Regenerate.
14849
3ad6b266
JJ
148502009-02-11 Jakub Jelinek <jakub@redhat.com>
14851
14852 PR middle-end/39154
14853 * testsuite/libgomp.c/pr39154.c: New test.
14854
b39dea08
ILT
148552009-01-30 Ian Lance Taylor <iant@google.com>
14856
14857 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
14858 libgomp_ld_is_gold. Get gold version number.
14859 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
14860 * configure: Rebuild.
14861
72c66596
IS
148622009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14863
e50ea10b 14864 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
14865 use libgfortran.a%s in their specs.
14866
876080ff
JJ
148672009-01-07 Jakub Jelinek <jakub@redhat.com>
14868
14869 PR libgomp/38086
14870 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
14871 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
14872 HAVE_AS_SYMVER_DIRECTIVE is not defined.
14873 * configure: Regenerated.
14874 * config.h.in: Likewise.
14875
e4ebaef3
JJ
148762008-12-28 Jakub Jelinek <jakub@redhat.com>
14877
14878 PR c++/38650
14879 * testsuite/libgomp.c/pr38650.c: New test.
14880 * testsuite/libgomp.c++/pr38650.C: New test.
14881
382017a6
JJ
148822008-12-27 Jakub Jelinek <jakub@redhat.com>
14883
14884 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
14885
79644b27
UB
148862008-12-26 Uros Bizjak <ubizjak@gmail.com>
14887
14888 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
14889
baafc534
RW
148902008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14891
14892 * configure: Regenerate.
14893
d9c194cb
JJ
148942008-12-08 Jakub Jelinek <jakub@redhat.com>
14895
14896 PR middle-end/36802
14897 * testsuite/libgomp.c/pr36802-1.c: New test.
14898 * testsuite/libgomp.c/pr36802-2.c: New test.
14899 * testsuite/libgomp.c/pr36802-3.c: New test.
14900
86a182bf
JJ
149012008-12-01 Janis Johnson <janis187@us.ibm.com>
14902
14903 PR libgomp/38270
14904 * config/linux/powerpc/mutex.h: New.
14905
956adfaf
JJ
149062008-12-01 Jakub Jelinek <jakub@redhat.com>
14907
a2d4cdc9
JJ
14908 PR c++/38257
14909 * testsuite/libgomp.c++/for-7.C: New test.
14910
956adfaf
JJ
14911 PR c++/38348
14912 * testsuite/libgomp.c++/for-6.C: New test.
14913
d4038ca2
JJ
149142008-11-26 Janis Johnson <janis187@us.ibm.com>
14915
14916 PR testsuite/28870
14917 * testsuite/lib/libgomp.exp: Include new timeout library files.
14918 (libgomp_target_compile): Set timeout value from new proc.
14919
8b159eea
SE
149202008-11-13 Steve Ellcey <sje@cup.hp.com>
14921
14922 PR libgomp/37938
14923 * config/linux/ia64/mutex.h: New.
14924
5c6ed53a
TB
149252008-11-04 Tobias Burnus <burnus@net-b.de>
14926
14927 PR libgomp/37935
14928 * libgomp.texi (Runtime library routines, environment variables):
14929 Update for OpenMP version 3.0.
14930
6b4a97ed
PG
149312008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
14932 Steve Ellcey <sje@cup.hp.com>
14933
14934 * configure: Regenerate for new libtool.
14935 * Makefile.in: Ditto.
14936 * testsuite/Makefile.in: Ditto.
14937
e2b34106
JJ
149382008-09-19 Jakub Jelinek <jakub@redhat.com>
14939 Andreas Tobler <a.tobler@schweiz.org>
14940
14941 * config/bsd/proc.c: New file.
8c3b3600 14942 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
14943 * configure.ac: Check for header <sys/sysctl.h>
14944 * configure: Regenerate.
14945 * config.h.in: Likewise.
14946
3606b8bf
JJ
149472008-09-05 Janis Johnson <janis187@us.ibm.com>
14948
14949 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
14950
6528b88d
AL
149512008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
14952
14953 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
14954 * Makefile.in: Regenerated.
14955 * testsuite/Makefile.in: Regenerated.
14956
d9b14b12 149572008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 14958
a16b68bb 14959 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
14960 depend on blddir if blddir exists.
14961 (libgomp_target_compile): Likewise.
14962 * testsuite/libgomp.c++/c++.exp: Likewise.
14963 * testsuite/libgomp.fortran/fortran.exp: Likewise.
14964
70b1e376
RW
149652008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14966
14967 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
14968 Do not list GPL as Invariant Section.
14969
318e8c3f
IG
149702008-07-28 Ilie Garbacea <ilie@mips.com>
14971 Chao-ying Fu <fu@mips.com>
14972
14973 * configure.tgt: Enable futex for MIPS.
14974 * config/linux/mips/futex.h: New file.
14975
4db72361
JJ
149762008-07-16 Jakub Jelinek <jakub@redhat.com>
14977
14978 * team.c (gomp_team_end): Free team immediately if it has
14979 just one thread.
14980
87bd23b8
DE
149812008-07-08 David Edelsohn <edelsohn@gnu.org>
14982
14983 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
14984 * testsuite/libgomp.fortran/fortran.exp: Same.
14985 * testsuite/libgomp.c/c.exp: Same.
14986 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
14987 directory to library path first.
14988
323ff903
KW
149892008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
14990
14991 * env.c (parse_stacksize): Add cast to avoid warning.
14992 (parse_spincount): Likewise.
14993
b357f682
JJ
149942008-06-27 Jakub Jelinek <jakub@redhat.com>
14995
ca2b1311
JJ
14996 * testsuite/libgomp.c/loop-10.c: New test.
14997 * libgomp.c/loop-3.c (main): Add lastprivate clause.
14998 * libgomp.c++/loop-6.C (main): Likewise.
14999
b357f682
JJ
15000 PR debug/36617
15001 * testsuite/libgomp.c/debug-1.c: New test.
15002
09a46078
JJ
150032008-06-19 Jakub Jelinek <jakub@redhat.com>
15004
15005 * testsuite/libgomp.c/nqueens-1.c: New test.
15006
2368a460
JJ
15007 PR c++/36523
15008 * testsuite/libgomp.c++/task-7.C: New function.
15009
18c04407
RW
150102008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15011
15012 * configure: Regenerate.
15013
9c4e59e0
JDA
150142008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15015
15016 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
15017 mutex when HAVE_SYNC_BUILTINS isn't defined.
15018
6ccde948
RW
150192008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15020
15021 * libgomp.texi (omp_test_lock): Fix typo.
15022
b896f9fd
TB
150232008-06-12 Tobias Burnus <burnus@net-b.de>
15024
15025 * omp_lib.f90.in: Add "implicit none".
15026
c34938a8
JJ
150272008-06-12 Jakub Jelinek <jakub@redhat.com>
15028
15029 PR middle-end/36506
15030 * testsuite/libgomp.c/reduction-5.c: New test.
15031
976e44e3
JJ
150322008-06-11 Jakub Jelinek <jakub@redhat.com>
15033
5f836cbb
JJ
15034 * libgomp.h (struct gomp_task): Add in_tied_task field.
15035 * task.c (gomp_init_task): Initialize it.
15036 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
15037 unconditionally. Don't call gomp_team_barrier_wake if
15038 current task is implicit or if(0) from implicit and number of
15039 running tasks is equal to nthreads - 1.
15040
01501fc8
JJ
15041 PR libgomp/36471
15042 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
15043 omp_get_team_size_8): Fix pastos.
15044
976e44e3
JJ
15045 PR libgomp/36469
15046 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
15047 * configure: Regenerated.
15048 * config.h.in: Regenerated.
15049 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
15050 defined.
15051
e919209b
AT
150522008-06-06 Andreas Tobler <a.tobler@schweiz.org>
15053
15054 PR bootstrap/36452
15055 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
15056 (GOMP_loop_ull_dynamic_start): Likewise.
15057 (GOMP_loop_ull_guided_start): Likewise.
15058 (GOMP_loop_ull_ordered_static_start): Likewise.
15059 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
15060 (GOMP_loop_ull_ordered_guided_start): Likewise.
15061
a68ab351
JJ
150622008-06-06 Jakub Jelinek <jakub@redhat.com>
15063 Richard Henderson <rth@redhat.com>
15064 Ulrich Drepper <drepper@redhat.com>
15065 Jakob Blomer <jakob.blomer@ira.uka.de>
15066
15067 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
15068 Substitute also OMP_*LOCK_25*.
15069 * configure: Regenerated.
15070 * config.h.in: Regenerated.
15071 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
15072 ptrlock.c and task.c.
15073 * Makefile.in: Regenerated.
15074 * testsuite/Makefile.in: Regenerated.
15075 * task.c: New file.
15076 * loop_ull.c: New file.
15077 * iter_ull.c: New file.
15078 * libgomp.h: Include ptrlock.h.
15079 (enum gomp_task_kind): New type.
15080 (struct gomp_team): Add task_lock, task_queue, task_count,
15081 task_running_count, single_count fields. Add
15082 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
15083 Remove work_share_lock, generation_mask,
15084 oldest_live_gen, num_live_gen and init_work_shares fields, add
15085 work work_share_list_alloc, work_share_list_free and work_share_chunk
15086 fields. Change work_shares from pointer to pointers into an array.
15087 Change ordered_release field into gomp_sem_t ** from flexible array
15088 member. Add implicit_task and initial_work_shares fields.
15089 Move close to the end of the struct.
15090 (struct gomp_team_state): Add single_count, last_work_share,
15091 active_level and level fields, remove work_share_generation.
15092 (gomp_barrier_handle_tasks): New prototype.
15093 (gomp_finish_task): New inline function.
15094 (struct gomp_work_share): Move chunk_size, end, incr into
15095 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
15096 next_ll fields. Reshuffle fields. Add next_alloc,
15097 next_ws, next_free and inline_ordered_team_ids fields, change
15098 ordered_team_ids into pointer from flexible array member.
15099 Add mode field. Put lock and next into a different cache line
15100 from most of the write-once fields.
15101 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
15102 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
15103 gomp_iter_ull_guided_next): New prototypes.
15104 (gomp_new_icv): New prototype.
15105 (struct gomp_thread): Add thread_pool and task fields.
15106 (struct gomp_thread_pool): New type.
15107 (gomp_new_team): New prototype.
15108 (gomp_team_start): Change type of last argument.
15109 (gomp_new_work_share): Removed.
15110 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
15111 (gomp_work_share_init_done): New static inline.
15112 (gomp_throttled_spin_count_var, gomp_available_cpus,
15113 gomp_managed_threads): New extern decls.
15114 (gomp_init_task): New prototype.
15115 (gomp_spin_count_var): New extern var decl.
15116 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
15117 or no alias support, or if not PIC.
15118 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
15119 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
15120 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
15121 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
15122 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
15123 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
15124 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
15125 gomp_test_nest_lock_25): New prototypes.
15126 (omp_lock_symver, strong_alias): Define.
15127 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
15128 decls.
15129 (gomp_end_task): New.
15130 (struct gomp_task_icv, gomp_global_icv): New.
15131 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
15132 (struct gomp_task): New.
15133 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15134 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15135 (gomp_icv): New.
15136 (gomp_schedule_type): Reorder enum to match
15137 omp_sched_t.
15138 * team.c (struct gomp_thread_start_data): Add thread_pool and task
15139 fields.
15140 (gomp_thread_start): Add gomp_team_barrier_wait call.
15141 For non-nested case remove clearing of docked thread thr fields.
15142 Use pool fields instead of global gomp_* variables. Use
15143 gomp_barrier_wait_last when needed. Initialize ts.active_level.
15144 Create tasks for each member thread.
15145 (free_team): Only destroy team barrier, task_lock here and free it.
15146 (gomp_free_thread): Free last_team if non-NULL.
15147 (gomp_team_end): Call gomp_team_barrier_wait instead of
15148 gomp_barrier_wait. For nested case call one extra
15149 gomp_barrier_wait. Move here some destruction from free_team.
15150 Call free_team on pool->last_team if any, rather than freeing
15151 current team. Destroy work_share_list_free_lock ifndef
15152 HAVE_SYNC_BUILTINS.
15153 (gomp_new_icv): New function.
15154 (gomp_threads, gomp_threads_size, gomp_threads_used,
15155 gomp_threads_dock): Removed.
15156 (gomp_thread_destructor): New variable.
15157 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
15158 functions.
15159 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 15160 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
15161 Initialize thread_pool field for new threads. Clear single_count.
15162 Change last argument from ws to team, don't create
15163 new team, set ts.work_share to &team->work_shares[0] and clear
15164 ts.last_work_share. Don't clear ts.work_share_generation.
15165 If number of threads changed, adjust atomically gomp_managed_threads.
15166 Use gomp_init_task instead of gomp_new_task,
15167 set thr->task to the corresponding implicit_task array entry.
15168 Create tasks for each member thread. Initialize ts.level.
15169 (initialize_team): Call pthread_key_create on
15170 gomp_thread_destructor.
15171 (team_destructor): New function.
15172 (new_team): Removed.
15173 (gomp_new_team): New function.
15174 (free_team): Free gomp_work_share blocks chained through next_alloc,
15175 instead of freeing work_shares and destroying work_share_lock.
15176 (gomp_team_end): Call gomp_fini_work_share. If number of threads
15177 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
15178 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
15179 of gomp_barrier_wait.
15180 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
15181 instead of gomp_barrier_wait. Call gomp_work_share_init_done
15182 if gomp_work_share_start returned true. Don't unlock ws->lock.
15183 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
15184 of gomp_barrier_wait.
15185 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
15186 gomp_work_share_init_done if gomp_work_share_start returned true.
15187 Don't unlock ws->lock.
15188 * work.c: Include stddef.h.
15189 (free_work_share): Use work_share_list_free_lock instead
15190 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
15191 Call gomp_fini_work_share and then either free ws if orphaned, or
15192 put it into work_share_list_free list of the current team.
15193 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
15194 functions.
15195 (gomp_work_share_start, gomp_work_share_end,
15196 gomp_work_share_end_nowait): Rewritten.
15197 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
15198 (openmp_version): Set to 200805.
15199 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15200 omp_sched_guided, omp_sched_auto): New parameters.
15201 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15202 omp_set_max_active_levels, omp_get_max_active_levels,
15203 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15204 omp_get_active_level): New interfaces.
15205 * omp_lib.h.in (openmp_version): Set to 200805.
15206 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15207 omp_sched_guided, omp_sched_auto): New parameters.
15208 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15209 omp_set_max_active_levels, omp_get_max_active_levels,
15210 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15211 omp_get_active_level): New externals.
15212 * loop.c: Include limits.h.
15213 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
15214 GFS_AUTO.
15215 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
15216 Likewise. Use gomp_icv.
15217 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
15218 ts.static_trip here.
15219 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
15220 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
15221 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
15222 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
15223 don't unlock ws->lock, otherwise lock it.
15224 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
15225 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
15226 (gomp_parallel_loop_start): Call gomp_new_team instead of
15227 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
15228 Adjust gomp_team_start caller. Pass 0 as second argument to
15229 gomp_resolve_num_threads.
15230 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
15231 If adding ws->chunk_size nthreads + 1 times after end won't
15232 overflow, set ws->mode to 1.
15233 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
15234 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
15235 GOMP_loop_ull_ordered_static_start,
15236 GOMP_loop_ull_ordered_dynamic_start,
15237 GOMP_loop_ull_ordered_guided_start,
15238 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
15239 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
15240 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
15241 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
15242 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
15243 prototypes.
15244 * libgomp.map: Export lock routines also @@OMP_2.0.
15245 (GOMP_loop_ordered_dynamic_first,
15246 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
15247 GOMP_loop_ordered_static_first): Remove.
15248 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
15249 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
15250 GOMP_loop_ull_ordered_dynamic_next,
15251 GOMP_loop_ull_ordered_dynamic_start,
15252 GOMP_loop_ull_ordered_guided_next,
15253 GOMP_loop_ull_ordered_guided_start,
15254 GOMP_loop_ull_ordered_runtime_next,
15255 GOMP_loop_ull_ordered_runtime_start,
15256 GOMP_loop_ull_ordered_static_next,
15257 GOMP_loop_ull_ordered_static_start,
15258 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
15259 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
15260 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
15261 (omp_set_schedule, omp_get_schedule,
15262 omp_get_thread_limit, omp_set_max_active_levels,
15263 omp_get_max_active_levels, omp_get_level,
15264 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
15265 omp_set_schedule_, omp_set_schedule_8_,
15266 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15267 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15268 omp_get_max_active_levels_, omp_get_level_,
15269 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15270 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15271 New exports @@OMP_3.0.
15272 * omp.h.in (omp_sched_t): New type.
15273 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15274 omp_set_max_active_levels, omp_get_max_active_levels,
15275 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15276 omp_get_active_level): New prototypes.
15277 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
15278 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
15279 gomp_thread_limit_var, gomp_remaining_threads_count,
15280 gomp_remaining_threads_lock): New variables.
15281 (parse_spincount): New function.
15282 (initialize_env): Call gomp_init_num_threads unconditionally.
15283 Initialize gomp_available_cpus. Call parse_spincount,
15284 initialize gomp_{,throttled_}spin_count_var
15285 depending on presence and value of OMP_WAIT_POLICY and
15286 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
15287 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
15288 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
15289 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
15290 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
15291 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15292 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15293 (gomp_global_icv): New.
15294 (parse_schedule): Use it. Parse "auto".
15295 (omp_set_num_threads): Use gomp_icv.
15296 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
15297 Likewise.
15298 (omp_get_max_threads): Move from parallel.c.
15299 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15300 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
15301 add ialias.
15302 (parse_stacksize, parse_wait_policy): New functions.
15303 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
15304 both wrappers for compatibility and new locks.
15305 (omp_set_schedule, omp_get_schedule,
15306 omp_get_thread_limit, omp_set_max_active_levels,
15307 omp_get_max_active_levels, omp_get_level,
15308 omp_get_ancestor_thread_num, omp_get_team_size,
15309 omp_get_active_level): New ialias_redirect.
15310 (omp_set_schedule_, omp_set_schedule_8_,
15311 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15312 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15313 omp_get_max_active_levels_, omp_get_level_,
15314 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15315 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15316 New functions.
15317 * parallel.c: Include limits.h.
15318 (gomp_resolve_num_threads): Add count argument. Rewritten.
15319 (GOMP_parallel_start): Call gomp_new_team and pass that as last
15320 argument to gomp_team_start. Pass 0 as second argument to
15321 gomp_resolve_num_threads.
15322 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
15323 if gomp_thread_limit_var != ULONG_MAX.
15324 (omp_in_parallel): Implement using ts.active_level.
15325 (omp_get_max_threads): Move to env.c.
15326 (omp_get_level, omp_get_ancestor_thread_num,
15327 omp_get_team_size, omp_get_active_level): New functions,
15328 add ialias.
15329 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
15330 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
15331 gomp_iter_dynamic_next instead of the _locked variant and don't take
15332 lock around it, otherwise acquire it before calling
15333 gomp_iter_dynamic_next_locked.
15334 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
15335 gomp_iter_dynamic_next instead of the _locked variant and don't take
15336 lock around it.
15337 (GOMP_parallel_sections_start): Call gomp_new_team instead of
15338 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
15339 Adjust gomp_team_start caller. Pass count as second argument to
15340 gomp_resolve_num_threads, don't adjust num_threads after the call.
15341 Use gomp_icv.
15342 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
15343 ws->chunk_size by incr.
15344 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
15345 code.
15346 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
15347 types.
15348 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
15349 (omp_check_defines): Check even the compat defines.
15350 * config/linux/ptrlock.c: New file.
15351 * config/linux/ptrlock.h: New file.
15352 * config/linux/wait.h: New file.
15353 * config/posix/ptrlock.c: New file.
15354 * config/posix/ptrlock.h: New file.
15355 * config/linux/bar.h (gomp_team_barrier_wait,
15356 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15357 (gomp_team_barrier_set_task_pending,
15358 gomp_team_barrier_clear_task_pending,
15359 gomp_team_barrier_set_waiting_for_tasks,
15360 gomp_team_barrier_waiting_for_tasks,
15361 gomp_team_barrier_done): New inlines.
15362 (gomp_barrier_t): Rewritten.
15363 (gomp_barrier_state_t): New typedef.
15364 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
15365 gomp_barrier_wait_start): Rewritten.
15366 (gomp_barrier_wait_end): Change second argument to
15367 gomp_barrier_state_t.
15368 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15369 inlines.
15370 * config/linux/bar.c: Include wait.h instead of libgomp.h and
15371 futex.h.
15372 (gomp_barrier_wait_end): Rewritten.
15373 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15374 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
15375 * config/posix/bar.h (gomp_barrier_t): Add generation field.
15376 (gomp_barrier_state_t): New typedef.
15377 (gomp_team_barrier_wait,
15378 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15379 (gomp_barrier_wait_start): Or all but low 2 bits from generation
15380 into the return value. Return gomp_barrier_state_t.
15381 (gomp_team_barrier_set_task_pending,
15382 gomp_team_barrier_clear_task_pending,
15383 gomp_team_barrier_set_waiting_for_tasks,
15384 gomp_team_barrier_waiting_for_tasks,
15385 gomp_team_barrier_done): New inlines.
15386 (gomp_barrier_wait_end): Change second argument to
15387 gomp_barrier_state_t.
15388 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15389 inlines.
15390 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
15391 (gomp_barrier_wait_end): Change second argument to
3e348fcc 15392 gomp_barrier_state_t.
a68ab351
JJ
15393 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15394 gomp_team_barrier_wake): New functions.
15395 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
15396 futex.h.
15397 (gomp_futex_wake, gomp_futex_wait): New variables.
15398 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
15399 * config/linux/lock.c: Rewrite to make locks task owned,
15400 for backwards compatibility provide the old entrypoints
15401 if symbol versioning. Include wait.h instead of libgomp.h and
15402 futex.h.
15403 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
15404 * config/posix95/lock.c: Rewrite to make locks task owned,
15405 for backwards compatibility provide the old entrypoints
15406 if symbol versioning.
15407 * config/posix/lock.c: Rewrite to make locks task owned,
15408 for backwards compatibility provide the old entrypoints
15409 if symbol versioning.
15410 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
15411 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
15412 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
15413 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15414 (sys_futex0): Return error code.
15415 (futex_wake, futex_wait): If ENOSYS was returned, clear
15416 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15417 (cpu_relax, atomic_write_barrier): New static inlines.
15418 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15419 (futex_wake, futex_wait): If ENOSYS was returned, clear
15420 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15421 (cpu_relax, atomic_write_barrier): New static inlines.
15422 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15423 (sys_futex0): Return error code.
15424 (futex_wake, futex_wait): If ENOSYS was returned, clear
15425 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15426 (cpu_relax, atomic_write_barrier): New static inlines.
15427 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15428 (sys_futex0): Return error code.
15429 (futex_wake, futex_wait): If ENOSYS was returned, clear
15430 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15431 (cpu_relax, atomic_write_barrier): New static inlines.
15432 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15433 (sys_futex0): Return error code.
15434 (futex_wake, futex_wait): If ENOSYS was returned, clear
15435 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15436 (cpu_relax, atomic_write_barrier): New static inlines.
15437 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15438 (sys_futex0): Return error code.
15439 (futex_wake, futex_wait): If ENOSYS was returned, clear
15440 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15441 (cpu_relax, atomic_write_barrier): New static inlines.
15442 * config/linux/sem.c: Include wait.h instead of libgomp.h and
15443 futex.h.
15444 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
15445 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
15446 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
15447 types.
15448 (omp_nest_lock_t): Change owner into void *, add lock field.
15449 * config/posix95/omp-lock.h: Include semaphore.h.
15450 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15451 (omp_lock_t): Use sem_t instead of mutex if semaphores
15452 aren't broken.
15453 (omp_nest_lock_t): Likewise. Change owner to void *.
15454 * config/posix/omp-lock.h: Include semaphore.h.
15455 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15456 (omp_lock_t): Use sem_t instead of mutex if semaphores
15457 aren't broken.
15458 (omp_nest_lock_t): Likewise. Add owner field.
15459
154602008-06-06 Jakub Jelinek <jakub@redhat.com>
15461
15462 * testsuite/libgomp.c/collapse-1.c: New test.
15463 * testsuite/libgomp.c/collapse-2.c: New test.
15464 * testsuite/libgomp.c/collapse-3.c: New test.
15465 * testsuite/libgomp.c/icv-1.c: New test.
15466 * testsuite/libgomp.c/icv-2.c: New test.
15467 * testsuite/libgomp.c/lib-2.c: New test.
15468 * testsuite/libgomp.c/lock-1.c: New test.
15469 * testsuite/libgomp.c/lock-2.c: New test.
15470 * testsuite/libgomp.c/lock-3.c: New test.
15471 * testsuite/libgomp.c/loop-4.c: New test.
15472 * testsuite/libgomp.c/loop-5.c: New test.
15473 * testsuite/libgomp.c/loop-6.c: New test.
15474 * testsuite/libgomp.c/loop-7.c: New test.
15475 * testsuite/libgomp.c/loop-8.c: New test.
15476 * testsuite/libgomp.c/loop-9.c: New test.
15477 * testsuite/libgomp.c/nested-3.c: New test.
15478 * testsuite/libgomp.c/nestedfn-6.c: New test.
15479 * testsuite/libgomp.c/sort-1.c: New test.
15480 * testsuite/libgomp.c/task-1.c: New test.
15481 * testsuite/libgomp.c/task-2.c: New test.
15482 * testsuite/libgomp.c/task-3.c: New test.
15483 * testsuite/libgomp.c/task-4.c: New test.
15484 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
15485 to C++ testsuite default compiler options.
15486 * testsuite/libgomp.c++/collapse-1.C: New test.
15487 * testsuite/libgomp.c++/collapse-2.C: New test.
15488 * testsuite/libgomp.c++/ctor-10.C: New test.
15489 * testsuite/libgomp.c++/for-1.C: New test.
15490 * testsuite/libgomp.c++/for-2.C: New test.
15491 * testsuite/libgomp.c++/for-3.C: New test.
15492 * testsuite/libgomp.c++/for-4.C: New test.
15493 * testsuite/libgomp.c++/for-5.C: New test.
15494 * testsuite/libgomp.c++/loop-8.C: New test.
15495 * testsuite/libgomp.c++/loop-9.C: New test.
15496 * testsuite/libgomp.c++/loop-10.C: New test.
15497 * testsuite/libgomp.c++/task-1.C: New test.
15498 * testsuite/libgomp.c++/task-2.C: New test.
15499 * testsuite/libgomp.c++/task-3.C: New test.
15500 * testsuite/libgomp.c++/task-4.C: New test.
15501 * testsuite/libgomp.c++/task-5.C: New test.
15502 * testsuite/libgomp.c++/task-6.C: New test.
15503 * testsuite/libgomp.fortran/allocatable1.f90: New test.
15504 * testsuite/libgomp.fortran/allocatable2.f90: New test.
15505 * testsuite/libgomp.fortran/allocatable3.f90: New test.
15506 * testsuite/libgomp.fortran/allocatable4.f90: New test.
15507 * testsuite/libgomp.fortran/collapse1.f90: New test.
15508 * testsuite/libgomp.fortran/collapse2.f90: New test.
15509 * testsuite/libgomp.fortran/collapse3.f90: New test.
15510 * testsuite/libgomp.fortran/collapse4.f90: New test.
15511 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
15512 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
15513 * testsuite/libgomp.fortran/lib4.f90: New test.
15514 * testsuite/libgomp.fortran/lock-1.f90: New test.
15515 * testsuite/libgomp.fortran/lock-2.f90: New test.
15516 * testsuite/libgomp.fortran/nested1.f90: New test.
15517 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
15518 * testsuite/libgomp.fortran/strassen.f90: New test.
15519 * testsuite/libgomp.fortran/tabs1.f90: New test.
15520 * testsuite/libgomp.fortran/tabs2.f: New test.
15521 * testsuite/libgomp.fortran/task1.f90: New test.
15522 * testsuite/libgomp.fortran/task2.f90: New test.
15523 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
15524 * testsuite/libgomp.fortran/vla5.f90: Likewise.
15525 * testsuite/libgomp.c/pr26943-2.c: Likewise.
15526 * testsuite/libgomp.c/pr26943-3.c: Likewise.
15527 * testsuite/libgomp.c/pr26943-4.c: Likewise.
15528
7a0112e7
JJ
155292008-05-23 Jakub Jelinek <jakub@redhat.com>
15530
15531 PR c++/36308
15532 * testsuite/libgomp.c++/ctor-11.C: New test.
15533 * testsuite/libgomp.c++/ctor-12.C: New test.
15534
91a5b394
JJ
155352008-05-15 Janis Johnson <janis187@us.ibm.com>
15536
15537 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
15538
c18c98c0
JJ
155392008-05-07 Jakub Jelinek <jakub@redhat.com>
15540
15541 PR middle-end/36106
15542 * testsuite/libgomp.c/atomic-5.c: New test.
15543 * testsuite/libgomp.c/atomic-6.c: New test.
15544 * testsuite/libgomp.c/autopar-1.c: New test.
15545
6d26724a
RW
155462008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15547
15548 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
15549 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
15550 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
15551 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
15552 * configure: Regenerate.
15553 * Makefile.in, testsuite/Makefile.in: Likewise.
15554
deb984e6
PB
155552008-04-18 Paolo Bonzini <bonzini@gnu.org>
15556
15557 PR bootstrap/35457
15558 * aclocal.m4: Regenerate.
15559 * configure: Regenerate.
15560
9e775963
JJ
155612008-03-18 Jakub Jelinek <jakub@redhat.com>
15562
8119fc93
JJ
15563 PR middle-end/35611
15564 * testsuite/libgomp.c/atomic-4.c: New test.
15565
9e775963
JJ
15566 PR libgomp/35625
15567 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
15568 (gomp_iter_guided_next): Likewise.
15569 * testsuite/libgomp.c/pr35625.c: New test.
15570
38d24731
RW
155712008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15572
15573 * aclocal.m4: Regenerate.
15574 * configure: Likewise.
15575 * Makefile.in: Likewise.
15576 * testsuite/Makefile.in: Likewise.
15577
d0fb20be
JJ
155782008-03-13 Jakub Jelinek <jakub@redhat.com>
15579
15580 PR middle-end/35185
15581 * testsuite/libgomp.c++/pr35185.C: New test.
15582
7c8f7639
JJ
155832008-03-12 Jakub Jelinek <jakub@redhat.com>
15584
15585 PR middle-end/35549
15586 * testsuite/libgomp.c/pr35549.c: New test.
15587
251923f5
JJ
155882008-03-06 Jakub Jelinek <jakub@redhat.com>
15589
15590 * testsuite/libgomp.c/atomic-3.c: New test.
15591
f489fba1
FXC
155922008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
15593
15594 PR fortran/33197
251923f5 15595 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
15596 .F08 file suffixes.
15597
a1b25e49
PG
155982008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
15599
15600 PR libgomp/33131
15601 * configure.ac: Add ACX_HEADER_STRING.
15602 * env.c: Include strings.h.
15603 * aclocal.m4: Regenerate.
15604 * config.h.in: Regenerate.
15605 * configure: Regenerate.
15606 * Makefile.in: Regenerate.
15607 * testsuite/Makefile.in: Regenerate.
15608
6837b3b8
JJ
156092008-02-15 Jakub Jelinek <jakub@redhat.com>
15610
ac84c062
JJ
15611 PR middle-end/35196
15612 * testsuite/libgomp.c/pr35196.c: New test.
15613
6837b3b8
JJ
15614 PR middle-end/35130
15615 * testsuite/libgomp.fortran/pr35130.f90: New test.
15616 * testsuite/libgomp.c/pr35130.c: New test.
15617
c256730c
JJ
156182008-01-25 Jakub Jelinek <jakub@redhat.com>
15619
15620 PR middle-end/33880
15621 * testsuite/libgomp.c/pr33880.c: New test.
15622 * testsuite/libgomp.fortran/pr33880.f90: New test.
15623
c8e95542 156242008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
15625
15626 * configure: Regenerate.
15627
0f3e711e
JJ
156282008-01-08 Jakub Jelinek <jakub@redhat.com>
15629
15630 * configure.ac: Move futex checking into ../config/futex.m4.
15631 * configure: Rebuilt.
15632 * aclocal.m4: Rebuilt.
15633 * Makefile.in: Rebuilt.
15634
15635 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
15636 2007-10-15 ../config/tls.m4 change.
15637
5259c813
JJ
156382007-12-19 Jakub Jelinek <jakub@redhat.com>
15639
15640 PR c++/34513
15641 * testsuite/libgomp.c/pr34513.c: New test.
15642 * testsuite/libgomp.c++/pr34513.C: New test.
15643
ae8d8879
JH
156442007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
15645
15646 PR target/32765
15647 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
15648
2b4cf991
JJ
156492007-12-04 Jakub Jelinek <jakub@redhat.com>
15650
15651 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
15652
d2dda7fe
JJ
156532007-12-03 Jakub Jelinek <jakub@redhat.com>
15654
15655 * testsuite/libgomp.c/private-1.c: New test.
15656
d683ec81
PB
156572007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
15658 Paolo Bonzini <bonzini@gnu.org>
15659
15660 * Makefile.am: Use space as vpath separator. Use 'vpath %'
15661 instead of 'VPATH ='.
15662 * Makefile.in: Regenerate.
15663
a7415017
MK
156642007-11-23 Matthias Klose <doko@ubuntu.com>
15665
15666 * configure.ac: Adjust makeinfo version check.
15667 * configure: Regenerate.
15668
78e47463
JJ
156692007-11-10 Jakub Jelinek <jakub@redhat.com>
15670
15671 PR fortran/34020
15672 * testsuite/libgomp.fortran/pr34020.f90: New test.
15673
239371f9
JJ
156742007-11-06 Jakub Jelinek <jakub@redhat.com>
15675
15676 PR c++/33894
15677 * testsuite/libgomp.c++/atomic-1.C: New test.
15678
98a5fa94
JJ
156792007-10-25 Jakub Jelinek <jakub@redhat.com>
15680
15681 PR libgomp/33275
15682 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
15683 Make x and y integers rather than (implicit) reals. Add private (j)
15684 clause to the last omp parallel.
15685
3afcaaf4
MR
156862007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
15687
15688 * configure: Regenerate following changes to ../config/tls.m4.
15689
bd69daef
JJ
156902007-09-28 Jakub Jelinek <jakub@redhat.com>
15691
15692 * testsuite/libgomp.fortran/stack.f90: New test.
15693
1d0bd356
DS
156942007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
15695
15696 * config/mingw32/proc.c: New file.
15697
b3172cab
UB
156982007-09-05 Uros Bizjak <ubizjak@gmail.com>
15699
15700 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
15701 (main): Use __get_cpuid to get i386 target fetaures.
15702 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
15703 (main): Use __get_cpuid to get x86_64 target fetaures.
15704
6da17392
JH
157052007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
15706
15707 PR target/32765
15708 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
15709 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
15710
e1c82219
JJ
157112007-07-12 Jakub Jelinek <jakub@redhat.com>
15712
15713 PR fortran/32550
15714 * testsuite/libgomp.fortran/pr32550.f90: New test.
15715 * testsuite/libgomp.fortran/crayptr2.f90: New test.
15716
12a27363
L
157172007-07-05 H.J. Lu <hongjiu.lu@intel.com>
15718
15719 * aclocal.m4: Regenerated.
15720
5349080d
TB
157212007-07-05 Tobias Burnus <burnus@net-b.de>
15722
15723 PR fortran/32359
15724 * testsuite/libgomp.fortran/pr32359.f90: New.
15725
4f9c450c
JJ
157262007-07-02 Jakub Jelinek <jakub@redhat.com>
15727
15728 PR libgomp/32468
15729 * sections.c (GOMP_parallel_sections_start): Only decrease
15730 number of threads to COUNT if dyn_var is true.
15731 * testsuite/libgomp.c/pr32468.c: New test.
15732
28c67ed7
RO
157332007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15734
15735 PR libgomp/26308
15736 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
15737
64964499
JJ
157382007-06-21 Jakub Jelinek <jakub@redhat.com>
15739
15740 PR middle-end/32362
15741 * testsuite/libgomp.c/pr32362-1.c: New test.
15742 * testsuite/libgomp.c/pr32362-2.c: New test.
15743 * testsuite/libgomp.c/pr32362-3.c: New test.
15744
46d8fbd1
JJ
157452007-06-07 Jakub Jelinek <jakub@redhat.com>
15746
15747 * team.c (gomp_team_start): Fix setting up thread_attr
15748 stack size.
15749
82a6cadf
PB
157502007-06-02 Paolo Bonzini <bonzini@gnu.org>
15751
15752 * configure: Regenerate.
15753
1cf3d07d
SE
157542007-05-23 Steve Ellcey <sje@cup.hp.com>
15755
15756 * Makefile.in: Regenerate.
15757 * configure: Regenerate.
15758 * aclocal.m4: Regenerate.
15759 * testsuite/Makefile.in: Regenerate.
15760
12aac30b
JJ
157612007-05-04 Jakub Jelinek <jakub@redhat.com>
15762
15763 * config/linux/proc.c: New file.
15764
f1028b02
JJ
15765 PR libgomp/28482
15766 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
15767
06785a48
DF
157682007-04-19 Daniel Franke <franke.daniel@gmail.com>
15769
15770 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
15771
b3b08ba0
MK
157722007-04-16 Matthias Klose <doko@debian.org>
15773
15774 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
15775 flags if not building with -m64.
15776 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
15777 flag for i?86-*-* targets, if current target matches -m64.
15778
6b2c5ce0
SE
157792007-04-14 Steve Ellcey <sje@cup.hp.com>
15780
15781 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
15782 * Makefile.in: Regenerate.
15783
dd56fe7c
JDA
157842007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15785
15786 PR testsuite/31369
15787 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
15788 ld_library_path.
15789 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15790
a0884cf0
JJ
157912007-04-04 Jakub Jelinek <jakub@redhat.com>
15792
15793 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
15794 decls.
15795 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
15796 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
15797 (parse_affinity): New function.
15798 (initialize_env): Call it and gomp_init_affinity.
15799 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
15800 create new pthread_attr_t and call gomp_init_thread_affinity
15801 on it for each thread before passing the attribute to pthread_create.
15802 * config/linux/affinity.c: New file.
15803 * config/posix/affinity.c: New file.
15804 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
15805 * configure: Rebuilt.
15806 * config.h.in: Rebuilt.
15807 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
15808 * Makefile.in: Rebuilt.
15809
1850744b
AT
158102007-03-23 Andreas Tobler <a.tobler@schweiz.org>
15811
15812 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
15813 *-*-darwin*.
15814 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
15815 and use it if found.
15816
516f1ed8
UB
158172007-03-18 Uros Bizjak <ubizjak@gmail.com>
15818
15819 * testsuite/config/default.exp: New file.
15820 * testsuite/lib/libgomp.exp: New file.
15821 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
15822 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
15823 load_lib *, load_gcc_lib *): Move to libgomp.exp.
15824 (libgomp_load): Remove.
15825 * testsuite/lib/libgomp.exp (libgomp_init): Compute
15826 always_ld_library_path, not ld_library_path. Set additional_flags
15827 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
15828 (target_compile): Do not call libgomp_init. Append lang_library_path
15829 and lang_link_flags to options.
15830 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
15831 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
15832 here.
15833 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
15834 always_ld_library_path. Set LD_LIBRARY_PATH here.
15835 * testsuite/libgomp.fortran/fortran.exp: Ditto.
15836 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
15837 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
15838 CX8 flag.
15839 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
15840 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
15841 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
15842 * testsuite/libgomp.c/pr29947-1.c: Ditto.
15843 * testsuite/libgomp.c/atomic-10.c: Ditto.
15844
2ada56f5
JJ
158452007-03-21 Jakub Jelinek <jakub@redhat.com>
15846
15847 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
15848 dg-final cleanup-modules line.
15849 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
15850 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
15851 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
15852 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
15853 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
15854 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
15855 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
15856
f210f1cd
AS
158572007-03-18 Andreas Schwab <schwab@suse.de>
15858
15859 * acinclude.m4: Adjust regular expression for ld version
15860 extraction.
15861 * configure: Regenerate.
15862
c4dc950d
BM
158632007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
15864
15865 * Makefile.am: Add install-pdf target as copied from
15866 automake v1.10 rules.
15867 * Makefile.in: Regenerate
15868
e02a048f
JJ
158692007-02-07 Jakub Jelinek <jakub@redhat.com>
15870
78e075d4
JJ
15871 PR libgomp/28486
15872 * configure: Regenerate.
15873
e02a048f
JJ
15874 PR c++/30703
15875 * testsuite/libgomp.c++/pr30703.C: New test.
15876
60def7ed
JJ
158772007-02-02 Jakub Jelinek <jakub@redhat.com>
15878
15879 Revert:
15880 2006-07-05 Eric Christopher <echristo@apple.com>
15881 * configure.ac: Depend addition of -pthread on host OS.
15882 * configure: Regenerate.
15883
f1b0882e
RW
158842007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15885
15886 * libgomp.texi: Fix spacing after abbreviations.
15887
748b9d7c
DF
158882007-01-31 Daniel Franke <franke.daniel@gmail.com>
15889
15890 PR libgomp/30546
15891 * configure.ac: Add check for makeinfo
15892 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 15893 if an appropriate version of makeinfo is found.
748b9d7c
DF
15894 * aclocal.m4: Regenerated.
15895 * configure: Regenerated.
15896 * Makefile.in: Regenerated.
15897 * testsuite/Makefile.in: Regenerated.
15898
14734fc7
DF
158992007-01-29 Daniel Franke <franke.daniel@gmail.com>
15900
15901 PR libgomp/30540
15902 * libgomp.texi: More about implementation-dependent settings.
15903
7befd5d2
TB
159042007-01-26 Tobias Burnus <burnus@net-b.de>
15905
15906 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
15907
4288fea2
JJ
159082007-01-24 Jakub Jelinek <jakub@redhat.com>
15909
15910 PR middle-end/30494
15911 * testsuite/libgomp.c/pr30494.c: New test.
15912
627ab4b8
TT
159132007-01-15 Tom Tromey <tromey@redhat.com>
15914
15915 * configure: Rebuilt.
15916 * configure.ac: Fixed comment.
15917
7c2b7f45
DF
159182007-01-14 Daniel Franke <franke.daniel@gmail.com>
15919
15920 * libgomp.texi: Document implementation specific default values of
15921 environment variables.
15922
3721b9e1
DF
159232006-12-21 Daniel Franke <franke.daniel@gmail.com>
15924
15925 PR libgomp/28209
15926 * libgomp.texi: New file.
15927 * configure.ac: Add --enable-generated-files-in-srcdir option.
15928 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
15929 files to srcdir.
15930 * Makefile.in: Regenerated.
15931 * config.h.in: Regenerated.
15932 * testsuite/Makefile.in: Regenerated.
15933 * NOTES: Removed.
15934
62bd6216
DF
159352006-12-04 Daniel Franke <franke.daniel@gmail.com>
15936
15937 PR libgomp/29949
15938 * env.c (omp_set_num_threads): Set illegal thread count to 1.
15939
aad741f4
EB
159402006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
15941
15942 * configure: Regenerate.
15943
22568cc6
JJ
159442006-12-04 Jakub Jelinek <jakub@redhat.com>
15945
15946 PR libgomp/29947
15947 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
15948 start if there shouldn't be any loop iterations.
15949 (gomp_loop_ordered_static_start): Remove start == end test.
15950 * testsuite/libgomp.c/pr29947-1.c: New test.
15951 * testsuite/libgomp.c/pr29947-2.c: New test.
15952
a9690009
EB
159532006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
15954
15955 * configure.tgt: Force initial-exec TLS model on Linux only.
15956
597c25e6
DJ
159572006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
15958
15959 * configure: Regenerated.
15960
6acf0b38
UB
159612006-11-09 Uros Bizjak <ubizjak@gmail.com>
15962
15963 * env.c (parse_schedule): Reject out of range values.
15964 (parse_unsigned_long): Reject out of range, negative or zero values.
15965
a7a53ca5
JJ
159662006-10-29 Jakub Jelinek <jakub@redhat.com>
15967
15968 PR fortran/29629
15969 * testsuite/libgomp.fortran/pr29629.f90: New test.
15970
6d4d216a
EB
159712006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
15972
15973 PR libgomp/29494
15974 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
15975 * config/posix95: New directory.
15976 * config/posix95/omp-lock.h: New file.
15977 * config/posix95/lock.c: Likewise.
15978
5b043f08
GK
159792006-10-14 Geoffrey Keating <geoffk@apple.com>
15980
15981 * aclocal.m4: Regenerate.
15982 * configure: Regenerate.
15983
b50019f0
DS
159842006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
15985
15986 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
15987 '<' to '<='.
15988
8887708e
DS
159892006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
15990
15991 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
15992 test.
15993 * configure: Regenerate.
15994 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
15995
9b9e4cd6
JJ
159962006-09-26 Jakub Jelinek <jakub@redhat.com>
15997
a70ad3bb
JJ
15998 PR middle-end/25261
15999 PR middle-end/28790
16000 * testsuite/libgomp.c/nestedfn-4.c: New test.
16001 * testsuite/libgomp.c/nestedfn-5.c: New test.
16002 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
16003
9b9e4cd6
JJ
16004 PR fortran/29097
16005 * testsuite/libgomp.fortran/condinc1.f: New test.
16006 * testsuite/libgomp.fortran/condinc2.f: New test.
16007 * testsuite/libgomp.fortran/condinc3.f90: New test.
16008 * testsuite/libgomp.fortran/condinc4.f90: New test.
16009 * testsuite/libgomp.fortran/condinc1.inc: New file.
16010
2fb31455
TT
160112006-09-18 Tom Tromey <tromey@redhat.com>
16012
16013 * configure: Rebuilt.
16014
c663e301
JM
160152006-09-13 Joseph S. Myers <joseph@codesourcery.com>
16016
16017 PR c/28768
16018 PR preprocessor/14634
16019 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
16020 to AC_DEFINE.
16021 * configure: Regenerate.
16022
38371be9
SK
160232006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
16024
16025 * testsuite/libgomp.fortran/reduction3.f90: Change
16026 -2147483648 to -huge(i)-1 to avoid overflow.
16027 * testsuite/libgomp.fortran/reduction4.f90: Change
16028 Z'ffffffff' to not(0) to avoid overflow.
16029
571d5ac5
JM
160302006-08-26 Joseph S. Myers <joseph@codesourcery.com>
16031
16032 PR libgomp/25938
16033 * Makefile.am (libsubincludedir): New.
16034 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
16035 * Makefile.in: Regenerate.
16036
89b3e3cd
JJ
160372006-08-17 Jakub Jelinek <jakub@redhat.com>
16038
16039 PR libgomp/28725
16040 * env.c: Include ctype.h.
16041 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
16042 leading and/or trailing whitespace and compare strings case
16043 insensitively.
16044
742fae05
JJ
160452006-07-16 Jakub Jelinek <jakub@redhat.com>
16046
16047 PR fortran/28390
16048 * testsuite/libgomp.fortran/pr28390.f: New test.
16049
a1daed2d
EC
160502006-07-05 Eric Christopher <echristo@apple.com>
16051
16052 * configure.ac: Depend addition of -pthread on host OS.
16053 * configure: Regenerate.
16054
5d7b5199
JJ
160552006-06-21 Jakub Jelinek <jakub@redhat.com>
16056
16057 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
16058 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
16059 defined.
16060
fe5568e9
JJ
160612006-06-20 Jakub Jelinek <jakub@redhat.com>
16062
16063 PR libgomp/26175
16064 PR libgomp/26477
16065 * configure.ac: If neither --enable-linux-futex nor
16066 --disable-linux-futex is passed, determine the default by checking
16067 for compiling and/or running against NPTL. With --enable-linux-futex,
16068 check if SYS_gettid and SYS_futex are defined.
16069 * configure: Rebuilt.
16070
c3b11a40
RH
160712006-06-14 Richard Henderson <rth@redhat.com>
16072
16073 PR libgomp/28008
16074 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
16075 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
16076
d0d1b24d
RH
160772006-06-09 Richard Henderson <rth@redhat.com>
16078
16079 * env.c (gomp_nthreads_var): Change to unsigned long.
16080 (gomp_run_sched_chunk): Likewise.
16081 (parse_unsigned_long): Rename from parse_num_threads and generalize.
16082 (initialize_env): Initialize gomp_thread_attr.
16083 * libgomp.h (gomp_nthreads_var): Update decl.
16084 (gomp_run_sched_chunk): Likewise.
16085 (gomp_thread_attr): Declare.
16086 * team.c (gomp_thread_attr): Export.
16087 (initialize_team): Don't initialize it.
16088
cd75853e
JJ
160892006-06-09 Jakub Jelinek <jakub@redhat.com>
16090
16091 PR fortran/27916
16092 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
16093 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
16094
33815e0c
FXC
160952006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
16096
16097 * config/mingw32/time.c: New file.
16098 * configure.tgt: Use it.
16099
6667de0d
CD
161002006-05-23 Carlos O'Donell <carlos@codesourcery.com>
16101
16102 * Makefile.am: Add install-html target. Add install-html to .PHONY
16103 * Makefile.in: Regenerate.
16104
e962c46b
JDA
161052006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16106
16107 PR libgomp/27612
16108 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
16109 * testsuite/libgomp.c/critical-1.c: Likewise.
16110 * testsuite/libgomp.c/loop-1.c: Likewise.
16111 * testsuite/libgomp.c/loop-2.c: Likewise.
16112 * testsuite/libgomp.c/single-1.c: Likewise.
16113 * testsuite/libgomp.c/ordered-1.c: Likewise.
16114 * testsuite/libgomp.c/ordered-2.c: Likewise.
16115
eeb1d9e0
JJ
161162006-05-15 Jakub Jelinek <jakub@redhat.com>
16117
16118 PR middle-end/27416
16119 * libgomp.fortran/pr27416-1.f90: New test.
16120
693d710f
JJ
161212006-05-03 Jakub Jelinek <jakub@redhat.com>
16122
16123 PR fortran/27395
16124 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
16125 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
16126
8ca5b2a2
JJ
161272006-05-02 Jakub Jelinek <jakub@redhat.com>
16128
16129 PR c++/26943
16130 * testsuite/libgomp.c/pr26943-1.c: New test.
16131 * testsuite/libgomp.c/pr26943-2.c: New test.
16132 * testsuite/libgomp.c/pr26943-3.c: New test.
16133 * testsuite/libgomp.c/pr26943-4.c: New test.
16134 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
16135 * testsuite/libgomp.c++/pr26943.C: New test.
16136
077b0dfb
JJ
161372006-05-02 Jakub Jelinek <jakub@redhat.com>
16138
16139 PR middle-end/27337
16140 * testsuite/libgomp.c++/pr27337.C: New test.
16141
91b6c26d
JJ
161422006-04-26 Jakub Jelinek <jakub@redhat.com>
16143
16144 PR c/26171
16145 * testsuite/libgomp.c/pr26171.c: New test.
16146
60e1758f
RH
161472006-04-25 Richard Henderson <rth@redhat.com>
16148
16149 PR libgomp/25865
16150 * configure.ac: Use GCC_CHECK_TLS.
16151 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
16152 * Makefile.in, aclocal.m4, configure: Regenerate.
16153
615baed7
MK
161542006-04-10 Matthias Klose <doko@debian.org>
16155
16156 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
16157 directory names containing underscores.
16158
fae2b46b
JJ
161592006-03-21 Jakub Jelinek <jakub@redhat.com>
16160
16161 PR c++/26691
16162 * testsuite/libgomp.c++/pr26691.C: New test.
16163
11a5f608
JJ
161642006-03-13 Jakub Jelinek <jakub@redhat.com>
16165
16166 * testsuite/libgomp.fortran/retval2.f90: New test.
16167
1799e5d5
RH
161682006-03-09 Diego Novillo <dnovillo@redhat.com>
16169
16170 * testsuite/libgomp.c++: New directory.
16171
d349482e
AT
161722006-02-25 Shantonu Sen <ssen@opendarwin.org>
16173
16174 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
16175 * config/posix/sem.c: Implement the above.
16176
161772006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
16178
16179 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
16180 define HAVE_BROKEN_POSIX_SEMAPHORES.
16181 * configure: Rebuilt.
16182 * config.h.in: Rebuilt.
16183
124452c9
FXC
161842006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
16185
16186 PR bootstrap/26161
16187 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
16188 for the other pthread check.
16189 * configure: Regenerate.
16190 * config.h.in: Regenerate.
16191
dd8d6dfe
JJ
161922006-02-15 Jakub Jelinek <jakub@redhat.com>
16193
16194 PR libgomp/25938
16195 PR libgomp/25984
16196 * Makefile.am (fincludedir): New variable.
16197 (nodist_include_HEADERS): Remove Fortran files.
16198 (nodist_finclude_HEADERS): New variable.
16199 * Makefile.in: Regenerated.
16200
6c7a4dfd
JJ
162012006-02-13 Jakub Jelinek <jakub@redhat.com>
16202
16203 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
16204 Remove tests for returning assumed character length arrays.
16205
5142e08b
RS
162062006-02-12 Roger Sayle <roger@eyesopen.com>
16207 John David Anglin <dave@hiauly1.hia.nrc.ca>
16208
16209 PR libgomp/25936
16210 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 16211
5821fba8
UW
162122006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
16213
16214 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
16215
cb2bbc67
EB
162162006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
16217
16218 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
16219 part of LD_LIBRARY_PATH manually.
16220
f05ee80c
L
162212006-02-03 H.J. Lu <hongjiu.lu@intel.com>
16222
16223 PR libgomp/25852
16224 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
16225 libgomp_init.
16226
03b8fe49
PB
162272005-01-25 Paolo Bonzini <bonzini@gnu.org>
16228
16229 PR libgomp/25884
f05ee80c
L
16230 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
16231 * configure.ac (PERL): Don't set.
16232 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
16233 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
16234 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
16235 * omp.h.in: Wrap the new configure substitutions with @ characters.
16236 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
16237 * aclocal.m4, configure, Makefile.in: Regenerate.
16238 * mkomp_h.pl: Delete.
03b8fe49 16239
18cbfd85
PB
162402005-01-24 Paolo Bonzini <bonzini@gnu.org>
16241
16242 PR libgomp/25259
16243 * configure.ac: Use GCC_HEADER_STDINT.
16244 * libgomp.h: Include gstdint.h.
16245 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
16246 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
16247
c41303c6
RH
162482006-01-24 Richard Henderson <rth@redhat.com>
16249
16250 PR libgomp/25942
16251 * configure.ac: Add AM_MAINTAINER_MODE.
16252 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
16253
149b9553
DN
162542006-01-24 Diego Novillo <dnovillo@redhat.com>
16255
16256 * Makefile.in: Regenerate.
16257 * testsuite/Makefile.in: Regenerate.
16258 * aclocal.m4: Regenerate.
16259
192a50ad
AT
162602006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
16261
16262 * config/posix/proc.c: Conditional include of sys/loadavg.h for
16263 Solaris.
16264 * configure.ac: Add check for loadavg.h.
16265 (link_gomp): Adjust comment.
16266 * configure: Regenerate.
16267 * config.h.in: Regenerate.
16268
a55b8e18
SE
162692006-01-21 Steve Ellcey <sje@cup.hp.com>
16270
16271 PR libgomp/25877
16272 * configure.ac: Remove check for alloca.h.
16273 * configure: Regenerate.
16274 * config.h.in: Regenerate.
16275 * libgomp.h: define gomp_alloca to be __builtin_alloca.
16276 * team.c: Remove use of alloca.h.
16277 Call gomp_alloca instead of alloca.
16278
692eeb34
SE
162792006-01-20 Steve Ellcey <sje@cup.hp.com>
16280
16281 PR libgomp/25877
16282 * team.c: Add include of alloca.h.
16283 * configure.ac: Add check for alloca.h.
16284 * configure: Regenerate.
16285 * config.h.in: Regenerate.
16286
953ff289
DN
162872006-01-17 Jakub Jelinek <jakub@redhat.com>
16288
16289 PR fortran/25219
16290 * testsuite/libgomp.fortran/pr25219.f90: New test.
16291
162922005-12-05 Uros Bizjak <uros@kss-loka.si>
16293
16294 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
16295 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
16296 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16297 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16298 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
16299 testsuite/libgomp.fortran/threadprivate1.f90,
16300 testsuite/libgomp.fortran/threadprivate2.f90,
16301 testsuite/libgomp.fortran/threadprivate3.f90,
16302 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16303 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16304 testsuite/libgomp.fortran/omp_parse3.f90: Change required
16305 effective-target to TLS runtime.
16306
16307 * testsuite/libgomp.fortran/pr25162.f: Require
16308 effective-target TLS runtime.
16309
163102005-12-01 Jakub Jelinek <jakub@redhat.com>
16311
16312 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
16313 * testsuite/libgomp.c/nestedfn-3.c: New test.
16314
163152005-11-30 Jakub Jelinek <jakub@redhat.com>
16316
16317 PR fortran/25162
16318 * testsuite/libgomp.fortran/pr25162.f: New test.
16319
163202005-11-28 Jakub Jelinek <jakub@redhat.com>
16321
16322 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
16323 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
16324
163252005-11-25 Jakub Jelinek <jakub@redhat.com>
16326
16327 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
16328 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
16329 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
16330 single.c, team.c, work.c, config/linux/alpha/futex.h,
16331 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
16332 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
16333 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
16334 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
16335 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
16336 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
16337 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
16338 FSF address.
16339
163402005-11-18 Jakub Jelinek <jakub@redhat.com>
16341
16342 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
16343 to nodist_noinst_HEADERS.
16344 * Makefile.in: Rebuilt.
16345
16346 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
16347 add integer count field.
16348 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
16349 omp_nest_lock_t type change.
16350 (omp_init_nest_lock): Likewise. Initialize count to 0.
16351 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
16352 Increment count.
16353 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
16354 Decrement count.
16355 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
16356 Increment count if successful and return the new nesting level.
16357 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
16358 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
16359 * testsuite/libgomp.c/lib-1.c: New test.
16360 * testsuite/libgomp.fortran/lib1.f90: New test.
16361 * testsuite/libgomp.fortran/lib2.f: New test.
16362 * testsuite/libgomp.fortran/lib3.f: New test.
16363
163642005-11-17 Richard Henderson <rth@redhat.com>
16365
16366 PR 24845
16367 * Makefile.am (nodist_toolexeclib_HEADERS): New.
16368 * configure.ac (link_gomp): New. Substitute it.
16369 (AC_CONFIG_FILES): Add libgomp.spec.
16370 * libgomp.spec.in: New file.
16371 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
16372 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
16373
163742005-11-18 Jakub Jelinek <jakub@redhat.com>
16375
16376 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
16377 reduction(-:var) behaving the same as reduction(+:var).
16378 * testsuite/libgomp.c/reduction-4.c: New test.
16379
163802005-11-15 Uros Bizjak <uros@kss-loka.si>
16381
16382 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
16383 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
16384 testsuite/libgomp.c/copyin-3.c,
16385 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16386 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16387 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
16388 testsuite/libgomp.c++/pr24455.C,
16389 testsuite/libgomp.fortran/threadprivate1.f90,
16390 testsuite/libgomp.fortran/threadprivate2.f90,
16391 testsuite/libgomp.fortran/threadprivate3.f90,
16392 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16393 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16394 testsuite/libgomp.fortran/omp_parse3.f90: Require
16395 effective-target TLS.
16396
163972005-11-14 Diego Novillo <dnovillo@redhat.com>
16398
16399 * HEADER: Remove.
16400
164012005-11-13 Jakub Jelinek <jakub@redhat.com>
16402
16403 PR libgomp/24797
16404 * team.c (initialize_team): Pass NULL rather than free as
16405 pthread_key_create destructor. Initialize thread specific data
16406 pointer in initial thread to a static local variable rather than
16407 malloced memory.
16408
164092005-11-11 Uros Bizjak <uros@kss-loka.si>
16410
16411 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
16412 its location to ld_library_path.
16413
164142005-11-10 Diego Novillo <dnovillo@redhat.com>
16415
16416 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
16417
164182005-11-10 Diego Novillo <dnovillo@redhat.com>
16419
16420 * testsuite/libgomp.c: Rename from libgomp.dg.
16421
164222005-11-09 Diego Novillo <dnovillo@redhat.com>
16423
16424 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
16425 threadprivate variable 'i'.
16426
164272005-11-09 Jakub Jelinek <jakub@redhat.com>
16428
16429 * config/linux/s390/futex.h: New file.
16430 * configure.tgt: Use it.
16431
16432 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
16433 before the parallel.
16434
164352005-11-08 Jakub Jelinek <jakub@redhat.com>
16436
16437 PR c++/24734
16438 * testsuite/libgomp.c++/master-1.C: New test.
16439
164402005-11-07 Jakub Jelinek <jakub@redhat.com>
16441
16442 * testsuite/libgomp.dg/copyin-3.c: New test.
16443
164442005-11-07 Jakub Jelinek <jakub@redhat.com>
16445
16446 * testsuite/libgomp.fortran/retval1.f90: New test.
16447 * testsuite/libgomp.fortran/vla7.f90: New test.
16448
164492005-11-06 Jakub Jelinek <jakub@redhat.com>
16450
16451 * testsuite/libgomp.fortran/vla2.f90: New test.
16452 * testsuite/libgomp.fortran/vla3.f90: New test.
16453 * testsuite/libgomp.fortran/vla4.f90: New test.
16454 * testsuite/libgomp.fortran/vla5.f90: New test.
16455 * testsuite/libgomp.fortran/vla6.f90: New test.
16456
164572005-11-01 Jakub Jelinek <jakub@redhat.com>
16458
16459 * config/linux/sparc/futex.h: New file.
16460 * configure.tgt: Use it.
16461 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
16462
16463 * critical.c: Include stdlib.h.
16464 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
16465 ignoring return value.
16466 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
16467 LIBGOMP_CHECK_SYNC_BUILTINS check.
16468 * configure: Rebuilt.
16469
164702005-10-31 Jakub Jelinek <jakub@redhat.com>
16471
16472 * testsuite/libgomp.fortran/vla1.f90: New test.
16473
164742005-10-31 Richard Henderson <rth@redhat.com>
16475
16476 * testsuite/libgomp.fortran/character2.f90: Fix race condition
16477 setting 's' in different threads.
16478
164792005-10-31 Jakub Jelinek <jakub@redhat.com>
16480
16481 * libgomp.h (attribute_hidden, ialias): Define.
16482 * config/posix/proc.c (omp_get_num_procs): Add ialias.
16483 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
16484 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
16485 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16486 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16487 omp_test_lock, omp_test_nest_lock): Likewise.
16488 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
16489 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16490 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16491 omp_test_lock, omp_test_nest_lock): Likewise.
16492 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
16493 omp_get_dynamic, omp_get_nested): Likewise.
16494 * parallel.c (omp_get_num_threads, omp_get_max_threads,
16495 omp_get_thread_num, omp_in_parallel): Likewise.
16496 * fortran.c (ialias_redirect): Define.
16497 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
16498 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
16499 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
16500 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
16501 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
16502 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
16503 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
16504 omp_get_wtime): Add ialias_redirect.
16505
165062005-10-30 Jakub Jelinek <jakub@redhat.com>
16507
16508 * fortran.c: Include stdlib.h.
16509
165102005-10-29 Jakub Jelinek <jakub@redhat.com>
16511
16512 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
16513 * Makefile.in: Regenerated.
16514
165152005-10-28 Jakub Jelinek <jakub@redhat.com>
16516
16517 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
16518 * libgomp_f.h.in (omp_check_defines): New function.
16519 * env.c: Include libgomp_f.h.
16520 (initialize_env): Call omp_check_defines.
16521
16522 * testsuite/libgomp.dg/copyin-2.c: New test.
16523 * testsuite/libgomp.c++/copyin-2.C: New test.
16524 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
16525
16526 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
16527 * testsuite/libgomp.fortran/sharing2.f90: New test.
16528
16529 * testsuite/libgomp.dg/copyin-1.c: New test.
16530 * testsuite/libgomp.c++/copyin-1.C: New test.
16531
165322005-10-26 Jakub Jelinek <jakub@redhat.com>
16533
16534 * testsuite/libgomp.fortran/crayptr1.f90: New test.
16535
16536 * testsuite/libgomp.fortran/workshare1.f90: New test.
16537
16538 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
16539 only test.
16540 * libgomp.fortran/sharing1.f90: New test.
16541
165422005-10-24 Jakub Jelinek <jakub@redhat.com>
16543
16544 PR c++/24502
16545 * testsuite/libgomp.c++/loop-7.C: New test.
16546
16547 * testsuite/libgomp.dg/nestedfn-2.c: New test.
16548
16549 * testsuite/libgomp.dg/nestedfn-1.c: New test.
16550 * testsuite/libgomp.fortran/reduction6.f90: New test.
16551 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
16552
165532005-10-23 Richard Henderson <rth@redhat.com>
16554
16555 * testsuite/libgomp.c++/ctor-1.C: New.
16556 * testsuite/libgomp.c++/ctor-2.C: New.
16557 * testsuite/libgomp.c++/ctor-3.C: New.
16558 * testsuite/libgomp.c++/ctor-4.C: New.
16559 * testsuite/libgomp.c++/ctor-5.C: New.
16560 * testsuite/libgomp.c++/ctor-6.C: New.
16561 * testsuite/libgomp.c++/ctor-7.C: New.
16562 * testsuite/libgomp.c++/ctor-8.C: New.
16563 * testsuite/libgomp.c++/ctor-9.C: New.
16564
165652005-10-21 Diego Novillo <dnovillo@redhat.com>
16566
16567 PR 24455
16568 * testsuite/libgomp.c++/pr24455-1.C: New test.
16569 * testsuite/libgomp.c++/pr24455.C: New test.
16570 * testsuite/libgomp.dg/pr24455-1.c: New test.
16571 * testsuite/libgomp.dg/pr24455.c: New test.
16572
165732005-10-20 Richard Henderson <rth@redhat.com>
16574
16575 * testsuite/libgomp.c++/loop-6.C: New.
16576 * testsuite/libgomp.dg/loop-3.c: New.
16577
165782005-10-20 Jakub Jelinek <jakub@redhat.com>
16579
16580 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
16581 explicitly private.
16582 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
16583 explicitly shared.
16584
165852005-10-19 Diego Novillo <dnovillo@redhat.com>
16586
16587 * testsuite/libgomp.fortran/jacobi.f: New test.
16588
165892005-10-19 Richard Henderson <rth@redhat.com>
16590
16591 * configure.tgt (i?86-linux): Default to with_arch instead of
16592 CFLAGS. Add -mtune to match target_cpu.
16593 (x86_64-linux): Tune to i686.
16594
16595 * fortran.c (omp_test_nest_lock_): Fix typo.
16596
165972005-10-19 Jakub Jelinek <jakub@redhat.com>
16598
16599 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16600 gomp_ordered_sync): Do nothing if team->nthreads == 1.
16601 * testsuite/libgomp.dg/ordered-3.c: New test.
16602
16603 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
16604 Remove volatile keyword.
16605
16606 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
16607 in COMMON block to avoid warnings on 64-bit targets.
16608
166092005-10-18 Diego Novillo <dnovillo@redhat.com>
16610
16611 * testsuite/libgomp.dg/shared-3.c: New test.
16612
166132005-10-18 Jakub Jelinek <jakub@redhat.com>
16614
16615 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
16616 * testsuite/libgomp.fortran/reduction5.f90: New test.
16617
166182005-10-18 Jakub Jelinek <jakub@redhat.com>
16619
16620 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
16621 dg-options.
16622 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
16623 flush loop now that __sync_synchronize has proper memory barrier.
16624 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
16625 Add -ffixed-form to dg-options.
16626
166272005-10-17 Diego Novillo <dnovillo@redhat.com>
16628
16629 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
16630 from subdirectories.
16631 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
16632 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
16633 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
16634 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
16635 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
16636 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
16637 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
16638 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
16639 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
16640 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
16641 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
16642 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
16643 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
16644 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
16645 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
16646 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
16647 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
16648 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
16649 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
16650 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
16651 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
16652 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
16653 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
16654 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
16655 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
16656
166572005-10-17 Jakub Jelinek <jakub@redhat.com>
16658
16659 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
16660 lang_library_path exists. Use find instead of glob to gather tests.
16661 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
16662
166632005-10-17 Diego Novillo <dnovillo@redhat.com>
16664
16665 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
16666 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
16667 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
16668 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
16669 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
16670 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
16671 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
16672 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
16673 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
16674 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
16675 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
16676 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
16677 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
16678
166792005-10-15 Jakub Jelinek <jakub@redhat.com>
16680
16681 * testsuite/libgomp.dg/vla-1.c: New test.
16682
16683 * testsuite/libgomp.fortran/reference2.f90: New test.
16684
16685 * testsuite/libgomp.fortran/character2.f90: Remove explicit
16686 declaration of omp_get_thread_num.
16687 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
16688 use omp_lib.
16689
16690 * testsuite/libgomp.fortran/reduction1.f90: New test.
16691 * testsuite/libgomp.fortran/reduction2.f90: New test.
16692 * testsuite/libgomp.fortran/reduction3.f90: New test.
16693 * testsuite/libgomp.fortran/reduction4.f90: New test.
16694
166952005-10-13 Richard Henderson <rth@redhat.com>
16696
16697 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
16698 * Makefile.in: Regenerate.
16699 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
16700 * libgomp.h: Include bar.h.
16701 (struct gomp_barrier): Remove.
16702 (struct gomp_team): Add barrier. Replace master_barrier with
16703 master_release. Replace threads with ordered_release.
16704 (struct gomp_thread): Replace barrier with release.
16705 * ordered.c (gomp_ordered_first): Update for ordered_release change.
16706 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
16707 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
16708 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
16709 (GOMP_single_copy_end): Likewise.
16710 * team.c (gomp_threads_dock): New.
16711 (gomp_barrier_init, gomp_barrier_destroy): Remove.
16712 (gomp_thread_start): Use gomp_barrier_wait.
16713 (new_team, free_team): Update for gomp_team changes.
16714 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
16715 (gomp_team_end): Use gomp_barrier_wait.
16716 (initialize_team): Update for gomp_thread changes.
16717 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
16718 (gomp_work_share_end_nowait): Use atomic ops when available.
16719 * config/linux/bar.c, config/linux/bar.h: New files.
16720 * config/posix/bar.c, config/posix/bar.h: New files.
16721
167222005-10-13 Jakub Jelinek <jakub@redhat.com>
16723
16724 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
16725 * testsuite/libgomp.dg/single-2.c: New test.
16726
16727 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
16728 lang_link_flags): Unset, so that they aren't inherited from previously
16729 sourced *.exp.
16730
16731 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
16732
167332005-10-12 Richard Henderson <rth@redhat.com>
16734
16735 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
16736 (libgomp_init): Use lang_test_file, lang_library_path, and
16737 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
16738
16739 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
16740 (lang_test_file, lang_link_flags): New.
16741 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
16742
16743 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
16744 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
16745 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
16746 testsuite/libgomp.c++/parallel-1.C,
16747 testsuite/libgomp.c++/reduction-1.C,
16748 testsuite/libgomp.c++/reduction-2.C,
16749 testsuite/libgomp.c++/reduction-3.C,
16750 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
16751 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
16752 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
16753 New files, largely cribbed from the C testsuite.
16754
167552005-10-12 Jakub Jelinek <jakub@redhat.com>
16756
16757 * testsuite/libgomp.fortran/character1.f90: New test.
16758 * testsuite/libgomp.fortran/character2.f90: New test.
16759
16760 * testsuite/libgomp.dg/nested-1.c: New test.
16761 * testsuite/libgomp.dg/nested-2.c: New test.
16762 * testsuite/libgomp.fortran/do1.f90: New test.
16763 * testsuite/libgomp.fortran/do2.f90: New test.
16764
16765 * testsuite/libgomp.fortran/reference1.f90: New test.
16766
167672005-10-11 Jakub Jelinek <jakub@redhat.com>
16768
16769 * testsuite/libgomp.dg/reduction-1.c: New test.
16770 * testsuite/libgomp.dg/reduction-2.c: New test.
16771 * testsuite/libgomp.dg/reduction-3.c: New test.
16772
167732005-10-10 Jakub Jelinek <jakub@redhat.com>
16774
16775 * testsuite/libgomp.dg/atomic-1.c: New test.
16776 * testsuite/libgomp.dg/atomic-2.c: New test.
16777
167782005-10-09 Richard Henderson <rth@redhat.com>
16779
16780 * critical.c (atomic_lock): New.
16781 (initialize_critical): Initialize it.
16782 (GOMP_atomic_start, GOMP_atomic_end): New.
16783 * libgomp.map: Export them.
16784 * libgomp_g.h: Declare them.
16785
16786 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
16787
167882005-10-02 Richard Henderson <rth@redhat.com>
16789
16790 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
16791 to XCFLAGS instead of CFLAGS.
16792
167932005-09-30 Richard Henderson <rth@redhat.com>
16794
16795 * configure.ac: Determine whether -pthread or -lpthread is needed.
16796 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 16797 * Makefile.in, configure: Rebuild.
953ff289
DN
16798
167992005-09-28 Richard Henderson <rth@redhat.com>
16800
16801 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
16802 * testsuite/libgomp.dg/omp-single-3.c: New test.
16803
168042005-09-28 Diego Novillo <dnovillo@redhat.com>
16805
16806 * testsuite/libgomp.dg/omp-single-2.c: New test.
16807 * testsuite/libgomp.dg/shared-2.c: Fix return code.
16808
168092005-09-27 Richard Henderson <rth@redhat.com>
16810
16811 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
16812 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
16813
168142005-09-27 Jakub Jelinek <jakub@redhat.com>
16815
16816 * testsuite/libgomp.dg/omp-loop03.c: New test.
16817
168182005-09-27 Diego Novillo <dnovillo@redhat.com>
16819
16820 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
16821
168222005-09-27 Diego Novillo <dnovillo@redhat.com>
16823
16824 * testsuite/libgomp.dg/omp-single-1.c: New test.
16825 * testsuite/libgomp.dg/shared-1.c: Return 0.
16826 Add prototype for abort.
16827 * testsuite/libgomp.dg/shared-2.c: Likewise.
16828
168292005-09-26 Jakub Jelinek <jakub@redhat.com>
16830
16831 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
16832 constructs.
16833
168342005-09-26 Diego Novillo <dnovillo@redhat.com>
16835
16836 * testsuite/libgomp.dg/shared-1.c: New test.
16837 * testsuite/libgomp.dg/shared-2.c: New test.
16838
168392005-09-24 Richard Henderson <rth@redhat.com>
16840
16841 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
16842
168432005-09-24 Richard Henderson <rth@redhat.com>
16844
16845 * iter.c (gomp_iter_static_next): Round up when computing number
16846 of iterations. Don't bother distributing a remainder equally.
16847
16848 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
16849 Don't call srand. Zero b before testing.
16850 (main): New.
16851
168522005-09-24 Jakub Jelinek <jakub@redhat.com>
16853
16854 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
16855 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
16856
168572005-09-23 Jakub Jelinek <jakub@redhat.com>
16858
16859 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
16860 without !$omp end do, followed immediately by subroutine end.
16861
168622005-09-23 Diego Novillo <dnovillo@redhat.com>
16863
16864 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
16865
168662005-09-22 Richard Henderson <rth@redhat.com>
16867
16868 * critical.c (GOMP_critical_name_start): Change argument to void**.
16869 Reuse the pointer space if the mutex fits.
16870 (GOMP_critical_name_end): Likewise.
16871 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
16872 * libgomp_g.h (GOMP_critical_name_start): Update decl.
16873 (GOMP_critical_name_end): Likewise.
16874 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
16875 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
16876
168772005-09-20 Richard Henderson <rth@redhat.com>
16878
16879 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
16880 (create_lock_lock): New.
16881 (initialize_critical): Initialize it.
16882 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
16883 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
16884
168852005-09-20 Diego Novillo <dnovillo@redhat.com>
16886
16887 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
16888
168892005-09-20 Diego Novillo <dnovillo@redhat.com>
16890
16891 * testsuite/libgomp.dg/omp-loop01.c: New test.
16892 * testsuite/libgomp.dg/omp-loop02.c: New test.
16893
168942005-09-20 Jakub Jelinek <jakub@redhat.com>
16895
16896 * configure.ac (AC_PROG_FC): Add.
16897 (USE_FORTRAN): New automake conditional.
16898 * configure: Rebuilt.
16899 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
16900 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
16901 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
16902 Add rules to build them.
16903 * Makefile.in: Rebuilt.
16904 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
16905 OMP_NEST_LOCK_KIND.
16906 * libgomp.map: Add Fortran wrappers.
16907 * libgomp_f.h.in: New file.
16908 * omp_lib.h.in: New file.
16909 * omp_lib.f90.in: New file.
16910 * fortran.c: New file.
16911 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
16912 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
16913 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
16914 libgfortran has been built.
16915 * testsuite/libgomp.fortran/fortran.exp: New file.
16916 * testsuite/libgomp.fortran/omp_cond1.f: New test.
16917 * testsuite/libgomp.fortran/omp_cond2.f: New test.
16918 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
16919 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
16920 * testsuite/libgomp.fortran/omp_hello.f: New test.
16921 * testsuite/libgomp.fortran/omp_orphan.f: New test.
16922 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
16923 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
16924 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
16925 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
16926 * testsuite/libgomp.fortran/omp_reduction.f: New test.
16927 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
16928 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
16929
169302005-08-30 Richard Henderson <rth@redhat.com>
16931
16932 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
16933 function for when aliases are not usable.
16934 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
16935 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
16936 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
16937 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
16938 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
16939 GOMP_loop_ordered_guided_next): Likewise.
16940 * ordered.c (GOMP_ordered_start): Likewise.
16941
169422005-08-01 Diego Novillo <dnovillo@redhat.com>
16943
16944 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
16945 * testsuite/libgomp.dg/omp_hello.c: Fix return code
16946 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
16947 * testsuite/libgomp.dg/omp_orphan.c: Likewise
16948 * testsuite/libgomp.dg/omp_reduction.c: Likewise
16949 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
16950 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
16951 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
16952 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
16953
169542005-07-07 Eric Christopher <echristo@redhat.com>
16955 Diego Novillo <dnovillo@redhat.com>
16956
16957 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
16958 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
16959 up code.
16960 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
16961 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
16962 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
16963 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
16964 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
16965 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
16966 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
16967
169682005-06-13 Diego Novillo <dnovillo@redhat.com>
16969
16970 * TOPLEVEL.patch: Remove.
16971
169722005-05-16 Richard Henderson <rth@redhat.com>
16973
16974 * configure.ac: Test for clock_gettime.
16975 * config.h.in, configure: Rebuild.
16976 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
16977 (omp_get_wtime): Use clock_gettime if available.
16978 (omp_get_wtick): Use clock_getres if available.
16979
169802005-05-11 Richard Henderson <rth@redhat.com>
16981
16982 * config/linux/ia64/futex.h: New file.
16983 * configure.tgt: Use it.
16984
16985 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
16986
169872005-05-07 Richard Henderson <rth@redhat.com>
16988
16989 * config/linux/powerpc/futex.h: New file.
16990 * configure.tgt: Use it.
16991
16992 * config/linux/i486/futex.h: Merge ...
16993 * config/linux/x86_64/futex.h: ... into ...
16994 * config/linux/x86/futex.h: ... here.
16995 * configure.tgt: Update to match.
16996
169972005-05-06 Richard Henderson <rth@redhat.com>
16998
16999 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
17000 * config/linux/i486/futex.h: Likewise.
17001 * config/linux/x86_64/futex.h: Likewise.
17002
17003 * config/linux/lock.c: New file.
17004 * config/linux/omp-lock.h: New file.
17005
17006 * critical.c, env.h: Don't include omp.h
17007 * config/posix/lock.c: Include libgomp.h instead of omp.h.
17008 * config/posix/time.c: Likewise.
17009 * config/posix/omp-lock.h: New file.
17010 * libgomp.h: Include omp-lock.h and omp.h.
17011 * Makefile.am (nodist_include_HEADERS): New.
17012 (omp.h): New rule.
17013 * configure.ac (PERL): New.
17014 * mkomp_h.pl: New file.
17015 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
17016 with templates.
17017 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
17018
17019 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
17020 build directory. Re-add -march=i486 hack.
17021
17022 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
17023 (libgomp_link_flags): Remove.
17024 (libgomp_initialized): Remove.
17025 (libgomp_init): Don't protect from reinitialization. Copy code
17026 from libstdc++ for getting the multilib set correctly.
17027
170282005-05-05 Richard Henderson <rth@redhat.com>
17029
17030 * config/linux/alpha/futex.h: New file.
17031 * configure.tgt (alpha*-*-linux*): Use it.
17032
17033 * config/posix/mutex.c: New file.
17034 * config/posix/sem.c: Use libgomp.h.
17035
17036 * configure.tgt (x86_64-linux): Also test CC for -m32.
17037 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
17038
a1daed2d 17039 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
17040 after $gccpath.
17041
17042 * Makefile.am (SUBDIRS): New.
17043 (libgomp_la_LDFLAGS): Add -lpthread.
17044 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
17045 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
17046
17047 * libgomp_g.h: New file.
17048 * libgomp.h: Split out all public declarations to libgomp_g.h.
17049 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
17050 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
17051 * config/linux/sem.h: Likewise.
17052 * config/posix/sem.h: Likewise.
17053
17054 * Makefile.am (AM_LDFLAGS): New.
17055 (libgomp_version_script): Split out from ...
17056 (libgomp_la_LDFLAGS): ... here.
17057 (libgomp_version_info): New.
17058 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
17059 (LIBGOMP_ENABLE): New.
17060 (LIBGOMP_CHECK_LINKER_FEATURES): New.
17061 (LIBGOMP_ENABLE_SYMVERS): New.
17062 * configure.ac (AC_INIT): Version 1.0.
17063 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
17064 (enable-linux-futex): Likewise. Rename from enable-futex.
17065 (libtool_VERSION): New.
17066 (LIBGOMP_ENABLE_SYMVERS): Use it.
17067 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
17068 * Makefile.in, aclocal.m4, configure: Rebuild.
17069
17070 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
17071 (gomp_mutex_unlock_slow): Fix typo.
17072 * config/linux/sem.c: Similarly.
17073 (gomp_sem_post_slow): Fix typo.
17074 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
17075 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
17076 [__PIC__] (sys_futex0): Don't use tmp output in asm.
17077
17078 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
17079 (libgomp_la_LDFLAGS): Add top_srcdir to path.
17080 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
17081 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
17082 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
17083 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
17084 LDFLAGS. Pull enable_futex check to top-level.
17085 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
17086 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
17087
17088 First attempt at real configury.
17089 * Makefile, config.h: Remove file.
17090 * Makefile.am, Makefile.in: New file.
17091 * acinclude.m4 aclocal.m4: New file.
17092 * configure.ac, configure.tgt, configure: New file.
17093
17094 * config/posix/lock.c: Rename from sys-lock.c.
17095 * config/posix/mutex.h: Rename from sys-mutex.h.
17096 * config/posix/sem.c: Rename from sys-sem.c.
17097 * config/posix/sem.h: Rename from sys-sem.h.
17098 * config/posix/proc.c: Rename from sys-proc.c.
17099 * config/posix/time.c: Rename from sys-proc.c.
17100
17101 * config/linux/mutex.c: New file.
17102 * config/linux/mutex.h: New file.
17103 * config/linux/sem.c: New file.
17104 * config/linux/sem.h: New file.
17105 * config/linux/i486/futex.h: New file.
17106 * config/linux/x86_64/futex.h: New file.
17107
171082005-05-04 Richard Henderson <rth@redhat.com>
17109
17110 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
17111 * libgomp.h: Declare them.
17112 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
17113 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
17114
171152005-05-04 Richard Henderson <rth@redhat.com>
17116
17117 * libgomp-1 code drop
17118
171192005-05-04 Richard Henderson <rth@redhat.com>
17120
17121 * iter.c (gomp_iter_static_next): Return tri-state on 0.
17122 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
17123 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
17124 (gomp_iter_static_next): Update.
17125 (gomp_ordered_static_next): Update.
17126 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
17127 (gomp_loop_ordered_static_start): Likewise. Exit early for a
17128 totally empty range.
17129 (gomp_loop_ordered_static_next): Refine test for calling
17130 gomp_ordered_static_next.
17131 * testsuite/ordered-1.c: Add case for more threads than iterations.
17132
17133 * iter.c (gomp_iter_runtime_next_locked): Remove.
17134 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 17135 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
17136 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
17137 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
17138 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
17139 gomp_loop_ordered_guided_next): Downcase name, make static, add
17140 an external alias with the old name.
17141 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
17142 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
17143 switch and call one of the above static functions.
17144 * libgomp.h: Update.
17145
17146 * work.c (gomp_work_share_start): Lock the mutex for !first too.
17147 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
17148 GOMP_loop_guided_start, GOMP_loop_runtime_start,
17149 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17150 GOMP_loop_ordered_guided_start): Update to match.
17151 * sections.c (GOMP_sections_start): Likewise.
17152 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
17153
17154 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17155 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
17156 Use bounds check instead of modulus.
17157 (gomp_ordered_sync): Split out of GOMP_ordered_start.
17158 (gomp_ordered_last): Don't sync with ordered_owner here.
17159 (gomp_ordered_next): Likewise.
17160 (gomp_ordered_static_loop_next): Likewise.
17161 * loop.c, libgomp.h: Update to match.
17162
17163 * libgomp.h (GOMP_barrier): Declare.
17164
17165 * testsuite/barrier-1.c: New file.
17166 * testsuite/critical-1.c: New file.
17167 * testsuite/ordered-2.c: New file.
17168 * testsuite/ordered-1.c: New file.
17169 * testsuite/sections-1.c: New file.
17170 * testsuite/single-1.c: New file.
17171 * testsuite/Makefile (TESTS): Add them.
17172
171732005-05-04 Richard Henderson <rth@redhat.com>
17174
17175 * libgomp.h (struct gomp_work_share): Add ordered_owner.
17176 * loop.c (GOMP_loop_static_start): If not the startup thread,
17177 acquire the mutex to wait for initialization complete.
17178 (GOMP_loop_ordered_static_start): Likewise.
17179 (GOMP_loop_ordered_runtime_start): Likewise.
17180 (GOMP_loop_ordered_static_first): Remove.
17181 (GOMP_loop_ordered_dynamic_first): Remove.
17182 (GOMP_loop_ordered_guided_first): Remove.
17183 (GOMP_loop_ordered_runtime_first): Remove.
17184 * ordered.c (gomp_ordered_loop_first): Post to own release when
17185 we're the first thread.
17186 (gomp_ordered_loop_last): Wait on release if not owner.
17187 (gomp_ordered_loop_next): Likewise.
17188 (gomp_ordered_static_loop_init): New.
17189 (gomp_ordered_static_loop_next): Use ordered_owner.
17190 (GOMP_ordered_start): Likewise.
17191 * work.c (gomp_new_work_share): Initialize ordered_owner.
17192
171932005-05-03 Richard Henderson <rth@redhat.com>
17194
17195 * Makefile (OPT): New.
17196 (CFLAGS): Use it.
17197
17198 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
17199 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
17200 * libgomp.h, libgomp.map, NOTES: Update to match.
17201
17202 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
17203 Add initialized and thr members.
17204 (gomp_thread_start): Pause when initially spawned to wait for
17205 the whole team to be created.
17206 (gomp_team_start): Release team members at the end.
17207
17208 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
17209 (f_foo_1): Use GOMP_loop_end.
17210 (f_foo_2): Use GOMP_loop_end_nowait.
17211
17212 * testsuite/loop-2.c: New file.
17213 * testsuite/Makefile (TESTS): Add it.
17214
172152005-05-03 Richard Henderson <rth@redhat.com>
17216
17217 * iter.c (gomp_iter_static_next): Fix overflow check typo.
17218 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
17219 * team.c (new_team): Initialize oldest_live_gen to 1 if no
17220 initial work_share.
17221
17222 * testsuite/Makefile: New file.
17223 * testsuite/loop-1.c: New file.
17224
172252005-05-03 Richard Henderson <rth@redhat.com>
17226
17227 Initial implementation and checkin.
21fa2a29 17228\f
877e3c2a 17229Copyright (C) 2005-2022 Free Software Foundation, Inc.
21fa2a29
JJ
17230
17231Copying and distribution of this file, with or without modification,
17232are permitted in any medium without royalty provided the copyright
17233notice and this notice are preserved.