ChangeLog revision 1.1.1.21 1 2023-05-08 Release Manager
2
3 * GCC 12.3.0 released.
4
5 2023-03-19 Jakub Jelinek <jakub (a] redhat.com>
6
7 Backported from master:
8 2023-02-16 Jakub Jelinek <jakub (a] redhat.com>
9
10 * libgomp.texi: Fix typos - theads -> threads.
11
12 2023-03-08 Tobias Burnus <tobias (a] codesourcery.com>
13
14 Backported from master:
15 2023-03-01 Tobias Burnus <tobias (a] codesourcery.com>
16
17 PR middle-end/108546
18 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
19 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
20
21 2023-02-10 Jakub Jelinek <jakub (a] redhat.com>
22
23 Backported from master:
24 2023-01-19 Jakub Jelinek <jakub (a] redhat.com>
25
26 PR middle-end/108459
27 * testsuite/libgomp.c/pr108459.c: New test.
28
29 2023-02-10 Jakub Jelinek <jakub (a] redhat.com>
30
31 Backported from master:
32 2023-01-05 Jakub Jelinek <jakub (a] redhat.com>
33
34 PR c++/108286
35 * testsuite/libgomp.c++/pr108286.C: New test.
36
37 2023-02-10 Jakub Jelinek <jakub (a] redhat.com>
38
39 Backported from master:
40 2022-12-21 Jakub Jelinek <jakub (a] redhat.com>
41
42 PR c++/108180
43 * testsuite/libgomp.c++/pr108180.C: New test.
44
45 2023-01-30 Tobias Burnus <tobias (a] codesourcery.com>
46
47 Backported from master:
48 2023-01-27 Tobias Burnus <tobias (a] codesourcery.com>
49
50 PR fortran/108558
51 * testsuite/libgomp.fortran/has_device_addr.f90: New test.
52
53 2022-11-03 Jakub Jelinek <jakub (a] redhat.com>
54
55 Backported from master:
56 2022-10-12 Jakub Jelinek <jakub (a] redhat.com>
57
58 * task.c (gomp_create_artificial_team): Fix up handling of invocations
59 from within explicit task.
60 * target.c (GOMP_target_ext): Likewise.
61 * testsuite/libgomp.c/task-7.c: New test.
62 * testsuite/libgomp.c/task-8.c: New test.
63 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
64 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
65
66 2022-11-03 Jakub Jelinek <jakub (a] redhat.com>
67
68 Backported from master:
69 2022-09-24 Jakub Jelinek <jakub (a] redhat.com>
70
71 PR c/106981
72 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
73
74 2022-10-28 Julian Brown <julian (a] codesourcery.com>
75
76 Backported from master:
77 2022-10-28 Julian Brown <julian (a] codesourcery.com>
78 Thomas Schwinge <thomas (a] codesourcery.com>
79
80 PR middle-end/90115
81 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
82 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
83 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
84 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
85 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
86
87 2022-10-21 Thomas Schwinge <thomas (a] codesourcery.com>
88
89 Backported from master:
90 2022-10-20 Thomas Schwinge <thomas (a] codesourcery.com>
91
92 PR target/105421
93 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
94
95 2022-08-23 Tobias Burnus <tobias (a] codesourcery.com>
96
97 Backported from master:
98 2022-08-17 Tobias Burnus <tobias (a] codesourcery.com>
99
100 PR middle-end/106548
101 * testsuite/libgomp.c/linear-2.c: New test.
102
103 2022-08-19 Release Manager
104
105 * GCC 12.2.0 released.
106
107 2022-08-01 Lewis Hyatt <lhyatt (a] gmail.com>
108
109 Backported from master:
110 2022-07-10 Lewis Hyatt <lhyatt (a] gmail.com>
111
112 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
113 improved warning locations.
114 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
115
116 2022-07-30 Jakub Jelinek <jakub (a] redhat.com>
117
118 Backported from master:
119 2022-07-29 Jakub Jelinek <jakub (a] redhat.com>
120
121 PR middle-end/106449
122 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
123
124 2022-06-28 Jakub Jelinek <jakub (a] redhat.com>
125
126 Backported from master:
127 2022-06-21 Jakub Jelinek <jakub (a] redhat.com>
128 Paul Iannetta <piannetta (a] kalrayinc.com>
129
130 PR libgomp/106045
131 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
132
133 2022-06-28 Martin Liska <mliska (a] suse.cz>
134
135 Backported from master:
136 2022-06-28 Martin Liska <mliska (a] suse.cz>
137
138 * acinclude.m4: Fix typo in mold linker detection.
139 * Makefile.in: Regenerate.
140 * configure: Regenerate.
141
142 2022-05-30 Jakub Jelinek <jakub (a] redhat.com>
143
144 Backported from master:
145 2022-05-28 Jakub Jelinek <jakub (a] redhat.com>
146
147 PR libgomp/105745
148 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
149 defined(HAVE__ALIGNED_MALLOC) case.
150 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
151 handling as last option before fallback instead of first.
152 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
153 _aligned_free.
154
155 2022-05-17 Jakub Jelinek <jakub (a] redhat.com>
156
157 Backported from master:
158 2022-05-17 Jakub Jelinek <jakub (a] redhat.com>
159
160 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
161 comment for omp_display_env feature.
162
163 2022-05-06 Release Manager
164
165 * GCC 12.1.0 released.
166
167 2022-04-28 Thomas Schwinge <thomas (a] codesourcery.com>
168
169 PR fortran/104717
170 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
171 privatization scanning. For GCN offloading compilation, raise
172 '-mgang-private-size'.
173
174 2022-04-26 Jakub Jelinek <jakub (a] redhat.com>
175
176 PR libgomp/105358
177 * work.c (gomp_init_work_share): Don't mask of adjustment for
178 dynamic long long realignment if struct gomp_work_share has smaller
179 alignof than long long.
180 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
181 struct gomp_work_share has smaller alignof than long long or if
182 sizeof (struct gomp_work_share) is smaller than
183 INLINE_ORDERED_TEAM_IDS_OFF.
184 * loop_ull.c (GOMP_loop_ull_start): Likewise.
185 * sections.c (GOMP_sections2_start): Likewise.
186
187 2022-04-25 Jakub Jelinek <jakub (a] redhat.com>
188 Thomas Schwinge <thomas (a] codesourcery.com>
189
190 PR fortran/104717
191 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
192
193 2022-04-13 Jakub Jelinek <jakub (a] redhat.com>
194
195 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
196
197 2022-04-06 Thomas Schwinge <thomas (a] codesourcery.com>
198
199 * plugin/cuda/cuda.h: Remove file.
200 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
201 "cuda/cuda.h" instead of <cuda.h>.
202 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
203 'PLUGIN_NVPTX_CPPFLAGS'.
204 * configure: Regenerate.
205
206 2022-04-05 Chung-Lin Tang <cltang (a] codesourcery.com>
207
208 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
209
210 2022-04-04 Tom de Vries <tdevries (a] suse.de>
211
212 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
213 on_device_arch_nvptx instead of offload_target_nvptx.
214 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
215
216 2022-04-01 Tom de Vries <tdevries (a] suse.de>
217
218 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
219 and use REC_DEPTH.
220 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
221
222 2022-04-01 Tom de Vries <tdevries (a] suse.de>
223
224 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
225 num_workers check.
226
227 2022-03-29 Chenghua Xu <xuchenghua (a] loongson.cn>
228 Lulu Cheng <chenglulu (a] loongson.cn>
229
230 * configure.tgt: Add LoongArch triplet.
231
232 2022-03-28 Tom de Vries <tdevries (a] suse.de>
233
234 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
235 instead of /libexec/.
236 * configure: Regenerate.
237
238 2022-03-25 Tom de Vries <tdevries (a] suse.de>
239
240 PR libgomp/105042
241 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
242 execution time.
243 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
244 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
245
246 2022-03-23 Tobias Burnus <tobias (a] codesourcery.com>
247
248 PR middle-end/104285
249 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
250 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
251 * testsuite/libgomp.c++/target-same-name-2.C: New test.
252 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
253 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
254 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
255
256 2022-03-22 Tom de Vries <tdevries (a] suse.de>
257
258 PR target/104916
259 PR target/104783
260 * testsuite/libgomp.c/pr104783-2.c: New test.
261
262 2022-03-18 Tobias Burnus <tobias (a] codesourcery.com>
263
264 PR fortran/103039
265 * testsuite/libgomp.fortran/associate4.f90: New test.
266
267 2022-03-18 Tom de Vries <tdevries (a] suse.de>
268
269 PR target/104952
270 * testsuite/libgomp.c/pr104952-1.c: New test.
271 * testsuite/libgomp.c/pr104952-2.c: New test.
272
273 2022-03-18 Jakub Jelinek <jakub (a] redhat.com>
274
275 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
276 variable next to pl variable.
277
278 2022-03-17 Thomas Schwinge <thomas (a] codesourcery.com>
279
280 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
281 Enhance.
282 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
283 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
284
285 2022-03-17 Thomas Schwinge <thomas (a] codesourcery.com>
286
287 PR middle-end/90115
288 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
289 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
290
291 2022-03-16 Marcel Vollweiler <marcel (a] codesourcery.com>
292
293 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
294 omp_set_max_active_levels.
295 * testsuite/libgomp.fortran/icv-8.f90: New test.
296
297 2022-03-16 Thomas Schwinge <thomas (a] codesourcery.com>
298
299 PR testsuite/102841
300 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
301
302 2022-03-13 Tobias Burnus <tobias (a] codesourcery.com>
303
304 * libgomp.texi: Fix typo.
305
306 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com>
307
308 PR middle-end/100280
309 PR middle-end/104892
310 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
311 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
312 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
313 Likewise.
314 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
315 Likewise.
316 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
317 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
318 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
319 Likewise.
320
321 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com>
322
323 PR middle-end/104892
324 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
325 to PR104892.
326 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
327 enable '--param=openacc-kernels=decompose' and adjust.
328 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
329 Likewise.
330 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
331 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
332 Likewise.
333
334 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com>
335
336 PR middle-end/90115
337 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
338 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
339 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
340 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
341
342 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com>
343
344 PR middle-end/100280
345 PR middle-end/104086
346 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
347 Merge this...
348 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
349 ..., and this...
350 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
351 this, and adjust.
352 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
353 Extend.
354
355 2022-03-10 Hafiz Abid Qadeer <abidh (a] codesourcery.com>
356
357 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
358 trait. Test last index in w and v array. Remove redundant
359 assignment to V(1). Move alignment checks at the end of
360 parallel region.
361
362 2022-03-10 Tom de Vries <tdevries (a] suse.de>
363
364 * testsuite/libgomp.c/pr104783.c: New test.
365
366 2022-03-10 Thomas Schwinge <thomas (a] codesourcery.com>
367
368 PR middle-end/90115
369 PR middle-end/102330
370 PR middle-end/104774
371 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
372 Enhance.
373 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
374 Adjust.
375 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
376 Likewise.
377 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
378 Likewise.
379 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
380 Likewise.
381 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
382 Likewise.
383 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
384 Likewise.
385 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
386 Likewise.
387 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
388 Likewise.
389 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
390 Likewise.
391 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
392 Likewise.
393 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
394 Likewise.
395 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
396 Likewise.
397 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
398 Likewise.
399 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
400 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
401 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
402
403 2022-03-10 Thomas Schwinge <thomas (a] codesourcery.com>
404
405 PR middle-end/90115
406 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
407 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
408 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
409 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
410
411 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
412
413 PR testsuite/104791
414 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
415 expected diagnostics.
416
417 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
418
419 PR middle-end/104784
420 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
421 Test with '--param=openacc-kernels=decompose'.
422 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
423 Likewise.
424 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
425 Likewise.
426 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
427 Likewise.
428 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
429 Likewise.
430 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
431 Likewise.
432 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
433 Likewise.
434 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
435 Likewise.
436 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
437 Likewise.
438 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
439 Likewise.
440 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
441 Likewise.
442 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
443 Likewise.
444 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
445 Likewise.
446 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
447 Likewise.
448 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
449 Likewise.
450 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
451 Likewise.
452 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
453 Likewise.
454 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
455 Likewise.
456 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
457 Likewise.
458 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
459 Likewise.
460 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
461 Likewise.
462 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
463 Likewise.
464 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
465 Likewise.
466 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
467 Likewise.
468 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
469 Likewise.
470 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
471 Likewise.
472 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
473 Likewise.
474 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
475 Likewise.
476 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
477 Likewise.
478 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
479 Likewise.
480 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
481 Likewise.
482 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
483 Likewise.
484 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
485 Likewise.
486
487 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
488
489 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
490 Test '-fopt-info-omp-all'.
491 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
492 Likewise.
493 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
494 Likewise.
495 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
496 Likewise.
497 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
498 Likewise.
499 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
500 Likewise.
501 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
502 Likewise.
503 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
504 Likewise.
505 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
506 Likewise.
507 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
508 Likewise.
509 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
510 Likewise.
511 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
512 Likewise.
513 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
514 Likewise.
515 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
516 Likewise.
517 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
518 Likewise.
519 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
520 Likewise.
521 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
522 Likewise.
523 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
524 Likewise.
525 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
526 Likewise.
527 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
528 Likewise.
529 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
530 Likewise.
531 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
532 Likewise.
533 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
534 Likewise.
535 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
536 Likewise.
537 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
538 Likewise.
539 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
540 Likewise.
541 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
542 Likewise.
543 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
544 Likewise.
545 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
546 Likewise.
547 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
548 Likewise.
549 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
550 Likewise.
551 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
552 Likewise.
553 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
554 Likewise.
555
556 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
557
558 PR middle-end/100280
559 PR middle-end/104132
560 PR middle-end/104133
561 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
562 Extend.
563
564 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
565
566 PR middle-end/100280
567 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
568 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
569 Likewise.
570
571 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
572
573 PR middle-end/100280
574 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
575 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
576 Likewise.
577
578 2022-02-28 Tom de Vries <tdevries (a] suse.de>
579
580 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
581 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
582 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
583 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
584 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
585 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
586
587 2022-02-24 Tom de Vries <tdevries (a] suse.de>
588
589 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
590 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
591 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
592 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
593 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
594 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
595 * testsuite/libgomp.c/declare-variant-3.h: New header file.
596
597 2022-02-22 Thomas Schwinge <thomas (a] codesourcery.com>
598
599 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
600 gang-redundant execution.
601
602 2022-02-22 Tom de Vries <tdevries (a] suse.de>
603
604 PR target/99555
605 * config/nvptx/bar.c (generation_to_barrier): New function, copied
606 from config/rtems/bar.c.
607 (futex_wait, futex_wake): New function.
608 (do_spin, do_wait): New function, copied from config/linux/wait.h.
609 (gomp_barrier_wait_end, gomp_barrier_wait_last)
610 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
611 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
612 and replace with include of config/linux/bar.c.
613 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
614 (gomp_barrier_init): Init new fields.
615 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
616 workarounds.
617 * testsuite/libgomp.c/pr99555-1.c: Same.
618 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
619
620 2022-02-22 Tom de Vries <tdevries (a] suse.de>
621
622 PR testsuite/104146
623 * testsuite/libgomp.c++/pr96390.C: Add additional-option
624 -foffload=-Wa,--verify for nvptx.
625 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
626
627 2022-02-15 Tobias Burnus <tobias (a] codesourcery.com>
628
629 * testsuite/libgomp.fortran/depend-4.f90: New test.
630
631 2022-02-10 Tobias Burnus <tobias (a] codesourcery.com>
632
633 PR c++/102204
634 * testsuite/libgomp.c++/target-virtual-1.C: New test.
635
636 2022-02-10 Marcel Vollweiler <marcel (a] codesourcery.com>
637
638 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
639 * target.c (copy_firstprivate_data): Copy only if host address is not
640 NULL.
641 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
642 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
643 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
644 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
645 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
646 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
647 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
648 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
649 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
650 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
651
652 2022-02-08 Jakub Jelinek <jakub (a] redhat.com>
653
654 PR libgomp/104385
655 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
656 clear task->parent.
657 * testsuite/libgomp.c/pr104385.c: New test.
658
659 2022-02-04 Tobias Burnus <tobias (a] codesourcery.com>
660
661 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
662 STOP of previous commit.
663
664 2022-02-04 Tobias Burnus <tobias (a] codesourcery.com>
665
666 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
667 from is_64bit_aligned_.
668 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
669 and use it, more implicit none, remove unused argument.
670
671 2022-02-03 David Seifert <soap (a] gentoo.org>
672 Jakub Jelinek <jakub (a] redhat.com>
673
674 * configure.ac: Support --disable-werror.
675 * configure: Regenerate.
676
677 2022-02-01 Tom de Vries <tdevries (a] suse.de>
678
679 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
680 PR83812 workaround.
681 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
682 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
683
684 2022-02-01 Tom de Vries <tdevries (a] suse.de>
685
686 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
687 num_workers for nvidia accelerator to fix libgomp error 'insufficient
688 resources'.
689 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
690 Same.
691 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
692
693 2022-02-01 Tom de Vries <tdevries (a] suse.de>
694
695 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
696 recursion depth.
697 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
698
699 2022-01-31 Martin Liska <mliska (a] suse.cz>
700
701 * acinclude.m4: Detect *_ld_is_mold and use it.
702 * configure: Regenerate.
703
704 2022-01-27 Tobias Burnus <tobias (a] codesourcery.com>
705
706 * libgomp.texi (OpenMP 5.0): Update implementation status.
707
708 2022-01-21 Thomas Schwinge <thomas (a] codesourcery.com>
709
710 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
711 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
712 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
713 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
714 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
715 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
716 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
717 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
718 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
719 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
720 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
721 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
722 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
723 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
724 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
725
726 2022-01-19 Marcel Vollweiler <marcel (a] codesourcery.com>
727
728 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
729 "static") to make the device num available in the offload image.
730
731 2022-01-19 Martin Liska <mliska (a] suse.cz>
732 Thomas Schwinge <thomas (a] codesourcery.com>
733
734 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
735 patterns.
736 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
737 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
738 Likewise.
739 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
740 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
741 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
742 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
743 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
744 Likewise.
745 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
746 Likewise.
747 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
748 Likewise.
749 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
750 Likewise.
751 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
752 Likewise.
753 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
754 Likewise.
755 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
756 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
757 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
758
759 2022-01-18 Martin Liska <mliska (a] suse.cz>
760
761 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
762 in dg-warning.
763 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
764 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
765 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
766 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
767 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
768 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
769 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
770 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
771 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
772 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
773 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
774 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
775 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
776 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
777 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
778
779 2022-01-17 Thomas Schwinge <thomas (a] codesourcery.com>
780
781 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
782 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
783 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
784
785 2022-01-17 Julian Brown <julian (a] codesourcery.com>
786 Thomas Schwinge <thomas (a] codesourcery.com>
787
788 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
789 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
790 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
791
792 2022-01-16 Kwok Cheung Yeung <kcy (a] codesourcery.com>
793 Andrew Stubbs <ams (a] codesourcery.com>
794
795 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
796 the number of teams and threads if necessary.
797 (gcn_exec): Automatically set the number of gangs and workers if
798 necessary.
799
800 2022-01-13 Hafiz Abid Qadeer <abidh (a] codesourcery.com>
801
802 * testsuite/libgomp.fortran/allocate-1.c: New test.
803 * testsuite/libgomp.fortran/allocate-1.f90: New test.
804 * libgomp.texi: Remove string that says that allocate clause
805 support is for C/C++ only.
806
807 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
808
809 * testsuite/libgomp.c-c++-common/on_device_arch.h
810 (any_device_arch, any_device_arch_intel_mic): New.
811 * testsuite/lib/libgomp.exp
812 (check_effective_target_offload_device_any_intel_mic): New.
813 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
814 * testsuite/libgomp.fortran/target10.f90: Likewise.
815
816 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
817
818 PR tree-optimization/102192
819 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
820 '-Wuninitialized' diagnostics.
821
822 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
823
824 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
825 current '-Wuninitialized' diagnostics.
826 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
827 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
828 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
829 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
830 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
831 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
832 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
833 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
834 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
835 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
836 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
837 Likewise.
838
839 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
840
841 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
842 for 'offload_device_intel_mic'.
843
844 2022-01-13 Julian Brown <julian (a] codesourcery.com>
845 Thomas Schwinge <thomas (a] codesourcery.com>
846
847 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
848 offloading execution XFAIL.
849
850 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
851
852 PR middle-end/100280
853 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
854 Update.
855 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
856 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
857 Likewise.
858
859 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
860
861 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
862 Enhance.
863 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
864 Likewise.
865 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
866 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
867 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
868 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
869 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
870 Likewise.
871 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
872 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
873 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
874 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
875
876 2022-01-04 Tobias Burnus <tobias (a] codesourcery.com>
877
878 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
879 * testsuite/libgomp.fortran/target10.f90: Likewise.
880
881 2022-01-04 Chung-Lin Tang <cltang (a] codesourcery.com>
882
883 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
884 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
885 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
886
887 2022-01-03 Jakub Jelinek <jakub (a] redhat.com>
888
889 * libgomp.texi: Bump @copying's copyright year.
890
891 2021-12-13 Tobias Burnus <tobias (a] codesourcery.com>
892
893 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
894 * testsuite/libgomp.fortran/atomic-19.f90: New test.
895
896 2021-12-10 Andrew Stubbs <ams (a] codesourcery.com>
897
898 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
899 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
900 table, not individual symbols.
901
902 2021-12-09 Chung-Lin Tang <cltang (a] codesourcery.com>
903
904 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
905 "target offload_device_nonshared_as"
906 * testsuite/libgomp.c++/target-this-3.C: Likewise.
907 * testsuite/libgomp.c++/target-this-4.C: Likewise.
908
909 2021-12-08 Chung-Lin Tang <cltang (a] codesourcery.com>
910
911 * target.c (gomp_map_vars_existing): Make sure attached pointer is
912 not overwritten during cross-host/device copying.
913 (gomp_update): Likewise.
914 (gomp_exit_data): Likewise.
915 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
916 * testsuite/libgomp.c++/target-12.C: Likewise.
917 * testsuite/libgomp.c++/target-15.C: Likewise.
918 * testsuite/libgomp.c++/target-16.C: Likewise.
919 * testsuite/libgomp.c++/target-17.C: Likewise.
920 * testsuite/libgomp.c++/target-21.C: Likewise.
921 * testsuite/libgomp.c++/target-23.C: Likewise.
922 * testsuite/libgomp.c/target-23.c: Likewise.
923 * testsuite/libgomp.c/target-29.c: Likewise.
924 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
925
926 2021-12-08 Chung-Lin Tang <cltang (a] codesourcery.com>
927
928 PR middle-end/92120
929 * libgomp.h (gomp_attach_pointer): Add bool parameter.
930 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
931 (goacc_enter_data_internal): Likewise.
932 * target.c (gomp_map_vars_existing): Update assert condition to
933 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
934 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
935 parameter, add support for mapping a pointer with NULL target.
936 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
937 parameter, add support for attaching a pointer with NULL target.
938 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
939 gomp_attach_pointer, add handling for
940 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
941 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
942 * testsuite/libgomp.c++/target-23.C: New testcase.
943 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
944 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
945 * testsuite/libgomp.c++/target-this-1.C: New testcase.
946 * testsuite/libgomp.c++/target-this-2.C: New testcase.
947 * testsuite/libgomp.c++/target-this-3.C: New testcase.
948 * testsuite/libgomp.c++/target-this-4.C: New testcase.
949 * testsuite/libgomp.c++/target-this-5.C: New testcase.
950
951 2021-12-04 Tobias Burnus <tobias (a] codesourcery.com>
952
953 * libgomp.texi (OpenMP 5.1): Update status.
954
955 2021-12-04 Tobias Burnus <tobias (a] codesourcery.com>
956
957 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
958
959 2021-12-02 Chung-Lin Tang <cltang (a] codesourcery.com>
960
961 PR fortran/90030
962 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
963 * testsuite/libgomp.fortran/pr90030.f90: New test.
964
965 2021-11-30 Kwok Cheung Yeung <kcy (a] codesourcery.com>
966 Thomas Schwinge <thomas (a] codesourcery.com>
967
968 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
969 temporary skip.
970
971 2021-11-30 Cesar Philippidis <cesar (a] codesourcery.com>
972 Thomas Schwinge <thomas (a] codesourcery.com>
973
974 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
975 skip.
976
977 2021-11-29 Richard Biener <rguenther (a] suse.de>
978
979 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
980 return.
981
982 2021-11-24 Jakub Jelinek <jakub (a] redhat.com>
983
984 PR middle-end/103384
985 * testsuite/libgomp.c/declare-variant-2.c: New test.
986
987 2021-11-18 David Edelsohn <dje.gcc (a] gmail.com>
988
989 * alloc.c (gomp_aligned_alloc): Fix typo.
990
991 2021-11-18 Jakub Jelinek <jakub (a] redhat.com>
992
993 PR libgomp/102838
994 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
995 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
996 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
997 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
998 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
999 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
1000 gomp_aligned_alloc instead of team_malloc.
1001
1002 2021-11-18 Jakub Jelinek <jakub (a] redhat.com>
1003
1004 PR libgomp/102838
1005 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
1006 memalign over posix_memalign over aligned_alloc over fallback
1007 with malloc instead of aligned_alloc over _aligned_alloc over
1008 posix_memalign over memalign over fallback with malloc. For
1009 aligned_alloc, round up size up to multiple of al.
1010
1011 2021-11-16 Jakub Jelinek <jakub (a] redhat.com>
1012
1013 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
1014 construct as implemented.
1015
1016 2021-11-15 Tobias Burnus <tobias (a] codesourcery.com>
1017
1018 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
1019
1020 2021-11-15 Jakub Jelinek <jakub (a] redhat.com>
1021
1022 * task.c (gomp_create_target_task): Copy args array as well.
1023 * target.c (gomp_target_fallback): Add args argument.
1024 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
1025 (GOMP_target): Adjust gomp_target_fallback caller.
1026 (GOMP_target_ext): Likewise.
1027 (gomp_target_task_fn): Likewise.
1028 * config/nvptx/team.c (gomp_nvptx_main): Set
1029 gomp_global_icv.thread_limit_var.
1030 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
1031
1032 2021-11-15 Jakub Jelinek <jakub (a] redhat.com>
1033
1034 * config/nvptx/team.c (__gomp_team_num): Define as
1035 __attribute__((shared)) var.
1036 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
1037 * config/nvptx/target.c (__gomp_team_num): Declare as
1038 extern __attribute__((shared)) var.
1039 (GOMP_teams4): Use __gomp_team_num as the team number instead of
1040 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
1041 is bigger than num_blocks, use num_teams_lower teams and arrange for
1042 bumping of __gomp_team_num if !first and returning false once we run
1043 out of teams.
1044 * config/nvptx/teams.c (__gomp_team_num): Declare as
1045 extern __attribute__((shared)) var.
1046 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
1047
1048 2021-11-15 Jakub Jelinek <jakub (a] redhat.com>
1049
1050 * testsuite/libgomp.c/teams-5.c: New test.
1051
1052 2021-11-12 Jakub Jelinek <jakub (a] redhat.com>
1053
1054 PR target/103201
1055 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
1056 to ...
1057 * config/gcn/teams.c: ... here. New file.
1058
1059 2021-11-12 Chung-Lin Tang <cltang (a] codesourcery.com>
1060
1061 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
1062 implicit map handling to allow a "superset" existing map as valid case.
1063 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
1064 (get_implicit): New function to extract implicit status.
1065 (gomp_map_fields_existing): Adjust arguments in calls to
1066 gomp_map_vars_existing, and add uses of get_implicit.
1067 (gomp_map_vars_internal): Likewise.
1068 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
1069
1070 2021-11-12 Jakub Jelinek <jakub (a] redhat.com>
1071
1072 * libgomp_g.h (GOMP_teams4): Declare.
1073 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
1074 * target.c (GOMP_teams4): New function.
1075 * config/nvptx/target.c (GOMP_teams): Remove.
1076 (GOMP_teams4): New function.
1077 * config/gcn/target.c (GOMP_teams): Remove.
1078 (GOMP_teams4): New function.
1079 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
1080 teams instead of <= 2.
1081 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
1082
1083 2021-11-11 Tobias Burnus <tobias (a] codesourcery.com>
1084
1085 * testsuite/libgomp.fortran/teams-1.f90: New test.
1086
1087 2021-11-11 Jakub Jelinek <jakub (a] redhat.com>
1088
1089 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
1090 * team.c (struct gomp_thread_start_data): Likewise.
1091 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
1092 (gomp_team_start): Initialize start_data->num_teams and
1093 start_data->team_num. Update nthr->num_teams and nthr->team_num.
1094 * teams.c (gomp_num_teams, gomp_team_num): Remove.
1095 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
1096 instead of gomp_num_teams and gomp_team_num.
1097 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
1098 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
1099 * testsuite/libgomp.c/teams-4.c: New test.
1100
1101 2021-11-11 Jakub Jelinek <jakub (a] redhat.com>
1102
1103 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
1104
1105 2021-11-09 Thomas Schwinge <thomas (a] codesourcery.com>
1106
1107 * env.c (parse_gomp_openacc_dim): Restore parsing.
1108
1109 2021-10-30 Tobias Burnus <tobias (a] codesourcery.com>
1110
1111 PR middle-end/102972
1112 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
1113 parallel construct.
1114 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
1115 * testsuite/libgomp.c/target-3.c: Likewise.
1116 * testsuite/libgomp.c/target-5.c: Likewise.
1117 * testsuite/libgomp.c/target-6.c: Likewise.
1118 * testsuite/libgomp.c/target-teams-1.c: Likewise.
1119 * testsuite/libgomp.c/teams-1.c: Likewise.
1120 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1121 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
1122 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
1123 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
1124 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
1125 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
1126 * testsuite/libgomp.fortran/teams1.f90: Likewise.
1127
1128 2021-10-29 Aldy Hernandez <aldyh (a] redhat.com>
1129
1130 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
1131 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1132
1133 2021-10-27 Jakub Jelinek <jakub (a] redhat.com>
1134
1135 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
1136 aren't implemented for Fortran yet.
1137
1138 2021-10-27 Jakub Jelinek <jakub (a] redhat.com>
1139
1140 * testsuite/libgomp.c/loop-26.c: New test.
1141 * testsuite/libgomp.c/loop-27.c: New test.
1142
1143 2021-10-25 Tobias Burnus <tobias (a] codesourcery.com>
1144
1145 PR testsuite/102910
1146 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
1147 instead of #include <alloca.h> + alloca.
1148
1149 2021-10-21 Chung-Lin Tang <cltang (a] codesourcery.com>
1150
1151 * libgomp.texi (Support of strictly structured blocks in Fortran):
1152 Adjust to 'Y'.
1153 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
1154
1155 2021-10-20 Chung-Lin Tang <cltang (a] codesourcery.com>
1156
1157 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
1158 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
1159
1160 2021-10-20 Jakub Jelinek <jakub (a] redhat.com>
1161
1162 PR libgomp/102838
1163 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
1164 (struct gomp_work_share): Only use aligned(64) attribute if
1165 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
1166 add padding before lock to ensure lock is at offset 64 bytes
1167 into the structure.
1168 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
1169 New poor man's static assertions.
1170 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
1171 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1172
1173 2021-10-20 Aldy Hernandez <aldyh (a] redhat.com>
1174 Richard Biener <rguenther (a] suse.de>
1175
1176 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
1177
1178 2021-10-18 Jakub Jelinek <jakub (a] redhat.com>
1179
1180 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
1181 && gomp_places_list_len < count after nfirst <= nlast loop condition.
1182
1183 2021-10-18 Tobias Burnus <tobias (a] codesourcery.com>
1184
1185 PR fortran/102086
1186 PR fortran/92189
1187 PR fortran/92621
1188 PR fortran/101308
1189 PR fortran/101309
1190 PR fortran/101635
1191 PR fortran/92482
1192 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
1193
1194 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1195
1196 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
1197 type from char [50] to const char *.
1198 (places_array): Add a testcase for simplified syntax place followed
1199 by length or length and stride.
1200
1201 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1202
1203 * env.c (parse_one_place): Handle non-negative-number the same
1204 as { non-negative-number }. Reject even !number:1 and
1205 !number:1:stride or !place:1 or !place:1:stride instead of just
1206 length other than 1.
1207 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
1208 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
1209 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
1210 as implemented.
1211 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
1212 simplified syntax.
1213
1214 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1215
1216 * env.c (parse_schedule): For strtoul or strtoull calls which don't
1217 clearly reject return value 0 as invalid handle the case where end
1218 pointer is the same as first argument as invalid.
1219 (parse_unsigned_long_1): Likewise.
1220 (parse_one_place): Likewise.
1221 (parse_places_var): Likewise.
1222 (parse_stacksize): Likewise.
1223 (parse_spincount): Likewise.
1224 (parse_affinity): Likewise.
1225 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
1226 Make code valid C89.
1227 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
1228 For strtoul calls which don't clearly reject return value 0 as
1229 invalid handle the case where end pointer is the same as first
1230 argument as invalid.
1231 (gomp_affinity_init_level_1): Likewise.
1232 (gomp_affinity_init_numa_domains): Likewise.
1233 * config/rtems/proc.c (parse_thread_pools): Likewise.
1234
1235 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1236
1237 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
1238 after creating count places clean up and return immediately.
1239 * testsuite/libgomp.c/places-6.c: New test.
1240 * testsuite/libgomp.c/places-7.c: New test.
1241 * testsuite/libgomp.c/places-8.c: New test.
1242 * testsuite/libgomp.c/places-9.c: New test.
1243 * testsuite/libgomp.c/places-10.c: New test.
1244
1245 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1246
1247 * env.c (parse_places_var): Handle numa_domains as level 5.
1248 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
1249 function.
1250 (gomp_affinity_init_level): Use it instead of
1251 gomp_affinity_init_level_1 for level == 5.
1252 * testsuite/libgomp.c/places-5.c: New test.
1253
1254 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1255
1256 * env.c (parse_places_var): Handle ll_caches as level 4.
1257 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
1258 function.
1259 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
1260 last level cache.
1261 (gomp_affinity_init_level): Likewise.
1262 * testsuite/libgomp.c/places-1.c: New test.
1263 * testsuite/libgomp.c/places-2.c: New test.
1264 * testsuite/libgomp.c/places-3.c: New test.
1265 * testsuite/libgomp.c/places-4.c: New test.
1266
1267 2021-10-14 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1268
1269 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
1270 directive.
1271
1272 2021-10-14 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1273
1274 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
1275
1276 2021-10-12 Julian Brown <julian (a] codesourcery.com>
1277
1278 * target.c (gomp_copy_host2dev): Release device lock on cbuf
1279 error path.
1280
1281 2021-10-12 Tobias Burnus <tobias (a] codesourcery.com>
1282
1283 * testsuite/libgomp.fortran/icv-3.f90: New.
1284 * testsuite/libgomp.fortran/icv-4.f90: New.
1285
1286 2021-10-12 Jakub Jelinek <jakub (a] redhat.com>
1287
1288 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
1289 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
1290 OMP_TEAMS_THREAD_LIMIT): Document.
1291
1292 2021-10-12 Jakub Jelinek <jakub (a] redhat.com>
1293
1294 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
1295 to avoid makeinfo warnings.
1296
1297 2021-10-12 Jakub Jelinek <jakub (a] redhat.com>
1298
1299 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
1300 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
1301
1302 2021-10-12 Jakub Jelinek <jakub (a] redhat.com>
1303
1304 PR libgomp/102628
1305 PR libgomp/102668
1306 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
1307 allocation sizes from 420 to 320 and from 768 to 568.
1308 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1309 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
1310 for cr from 16 to 4.
1311
1312 2021-10-12 Jakub Jelinek <jakub (a] redhat.com>
1313
1314 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
1315 * testsuite/libgomp.c/scan-12.c: Likewise.
1316 * testsuite/libgomp.c/scan-13.c: Likewise.
1317 * testsuite/libgomp.c/scan-14.c: Likewise.
1318 * testsuite/libgomp.c/scan-15.c: Likewise.
1319 * testsuite/libgomp.c/scan-16.c: Likewise.
1320 * testsuite/libgomp.c/scan-17.c: Likewise.
1321 * testsuite/libgomp.c/scan-18.c: Likewise.
1322 * testsuite/libgomp.c/scan-19.c: Likewise.
1323 * testsuite/libgomp.c/scan-20.c: Likewise.
1324 * testsuite/libgomp.c/scan-21.c: Likewise.
1325 * testsuite/libgomp.c/scan-22.c: Likewise.
1326 * testsuite/libgomp.c++/scan-9.C: Likewise.
1327 * testsuite/libgomp.c++/scan-10.C: Likewise.
1328 * testsuite/libgomp.c++/scan-11.C: Likewise.
1329 * testsuite/libgomp.c++/scan-12.C: Likewise.
1330 * testsuite/libgomp.c++/scan-13.C: Likewise.
1331 * testsuite/libgomp.c++/scan-14.C: Likewise.
1332 * testsuite/libgomp.c++/scan-15.C: Likewise.
1333 * testsuite/libgomp.c++/scan-16.C: Likewise.
1334
1335 2021-10-12 Kewen Lin <linkw (a] linux.ibm.com>
1336
1337 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
1338
1339 2021-10-11 Marcel Vollweiler <marcel (a] codesourcery.com>
1340
1341 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
1342 omp_atv_serialized.
1343 * omp.h.in: Add deprecated flag for omp_atv_sequential.
1344 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
1345 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
1346 * testsuite/libgomp.fortran/alloc-12.f90: New test.
1347
1348 2021-10-11 Jakub Jelinek <jakub (a] redhat.com>
1349
1350 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
1351 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1352 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
1353 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1354 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
1355 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1356 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
1357 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
1358 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
1359 omp_set_teams_thread_limit{,_,_8_}.
1360 * icv.c (omp_set_num_teams, omp_get_max_teams,
1361 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
1362 functions.
1363 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
1364 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
1365 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
1366 vars.
1367 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
1368 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
1369 is not specified, use gomp_nteams_var.
1370 * fortran.c (omp_set_num_teams, omp_get_max_teams,
1371 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
1372 ialias_redirect.
1373 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
1374 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
1375 omp_get_teams_thread_limit_): New functions.
1376
1377 2021-10-09 liuhongt <hongtao.liu (a] intel.com>
1378
1379 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
1380 * testsuite/libgomp.c++/scan-11.C: Ditto.
1381 * testsuite/libgomp.c++/scan-12.C: Ditto.
1382 * testsuite/libgomp.c++/scan-13.C: Ditto.
1383 * testsuite/libgomp.c++/scan-14.C: Ditto.
1384 * testsuite/libgomp.c++/scan-15.C: Ditto.
1385 * testsuite/libgomp.c++/scan-16.C: Ditto.
1386 * testsuite/libgomp.c++/scan-9.C: Ditto.
1387 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
1388 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
1389 * testsuite/libgomp.c/scan-11.c: Ditto.
1390 * testsuite/libgomp.c/scan-12.c: Ditto.
1391 * testsuite/libgomp.c/scan-13.c: Ditto.
1392 * testsuite/libgomp.c/scan-14.c: Ditto.
1393 * testsuite/libgomp.c/scan-15.c: Ditto.
1394 * testsuite/libgomp.c/scan-16.c: Ditto.
1395 * testsuite/libgomp.c/scan-17.c: Ditto.
1396 * testsuite/libgomp.c/scan-18.c: Ditto.
1397 * testsuite/libgomp.c/scan-19.c: Ditto.
1398 * testsuite/libgomp.c/scan-20.c: Ditto.
1399 * testsuite/libgomp.c/scan-21.c: Ditto.
1400 * testsuite/libgomp.c/scan-22.c: Ditto.
1401
1402 2021-10-09 Jakub Jelinek <jakub (a] redhat.com>
1403
1404 * libgomp.texi (OpenMP 5.1): Mention implemented support for
1405 structured block sequences in C/C++. Mention support for
1406 unconstrained/reproducible modifiers on order clause.
1407 Mention partial (C/C++ only) support of extentensions to atomics
1408 construct. Mention partial (C/C++ on clause only) support of
1409 align/allocator modifiers on allocate clause.
1410
1411 2021-10-02 Tobias Burnus <tobias (a] codesourcery.com>
1412
1413 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
1414 based on libgomp.c-c++-common/order-reproducible-1.c.
1415 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1416 * testsuite/libgomp.fortran/my-usleep.c: New test.
1417
1418 2021-10-01 Tobias Burnus <tobias (a] codesourcery.com>
1419
1420 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
1421 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
1422 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
1423 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
1424 based on libgomp.c-c++-common/alloc-9.c.
1425
1426 2021-10-01 Jakub Jelinek <jakub (a] redhat.com>
1427
1428 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
1429 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
1430
1431 2021-10-01 Jakub Jelinek <jakub (a] redhat.com>
1432
1433 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
1434 ialias_redirect.
1435 * env.c (handle_omp_display_env): Use ialias_call.
1436 * icv-device.c: Move ialias right below each function.
1437 (omp_get_device_num): Use ialias_call.
1438 * fortran.c (omp_fulfill_event): Add ialias_redirect.
1439 * icv.c (omp_get_active_level): Add ialias_redirect.
1440
1441 2021-10-01 Jakub Jelinek <jakub (a] redhat.com>
1442
1443 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
1444 __alloc_align__ (1) attribute.
1445 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
1446
1447 2021-09-30 Tobias Burnus <tobias (a] codesourcery.com>
1448
1449 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
1450 for -fintrinsic-modules-path= warning of the C compiler.
1451 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1452 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
1453
1454 2021-09-30 Tobias Burnus <tobias (a] codesourcery.com>
1455
1456 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
1457 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
1458 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1459 omp_realloc): Add.
1460 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1461 omp_realloc): Add.
1462 * testsuite/libgomp.fortran/alloc-10.f90: New test.
1463 * testsuite/libgomp.fortran/alloc-6.f90: New test.
1464 * testsuite/libgomp.fortran/alloc-7.c: New test.
1465 * testsuite/libgomp.fortran/alloc-7.f90: New test.
1466 * testsuite/libgomp.fortran/alloc-8.f90: New test.
1467 * testsuite/libgomp.fortran/alloc-9.f90: New test.
1468
1469 2021-09-30 Jakub Jelinek <jakub (a] redhat.com>
1470
1471 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
1472 omp_realloc): New prototypes.
1473 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
1474 attribute.
1475 * allocator.c: Include string.h.
1476 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
1477 variable and use it instead of alignment so that when retrying the old
1478 alignment is used again. Don't retry if new alignment is the same
1479 as old alignment, unless allocator had pool size.
1480 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
1481 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
1482 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
1483 omp_aligned_calloc and omp_realloc.
1484 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
1485 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
1486 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
1487 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
1488 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
1489 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
1490
1491 2021-09-28 Tobias Burnus <tobias (a] codesourcery.com>
1492
1493 PR libgomp/96661
1494 * configure.ac: Only check for int-type = 2*size_t support when
1495 building with Fortran support.
1496 * configure: Regenerate.
1497
1498 2021-09-28 Thomas Schwinge <thomas (a] codesourcery.com>
1499
1500 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
1501 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1502
1503 2021-09-27 Aldy Hernandez <aldyh (a] redhat.com>
1504
1505 * team.c: Initialize start_data.
1506 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
1507 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
1508
1509 2021-09-27 Tobias Burnus <tobias (a] codesourcery.com>
1510
1511 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
1512 dg-message back to dg-note.
1513
1514 2021-09-27 Tobias Burnus <tobias (a] codesourcery.com>
1515
1516 PR fortran/94070
1517 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
1518 expected dg-note output.
1519
1520 2021-09-22 Tobias Burnus <tobias (a] codesourcery.com>
1521
1522 PR fortran/55534
1523 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
1524 r12-3722 by removing -Wno-missing-include-dirs.
1525 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1526
1527 2021-09-22 Jakub Jelinek <jakub (a] redhat.com>
1528
1529 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
1530 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
1531
1532 2021-09-21 Tobias Burnus <tobias (a] codesourcery.com>
1533
1534 PR fortran/55534
1535 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
1536 to ALWAYS_CFLAGS.
1537 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1538
1539 2021-09-18 Jakub Jelinek <jakub (a] redhat.com>
1540
1541 * testsuite/libgomp.c++/default-1.C: New test.
1542 * testsuite/libgomp.c-c++-common/default-1.c: New test.
1543 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
1544 to default clause in C and C++" as implemented.
1545
1546 2021-09-17 Julian Brown <julian (a] codesourcery.com>
1547
1548 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
1549
1550 2021-09-17 Julian Brown <julian (a] codesourcery.com>
1551
1552 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
1553
1554 2021-09-17 Jakub Jelinek <jakub (a] redhat.com>
1555
1556 * libgomp.texi (OpenMP 5.1): Spelling fix,
1557 declare variante -> declare variant.
1558
1559 2021-09-17 Jakub Jelinek <jakub (a] redhat.com>
1560
1561 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
1562 Use /* */ comments instead of //.
1563 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
1564 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
1565 * testsuite/libgomp.c++/atomic-16.C: New test.
1566 * testsuite/libgomp.c++/atomic-17.C: New test.
1567
1568 2021-09-10 Jakub Jelinek <jakub (a] redhat.com>
1569
1570 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
1571 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
1572 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
1573
1574 2021-09-07 Tobias Burnus <tobias (a] codesourcery.com>
1575
1576 * libgomp.texi (OpenMP Implementation Status): Extend
1577 OpenMP 5.0 section.
1578 (OpenACC Profiling Interface): Fix typo.
1579
1580 2021-09-07 Tobias Burnus <tobias (a] codesourcery.com>
1581
1582 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
1583 not to 4.5; link to new section.
1584 (OpenMP Implementation Status): New.
1585
1586 2021-09-06 Thomas Schwinge <thomas (a] codesourcery.com>
1587
1588 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
1589
1590 2021-09-03 Tobias Burnus <tobias (a] codesourcery.com>
1591
1592 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
1593 dg-output.
1594 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1595
1596 2021-08-23 Thomas Schwinge <thomas (a] codesourcery.com>
1597 Jakub Jelinek <jakub (a] redhat.com>
1598
1599 * testsuite/libgomp.c/address-space-1.c: New file.
1600
1601 2021-08-23 Thomas Schwinge <thomas (a] codesourcery.com>
1602
1603 * testsuite/lib/libgomp.exp
1604 (check_effective_target_offload_target_intelmic): Remove 'proc'.
1605 (check_effective_target_offload_device_intel_mic): New 'proc'.
1606 * testsuite/libgomp.c-c++-common/on_device_arch.h
1607 (device_arch_intel_mic, on_device_arch_intel_mic): New.
1608 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
1609 'dg-xfail-run-if'.
1610 * testsuite/libgomp.fortran/target10.f90: Likewise.
1611
1612 2021-08-23 Tobias Burnus <tobias (a] codesourcery.com>
1613
1614 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
1615 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
1616 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
1617 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
1618
1619 2021-08-23 Jakub Jelinek <jakub (a] redhat.com>
1620
1621 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
1622 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
1623 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
1624
1625 2021-08-22 Thomas Schwinge <thomas (a] codesourcery.com>
1626
1627 * config/nvptx/error.c (fwrite, exit): Override, too.
1628 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
1629 of offloading testing.
1630 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1631
1632 2021-08-20 Tobias Burnus <tobias (a] codesourcery.com>
1633
1634 * testsuite/libgomp.fortran/error-1.f90: New test.
1635
1636 2021-08-20 Jakub Jelinek <jakub (a] redhat.com>
1637
1638 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
1639 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
1640 * error.c (GOMP_warning, GOMP_error): New functions.
1641 * testsuite/libgomp.c-c++-common/error-1.c: New test.
1642
1643 2021-08-18 Tobias Burnus <tobias (a] codesourcery.com>
1644
1645 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
1646 omp_target_free. omp_target_is_present, omp_target_memcpy,
1647 omp_target_memcpy_rect, omp_target_associate_ptr,
1648 omp_target_disassociate_ptr): Add interface.
1649 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
1650 omp_target_free. omp_target_is_present, omp_target_memcpy,
1651 omp_target_memcpy_rect, omp_target_associate_ptr,
1652 omp_target_disassociate_ptr): Add interface.
1653 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
1654 interface block for omp_alloc + omp_free.
1655 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
1656 * testsuite/libgomp.fortran/refcount-1.f90: New test.
1657 * testsuite/libgomp.fortran/target-12.f90: New test.
1658
1659 2021-08-18 Jakub Jelinek <jakub (a] redhat.com>
1660
1661 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
1662
1663 2021-08-17 Tobias Burnus <tobias (a] codesourcery.com>
1664
1665 * testsuite/libgomp.fortran/scope-1.f90: New test.
1666 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
1667
1668 2021-08-17 Jakub Jelinek <jakub (a] redhat.com>
1669
1670 * Makefile.am (libgomp_la_SOURCES): Add scope.c
1671 * Makefile.in: Regenerated.
1672 * libgomp_g.h (GOMP_scope_start): Declare.
1673 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
1674 * scope.c: New file.
1675 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
1676 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
1677
1678 2021-08-16 Thomas Schwinge <thomas (a] codesourcery.com>
1679
1680 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
1681 '?:' issues.
1682
1683 2021-08-16 Tobias Burnus <tobias (a] codesourcery.com>
1684
1685 * testsuite/libgomp.fortran/masked-1.f90: New test.
1686
1687 2021-08-13 Thomas Schwinge <thomas (a] codesourcery.com>
1688
1689 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
1690
1691 2021-08-12 Jakub Jelinek <jakub (a] redhat.com>
1692
1693 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
1694
1695 2021-08-12 Tobias Burnus <tobias (a] codesourcery.com>
1696
1697 * env.c (parse_bind_var): Accept 'primary' as alias for
1698 'master'.
1699 (omp_display_env): Add TODO comment to
1700 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
1701 * libgomp.texi: Change 'master thread' to 'primary thread'
1702 in line with OpenMP 5.1.
1703 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
1704 omp_proc_bind_master is an alias of it.
1705 (OMP_PROC_BIND): Mention 'PRIMARY'.
1706 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
1707 (omp_proc_bind_primary): Add.
1708 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1709 * omp_lib.f90.in (omp_proc_bind_primary): Add.
1710 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1711 * omp_lib.h.in (omp_proc_bind_primary): Add.
1712 * testsuite/libgomp.c/affinity-1.c: Check that
1713 'primary' works and is identical to 'master'.
1714
1715 2021-08-09 Julian Brown <julian (a] codesourcery.com>
1716 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1717 Thomas Schwinge <thomas (a] codesourcery.com>
1718
1719 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
1720 16.
1721 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1722 [acc_device_radeon]: Update.
1723 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
1724 [ACC_DEVICE_TYPE_radeon]: Likewise.
1725 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1726 [acc_device_radeon]: Likewise.
1727 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
1728 [ACC_DEVICE_TYPE_radeon]: Likewise.
1729 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
1730 'openacc_radeon_accel_selected' and '-O0'.
1731 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1732
1733 2021-08-05 Chung-Lin Tang <cltang (a] codesourcery.com>
1734
1735 * icv-device.c (omp_get_device_num): New API function, host side.
1736 * fortran.c (omp_get_device_num_): New interface function.
1737 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
1738 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
1739 omp_get_device_num_.
1740 * libgomp.texi (omp_get_device_num): Add documentation for new API
1741 function.
1742 * omp.h.in (omp_get_device_num): Add declaration.
1743 * omp_lib.f90.in (omp_get_device_num): Likewise.
1744 * omp_lib.h.in (omp_get_device_num): Likewise.
1745 * target.c (gomp_load_image_to_device): If additional entry for device
1746 number exists at end of returned entries from 'load_image_func' hook,
1747 copy the assigned device number over to the device variable.
1748 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1749 (omp_get_device_num): New API function, device side.
1750 * plugin/plugin-gcn.c ("symcat.h"): Add include.
1751 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1752 at end of returned 'target_table' entries.
1753 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1754 (omp_get_device_num): New API function, device side.
1755 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
1756 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1757 at end of returned 'target_table' entries.
1758 * testsuite/lib/libgomp.exp
1759 (check_effective_target_offload_target_intelmic): New function for
1760 testing for intelmic offloading.
1761 * testsuite/libgomp.c-c++-common/target-45.c: New test.
1762 * testsuite/libgomp.fortran/target10.f90: New test.
1763
1764 2021-07-30 Thomas Schwinge <thomas (a] codesourcery.com>
1765 Ulrich Drepper <drepper (a] redhat.com>
1766
1767 * fortran.c (omp_display_env_, omp_display_env_8_): Only
1768 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
1769
1770 2021-07-29 Thomas Schwinge <thomas (a] codesourcery.com>
1771 Julian Brown <julian (a] codesourcery.com>
1772 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1773
1774 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
1775 's%oaccdevlow%oaccloops%g'.
1776 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
1777 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1778 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
1779 Likewise.
1780 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
1781 Likewise.
1782 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
1783 Likewise.
1784 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
1785 Likewise.
1786 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
1787 Likewise.
1788 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
1789 Likewise.
1790 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
1791 Likewise.
1792 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
1793 Likewise.
1794 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1795
1796 2021-07-29 Aldy Hernandez <aldyh (a] redhat.com>
1797
1798 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
1799 threader.
1800 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1801
1802 2021-07-27 Ulrich Drepper <drepper (a] gmail.com>
1803
1804 * env.c (wait_policy, stacksize): New static variables,
1805 move out of handle_omp_display_env.
1806 (omp_display_env): New function. The meat of the old
1807 handle_omp_display_env function.
1808 (handle_omp_display_env): Change to not take parameters
1809 and instead use the global variables. Only perform
1810 parsing, defer to omp_display_env for the implementation.
1811 (initialize_env): Remove local variables wait_policy and
1812 stacksize. Don't pass parameters to handle_omp_display_env.
1813 * fortran.c: Add ialias_redirect for omp_display_env.
1814 (omp_display_env_, omp_display_env_8_): New functions.
1815 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
1816 omp_display_env_, and omp_display_env_8_.
1817 * omp.h.in: Declare omp_display_env.
1818 * omp_lib.f90.in: Likewise.
1819 * omp_lib.h.in: Likewise.
1820
1821 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com>
1822 Julian Brown <julian (a] codesourcery.com>
1823
1824 * target.c (gomp_coalesce_buf_add): Update comment.
1825 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
1826 'aq && cbuf'.
1827 (gomp_map_vars_internal): Only 'if (!aq)', do
1828 'gomp_coalesce_buf_add'.
1829 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
1830 XFAIL.
1831
1832 2021-07-27 Julian Brown <julian (a] codesourcery.com>
1833 Thomas Schwinge <thomas (a] codesourcery.com>
1834
1835 * libgomp.h (gomp_copy_host2dev): Update prototype.
1836 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
1837 argument to gomp_copy_host2dev (false).
1838 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
1839 (copy_data): Don't free src.
1840 (queue_push_copy): Remove free_src handling.
1841 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
1842 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
1843 snapshotting.
1844 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
1845 queue_push_copy.
1846 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
1847 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
1848 data when true, and set up deferred freeing of temporary buffer.
1849 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
1850 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
1851 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
1852 calls to gomp_copy_host2dev with appropriate ephemeral argument.
1853 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
1854 XFAIL.
1855
1856 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com>
1857 Tom de Vries <tom (a] codesourcery.com>
1858
1859 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
1860 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
1861
1862 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com>
1863
1864 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
1865 sequencing of 'async' data copying vs. profiling events.
1866 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1867 Likewise.
1868
1869 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com>
1870 Julian Brown <julian (a] codesourcery.com>
1871
1872 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
1873 'async'/'wait' issue.
1874 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
1875 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
1876 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
1877
1878 2021-07-21 Thomas Schwinge <thomas (a] codesourcery.com>
1879 Joseph Myers <joseph (a] codesourcery.com>
1880 Cesar Philippidis <cesar (a] codesourcery.com>
1881
1882 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
1883 file.
1884 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
1885 Likewise.
1886 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
1887 Likewise.
1888 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1889
1890 2021-07-20 Thomas Schwinge <thomas (a] codesourcery.com>
1891
1892 PR target/101484
1893 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
1894 '-Wno-error=array-bounds'.
1895 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
1896 * libgomp.h [__AMDGCN__]: Likewise.
1897
1898 2021-07-19 Thomas Schwinge <thomas (a] codesourcery.com>
1899
1900 PR target/101484
1901 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
1902 * libgomp.h [__AMDGCN__]: Likewise.
1903
1904 2021-07-13 Jakub Jelinek <jakub (a] redhat.com>
1905 Florian Weimer <fweimer (a] redhat.com>
1906
1907 * config/linux/sem.h: Don't include limits.h.
1908 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
1909 * config/linux/affinity.c: Include limits.h.
1910
1911 2021-07-01 Jakub Jelinek <jakub (a] redhat.com>
1912
1913 PR middle-end/94366
1914 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
1915
1916 2021-06-29 Tobias Burnus <tobias (a] codesourcery.com>
1917
1918 PR other/67300
1919 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
1920 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
1921 avoid disabling other offload targets.
1922 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
1923 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1924 * testsuite/libgomp.c/target-44.c: Likewise.
1925
1926 2021-06-29 Tobias Burnus <tobias (a] codesourcery.com>
1927
1928 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
1929 target has shared memory and disable some scalar pointer/allocatable
1930 checks if not as firstprivate does not work.
1931
1932 2021-06-25 Chung-Lin Tang <cltang (a] codesourcery.com>
1933
1934 PR testsuite/101114
1935 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
1936 Add "target offload_device_nonshared_as" condition for enabling test.
1937
1938 2021-06-24 Jakub Jelinek <jakub (a] redhat.com>
1939
1940 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
1941 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
1942 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
1943 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
1944
1945 2021-06-23 Jakub Jelinek <jakub (a] redhat.com>
1946
1947 PR middle-end/101167
1948 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
1949
1950 2021-06-17 Chung-Lin Tang <cltang (a] codesourcery.com>
1951
1952 * hashtab.h (htab_clear): New function with initialization code
1953 factored out from...
1954 (htab_create): ...here, adjust to use htab_clear function.
1955 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
1956 special refcount values, add comments.
1957 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
1958 (REFCOUNT_LINK): Likewise.
1959 (REFCOUNT_STRUCTELEM): New special refcount range for structure
1960 element siblings.
1961 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
1962 sibling maps.
1963 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
1964 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
1965 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
1966 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
1967 (struct splay_tree_key_s): Add structelem_refcount and
1968 structelem_refcount_ptr fields into a union with dynamic_refcount.
1969 Add comments.
1970 (gomp_map_vars): Delete declaration.
1971 (gomp_map_vars_async): Likewise.
1972 (gomp_unmap_vars): Likewise.
1973 (gomp_unmap_vars_async): Likewise.
1974 (goacc_map_vars): New declaration.
1975 (goacc_unmap_vars): Likewise.
1976 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
1977 (goacc_enter_datum): Likewise.
1978 (goacc_enter_data_internal): Likewise.
1979 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
1980 and goacc_unmap_vars.
1981 (GOACC_data_start): Adjust to use goacc_map_vars.
1982 (GOACC_data_end): Adjust to use goacc_unmap_vars.
1983 * target.c (hash_entry_type): New typedef.
1984 (htab_alloc): New function hook for hashtab.h.
1985 (htab_free): Likewise.
1986 (htab_hash): Likewise.
1987 (htab_eq): Likewise.
1988 (hashtab.h): Add file include.
1989 (gomp_increment_refcount): New function.
1990 (gomp_decrement_refcount): Likewise.
1991 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
1992 gomp_increment_refcount.
1993 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
1994 to gomp_map_vars_existing.
1995 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
1996 variable to guard OpenMP specific paths, adjust calls to
1997 gomp_map_vars_existing, add structure element sibling splay_tree_key
1998 sequence creation code, adjust Fortran map case to avoid increment
1999 under OpenMP.
2000 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
2001 local refcount_set if caller passed in NULL, adjust call to
2002 gomp_map_vars_internal.
2003 (gomp_map_vars_async): Adjust and rename into...
2004 (goacc_map_vars): ...this new function, adjust call to
2005 gomp_map_vars_internal.
2006 (gomp_remove_splay_tree_key): New function with code factored out from
2007 gomp_remove_var_internal.
2008 (gomp_remove_var_internal): Add code to handle removing multiple
2009 splay_tree_key sequence for structure elements, adjust code to use
2010 gomp_remove_splay_tree_key for splay-tree key removal.
2011 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
2012 gomp_decrement_refcount.
2013 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
2014 local refcount_set if caller passed in NULL, adjust call to
2015 gomp_unmap_vars_internal.
2016 (gomp_unmap_vars_async): Adjust and rename into...
2017 (goacc_unmap_vars): ...this new function, adjust call to
2018 gomp_unmap_vars_internal.
2019 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
2020 gomp_unmap_vars.
2021 (GOMP_target_ext): Likewise.
2022 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
2023 (GOMP_target_data): Likewise.
2024 (GOMP_target_data_ext): Likewise.
2025 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
2026 (gomp_exit_data): Add refcount_set parameter, adjust to use
2027 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
2028 after main loop.
2029 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
2030 gomp_map_vars and gomp_exit_data.
2031 (gomp_target_task_fn): Likewise.
2032 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
2033 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
2034 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
2035 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
2036 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
2037 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
2038
2039 2021-06-15 Tobias Burnus <tobias (a] codesourcery.com>
2040
2041 PR fortran/92568
2042 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
2043
2044 2021-06-10 Andrew Stubbs <ams (a] codesourcery.com>
2045 Thomas Schwinge <thomas (a] codesourcery.com>
2046
2047 * libgomp.map (GOACC_2.0.2): New symbol version.
2048 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
2049 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
2050
2051 2021-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
2052 Andrew Stubbs <ams (a] codesourcery.com>
2053
2054 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
2055 extracted from...
2056 (GOACC_enter_exit_data): ... here.
2057 (GOACC_declare): Use it.
2058
2059 2021-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
2060
2061 * oacc-parallel.c (GOACC_declare): Move...
2062 * oacc-mem.c: ... here.
2063 * libgomp_g.h: Adjust.
2064
2065 2021-06-10 Andrew Stubbs <ams (a] codesourcery.com>
2066 Thomas Schwinge <thomas (a] codesourcery.com>
2067
2068 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
2069 handling.
2070
2071 2021-06-10 Jakub Jelinek <jakub (a] redhat.com>
2072
2073 PR tree-optimization/100981
2074 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
2075 dsdotr and dsdoti to 0.
2076
2077 2021-06-09 H.J. Lu <hjl.tools (a] gmail.com>
2078
2079 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
2080 if atomic compare-and-swap is supported on 'int'.
2081
2082 2021-06-09 Richard Biener <rguenther (a] suse.de>
2083
2084 PR tree-optimization/100981
2085 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
2086
2087 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2088
2089 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
2090 unconditionally.
2091 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2092 Update.
2093 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2094 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2095
2096 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2097
2098 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
2099 '-DACC_MEM_SHARED=0'.
2100 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2101 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2102 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
2103 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2104 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2105 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
2106 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2107 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2108 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2109 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2110 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
2111 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
2112 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
2113 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2114 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
2115 'acc_device_radeon' testing.
2116 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
2117 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2118 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2119 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
2120 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2121 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2122 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
2123 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
2124 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2125 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2126 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
2127 for non-'openacc_nvidia_accel_selected'.
2128 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2129 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
2130 all implement this checking".
2131 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2132 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2133 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2134 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2135 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2136
2137 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2138
2139 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
2140 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
2141
2142 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2143
2144 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
2145 for 'acc_device_radeon'.
2146
2147 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2148
2149 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
2150 for non-'acc_device_nvidia'.
2151
2152 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2153
2154 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
2155 'acc_device_radeon' testing.
2156 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2157 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2158 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2159
2160 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2161
2162 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
2163 require 'openacc_nvidia_accel_selected'. Fix up for
2164 'ACC_DEVICE_TYPE_radeon'.
2165
2166 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2167
2168 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
2169 'openacc_nvidia_accel_selected'.
2170 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2171
2172 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2173
2174 * testsuite/lib/libgomp.exp
2175 (check_effective_target_openacc_radeon_accel_selected):
2176 Streamline.
2177
2178 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2179
2180 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
2181 PR80547 workaround.
2182
2183 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2184
2185 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2186 <acc_device_nvidia>: Update comment.
2187
2188 2021-05-28 Tobias Burnus <tobias (a] codesourcery.com>
2189
2190 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
2191
2192 2021-05-27 Jakub Jelinek <jakub (a] redhat.com>
2193
2194 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
2195 check_effective_target_openacc_cublas,
2196 check_effective_target_openacc_cudart): New.
2197 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
2198 target openacc_cublas.
2199 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2200 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2201 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
2202 target openacc_cuda.
2203 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2204 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2205 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2206 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2207 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2208 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2209 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2210 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2211 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
2212 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2213 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2214 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2215 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2216 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2217 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2218 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2219 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
2220 targets openacc_cublas and openacc_cudart.
2221 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2222 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2223 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2224 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2225 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
2226 Require effective target openacc_cudart.
2227 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
2228 for effective target openacc_cuda and add && defined USE_CUDA_H to
2229 preprocessor conditionals. Guard -lcuda also on openacc_cuda
2230 effective target.
2231
2232 2021-05-26 Jakub Jelinek <jakub (a] redhat.com>
2233
2234 PR libgomp/100573
2235 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
2236 GOMP_target_end_data, GOMP_target_update_ext,
2237 GOMP_target_enter_exit_data): New dummy entrypoints.
2238 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
2239 GOMP_target_end_data, GOMP_target_update_ext,
2240 GOMP_target_enter_exit_data): Likewise.
2241 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
2242 OMPFROM, OMPTO): Define.
2243 (main): Remove #pragma omp target teams around all the tests.
2244 * testsuite/libgomp.c-c++-common/target-41.c: New test.
2245 * testsuite/libgomp.c-c++-common/target-42.c: New test.
2246
2247 2021-05-25 Jakub Jelinek <jakub (a] redhat.com>
2248
2249 PR middle-end/99928
2250 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
2251
2252 2021-05-24 Tobias Burnus <tobias (a] codesourcery.com>
2253
2254 PR fortran/86470
2255 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
2256 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
2257 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
2258
2259 2021-05-22 Thomas Schwinge <thomas (a] codesourcery.com>
2260
2261 PR testsuite/90115
2262 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
2263 uninteresting/varying diagnostics.
2264
2265 2021-05-21 Thomas Schwinge <thomas (a] codesourcery.com>
2266
2267 PR middle-end/90115
2268 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
2269 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2270
2271 2021-05-21 Thomas Schwinge <thomas (a] codesourcery.com>
2272
2273 PR middle-end/90115
2274 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
2275 file.
2276 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
2277 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
2278 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2279 Likewise.
2280 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2281 Likewise.
2282 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2283 Likewise.
2284 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2285 Likewise.
2286 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2287 Likewise.
2288 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2289 Likewise.
2290 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2291 Likewise.
2292 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2293 Likewise.
2294 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2295 Likewise.
2296 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2297 Likewise.
2298 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2299 Likewise.
2300 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2301 Likewise.
2302 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2303 Likewise.
2304 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2305 Likewise.
2306 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2307 Likewise.
2308 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2309 Likewise.
2310 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2311 Likewise.
2312 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2313 Likewise.
2314 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2315 Likewise.
2316 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2317 Likewise.
2318 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2319 Likewise.
2320 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2321 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2322 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2323 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
2324 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2325 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2326 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2327 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2328 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2329 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2330 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2331 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2332 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2333 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2334 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2335 Likewise.
2336 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
2337 Likewise.
2338 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
2339 Likewise.
2340 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2341 Likewise.
2342 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
2343 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2344 Likewise.
2345 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2346 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2347 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2348 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2349 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2350 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2351 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2352 Likewise.
2353 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2354 Likewise.
2355 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2356 Likewise.
2357 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2358 Likewise.
2359 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2360 Likewise.
2361 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2362 Likewise.
2363 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2364 Likewise.
2365 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2366 Likewise.
2367 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2368 Likewise.
2369 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2370 Likewise.
2371 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2372 Likewise.
2373 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2374 Likewise.
2375 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2376 Likewise.
2377 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2378 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2379 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2380 Likewise.
2381 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2382 Likewise.
2383 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2384 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2385 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2386
2387 2021-05-21 Julian Brown <julian (a] codesourcery.com>
2388 Chung-Lin Tang <cltang (a] codesourcery.com>
2389 Thomas Schwinge <thomas (a] codesourcery.com>
2390
2391 PR middle-end/90115
2392 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
2393 test.
2394 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2395 Likewise.
2396 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2397 Likewise.
2398
2399 2021-05-21 Thomas Schwinge <thomas (a] codesourcery.com>
2400
2401 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
2402 for nvptx offloading.
2403
2404 2021-05-21 Tobias Burnus <tobias (a] codesourcery.com>
2405
2406 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
2407
2408 2021-05-19 Thomas Schwinge <thomas (a] codesourcery.com>
2409
2410 PR target/83812
2411 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
2412
2413 2021-05-19 Julian Brown <julian (a] codesourcery.com>
2414
2415 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
2416
2417 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com>
2418
2419 * testsuite/lib/libgomp.exp
2420 (check_effective_target_offload_target_nvptx): Don't shadow global
2421 'offload_targets' variable.
2422
2423 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com>
2424
2425 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
2426 '-latomic' to nvptx offloading compilation.
2427 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2428
2429 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com>
2430
2431 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
2432 offloading compilation.
2433
2434 2021-05-17 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2435
2436 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
2437 if new tasks generated.
2438 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
2439
2440 2021-05-14 Tobias Burnus <tobias (a] codesourcery.com>
2441
2442 * testsuite/libgomp.fortran/parallel-master.f90: New test.
2443
2444 2021-05-13 Martin Liska <mliska (a] suse.cz>
2445
2446 PR testsuite/100569
2447 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
2448 * testsuite/libgomp.c/pr46032-2.c: Likewise.
2449 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
2450 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
2451
2452 2021-05-12 Tobias Burnus <tobias (a] codesourcery.com>
2453
2454 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
2455 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
2456
2457 2021-05-11 Jakub Jelinek <jakub (a] redhat.com>
2458
2459 PR middle-end/100471
2460 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
2461 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
2462 reduction pointer.
2463 * testsuite/libgomp.c/task-reduction-4.c: New test.
2464
2465 2021-05-07 Tobias Burnus <tobias (a] codesourcery.com>
2466 Tom de Vries <tdevries (a] suse.de>
2467
2468 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
2469 complex/floating-point || + && reduction with 'omp target'.
2470 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2471
2472 2021-05-04 Tobias Burnus <tobias (a] codesourcery.com>
2473
2474 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
2475 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
2476 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
2477 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
2478
2479 2021-05-04 Tobias Burnus <tobias (a] codesourcery.com>
2480
2481 PR testsuite/100397
2482 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
2483 declaration to scope of non-'depend'-guarded assignment to avoid races.
2484
2485 2021-05-03 Tom de Vries <tdevries (a] suse.de>
2486
2487 PR target/100321
2488 * testsuite/libgomp.c/target-44.c: New test.
2489
2490 2021-04-30 Roman Zhuykov <zhroma (a] ispras.ru>
2491
2492 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
2493
2494 2021-04-29 Tom de Vries <tdevries (a] suse.de>
2495
2496 * testsuite/libgomp.c/pr81778.c: New test.
2497
2498 2021-04-29 Tom de Vries <tdevries (a] suse.de>
2499
2500 PR target/100232
2501 * testsuite/libgomp.c/target-43.c: New file.
2502
2503 2021-04-28 Jakub Jelinek <jakub (a] redhat.com>
2504 Tobias Burnus <tobias (a] codesourcery.com>
2505
2506 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
2507 * target.c (gomp_load_plugin_for_device): If set and if a plugin
2508 can't be dlopened, silently assume it has no devices.
2509 * Makefile.in: Regenerate.
2510 * config.h.in: Regenerate.
2511 * configure: Regenerate.
2512
2513 2021-04-26 Tobias Burnus <tobias (a] codesourcery.com>
2514
2515 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2516 Use [Ww]arning in dg-bogus as FE diagnostic and default
2517 diagnostic differ and the result depends on ENABLE_OFFLOAD.
2518 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2519 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2520 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2521
2522 2021-04-26 Tobias Burnus <tobias (a] codesourcery.com>
2523
2524 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2525 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
2526 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2527 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2528 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2529
2530 2021-04-26 Thomas Schwinge <thomas (a] codesourcery.com>
2531 Nathan Sidwell <nathan (a] codesourcery.com>
2532 Tom de Vries <vries (a] codesourcery.com>
2533 Julian Brown <julian (a] codesourcery.com>
2534 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2535
2536 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
2537 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
2538 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2539 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2540 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2541 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2542 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
2543 Likewise.
2544 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2545 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2546 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2547 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2548 Likewise.
2549 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2550 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2551 Likewise.
2552 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2553 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
2554 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2555 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2556 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2557 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2558 Likewise.
2559 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2560 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2561 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2562 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2563 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2564 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2565 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2566 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2567 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2568 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2569 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2570
2571 2021-04-26 Thomas Schwinge <thomas (a] codesourcery.com>
2572
2573 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
2574 compile with '-w'.
2575 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2576 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2577 Likewise.
2578 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2579 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
2580 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2581 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2582 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2583 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2584 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2585
2586 2021-04-22 Richard Biener <rguenther (a] suse.de>
2587
2588 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
2589 only on nvptx-none.
2590
2591 2021-04-21 Tobias Burnus <tobias (a] codesourcery.com>
2592
2593 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
2594 omp_depend_kind instead of defining it as 16.
2595
2596 2021-04-21 Tobias Burnus <tobias (a] codesourcery.com>
2597
2598 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2599 New, based on check_effective_target_offload_target_nvptx.
2600 (check_effective_target_offload_target_nvptx): Call it.
2601 (check_effective_target_offload_target_amdgcn): New.
2602 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
2603 Require target offload_target_nvptx || offload_target_amdgcn.
2604 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
2605 * testsuite/libgomp.c/pr86416-1.c: Likewise.
2606 * testsuite/libgomp.c/pr86416-2.c: Likewise.
2607
2608 2021-04-21 Tobias Burnus <tobias (a] codesourcery.com>
2609
2610 * testsuite/libgomp.fortran/depobj-1.f90: New test.
2611
2612 2021-04-19 Thomas Schwinge <thomas (a] codesourcery.com>
2613
2614 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2615 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
2616 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2617 Likewise.
2618 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2619 Likewise.
2620 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2621
2622 2021-04-15 Thomas Schwinge <thomas (a] codesourcery.com>
2623
2624 PR target/99555
2625 * testsuite/lib/libgomp.exp
2626 (check_effective_target_offload_device_nvptx): New.
2627 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
2628 resolved, make sure that we exit quickly, with error status,
2629 XFAILed.
2630 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
2631 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2632
2633 2021-04-14 Jakub Jelinek <jakub (a] redhat.com>
2634
2635 PR testsuite/100071
2636 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
2637 cp = omp_alloc with cp, p arguments instead of cq, q and call
2638 c_f_pointer after last cq = omp_alloc with cq, q.
2639
2640 2021-04-11 Hafiz Abid Qadeer <abidh (a] codesourcery.com>
2641
2642 PR middle-end/98088
2643 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
2644 for loop with GT/GE condition.
2645 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
2646
2647 2021-04-09 Thomas Schwinge <thomas (a] codesourcery.com>
2648
2649 PR middle-end/84991
2650 PR middle-end/84992
2651 PR middle-end/90779
2652 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
2653
2654 2021-04-09 Jakub Jelinek <jakub (a] redhat.com>
2655
2656 PR libgomp/99984
2657 * team.c (gomp_thread_start): Call pthread_setspecific for
2658 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
2659 has been initialized to avoid false positive warning.
2660
2661 2021-03-29 Tobias Burnus <tobias (a] codesourcery.com>
2662
2663 PR target/99555
2664 * testsuite/lib/on_device_arch.c: Move to ...
2665 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
2666 * testsuite/libgomp.fortran/on_device_arch.c: New file;
2667 #include on_device_arch.h.
2668 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
2669 on_device_arch.h instead of using dg-additional-source.
2670 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2671 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
2672 on_device_arch.c without relative paths.
2673
2674 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com>
2675
2676 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
2677 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
2678 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
2679 * config.h.in: Regenerate.
2680 * configure: Likewise.
2681
2682 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com>
2683
2684 PR target/99555
2685 * testsuite/lib/on_device_arch.c: New file.
2686 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2687 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
2688 skip for nvptx offloading, with error status.
2689 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2690
2691 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com>
2692
2693 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
2694 OpenACC 'serial' construct diagnostic for nvptx offloading.
2695
2696 2021-03-15 Tobias Burnus <tobias (a] codesourcery.com>
2697
2698 PR c++/99509
2699 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
2700
2701 2021-03-12 Tobias Burnus <tobias (a] codesourcery.com>
2702
2703 PR fortran/98858
2704 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
2705
2706 2021-03-04 Jakub Jelinek <jakub (a] redhat.com>
2707
2708 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
2709 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
2710 checking of -m32 or -mx32 options on the command line.
2711 * config.h.in: Regenerated.
2712 * configure: Regenerated.
2713
2714 2021-02-27 Iain Sandoe <iain (a] sandoe.co.uk>
2715
2716 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
2717 support from the target.
2718
2719 2021-02-25 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2720 Jakub Jelinek <jakub (a] redhat.com>
2721
2722 PR libgomp/98738
2723 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
2724 (struct gomp_task): Replace detach and completion_sem fields with
2725 union containing completion_sem and detach_team. Add deferred_p
2726 field.
2727 (struct gomp_team): Remove task_detach_queue.
2728 * task.c: Include assert.h.
2729 (gomp_init_task): Initialize deferred_p and completion_sem fields.
2730 Rearrange initialization order of fields.
2731 (task_fulfilled_p): Delete.
2732 (GOMP_task): Use address of task as the event handle. Remove
2733 initialization of detach field. Initialize deferred_p field.
2734 Use automatic local for completion_sem. Initialize detach_team field
2735 for deferred tasks.
2736 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
2737 Set kind of suspended detach task to GOMP_TASK_DETACHED and
2738 decrement task_running_count. Move finish_cancelled block out of
2739 else branch. Relocate call to gomp_team_barrier_done.
2740 (GOMP_taskwait): Handle tasks with completion events that have not
2741 been fulfilled.
2742 (GOMP_taskgroup_end): Likewise.
2743 (omp_fulfill_event): Use address of task as event handle. Post to
2744 completion_sem for undeferred tasks. Clear detach_team if task
2745 has not finished. For finished tasks, handle post-execution tasks,
2746 call gomp_team_barrier_wake if necessary, and free task.
2747 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
2748 (free_team): Remove free of task_detach_queue.
2749 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
2750 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
2751 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
2752 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
2753 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
2754 Change data-sharing of detach events on enclosing parallel to private.
2755 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
2756 taskwait directive.
2757 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
2758 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
2759 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
2760 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
2761 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
2762 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
2763 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
2764 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
2765 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
2766 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
2767 Change data-sharing of detach events on enclosing parallel to private.
2768 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
2769 taskwait directive.
2770 * testsuite/libgomp.fortran/task-detach-7.f90: New.
2771 * testsuite/libgomp.fortran/task-detach-8.f90: New.
2772 * testsuite/libgomp.fortran/task-detach-9.f90: New.
2773 * testsuite/libgomp.fortran/task-detach-10.f90: New.
2774 * testsuite/libgomp.fortran/task-detach-11.f90: New.
2775
2776 2021-02-22 Tobias Burnus <tobias (a] codesourcery.com>
2777
2778 PR fortran/99171
2779 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
2780
2781 2021-02-17 Julian Brown <julian (a] codesourcery.com>
2782
2783 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
2784 expected errors.
2785
2786 2021-02-17 Julian Brown <julian (a] codesourcery.com>
2787
2788 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
2789 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
2790
2791 2021-02-11 Uro Bizjak <ubizjak (a] gmail.com>
2792
2793 * config/linux/x86/futex.h (__futex_wait):
2794 Revert output type back to long.
2795 (__futex_wake): Ditto.
2796 (futex_wait): Update for revert.
2797 (futex_wake): Ditto.
2798
2799 2021-02-11 Uro Bizjak <ubizjak (a] gmail.com>
2800
2801 * config/linux/x86/futex.h (__futex_wait): New static inline
2802 wrapper function. Correct output type to int and
2803 timeout type to void *.
2804 (__futex_wake): New static inline wrapper function.
2805 Correct output type to int.
2806 (futex_wait): Use __futex_wait.
2807 (futex_wake): Use __futex_wake.
2808
2809 2021-02-10 Julian Brown <julian (a] codesourcery.com>
2810
2811 PR fortran/98979
2812 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
2813 errors.
2814
2815 2021-02-04 Julian Brown <julian (a] codesourcery.com>
2816
2817 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
2818
2819 2021-02-03 Andrew Stubbs <ams (a] codesourcery.com>
2820
2821 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
2822 EF_AMDGPU_MACH_AMDGCN_GFX908.
2823 (gcn_gfx908_s): New constant string.
2824 (isa_hsa_name): Add gfx908.
2825 (isa_code): Add gfx908.
2826
2827 2021-01-25 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2828
2829 * libgomp.texi (omp_fulfill_event): New entry.
2830
2831 2021-01-20 Jakub Jelinek <jakub (a] redhat.com>
2832
2833 * task.c (GOMP_task): Rename priority argument to priority_arg,
2834 add priority automatic variable and modify that variable. Instead of
2835 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
2836 check flags for that bit.
2837
2838 2021-01-19 Tobias Burnus <tobias (a] codesourcery.com>
2839
2840 PR fortran/98476
2841 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
2842
2843 2021-01-18 Andreas Schwab <schwab (a] suse.de>
2844
2845 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
2846
2847 2021-01-18 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
2848
2849 * config/rtems/sem.h (gomp_sem_getcount): New function.
2850
2851 2021-01-18 Jakub Jelinek <jakub (a] redhat.com>
2852
2853 * config/linux/sem.h (gomp_sem_getcount): New function.
2854 * config/posix/sem.h (gomp_sem_getcount): New function.
2855 * config/posix/sem.c (gomp_sem_getcount): New function.
2856 * config/accel/sem.h (gomp_sem_getcount): New function.
2857 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
2858 (omp_fulfill_event): Likewise.
2859
2860 2021-01-16 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2861
2862 * fortran.c (omp_fulfill_event_): New.
2863 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
2864 (struct gomp_team): Add task_detach_queue and task_detach_count
2865 fields.
2866 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
2867 * libgomp_g.h (GOMP_task): Add extra argument.
2868 * omp.h.in (enum omp_event_handle_t): New.
2869 (omp_fulfill_event): New.
2870 * omp_lib.f90.in (omp_event_handle_kind): New.
2871 (omp_fulfill_event): New.
2872 * omp_lib.h.in (omp_event_handle_kind): New.
2873 (omp_fulfill_event): Declare.
2874 * priority_queue.c (priority_tree_find): New.
2875 (priority_list_find): New.
2876 (priority_queue_find): New.
2877 * priority_queue.h (priority_queue_predicate): New.
2878 (priority_queue_find): New.
2879 * task.c (gomp_init_task): Initialize detach field.
2880 (task_fulfilled_p): New.
2881 (GOMP_task): Add detach argument. Ignore detach argument if
2882 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
2883 field. Copy address of completion_sem into detach argument and
2884 into the start of the data record. Wait for detach event if task
2885 not deferred.
2886 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
2887 Remove completed tasks and requeue dependent tasks.
2888 (omp_fulfill_event): New.
2889 * team.c (gomp_new_team): Initialize task_detach_queue and
2890 task_detach_count fields.
2891 (free_team): Free task_detach_queue field.
2892 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
2893 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
2894 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
2895 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
2896 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
2897 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
2898 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
2899 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
2900 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
2901 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
2902 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
2903 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
2904
2905 2021-01-15 Jakub Jelinek <jakub (a] redhat.com>
2906
2907 PR target/70454
2908 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
2909 be added through preprocessor check on
2910 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
2911
2912 2021-01-14 Thomas Schwinge <thomas (a] codesourcery.com>
2913
2914 PR libgomp/65099
2915 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
2916 configurations.
2917 * configure: Regenerate.
2918 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
2919 check.
2920
2921 2021-01-05 Samuel Thibault <samuel.thibault (a] ens-lyon.org>
2922
2923 * configure: Re-generate.
2924
2925 2021-01-05 Samuel Thibault <samuel.thibault (a] ens-lyon.org>
2926
2927 * configure: Re-generate.
2928
2929 2021-01-05 Julian Brown <julian (a] codesourcery.com>
2930
2931 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
2932 (struct ptx_device): Add omp_stacks struct.
2933 (nvptx_open_device): Initialise cached-stacks housekeeping info.
2934 (nvptx_close_device): Free cached stacks block and mutex.
2935 (nvptx_stacks_free): New function.
2936 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
2937 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
2938 (nvptx_stacks_alloc): Rename to...
2939 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
2940 size or smaller is required.
2941 (nvptx_stacks_free): Remove.
2942 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
2943 during kernel execution.
2944
2945 2021-01-01 Jakub Jelinek <jakub (a] redhat.com>
2946
2947 * libgomp.texi: Bump @copying's copyright year.
2948
2949 2020-12-28 Gerald Pfeifer <gerald (a] pfeifer.com>
2950
2951 * libgomp.texi (Top): Avoid bad "up" link.
2952
2953 2020-12-18 Jakub Jelinek <jakub (a] redhat.com>
2954
2955 * testsuite/libgomp.c/task-6.c: New test.
2956
2957 2020-12-09 Andrew Stubbs <ams (a] codesourcery.com>
2958
2959 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
2960 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
2961
2962 2020-12-08 Tobias Burnus <tobias (a] codesourcery.com>
2963
2964 * testsuite/libgomp.fortran/scan-1.f90: New test.
2965
2966 2020-12-05 Iain Sandoe <iain (a] sandoe.co.uk>
2967
2968 PR target/97865
2969 * configure: Regenerate.
2970
2971 2020-11-29 John David Anglin <danglin (a] gcc.gnu.org>
2972
2973 * configure: Regenerate.
2974
2975 2020-11-25 Thomas Schwinge <thomas (a] codesourcery.com>
2976
2977 * testsuite/libgomp.oacc-c++/cache-1.C: New.
2978 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
2979
2980 2020-11-25 Andrew Stubbs <ams (a] codesourcery.com>
2981
2982 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
2983 expected results.
2984
2985 2020-11-24 Andrew Stubbs <ams (a] codesourcery.com>
2986
2987 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
2988 (reserved): Delete unused define.
2989
2990 2020-11-24 Thomas Schwinge <thomas (a] codesourcery.com>
2991
2992 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
2993 Tcl 8.5-specific behavior.
2994 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2995
2996 2020-11-18 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2997
2998 * env.c (gomp_global_icv): Remove nest_var field. Add
2999 max_active_levels_var field.
3000 (gomp_max_active_levels_var): Remove.
3001 (parse_boolean): Return true on success.
3002 (handle_omp_display_env): Express OMP_NESTED in terms of
3003 max_active_levels_var. Change format specifier for
3004 max_active_levels_var.
3005 (initialize_env): Set max_active_levels_var from
3006 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
3007 OMP_PROC_BIND.
3008 * icv.c (omp_set_nested): Express in terms of
3009 max_active_levels_var.
3010 (omp_get_nested): Likewise.
3011 (omp_set_max_active_levels): Use max_active_levels_var field instead
3012 of gomp_max_active_levels_var.
3013 (omp_get_max_active_levels): Likewise.
3014 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
3015 max_active_levels_var field.
3016 (gomp_supported_active_levels): Set to UCHAR_MAX.
3017 (gomp_max_active_levels_var): Delete.
3018 * libgomp.texi (omp_get_nested): Update documentation.
3019 (omp_set_nested): Likewise.
3020 (OMP_MAX_ACTIVE_LEVELS): Likewise.
3021 (OMP_NESTED): Likewise.
3022 (OMP_NUM_THREADS): Likewise.
3023 (OMP_PROC_BIND): Likewise.
3024 * parallel.c (gomp_resolve_num_threads): Replace reference
3025 to nest_var with max_active_levels_var. Use max_active_levels_var
3026 field instead of gomp_max_active_levels_var.
3027
3028 2020-11-18 Tobias Burnus <tobias (a] codesourcery.com>
3029
3030 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
3031 nvptx_usleep; use also for device={arch(gcn)}.
3032
3033 2020-11-14 Jakub Jelinek <jakub (a] redhat.com>
3034
3035 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
3036 (foo): Add tests for non-VLA private and firstprivate clauses on
3037 omp task.
3038 (bar): Likewise. Remove taking of address from private/firstprivate
3039 variables.
3040 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
3041 (foo): Add p, q, px and s arguments. Add tests for array reductions
3042 and for non-VLA private and firstprivate clauses on omp task.
3043 (bar): Removed.
3044 (main): Adjust foo caller. Don't call bar.
3045
3046 2020-11-13 Gerg Barany <gergo (a] codesourcery.com>
3047 Thomas Schwinge <thomas (a] codesourcery.com>
3048
3049 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3050 New.
3051 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3052 Likewise.
3053 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3054 Likewise.
3055 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3056 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3057
3058 2020-11-13 Gerg Barany <gergo (a] codesourcery.com>
3059 Thomas Schwinge <thomas (a] codesourcery.com>
3060
3061 PR fortran/94358
3062 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
3063
3064 2020-11-13 Jakub Jelinek <jakub (a] redhat.com>
3065
3066 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
3067 for array reductions.
3068 (main): Adjust foo callers.
3069
3070 2020-11-12 Jakub Jelinek <jakub (a] redhat.com>
3071
3072 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
3073 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
3074 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
3075 * allocator.c (omp_aligned_alloc): New for now static function,
3076 add alignment argument and handle it.
3077 (omp_alloc): Reimplement using omp_aligned_alloc.
3078 (GOMP_alloc, GOMP_free): New functions.
3079 (omp_free): Add ialias.
3080 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
3081 * testsuite/libgomp.c++/allocate-1.C: New test.
3082
3083 2020-11-12 Thomas Schwinge <thomas (a] codesourcery.com>
3084
3085 PR fortran/97782
3086 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
3087
3088 2020-11-10 Chung-Lin Tang <cltang (a] codesourcery.com>
3089
3090 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
3091 usable.
3092 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
3093 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
3094 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
3095 (goacc_enter_data_internal): Likewise.
3096 * target.c (gomp_map_vars_internal):
3097 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
3098 of gomp_attach_pointer for OpenMP cases.
3099 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
3100 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
3101 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
3102
3103 2020-11-05 Ulrich Drepper <drepper (a] redhat.com>
3104 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3105
3106 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
3107 * Makefile.in: Regenerate.
3108 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
3109 pragmas to ignore -Wdeprecated-declarations warnings.
3110 * icv.c: Likewise.
3111 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
3112 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
3113 and omp_get_nested with __GOMP_DEPRECATED_5_0.
3114 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
3115 deprecated.
3116 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
3117 to test options.
3118 * testsuite/libgomp.c/affinity-1.c: Likewise.
3119 * testsuite/libgomp.c/affinity-2.c: Likewise.
3120 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
3121 * testsuite/libgomp.c/lib-1.c: Likewise.
3122 * testsuite/libgomp.c/nested-1.c: Likewise.
3123 * testsuite/libgomp.c/nested-2.c: Likewise.
3124 * testsuite/libgomp.c/nested-3.c: Likewise.
3125 * testsuite/libgomp.c/pr32362-1.c: Likewise.
3126 * testsuite/libgomp.c/pr32362-2.c: Likewise.
3127 * testsuite/libgomp.c/pr32362-3.c: Likewise.
3128 * testsuite/libgomp.c/pr35549.c: Likewise.
3129 * testsuite/libgomp.c/pr42942.c: Likewise.
3130 * testsuite/libgomp.c/pr61200.c: Likewise.
3131 * testsuite/libgomp.c/sort-1.c: Likewise.
3132 * testsuite/libgomp.c/target-5.c: Likewise.
3133 * testsuite/libgomp.c/target-6.c: Likewise.
3134 * testsuite/libgomp.c/teams-1.c: Likewise.
3135 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
3136 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3137 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3138 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
3139 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3140 * testsuite/libgomp.fortran/lib2.f: Likewise.
3141 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3142 * testsuite/libgomp.fortran/teams1.f90: Likewise.
3143
3144 2020-11-02 Thomas Schwinge <thomas (a] codesourcery.com>
3145
3146 PR target/85486
3147 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
3148 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
3149 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3150
3151 2020-11-02 Thomas Schwinge <thomas (a] codesourcery.com>
3152
3153 PR testsuite/80219
3154 PR testsuite/85303
3155 * testsuite/lib/libgomp.exp (libgomp_init): Set
3156 'gcc_warning_prefix', 'gcc_error_prefix'.
3157
3158 2020-10-30 Jakub Jelinek <jakub (a] redhat.com>
3159
3160 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
3161 even in field_tgt_clear initializer.
3162
3163 2020-10-28 Jakub Jelinek <jakub (a] redhat.com>
3164
3165 * testsuite/libgomp.c/target-42.c: New test.
3166
3167 2020-10-28 Jakub Jelinek <jakub (a] redhat.com>
3168 Tom de Vries <tdevries (a] suse.de>
3169
3170 PR testsuite/81690
3171 * testsuite/libgomp.c/usleep.h: New file.
3172 * testsuite/libgomp.c/target-32.c: Include usleep.h.
3173 (main): Use tgt_usleep instead of usleep.
3174 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
3175 (main): Use tgt_usleep instead of usleep.
3176
3177 2020-10-28 Jakub Jelinek <jakub (a] redhat.com>
3178
3179 PR lto/96680
3180 * testsuite/libgomp.c/declare-variant-1.c: New test.
3181
3182 2020-10-22 Jakub Jelinek <jakub (a] redhat.com>
3183
3184 * testsuite/libgomp.c/target-41.c: New test.
3185
3186 2020-10-22 Jakub Jelinek <jakub (a] redhat.com>
3187
3188 * icv.c (omp_get_initial_device): Remove including corresponding
3189 ialias.
3190 * icv-device.c (omp_get_initial_device): New function. Return
3191 gomp_get_num_devices (). Add ialias.
3192 * target.c (resolve_device): Don't fail with
3193 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
3194 gomp_get_num_devices ().
3195 (omp_target_alloc, omp_target_free, omp_target_is_present,
3196 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
3197 omp_target_disassociate_ptr, omp_pause_resource): Use
3198 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
3199 first use in the functions, in uses dominated by the
3200 gomp_get_num_devices call use num_devices_openmp instead.
3201 * libgomp.texi (omp_get_initial_device): Document.
3202 * config/gcn/icv-device.c (omp_get_initial_device): New function.
3203 Add ialias.
3204 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
3205 * testsuite/libgomp.c/target-40.c: New test.
3206
3207 2020-10-21 Jakub Jelinek <jakub (a] redhat.com>
3208
3209 * env.c (parse_target_offload): Change new_offload var type to int,
3210 preinitialize to -1, remove found var and test new_offload != -1
3211 instead of found.
3212
3213 2020-10-20 Jakub Jelinek <jakub (a] redhat.com>
3214
3215 * target.c (gomp_target_init): Inside of the function, use automatic
3216 variables corresponding to num_devices, num_devices_openmp and devices
3217 global variables and update the globals only at the end of the
3218 function.
3219
3220 2020-10-20 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3221
3222 * env.c (gomp_target_offload_var): New.
3223 (parse_target_offload): New.
3224 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
3225 (initialize_env): Parse OMP_TARGET_OFFLOAD.
3226 * libgomp.h (gomp_target_offload_t): New.
3227 (gomp_target_offload_var): New.
3228 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
3229 * target.c (resolve_device): Generate error if device not found and
3230 offloading is mandatory.
3231 (gomp_target_fallback): Generate error if offloading is mandatory.
3232 (GOMP_target): Add argument in call to gomp_target_fallback.
3233 (GOMP_target_ext): Likewise.
3234 (gomp_target_data_fallback): Generate error if offloading is mandatory.
3235 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
3236 (GOMP_target_data_ext): Likewise.
3237 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
3238 (gomp_target_init): Return early if offloading is disabled.
3239
3240 2020-10-15 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3241
3242 * libgomp.texi (omp_get_max_active_levels): Modify description.
3243 (omp_get_supported_active_levels): Make descriptions consistent.
3244
3245 2020-10-14 Jakub Jelinek <jakub (a] redhat.com>
3246
3247 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
3248
3249 2020-10-13 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3250
3251 * env.c (gomp_max_active_levels_var): Initialize to
3252 gomp_supported_active_levels.
3253 (initialize_env): Limit gomp_max_active_levels_var to be at most
3254 equal to gomp_supported_active_levels.
3255 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
3256 (omp_get_supported_active_levels_): New.
3257 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
3258 to at most equal to gomp_supported_active_levels.
3259 (omp_get_supported_active_levels): New.
3260 * libgomp.h (gomp_supported_active_levels): New.
3261 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
3262 omp_get_supported_active_levels_.
3263 * libgomp.texi (omp_get_supported_active_levels): New.
3264 (omp_set_max_active_levels): Update. Add reference to
3265 omp_get_supported_active_levels.
3266 * omp.h.in (omp_get_supported_active_levels): New.
3267 * omp_lib.f90.in (omp_get_supported_active_levels): New.
3268 * omp_lib.h.in (omp_get_supported_active_levels): New.
3269 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
3270 against omp_get_supported_active_levels.
3271 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
3272
3273 2020-10-11 Clement Chigot <clement.chigot (a] atos.net>
3274
3275 * config/t-aix: Delete and recreate libgomp before creating
3276 FAT library.
3277
3278 2020-10-08 Tom de Vries <tdevries (a] suse.de>
3279
3280 PR libgomp/81802
3281 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
3282 dimensions.
3283
3284 2020-10-06 Tom de Vries <tdevries (a] suse.de>
3285
3286 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
3287
3288 2020-10-06 Tom de Vries <tdevries (a] suse.de>
3289
3290 PR middle-end/90861
3291 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
3292
3293 2020-10-05 Tom de Vries <tdevries (a] suse.de>
3294
3295 PR fortran/95654
3296 * testsuite/libgomp.fortran/pr95654.f90: New test.
3297
3298 2020-10-02 Tobias Burnus <tobias (a] codesourcery.com>
3299
3300 * Makefile.in: Regenerate with automake 1.15.1.
3301 * aclocal.m4: Likewise.
3302 * configure: Likewise.
3303 * testsuite/Makefile.in: Likewise.
3304
3305 2020-09-30 Andrew Stubbs <ams (a] codesourcery.com>
3306
3307 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
3308 and amdgcn targets.
3309
3310 2020-09-30 Tobias Burnus <tobias (a] codesourcery.com>
3311
3312 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
3313
3314 2020-09-29 Andrew Stubbs <ams (a] codesourcery.com>
3315
3316 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
3317 total number of threads is one.
3318 (gomp_team_barrier_wake): Likewise.
3319 (gomp_team_barrier_wait_end): Likewise.
3320 (gomp_team_barrier_wait_cancel_end): Likewise.
3321 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
3322 (gomp_team_barrier_wake): Likewise.
3323 (gomp_team_barrier_wait_end): Likewise.
3324 (gomp_team_barrier_wait_cancel_end): Likewise.
3325 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
3326
3327 2020-09-28 Tobias Burnus <tobias (a] codesourcery.com>
3328
3329 PR middle-end/96390
3330 * testsuite/libgomp.c++/pr96390.C: New test.
3331 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
3332
3333 2020-09-27 Clement Chigot <clement.chigot (a] atos.net>
3334
3335 * config/t-aix: Use $(AR) without -X32_64.
3336
3337 2020-09-25 Jakub Jelinek <jakub (a] redhat.com>
3338
3339 * testsuite/libgomp.c/loop-25.c: New test.
3340
3341 2020-09-22 Tobias Burnus <tobias (a] codesourcery.com>
3342
3343 PR fortran/95654
3344 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
3345
3346 2020-09-22 Tom de Vries <tdevries (a] suse.de>
3347
3348 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
3349 fails.
3350
3351 2020-09-16 Nathan Sidwell <nathan (a] acm.org>
3352
3353 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
3354
3355 2020-09-15 Tobias Burnus <tobias (a] codesourcery.com>
3356
3357 PR fortran/96668
3358 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
3359
3360 2020-09-15 Tobias Burnus <tobias (a] codesourcery.com>
3361
3362 PR fortran/96668
3363 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
3364 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
3365 (gomp_map_vars_existing): Update call to it.
3366 (gomp_map_fields_existing): Likewise
3367 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
3368 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
3369 remapped.
3370 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
3371 GOMP_MAP_POINTER.
3372 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
3373 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
3374
3375 2020-09-14 Tom de Vries <tdevries (a] suse.de>
3376
3377 * config/nvptx/atomic.c: New file. Add
3378 __sync_val_compare_and_swap_16.
3379 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
3380 target offload_target_nvptx.
3381
3382 2020-09-08 Julian Brown <julian (a] codesourcery.com>
3383
3384 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
3385 iteration-ordering assumptions.
3386
3387 2020-09-08 Julian Brown <julian (a] codesourcery.com>
3388
3389 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
3390 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3391
3392 2020-08-20 Chung-Lin Tang <cltang (a] codesourcery.com>
3393
3394 * plugin/plugin-nvptx.c (nvptx_free):
3395 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
3396 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
3397 comments.
3398
3399 2020-08-20 Tobias Burnus <tobias (a] codesourcery.com>
3400
3401 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
3402
3403 2020-08-13 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3404
3405 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
3406
3407 2020-08-13 Jakub Jelinek <jakub (a] redhat.com>
3408
3409 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
3410 * testsuite/libgomp.c/loop-23.c (main): Likewise.
3411 * testsuite/libgomp.c/loop-24.c: New test.
3412
3413 2020-08-08 Jakub Jelinek <jakub (a] redhat.com>
3414 Tobias Burnus <tobias (a] codesourcery.com>
3415
3416 PR fortran/93553
3417 * testsuite/libgomp.fortran/pr93553.f90: New test.
3418
3419 2020-08-05 Jakub Jelinek <jakub (a] redhat.com>
3420
3421 * testsuite/libgomp.c/loop-22.c: New test.
3422 * testsuite/libgomp.c/loop-23.c: New test.
3423
3424 2020-08-05 Jakub Jelinek <jakub (a] redhat.com>
3425
3426 PR middle-end/96459
3427 * testsuite/libgomp.c/teams-3.c: New test.
3428 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
3429 if not defined yet.
3430 (N(test)): Use it before all N(f*) calls.
3431 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
3432 (main): Don't call all test_* functions from within
3433 #pragma omp teams reduction(|:err), call them directly.
3434
3435 2020-08-04 Tom de Vries <tdevries (a] suse.de>
3436
3437 PR target/96428
3438 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
3439 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
3440
3441 2020-08-03 Julian Brown <julian (a] codesourcery.com>
3442 Thomas Schwinge <thomas (a] codesourcery.com>
3443
3444 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
3445 shared-memory devices. Extend with further checking.
3446
3447 2020-08-03 Martin Jambor <mjambor (a] suse.cz>
3448
3449 * plugin/Makefrag.am: Remove configuration of HSA plugin.
3450 * aclocal.m4: Regenerated.
3451 * Makefile.in: Regenerated.
3452 * config.h.in: Regenerated.
3453 * configure: Regenerated.
3454 * plugin/configfrag.ac: Likewise.
3455 * plugin/hsa_ext_finalize.h: Removed.
3456 * plugin/plugin-hsa.c: Likewise.
3457 * testsuite/Makefile.in: Regenerated.
3458 * testsuite/lib/libgomp.exp
3459 (offload_target_to_openacc_device_type): Remove hsa case.
3460 (check_effective_target_hsa_offloading_selected_nocache): Removed
3461 (check_effective_target_hsa_offloading_selected): Likewise.
3462 (libgomp_init): Do not add -Wno-hsa to additional_flags.
3463 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
3464 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3465 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
3466 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3467 * testsuite/libgomp.hsa.c/c.exp: Likewise.
3468 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3469 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
3470 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3471 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3472 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3473 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3474 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3475 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3476 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3477 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3478 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3479 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
3480 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3481 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
3482 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3483 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3484 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
3485 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3486 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3487
3488 2020-07-27 Julian Brown <julian (a] codesourcery.com>
3489 Thomas Schwinge <thomas (a] codesourcery.com>
3490
3491 * libgomp.h (struct target_var_desc): Rename do_detach field to
3492 is_attach.
3493 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
3494 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
3495 (goacc_enter_data_internal): Don't affect reference counts
3496 for attach mappings.
3497 (goacc_exit_data_internal): Don't affect reference counts for detach
3498 mappings.
3499 * target.c (gomp_map_vars_existing): Don't affect reference counts for
3500 attach mappings.
3501 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
3502 mark attach mappings.
3503 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
3504 reference count for attach mappings.
3505 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
3506 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3507 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3508 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
3509 test as shouldfail.
3510 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
3511 gracefully in no-finalize mode.
3512 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
3513
3514 2020-07-24 Thomas Schwinge <thomas (a] codesourcery.com>
3515
3516 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
3517 use.
3518 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3519 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3520
3521 2020-07-23 Julian Brown <julian (a] codesourcery.com>
3522 Thomas Schwinge <thomas (a] codesourcery.com>
3523
3524 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
3525 finalization for detach operation.
3526 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
3527 New test.
3528
3529 2020-07-23 Tobias Burnus <tobias (a] codesourcery.com>
3530
3531 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
3532 * libgomp_f.h.in (omp_check_defines): Check whether
3533 sizeof of determined Fortran kind and C typedef match.
3534 * omp_lib.f90.in: Add omp_depened_kind.
3535 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
3536 * configure: Regenerate.
3537 * Makefile.in: Regenerate.
3538 * testsuite/Makefile.in: Regenerate.
3539
3540 2020-07-22 Tobias Burnus <tobias (a] codesourcery.com>
3541
3542 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
3543 gcc/testsuite/c-c++-common/gomp/.
3544 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
3545 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
3546 from gcc/testsuite/gfortran.dg/gomp/.
3547 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
3548
3549 2020-07-22 Tobias Burnus <tobias (a] codesourcery.com>
3550
3551 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
3552 * omp_lib.h.in: Likewise.
3553
3554 2020-07-18 H.J. Lu <hjl.tools (a] gmail.com>
3555
3556 PR target/95620
3557 * testsuite/libgomp.c/pr95620.c: New test.
3558
3559 2020-07-16 Julian Brown <julian (a] codesourcery.com>
3560 Thomas Schwinge <thomas (a] codesourcery.com>
3561
3562 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
3563 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
3564
3565 2020-07-15 Tobias Burnus <tobias (a] codesourcery.com>
3566
3567 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
3568 avoid conversion on 32bit systems from 32bit to 64bit due
3569 to -fdefault-integer-8.
3570
3571 2020-07-15 Tobias Burnus <tobias (a] codesourcery.com>
3572
3573 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
3574 variables; add character(kind=4) tests; update TODO comment.
3575
3576 2020-07-15 Tobias Burnus <tobias (a] codesourcery.com>
3577
3578 * allocator.c: Add ialias for omp_init_allocator and
3579 omp_destroy_allocator.
3580 * configure.ac: Set INTPTR_T_KIND.
3581 * configure: Regenerate.
3582 * Makefile.in: Regenerate.
3583 * testsuite/Makefile.in: Regenerate.
3584 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
3585 omp_set_default_allocator_, omp_get_default_allocator_): New
3586 functions and ialias_redirect.
3587 * icv.c: Add ialias for omp_set_default_allocator and
3588 omp_get_default_allocator.
3589 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
3590 omp_destroy_allocator_, omp_set_default_allocator_ and
3591 omp_get_default_allocator_.
3592 * omp_lib.f90.in: Add allocator traits parameters, declare
3593 allocator routines and add related kind parameters.
3594 * omp_lib.h.in: Likewise.
3595 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
3596 * testsuite/libgomp.fortran/alloc-1.F90: New test.
3597 * testsuite/libgomp.fortran/alloc-2.F90: New test.
3598 * testsuite/libgomp.fortran/alloc-3.F: New test.
3599 * testsuite/libgomp.fortran/alloc-4.f90: New test.
3600 * testsuite/libgomp.fortran/alloc-5.f90: New test.
3601
3602 2020-07-14 Tom de Vries <tom (a] codesourcery.com>
3603 Cesar Philippidis <cesar (a] codesourcery.com>
3604 Thomas Schwinge <thomas (a] codesourcery.com>
3605 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3606
3607 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
3608 New variable.
3609 (acc_init_1): Set acc_init_thread to pthread_self (). Set
3610 acc_init_state to initializing at the start, and to initialized at the
3611 end.
3612 (self_initializing_p): New function.
3613 (acc_get_device_type): Return acc_device_none if called by thread that
3614 is currently executing acc_init_1.
3615 * libgomp.texi (acc_get_device_type): Update documentation.
3616 (Implementation Status and Implementation-Defined Behavior): Likewise.
3617 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
3618
3619 2020-07-14 David Edelsohn <dje.gcc (a] gmail.com>
3620
3621 * config/t-aix: Set BITS from compiler cpp macro.
3622
3623 2020-07-14 Tobias Burnus <tobias (a] codesourcery.com>
3624
3625 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
3626
3627 2020-07-14 Tobias Burnus <tobias (a] codesourcery.com>
3628
3629 PR fortran/67311
3630 * testsuite/libgomp.fortran/target-map-1.f90: New test.
3631
3632 2020-07-14 Jakub Jelinek <jakub (a] redhat.com>
3633
3634 * testsuite/libgomp.c/loop-21.c: New test.
3635
3636 2020-07-13 Julian Brown <julian (a] codesourcery.com>
3637 Thomas Schwinge <thomas (a] codesourcery.com>
3638
3639 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
3640
3641 2020-07-10 Julian Brown <julian (a] codesourcery.com>
3642 Thomas Schwinge <thomas (a] codesourcery.com>
3643
3644 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
3645 dynamic_refcount.
3646 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3647 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
3648 dynamic_refcount.
3649 (acc_unmap_data): Update comment.
3650 (goacc_map_var_existing, goacc_enter_datum): Adjust for
3651 dynamic_refcount semantics.
3652 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
3653 Adjust for dynamic_refcount semantics.
3654 (goacc_enter_data_internal): Implement "present" case of dynamic
3655 memory-map handling here. Update "non-present" case for
3656 dynamic_refcount semantics.
3657 (goacc_exit_data_internal): Use goacc_exit_datum_1.
3658 * target.c (gomp_map_vars_internal): Remove
3659 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
3660 handling.
3661 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
3662 (gomp_load_image_to_device): Substitute dynamic_refcount for
3663 virtual_refcount.
3664 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
3665 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
3666 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
3667 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
3668 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
3669 trace output.
3670 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
3671 trace output.
3672 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
3673 test.
3674 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3675 Remove stale comment.
3676 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
3677 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3678 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3679 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3680 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3681 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
3682
3683 2020-07-10 Julian Brown <julian (a] codesourcery.com>
3684 Thomas Schwinge <thomas (a] codesourcery.com>
3685
3686 * oacc-mem.c (goacc_map_var_existing): New function.
3687 (goacc_enter_datum): Use above function.
3688 (goacc_exit_datum_1): New function.
3689 (goacc_exit_datum): Use above function.
3690
3691 2020-07-09 Julian Brown <julian (a] codesourcery.com>
3692 Thomas Schwinge <thomas (a] codesourcery.com>
3693
3694 PR middle-end/95270
3695 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
3696 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
3697
3698 2020-07-09 Julian Brown <julian (a] codesourcery.com>
3699
3700 * oacc-mem.c (find_group_last): Group data-movement clauses
3701 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
3702 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
3703
3704 2020-07-09 Jakub Jelinek <jakub (a] redhat.com>
3705
3706 * testsuite/libgomp.c/loop-19.c: New test.
3707 * testsuite/libgomp.c/loop-20.c: New test.
3708
3709 2020-07-09 Jakub Jelinek <jakub (a] redhat.com>
3710
3711 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
3712 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
3713 it. Remove __omp_alloctrait_value_max__.
3714 * allocator.c (omp_init_allocator): Handle omp_atv_default for
3715 omp_atk_alignment and omp_atk_pool_size.
3716
3717 2020-07-03 Thomas Schwinge <thomas (a] codesourcery.com>
3718
3719 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
3720 behavior for 'GOMP_MAP_FORCE_FROM'.
3721 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
3722
3723 2020-07-03 Thomas Schwinge <thomas (a] codesourcery.com>
3724
3725 * oacc-mem.c (goacc_exit_data_internal): Remove
3726 'GOMP_MAP_ALWAYS_FROM' handling.
3727
3728 2020-06-30 Thomas Schwinge <thomas (a] codesourcery.com>
3729
3730 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
3731 'scan-assembler' with 'scan-offload-rtl'.
3732 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
3733 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3734 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
3735 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
3736
3737 2020-06-30 Thomas Schwinge <thomas (a] codesourcery.com>
3738
3739 * target.c (gomp_map_vars_existing): Assert 'kind !=
3740 GOMP_MAP_ATTACH'.
3741 (gomp_map_vars_internal): Clean up.
3742
3743 2020-06-27 Jakub Jelinek <jakub (a] redhat.com>
3744
3745 * testsuite/libgomp.c/loop-17.c: New test.
3746 * testsuite/libgomp.c/loop-18.c: New test.
3747
3748 2020-06-26 Marek Polacek <polacek (a] redhat.com>
3749
3750 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
3751
3752 2020-06-23 Alexandre Oliva <oliva (a] adacore.com>
3753
3754 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
3755 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
3756
3757 2020-06-22 David Edelsohn <dje.gcc (a] gmail.com>
3758
3759 * Makefile.am: Use -include.
3760 * Makefile.in: Regenerate.
3761
3762 2020-06-21 David Edelsohn <dje.gcc (a] gmail.com>
3763
3764 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
3765 * Makefile.in: Regenerate
3766 * configure.ac (tmake_file): Substitute.
3767 * configure: Regenerate.
3768 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
3769 * config/t-aix: New file.
3770
3771 2020-06-17 Thomas Schwinge <thomas (a] codesourcery.com>
3772
3773 PR lto/94848
3774 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
3775 'dg-do run'.
3776
3777 2020-06-17 Andrew Stubbs <ams (a] codesourcery.com>
3778
3779 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
3780 variant for HSA_RUNTIME_LIB name.
3781 (find_executable_symbol_1): Delete.
3782 (find_executable_symbol): Delete.
3783 (init_kernel_properties): Add ".kd" suffix to symbol names.
3784 (find_load_offset): Delete.
3785 (create_and_finalize_hsa_program): Remove relocation handling.
3786
3787 2020-06-16 Tobias Burnus <tobias (a] codesourcery.com>
3788
3789 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
3790
3791 2020-06-08 Tobias Burnus <tobias (a] codesourcery.com>
3792
3793 PR lto/94848
3794 PR middle-end/95551
3795 * testsuite/libgomp.fortran/target-var.f90: New test.
3796
3797 2020-06-05 Thomas Schwinge <thomas (a] codesourcery.com>
3798 Julian Brown <julian (a] codesourcery.com>
3799
3800 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
3801 special handling.
3802
3803 2020-06-05 Thomas Schwinge <thomas (a] codesourcery.com>
3804 Julian Brown <julian (a] codesourcery.com>
3805
3806 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3807 Simplify.
3808
3809 2020-06-05 Julian Brown <julian (a] codesourcery.com>
3810
3811 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
3812 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
3813
3814 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3815
3816 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3817 Evaluate 'copyfrom' individually for each entry.
3818 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
3819
3820 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3821
3822 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3823 Evaluate 'finalize' individually for each entry.
3824 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
3825 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
3826 file.
3827
3828 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3829
3830 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
3831 usage.
3832 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
3833
3834 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3835 Julian Brown <julian (a] codesourcery.com>
3836
3837 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
3838 checking.
3839 (acc_unmap_data, goacc_exit_data_internal): Restore
3840 'is_tgt_unmapped' checking.
3841 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
3842 file.
3843 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
3844 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3845 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3846 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3847 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3848 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3849
3850 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3851 Julian Brown <julian (a] codesourcery.com>
3852
3853 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
3854
3855 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3856
3857 PR libgomp/92854
3858 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
3859
3860 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3861
3862 PR libgomp/92854
3863 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
3864 more.
3865
3866 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3867 Julian Brown <julian (a] codesourcery.com>
3868
3869 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
3870 'gomp_map_vars'.
3871 (acc_map_data): Clean up accordingly.
3872
3873 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3874
3875 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
3876 of over-eager 'finalize' clause.
3877 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
3878 file.
3879 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3880 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3881 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3882 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3883 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3884 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
3885 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3886 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
3887
3888 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3889
3890 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
3891
3892 2020-06-04 Julian Brown <julian (a] codesourcery.com>
3893
3894 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
3895 error path.
3896 (goacc_detach_internal): Likewise.
3897
3898 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3899
3900 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
3901 the checkpoint.
3902 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3903 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3904 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3905 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3906 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3907
3908 2020-06-02 Jakub Jelinek <jakub (a] redhat.com>
3909
3910 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
3911 defined.
3912
3913 2020-05-30 Jakub Jelinek <jakub (a] redhat.com>
3914
3915 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
3916
3917 2020-05-30 Jakub Jelinek <jakub (a] redhat.com>
3918
3919 * allocator.c (omp_alloc): For size == 0, return NULL early.
3920
3921 2020-05-29 H.J. Lu <hjl.tools (a] gmail.com>
3922
3923 PR bootstrap/95413
3924 * configure: Regenerated.
3925
3926 2020-05-23 Thomas Koenig <tkoenig (a] gcc.gnu.org>
3927
3928 PR libfortran/95191
3929 * testsuite/libgomp.fortran/async_io_9.f90: New test.
3930
3931 2020-05-19 Jakub Jelinek <jakub (a] redhat.com>
3932
3933 * omp.h.in (omp_uintptr_t): New typedef.
3934 (__GOMP_UINTPTR_T_ENUM): Define.
3935 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
3936 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
3937 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
3938 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
3939 omp_get_default_allocator, omp_alloc, omp_free): Declare.
3940 * libgomp.h (struct gomp_team_state): Add def_allocator field.
3941 (gomp_def_allocator): Declare.
3942 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
3943 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
3944 omp_alloc and omp_free.
3945 * team.c (gomp_team_start): Copy over ts.def_allocator.
3946 * env.c (gomp_def_allocator): New variable.
3947 (parse_wait_policy): Adjust function comment.
3948 (parse_allocator): New function.
3949 (handle_omp_display_env): Print OMP_ALLOCATOR.
3950 (initialize_env): Call parse_allocator.
3951 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
3952 * allocator.c: New file.
3953 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
3954 functions.
3955 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
3956 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
3957 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
3958 * Makefile.in: Regenerated.
3959
3960 2020-05-15 H.J. Lu <hongjiu.lu (a] intel.com>
3961
3962 PR bootstrap/95147
3963 * configure: Regenerated.
3964
3965 2020-05-14 Thomas Koenig <tkoenig (a] gcc.gnu.org>
3966
3967 PR libfortran/95119
3968 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
3969
3970 2020-05-14 H.J. Lu <hongjiu.lu (a] intel.com>
3971
3972 * configure: Regenerated.
3973
3974 2020-05-14 Jakub Jelinek <jakub (a] redhat.com>
3975
3976 * testsuite/libgomp.c-c++-common/target-40.c: New test.
3977
3978 2020-05-13 Tobias Burnus <tobias (a] codesourcery.com>
3979
3980 PR fortran/94690
3981 * testsuite/libgomp.fortran/pr66199-3.f90: New.
3982 * testsuite/libgomp.fortran/pr66199-4.f90: New.
3983 * testsuite/libgomp.fortran/pr66199-5.f90: New.
3984 * testsuite/libgomp.fortran/pr66199-6.f90: New.
3985 * testsuite/libgomp.fortran/pr66199-7.f90: New.
3986 * testsuite/libgomp.fortran/pr66199-8.f90: New.
3987 * testsuite/libgomp.fortran/pr66199-9.f90: New.
3988
3989 2020-05-12 Jakub Jelinek <jakub (a] redhat.com>
3990
3991 * testsuite/libgomp.c/target-39.c: New test.
3992
3993 2020-04-29 Thomas Schwinge <thomas (a] codesourcery.com>
3994
3995 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
3996 * openacc.f90 (acc_device_current): Likewise.
3997 * openacc.h (acc_device_current): Likewise.
3998 * openacc_lib.h (acc_device_current): Likewise.
3999
4000 PR target/94282
4001 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
4002 'dg-allow-blank-lines-in-output'.
4003
4004 * oacc-init.c (get_openacc_name): Handle 'gcn'.
4005 * testsuite/lib/libgomp.exp
4006 (offload_target_to_openacc_device_type) [amdgcn*]: Return
4007 'radeon'. Adjust all users.
4008 (check_effective_target_openacc_amdgcn_accel_present): Rename
4009 to...
4010 (check_effective_target_openacc_radeon_accel_present): ... this.
4011 Adjust all users.
4012 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
4013 (check_effective_target_openacc_radeon_accel_selected): ... this.
4014 Adjust all users.
4015
4016 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
4017 'dg-do run'.
4018
4019 2020-04-23 Andrew Stubbs <ams (a] codesourcery.com>
4020
4021 PR other/94629
4022
4023 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
4024 hsa_iterate_agents.
4025 (GOMP_OFFLOAD_init_device): Check return values from both calls to
4026 hsa_agent_iterate_regions.
4027
4028 2020-04-20 Thomas Schwinge <thomas (a] codesourcery.com>
4029
4030 PR middle-end/94635
4031 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
4032 run'.
4033
4034 2020-04-20 Tobias Burnus <tobias (a] codesourcery.com>
4035
4036 PR middle-end/94120
4037 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
4038 test case.
4039
4040 2020-04-17 Tobias Burnus <tobias (a] codesourcery.com>
4041
4042 PR middle-end/94635
4043 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
4044
4045 2020-04-13 Thomas Schwinge <thomas (a] codesourcery.com>
4046
4047 PR libgomp/92843
4048 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4049 Rename to...
4050 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
4051 ... this.
4052 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4053 Rename to...
4054 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
4055 ... this.
4056 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4057 Rename to...
4058 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
4059 ... this.
4060 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4061 Rename to...
4062 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
4063 ... this.
4064 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4065 Rename to...
4066 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
4067 ... this.
4068 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4069 Rename to...
4070 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
4071 ... this.
4072 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4073 Rename to...
4074 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
4075 ... this.
4076 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4077 Rename to...
4078 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4079 ... this.
4080 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4081 Rename to...
4082 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
4083 ... this.
4084 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4085 Rename to...
4086 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
4087 ... this.
4088 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4089 Rename to...
4090 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
4091 ... this.
4092 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4093 Rename to...
4094 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
4095 ... this.
4096 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4097 Rename to...
4098 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
4099 ... this.
4100 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4101 Rename to...
4102 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
4103 ... this.
4104 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4105 Rename to...
4106 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
4107 ... this.
4108 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
4109 Rename to...
4110 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
4111 ... this.
4112
4113 2020-04-10 Julian Brown <julian (a] codesourcery.com>
4114 Thomas Schwinge <thomas (a] codesourcery.com>
4115
4116 PR libgomp/92843
4117 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4118 New file.
4119 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4120 Likewise.
4121 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4122 Likewise.
4123 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4124 Likewise.
4125 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4126 Likewise.
4127 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4128 Likewise.
4129 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4130 Likewise.
4131 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4132 Likewise.
4133 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4134 Likewise.
4135 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4136 Likewise.
4137 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4138 Likewise.
4139 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4140 Likewise.
4141 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4142 Likewise.
4143 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4144 Likewise.
4145 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4146 Likewise.
4147 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
4148 Likewise.
4149
4150 2020-04-10 Thomas Schwinge <thomas (a] codesourcery.com>
4151
4152 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
4153 run'.
4154
4155 2020-04-08 Tobias Burnus <tobias (a] codesourcery.com>
4156
4157 PR middle-end/94120
4158 * libgomp.oacc-c++/declare-pr94120.C: New.
4159
4160 2020-04-06 Maciej W. Rozycki <macro (a] wdc.com>
4161
4162 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
4163 files.
4164 * configure: Regenerate.
4165 * testsuite/libgomp-site-extra.exp.in: New file.
4166 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
4167 variable.
4168 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
4169 variable.
4170 * testsuite/Makefile.in: Regenerate.
4171
4172 2020-04-03 Thomas Schwinge <thomas (a] codesourcery.com>
4173
4174 PR tree-optimization/89713
4175 PR c/94392
4176 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
4177 'bar.sync'.
4178 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4179
4180 2020-03-31 Tobias Burnus <tobias (a] codesourcery.com>
4181
4182 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
4183 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
4184
4185 2020-03-24 Tobias Burnus <tobias (a] codesourcery.com>
4186
4187 PR libgomp/81689
4188 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
4189
4190 2020-03-20 Tobias Burnus <tobias (a] codesourcery.com>
4191
4192 PR libgomp/94251
4193 * target.c (gomp_load_image_to_device): Fix link
4194 variable handling.
4195
4196 2020-03-19 Jakub Jelinek <jakub (a] redhat.com>
4197
4198 PR c++/93931
4199 * testsuite/libgomp.c++/pr93931.C: New test.
4200
4201 2020-03-19 Tobias Burnus <tobias (a] codesourcery.com>
4202
4203 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
4204 dg-allow-blank-lines-in-output.
4205
4206 2020-03-18 Julian Brown <julian (a] codesourcery.com>
4207 Tobias Burnus <tobias (a] codesourcery.com>
4208
4209 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
4210 it work concurrently.
4211
4212 2020-03-18 Tobias Burnus <tobias (a] codesourcery.com>
4213
4214 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
4215 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
4216 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
4217
4218 2020-03-14 Jakub Jelinek <jakub (a] redhat.com>
4219
4220 PR middle-end/93566
4221 * testsuite/libgomp.c/pr93566.c: New test.
4222
4223 2020-02-21 Frederik Harwath <frederik (a] codesourcery.com>
4224
4225 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
4226 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
4227 integer(acc_device_property) for the type of the return value of
4228 acc_get_property.
4229
4230 2020-02-19 Tobias Burnus <tobias (a] codesourcery.com>
4231
4232 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
4233 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
4234 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
4235 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
4236 (acc_set_device_num): Fix Fortran argument name, use same name for C.
4237 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
4238 corrections; add note about the previous interface and named constant.
4239 (OpenACC library and environment variables): Fix two typos.
4240 * openacc.f90: Use for all procedures the argument names from the spec
4241 as for _h they are user visible.
4242 (openacc_kinds): Rename acc_device_property to
4243 acc_device_property_kinds and change value to int32 ; and update users.
4244 Re-add acc_device_property for for backward compatibility.
4245 (acc_get_property_string_h): Clean up as acc_device_property_kind
4246 changed.
4247 (acc_get_property_h): Likewise and return c_size_t instead of
4248 acc_device_property.
4249 (openacc): Also export acc_device_property_kinds.
4250 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
4251 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
4252 handling; check against /= 0 instead of == 1 to match C.
4253 * openacc_lib.h: Use for all procedures the argument names from the spec
4254 as for _h they are user visible. Place !GCC$ into the first column to
4255 be active also for fixed-form souce form.
4256 (acc_device_current, acc_device_property_kind, acc_device_property,
4257 acc_property_memory, acc_property_free_memory, acc_property_name,
4258 acc_property_vendor, acc_property_driver): New named constants.
4259 (acc_get_property, acc_get_property_string): New generic interface.
4260
4261 2020-02-13 Frederik Harwath <frederik (a] codesourcery.com>
4262
4263 PR libgomp/93481
4264 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
4265 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
4266 optional.
4267 (gomp_target_task_fn): Assert "devicep->async_run_func".
4268 (clear_unsupported_flags): New function to remove unsupported flags
4269 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
4270 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
4271 * testsuite/libgomp.c/target-33.c:
4272 Remove xfail for offload_target_nvptx.
4273 * testsuite/libgomp.c/target-34.c: Likewise.
4274
4275 2020-02-10 Frederik Harwath <frederik (a] codesourcery.com>
4276
4277 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
4278 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
4279 * testsuite/libgomp.c/target-34.c: Likewise.
4280 * testsuite/libgomp.c/target-link-1.c: Add xfail for
4281 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
4282
4283 2020-02-09 Jakub Jelinek <jakub (a] redhat.com>
4284
4285 * testsuite/libgomp.c/target-38.c: New test.
4286
4287 2020-02-06 Jakub Jelinek <jakub (a] redhat.com>
4288
4289 PR libgomp/93515
4290 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
4291
4292 2020-02-05 Tobias Burnus <tobias (a] codesourcery.com>
4293
4294 * testsuite/lib/libgomp.exp
4295 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
4296 and not as 'source' argument to libgomp_target_compile.
4297
4298 2020-02-03 Andrew Stubbs <ams (a] codesourcery.com>
4299
4300 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
4301 (gcn_gfx801_s): Remove.
4302 (isa_hsa_name): Remove gfx801.
4303 (isa_gcc_name): Remove gfx801/carizzo.
4304 (isa_code): Remove gfx801.
4305
4306 2020-02-03 Julian Brown <julian (a] codesourcery.com>
4307 Tobias Burnus <tobias (a] codesourcery.com>
4308
4309 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
4310 and *_finalize variants; document acc_attach and acc_detach; update
4311 references from OpenACC 2.0 to 2.6.
4312 * openacc.f90 (openacc_version): Update to 201711.
4313 * openacc_lib.h (openacc_version): Update to 201711.
4314 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
4315 openacc_version to 201711.
4316 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4317
4318 2020-01-31 Kwok Cheung Yeung <kcy (a] codesourcery.com>
4319
4320 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
4321 and vgpr_count fields.
4322 (struct kernel_info): Add a field for a hsa_kernel_description.
4323 (run_kernel): Reduce the number of threads/workers if the requested
4324 number would require too many VGPRs.
4325 (init_basic_kernel_info): Initialize description field with
4326 the hsa_kernel_description entry for the kernel.
4327
4328 2020-01-29 Tobias Burnus <tobias (a] codesourcery.com>
4329
4330 PR bootstrap/93409
4331 * plugin/configfrag.ac (enable_offload_targets): Skip
4332 HSA and GCN plugin besides -m32 also for -mx32.
4333 * configure: Regenerate.
4334
4335 2020-01-29 Frederik Harwath <frederik (a] codesourcery.com>
4336
4337 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
4338
4339 2020-01-29 Frederik Harwath <frederik (a] codesourcery.com>
4340
4341 * plugin-gcn.c (struct agent_info): Add fields "name" and
4342 "vendor_name" ...
4343 (GOMP_OFFLOAD_init_device): ... and init from here.
4344 (struct hsa_context_info): Add field "driver_version_s" ...
4345 (init_hsa_contest): ... and init from here.
4346 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
4347 implementation.
4348 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4349 Enable test execution for amdgcn and host offloading targets.
4350 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
4351 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4352 (expect_device_properties): Split function into ...
4353 (expect_device_string_properties): ... this new function ...
4354 (expect_device_memory): ... and this new function.
4355 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
4356 Add test.
4357
4358 2020-01-28 Julian Brown <julian (a] codesourcery.com>
4359
4360 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
4361 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
4362 component/non-component variable refs in a single directive.
4363 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
4364
4365 2020-01-24 Maciej W. Rozycki <macro (a] wdc.com>
4366
4367 * configure.ac: Handle `--with-toolexeclibdir='.
4368 * Makefile.in: Regenerate.
4369 * aclocal.m4: Regenerate.
4370 * configure: Regenerate.
4371 * testsuite/Makefile.in: Regenerate.
4372
4373 2020-01-24 Frederik Harwath <frederik (a] codesourcery.com>
4374
4375 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4376 (expect_device_properties): Remove "expected_free_mem" argument,
4377 change "expected_total_mem" argument type to size_t;
4378 change types of acc_get_property results to size_t,
4379 adapt format strings.
4380 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4381 Use %zu instead of %zd to print size_t values.
4382 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
4383 rename to ...
4384 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
4385 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
4386 rename to ...
4387 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
4388
4389 2020-01-23 Andrew Stubbs <ams (a] codesourcery.com>
4390
4391 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
4392 the device id.
4393
4394 2020-01-20 Andrew Stubbs <ams (a] codesourcery.com>
4395
4396 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
4397 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
4398 Adjust test dimensions for amdgcn.
4399 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
4400 gang/worker/vector expectations dynamically.
4401 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
4402 (main): Likewise.
4403 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
4404 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
4405 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
4406 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
4407 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
4408 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
4409 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
4410 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
4411 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4412 (acc_gang): Recognise acc_device_radeon.
4413 (acc_worker): Likewise.
4414 (acc_vector): Likewise.
4415 (main): Set expectations for amdgcn.
4416 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
4417 (main): Adjust gang/worker/vector expectations dynamically.
4418 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
4419 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
4420 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
4421 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
4422 for amdgcn.
4423
4424 2020-01-17 Andrew Stubbs <ams (a] codesourcery.com>
4425
4426 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
4427 acc_device_radeon.
4428 (openacc): Likewise.
4429 * openacc.f90 (openacc_kinds): Likewise.
4430 (openacc): Likewise.
4431 * openacc.h (acc_device_t): Likewise.
4432 * openacc_lib.h: Likewise.
4433 * testsuite/lib/libgomp.exp
4434 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
4435 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
4436 (cb_compute_construct_end): Likewise.
4437 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4438 (cb_enqueue_launch_start): Likewise.
4439 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
4440 (cb_enter_data_end): Likewise.
4441 (cb_exit_data_start): Likewise.
4442 (cb_exit_data_end): Likewise.
4443 (cb_compute_construct_end): Likewise.
4444 (cb_enqueue_launch_start): Likewise.
4445 (cb_enqueue_launch_end): Likewise.
4446 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
4447 (main): Likewise.
4448
4449 2020-01-10 Thomas Schwinge <thomas (a] codesourcery.com>
4450
4451 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
4452 to use this instead of 'enum gomp_device_property'.
4453 (GOMP_OFFLOAD_get_property): Rename to...
4454 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
4455 * libgomp.h (struct gomp_device_descr): Move
4456 'GOMP_OFFLOAD_openacc_get_property'...
4457 (struct acc_dispatch_t): ... here. Adjust all users.
4458 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
4459
4460 * target.c (gomp_map_vars_internal)
4461 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
4462 paths.
4463
4464 2020-01-10 Jakub Jelinek <jakub (a] redhat.com>
4465
4466 PR libgomp/93219
4467 * libgomp.h (gomp_print_string): Change return type from void to int.
4468 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
4469 not all characters have been written.
4470
4471 2020-01-08 Tobias Burnus <tobias (a] codesourcery.com>
4472
4473 * libgomp.texi: Fix typos, use https.
4474
4475 2020-01-03 Tobias Burnus <tobias (a] codesourcery.com>
4476
4477 * testsuite/libgomp.fortran/optional-map.f90: Add test for
4478 unallocated/disassociated actual arguments to nonallocatable/nonpointer
4479 dummy arguments; those are/shall be regarded as absent arguments.
4480 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4481 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
4482
4483 2020-01-01 Jakub Jelinek <jakub (a] redhat.com>
4484
4485 Update copyright years.
4486
4487 * libgomp.texi: Bump @copying's copyright year.
4488
4489 2019-12-31 Ayush Mittal <ayush.m (a] samsung.com>
4490
4491 PR libgomp/93065
4492 * oacc-init.c (goacc_runtime_deinitialize): New function.
4493
4494 2019-12-28 Jakub Jelinek <jakub (a] redhat.com>
4495
4496 PR bootstrap/93074
4497 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
4498 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
4499
4500 2019-12-22 Maciej W. Rozycki <macro (a] codesourcery.com>
4501 Frederik Harwath <frederik (a] codesourcery.com>
4502 Thomas Schwinge <tschwinge (a] codesourcery.com>
4503
4504 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
4505 * libgomp-plugin.h (gomp_device_property_value): New union.
4506 (gomp_device_property_value): New prototype.
4507 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
4508 constant.
4509 (acc_device_property_t): New enum.
4510 (acc_get_property, acc_get_property_string): New prototypes.
4511 * oacc-init.c (acc_get_device_type): Also assert that result
4512 is not `acc_device_current'.
4513 (get_property_any, acc_get_property, acc_get_property_string):
4514 New functions.
4515 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
4516 `acc_property_memory', `acc_property_free_memory',
4517 `acc_property_name', `acc_property_vendor' and
4518 `acc_property_driver' constants. Add `acc_device_property' data
4519 type.
4520 (openacc_internal): Add `acc_get_property' and
4521 `acc_get_property_string' interfaces. Add `acc_get_property_h',
4522 `acc_get_property_string_h', `acc_get_property_l' and
4523 `acc_get_property_string_l'.
4524 * oacc-host.c (host_get_property): New function.
4525 (host_dispatch): Wire it.
4526 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
4527 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
4528 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
4529 * libgomp.texi (OpenACC Runtime Library Routines): Add
4530 `acc_get_property'.
4531 (acc_get_property): New node.
4532 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
4533 function (stub).
4534 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
4535 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
4536 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
4537 calls.
4538 (GOMP_OFFLOAD_get_property): New function.
4539 (struct ptx_device): Add new field "name".
4540 (cuda_driver_version_s): Add new static variable ...
4541 (nvptx_init): ... and init from here.
4542
4543 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
4544 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
4545 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
4546 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
4547 with test helper functions.
4548
4549 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
4550
4551 2019-12-22 Maciej W. Rozycki <macro (a] wdc.com>
4552
4553 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
4554 variable.
4555
4556 2019-12-21 Thomas Schwinge <thomas (a] codesourcery.com>
4557
4558 * target.c (gomp_map_vars_internal): Restore 'omp declare target
4559 link' handling.
4560
4561 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4562
4563 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
4564 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
4565 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
4566
4567 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4568 Cesar Philippidis <cesar (a] codesourcery.com>
4569
4570 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
4571 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
4572 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
4573 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
4574 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
4575 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
4576 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
4577 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
4578 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
4579 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
4580 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
4581 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
4582 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
4583
4584 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4585
4586 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
4587 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
4588 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
4589 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
4590 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
4591 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
4592 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
4593 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
4594 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
4595 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
4596 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
4597 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
4598
4599 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4600
4601 * libgomp.h (struct target_var_desc): Add do_detach flag.
4602 * oacc-init.c (acc_shutdown_1): Free aux block if present.
4603 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
4604 struct components. Tidy up and add some new checks.
4605 (goacc_enter_data_internal): Update call to find_group_last.
4606 (goacc_exit_data_internal): Support detach operations and
4607 GOMP_MAP_STRUCT.
4608 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
4609 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
4610 attach/detach in enter/exit data detection code.
4611 * target.c (gomp_map_vars_existing): Initialise do_detach field of
4612 tgt_var_desc.
4613 (gomp_map_vars_internal): Support attach.
4614 (gomp_unmap_vars_internal): Support detach.
4615
4616 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4617 Thomas Schwinge <thomas (a] codesourcery.com>
4618
4619 * libgomp.h (struct splay_tree_aux): Add attach_count field.
4620 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
4621 * libgomp.map (OACC_2.6): New section. Add acc_attach,
4622 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
4623 acc_detach_finalize_async.
4624 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
4625 acc_detach, acc_detach_async, acc_detach_finalize,
4626 acc_detach_finalize_async): New functions.
4627 * openacc.h (acc_attach, acc_attach_async, acc_detach,
4628 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
4629 prototypes.
4630 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
4631 (gomp_remove_var_internal): Free attachment counts if present.
4632 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
4633 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
4634
4635 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4636 Cesar Philippidis <cesar (a] codesourcery.com>
4637
4638 * libgomp.h (gomp_map_val): Add prototype.
4639 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
4640 open-coding device-address calculation.
4641 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
4642 non-present case.
4643
4644 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4645
4646 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
4647 field for virtual_refcount.
4648 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
4649 (gomp_free_memmap): Remove prototype.
4650 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
4651 instead of calling gomp_free_memmap.
4652 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
4653 dynamic_refcount.
4654 (acc_unmap_data): Open code instead of forcing target_mem_desc's
4655 to_free field to NULL then calling gomp_unmap_vars. Handle
4656 REFCOUNT_INFINITY on target blocks.
4657 (goacc_enter_data): Rename to...
4658 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
4659 handling for mapping groups. Use virtual_refcount instead of
4660 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
4661 map_map_vars_async call. Re-do lookup for target pointer return value.
4662 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
4663 renamed goacc_enter_datum function.
4664 (goacc_exit_data): Rename to...
4665 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
4666 (acc_delete, acc_delete_async, acc_delete_finalize,
4667 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
4668 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
4669 goacc_exit_datum function.
4670 (gomp_acc_remove_pointer, find_pointer): Remove functions.
4671 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
4672 New functions.
4673 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
4674 goacc_exit_data_internal helper functions.
4675 * target.c (gomp_map_vars_internal): Handle
4676 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
4677 semantics.
4678 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
4679 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
4680 virtual_refcount field instead of dynamic_refcount.
4681 (gomp_free_memmap): Remove function.
4682 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
4683 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
4684 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
4685
4686 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4687 Thomas Schwinge <thomas (a] codesourcery.com>
4688
4689 * libgomp.h (struct splay_tree_aux): New.
4690 (struct splay_tree_key_s): Replace link_key field with aux pointer.
4691 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
4692 to aux struct.
4693 (gomp_remove_var_internal): Free aux block if present.
4694 (gomp_load_image_to_device): Zero-initialise aux field instead of
4695 link_key field.
4696 (omp_target_associate_pointer): Zero-initialise aux field.
4697
4698 2019-12-18 Jakub Jelinek <jakub (a] redhat.com>
4699
4700 PR middle-end/86416
4701 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
4702 q or none.
4703 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
4704 L or none.
4705
4706 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4707 Maciej W. Rozycki <macro (a] codesourcery.com>
4708 Tobias Burnus <tobias (a] codesourcery.com>
4709 Thomas Schwinge <thomas (a] codesourcery.com>
4710
4711 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
4712 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
4713 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
4714 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
4715 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
4716 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
4717 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
4718 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
4719 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
4720
4721 2019-12-18 Thomas Schwinge <thomas (a] codesourcery.com>
4722
4723 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4724 called...
4725 (goacc_insert_pointer): ... from here, "present" case.
4726 (goacc_insert_pointer): Inline function into...
4727 (GOACC_enter_exit_data): ... here, and simplify.
4728
4729 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4730 called...
4731 (goacc_insert_pointer): ... from here, "not present" case.
4732
4733 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
4734 all users.
4735
4736 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
4737 'goacc_enter_data', 'goacc_exit_data'.
4738
4739 * oacc-mem.c (delete_copyout): Refactor into...
4740 (goacc_exit_data): ... this. Adjust all users.
4741
4742 * oacc-mem.c (present_create_copy): Refactor into...
4743 (goacc_enter_data): ... this. Adjust all users.
4744
4745 * target.c (gomp_unmap_vars_internal): Add a safeguard to
4746 'gomp_remove_var'.
4747
4748 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
4749 like 'GOMP_MAP_FROM'.
4750
4751 PR libgomp/92726
4752 PR libgomp/92970
4753 PR libgomp/92984
4754 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
4755 fails.
4756 (GOACC_enter_exit_data): Simplify accordingly.
4757 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
4758 subsuming...
4759 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
4760 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
4761 file.
4762 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
4763 subsuming...
4764 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
4765 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
4766 file.
4767 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
4768 subsuming...
4769 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
4770
4771 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
4772 'finalize' handling.
4773
4774 PR libgomp/92848
4775 * oacc-mem.c (acc_map_data, present_create_copy)
4776 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
4777 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
4778 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
4779 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
4780 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
4781 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
4782 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
4783 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4784 Remove "XFAIL"s.
4785
4786 * target.c (gomp_unmap_tgt): Make it 'static'.
4787 * libgomp.h (gomp_unmap_tgt): Remove.
4788
4789 2019-12-18 Tobias Burnus <tobias (a] codesourcery.com>
4790
4791 PR middle-end/86416
4792 * testsuite/libgomp.c/pr86416-1.c: New.
4793 * testsuite/libgomp.c/pr86416-2.c: New.
4794
4795 2019-12-17 Tobias Burnus <tobias (a] codesourcery.com>
4796
4797 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
4798 all symbols as public except for the 'use , only' imported symbol,
4799 which is private.
4800 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4801 all symbols from module openacc_kinds as PUBLIC
4802 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
4803 fix comment typo.
4804 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
4805
4806 2019-12-13 Julian Brown <julian (a] codesourcery.com>
4807
4808 PR libgomp/92881
4809
4810 * libgomp.h (gomp_remove_var_async): Add prototype.
4811 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
4812 gomp_remove_var.
4813 * target.c (gomp_unref_tgt): Change return type to bool, indicating
4814 whether target_mem_desc was unmapped.
4815 (gomp_unref_tgt_void): New.
4816 (gomp_remove_var): Reimplement in terms of...
4817 (gomp_remove_var_internal): ...this new helper function.
4818 (gomp_remove_var_async): New, implemented using above helper function.
4819 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
4820 gomp_unref_tgt.
4821
4822 2019-12-13 Andrew Stubbs <ams (a] codesourcery.com>
4823
4824 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
4825 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4826 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
4827 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
4828 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
4829 Likewise.
4830 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
4831 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
4832
4833 2019-12-13 Tobias Burnus <tobias (a] codesourcery.com>
4834
4835 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
4836 as public except for the 'use , only' imported symbol, which is
4837 private.
4838 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4839 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
4840 attributes for acc_copyout_finalize and acc_delete_finalize.
4841
4842 2019-12-11 Jakub Jelinek <jakub (a] redhat.com>
4843
4844 PR fortran/92899
4845 * testsuite/libgomp.fortran/atomic1.f90: New test.
4846
4847 2019-12-11 Thomas Schwinge <thomas (a] codesourcery.com>
4848
4849 PR libgomp/92843
4850 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
4851 reference counting for structured 'REFCOUNT_INFINITY'. Add some
4852 assertions.
4853 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
4854 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
4855 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
4856 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4857 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4858
4859 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
4860 * oacc-mem.c: ... here.
4861 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
4862 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
4863 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
4864 Remove.
4865 * libgomp_g.h: Update.
4866
4867 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
4868 * oacc-async.c: ... here.
4869 * oacc-int.h (goacc_wait): Declare.
4870 * libgomp_g.h: Update
4871
4872 PR libgomp/92854
4873 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
4874 New file.
4875 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
4876 Likewise.
4877 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
4878 Likewise.
4879 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
4880 Likewise.
4881 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
4882 Likewise.
4883 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
4884 Likewise.
4885
4886 2019-12-11 Thomas Schwinge <thomas (a] codesourcery.com>
4887 Julian Brown <julian (a] codesourcery.com>
4888
4889 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
4890 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
4891
4892 2019-12-11 Tobias Burnus <tobias (a] codesourcery.com>
4893
4894 * omp_lib.h.in: Fix spelling of function declaration
4895 omp_get_cancell(l)ation.
4896 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
4897 Fix typos.
4898 * env.c: Fix comment typos.
4899 * oacc-host.c: Likewise.
4900 * ordered.c: Likewise.
4901 * task.c: Likewise.
4902 * team.c: Likewise.
4903 * config/gcn/task.c: Likewise.
4904 * config/gcn/team.c: Likewise.
4905 * config/nvptx/task.c: Likewise.
4906 * config/nvptx/team.c: Likewise.
4907 * plugin/plugin-gcn.c: Likewise.
4908 * testsuite/libgomp.fortran/jacobi.f: Likewise.
4909 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4910 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
4911
4912 2019-12-11 Tobias Burnus <tobias (a] codesourcery.com>
4913
4914 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
4915 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
4916 unnecessary 'dg-additional-options "-w"'.
4917
4918 2019-12-09 Thomas Schwinge <thomas (a] codesourcery.com>
4919 Julian Brown <julian (a] codesourcery.com>
4920
4921 PR libgomp/92116
4922 PR libgomp/92877
4923
4924 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
4925 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
4926 Adjust all users.
4927 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
4928 Remove XFAIL.
4929 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
4930 Likewise.
4931 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
4932
4933 2019-12-09 Thomas Schwinge <thomas (a] codesourcery.com>
4934
4935 PR libgomp/92503
4936 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
4937 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
4938 file.
4939 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
4940 Likewise.
4941 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
4942 Likewise.
4943 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
4944 Likewise.
4945 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
4946 Likewise.
4947 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
4948 Likewise.
4949 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4950 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4951 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4952 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4953 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4954 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4955 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4956 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4957 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4958 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4959
4960 PR libgomp/92840
4961 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
4962 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
4963 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
4964 New file.
4965 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
4966 Likewise.
4967 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
4968 Likewise.
4969 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4970 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
4971
4972 PR libgomp/92511
4973 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
4974 this file...
4975 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
4976 this file...
4977 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
4978 file...
4979 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
4980 file...
4981 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4982 ... with their content moved into, and extended in this new file.
4983 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
4984 New file.
4985 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
4986 Likewise.
4987 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
4988 Likewise.
4989 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
4990 Likewise.
4991
4992 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
4993
4994 PR libgomp/92854
4995 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
4996
4997 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
4998
4999 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
5000
5001 2019-12-09 Tobias Burnus <tobias (a] codesourcery.com>
5002
5003 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
5004 unique.
5005 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
5006 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
5007 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
5008 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
5009 Ditto.
5010 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
5011 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
5012
5013 2019-12-06 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5014
5015 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
5016
5017 2019-12-06 Tobias Burnus <tobias (a] codesourcery.com>
5018 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5019
5020 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
5021 if input it a NULL pointer.
5022 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
5023 diagnostic of NULL pointer.
5024 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
5025 * testsuite/libgomp.fortran/optional-map.f90: New.
5026 * testsuite/libgomp.fortran/use_device_addr-1.f90
5027 (test_dummy_opt_callee_1_absent): New.
5028 (test_dummy_opt_call_1): Call it.
5029 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5030 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
5031 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5032 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
5033 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
5034 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
5035 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
5036 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
5037 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
5038 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
5039 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
5040 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
5041 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
5042 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
5043 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
5044 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
5045
5046 2019-12-05 Tobias Burnus <tobias (a] codesourcery.com>
5047
5048 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
5049 expect dg-output of 'Error termination.' for GCN.
5050 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5051 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5052
5053 2019-12-04 Jakub Jelinek <jakub (a] redhat.com>
5054
5055 PR fortran/92756
5056 * testsuite/libgomp.fortran/teams1.f90: New test.
5057 * testsuite/libgomp.fortran/teams2.f90: New test.
5058
5059 2019-12-03 Frederik Harwath <frederik (a] codesourcery.com>
5060
5061 * oacc-init.c (acc_known_device_type): Add function.
5062 (unknown_device_type_error): Add function.
5063 (name_of_acc_device_t): Change to call unknown_device_type_error
5064 on unknown type.
5065 (resolve_device): Use acc_known_device_type.
5066 (acc_init): Fail if acc_device_t argument is not valid.
5067 (acc_shutdown): Likewise.
5068 (acc_get_num_devices): Likewise.
5069 (acc_set_device_type): Likewise.
5070 (acc_get_device_num): Likewise.
5071 (acc_set_device_num): Likewise.
5072 (acc_on_device): Add comment that argument validity is not checked.
5073
5074 2019-12-03 Andrew Stubbs <ams (a] codesourcery.com>
5075
5076 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5077 Recognize amdgcn.
5078 (check_effective_target_openacc_amdgcn_accel_present): New proc.
5079 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
5080 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
5081 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5082 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5083
5084 2019-12-03 Szabolcs Nagy <szabolcs.nagy (a] arm.com>
5085
5086 PR libgomp/91938
5087 * configure.tgt: Avoid IE tls on *-*-musl*.
5088
5089 2019-11-29 Tobias Burnus <tobias (a] codesourcery.com>
5090
5091 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
5092 adding a common-block test case.
5093
5094 2019-11-29 Jakub Jelinek <jakub (a] redhat.com>
5095
5096 PR c++/60228
5097 * testsuite/libgomp.c++/udr-20.C: New test.
5098 * testsuite/libgomp.c++/udr-21.C: New test.
5099
5100 2019-11-27 Thomas Schwinge <thomas (a] codesourcery.com>
5101
5102 * testsuite/lib/libgomp.exp
5103 (check_effective_target_offload_target_nvptx): New proc.
5104 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
5105 'dg-skip-if'.
5106 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
5107 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
5108 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
5109
5110 2019-11-21 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
5111
5112 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
5113 * testsuite/libgomp.c/pr39591-2.c: Likewise.
5114 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5115 * testsuite/libgomp.c/private-1.c: Likewise.
5116 * testsuite/libgomp.c/task-1.c: Likewise.
5117 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
5118
5119 2019-11-20 Julian Brown <julian (a] codesourcery.com>
5120
5121 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
5122 aq->mutex here.
5123 (queue_push_launch): Lock aq->mutex before calling
5124 wait_for_queue_nonfull.
5125 (queue_push_callback): Likewise.
5126 (queue_push_asyncwait): Likewise.
5127 (queue_push_placeholder): Likewise.
5128
5129 2019-11-20 Julian Brown <julian (a] codesourcery.com>
5130
5131 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
5132 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
5133 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
5134 return code.
5135
5136 2019-11-20 Julian Brown <julian (a] codesourcery.com>
5137
5138 PR libgomp/92511
5139
5140 * oacc-mem.c (present_create_copy): Fix device pointer return value in
5141 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
5142 in non-present/create case.
5143 (delete_copyout): Change error condition to fail only on copies outside
5144 of mapped block. Adjust error message accordingly.
5145 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
5146 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
5147 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
5148 message.
5149 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5150 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
5151 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5152
5153 2019-11-20 Maciej W. Rozycki <macro (a] wdc.com>
5154
5155 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
5156 libatomic in build-tree testing.
5157
5158 2019-11-18 Maciej W. Rozycki <macro (a] wdc.com>
5159
5160 * testsuite/Makefile.in: Regenerate.
5161
5162 2019-11-15 Andrew Stubbs <ams (a] codesourcery.com>
5163
5164 * testsuite/libgomp.c/target-print-1.c: New file.
5165 * testsuite/libgomp.fortran/target-print-1.f90: New file.
5166 * testsuite/libgomp.oacc-c/print-1.c: New file.
5167 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
5168
5169 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
5170 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5171 Julian Brown <julian (a] codesourcery.com>
5172 Tom de Vries <tom (a] codesourcery.com>
5173
5174 * plugin/Makefrag.am: Add amdgcn plugin support.
5175 * plugin/configfrag.ac: Likewise.
5176 * plugin/plugin-gcn.c: New file.
5177 * configure: Regenerate.
5178 * Makefile.in: Regenerate.
5179 * testsuite/Makefile.in: Regenerate.
5180
5181 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
5182
5183 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
5184 and use team_malloc variants.
5185 (gomp_gcn_exit_kernel): Use team_free.
5186 * libgomp.h (TEAM_ARENA_SIZE): Define.
5187 (TEAM_ARENA_START): Define.
5188 (TEAM_ARENA_FREE): Define.
5189 (TEAM_ARENA_END): Define.
5190 (team_malloc): New function.
5191 (team_malloc_cleared): New function.
5192 (team_free): New function.
5193 * team.c (gomp_new_team): Initialize and use team_malloc.
5194 (free_team): Use team_free.
5195 (gomp_free_thread): Use team_free.
5196 (gomp_pause_host): Use team_free.
5197 * work.c (gomp_init_work_share): Use team_malloc.
5198 (gomp_fini_work_share): Use team_free.
5199
5200 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
5201 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5202 Julian Brown <julian (a] codesourcery.com>
5203 Tom de Vries <tom (a] codesourcery.com>
5204
5205 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
5206 * Makefile.in: Regenerate.
5207 * config.h.in (PLUGIN_GCN): Add new undef.
5208 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
5209 * config/gcn/affinity-fmt.c: New file.
5210 * config/gcn/bar.c: New file.
5211 * config/gcn/bar.h: New file.
5212 * config/gcn/doacross.h: New file.
5213 * config/gcn/icv-device.c: New file.
5214 * config/gcn/oacc-target.c: New file.
5215 * config/gcn/simple-bar.h: New file.
5216 * config/gcn/target.c: New file.
5217 * config/gcn/task.c: New file.
5218 * config/gcn/team.c: New file.
5219 * config/gcn/time.c: New file.
5220 * configure.ac: Add amdgcn*-*-*.
5221 * configure: Regenerate.
5222 * configure.tgt: Add amdgcn*-*-*.
5223 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
5224 * libgomp.h (gcn_thrs): Add amdgcn variant.
5225 (set_gcn_thrs): Likewise.
5226 (gomp_thread): Likewise.
5227 * oacc-int.h (goacc_thread): Likewise.
5228 * oacc-target.c: New file.
5229 * openacc.f90 (acc_device_gcn): New parameter.
5230 * openacc.h (acc_device_t): Add acc_device_gcn.
5231 * team.c (gomp_free_pool_helper): Add amdgcn support.
5232
5233 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
5234 Julian Brown <julian (a] codesourcery.com>
5235
5236 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
5237 parameter.
5238 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
5239 queue constructor.
5240 * oacc-host.c (host_openacc_async_construct): Add device parameter.
5241 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
5242 device parameter.
5243
5244 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
5245
5246 * configure.tgt (nvptx*-*-*): Add "accel" directory.
5247 * config/nvptx/libgomp-plugin.c: Move ...
5248 * config/accel/libgomp-plugin.c: ... to here.
5249 * config/nvptx/lock.c: Move ...
5250 * config/accel/lock.c: ... to here.
5251 * config/nvptx/mutex.c: Move ...
5252 * config/accel/mutex.c: ... to here.
5253 * config/nvptx/mutex.h: Move ...
5254 * config/accel/mutex.h: ... to here.
5255 * config/nvptx/oacc-async.c: Move ...
5256 * config/accel/oacc-async.c: ... to here.
5257 * config/nvptx/oacc-cuda.c: Move ...
5258 * config/accel/oacc-cuda.c: ... to here.
5259 * config/nvptx/oacc-host.c: Move ...
5260 * config/accel/oacc-host.c: ... to here.
5261 * config/nvptx/oacc-init.c: Move ...
5262 * config/accel/oacc-init.c: ... to here.
5263 * config/nvptx/oacc-mem.c: Move ...
5264 * config/accel/oacc-mem.c: ... to here.
5265 * config/nvptx/oacc-plugin.c: Move ...
5266 * config/accel/oacc-plugin.c: ... to here.
5267 * config/nvptx/omp-lock.h: Move ...
5268 * config/accel/omp-lock.h: ... to here.
5269 * config/nvptx/openacc.f90: Move ...
5270 * config/accel/openacc.f90: ... to here.
5271 * config/nvptx/pool.h: Move ...
5272 * config/accel/pool.h: ... to here.
5273 * config/nvptx/proc.c: Move ...
5274 * config/accel/proc.c: ... to here.
5275 * config/nvptx/ptrlock.c: Move ...
5276 * config/accel/ptrlock.c: ... to here.
5277 * config/nvptx/ptrlock.h: Move ...
5278 * config/accel/ptrlock.h: ... to here.
5279 * config/nvptx/sem.c: Move ...
5280 * config/accel/sem.c: ... to here.
5281 * config/nvptx/sem.h: Move ...
5282 * config/accel/sem.h: ... to here.
5283 * config/nvptx/thread-stacksize.h: Move ...
5284 * config/accel/thread-stacksize.h: ... to here.
5285
5286 2019-11-12 Maciej W. Rozycki <macro (a] codesourcery.com>
5287 Tobias Burnus <tobias (a] codesourcery.com>
5288 Frederik Harwath <frederik (a] codesourcery.com>
5289 Thomas Schwinge <thomas (a] codesourcery.com>
5290
5291 libgomp/
5292 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
5293 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
5294 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
5295
5296 2019-11-11 Tobias Burnus <tobias (a] codesourcery.com>
5297 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5298
5299 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
5300 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
5301
5302 2019-11-11 Thomas Schwinge <thomas (a] codesourcery.com>
5303
5304 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
5305
5306 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
5307 run'.
5308 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5309 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
5310
5311 2019-11-06 Thomas Schwinge <thomas (a] codesourcery.com>
5312
5313 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
5314 Add expected warnings about missing reduction clauses.
5315 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5316 Likewise.
5317 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
5318 Likewise.
5319 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
5320 Likewise.
5321
5322 2019-11-04 Tobias Burnus <tobias (a] codesourcery.com>
5323
5324 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
5325 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
5326 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
5327 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5328 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5329 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5330
5331 2019-11-04 Tobias Burnus <tobias (a] codesourcery.com>
5332
5333 PR fortran/92305
5334 * testsuite/libgomp.fortran/allocatable2.f90: Use
5335 unique numbers with 'stop'.
5336 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5337 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5338 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
5339 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
5340 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
5341
5342 2019-11-01 Tobias Burnus <tobias (a] codesourcery.com>
5343
5344 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
5345 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
5346 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5347 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
5348 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
5349 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
5350
5351 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com>
5352
5353 * testsuite/libgomp.fortran/target9.f90: New.
5354
5355 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com>
5356
5357 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
5358 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
5359 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
5360 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
5361 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
5362 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
5363 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
5364 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
5365 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
5366 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
5367 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
5368 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
5369 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
5370 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
5371 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
5372 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
5373 * testsuite/libgomp.fortran/associate1.f90: Ditto.
5374 * testsuite/libgomp.fortran/associate2.f90: Ditto.
5375 * testsuite/libgomp.fortran/associate3.f90: Ditto.
5376 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
5377 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
5378 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
5379 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
5380 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
5381 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
5382 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
5383 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
5384 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
5385 * testsuite/libgomp.fortran/character1.f90: Ditto.
5386 * testsuite/libgomp.fortran/character2.f90: Ditto.
5387 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
5388 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
5389 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
5390 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
5391 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
5392 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
5393 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
5394 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
5395 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
5396 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
5397 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
5398 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
5399 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
5400 * testsuite/libgomp.fortran/do1.f90: Ditto.
5401 * testsuite/libgomp.fortran/do2.f90: Ditto.
5402 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
5403 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
5404 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
5405 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
5406 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
5407 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
5408 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
5409 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
5410 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
5411 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
5412 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
5413 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
5414 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
5415 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
5416 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
5417 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
5418 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
5419 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
5420 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
5421 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
5422 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
5423 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
5424 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
5425 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
5426 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
5427 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
5428 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
5429 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
5430 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
5431 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
5432 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
5433 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
5434 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
5435 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
5436 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
5437 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
5438 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
5439 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
5440 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
5441 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
5442 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
5443 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
5444 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
5445 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
5446 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
5447 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
5448 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
5449 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
5450 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
5451 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5452 * testsuite/libgomp.fortran/lib1.f90: Ditto.
5453 * testsuite/libgomp.fortran/lib4.f90: Ditto.
5454 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
5455 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
5456 * testsuite/libgomp.fortran/nested1.f90: Ditto.
5457 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
5458 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
5459 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
5460 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5461 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
5462 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
5463 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
5464 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
5465 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
5466 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
5467 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
5468 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
5469 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
5470 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
5471 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
5472 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
5473 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
5474 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
5475 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
5476 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
5477 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
5478 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
5479 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
5480 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
5481 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5482 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
5483 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
5484 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
5485 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
5486 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
5487 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5488 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
5489 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
5490 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
5491 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
5492 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5493 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
5494 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
5495 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
5496 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
5497 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
5498 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
5499 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
5500 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
5501 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
5502 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
5503 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
5504 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
5505 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
5506 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
5507 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
5508 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
5509 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
5510 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
5511 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
5512 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
5513 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5514 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
5515 * testsuite/libgomp.fortran/reference1.f90: Ditto.
5516 * testsuite/libgomp.fortran/reference2.f90: Ditto.
5517 * testsuite/libgomp.fortran/retval1.f90: Ditto.
5518 * testsuite/libgomp.fortran/retval2.f90: Ditto.
5519 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
5520 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
5521 * testsuite/libgomp.fortran/simd1.f90: Ditto.
5522 * testsuite/libgomp.fortran/simd2.f90: Ditto.
5523 * testsuite/libgomp.fortran/simd3.f90: Ditto.
5524 * testsuite/libgomp.fortran/simd4.f90: Ditto.
5525 * testsuite/libgomp.fortran/simd5.f90: Ditto.
5526 * testsuite/libgomp.fortran/simd6.f90: Ditto.
5527 * testsuite/libgomp.fortran/simd7.f90: Ditto.
5528 * testsuite/libgomp.fortran/stack.f90: Ditto.
5529 * testsuite/libgomp.fortran/strassen.f90: Ditto.
5530 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
5531 * testsuite/libgomp.fortran/tabs2.f: Ditto.
5532 * testsuite/libgomp.fortran/target1.f90: Ditto.
5533 * testsuite/libgomp.fortran/target2.f90: Ditto.
5534 * testsuite/libgomp.fortran/target3.f90: Ditto.
5535 * testsuite/libgomp.fortran/target4.f90: Ditto.
5536 * testsuite/libgomp.fortran/target5.f90: Ditto.
5537 * testsuite/libgomp.fortran/target6.f90: Ditto.
5538 * testsuite/libgomp.fortran/target7.f90: Ditto.
5539 * testsuite/libgomp.fortran/target8.f90: Ditto.
5540 * testsuite/libgomp.fortran/task1.f90: Ditto.
5541 * testsuite/libgomp.fortran/task2.f90: Ditto.
5542 * testsuite/libgomp.fortran/task3.f90: Ditto.
5543 * testsuite/libgomp.fortran/task4.f90: Ditto.
5544 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5545 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5546 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5547 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5548 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5549 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
5550 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
5551 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
5552 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
5553 * testsuite/libgomp.fortran/udr1.f90: Ditto.
5554 * testsuite/libgomp.fortran/udr10.f90: Ditto.
5555 * testsuite/libgomp.fortran/udr11.f90: Ditto.
5556 * testsuite/libgomp.fortran/udr12.f90: Ditto.
5557 * testsuite/libgomp.fortran/udr13.f90: Ditto.
5558 * testsuite/libgomp.fortran/udr14.f90: Ditto.
5559 * testsuite/libgomp.fortran/udr15.f90: Ditto.
5560 * testsuite/libgomp.fortran/udr2.f90: Ditto.
5561 * testsuite/libgomp.fortran/udr3.f90: Ditto.
5562 * testsuite/libgomp.fortran/udr4.f90: Ditto.
5563 * testsuite/libgomp.fortran/udr5.f90: Ditto.
5564 * testsuite/libgomp.fortran/udr6.f90: Ditto.
5565 * testsuite/libgomp.fortran/udr7.f90: Ditto.
5566 * testsuite/libgomp.fortran/udr8.f90: Ditto.
5567 * testsuite/libgomp.fortran/udr9.f90: Ditto.
5568 * testsuite/libgomp.fortran/vla1.f90: Ditto.
5569 * testsuite/libgomp.fortran/vla2.f90: Ditto.
5570 * testsuite/libgomp.fortran/vla3.f90: Ditto.
5571 * testsuite/libgomp.fortran/vla4.f90: Ditto.
5572 * testsuite/libgomp.fortran/vla5.f90: Ditto.
5573 * testsuite/libgomp.fortran/vla6.f90: Ditto.
5574 * testsuite/libgomp.fortran/vla7.f90: Ditto.
5575 * testsuite/libgomp.fortran/vla8.f90: Ditto.
5576 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5577 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5578
5579 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com>
5580
5581 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
5582 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
5583 Ditto; add 'dg-do run' for torture testing.
5584 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
5585 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5586 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5587 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5588 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5589 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5590 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
5591 * testsuite/libgomp.fortran/task2.f90: Ditto.
5592 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5593 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5594 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5595 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5596 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5597 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5598
5599 2019-10-28 Tobias Burnus <tobias (a] codesourcery.com>
5600
5601 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
5602 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
5603 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
5604 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
5605 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
5606 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
5607 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
5608 Use 'stop' not abort().
5609 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
5610 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
5611 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
5612 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
5613 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
5614 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
5615 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
5616 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
5617 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
5618 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
5619 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
5620 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
5621 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
5622 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
5623 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
5624 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
5625 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
5626 Ditto.
5627 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5628 Ditto.
5629 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5630 Ditto.
5631 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5632 Ditto.
5633 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5634 Ditto.
5635 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
5636 Ditto.
5637 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
5638 Ditto.
5639 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
5640 Ditto.
5641 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
5642 Ditto.
5643 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
5644 Ditto.
5645 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
5646 Ditto.
5647 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
5648 Ditto.
5649 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
5650 Ditto.
5651 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
5652 Ditto.
5653 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
5654 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
5655 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
5656 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
5657 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
5658 Likewise and also add 'dg-do run'.
5659 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
5660 Ditto.
5661
5662 2019-10-25 Cesar Philippidis <cesar (a] codesourcery.com>
5663 Tobias Burnus <tobias (a] codesourcery.com>
5664
5665 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
5666 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
5667 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
5668
5669 2019-10-14 Jakub Jelinek <jakub (a] redhat.com>
5670
5671 PR libgomp/92081
5672 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
5673 than 0.
5674
5675 2019-10-11 Tobias Burnus <tobias (a] codesourcery.com>
5676
5677 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
5678 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
5679
5680 2019-10-09 Thomas Schwinge <thomas (a] codesourcery.com>
5681
5682 PR middle-end/92036
5683 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
5684 file.
5685
5686 2019-10-09 Tobias Burnus <tobias (a] codesourcery.com>
5687
5688 PR testsuite/91884
5689 * testsuite/libgomp.fortran/fortran.exp: Conditionally
5690 add -lquadmath.
5691 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
5692
5693 2019-10-09 Jakub Jelinek <jakub (a] redhat.com>
5694
5695 PR libgomp/92028
5696 * target.c (gomp_map_vars_internal): Readd the previous
5697 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
5698 though do that just in the !not_found_cnt case.
5699
5700 2019-10-08 Tobias Burnus <tobias (a] codesourcery.com>
5701
5702 * gfortran.dg/gomp/target-simd.f90: New.
5703
5704 2019-10-02 Julian Brown <julian (a] codesourcery.com>
5705 Cesar Philippidis <cesar (a] codesourcery.com>
5706
5707 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
5708 * target.c (FIELD_TGT_EMPTY): Define.
5709 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
5710 as switch instead of list of ifs.
5711 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
5712
5713 2019-10-02 Andreas Tobler <andreast (a] gcc.gnu.org>
5714
5715 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
5716 include. Replace alloca () with __builtin_alloca ().
5717 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
5718
5719 2019-10-01 Jakub Jelinek <jakub (a] redhat.com>
5720
5721 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
5722 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
5723 * oacc-parallel.c: Don't include "libgomp_g.h".
5724 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
5725 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
5726 * aclocal.m4: Regenerated.
5727 * config.h.in: Regenerated.
5728 * configure: Regenerated.
5729 * Makefile.in: Regenerated.
5730
5731 2019-09-30 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5732
5733 * libgomp_g.h: Include stdint.h instead of gstdint.h.
5734
5735 2019-09-27 Maciej W. Rozycki <macro (a] wdc.com>
5736
5737 * configure: Regenerate.
5738
5739 2019-09-13 Tobias Burnus <tobias (a] codesourcery.com>
5740
5741 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
5742 string is initialized.
5743
5744 2019-09-06 Florian Weimer <fweimer (a] redhat.com>
5745
5746 * configure: Regenerate.
5747
5748 2019-09-03 Chung-Lin Tang <cltang (a] codesourcery.com>
5749
5750 PR other/79543
5751 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
5752 scanning to conform to the GNU Coding Standards.
5753 * configure: Regenerate.
5754
5755 2019-08-28 Jakub Jelinek <jakub (a] redhat.com>
5756
5757 PR libgomp/91530
5758 * testsuite/libgomp.c/scan-21.c: New test.
5759 * testsuite/libgomp.c/scan-22.c: New test.
5760
5761 2019-08-27 Jakub Jelinek <jakub (a] redhat.com>
5762
5763 PR libgomp/91530
5764 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
5765 targets.
5766 * testsuite/libgomp.c/scan-12.c: Likewise.
5767 * testsuite/libgomp.c/scan-13.c: Likewise.
5768 * testsuite/libgomp.c/scan-14.c: Likewise.
5769 * testsuite/libgomp.c/scan-15.c: Likewise.
5770 * testsuite/libgomp.c/scan-16.c: Likewise.
5771 * testsuite/libgomp.c/scan-17.c: Likewise.
5772 * testsuite/libgomp.c/scan-18.c: Likewise.
5773 * testsuite/libgomp.c/scan-19.c: Likewise.
5774 * testsuite/libgomp.c/scan-20.c: Likewise.
5775 * testsuite/libgomp.c++/scan-9.C: Likewise.
5776 * testsuite/libgomp.c++/scan-10.C: Likewise.
5777 * testsuite/libgomp.c++/scan-11.C: Likewise.
5778 * testsuite/libgomp.c++/scan-12.C: Likewise.
5779 * testsuite/libgomp.c++/scan-14.C: Likewise.
5780 * testsuite/libgomp.c++/scan-15.C: Likewise.
5781 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
5782 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
5783 * testsuite/libgomp.c++/scan-16.C: Likewise.
5784
5785 2019-08-17 Thomas Koenig <tkoenig (a] gcc.gnu.org>
5786
5787 PR fortran/91473
5788 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
5789 -std=legacy so invalid code in the test case is accepted.
5790
5791 2019-08-12 Thomas Koenig <tkoenig (a] gcc.gnu.org>
5792
5793 PR fortran/91422
5794 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
5795 dimension.
5796
5797 2019-08-08 Jakub Jelinek <jakub (a] redhat.com>
5798
5799 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
5800 perform the lookup in the first loop only if !not_found_cnt, otherwise
5801 perform lookups for it in the second loop guarded with
5802 if (not_found_cnt || has_firstprivate).
5803 * testsuite/libgomp.c/target-37.c: New test.
5804 * testsuite/libgomp.c++/target-22.C: New test.
5805
5806 2019-08-07 Jakub Jelinek <jakub (a] redhat.com>
5807
5808 * testsuite/libgomp.c/target-18.c (struct S): New type.
5809 (foo): Use use_device_addr clause instead of use_device_ptr clause
5810 where required by OpenMP 5.0, add further tests for both use_device_ptr
5811 and use_device_addr clauses.
5812 * testsuite/libgomp.c++/target-9.C (struct S): New type.
5813 (foo): Use use_device_addr clause instead of use_device_ptr clause
5814 where required by OpenMP 5.0, add further tests for both use_device_ptr
5815 and use_device_addr clauses. Add t and u arguments.
5816 (main): Adjust caller.
5817
5818 2019-08-06 Jakub Jelinek <jakub (a] redhat.com>
5819
5820 * testsuite/libgomp.c++/loop-13.C: New test.
5821 * testsuite/libgomp.c++/loop-14.C: New test.
5822 * testsuite/libgomp.c++/loop-15.C: New test.
5823
5824 2019-07-31 Jakub Jelinek <jakub (a] redhat.com>
5825
5826 PR middle-end/91301
5827 * testsuite/libgomp.c++/for-27.C: New test.
5828
5829 2019-07-23 Steven G. Kargl <kargl (a] gcc.gnu.org>
5830
5831 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
5832 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5833
5834 2019-07-20 Jakub Jelinek <jakub (a] redhat.com>
5835
5836 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
5837
5838 2019-07-08 Jakub Jelinek <jakub (a] redhat.com>
5839
5840 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
5841 * testsuite/libgomp.c++/scan-16.C: Likewise.
5842
5843 2019-07-06 Jakub Jelinek <jakub (a] redhat.com>
5844
5845 * testsuite/libgomp.c/scan-19.c: New test.
5846 * testsuite/libgomp.c/scan-20.c: New test.
5847
5848 * testsuite/libgomp.c/scan-11.c: New test.
5849 * testsuite/libgomp.c/scan-12.c: New test.
5850 * testsuite/libgomp.c/scan-13.c: New test.
5851 * testsuite/libgomp.c/scan-14.c: New test.
5852 * testsuite/libgomp.c/scan-15.c: New test.
5853 * testsuite/libgomp.c/scan-16.c: New test.
5854 * testsuite/libgomp.c/scan-17.c: New test.
5855 * testsuite/libgomp.c/scan-18.c: New test.
5856 * testsuite/libgomp.c++/scan-9.C: New test.
5857 * testsuite/libgomp.c++/scan-10.C: New test.
5858 * testsuite/libgomp.c++/scan-11.C: New test.
5859 * testsuite/libgomp.c++/scan-12.C: New test.
5860 * testsuite/libgomp.c++/scan-13.C: New test.
5861 * testsuite/libgomp.c++/scan-14.C: New test.
5862 * testsuite/libgomp.c++/scan-15.C: New test.
5863 * testsuite/libgomp.c++/scan-16.C: New test.
5864
5865 2019-07-04 Jakub Jelinek <jakub (a] redhat.com>
5866
5867 * testsuite/libgomp.c/scan-9.c: New test.
5868 * testsuite/libgomp.c/scan-10.c: New test.
5869
5870 2019-07-03 Jakub Jelinek <jakub (a] redhat.com>
5871
5872 * testsuite/libgomp.c++/scan-1.C: New test.
5873 * testsuite/libgomp.c++/scan-2.C: New test.
5874 * testsuite/libgomp.c++/scan-3.C: New test.
5875 * testsuite/libgomp.c++/scan-4.C: New test.
5876 * testsuite/libgomp.c++/scan-5.C: New test.
5877 * testsuite/libgomp.c++/scan-6.C: New test.
5878 * testsuite/libgomp.c++/scan-7.C: New test.
5879 * testsuite/libgomp.c++/scan-8.C: New test.
5880 * testsuite/libgomp.c/scan-1.c: New test.
5881 * testsuite/libgomp.c/scan-2.c: New test.
5882 * testsuite/libgomp.c/scan-3.c: New test.
5883 * testsuite/libgomp.c/scan-4.c: New test.
5884 * testsuite/libgomp.c/scan-5.c: New test.
5885 * testsuite/libgomp.c/scan-6.c: New test.
5886 * testsuite/libgomp.c/scan-7.c: New test.
5887 * testsuite/libgomp.c/scan-8.c: New test.
5888
5889 2019-06-18 Thomas Schwinge <thomas (a] codesourcery.com>
5890
5891 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
5892 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
5893 Likewise.
5894
5895 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
5896 check.
5897
5898 2019-06-18 Cesar Philippidis <cesar (a] codesourcery.com>
5899
5900 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
5901 file.
5902
5903 2019-06-18 Thomas Schwinge <thomas (a] codesourcery.com>
5904
5905 PR fortran/90743
5906 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
5907 case.
5908 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
5909 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
5910 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
5911 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
5912
5913 PR testsuite/90861
5914 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
5915
5916 PR middle-end/90862
5917 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
5918
5919 2019-06-16 Tom de Vries <tdevries (a] suse.de>
5920
5921 PR tree-optimization/89376
5922 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
5923
5924 2019-06-15 Tom de Vries <tdevries (a] suse.de>
5925
5926 PR tree-optimization/89713
5927 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
5928 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
5929
5930 2019-06-15 Jakub Jelinek <jakub (a] redhat.com>
5931
5932 PR middle-end/90779
5933 * testsuite/libgomp.c/pr90779.c: New test.
5934 * testsuite/libgomp.fortran/pr90779.f90: New test.
5935
5936 2019-06-15 Tom de Vries <tdevries (a] suse.de>
5937
5938 PR tree-optimization/90009
5939 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
5940
5941 2019-06-13 Feng Xue <fxue (a] os.amperecomputing.com>
5942
5943 PR tree-optimization/89713
5944 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
5945
5946 2019-06-11 Jakub Jelinek <jakub (a] redhat.com>
5947
5948 PR target/90811
5949 * testsuite/libgomp.c/pr90811.c: New test.
5950
5951 2019-06-05 Jakub Jelinek <jakub (a] redhat.com>
5952
5953 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
5954 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
5955
5956 2019-06-04 Jakub Jelinek <jakub (a] redhat.com>
5957
5958 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
5959 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
5960 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
5961 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
5962
5963 2019-05-30 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
5964
5965 * configure.ac: Call AX_COUNT_CPUS.
5966 Substitute CPU_COUNT.
5967 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
5968 count fallback.
5969 * aclocal.m4: Regenerate.
5970 * configure: Regenerate.
5971 * Makefile.in, testsuite/Makefile.in: Regenerate.
5972
5973 2019-05-29 Jakub Jelinek <jakub (a] redhat.com>
5974
5975 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
5976 to ...
5977 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
5978 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
5979 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
5980
5981 2019-05-27 Jakub Jelinek <jakub (a] redhat.com>
5982
5983 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
5984
5985 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
5986
5987 PR libgomp/90641
5988 * work.c (gomp_init_work_share): Instead of aligning final ordered
5989 value to multiples of long long alignment, align to that the
5990 first part (ordered team ids) and if inline_ordered_team_ids
5991 is not on a long long alignment boundary within the structure,
5992 use __alignof__ (long long) - 1 pad size always.
5993 * loop.c (GOMP_loop_start): Fix *mem computation if
5994 inline_ordered_team_ids is not aligned on long long alignment boundary
5995 within the structure.
5996 * loop-ull.c (GOMP_loop_ull_start): Likewise.
5997 * sections.c (GOMP_sections2_start): Likewise.
5998
5999 2019-05-24 Jakub Jelinek <jakub (a] redhat.com>
6000
6001 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
6002 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
6003
6004 PR libgomp/90585
6005 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
6006 HAVE_INTTYPES_H is defined.
6007 (print_uint64_t): New typedef.
6008 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
6009 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
6010 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
6011 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
6012 before casting to void *.
6013 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
6014 * oacc-mem.c: Don't include config.h nor stdint.h.
6015 * target.c: Don't include config.h.
6016 * oacc-cuda.c: Likewise.
6017 * oacc-host.c: Don't include stdint.h.
6018
6019 2019-05-20 Jakub Jelinek <jakub (a] redhat.com>
6020
6021 PR libgomp/90527
6022 * alloc.c (_GNU_SOURCE): Define.
6023
6024 2019-05-17 Thomas Schwinge <thomas (a] codesourcery.com>
6025
6026 * acc_prof.h: New file.
6027 * oacc-profiling.c: Likewise.
6028 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
6029 Add these, respectively.
6030 * Makefile.in: Regenerate.
6031 * env.c (initialize_env): Call goacc_profiling_initialize.
6032 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
6033 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
6034 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
6035 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
6036 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
6037 acc_prof_register, acc_prof_unregister, and acc_register_library.
6038 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
6039 GOMP_PLUGIN_goacc_thread.
6040 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
6041 prof_callbacks_enabled members.
6042 (goacc_prof_enabled, goacc_profiling_initialize)
6043 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
6044 (goacc_profiling_dispatch): Declare.
6045 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
6046 (GOACC_PROFILING_SETUP_P): Define.
6047 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
6048 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
6049 OpenACC Profiling Interface.
6050 * oacc-cuda.c (acc_get_current_cuda_device)
6051 (acc_get_current_cuda_context, acc_get_cuda_stream)
6052 (acc_set_cuda_stream): Likewise.
6053 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
6054 (acc_init, acc_set_device_type, acc_get_device_type)
6055 (acc_get_device_num, goacc_lazy_initialize): Likewise.
6056 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
6057 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
6058 (acc_unmap_data, present_create_copy, delete_copyout)
6059 (update_dev_host): Likewise.
6060 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
6061 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
6062 Likewise.
6063 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
6064 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
6065 Likewise.
6066 * libgomp.texi: Update.
6067 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
6068 file.
6069 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
6070 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
6071 Likewise.
6072 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6073 Likewise.
6074 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
6075 Likewise.
6076 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
6077 Likewise.
6078
6079 2019-05-13 Chung-Lin Tang <cltang (a] codesourcery.com>
6080
6081 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
6082 (struct goacc_asyncqueue_list): Likewise.
6083 (goacc_aq): Likewise.
6084 (goacc_aq_list): Likewise.
6085 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6086 (GOMP_OFFLOAD_openacc_async_test): Remove.
6087 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6088 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6089 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6090 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6091 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6092 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6093 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
6094 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
6095 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
6096 (GOMP_OFFLOAD_openacc_async_exec): Declare.
6097 (GOMP_OFFLOAD_openacc_async_construct): Declare.
6098 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
6099 (GOMP_OFFLOAD_openacc_async_test): Declare.
6100 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
6101 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
6102 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
6103 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
6104 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
6105
6106 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
6107 (gomp_acc_insert_pointer): Adjust declaration.
6108 (gomp_copy_host2dev): New declaration.
6109 (gomp_copy_dev2host): Likewise.
6110 (gomp_map_vars_async): Likewise.
6111 (gomp_unmap_tgt): Likewise.
6112 (gomp_unmap_vars_async): Likewise.
6113 (gomp_fini_device): Likewise.
6114
6115 * oacc-async.c (get_goacc_thread): New function.
6116 (get_goacc_thread_device): New function.
6117 (lookup_goacc_asyncqueue): New function.
6118 (get_goacc_asyncqueue): New function.
6119 (acc_async_test): Adjust code to use new async design.
6120 (acc_async_test_all): Likewise.
6121 (acc_wait): Likewise.
6122 (acc_wait_async): Likewise.
6123 (acc_wait_all): Likewise.
6124 (acc_wait_all_async): Likewise.
6125 (goacc_async_free): New function.
6126 (goacc_init_asyncqueues): Likewise.
6127 (goacc_fini_asyncqueues): Likewise.
6128 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
6129 design.
6130 (acc_set_cuda_stream): Likewise.
6131 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
6132 (host_openacc_register_async_cleanup): Remove.
6133 (host_openacc_async_exec): New function.
6134 (host_openacc_async_test): Adjust parameters.
6135 (host_openacc_async_test_all): Remove.
6136 (host_openacc_async_wait): Remove.
6137 (host_openacc_async_wait_async): Remove.
6138 (host_openacc_async_wait_all): Remove.
6139 (host_openacc_async_wait_all_async): Remove.
6140 (host_openacc_async_set_async): Remove.
6141 (host_openacc_async_synchronize): New function.
6142 (host_openacc_async_serialize): New function.
6143 (host_openacc_async_host2dev): New function.
6144 (host_openacc_async_dev2host): New function.
6145 (host_openacc_async_queue_callback): New function.
6146 (host_openacc_async_construct): New function.
6147 (host_openacc_async_destruct): New function.
6148 (struct gomp_device_descr host_dispatch): Remove initialization of old
6149 interface, add initialization of new async sub-struct.
6150 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
6151 (goacc_attach_host_thread_to_device): Remove old async code usage.
6152 * oacc-int.h (goacc_init_asyncqueues): New declaration.
6153 (goacc_fini_asyncqueues): Likewise.
6154 (goacc_async_copyout_unmap_vars): Likewise.
6155 (goacc_async_free): Likewise.
6156 (get_goacc_asyncqueue): Likewise.
6157 (lookup_goacc_asyncqueue): Likewise.
6158 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
6159 design.
6160 (present_create_copy): Adjust code to use new async design.
6161 (delete_copyout): Likewise.
6162 (update_dev_host): Likewise.
6163 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
6164 async design.
6165 (gomp_acc_remove_pointer): Adjust code to use new async design.
6166 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
6167 design.
6168 (GOACC_enter_exit_data): Likewise.
6169 (goacc_wait): Likewise.
6170 (GOACC_update): Likewise.
6171 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
6172 when called, warn as obsolete in comment.
6173 * target.c (goacc_device_copy_async): New function.
6174 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
6175 add goacc_device_copy_async case.
6176 (gomp_copy_dev2host): Likewise.
6177 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
6178 (gomp_map_pointer): Likewise.
6179 (gomp_map_fields_existing): Likewise.
6180 (gomp_map_vars_internal): New always_inline function, renamed from
6181 gomp_map_vars.
6182 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
6183 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
6184 passing goacc_asyncqueue argument.
6185 (gomp_unmap_tgt): Remove static, add attribute_hidden.
6186 (gomp_unref_tgt): New function.
6187 (gomp_unmap_vars_internal): New always_inline function, renamed from
6188 gomp_unmap_vars.
6189 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
6190 (gomp_unmap_vars_async): Implement by calling
6191 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
6192 (gomp_fini_device): New function.
6193 (gomp_exit_data): Adjust gomp_copy_dev2host call.
6194 (gomp_load_plugin_for_device): Remove old interface, adjust to load
6195 new async interface.
6196 (gomp_target_fini): Adjust code to call gomp_fini_device.
6197
6198 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
6199 (struct ptx_stream): Remove.
6200 (struct nvptx_thread): Remove current_stream field.
6201 (cuda_map_create): Remove.
6202 (cuda_map_destroy): Remove.
6203 (map_init): Remove.
6204 (map_fini): Remove.
6205 (map_pop): Remove.
6206 (map_push): Remove.
6207 (struct goacc_asyncqueue): Define.
6208 (struct nvptx_callback): Define.
6209 (struct ptx_free_block): Define.
6210 (struct ptx_device): Remove null_stream, active_streams, async_streams,
6211 stream_lock, and next fields.
6212 (enum ptx_event_type): Remove.
6213 (struct ptx_event): Remove.
6214 (ptx_event_lock): Remove.
6215 (ptx_events): Remove.
6216 (init_streams_for_device): Remove.
6217 (fini_streams_for_device): Remove.
6218 (select_stream_for_async): Remove.
6219 (nvptx_init): Remove ptx_events and ptx_event_lock references.
6220 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
6221 case.
6222 (nvptx_open_device): Add free_blocks initialization, remove
6223 init_streams_for_device call.
6224 (nvptx_close_device): Remove fini_streams_for_device call, add
6225 free_blocks destruct code.
6226 (event_gc): Remove.
6227 (event_add): Remove.
6228 (nvptx_exec): Adjust parameters and code.
6229 (nvptx_free): Likewise.
6230 (nvptx_host2dev): Remove.
6231 (nvptx_dev2host): Remove.
6232 (nvptx_set_async): Remove.
6233 (nvptx_async_test): Remove.
6234 (nvptx_async_test_all): Remove.
6235 (nvptx_wait): Remove.
6236 (nvptx_wait_async): Remove.
6237 (nvptx_wait_all): Remove.
6238 (nvptx_wait_all_async): Remove.
6239 (nvptx_get_cuda_stream): Remove.
6240 (nvptx_set_cuda_stream): Remove.
6241 (GOMP_OFFLOAD_alloc): Adjust code.
6242 (GOMP_OFFLOAD_free): Likewise.
6243 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6244 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
6245 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6246 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6247 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6248 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6249 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6250 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6251 (cuda_free_argmem): New function.
6252 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
6253 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
6254 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
6255 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
6256 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
6257 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
6258 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
6259 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
6260 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
6261 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
6262 (cuda_callback_wrapper): New function.
6263 (cuda_memcpy_sanity_check): New function.
6264 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
6265 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
6266 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
6267 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
6268
6269 2019-05-07 Thomas Schwinge <thomas (a] codesourcery.com>
6270
6271 PR target/87835
6272 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
6273
6274 2019-05-06 Thomas Schwinge <thomas (a] codesourcery.com>
6275
6276 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
6277
6278 2019-03-27 Kevin Buettner <kevinb (a] redhat.com>
6279
6280 * team.c (gomp_team_start): Initialize pool->threads[0].
6281
6282 2019-02-22 Thomas Schwinge <thomas (a] codesourcery.com>
6283
6284 * testsuite/libgomp.oacc-c++/c++.exp: Specify
6285 "-foffload=$offload_target".
6286 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6287 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6288 * testsuite/lib/libgomp.exp
6289 (check_effective_target_openacc_nvidia_accel_configured): Remove,
6290 as (conceptually) merged into
6291 check_effective_target_openacc_nvidia_accel_selected. Adjust all
6292 users.
6293
6294 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
6295 * testsuite/libgomp-test-support.exp.in: Adjust.
6296 * testsuite/lib/libgomp.exp: Likewise. Don't populate
6297 openacc_device_types_s.
6298 (offload_target_to_openacc_device_type): New proc.
6299 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
6300 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6301 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6302 * Makefile.in: Regenerate.
6303 * configure: Likewise.
6304 * testsuite/Makefile.in: Likewise.
6305
6306 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
6307 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
6308 instead of OFFLOAD_TARGETS.
6309 * target.c (gomp_target_init): Adjust.
6310 * testsuite/libgomp-test-support.exp.in: Likewise.
6311 * testsuite/lib/libgomp.exp: Likewise. Populate
6312 openacc_device_types_s instead of offload_targets_s_openacc.
6313 (check_effective_target_openacc_nvidia_accel_selected)
6314 (check_effective_target_openacc_host_selected): Adjust.
6315 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6316 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6317 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6318 * Makefile.in: Regenerate.
6319 * config.h.in: Likewise.
6320 * configure: Likewise.
6321 * testsuite/Makefile.in: Likewise.
6322
6323 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
6324 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
6325 "offloading: supported, but hardware not accessible".
6326 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6327 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6328
6329 2019-02-19 Chung-Lin Tang <cltang (a] codesourcery.com>
6330
6331 PR c/87924
6332 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
6333 goacc_wait().
6334 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
6335 and related adjustment.
6336
6337 2019-01-30 Jakub Jelinek <jakub (a] redhat.com>
6338
6339 PR c++/88988
6340 * testsuite/libgomp.c++/pr88988.C: New test.
6341
6342 2019-01-28 Jakub Jelinek <jakub (a] redhat.com>
6343
6344 PR middle-end/89002
6345 * testsuite/libgomp.c/pr89002.c: New test.
6346
6347 2019-01-28 Richard Biener <rguenther (a] suse.de>
6348
6349 PR testsuite/89064
6350 PR tree-optimization/86865
6351 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
6352
6353 2019-01-24 Tom de Vries <tdevries (a] suse.de>
6354
6355 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
6356 once instantiated_devices drops to 0.
6357
6358 2019-01-23 Tom de Vries <tdevries (a] suse.de>
6359
6360 PR target/PR88946
6361 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
6362 cuMemFree.
6363 (nvptx_exec): Don't call map_push if mapnum == 0.
6364 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
6365
6366 2019-01-23 Tom de Vries <tdevries (a] suse.de>
6367
6368 PR target/88941
6369 PR target/88939
6370 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
6371 (map_fini): Remove "assert (!s->map->active)".
6372 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
6373
6374 2019-01-23 Tom de Vries <tdevries (a] suse.de>
6375
6376 PR target/87835
6377 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
6378 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
6379
6380 2019-01-15 Tom de Vries <tdevries (a] suse.de>
6381
6382 PR target/80547
6383 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
6384 New test.
6385
6386 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6387
6388 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
6389 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
6390 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
6391 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
6392
6393 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6394
6395 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
6396
6397 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6398
6399 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
6400 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
6401 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
6402
6403 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6404
6405 PR target/85486
6406 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
6407 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
6408
6409 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6410
6411 PR target/85381
6412 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
6413 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
6414
6415 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6416
6417 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
6418 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
6419 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
6420
6421 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6422
6423 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
6424 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
6425 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
6426
6427 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6428
6429 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
6430 resources diagnostic.
6431
6432 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6433
6434 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
6435 vector length to be 128.
6436 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
6437 length 2097152 to be reduced to 1024 instead of 32.
6438
6439 2019-01-11 Thomas Schwinge <thomas (a] codesourcery.com>
6440 James Norris <jnorris (a] codesourcery.com>
6441
6442 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
6443 Library Routines", and "Environment Variables".
6444
6445 2019-01-11 Tom de Vries <tdevries (a] suse.de>
6446
6447 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
6448 num_workers 16.
6449
6450 2019-01-11 Tom de Vries <tdevries (a] suse.de>
6451
6452 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
6453 -foffload=-w.
6454 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
6455 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
6456 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
6457 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
6458
6459 2019-01-11 Tom de Vries <tdevries (a] suse.de>
6460
6461 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
6462 test.
6463
6464 2019-01-10 Nathan Sidwell <nathan (a] acm.org>
6465 Julian Brown <julian (a] codesourcery.com>
6466
6467 PR lto/71959
6468 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
6469 * testsuite/libgomp.oacc-c++/pr71959.C: New.
6470
6471 2019-01-09 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
6472
6473 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
6474 and paste code.
6475
6476 2019-01-09 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
6477
6478 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
6479 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6480 write.
6481
6482 2019-01-09 Tom de Vries <tdevries (a] suse.de>
6483
6484 PR target/88756
6485 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
6486 #define instead of "const int".
6487 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
6488 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
6489 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
6490 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
6491
6492 2019-01-09 Tom de Vries <tdevries (a] suse.de>
6493
6494 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
6495 one worker.
6496
6497 2019-01-07 Tom de Vries <tdevries (a] suse.de>
6498
6499 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
6500 GOMP_OPENACC_DIM argument.
6501
6502 2019-01-03 Tom de Vries <tdevries (a] suse.de>
6503
6504 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
6505 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
6506
6507 2019-01-01 Jakub Jelinek <jakub (a] redhat.com>
6508
6509 Update copyright years.
6510
6511 2019-01-01 Jakub Jelinek <jakub (a] redhat.com>
6512
6513 * libgomp.texi: Bump @copying's copyright year.
6514
6515 2018-12-28 Thomas Schwinge <thomas (a] codesourcery.com>
6516
6517 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
6518 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
6519 (GOACC_declare): Redefine the "device" argument to "flags".
6520
6521 2018-12-28 Thomas Schwinge <thomas (a] codesourcery.com>
6522 Cesar Philippidis <cesar (a] codesourcery.com>
6523
6524 * target.c (struct gomp_coalesce_chunk): New structure.
6525 (struct gomp_coalesce_buf): Update the chunks member to use that
6526 type. Adjust all users.
6527
6528 2018-12-19 Tom de Vries <tdevries (a] suse.de>
6529
6530 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
6531 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
6532 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
6533
6534 2018-12-19 Tom de Vries <tdevries (a] suse.de>
6535
6536 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
6537 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
6538 gcc/testsuite/gcc.dg/goacc.
6539 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
6540
6541 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com>
6542 Chung-Lin Tang <cltang (a] codesourcery.com>
6543
6544 * oacc-mem.c (acc_present_or_create): Remove definition and change
6545 to alias of acc_create.
6546 (acc_present_or_copyin): Remove definition and change to alias of
6547 acc_copyin.
6548 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
6549 of acc_present_or_create.
6550 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
6551 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6552 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6553 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6554 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6555 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6556 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6557 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6558 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6559 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6560 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6561 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6562 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6563 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6564 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6565 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6566
6567 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com>
6568
6569 PR libgomp/88495
6570 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
6571 "identical parameters".
6572 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
6573 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
6574
6575 PR libgomp/88484
6576 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
6577 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
6578
6579 PR libgomp/88407
6580 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
6581 (nvptx_wait_async): Unseen async-argument is a no-op.
6582 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
6583 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
6584 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6585 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6586 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6587 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
6588 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
6589 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
6590 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
6591
6592 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
6593 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6594
6595 2018-12-14 Chung-Lin Tang <cltang (a] codesourcery.com>
6596
6597 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
6598 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6599 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6600
6601 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com>
6602
6603 PR libgomp/88370
6604 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
6605 (acc_set_cuda_stream): Clarify.
6606 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6607 "async_valid_p".
6608 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
6609 acc_async_sync".
6610 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
6611 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
6612 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
6613 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6614
6615 2018-12-14 Tom de Vries <tdevries (a] suse.de>
6616
6617 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
6618 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
6619 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
6620 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
6621 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
6622
6623 2018-12-13 Tom de Vries <tdevries (a] suse.de>
6624
6625 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
6626 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
6627 * fortran.c (omp_display_affinity_): ... here.
6628 * libgomp.h (gomp_print_string): Declare.
6629 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
6630 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6631 write.
6632
6633 2018-12-13 Jakub Jelinek <jakub (a] redhat.com>
6634
6635 PR libgomp/88460
6636 * testsuite/libgomp.c++/for-24.C (results): Include it in
6637 omp declare target region.
6638 (main): Use map (always, tofrom: results) instead of
6639 map (tofrom: results).
6640
6641 2018-12-12 Jakub Jelinek <jakub (a] redhat.com>
6642
6643 PR fortran/88463
6644 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
6645 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
6646
6647 * testsuite/libgomp.c-c++-common/for-16.c: New test.
6648
6649 2018-12-12 Andreas Schwab <schwab (a] suse.de>
6650
6651 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
6652 clobbered.
6653
6654 2018-12-09 Thomas Koenig <tkoenig (a] gcc.gnu.org>
6655
6656 PR fortran/88411
6657 * testsuite/libgomp.fortran/async_io_8.f90: New test.
6658
6659 2018-12-09 Thomas Schwinge <thomas (a] codesourcery.com>
6660 Jakub Jelinek <jakub (a] redhat.com>
6661
6662 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
6663 devicep->host2dev_func.
6664
6665 2018-12-08 Jakub Jelinek <jakub (a] redhat.com>
6666
6667 PR libgomp/87995
6668 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
6669 tls_runtime effective target.
6670 (t): New threadprivate variable.
6671 (main): Set t in threads which execute iterations of the worksharing
6672 loop. Propagate that to the task after the loop and don't abort
6673 if the current taskgroup hasn't been cancelled.
6674
6675 2018-12-02 Jakub Jelinek <jakub (a] redhat.com>
6676
6677 * testsuite/libgomp.c/task-reduction-3.c: New test.
6678
6679 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
6680
6681 2018-11-30 Cesar Philippidis <cesar (a] codesourcery.com>
6682
6683 PR libgomp/88288
6684 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
6685 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
6686
6687 2018-11-30 Thomas Schwinge <thomas (a] codesourcery.com>
6688
6689 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
6690
6691 2018-10-19 Richard Biener <rguenther (a] suse.de>
6692
6693 PR tree-optimization/88182
6694 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
6695
6696 2018-11-26 Jakub Jelinek <jakub (a] redhat.com>
6697
6698 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
6699 (RUNTEST): Don't define.
6700 (RUNTESTDEFAULTFLAGS): Add.
6701 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
6702 (distclean-am): Depend on distclean-DEJAGNU.
6703 (check-am): If -j% option is present in MFLAGS and if
6704 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
6705 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
6706 * testsuite/Makefile.in: Regenerated.
6707
6708 2018-11-26 Richard Biener <rguenther (a] suse.de>
6709
6710 PR tree-optimization/88182
6711 * testsuite/libgomp.c++/pr88182.C: New testcase.
6712
6713 2018-11-20 Jakub Jelinek <jakub (a] redhat.com>
6714
6715 PR bootstrap/88106
6716 * config/mingw32/affinity-fmt.c: New file.
6717
6718 2018-11-09 Jakub Jelinek <jakub (a] redhat.com>
6719
6720 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
6721 (gomp_display_affinity): Use __builtin_choose_expr to handle
6722 properly handle argument having integral, or pointer or some other
6723 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
6724 with uint64_t type instead of %llx and unsigned long long.
6725
6726 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
6727 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
6728
6729 2018-11-08 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6730
6731 * affinity.c: Include <string.h>, <stdio.h>.
6732 (gomp_display_affinity_place): Remove cpusetp.
6733 * teams.c: Include <limits.h>.
6734
6735 2018-11-08 Jakub Jelinek <jakub (a] redhat.com>
6736
6737 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
6738 in_reduction clause for s[0].
6739
6740 * affinity.c (gomp_display_affinity_place): New function.
6741 * affinity-fmt.c: New file.
6742 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
6743 * config/linux/affinity.c (gomp_display_affinity_place): New function.
6744 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
6745 Move these functions to ...
6746 * config/nvptx/teams.c: ... here. New file.
6747 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
6748 New functions.
6749 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
6750 functions.
6751 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
6752 and _aligned_malloc.
6753 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
6754 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
6755 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
6756 gomp_affinity_format_len): New variables.
6757 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
6758 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
6759 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
6760 modifiers. Display (non-default) chunk sizes. Print
6761 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
6762 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
6763 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
6764 * fortran.c: Include stdio.h and string.h.
6765 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
6766 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
6767 (omp_set_affinity_format_, omp_get_affinity_format_,
6768 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
6769 omp_pause_resource_all_): New functions.
6770 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
6771 switch.
6772 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
6773 functions to ...
6774 * teams.c: ... here. New file.
6775 * libgomp_g.h: Include gstdint.h.
6776 (GOMP_loop_nonmonotonic_runtime_start,
6777 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
6778 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
6779 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
6780 GOMP_parallel_loop_nonmonotonic_runtime,
6781 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6782 GOMP_loop_ull_nonmonotonic_runtime_start,
6783 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
6784 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
6785 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6786 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
6787 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
6788 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6789 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6790 GOMP_teams_reg): Declare.
6791 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
6792 gomp_aligned_alloc uses fallback implementation.
6793 (gomp_aligned_alloc, gomp_aligned_free): Declare.
6794 (enum gomp_schedule_type): Add GFS_MONOTONIC.
6795 (struct gomp_doacross_work_share): Add extra field.
6796 (struct gomp_work_share): Add task_reductions field.
6797 (struct gomp_taskgroup): Add workshare and reductions fields.
6798 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
6799 (gomp_thread_handle): New typedef.
6800 (gomp_display_affinity_place, gomp_set_affinity_format,
6801 gomp_display_string, gomp_display_affinity,
6802 gomp_display_affinity_thread): Declare.
6803 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
6804 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
6805 gomp_workshare_task_reduction_register): Declare.
6806 (gomp_team_start): Add taskgroup argument.
6807 (gomp_pause_host): Declare.
6808 (gomp_init_work_share, gomp_work_share_start): Change bool argument
6809 to size_t.
6810 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
6811 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
6812 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
6813 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6814 GOMP_loop_ull_doacross_start,
6815 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6816 GOMP_loop_maybe_nonmonotonic_runtime_next,
6817 GOMP_loop_maybe_nonmonotonic_runtime_start,
6818 GOMP_loop_nonmonotonic_runtime_next,
6819 GOMP_loop_nonmonotonic_runtime_start,
6820 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6821 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6822 GOMP_loop_ull_nonmonotonic_runtime_next,
6823 GOMP_loop_ull_nonmonotonic_runtime_start,
6824 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6825 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
6826 GOMP_taskgroup_reduction_register,
6827 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6828 GOMP_teams_reg and GOMP_taskwait_depend.
6829 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
6830 omp_{capture,display}_affinity{,_}, and
6831 omp_[gs]et_affinity_format{,_}.
6832 * loop.c: Include string.h.
6833 (GOMP_loop_runtime_next): Add ialias.
6834 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6835 (gomp_loop_static_start, gomp_loop_dynamic_start,
6836 gomp_loop_guided_start, gomp_loop_ordered_static_start,
6837 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
6838 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6839 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
6840 or gomp_doacross_init callers.
6841 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
6842 GOMP_loop_doacross_start): New functions.
6843 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
6844 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
6845 Mask off GFS_MONOTONIC bit.
6846 (GOMP_loop_maybe_nonmonotonic_runtime_next,
6847 GOMP_loop_maybe_nonmonotonic_runtime_start,
6848 GOMP_loop_nonmonotonic_runtime_next,
6849 GOMP_loop_nonmonotonic_runtime_start,
6850 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6851 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
6852 functions.
6853 (gomp_parallel_loop_start): Pass NULL as taskgroup to
6854 gomp_team_start.
6855 * loop_ull.c: Include string.h.
6856 (GOMP_loop_ull_runtime_next): Add ialias.
6857 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6858 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
6859 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
6860 gomp_loop_ull_ordered_dynamic_start,
6861 gomp_loop_ull_ordered_guided_start,
6862 gomp_loop_ull_doacross_static_start,
6863 gomp_loop_ull_doacross_dynamic_start,
6864 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
6865 and gomp_doacross_ull_init callers.
6866 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6867 GOMP_loop_ull_doacross_start): New functions.
6868 (GOMP_loop_ull_runtime_start,
6869 GOMP_loop_ull_ordered_runtime_start,
6870 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
6871 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6872 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6873 GOMP_loop_ull_nonmonotonic_runtime_next,
6874 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
6875 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
6876 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
6877 (omp_pause_resource_t, omp_depend_t): New typedefs.
6878 (enum omp_lock_hint_t): Renamed to ...
6879 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
6880 enumerators using numbers and omp_lock_hint_* as their aliases.
6881 (omp_lock_hint_t): New typedef. Rename to ...
6882 (omp_sync_hint_t): ... this.
6883 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
6884 omp_sync_hint_t instead of omp_lock_hint_t.
6885 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6886 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6887 Declare.
6888 (omp_target_is_present, omp_target_disassociate_ptr):
6889 Change first argument from void * to const void *.
6890 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
6891 from void * to const void *.
6892 (omp_target_associate_ptr): Change first and second arguments from
6893 void * to const void *.
6894 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
6895 omp_pause_hard): New parameters.
6896 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6897 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6898 New interfaces.
6899 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
6900 omp_pause_hard): New parameters.
6901 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6902 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6903 New externals.
6904 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
6905 EXTRA argument. If not needed to prepare array, if extra is 0,
6906 clear ws->doacross, otherwise allocate just doacross structure and
6907 extra payload. If array is needed, allocate also extra payload.
6908 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
6909 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
6910 doacross == NULL.
6911 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
6912 gomp_team_start.
6913 (GOMP_parallel): Likewise. Formatting fix.
6914 (GOMP_parallel_reductions): New function.
6915 (GOMP_cancellation_point): If taskgroup has workshare
6916 flag set, check cancelled of prev taskgroup if any.
6917 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
6918 on prev taskgroup if any.
6919 * sections.c: Include string.h.
6920 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6921 (GOMP_sections_start): Adjust gomp_work_share_start caller.
6922 (GOMP_sections2_start): New function.
6923 (GOMP_parallel_sections_start, GOMP_parallel_sections):
6924 Pass NULL as taskgroup to gomp_team_start.
6925 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
6926 gomp_work_share_start callers.
6927 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
6928 If taskgroup has workshare flag set, check cancelled on prev
6929 taskgroup if any. Guard all cancellation tests with
6930 gomp_cancel_var test.
6931 (omp_target_is_present, omp_target_disassociate_ptr):
6932 Change ptr argument from void * to const void *.
6933 (omp_target_memcpy): Change src argument from void * to const void *.
6934 (omp_target_memcpy_rect): Likewise.
6935 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
6936 instead of char * where needed.
6937 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
6938 from void * to const void *.
6939 (omp_pause_resource, omp_pause_resource_all): New functions.
6940 * task.c (gomp_task_handle_depend): Handle new depend array format
6941 in addition to the old. Handle mutexinoutset kinds the same as
6942 inout for now, handle unspecified kinds.
6943 (gomp_create_target_task): If taskgroup has workshare flag set, check
6944 cancelled on prev taskgroup if any. Guard all cancellation tests with
6945 gomp_cancel_var test. Handle new depend array format count in
6946 addition to the old.
6947 (GOMP_task): Likewise. Adjust function comment.
6948 (gomp_task_run_pre): If taskgroup has workshare flag set, check
6949 cancelled on prev taskgroup if any. Guard all cancellation tests with
6950 gomp_cancel_var test.
6951 (GOMP_taskwait_depend): New function.
6952 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
6953 format in addition to the old. Handle mutexinoutset kinds the same as
6954 inout for now, handle unspecified kinds. Fix a function comment typo.
6955 (gomp_taskgroup_init): New function.
6956 (GOMP_taskgroup_start): Use it.
6957 (gomp_reduction_register, gomp_create_artificial_team,
6958 GOMP_taskgroup_reduction_register,
6959 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6960 gomp_parallel_reduction_register,
6961 gomp_workshare_task_reduction_register,
6962 gomp_workshare_taskgroup_start,
6963 GOMP_workshare_task_reduction_unregister): New functions.
6964 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
6965 check cancelled on prev taskgroup if any. Guard all cancellation
6966 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
6967 by calling GOMP_taskgroup_reduction_register.
6968 * team.c (gomp_thread_attr): Remove comment.
6969 (struct gomp_thread_start_data): Add handle field.
6970 (gomp_thread_start): Call pthread_detach.
6971 (gomp_new_team): Adjust gomp_init_work_share caller.
6972 (gomp_free_pool_helper): Call pthread_detach.
6973 (gomp_team_start): Add taskgroup argument, initialize implicit
6974 tasks' taskgroup field to that. Don't call
6975 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
6976 (gomp_team_end): Determine nesting by thr->ts.level != 0
6977 rather than thr->ts.team != NULL.
6978 (gomp_pause_pool_helper, gomp_pause_host): New functions.
6979 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
6980 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
6981 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
6982 if more than 1 allocate also extra payload at the end of array. Never
6983 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
6984 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
6985 return true instead of ws.
6986 * Makefile.in: Regenerated.
6987 * configure: Regenerated.
6988 * config.h.in: Regenerated.
6989 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
6990 in some cases.
6991 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
6992 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
6993 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
6994 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
6995 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
6996 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
6997 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
6998 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
6999 * testsuite/libgomp.c-c++-common/for-10.c: New test.
7000 * testsuite/libgomp.c-c++-common/for-11.c: New test.
7001 * testsuite/libgomp.c-c++-common/for-12.c: New test.
7002 * testsuite/libgomp.c-c++-common/for-13.c: New test.
7003 * testsuite/libgomp.c-c++-common/for-14.c: New test.
7004 * testsuite/libgomp.c-c++-common/for-15.c: New test.
7005 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
7006 define a different N(test), don't define N(f0) to N(f14), but instead
7007 define N(f20) to N(f34) using != comparisons.
7008 * testsuite/libgomp.c-c++-common/for-7.c: New test.
7009 * testsuite/libgomp.c-c++-common/for-8.c: New test.
7010 * testsuite/libgomp.c-c++-common/for-9.c: New test.
7011 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
7012 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
7013 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
7014 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
7015 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
7016 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
7017 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
7018 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
7019 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
7020 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
7021 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
7022 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
7023 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
7024 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
7025 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
7026 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
7027 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
7028 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
7029 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
7030 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
7031 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
7032 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
7033 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
7034 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
7035 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
7036 * testsuite/libgomp.c++/depend-1.C: New test.
7037 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
7038 * testsuite/libgomp.c++/depobj-1.C: New test.
7039 * testsuite/libgomp.c++/for-16.C: New test.
7040 * testsuite/libgomp.c++/for-21.C: New test.
7041 * testsuite/libgomp.c++/for-22.C: New test.
7042 * testsuite/libgomp.c++/for-23.C: New test.
7043 * testsuite/libgomp.c++/for-24.C: New test.
7044 * testsuite/libgomp.c++/for-25.C: New test.
7045 * testsuite/libgomp.c++/for-26.C: New test.
7046 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
7047 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
7048 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
7049 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
7050 * testsuite/libgomp.c++/task-reduction-10.C: New test.
7051 * testsuite/libgomp.c++/task-reduction-11.C: New test.
7052 * testsuite/libgomp.c++/task-reduction-12.C: New test.
7053 * testsuite/libgomp.c++/task-reduction-13.C: New test.
7054 * testsuite/libgomp.c++/task-reduction-14.C: New test.
7055 * testsuite/libgomp.c++/task-reduction-15.C: New test.
7056 * testsuite/libgomp.c++/task-reduction-16.C: New test.
7057 * testsuite/libgomp.c++/task-reduction-17.C: New test.
7058 * testsuite/libgomp.c++/task-reduction-18.C: New test.
7059 * testsuite/libgomp.c++/task-reduction-19.C: New test.
7060 * testsuite/libgomp.c/task-reduction-1.c: New test.
7061 * testsuite/libgomp.c++/task-reduction-1.C: New test.
7062 * testsuite/libgomp.c/task-reduction-2.c: New test.
7063 * testsuite/libgomp.c++/task-reduction-2.C: New test.
7064 * testsuite/libgomp.c++/task-reduction-3.C: New test.
7065 * testsuite/libgomp.c++/task-reduction-4.C: New test.
7066 * testsuite/libgomp.c++/task-reduction-5.C: New test.
7067 * testsuite/libgomp.c++/task-reduction-6.C: New test.
7068 * testsuite/libgomp.c++/task-reduction-7.C: New test.
7069 * testsuite/libgomp.c++/task-reduction-8.C: New test.
7070 * testsuite/libgomp.c++/task-reduction-9.C: New test.
7071 * testsuite/libgomp.c/teams-1.c: New test.
7072 * testsuite/libgomp.c/teams-2.c: New test.
7073 * testsuite/libgomp.c/thread-limit-4.c: New test.
7074 * testsuite/libgomp.c/thread-limit-5.c: New test.
7075 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
7076
7077 2018-11-06 Chung-Lin Tang <cltang (a] codesourcery.com>
7078
7079 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
7080 acc_memcpy_to/from_device functions, now with async parameter.
7081 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
7082 (acc_memcpy_from_device): Likewise.
7083 (acc_memcpy_to_device_async): New API function.
7084 (acc_memcpy_from_device_async): Likewise.
7085 (present_create_copy): Add async parameter and async setting/unsetting.
7086 (acc_create): Adjust present_create_copy call.
7087 (acc_copyin): Likewise.
7088 (acc_present_or_create): Likewise.
7089 (acc_present_or_copyin): Likewise.
7090 (acc_create_async): New API function.
7091 (acc_copyin_async): New API function.
7092 (delete_copyout): Add async parameter and async setting/unsetting.
7093 (acc_delete): Adjust delete_copyout call.
7094 (acc_copyout): Likewise.
7095 (acc_delete_async): New API function.
7096 (acc_copyout_async): Likewise.
7097 (update_dev_host): Add async parameter and async setting/unsetting.
7098 (acc_update_device): Adjust update_dev_host call.
7099 (acc_update_self): Likewise.
7100 (acc_update_device_async): New API function.
7101 (acc_update_self_async): Likewise.
7102 * openacc.h (acc_copyin_async): Declare new API function.
7103 (acc_create_async): Likewise.
7104 (acc_copyout_async): Likewise.
7105 (acc_delete_async): Likewise.
7106 (acc_update_device_async): Likewise.
7107 (acc_update_self_async): Likewise.
7108 (acc_memcpy_to_device_async): Likewise.
7109 (acc_memcpy_from_device_async): Likewise.
7110 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
7111 (acc_copyin_async_64_h): New subroutine.
7112 (acc_copyin_async_array_h): New subroutine.
7113 (acc_create_async_32_h): New subroutine.
7114 (acc_create_async_64_h): New subroutine.
7115 (acc_create_async_array_h): New subroutine.
7116 (acc_copyout_async_32_h): New subroutine.
7117 (acc_copyout_async_64_h): New subroutine.
7118 (acc_copyout_async_array_h): New subroutine.
7119 (acc_delete_async_32_h): New subroutine.
7120 (acc_delete_async_64_h): New subroutine.
7121 (acc_delete_async_array_h): New subroutine.
7122 (acc_update_device_async_32_h): New subroutine.
7123 (acc_update_device_async_64_h): New subroutine.
7124 (acc_update_device_async_array_h): New subroutine.
7125 (acc_update_self_async_32_h): New subroutine.
7126 (acc_update_self_async_64_h): New subroutine.
7127 (acc_update_self_async_array_h): New subroutine.
7128 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
7129 (acc_copyin_async_64_h): New subroutine.
7130 (acc_copyin_async_array_h): New subroutine.
7131 (acc_create_async_32_h): New subroutine.
7132 (acc_create_async_64_h): New subroutine.
7133 (acc_create_async_array_h): New subroutine.
7134 (acc_copyout_async_32_h): New subroutine.
7135 (acc_copyout_async_64_h): New subroutine.
7136 (acc_copyout_async_array_h): New subroutine.
7137 (acc_delete_async_32_h): New subroutine.
7138 (acc_delete_async_64_h): New subroutine.
7139 (acc_delete_async_array_h): New subroutine.
7140 (acc_update_device_async_32_h): New subroutine.
7141 (acc_update_device_async_64_h): New subroutine.
7142 (acc_update_device_async_array_h): New subroutine.
7143 (acc_update_self_async_32_h): New subroutine.
7144 (acc_update_self_async_64_h): New subroutine.
7145 (acc_update_self_async_array_h): New subroutine.
7146 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
7147 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
7148 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
7149 acc_memcpy_to_device_async*, acc_update_device_async*, and
7150 acc_update_self_async* entries.
7151 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
7152 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
7153 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
7154
7155 2018-10-31 Joseph Myers <joseph (a] codesourcery.com>
7156
7157 PR bootstrap/82856
7158 * Makefile.am: Include multilib.am
7159 (AUTOMAKE_OPTIONS): Add info-in-builddir.
7160 (CLEANFILES): Remove libgomp.info.
7161 * configure.ac: Remove AC_PREREQ.
7162 * testsuite/Makefile.am (RUNTEST): Remove quotes.
7163 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
7164 Regenerate.
7165
7166 2018-10-29 Joseph Myers <joseph (a] codesourcery.com>
7167 Julian Brown <julian (a] codesourcery.com>
7168
7169 * testsuite/libgomp.oacc-c++/this.C: New.
7170
7171 2018-09-18 Cesar Philippidis <cesar (a] codesourcery.com>
7172
7173 * plugin/plugin-nvptx.c (struct cuda_map): New.
7174 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
7175 h_tail with (cuda_map *) map.
7176 (cuda_map_create): New function.
7177 (cuda_map_destroy): New function.
7178 (map_init): Update to use a linked list of cuda_map objects.
7179 (map_fini): Likewise.
7180 (map_pop): Likewise.
7181 (map_push): Likewise. Return CUdeviceptr instead of void.
7182 (init_streams_for_device): Remove stales references to ptx_stream
7183 members.
7184 (select_stream_for_async): Likewise.
7185 (nvptx_exec): Update call to map_init.
7186
7187 2018-09-09 Cesar Philippidis <cesar (a] codesourcery.com>
7188 Julian Brown <julian (a] codesourcery.com>
7189
7190 PR middle-end/86336
7191 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
7192
7193 2018-08-21 Nicolas Koenig <koenigni (a] gcc.gnu.org>
7194 Thomas Koenig <tkoenig (a] gcc.gnu.org>
7195
7196 PR fortran/25829
7197 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7198 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7199 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7200 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7201 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7202 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7203 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7204
7205 2018-08-13 Cesar Philippidis <cesar (a] codesourcery.com>
7206 Tom de Vries <tdevries (a] suse.de>
7207
7208 PR target/85590
7209 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
7210 (cuOccupancyMaxPotentialBlockSize): Declare.
7211 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
7212 CUDA_ONE_CALL_MAYBE_NULL.
7213 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
7214 CUoccupancyB2DSize and declare
7215 cuOccupancyMaxPotentialBlockSize.
7216 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
7217 default num_gangs and num_workers when the driver supports it.
7218
7219 2018-08-08 Tom de Vries <tdevries (a] suse.de>
7220
7221 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
7222 CUDA_ONE_CALL_MAYBE_NULL.
7223 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
7224 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
7225 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
7226 are not found.
7227
7228 2018-08-08 Tom de Vries <tdevries (a] suse.de>
7229
7230 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
7231 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
7232 present.
7233
7234 2018-08-08 Tom de Vries <tdevries (a] suse.de>
7235
7236 * plugin/plugin-nvptx.c
7237 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
7238 (nvptx_open_device): Use
7239 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
7240
7241 2018-08-08 Tom de Vries <tdevries (a] suse.de>
7242
7243 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
7244 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
7245
7246 2018-08-07 Tom de Vries <tdevries (a] suse.de>
7247
7248 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
7249 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
7250 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
7251 corresponding call in CUDA_ONE_CALL. Add def/undef of
7252 CUDA_ONE_CALL_MAYBE_NULL.
7253 (CUDA_CALL_EXISTS): Define.
7254
7255 2018-08-07 Tom de Vries <tdevries (a] suse.de>
7256
7257 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
7258 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
7259 corresponding undefs right after.
7260
7261 2018-08-04 Tom de Vries <tdevries (a] suse.de>
7262
7263 * plugin/configfrag.ac: For --without-cuda-driver, set
7264 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
7265 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
7266 * configure: Regenerate.
7267
7268 2018-08-02 Tom de Vries <tdevries (a] suse.de>
7269
7270 PR target/86660
7271 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
7272 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
7273 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
7274 Same.
7275 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
7276 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
7277 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
7278
7279 2018-08-01 Cesar Philippidis <cesar (a] codesourcery.com>
7280 Thomas Schwinge <thomas (a] codesourcery.com>
7281
7282 * config/nvptx/oacc-parallel.c: Truncate.
7283
7284 2018-08-01 Cesar Philippidis <cesar (a] codesourcery.com>
7285 James Norris <jnorris (a] codesourcery.com>
7286
7287 * plugin/plugin-nvptx.c (struct map): Removed.
7288 (map_init, map_pop): Remove use of struct map.
7289 (map_push): Likewise and change argument list.
7290 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
7291
7292 2018-08-01 Tom de Vries <tdevries (a] suse.de>
7293
7294 * plugin/cuda-lib.def: New file. Factor out of ...
7295 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
7296 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
7297 using CUDA_CALLS.
7298
7299 2018-07-31 Andre Vieira <andre.simoesdiasvieira (a] arm.com>
7300
7301 Revert 'AsyncI/O patch committed'.
7302 2018-07-25 Nicolas Koenig <koenigni (a] gcc.gnu.org>
7303 Thomas Koenig <tkoenig (a] gcc.gnu.org>
7304
7305 PR fortran/25829
7306 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7307 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7308 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7309 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7310 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7311 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7312 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7313
7314 2018-07-30 Tom de Vries <tdevries (a] suse.de>
7315
7316 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
7317 (nvptx_exec): Ensure worker and vector default dims don't exceed
7318 targ_fn->max_threads_per_block.
7319
7320 2018-07-30 Tom de Vries <tdevries (a] suse.de>
7321
7322 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
7323 (nvptx_open_device): Init default_dims for device.
7324 (nvptx_exec): Use default_dims from device.
7325
7326 2018-07-26 Jakub Jelinek <jakub (a] redhat.com>
7327
7328 PR testsuite/86660
7329 * testsuite/libgomp.c++/for-15.C (results): Include it in
7330 omp declare target region.
7331 (main): Use map (always, tofrom: results) instead of
7332 map (tofrom: results).
7333
7334 PR middle-end/86660
7335 * testsuite/libgomp.c/pr86660.c: New test.
7336
7337 2018-07-26 Cesar Philippidis <cesar (a] codesourcery.com>
7338 Tom de Vries <tdevries (a] suse.de>
7339
7340 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
7341 sufficient resources to launch a kernel, and give a hint on how to fix
7342 it.
7343
7344 2018-07-26 Cesar Philippidis <cesar (a] codesourcery.com>
7345 Tom de Vries <tdevries (a] suse.de>
7346
7347 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
7348 max_threads_per_block and max_threads_per_multiprocessor fields.
7349 (nvptx_open_device): Initialize new fields.
7350 (nvptx_exec): Use num_sms, and new fields.
7351
7352 2018-07-26 Tom de Vries <tdevries (a] suse.de>
7353
7354 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
7355 to correct locations. Remove xfail.
7356
7357 2018-07-26 Tom de Vries <tdevries (a] suse.de>
7358
7359 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
7360 acc_wait. Move acc_async_test calls to correct locations. Remove
7361 xfail.
7362
7363 2018-07-25 Nicolas Koenig <koenigni (a] gcc.gnu.org>
7364 Thomas Koenig <tkoenig (a] gcc.gnu.org>
7365
7366 PR fortran/25829
7367 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7368 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7369 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7370 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7371 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7372 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7373 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7374
7375 2018-07-17 Jakub Jelinek <jakub (a] redhat.com>
7376
7377 PR middle-end/86542
7378 * testsuite/libgomp.c++/pr86542.C: New test.
7379
7380 PR middle-end/86539
7381 * testsuite/libgomp.c++/pr86539.C: New test.
7382
7383 2018-07-11 Jakub Jelinek <jakub (a] redhat.com>
7384
7385 PR c++/86443
7386 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
7387 (results): Make sure the variable is not inside declare target region.
7388 (qux): Remove unused function.
7389
7390 2018-07-10 Jakub Jelinek <jakub (a] redhat.com>
7391
7392 PR c++/86443
7393 * testsuite/libgomp.c++/for-15.C: New test.
7394
7395 2018-06-26 Jakub Jelinek <jakub (a] redhat.com>
7396
7397 PR c++/86291
7398 * testsuite/libgomp.c++/pr86291.C: New test.
7399
7400 2018-06-24 Gerald Pfeifer <gerald (a] pfeifer.com>
7401
7402 * libgomp.texi (Top): Move www.openmp.org to https.
7403 (Enabling OpenMP): Ditto.
7404 (omp_get_active_level): Ditto.
7405 (omp_get_ancestor_thread_num): Ditto.
7406 (omp_get_cancellation): Ditto.
7407 (omp_get_default_device): Ditto.
7408 (omp_get_dynamic): Ditto.
7409 (omp_get_level): Ditto.
7410 (omp_get_max_active_levels): Ditto.
7411 (omp_get_max_task_priority): Ditto.
7412 (omp_get_max_threads): Ditto.
7413 (omp_get_nested): Ditto.
7414 (omp_get_num_devices): Ditto.
7415 (omp_get_num_procs): Ditto.
7416 (omp_get_num_teams): Ditto.
7417 (omp_get_num_threads): Ditto.
7418 (omp_get_proc_bind): Ditto.
7419 (omp_get_schedule): Ditto.
7420 (omp_get_team_num): Ditto.
7421 (omp_get_team_size): Ditto.
7422 (omp_get_thread_limit): Ditto.
7423 (omp_get_thread_num): Ditto.
7424 (omp_in_parallel): Ditto.
7425 (omp_in_final): Ditto.
7426 (omp_is_initial_device): Ditto.
7427 (omp_set_default_device): Ditto.
7428 (omp_set_dynamic): Ditto.
7429 (omp_set_max_active_levels): Ditto.
7430 (omp_set_nested): Ditto.
7431 (omp_set_num_threads): Ditto.
7432 (omp_set_schedule): Ditto.
7433 (omp_init_lock): Ditto.
7434 (omp_set_lock): Ditto.
7435 (omp_test_lock): Ditto.
7436 (omp_unset_lock): Ditto.
7437 (omp_destroy_lock): Ditto.
7438 (omp_init_nest_lock): Ditto.
7439 (omp_set_nest_lock): Ditto.
7440 (omp_test_nest_lock): Ditto.
7441 (omp_unset_nest_lock): Ditto.
7442 (omp_destroy_nest_lock): Ditto.
7443 (omp_get_wtick): Ditto.
7444 (omp_get_wtime): Ditto.
7445 (OMP_CANCELLATION): Ditto.
7446 (OMP_DISPLAY_ENV): Ditto.
7447 (OMP_DEFAULT_DEVICE): Ditto.
7448 (OMP_DYNAMIC): Ditto.
7449 (OMP_MAX_ACTIVE_LEVELS): Ditto.
7450 (OMP_MAX_TASK_PRIORITY): Ditto.
7451 (OMP_NESTED): Ditto.
7452 (OMP_NUM_THREADS): Ditto.
7453 (OMP_PROC_BIND): Ditto.
7454 (OMP_PLACES): Ditto.
7455 (OMP_STACKSIZE): Ditto.
7456 (OMP_SCHEDULE): Ditto.
7457 (OMP_THREAD_LIMIT): Ditto.
7458 (OMP_WAIT_POLICY): Ditto.
7459
7460 2018-06-22 Cesar Philippidis <cesar (a] codesourcery.com>
7461 James Norris <jnorris (a] codesourcery.com>
7462 Julian Brown <julian (a] codesourcery.com>
7463 Thomas Schwinge <thomas (a] codesourcery.com>
7464 Tom de Vries <tom (a] codesourcery.com>
7465
7466 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
7467 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
7468 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
7469 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
7470 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7471 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7472 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
7473 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
7474 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
7475 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
7476 Likewise.
7477 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7478 Likewise.
7479 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7480 Likewise.
7481 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
7482 Likewise.
7483 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
7484 Likewise.
7485 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7486 Likewise.
7487 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
7488 Likewise.
7489 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
7490 Likewise.
7491 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
7492 Likewise.
7493 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
7494 Likewise.
7495 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
7496 Likewise.
7497 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
7498 Likewise.
7499 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
7500 Likewise.
7501 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
7502 Likewise.
7503 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
7504 Likewise.
7505 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
7506 Likewise.
7507 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
7508 Likewise.
7509 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
7510 Likewise.
7511 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
7512 Likewise.
7513 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
7514 Likewise.
7515 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
7516 Likewise.
7517 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
7518 Likewise.
7519 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
7520 Likewise.
7521 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
7522 Likewise.
7523 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
7524 Likewise.
7525 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
7526 Likewise.
7527 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
7528 Likewise.
7529 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
7530 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
7531 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
7532 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
7533 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
7534 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
7535 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
7536 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
7537 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
7538 Likewise.
7539 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
7540 Likewise.
7541 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
7542 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
7543 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
7544 Likewise.
7545 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
7546 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
7547 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
7548 Likewise.
7549 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
7550 Likewise.
7551 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
7552 Likewise.
7553 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
7554 Likewise.
7555 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
7556 Likewise.
7557 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
7558 Likewise.
7559 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
7560 Likewise.
7561 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
7562 Likewise.
7563 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
7564 Likewise.
7565 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
7566 Likewise.
7567 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
7568 Likewise.
7569 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
7570 Likewise.
7571 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
7572 Likewise.
7573 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
7574 Likewise.
7575 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
7576 Likewise.
7577 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
7578 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
7579 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
7580 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
7581 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
7582 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
7583 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
7584
7585 2018-06-20 Chung-Lin Tang <cltang (a] codesourcery.com>
7586 Thomas Schwinge <thomas (a] codesourcery.com>
7587 Cesar Philippidis <cesar (a] codesourcery.com>
7588
7589 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
7590 (gomp_acc_remove_pointer): Update declaration.
7591 (gomp_acc_declare_allocate): Declare.
7592 (gomp_remove_var): Declare.
7593 * libgomp.map (OACC_2.5): Define.
7594 * oacc-mem.c (acc_map_data): Update refcount.
7595 (acc_unmap_data): Likewise.
7596 (present_create_copy): Likewise.
7597 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
7598 (acc_copyin): Likewise.
7599 (FLAG_FINALIZE): Define.
7600 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
7601 (acc_delete_finalize): New function.
7602 (acc_delete_finalize_async): New function.
7603 (acc_copyout_finalize): New function.
7604 (acc_copyout_finalize_async): New function.
7605 (gomp_acc_insert_pointer): Update refcounts.
7606 (gomp_acc_remove_pointer): Return if data is not present on the
7607 accelerator.
7608 * oacc-parallel.c (find_pset): Rename to find_pointer.
7609 (find_pointer): Add support for GOMP_MAP_POINTER.
7610 (handle_ftn_pointers): New function.
7611 (GOACC_parallel_keyed): Update refcounts of variables.
7612 (GOACC_enter_exit_data): Add support for finalized data mappings.
7613 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
7614 of fortran arrays.
7615 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
7616 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
7617 for GOMP_MAP_FORCE_FROM.
7618 * openacc.f90 (module openacc_internal): Add
7619 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
7620 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
7621 acc_copyout_finalize and acc_delete_finalize.
7622 (acc_copyout_finalize_32_h): New subroutine.
7623 (acc_copyout_finalize_64_h): New subroutine.
7624 (acc_copyout_finalize_array_h): New subroutine.
7625 (acc_delete_finalize_32_h): New subroutine.
7626 (acc_delete_finalize_64_h): New subroutine.
7627 (acc_delete_finalize_array_h): New subroutine.
7628 * openacc.h (acc_copyout_finalize): Declare.
7629 (acc_copyout_finalize_async): Declare.
7630 (acc_delete_finalize): Declare.
7631 (acc_delete_finalize_async): Declare.
7632 * openacc_lib.h (acc_copyout_finalize): New interface.
7633 (acc_delete_finalize): New interface.
7634 * target.c (gomp_map_vars): Update dynamic_refcount.
7635 (gomp_remove_var): New function.
7636 (gomp_unmap_vars): Use it.
7637 (gomp_unload_image_from_device): Likewise.
7638 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
7639 case to utilize OpenACC 2.5 data clause semantics.
7640 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7641 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7642 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7643 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7644 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7645 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7646 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7647 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7648 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7649 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7650 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7651 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
7652 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
7653 utilize OpenACC 2.5 data clause semantics.
7654 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7655 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7656 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7657 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7658 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7659 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7660 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7661 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7662 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7663
7664 2018-05-21 Janus Weil <janus (a] gcc.gnu.org>
7665
7666 PR fortran/85841
7667 PR testsuite/85865
7668 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
7669 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
7670 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
7671 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
7672 * testsuite/libgomp.fortran/task2.f90: Ditto.
7673 * testsuite/libgomp.fortran/vla1.f90: Ditto.
7674 * testsuite/libgomp.fortran/vla2.f90: Ditto.
7675 * testsuite/libgomp.fortran/vla3.f90: Ditto.
7676 * testsuite/libgomp.fortran/vla4.f90: Ditto.
7677 * testsuite/libgomp.fortran/vla5.f90: Ditto.
7678 * testsuite/libgomp.fortran/vla6.f90: Ditto.
7679 * testsuite/libgomp.fortran/vla8.f90: Ditto.
7680 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
7681 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
7682
7683 2018-05-18 Cesar Philippidis <cesar (a] codesourcery.com>
7684
7685 PR c++/85782
7686 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
7687
7688 2018-05-09 Tom de Vries <tom (a] codesourcery.com>
7689
7690 PR libgomp/82901
7691 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
7692 to GOACC_enter_exit_data.
7693
7694 2018-05-09 Tom de Vries <tom (a] codesourcery.com>
7695
7696 PR libgomp/83792
7697 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
7698 (async_synchronous_p): New function.
7699 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
7700 async_valid_p.
7701 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
7702 async_valid_stream_id_p.
7703 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
7704 * oacc-parallel.c (GOACC_parallel_keyed): Same.
7705
7706 2018-05-07 Tom de Vries <tom (a] codesourcery.com>
7707
7708 PR testsuite/85677
7709 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
7710 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
7711
7712 2018-05-03 Tom de Vries <tom (a] codesourcery.com>
7713
7714 PR testsuite/85106
7715 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
7716 extra_tool_flags if it contains an -foffload=-fdump-* flag.
7717 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
7718 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
7719
7720 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
7721
7722 PR libgomp/85411
7723 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
7724 GOMP_OPENACC_DIM ...
7725 * env.c (parse_gomp_openacc_dim): ... here. New function.
7726 (initialize_env): Call parse_gomp_openacc_dim.
7727 (goacc_default_dims): Define.
7728 * libgomp.h (goacc_default_dims): Declare.
7729 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
7730 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
7731 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
7732 GOMP_PLUGIN_acc_default_dim.
7733 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
7734 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
7735
7736 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
7737
7738 PR testsuite/83791
7739 * testsuite/libgomp.c++/udr-9.C: Update.
7740 * testsuite/libgomp.c++/atomic-16.C: Remove.
7741 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
7742 * testsuite/libgomp.c++/loop-13.C: Remove.
7743 * testsuite/libgomp.c++/loop-14.C: Remove.
7744 * testsuite/libgomp.c++/loop-15.C: Remove.
7745 * testsuite/libgomp.c++/monotonic-1.C: Remove.
7746 * testsuite/libgomp.c++/monotonic-2.C: Remove.
7747 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
7748 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
7749 * testsuite/libgomp.c++/ordered-1.C: Remove.
7750 * testsuite/libgomp.c++/pr45784.C: Remove.
7751 * testsuite/libgomp.c++/pr64824.C: Remove.
7752 * testsuite/libgomp.c++/pr64868.C: Remove.
7753 * testsuite/libgomp.c++/pr66199-1.C: Remove.
7754 * testsuite/libgomp.c++/pr66199-2.C: Remove.
7755 * testsuite/libgomp.c++/pr66199-3.C: Remove.
7756 * testsuite/libgomp.c++/pr66199-4.C: Remove.
7757 * testsuite/libgomp.c++/pr66199-5.C: Remove.
7758 * testsuite/libgomp.c++/pr66199-6.C: Remove.
7759 * testsuite/libgomp.c++/pr66199-7.C: Remove.
7760 * testsuite/libgomp.c++/pr66199-8.C: Remove.
7761 * testsuite/libgomp.c++/pr66199-9.C: Remove.
7762 * testsuite/libgomp.c++/pr69389.C: Remove.
7763 * testsuite/libgomp.c++/simd10.C: Remove.
7764 * testsuite/libgomp.c++/simd11.C: Remove.
7765 * testsuite/libgomp.c++/simd12.C: Remove.
7766 * testsuite/libgomp.c++/simd13.C: Remove.
7767 * testsuite/libgomp.c++/target-1.C: Remove.
7768 * testsuite/libgomp.c++/target-3.C: Remove.
7769 * testsuite/libgomp.c++/target-4.C: Remove.
7770 * testsuite/libgomp.c++/target-5.C: Remove.
7771 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
7772 * testsuite/libgomp.c++/taskloop-1.C: Remove.
7773 * testsuite/libgomp.c++/taskloop-2.C: Remove.
7774 * testsuite/libgomp.c++/taskloop-3.C: Remove.
7775 * testsuite/libgomp.c++/taskloop-4.C: Remove.
7776 * testsuite/libgomp.c++/udr-9.C: Remove.
7777 * testsuite/libgomp.c++/for-10.C: Remove.
7778 * testsuite/libgomp.c++/for-11.C: Remove.
7779 * testsuite/libgomp.c++/for-12.C: Remove.
7780 * testsuite/libgomp.c++/for-13.C: Remove.
7781 * testsuite/libgomp.c++/for-14.C: Remove.
7782 * testsuite/libgomp.c++/for-9.C: Remove.
7783 * testsuite/libgomp.c/atomic-18.c: Move ...
7784 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
7785 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
7786 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
7787 * testsuite/libgomp.c/loop-13.c: Move ...
7788 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
7789 * testsuite/libgomp.c/loop-14.c: Move ...
7790 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
7791 * testsuite/libgomp.c/loop-15.c: Remove.
7792 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
7793 * testsuite/libgomp.c/monotonic-1.c: Move ...
7794 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
7795 * testsuite/libgomp.c/monotonic-2.c: Move ...
7796 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
7797 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
7798 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
7799 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
7800 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
7801 * testsuite/libgomp.c/ordered-4.c: Move ...
7802 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
7803 * testsuite/libgomp.c/pr45784.c: Move ...
7804 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
7805 * testsuite/libgomp.c/pr64824.c: Move ...
7806 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
7807 * testsuite/libgomp.c/pr64868.c: Move ...
7808 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
7809 * testsuite/libgomp.c/pr66199-1.c: Move ...
7810 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
7811 * testsuite/libgomp.c/pr66199-2.c: Move ...
7812 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
7813 * testsuite/libgomp.c/pr66199-3.c: Move ...
7814 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
7815 * testsuite/libgomp.c/pr66199-4.c: Move ...
7816 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
7817 * testsuite/libgomp.c/pr66199-5.c: Move ...
7818 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
7819 * testsuite/libgomp.c/pr66199-6.c: Move ...
7820 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
7821 * testsuite/libgomp.c/pr66199-7.c: Move ...
7822 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
7823 * testsuite/libgomp.c/pr66199-8.c: Move ...
7824 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
7825 * testsuite/libgomp.c/pr66199-9.c: Move ...
7826 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
7827 * testsuite/libgomp.c/pr69389.c: Move ...
7828 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
7829 * testsuite/libgomp.c/simd-14.c: Move ...
7830 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
7831 * testsuite/libgomp.c/simd-15.c: Move ...
7832 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
7833 * testsuite/libgomp.c/simd-16.c: Move ...
7834 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
7835 * testsuite/libgomp.c/simd-17.c: Move ...
7836 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
7837 * testsuite/libgomp.c/target-1.c: Move ...
7838 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
7839 * testsuite/libgomp.c/target-10.c: Move ...
7840 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
7841 * testsuite/libgomp.c/target-13.c: Move ...
7842 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
7843 * testsuite/libgomp.c/target-2.c: Move ...
7844 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
7845 * testsuite/libgomp.c/taskgroup-1.c: Move ...
7846 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
7847 * testsuite/libgomp.c/taskloop-1.c: Move ...
7848 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
7849 * testsuite/libgomp.c/taskloop-2.c: Move ...
7850 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
7851 * testsuite/libgomp.c/taskloop-3.c: Move ...
7852 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
7853 * testsuite/libgomp.c/taskloop-4.c: Move ...
7854 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
7855 * testsuite/libgomp.c/udr-1.c: Move ...
7856 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
7857 * testsuite/libgomp.c/for-1.c: Move ...
7858 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
7859 * testsuite/libgomp.c/for-1.h: Move ...
7860 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
7861 * testsuite/libgomp.c/for-2.c: Move ...
7862 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
7863 * testsuite/libgomp.c/for-2.h: Move ...
7864 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
7865 * testsuite/libgomp.c/for-3.c: Move ...
7866 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
7867 * testsuite/libgomp.c/for-4.c: Move ...
7868 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
7869 * testsuite/libgomp.c/for-5.c: Move ...
7870 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
7871 * testsuite/libgomp.c/for-6.c: Move ...
7872 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
7873
7874 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
7875
7876 PR libgomp/82428
7877 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
7878 __builtin_goacc_parlevel_{id,size}.
7879 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
7880 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
7881 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
7882 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
7883 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
7884 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
7885 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
7886 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
7887 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
7888 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
7889 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
7890 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
7891 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
7892 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
7893 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
7894 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
7895 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
7896 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
7897 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
7898 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
7899 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
7900 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
7901 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
7902
7903 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
7904
7905 PR testsuite/85106
7906 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
7907
7908 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
7909
7910 PR testsuite/85106
7911 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
7912
7913 2018-04-29 Julian Brown <julian (a] codesourcery.com>
7914 Tom de Vries <tom (a] codesourcery.com>
7915
7916 PR testsuite/85527
7917 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
7918 arbitrary order for iterations of atomic subtract check.
7919
7920 2018-04-28 Tom de Vries <tom (a] codesourcery.com>
7921
7922 PR testsuite/85527
7923 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
7924 atomic capture results obtained in parallel loop to an array, instead of
7925 to a scalar.
7926
7927 2018-04-26 Tom de Vries <tom (a] codesourcery.com>
7928
7929 PR libgomp/84020
7930 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
7931 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
7932 (process_GOMP_NVPTX_JIT): New function.
7933 (link_ptx): Use process_GOMP_NVPTX_JIT.
7934
7935 2018-04-26 Richard Biener <rguenther (a] suse.de>
7936 Tom de Vries <tom (a] codesourcery.com>
7937
7938 PR lto/85422
7939 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
7940
7941 2018-04-26 Tom de Vries <tom (a] codesourcery.com>
7942
7943 PR target/85519
7944 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
7945 recursion depth from 25 to 23.
7946 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
7947
7948 2018-04-24 H.J. Lu <hongjiu.lu (a] intel.com>
7949
7950 * configure: Regenerated.
7951
7952 2018-04-20 Nathan Sidwell <nathan (a] codesourcery.com>
7953 Tom de Vries <tom (a] codesourcery.com>
7954
7955 PR target/85445
7956 * testsuite/libgomp.oacc-c++/ref-1.C: New.
7957
7958 2018-04-19 Thomas Schwinge <thomas (a] codesourcery.com>
7959
7960 PR libgomp/85463
7961 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
7962 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7963 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7964 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7965 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7966 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7967
7968 PR libfortran/85166
7969 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
7970 abort".
7971 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7972
7973 2018-04-19 Jakub Jelinek <jakub (a] redhat.com>
7974
7975 * configure: Regenerated.
7976
7977 2018-04-18 David Malcolm <dmalcolm (a] redhat.com>
7978
7979 PR jit/85384
7980 * configure: Regenerate.
7981
7982 2018-04-16 Cesar Philippidis <cesar (a] codesourcery.com>
7983 Tom de Vries <tom (a] codesourcery.com>
7984
7985 PR middle-end/84955
7986 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
7987 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
7988
7989 2018-04-12 Thomas Koenig <tkoenig (a] gcc.gnu.org>
7990
7991 PR fortran/83064
7992 PR testsuite/85346
7993 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
7994 test from gfortran.dg to here.
7995
7996 2018-04-12 Cesar Philippidis <cesar (a] codesourcery.com>
7997
7998 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
7999 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
8000
8001 2018-04-12 Cesar Philippidis <cesar (a] codesourcery.com>
8002
8003 PR middle-end/84955
8004 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8005 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8006
8007 2018-04-05 Tom de Vries <tom (a] codesourcery.com>
8008
8009 PR target/85204
8010 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
8011
8012 2018-03-26 Tom de Vries <tom (a] codesourcery.com>
8013
8014 PR tree-optimization/85063
8015 * testsuite/libgomp.c/switch-conversion-2.c: New test.
8016 * testsuite/libgomp.c/switch-conversion.c: New test.
8017 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
8018 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
8019
8020 2018-03-25 Thomas Koenig <tkoenig (a] gcc.gnu.org>
8021
8022 PR fortran/84381
8023 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
8024 call abort by STOP n.
8025 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
8026 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
8027 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
8028 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
8029 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
8030 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
8031 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
8032 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
8033 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
8034 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
8035 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
8036 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
8037 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
8038 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
8039 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
8040 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
8041 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
8042 * testsuite/libgomp.fortran/associate1.f90: Likewise.
8043 * testsuite/libgomp.fortran/associate2.f90: Likewise.
8044 * testsuite/libgomp.fortran/associate3.f90: Likewise.
8045 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
8046 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
8047 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
8048 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
8049 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
8050 * testsuite/libgomp.fortran/character1.f90: Likewise.
8051 * testsuite/libgomp.fortran/character2.f90: Likewise.
8052 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
8053 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
8054 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
8055 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
8056 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
8057 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
8058 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
8059 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
8060 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
8061 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
8062 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
8063 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
8064 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
8065 * testsuite/libgomp.fortran/do1.f90: Likewise.
8066 * testsuite/libgomp.fortran/do2.f90: Likewise.
8067 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
8068 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
8069 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
8070 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
8071 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
8072 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
8073 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8074 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
8075 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
8076 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
8077 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
8078 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
8079 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8080 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
8081 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
8082 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
8083 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
8084 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
8085 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
8086 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
8087 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
8088 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
8089 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
8090 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
8091 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
8092 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
8093 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
8094 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8095 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
8096 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
8097 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
8098 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
8099 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
8100 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8101 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8102 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
8103 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
8104 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
8105 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
8106 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
8107 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
8108 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
8109 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
8110 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
8111 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
8112 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
8113 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
8114 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
8115 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
8116 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8117 * testsuite/libgomp.fortran/lib2.f: Likewise.
8118 * testsuite/libgomp.fortran/lib3.f: Likewise.
8119 * testsuite/libgomp.fortran/lib4.f90: Likewise.
8120 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
8121 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
8122 * testsuite/libgomp.fortran/nested1.f90: Likewise.
8123 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
8124 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
8125 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
8126 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
8127 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
8128 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
8129 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
8130 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
8131 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
8132 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
8133 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
8134 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
8135 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
8136 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
8137 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
8138 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
8139 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
8140 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
8141 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
8142 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8143 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
8144 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
8145 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
8146 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
8147 * testsuite/libgomp.fortran/pr25162.f: Likewise.
8148 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
8149 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
8150 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
8151 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
8152 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
8153 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
8154 * testsuite/libgomp.fortran/pr28390.f: Likewise.
8155 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
8156 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
8157 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
8158 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
8159 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
8160 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
8161 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
8162 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
8163 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
8164 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
8165 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
8166 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
8167 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
8168 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
8169 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
8170 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
8171 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
8172 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
8173 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
8174 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
8175 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
8176 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
8177 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
8178 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
8179 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
8180 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8181 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
8182 * testsuite/libgomp.fortran/reference1.f90: Likewise.
8183 * testsuite/libgomp.fortran/reference2.f90: Likewise.
8184 * testsuite/libgomp.fortran/retval1.f90: Likewise.
8185 * testsuite/libgomp.fortran/retval2.f90: Likewise.
8186 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
8187 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
8188 * testsuite/libgomp.fortran/simd1.f90: Likewise.
8189 * testsuite/libgomp.fortran/simd2.f90: Likewise.
8190 * testsuite/libgomp.fortran/simd3.f90: Likewise.
8191 * testsuite/libgomp.fortran/simd4.f90: Likewise.
8192 * testsuite/libgomp.fortran/simd5.f90: Likewise.
8193 * testsuite/libgomp.fortran/simd6.f90: Likewise.
8194 * testsuite/libgomp.fortran/simd7.f90: Likewise.
8195 * testsuite/libgomp.fortran/stack.f90: Likewise.
8196 * testsuite/libgomp.fortran/strassen.f90: Likewise.
8197 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
8198 * testsuite/libgomp.fortran/tabs2.f: Likewise.
8199 * testsuite/libgomp.fortran/target1.f90: Likewise.
8200 * testsuite/libgomp.fortran/target2.f90: Likewise.
8201 * testsuite/libgomp.fortran/target3.f90: Likewise.
8202 * testsuite/libgomp.fortran/target4.f90: Likewise.
8203 * testsuite/libgomp.fortran/target5.f90: Likewise.
8204 * testsuite/libgomp.fortran/target6.f90: Likewise.
8205 * testsuite/libgomp.fortran/target7.f90: Likewise.
8206 * testsuite/libgomp.fortran/target8.f90: Likewise.
8207 * testsuite/libgomp.fortran/task1.f90: Likewise.
8208 * testsuite/libgomp.fortran/task2.f90: Likewise.
8209 * testsuite/libgomp.fortran/task3.f90: Likewise.
8210 * testsuite/libgomp.fortran/task4.f90: Likewise.
8211 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
8212 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
8213 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
8214 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
8215 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
8216 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8217 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8218 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8219 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
8220 * testsuite/libgomp.fortran/udr1.f90: Likewise.
8221 * testsuite/libgomp.fortran/udr10.f90: Likewise.
8222 * testsuite/libgomp.fortran/udr11.f90: Likewise.
8223 * testsuite/libgomp.fortran/udr12.f90: Likewise.
8224 * testsuite/libgomp.fortran/udr13.f90: Likewise.
8225 * testsuite/libgomp.fortran/udr14.f90: Likewise.
8226 * testsuite/libgomp.fortran/udr15.f90: Likewise.
8227 * testsuite/libgomp.fortran/udr2.f90: Likewise.
8228 * testsuite/libgomp.fortran/udr3.f90: Likewise.
8229 * testsuite/libgomp.fortran/udr4.f90: Likewise.
8230 * testsuite/libgomp.fortran/udr5.f90: Likewise.
8231 * testsuite/libgomp.fortran/udr6.f90: Likewise.
8232 * testsuite/libgomp.fortran/udr7.f90: Likewise.
8233 * testsuite/libgomp.fortran/udr8.f90: Likewise.
8234 * testsuite/libgomp.fortran/udr9.f90: Likewise.
8235 * testsuite/libgomp.fortran/vla1.f90: Likewise.
8236 * testsuite/libgomp.fortran/vla2.f90: Likewise.
8237 * testsuite/libgomp.fortran/vla3.f90: Likewise.
8238 * testsuite/libgomp.fortran/vla4.f90: Likewise.
8239 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8240 * testsuite/libgomp.fortran/vla6.f90: Likewise.
8241 * testsuite/libgomp.fortran/vla7.f90: Likewise.
8242 * testsuite/libgomp.fortran/vla8.f90: Likewise.
8243 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
8244 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
8245 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8246 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8247 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8248 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8249 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8250 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8251 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8252 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8253 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8254 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
8255 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8256 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
8257 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8258 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8259 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8260 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8261 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8262 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8263 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8264 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8265 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8266 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
8267 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
8268 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8269 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8270 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8271 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8272 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8273 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8274 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8275 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8276 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8277 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8278 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8279 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8280 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8281 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
8282 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8283 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
8284 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8285 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
8286 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
8287 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
8288 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
8289 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8290 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8291 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8292 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8293 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8294 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8295 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8296 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8297 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8298 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8299 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8300 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8301 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8302 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8303 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8304 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8305 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8306 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8307 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8308 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8309 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
8310 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8311 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
8312 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8313 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
8314 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
8315 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
8316 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
8317 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8318 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8319 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8320 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8321 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8322 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8323 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8324 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8325 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
8326 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
8327 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8328 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8329 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8330 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8331 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
8332 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
8333 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
8334 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8335 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8336 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
8337
8338 2018-03-20 Richard Biener <rguenther (a] suse.de>
8339
8340 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
8341 parallelizable loop.
8342
8343 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com>
8344
8345 PR target/84148
8346 * configure: Regenerate.
8347
8348 2018-02-16 Jakub Jelinek <jakub (a] redhat.com>
8349
8350 PR fortran/84418
8351 * libgomp.fortran/pr84418-1.f90: New test.
8352 * libgomp.fortran/pr84418-2.f90: New test.
8353
8354 2018-02-14 Jakub Jelinek <jakub (a] redhat.com>
8355
8356 PR fortran/84313
8357 * testsuite/libgomp.fortran/threadprivate4.f90: Add
8358 -std=f2003 -fall-intrinsics into dg-additional-options.
8359
8360 2018-02-08 Martin Jambor <mjambor (a] suse.cz>
8361
8362 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
8363 clonable.
8364
8365 2018-02-08 Martin Jambor <mjambor (a] suse.cz>
8366
8367 * testsuite/libgomp.hsa.c/staticvar.c: New test.
8368
8369 2018-02-07 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
8370
8371 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
8372 [__cplusplus]: Declare extern "C".
8373
8374 2018-02-07 Tom de Vries <tom (a] codesourcery.com>
8375
8376 PR libgomp/84217
8377 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
8378
8379 2018-01-29 Christoph Spiel <cspiel (a] freenet.de>
8380 Jakub Jelinek <jakub (a] redhat.com>
8381
8382 PR libgomp/84096
8383 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
8384 instead of omp_lock_t.
8385
8386 2018-01-25 Tom de Vries <tom (a] codesourcery.com>
8387
8388 PR target/84028
8389 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
8390
8391 2018-01-24 Tom de Vries <tom (a] codesourcery.com>
8392
8393 PR target/83589
8394 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
8395
8396 2018-01-24 Tom de Vries <tom (a] codesourcery.com>
8397
8398 PR target/81352
8399 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
8400
8401 2018-01-19 Tom de Vries <tom (a] codesourcery.com>
8402 Cesar Philippidis <cesar (a] codesourcery.com>
8403
8404 PR target/83920
8405 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
8406 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
8407
8408 2018-01-03 Jakub Jelinek <jakub (a] redhat.com>
8409
8410 Update copyright years.
8411
8412 * libgomp.texi: Bump @copying's copyright year.
8413
8414 2017-12-30 Tom de Vries <tom (a] codesourcery.com>
8415
8416 PR libgomp/83046
8417 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
8418 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
8419
8420 2017-12-27 Tom de Vries <tom (a] codesourcery.com>
8421
8422 PR c++/83046
8423 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
8424 (test_nonstatic): Fix return type to workaround PR83046.
8425
8426 2017-12-05 Jakub Jelinek <jakub (a] redhat.com>
8427
8428 PR testsuite/83281
8429 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
8430 j suffix instead of i.
8431 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
8432 Likewise.
8433
8434 2017-12-01 Cesar Philippidis <cesar (a] codesourcery.com>
8435
8436 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
8437 call to acc_wait (1).
8438
8439 2017-11-24 Jakub Jelinek <jakub (a] redhat.com>
8440
8441 PR fortran/81304
8442 * testsuite/libgomp.fortran/pr81304.f90: New test.
8443
8444 2017-11-23 Jakub Jelinek <jakub (a] redhat.com>
8445
8446 PR fortran/81841
8447 * libgomp.fortran/pr81841.f90: New test.
8448
8449 2017-11-22 Jakub Jelinek <jakub (a] redhat.com>
8450
8451 PR libgomp/83106
8452 * target.c (gomp_target_init): Compute lengths just once and
8453 use them in both malloc size and subsequent copying.
8454
8455 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com>
8456
8457 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
8458 * acinclude.m4: Add cet.m4.
8459 * configure: Regenerate.
8460 * Makefile.in: Likewise.
8461 * testsuite/Makefile.in: Likewise.
8462
8463 2017-11-15 Tom de Vries <tom (a] codesourcery.com>
8464
8465 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
8466 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
8467 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
8468 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
8469 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
8470 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
8471
8472 2017-11-14 Tom de Vries <tom (a] codesourcery.com>
8473
8474 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
8475 non-nvidia devices.
8476
8477 2017-11-07 Jakub Jelinek <jakub (a] redhat.com>
8478
8479 PR c++/82835
8480 * testsuite/libgomp.c++/pr82835.C: New test.
8481
8482 2017-11-06 Martin Liska <mliska (a] suse.cz>
8483
8484 * testsuite/libgomp.c++/loop-2.C: Return a value
8485 for functions with non-void return type, or change type to void,
8486 or add -Wno-return-type for test.
8487 * testsuite/libgomp.c++/loop-4.C: Likewise.
8488 * testsuite/libgomp.c++/parallel-1.C: Likewise.
8489 * testsuite/libgomp.c++/shared-1.C: Likewise.
8490 * testsuite/libgomp.c++/single-1.C: Likewise.
8491 * testsuite/libgomp.c++/single-2.C: Likewise.
8492
8493 2017-10-31 Tom de Vries <tom (a] codesourcery.com>
8494
8495 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
8496 "do {} while (false)".
8497 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
8498 after HSA_DEBUG call.
8499
8500 2017-10-28 Jakub Jelinek <jakub (a] redhat.com>
8501
8502 * target.c (struct gomp_coalesce_buf): New type.
8503 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
8504 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
8505 (gomp_copy_host2dev): Add CBUF argument, if copying into
8506 the cached ranges, memcpy into buffer instead of copying
8507 into device.
8508 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
8509 Add CBUF argument, pass it through to other calls.
8510 (gomp_map_vars): Aggregate copies from host to device if small enough
8511 and with small enough gaps in between into memcpy into a buffer and
8512 fewer host to device copies from the buffer.
8513 (gomp_update): Adjust gomp_copy_host2dev caller.
8514
8515 2017-10-17 Thomas Schwinge <thomas (a] codesourcery.com>
8516
8517 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
8518 run" directive.
8519 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8520 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8521 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8522 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8523
8524 2017-10-16 Tom de Vries <tom (a] codesourcery.com>
8525
8526 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
8527 openacc_nvidia_accel_selected.
8528 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
8529 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
8530 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
8531 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
8532 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
8533 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
8534 openacc_nvidia_accel_selected. Skip for shared memory device.
8535 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
8536 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
8537
8538 2017-10-09 Martin Jambor <mjambor (a] suse.cz>
8539
8540 PR hsa/82416
8541 * testsuite/libgomp.hsa.c/pr82416.c: New test.
8542
8543 2017-10-07 Tom de Vries <tom (a] codesourcery.com>
8544
8545 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
8546 Remove acc_device_nvidia references.
8547 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
8548 Same.
8549
8550 2017-10-05 Tom de Vries <tom (a] codesourcery.com>
8551
8552 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
8553 vector_length(32) clause from acc parallel directive.
8554 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
8555
8556 2017-10-04 Tom de Vries <tom (a] codesourcery.com>
8557
8558 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
8559 (main): Reduce sum of arr elements. Assert that hres is exactly
8560 representable in 32-bit floating point.
8561 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
8562 (main): Reduce sum of arr elements. Assert that hres and hmres are
8563 exactly representable in 32-bit floating point.
8564 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
8565
8566 2017-09-28 Tom de Vries <tom (a] codesourcery.com>
8567
8568 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
8569 setting.
8570 * testsuite/libgomp.c++/pr69393.C: Same.
8571 * testsuite/libgomp.c++/taskloop-1.C: Same.
8572 * testsuite/libgomp.c++/taskloop-3.C: Same.
8573 * testsuite/libgomp.c++/taskloop-4.C: Same.
8574 * testsuite/libgomp.c/for-4.c: Same.
8575 * testsuite/libgomp.c/pr66199-3.c: Same.
8576 * testsuite/libgomp.c/pr66199-4.c: Same.
8577 * testsuite/libgomp.c/pr66199-6.c: Same.
8578 * testsuite/libgomp.c/taskloop-1.c: Same.
8579 * testsuite/libgomp.c/taskloop-3.c: Same.
8580 * testsuite/libgomp.c/taskloop-4.c: Same.
8581 * testsuite/libgomp.fortran/aligned1.f03: Same.
8582 * testsuite/libgomp.fortran/condinc1.f: Same.
8583 * testsuite/libgomp.fortran/condinc3.f90: Same.
8584 * testsuite/libgomp.fortran/crayptr1.f90: Same.
8585 * testsuite/libgomp.fortran/crayptr2.f90: Same.
8586 * testsuite/libgomp.fortran/crayptr3.f90: Same.
8587 * testsuite/libgomp.fortran/omp_cond1.f: Same.
8588 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
8589 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
8590 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
8591 * testsuite/libgomp.fortran/recursion1.f90: Same.
8592 * testsuite/libgomp.fortran/target2.f90: Same.
8593 * testsuite/libgomp.fortran/target5.f90: Same.
8594 * testsuite/libgomp.fortran/task3.f90: Same.
8595
8596 2017-09-28 Tom de Vries <tom (a] codesourcery.com>
8597
8598 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
8599 vector_length(32) clause from acc parallel directive.
8600 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
8601
8602 2017-09-27 Tom de Vries <tom (a] codesourcery.com>
8603
8604 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
8605 Remove acc_device_nvidia references.
8606
8607 2017-09-16 Tom de Vries <tom (a] codesourcery.com>
8608
8609 PR c/81875
8610 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
8611
8612 2017-09-14 Tom de Vries <tom (a] codesourcery.com>
8613
8614 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
8615 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
8616 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
8617 * testsuite/libgomp.c/c.exp: Include test-cases from
8618 libgomp.c-c++-common.
8619 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
8620 files.
8621
8622 2017-09-14 Jakub Jelinek <jakub (a] redhat.com>
8623
8624 PR c++/81314
8625 * testsuite/libgomp.c++/pr81314.C: New test.
8626
8627 2017-09-03 Gerald Pfeifer <gerald (a] pfeifer.com>
8628
8629 * libgomp.texi (Top): www.openacc.org now uses https.
8630 (Enabling OpenACC): Ditto.
8631 (acc_get_num_devices): Ditto.
8632 (acc_set_device_type): Ditto.
8633 (acc_get_device_type): Ditto.
8634 (acc_set_device_num): Ditto.
8635 (acc_get_device_num): Ditto.
8636 (acc_async_test): Ditto.
8637 (acc_async_test_all): Ditto.
8638 (acc_wait): Ditto.
8639 (acc_wait_all): Ditto.
8640 (acc_wait_all_async): Ditto.
8641 (acc_wait_async): Ditto.
8642 (acc_init): Ditto.
8643 (acc_shutdown): Ditto.
8644 (acc_on_device): Ditto.
8645 (acc_malloc): Ditto.
8646 (acc_free): Ditto.
8647 (acc_copyin): Ditto.
8648 (acc_present_or_copyin): Ditto.
8649 (acc_create): Ditto.
8650 (acc_present_or_create): Ditto.
8651 (acc_copyout): Ditto.
8652 (acc_delete): Ditto.
8653 (acc_update_device): Ditto.
8654 (acc_update_self): Ditto.
8655 (acc_map_data): Ditto.
8656 (acc_unmap_data): Ditto.
8657 (acc_deviceptr): Ditto.
8658 (acc_hostptr): Ditto.
8659 (acc_is_present): Ditto.
8660 (acc_memcpy_to_device): Ditto.
8661 (acc_memcpy_from_device): Ditto.
8662 (acc_get_current_cuda_device): Ditto.
8663 (acc_get_current_cuda_context): Ditto.
8664 (acc_get_cuda_stream): Ditto.
8665 (acc_set_cuda_stream): Ditto.
8666 (ACC_DEVICE_TYPE): Ditto.
8667 (ACC_DEVICE_NUM): Ditto.
8668 (OpenACC Library Interoperability): Ditto.
8669
8670 2017-08-09 Jakub Jelinek <jakub (a] redhat.com>
8671
8672 PR c/81687
8673 * testsuite/libgomp.c/pr81687-1.c: New test.
8674 * testsuite/libgomp.c/pr81687-2.c: New test.
8675
8676 2017-08-07 Jakub Jelinek <jakub (a] redhat.com>
8677
8678 PR c/69389
8679 * testsuite/libgomp.c/pr69389.c: New test.
8680 * testsuite/libgomp.c++/pr69389.C: New test.
8681
8682 2017-08-07 Tom de Vries <tom (a] codesourcery.com>
8683
8684 PR middle-end/78266
8685 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
8686 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
8687
8688 2017-07-27 Jakub Jelinek <jakub (a] redhat.com>
8689
8690 PR c/45784
8691 * testsuite/libgomp.c/pr45784.c: New test.
8692 * testsuite/libgomp.c++/pr45784.C: New test.
8693
8694 2017-07-19 Tom de Vries <tom (a] codesourcery.com>
8695
8696 * testsuite/libgomp.oacc-c/vec.c: New test.
8697
8698 2017-07-03 Tom de Vries <tom (a] codesourcery.com>
8699
8700 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
8701
8702 2017-06-27 Tom de Vries <tom (a] codesourcery.com>
8703
8704 * plugin/plugin-nvptx.c (notify_var): New function.
8705 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
8706
8707 2017-06-27 Tom de Vries <tom (a] codesourcery.com>
8708
8709 * env.c (parse_unsigned_long_1): Factor out of ...
8710 (parse_unsigned_long): ... here.
8711 (parse_int_1): Factor out of ...
8712 (parse_int): ... here.
8713 (parse_int_secure): New function.
8714 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
8715 * secure_getenv.h: Factor out of ...
8716 * plugin/plugin-hsa.c: ... here.
8717 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
8718
8719 2017-06-21 Jakub Jelinek <jakub (a] redhat.com>
8720
8721 PR c++/81130
8722 * testsuite/libgomp.c++/pr81130.C: New test.
8723
8724 2017-06-17 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
8725
8726 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
8727 default args.
8728 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
8729 dg-xfail-run-if default args.
8730
8731 2017-06-02 Bernd Edlinger <bernd.edlinger (a] hotmail.de>
8732
8733 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
8734 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8735
8736 2017-05-30 Jakub Jelinek <jakub (a] redhat.com>
8737
8738 PR libgomp/80822
8739 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
8740 (gomp_affinity_init_level): Use it. Always analyze the core and thread
8741 sibling lists, depending on level just pick up what CPUs to put
8742 together into a place vs. whether add multiple ordered places.
8743
8744 2017-05-24 Thomas Schwinge <thomas (a] codesourcery.com>
8745
8746 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
8747 * libgomp.map (OACC_2.0.1): Add these.
8748 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
8749 for "acc_wait", and "acc_wait_all", respectively.
8750 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
8751 for "acc_wait", and "acc_wait_all", respectively.
8752 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
8753 * libgomp.texi (acc_wait, acc_wait_all): Update.
8754 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
8755 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
8756 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8757
8758 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
8759 acc_present_or_copyin and acc_present_or_create procedures,
8760 respectively.
8761 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
8762 generally different variants of OpenACC Runtime Library functions.
8763 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8764
8765 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
8766 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8767
8768 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
8769 of preprocessor definitions.
8770 * libgomp.h (strong_alias): Guard by "#ifdef
8771 HAVE_ATTRIBUTE_ALIAS".
8772 * oacc-mem.c: Provide "acc_pcreate" as alias for
8773 "acc_present_or_create", and "acc_pcopyin" as alias for
8774 "acc_present_or_copyin".
8775 * libgomp.map: New version "OACC_2.0.1".
8776 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
8777 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
8778 its content into...
8779 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
8780 Extend testing.
8781
8782 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
8783 when disabling nvptx offloading.
8784
8785 2017-05-23 Thomas Schwinge <thomas (a] codesourcery.com>
8786
8787 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
8788 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8789 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8790
8791 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
8792 * testsuite/lib/libgomp.exp
8793 (check_effective_target_openacc_nvidia_accel_configured): New
8794 proc.
8795 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
8796 (check_effective_target_c++): New procs.
8797 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
8798 (check_effective_target_c++): Likewise.
8799
8800 2017-05-22 Jakub Jelinek <jakub (a] redhat.com>
8801
8802 PR middle-end/80809
8803 * testsuite/libgomp.c/pr80809-2.c: New test.
8804 * testsuite/libgomp.c/pr80809-3.c: New test.
8805
8806 PR middle-end/80809
8807 * testsuite/libgomp.c/pr80809-1.c: New test.
8808
8809 PR middle-end/80853
8810 * testsuite/libgomp.c/pr80853.c: New test.
8811
8812 2017-05-19 Thomas Schwinge <thomas (a] codesourcery.com>
8813
8814 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
8815 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
8816 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8817 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8818 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8819
8820 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
8821 Debug output for failure.
8822
8823 2017-05-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
8824
8825 * testsuite/lib/libgomp.exp: Load scanlang.exp.
8826
8827 2017-04-27 Jakub Jelinek <jakub (a] redhat.com>
8828
8829 PR bootstrap/80531
8830 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
8831 bootstrap compare failures.
8832
8833 2017-04-20 Alexander Monakov <amonakov (a] ispras.ru>
8834
8835 * testsuite/libgomp.c/target-36.c: New testcase.
8836
8837 2017-04-13 Jakub Jelinek <jakub (a] redhat.com>
8838
8839 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
8840 instead of char.
8841
8842 2017-04-11 Jakub Jelinek <jakub (a] redhat.com>
8843
8844 PR libgomp/80394
8845 * testsuite/libgomp.c/pr80394.c: New test.
8846
8847 2017-04-04 Jakub Jelinek <jakub (a] redhat.com>
8848
8849 PR libgomp/79876
8850 * config/posix/thread-stacksize.h: New file.
8851 * config/darwin/thread-stacksize.h: New file.
8852 * config/nvptx/thread-stacksize.h: New file.
8853 * env.c: Include thread-stacksize.h.
8854 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
8855 instead of 0. Call pthread_attr_setstacksize even if
8856 GOMP_DEFAULT_STACKSIZE is non-zero.
8857
8858 2017-03-30 Jakub Jelinek <jakub (a] redhat.com>
8859
8860 * env.c (initialize_env): Initialize stacksize to 0.
8861
8862 2017-03-22 Cesar Philippidis <cesar (a] codesourcery.com>
8863
8864 PR c++/80029
8865 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
8866
8867 2017-03-08 Jakub Jelinek <jakub (a] redhat.com>
8868
8869 PR c/79940
8870 * testsuite/libgomp.c/pr79940.c: New test.
8871
8872 2017-02-15 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
8873
8874 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
8875 targets.
8876 Add __float128 options.
8877
8878 2017-02-11 John David Anglin <danglin (a] gcc.gnu.org>
8879
8880 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
8881 hppa*-*-* dg-skip-if directive.
8882
8883 2017-02-09 Jakub Jelinek <jakub (a] redhat.com>
8884
8885 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
8886 dg-skip-if directive into a comment.
8887
8888 2017-02-09 Nathan Sidwell <nathan (a] codesourcery.com>
8889 Chung-Lin Tang <cltang (a] codesourcery.com>
8890
8891 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
8892 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
8893 add additional case.
8894 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
8895 "openacc_nvidia_accel_selected".
8896 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
8897 Add num_workers(8) clause.
8898
8899 2017-02-08 John David Anglin <danglin (a] gcc.gnu.org>
8900
8901 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
8902 hppa*-*-*.
8903 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
8904 include complex.h on hppa*-*-hpux*.
8905 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8906
8907 2017-02-02 Thomas Schwinge <thomas (a] codesourcery.com>
8908
8909 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
8910
8911 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
8912 GOMP_OFFLOAD_openacc_exec. Adjust all users.
8913 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
8914 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
8915 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
8916 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
8917 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
8918 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
8919 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
8920 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
8921
8922 2017-01-31 Thomas Schwinge <thomas (a] codesourcery.com>
8923
8924 * libgomp-plugin.h: #include <stdbool.h>.
8925 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
8926 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
8927 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
8928 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
8929 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
8930 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
8931 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
8932 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
8933 (GOMP_OFFLOAD_openacc_register_async_cleanup)
8934 (GOMP_OFFLOAD_openacc_async_test)
8935 (GOMP_OFFLOAD_openacc_async_test_all)
8936 (GOMP_OFFLOAD_openacc_async_wait)
8937 (GOMP_OFFLOAD_openacc_async_wait_async)
8938 (GOMP_OFFLOAD_openacc_async_wait_all)
8939 (GOMP_OFFLOAD_openacc_async_wait_all_async)
8940 (GOMP_OFFLOAD_openacc_async_set_async)
8941 (GOMP_OFFLOAD_openacc_create_thread_data)
8942 (GOMP_OFFLOAD_openacc_destroy_thread_data)
8943 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
8944 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
8945 (GOMP_OFFLOAD_openacc_get_cuda_stream)
8946 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
8947 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
8948 these.
8949 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
8950 (GOMP_OFFLOAD_unload_image): Fix argument types.
8951
8952 2017-01-26 Jakub Jelinek <jakub (a] redhat.com>
8953
8954 * testsuite/lib/libgomp.exp
8955 (check_effective_target_hsa_offloading_selected_nocache): Fix up
8956 check_compile invocation. Fix up removal of executable. Drop
8957 bogus "2>&1" argument.
8958
8959 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
8960 directive.
8961
8962 2017-01-24 Pekka Jskelinen <pekka (a] parmance.com>
8963 Martin Jambor <mjambor (a] suse.cz>
8964
8965 * plugin/hsa.h: Moved to top level include.
8966 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
8967
8968 2017-01-21 Jakub Jelinek <jakub (a] redhat.com>
8969
8970 PR other/79046
8971 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
8972 of cat to get version from BASE-VER file.
8973 * testsuite/Makefile.in: Regenerated.
8974
8975 2017-01-19 Jakub Jelinek <jakub (a] redhat.com>
8976
8977 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
8978 for _WIN64.
8979
8980 2017-01-17 Jakub Jelinek <jakub (a] redhat.com>
8981
8982 * plugin/hsa.h: Add GCC runtime library exception.
8983 * plugin/hsa_ext_finalize.h: Likewise.
8984
8985 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
8986 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
8987 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
8988 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
8989 plugin/include/cuda as include dir and -ldl instead of -lcuda as
8990 library to link ptx plugin against.
8991 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
8992 (CUDA_CALLS): Define.
8993 (cuda_lib, cuda_lib_inited): New variables.
8994 (init_cuda_lib): New function.
8995 (CUDA_CALL_PREFIX): Define.
8996 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
8997 (CUDA_CALL): Use FN instead of (FN).
8998 (CUDA_CALL_NOCHECK): Define.
8999 (cuda_error, fini_streams_for_device, select_stream_for_async,
9000 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
9001 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
9002 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
9003 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
9004 CUDA_CALL_NOCHECK.
9005 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
9006 CUDA_CALL_NOCHECK.
9007 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
9008 Use CUDA_CALL_NOCHECK.
9009 * plugin/cuda/cuda.h: New file.
9010 * config.h.in: Regenerated.
9011 * configure: Regenerated.
9012
9013 PR other/79046
9014 * configure.ac: Add GCC_BASE_VER.
9015 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
9016 get version from BASE-VER file.
9017 * testsuite/Makefile.in: Regenerated.
9018 * configure: Regenerated.
9019 * Makefile.in: Regenerated.
9020
9021 2017-01-09 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
9022
9023 PR libgomp/60670
9024 * Makefile.am: Make fincludedir multilib-aware.
9025 * Makefile.in: Regenerate.
9026
9027 2017-01-01 Jakub Jelinek <jakub (a] redhat.com>
9028
9029 Update copyright years.
9030
9031 * libgomp.texi: Bump @copying's copyright year.
9032
9033 2016-12-02 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
9034
9035 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
9036 pthread_spinlock_t instead of gomp_mutex_t lock.
9037 (gomp_get_thread_pool): Likewise.
9038 (gomp_release_thread_pool): Likewise.
9039 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
9040 Likewise.
9041
9042 2016-12-02 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
9043
9044 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
9045 thread pool in case nthreads == 1.
9046
9047 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru>
9048
9049 * config/nvptx/env.c: Delete.
9050 * icv.c: Move definitions of ICV variables back ...
9051 * env.c: ...here. Do not compile environment-related functionality if
9052 LIBGOMP_OFFLOADED_ONLY is set.
9053
9054 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru>
9055
9056 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
9057 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
9058 * configure: Regenerate.
9059 * config.h.in: Likewise.
9060
9061 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru>
9062
9063 * Makefile.in: Regenerate with automake-1.11.6.
9064 * aclocal.m4: Likewise.
9065 * configure: Likewise.
9066 * testsuite/Makefile.in: Likewise.
9067
9068 2016-11-28 Alexander Monakov <amonakov (a] ispras.ru>
9069
9070 * config/nvptx/critical.c: Delete to use generic implementation.
9071
9072 2016-11-28 Jonas Hahnfeld <Hahnfeld (a] itc.rwth-aachen.de>
9073
9074 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
9075 ../../affinity.c as fallback.
9076 * config/nvptx/affinity.c: Delete to use fallback implementation.
9077
9078 2016-11-23 Alexander Monakov <amonakov (a] ispras.ru>
9079 Jakub Jelinek <jakub (a] redhat.com>
9080 Dmitry Melnik <dm (a] ispras.ru>
9081
9082 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
9083 * Makefile.in. Regenerate.
9084 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
9085 (LIBGOMP_USE_PTHREADS): ...here; new define.
9086 * configure: Regenerate.
9087 * config.h.in: Likewise.
9088 * config/posix/affinity.c: Move to...
9089 * affinity.c: ...here (new file). Guard use of Pthreads-specific
9090 interface by LIBGOMP_USE_PTHREADS.
9091 * critical.c: Split out GOMP_atomic_{start,end} into...
9092 * atomic.c: ...here (new file).
9093 * env.c: Split out ICV definitions into...
9094 * icv.c: ...here (new file) and...
9095 * icv-device.c: ...here. New file.
9096 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
9097 (gomp_destroy_lock_30): Ditto.
9098 (gomp_set_lock_30): Ditto.
9099 (gomp_unset_lock_30): Ditto.
9100 (gomp_test_lock_30): Ditto.
9101 (gomp_init_nest_lock_30): Ditto.
9102 (gomp_destroy_nest_lock_30): Ditto.
9103 (gomp_set_nest_lock_30): Ditto.
9104 (gomp_unset_nest_lock_30): Ditto.
9105 (gomp_test_nest_lock_30): Ditto.
9106 * lock.c: New.
9107 * config/nvptx/lock.c: New.
9108 * config/nvptx/bar.c: New.
9109 * config/nvptx/bar.h: New.
9110 * config/nvptx/doacross.h: New.
9111 * config/nvptx/error.c: New.
9112 * config/nvptx/icv-device.c: New.
9113 * config/nvptx/mutex.h: New.
9114 * config/nvptx/pool.h: New.
9115 * config/nvptx/proc.c: New.
9116 * config/nvptx/ptrlock.h: New.
9117 * config/nvptx/sem.h: New.
9118 * config/nvptx/simple-bar.h: New.
9119 * config/nvptx/target.c: New.
9120 * config/nvptx/task.c: New.
9121 * config/nvptx/team.c: New.
9122 * config/nvptx/time.c: New.
9123 * config/posix/simple-bar.h: New.
9124 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
9125 (gomp_num_teams_var): Declare.
9126 (struct gomp_thread_pool): Change threads_dock member to
9127 gomp_simple_barrier_t.
9128 [__nvptx__] (gomp_thread): New implementation.
9129 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
9130 (gomp_thread_destructor): Ditto.
9131 (gomp_init_thread_affinity): Ditto.
9132 * team.c: Guard uses of Pthreads-specific interfaces by
9133 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
9134 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
9135 * config/nvptx/alloc.c: Delete.
9136 * config/nvptx/barrier.c: Ditto.
9137 * config/nvptx/fortran.c: Ditto.
9138 * config/nvptx/iter.c: Ditto.
9139 * config/nvptx/iter_ull.c: Ditto.
9140 * config/nvptx/loop.c: Ditto.
9141 * config/nvptx/loop_ull.c: Ditto.
9142 * config/nvptx/ordered.c: Ditto.
9143 * config/nvptx/parallel.c: Ditto.
9144 * config/nvptx/priority_queue.c: Ditto.
9145 * config/nvptx/sections.c: Ditto.
9146 * config/nvptx/single.c: Ditto.
9147 * config/nvptx/splay-tree.c: Ditto.
9148 * config/nvptx/work.c: Ditto.
9149 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
9150 -foffload=-lgfortran in addition to -lgfortran.
9151 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
9152 * plugin/plugin-nvptx.c: Include <limits.h>.
9153 (struct targ_fn_descriptor): Add new fields.
9154 (struct ptx_device): Ditto. Set them...
9155 (nvptx_open_device): ...here.
9156 (nvptx_adjust_launch_bounds): New.
9157 (nvptx_host2dev): Allow NULL 'nvthd'.
9158 (nvptx_dev2host): Ditto.
9159 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
9160 (link_ptx): Adjust log sizes.
9161 (nvptx_host2dev): Allow NULL 'nvthd'.
9162 (nvptx_dev2host): Ditto.
9163 (nvptx_set_clocktick): New. Use it...
9164 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
9165 fields.
9166 (GOMP_OFFLOAD_dev2dev): New.
9167 (nvptx_adjust_launch_bounds): New.
9168 (nvptx_stacks_size): New.
9169 (nvptx_stacks_alloc): New.
9170 (nvptx_stacks_free): New.
9171 (GOMP_OFFLOAD_run): New.
9172 (GOMP_OFFLOAD_async_run): New (stub).
9173
9174 2016-11-23 Martin Jambor <mjambor (a] suse.cz>
9175
9176 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
9177 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
9178 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9179
9180 2016-11-23 Martin Liska <mliska (a] suse.cz>
9181 Martin Jambor <mjambor (a] suse.cz>
9182
9183 * plugin/hsa.h: New file.
9184 * plugin/hsa_ext_finalize.h: New file.
9185 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
9186 header file unistd.h, and functions secure_getenv, __secure_getenv,
9187 getuid, geteuid, getgid and getegid.
9188 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
9189 -D_GNU_SOURCE.
9190 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
9191 Handle various cases of secure_getenv presence, add an implementation
9192 when we can test effective UID and GID.
9193 (struct hsa_runtime_fn_info): New structure.
9194 (hsa_runtime_fn_info hsa_fns): New variable.
9195 (hsa_runtime_lib): Likewise.
9196 (support_cpu_devices): Likewise.
9197 (init_enviroment_variables): Load newly introduced ENV
9198 variables.
9199 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
9200 (hsa_fatal): Likewise.
9201 (DLSYM_FN): New macro.
9202 (init_hsa_runtime_functions): New function.
9203 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
9204 structure. Depending on environment, also allow CPU devices.
9205 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
9206 (get_kernarg_memory_region): Likewise.
9207 (GOMP_OFFLOAD_init_device): Likewise.
9208 (destroy_hsa_program): Likewise.
9209 (init_basic_kernel_info): New function.
9210 (GOMP_OFFLOAD_load_image): Use it.
9211 (create_and_finalize_hsa_program): Call hsa run-time functions via
9212 hsa_fns structure.
9213 (create_single_kernel_dispatch): Likewise.
9214 (release_kernel_dispatch): Likewise.
9215 (init_single_kernel): Likewise.
9216 (parse_target_attributes): Allow up multiple HSA grid dimensions.
9217 (get_group_size): New function.
9218 (run_kernel): Likewise.
9219 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
9220 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
9221 structure.
9222 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
9223 * testsuite/libgomp-test-support.exp.in: Likewise.
9224 * Makefile.in: Regenerated.
9225 * aclocal.m4: Likewise.
9226 * config.h.in: Likewise.
9227 * configure: Likewise.
9228 * testsuite/Makefile.in: Likewise.
9229
9230 2016-11-15 Martin Jambor <mjambor (a] suse.cz>
9231 Alexander Monakov <amonakov (a] ispras.ru>
9232
9233 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
9234 mapping clauses to target constructs.
9235 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
9236
9237 2016-11-15 Matthias Klose <doko (a] ubuntu.com>
9238
9239 * configure: Regenerate.
9240
9241 2016-11-10 Jakub Jelinek <jakub (a] redhat.com>
9242
9243 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
9244 * omp_lib.h.in (openmp_version): Likewise.
9245 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
9246 of 201307.
9247 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9248
9249 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
9250 (fib_wrapper): Add map(from: x) clause.
9251 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
9252 (e_53_2): Likewise.
9253 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
9254 (accum): Add map(tmp) clause.
9255 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
9256 (accum): Add map(tofrom: tmp) clause.
9257 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
9258 (gramSchmidt): Likewise.
9259 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
9260 map(tofrom: sum) clause.
9261 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
9262 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
9263 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
9264 only allowed on the loop iterator.
9265 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
9266 * testsuite/libgomp.fortran/taskloop2.f90: New test.
9267 * testsuite/libgomp.fortran/taskloop4.f90: New test.
9268 * testsuite/libgomp.fortran/doacross1.f90: New test.
9269 * testsuite/libgomp.fortran/doacross3.f90: New test.
9270 * testsuite/libgomp.fortran/taskloop1.f90: New test.
9271 * testsuite/libgomp.fortran/taskloop3.f90: New test.
9272 * testsuite/libgomp.fortran/doacross2.f90: New test.
9273 * testsuite/libgomp.c/doacross-1.c (main): Add missing
9274 #pragma omp atomic read.
9275 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9276 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
9277
9278 2016-11-02 Cesar Philippidis <cesar (a] codesourcery.com>
9279 Nathan Sidwell <nathan (a] acm.org>
9280
9281 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
9282 to determine default geometry.
9283 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
9284 dimension.
9285
9286 2016-11-01 Jakub Jelinek <jakub (a] redhat.com>
9287
9288 * hashtab.h: Use standard GPLv3 with runtime exception
9289 boilerplate.
9290
9291 2016-10-27 Aldy Hernandez <aldyh (a] redhat.com>
9292
9293 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
9294 size when allocating new thread.
9295
9296 2016-09-14 Marek Polacek <polacek (a] redhat.com>
9297
9298 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
9299
9300 2016-08-19 Jakub Jelinek <jakub (a] redhat.com>
9301
9302 PR fortran/71014
9303 * testsuite/libgomp.fortran/pr71014.f90: New test.
9304
9305 2016-08-18 Chung-Lin Tang <cltang (a] codesourcery.com>
9306
9307 PR middle-end/70895
9308 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
9309 firstprivate clauses.
9310 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
9311 copy clauses.
9312 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9313 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9314 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
9315 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9316 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9317 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9318 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9319 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9320 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9321 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9322 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9323 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
9324
9325 2016-08-14 Chung-Lin Tang <cltang (a] codesourcery.com>
9326
9327 PR fortran/70598
9328 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
9329
9330 2016-08-08 Jakub Jelinek <jakub (a] redhat.com>
9331
9332 PR c++/58706
9333 * testsuite/libgomp.c++/pr58706.C: New test.
9334
9335 2016-08-04 Thomas Schwinge <thomas (a] codesourcery.com>
9336
9337 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
9338 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
9339 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
9340 Likewise.
9341 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
9342 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
9343 Likewise.
9344 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
9345
9346 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
9347 test, and don't hardcode -O0.
9348
9349 2016-08-03 Nathan Sidwell <nathan (a] codesourcery.com>
9350
9351 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
9352
9353 2016-07-15 Cesar Philippidis <cesar (a] codesourcery.com>
9354
9355 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
9356 test.
9357
9358 2016-07-03 H.J. Lu <hongjiu.lu (a] intel.com>
9359
9360 PR middle-end/71734
9361 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
9362 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
9363
9364 2016-07-01 Jakub Jelinek <jakub (a] redhat.com>
9365
9366 PR fortran/71717
9367 * testsuite/libgomp.fortran/associate3.f90: New test.
9368
9369 2016-06-17 Jakub Jelinek <jakub (a] redhat.com>
9370
9371 * testsuite/libgomp.c++/target-21.C: New test.
9372
9373 2016-06-16 Jakub Jelinek <jakub (a] redhat.com>
9374
9375 * testsuite/libgomp.c++/target-20.C: New test.
9376
9377 2016-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
9378 Cesar Philippidis <cesar (a] codesourcery.com>
9379
9380 PR middle-end/71373
9381 * libgomp.oacc-c/nested-function-1.c: New file.
9382 * libgomp.oacc-c/nested-function-2.c: Likewise.
9383 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
9384 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
9385 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
9386
9387 2016-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
9388
9389 PR c/71381
9390 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
9391 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
9392 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
9393
9394 2016-06-03 Chung-Lin Tang <cltang (a] codesourcery.com>
9395
9396 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
9397 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
9398
9399 2016-06-01 Cesar Philippidis <cesar (a] codesourcery.com>
9400
9401 PR c/70688
9402 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
9403
9404 2016-05-26 Jakub Jelinek <jakub (a] redhat.com>
9405
9406 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
9407 instead of invalid schedule(static, 0).
9408 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9409
9410 2016-05-26 Chung-Lin Tang <cltang (a] codesourcery.com>
9411
9412 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
9413 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
9414 parameter, use to set async stream around call to gomp_unmap_vars,
9415 call gomp_unmap_vars() with 'do_copyfrom' set to true.
9416 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
9417 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
9418 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
9419 (event_add): Add int parameter, initialize 'val' field when
9420 adding new ptx_event struct.
9421 (nvptx_evec): Adjust event_add() call arguments.
9422 (nvptx_host2dev): Likewise.
9423 (nvptx_dev2host): Likewise.
9424 (nvptx_wait_async): Likewise.
9425 (nvptx_wait_all_async): Likewise.
9426 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
9427 pass to event_add() call.
9428 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
9429 parameter.
9430 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
9431 call openacc.register_async_cleanup_func() hook.
9432 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
9433 * target.c (gomp_copy_from_async): Delete function.
9434 (gomp_map_vars): Remove async_refcount.
9435 (gomp_unmap_vars): Likewise.
9436 (gomp_load_image_to_device): Likewise.
9437 (omp_target_associate_ptr): Likewise.
9438 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
9439 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
9440 (gomp_copy_from_async): Remove.
9441
9442 2016-05-26 Chung-Lin Tang <cltang (a] codesourcery.com>
9443
9444 * target.c (gomp_device_copy): New function.
9445 (gomp_copy_host2dev): Likewise.
9446 (gomp_copy_dev2host): Likewise.
9447 (gomp_free_device_memory): Likewise.
9448 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
9449 (gomp_map_pointer): Likewise.
9450 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
9451 NULL value from alloc_func plugin hook.
9452 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
9453 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
9454 (gomp_unmap_vars): Likewise.
9455 (gomp_update): Adjust to call gomp_copy_dev2host and
9456 gomp_copy_host2dev functions.
9457 (gomp_unload_image_from_device): Handle false value from
9458 unload_image_func plugin hook.
9459 (gomp_init_device): Handle false value from init_device_func
9460 plugin hook.
9461 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
9462 (omp_target_free): Adjust to call gomp_free_device_memory.
9463 (omp_target_memcpy): Handle return values from host2dev_func,
9464 dev2host_func, and dev2dev_func plugin hooks.
9465 (omp_target_memcpy_rect_worker): Likewise.
9466 (gomp_target_fini): Handle false value from fini_device_func
9467 plugin hook.
9468 * libgomp.h (struct gomp_device_descr): Adjust return type of
9469 init_device_func, fini_device_func, unload_image_func, free_func,
9470 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
9471 * oacc-init.c (acc_shutdown_1): Handle false value from
9472 fini_device_func plugin hook.
9473 * oacc-host.c (host_init_device): Change return type to bool.
9474 (host_fini_device): Likewise.
9475 (host_unload_image): Likewise.
9476 (host_free): Likewise.
9477 (host_dev2host): Likewise.
9478 (host_host2dev): Likewise.
9479 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
9480 (acc_memcpy_to_device): Likewise.
9481 (acc_memcpy_from_device): Likewise.
9482 (delete_copyout): Add libfnname parameter, handle free_func
9483 hook fatal error case.
9484 (acc_delete): Adjust delete_copyout call.
9485 (acc_copyout): Likewise.
9486 (update_dev_host): Move gomp_mutex_unlock to after
9487 host2dev/dev2host hook calls.
9488
9489 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
9490 to 'hsa_error_msg', for clarity.
9491 (hsa_fatal): Likewise.
9492 (hsa_error): New function.
9493 (init_hsa_context): Change return type to bool, adjust to return
9494 false on error.
9495 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
9496 return value.
9497 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
9498 return false on error.
9499 (get_agent_info): Adjust to return NULL on error.
9500 (destroy_hsa_program): Change return type to bool, adjust to
9501 return false on error.
9502 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
9503 (destroy_module): Change return type to bool, adjust to
9504 return false on error.
9505 (GOMP_OFFLOAD_unload_image): Likewise.
9506 (GOMP_OFFLOAD_fini_device): Likewise.
9507 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
9508 (GOMP_OFFLOAD_free): Change to return false when called.
9509 (GOMP_OFFLOAD_dev2host): Likewise.
9510 (GOMP_OFFLOAD_host2dev): Likewise.
9511 (GOMP_OFFLOAD_dev2dev): Likewise.
9512
9513 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
9514 (CUDA_CALL): Likewise.
9515 (CUDA_CALL_ASSERT): Likewise.
9516 (map_init): Change return type to bool, use CUDA_CALL* macros.
9517 (map_fini): Likewise.
9518 (init_streams_for_device): Change return type to bool, adjust
9519 call to map_init.
9520 (fini_streams_for_device): Change return type to bool, adjust
9521 call to map_fini.
9522 (select_stream_for_async): Release stream_lock before calls to
9523 GOMP_PLUGIN_fatal, adjust call to map_init.
9524 (nvptx_init): Use CUDA_CALL* macros.
9525 (nvptx_attach_host_thread_to_device): Change return type to bool,
9526 use CUDA_CALL* macros.
9527 (nvptx_open_device): Use CUDA_CALL* macros.
9528 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
9529 macros.
9530 (nvptx_get_num_devices): Use CUDA_CALL* macros.
9531 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
9532 (nvptx_exec): Use CUDA_CALL* macros.
9533 (nvptx_alloc): Use CUDA_CALL* macros.
9534 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
9535 (nvptx_host2dev): Likewise.
9536 (nvptx_dev2host): Likewise.
9537 (nvptx_wait): Use CUDA_CALL* macros.
9538 (nvptx_wait_async): Likewise.
9539 (nvptx_wait_all): Likewise.
9540 (nvptx_wait_all_async): Likewise.
9541 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
9542 use CUDA_CALL* macros, adjust call to map_fini.
9543 (GOMP_OFFLOAD_init_device): Change return type to bool,
9544 adjust code accordingly.
9545 (GOMP_OFFLOAD_fini_device): Likewise.
9546 (GOMP_OFFLOAD_load_image): Adjust calls to
9547 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
9548 use CUDA_CALL* macros.
9549 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
9550 return code.
9551 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
9552 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
9553 handle error return.
9554 (GOMP_OFFLOAD_dev2host): Likewise.
9555 (GOMP_OFFLOAD_host2dev): Likewise.
9556 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
9557 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
9558
9559 2016-05-24 Cesar Philippidis <cesar (a] codesourcery.com>
9560
9561 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
9562 (acc_free): Likewise.
9563 (acc_memcpy_to_device): Likewise.
9564 (acc_memcpy_from_device): Likewise.
9565 (acc_deviceptr): Likewise.
9566 (acc_hostptr): Likewise.
9567 (acc_is_present): Likewise.
9568 (acc_map_data): Likewise.
9569 (acc_unmap_data): Likewise.
9570 (present_create_copy): Likewise.
9571 (delete_copyout): Likewise.
9572 (update_dev_host): Likewise.
9573 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
9574 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
9575 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
9576 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9577 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
9578 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
9579 it only runs on nvptx targets.
9580 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9581 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9582 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9583 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9584 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9585 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9586 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9587 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9588 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9589 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9590 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9591 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9592 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9593 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9594 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9595 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9596 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9597 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9598 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9599 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9600 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9601 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9602 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9603
9604 2016-05-23 Martin Jambor <mjambor (a] suse.cz>
9605
9606 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
9607
9608 2016-05-17 Chung-Lin Tang <cltang (a] codesourcery.com>
9609
9610 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
9611 to gomp_init_targets_once.
9612 (acc_set_device_type): Remove !cached_base_dev condition on call to
9613 gomp_init_targets_once, move call to before acc_device_lock acquire,
9614 to avoid deadlock.
9615 (acc_get_device_num): Remove !cached_base_dev condition on call to
9616 gomp_init_targets_once.
9617 (acc_set_device_num): Likewise.
9618
9619 2016-05-16 Martin Jambor <mjambor (a] suse.cz>
9620
9621 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
9622
9623 2016-05-02 Nathan Sidwell <nathan (a] codesourcery.com>
9624
9625 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
9626 expected partitioning.
9627
9628 2016-04-29 Cesar Philippidis <cesar (a] codesourcery.com>
9629
9630 PR middle-end/70626
9631 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
9632 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
9633 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
9634
9635 2016-04-21 Alexander Monakov <amonakov (a] ispras.ru>
9636
9637 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
9638 non-fatal.
9639
9640 2016-04-19 Jakub Jelinek <jakub (a] redhat.com>
9641
9642 PR middle-end/70680
9643 * testsuite/libgomp.c/pr70680-1.c: New test.
9644 * testsuite/libgomp.c/pr70680-2.c: New test.
9645
9646 2016-04-14 Cesar Philippidis <cesar (a] codesourcery.com>
9647
9648 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
9649 pass parameter variables to subroutines.
9650
9651 2016-04-14 Cesar Philippidis <cesar (a] codesourcery.com>
9652
9653 PR middle-end/70643
9654 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
9655
9656 2016-04-13 Cesar Philippidis <cesar (a] codesourcery.com>
9657
9658 PR testsuite/68242
9659 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
9660 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9661
9662 2016-04-12 Thomas Schwinge <thomas (a] codesourcery.com>
9663
9664 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
9665 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
9666 GOACC_declare prototype.
9667
9668 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
9669 Merge this file, and...
9670 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
9671 ... this file, and...
9672 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
9673 ... this file, and...
9674 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
9675 ... this file, and...
9676 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
9677 ... this file, and...
9678 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
9679 ... this file, and...
9680 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
9681 ... this file, and...
9682 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
9683 ... this file, and...
9684 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
9685 ... this file, and...
9686 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
9687 ... this file, and...
9688 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
9689 ... this file, and...
9690 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
9691 ... this file, and...
9692 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
9693 ... this file into...
9694 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
9695 file.
9696
9697 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9698 Make failure observable.
9699
9700 2016-04-12 Jakub Jelinek <jakub (a] redhat.com>
9701
9702 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
9703 field.
9704 * target.c (gomp_target_fallback_firstprivate,
9705 gomp_target_unshare_firstprivate): Removed.
9706 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
9707 before waiting for dependencies.
9708 (gomp_target_task_fn): Don't copy firstprivate vars here.
9709 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
9710 firstprivate_copies here.
9711 (gomp_create_target_task): Don't initialize firstprivate_copies field.
9712 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
9713 explicit/implicit firstprivate.
9714
9715 2016-04-08 Cesar Philippidis <cesar (a] codesourcery.com>
9716
9717 PR lto/70289
9718 PR ipa/70348
9719 PR tree-optimization/70373
9720 PR middle-end/70533
9721 PR middle-end/70534
9722 PR middle-end/70535
9723 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
9724 test.
9725 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
9726 test.
9727 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
9728 test.
9729 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
9730 test.
9731 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
9732 test.
9733 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
9734 test.
9735 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
9736 test.
9737 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
9738 test.
9739 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
9740 test.
9741 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
9742 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
9743 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
9744 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
9745 test.
9746 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
9747 test.
9748 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
9749 test.
9750 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
9751 test.
9752 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
9753 coverage.
9754 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9755 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
9756 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
9757 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
9758 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
9759 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
9760 coverage.
9761 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9762 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9763 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9764 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9765 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
9766 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
9767 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
9768 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
9769 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
9770 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9771 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9772 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9773 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9774 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9775 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
9776
9777 2016-03-30 Thomas Schwinge <thomas (a] codesourcery.com>
9778 James Norris <jnorris (a] codesourcery.com>
9779 Nathan Sidwell <nathan (a] codesourcery.com>
9780 Julian Brown <julian (a] codesourcery.com>
9781 Cesar Philippidis <cesar (a] codesourcery.com>
9782 Chung-Lin Tang <cltang (a] codesourcery.com>
9783 Tom de Vries <tom (a] codesourcery.com>
9784
9785 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
9786 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9787 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9788 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
9789 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9790 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9791 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9792 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
9793 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9794 XFAIL.
9795 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
9796 Incorporate...
9797 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
9798 file.
9799 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
9800 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
9801 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
9802 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
9803 Likewise.
9804 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
9805 Likewise.
9806 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9807 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
9808 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
9809 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
9810 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
9811 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9812 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
9813 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
9814 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
9815 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
9816 Likewise.
9817 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
9818 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
9819 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
9820 file...
9821 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
9822 file into...
9823 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
9824 file. Update.
9825 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
9826 file.
9827 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
9828 Likewise.
9829 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
9830 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
9831 ... this new file. Update.
9832 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
9833 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
9834 ... this new file. Update.
9835 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
9836 file. Incorporate...
9837 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
9838 file, and...
9839 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
9840 file, and...
9841 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
9842 file.
9843 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
9844
9845 2016-03-29 Thomas Schwinge <thomas (a] codesourcery.com>
9846
9847 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
9848 set-torture-options.
9849
9850 2016-03-24 Thomas Schwinge <thomas (a] codesourcery.com>
9851
9852 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
9853 gcc-dg-runtest.
9854 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9855 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
9856 -fno-builtin-acc_on_device instead of -O0.
9857 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
9858 -O0.
9859 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9860 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
9861 Likewise.
9862 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9863 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9864 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9865 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9866 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9867 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9868 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9869 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9870 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9871 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9872 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9873 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9874 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9875 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9876 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9877 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9878 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9879 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
9880 Don't specify -O2.
9881 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
9882 Likewise.
9883 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
9884 Likewise.
9885
9886 2016-03-24 Martin Liska <mliska (a] suse.cz>
9887
9888 * plugin/plugin-hsa.c (packet_store_release): New function
9889 that is taken from the HSA runtime manual.
9890 (GOMP_OFFLOAD_run): Use the function.
9891
9892 2016-03-23 Jakub Jelinek <jakub (a] redhat.com>
9893
9894 PR c++/70376
9895 * testsuite/libgomp.c++/pr70376.C: New test.
9896
9897 2016-03-23 Tom de Vries <tom (a] codesourcery.com>
9898
9899 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
9900 initialization of lresult and lvresult.
9901 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
9902
9903 2016-03-23 James Norris <jnorris (a] codesourcery.com>
9904 Daichi Fukuoka <dc-fukuoka (a] sgi.com>
9905
9906 PR libgomp/69414
9907 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
9908 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
9909 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9910 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
9911
9912 2016-03-23 Martin Liska <mliska (a] suse.cz>
9913
9914 PR hsa/70337
9915 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
9916 argument just in case a dispatched kernel uses that argument.
9917
9918 2016-03-16 Thomas Schwinge <thomas (a] codesourcery.com>
9919
9920 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
9921 -ftree-parallelize-loops/-fopenacc changes.
9922 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
9923 Likewise.
9924 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
9925 Likewise.
9926 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
9927 Likewise.
9928 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
9929 Likewise.
9930 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
9931 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
9932
9933 2016-03-13 Thomas Schwinge <thomas (a] codesourcery.com>
9934
9935 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
9936 always_ld_library_path the path to libgcc_s.
9937
9938 2016-03-10 Cesar Philippidis <cesar (a] codesourcery.com>
9939
9940 PR testsuite/70009
9941 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
9942
9943 2016-03-09 Tom de Vries <tom (a] codesourcery.com>
9944
9945 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
9946 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
9947 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
9948 Same.
9949 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
9950 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
9951 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
9952 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
9953
9954 2016-03-07 Martin Jambor <mjambor (a] suse.cz>
9955
9956 * testsuite/lib/libgomp.exp
9957 (check_effective_target_hsa_offloading_selected_nocache): New.
9958 (check_effective_target_hsa_offloading_selected): Likewise.
9959 * testsuite/libgomp.hsa.c/c.exp: Likewise.
9960 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
9961 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
9962 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
9963 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
9964 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
9965 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
9966 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
9967 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
9968 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
9969 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
9970 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
9971 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
9972 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
9973 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
9974 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
9975 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
9976
9977 2016-03-07 Martin Jambor <mjambor (a] suse.cz>
9978
9979 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
9980 non-shared memory accelerators.
9981 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
9982 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
9983 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
9984 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
9985 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
9986 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
9987 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
9988 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
9989 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
9990
9991 2016-03-07 Martin Jambor <mjambor (a] suse.cz>
9992
9993 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
9994 ALWAYS_CFLAGS.
9995
9996 2016-03-02 Jakub Jelinek <jakub (a] redhat.com>
9997
9998 PR libgomp/69555
9999 * testsuite/libgomp.c++/pr69555-1.C: New test.
10000 * testsuite/libgomp.c++/pr69555-2.C: New test.
10001
10002 2016-02-26 Keith McDaniel <k.allen.mcdaniel (a] gmail.com>
10003 Martin Jambor <mjambor (a] suse.cz>
10004
10005 * testsuite/lib/libgomp.exp
10006 (check_effective_target_offload_device_shared_as): New proc.
10007 * testsuite/libgomp.c++/declare_target-1.C: New test.
10008
10009 2016-02-25 Ilya Verbin <ilya.verbin (a] intel.com>
10010
10011 PR driver/68463
10012 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
10013
10014 2016-02-23 Thomas Schwinge <thomas (a] codesourcery.com>
10015
10016 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
10017 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
10018 dims.
10019 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
10020 -ftree-parallelize-loops/-fopenacc changes.
10021 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
10022 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
10023 Likewise.
10024 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
10025 Likewise.
10026 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
10027 Likewise.
10028 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
10029 Likewise.
10030 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
10031 Likewise.
10032 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
10033 Likewise.
10034 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
10035 Likewise.
10036 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
10037 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
10038 Likewise.
10039 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
10040 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
10041 Likewise.
10042 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
10043 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
10044 Likewise.
10045
10046 2016-02-22 Cesar Philippidis <cesar (a] codesourcery.com>
10047
10048 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
10049
10050 2016-02-19 Jakub Jelinek <jakub (a] redhat.com>
10051
10052 PR driver/69805
10053 * testsuite/libgomp.c/pr69805.c: New test.
10054
10055 2016-02-16 Tom de Vries <tom (a] codesourcery.com>
10056
10057 PR lto/67709
10058 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
10059
10060 2016-02-09 Tom de Vries <tom (a] codesourcery.com>
10061
10062 PR tree-optimization/69599
10063 * testsuite/libgomp.c/omp-nested-3.c: New test.
10064 * testsuite/libgomp.c/pr46032-2.c: New test.
10065 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
10066 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
10067
10068 2016-02-09 Tom de Vries <tom (a] codesourcery.com>
10069
10070 PR lto/69707
10071 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
10072
10073 2016-02-02 Alexander Monakov <amonakov (a] ispras.ru>
10074
10075 * testsuite/libgomp.c/target-31.c: Fix testcase.
10076
10077 2016-02-02 Alexander Monakov <amonakov (a] ispras.ru>
10078
10079 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
10080 clause.
10081 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
10082 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
10083 reduction and map clauses.
10084 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10085
10086 2016-02-02 James Norris <jnorris (a] codesourcery.com>
10087
10088 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
10089
10090 2016-02-02 Thomas Schwinge <thomas (a] codesourcery.com>
10091
10092 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
10093 * oacc-parallel.c (GOACC_host_data): Remove function definition.
10094
10095 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
10096 cases.
10097
10098 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
10099 variables.
10100 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
10101 (hsa_kmt_lib): Set variables.
10102 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
10103 always_ld_library_path.
10104 * Makefile.in: Regenerate.
10105 * configure: Likewise.
10106 * testsuite/Makefile.in: Likewise.
10107
10108 * plugin/configfrag.ac (offload_additional_options)
10109 (offload_additional_lib_paths): Don't amend for hsa offloading.
10110 * configure: Regenerate.
10111
10112 * plugin/configfrag.ac: Don't configure for offloading target if
10113 we don't build the corresponding plugin.
10114 * configure: Regenerate.
10115
10116 2016-02-01 Nathan Sidwell <nathan (a] codesourcery.com>
10117
10118 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
10119 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
10120
10121 2016-01-26 Tom de Vries <tom (a] codesourcery.com>
10122
10123 PR tree-optimization/69110
10124 * testsuite/libgomp.c/pr69110.c: New test.
10125
10126 2016-01-25 Richard Biener <rguenther (a] suse.de>
10127
10128 PR lto/69393
10129 * testsuite/libgomp.c++/pr69393.C: New testcase.
10130
10131 2016-01-22 Ilya Verbin <ilya.verbin (a] intel.com>
10132
10133 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
10134 function wasn't mapped to the device with non-shared memory.
10135
10136 2016-01-20 Ilya Verbin <ilya.verbin (a] intel.com>
10137
10138 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
10139
10140 2016-01-19 Martin Jambor <mjambor (a] suse.cz>
10141 Martin Liska <mliska (a] suse.cz>
10142
10143 * plugin/Makefrag.am: Add HSA plugin requirements.
10144 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
10145 (HSA_RUNTIME_LIB): Likewise.
10146 (HSA_RUNTIME_CPPFLAGS): Likewise.
10147 (HSA_RUNTIME_INCLUDE): New substitution.
10148 (HSA_RUNTIME_LIB): Likewise.
10149 (HSA_RUNTIME_LDFLAGS): Likewise.
10150 (hsa-runtime): New configure option.
10151 (hsa-runtime-include): Likewise.
10152 (hsa-runtime-lib): Likewise.
10153 (PLUGIN_HSA): New substitution variable.
10154 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
10155 configure options.
10156 (PLUGIN_HSA_CPPFLAGS): Likewise.
10157 (PLUGIN_HSA_LDFLAGS): Likewise.
10158 (PLUGIN_HSA_LIBS): Likewise.
10159 Check that we have access to HSA run-time.
10160 * libgomp-plugin.h (offload_target_type): New element
10161 OFFLOAD_TARGET_TYPE_HSA.
10162 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
10163 args.
10164 (bool gomp_create_target_task): Updated.
10165 (gomp_device_descr): Extra parameter of run_func and async_run_func,
10166 new field can_run_func.
10167 * libgomp_g.h (GOMP_target_ext): Update prototype.
10168 * oacc-host.c (host_run): Added a new parameter args.
10169 * target.c (calculate_firstprivate_requirements): New function.
10170 (copy_firstprivate_data): Likewise.
10171 (gomp_target_fallback_firstprivate): Use them.
10172 (gomp_target_unshare_firstprivate): New function.
10173 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
10174 devices.
10175 (GOMP_target): Do host fallback for all shared memory devices. Do not
10176 pass any args to plugins.
10177 (GOMP_target_ext): Introduce device-specific argument parameter args.
10178 Allow host fallback if device shares memory. Do not remap data if
10179 device has shared memory.
10180 (gomp_target_task_fn): Likewise. Also treat shared memory devices
10181 like host fallback for mappings.
10182 (GOMP_target_data): Treat shared memory devices like host fallback.
10183 (GOMP_target_data_ext): Likewise.
10184 (GOMP_target_update): Likewise.
10185 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
10186 gomp_create_target_task.
10187 (GOMP_target_enter_exit_data): Likewise.
10188 (omp_target_alloc): Treat shared memory devices like host fallback.
10189 (omp_target_free): Likewise.
10190 (omp_target_is_present): Likewise.
10191 (omp_target_memcpy): Likewise.
10192 (omp_target_memcpy_rect): Likewise.
10193 (omp_target_associate_ptr): Likewise.
10194 (gomp_load_plugin_for_device): Also load can_run.
10195 * task.c (GOMP_PLUGIN_target_task_completion): Free
10196 firstprivate_copies.
10197 (gomp_create_target_task): Accept new argument args and store it to
10198 ttask.
10199 * plugin/plugin-hsa.c: New file.
10200
10201 2016-01-18 Tom de Vries <tom (a] codesourcery.com>
10202
10203 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
10204 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
10205 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
10206 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
10207 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
10208 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
10209 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
10210 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
10211 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
10212 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
10213 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10214 Same.
10215 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10216 Same.
10217 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
10218 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
10219 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
10220 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
10221 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
10222 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
10223 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
10224 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10225 Same.
10226 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
10227
10228 2016-01-15 Jakub Jelinek <jakub (a] redhat.com>
10229
10230 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
10231
10232 2016-01-15 Cesar Philippidis <cesar (a] codesourcery.com>
10233
10234 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
10235
10236 2016-01-12 James Norris <jnorris (a] codesourcery.com>
10237
10238 * libgomp.texi: Updates for OpenACC.
10239
10240 2016-01-11 Alexander Monakov <amonakov (a] ispras.ru>
10241
10242 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
10243
10244 2016-01-07 H.J. Lu <hongjiu.lu (a] intel.com>
10245
10246 PR fortran/66680
10247 * testsuite/libgomp.fortran/pr66680.f90: New test.
10248
10249 2016-01-07 Jakub Jelinek <jakub (a] redhat.com>
10250
10251 PR middle-end/68960
10252 * testsuite/libgomp.c/pr68960.c: New test.
10253
10254 2016-01-06 Nathan Sidwell <nathan (a] acm.org>
10255
10256 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
10257 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
10258
10259 2016-01-04 Jakub Jelinek <jakub (a] redhat.com>
10260
10261 Update copyright years.
10262
10263 * libgomp.texi: Bump @copying's copyright year.
10264
10265 2015-12-31 Nathan Sidwell <nathan (a] acm.org>
10266
10267 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
10268 dg-additional-options syntax.
10269 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10270 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10271 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10272 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10273 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10274 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10275 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10276 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10277 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10278 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10279 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10280 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10281 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10282 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
10283 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10284 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10285 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10286 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10287
10288 2015-12-15 Ilya Verbin <ilya.verbin (a] intel.com>
10289
10290 * libgomp.h (REFCOUNT_LINK): Define.
10291 (struct splay_tree_key_s): Add link_key.
10292 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
10293 Replace target address of the pointer with target address of newly
10294 mapped object in the splay tree. Set link pointer on target to the
10295 device address of the mapped object.
10296 (gomp_unmap_vars): Restore target address of the pointer in the splay
10297 tree for REFCOUNT_LINK objects after unmapping.
10298 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
10299 declare target link" objects.
10300 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
10301 "omp declare target link" objects, which were mapped for the image.
10302 (gomp_exit_data): Restore target address of the pointer in the splay
10303 tree for REFCOUNT_LINK objects after unmapping.
10304 * testsuite/libgomp.c/target-link-1.c: New file.
10305
10306 2015-12-14 Ilya Verbin <ilya.verbin (a] intel.com>
10307
10308 * libgomp.h (gomp_device_state): New enum.
10309 (struct gomp_device_descr): Replace is_initialized with state.
10310 (gomp_fini_device): Remove declaration.
10311 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
10312 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
10313 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
10314 (acc_set_device_type): Use state instead of is_initialized.
10315 (acc_set_device_num): Likewise.
10316 * target.c (resolve_device): Use state instead of is_initialized.
10317 Do not initialize finalized device.
10318 (gomp_map_vars): Do nothing if device is finalized.
10319 (gomp_unmap_vars): Likewise.
10320 (gomp_update): Likewise.
10321 (GOMP_offload_register_ver): Use state instead of is_initialized.
10322 (GOMP_offload_unregister_ver): Likewise.
10323 (gomp_init_device): Likewise.
10324 (gomp_unload_device): Likewise.
10325 (gomp_fini_device): Remove.
10326 (gomp_get_target_fn_addr): Do nothing if device is finalized.
10327 (GOMP_target): Go to host fallback if device is finalized.
10328 (GOMP_target_ext): Likewise.
10329 (gomp_exit_data): Do nothing if device is finalized.
10330 (gomp_target_task_fn): Go to host fallback if device is finalized.
10331 (gomp_target_fini): New static function.
10332 (gomp_target_init): Use state instead of is_initialized.
10333 Call gomp_target_fini at exit.
10334
10335 2015-12-09 Tom de Vries <tom (a] codesourcery.com>
10336
10337 PR tree-optimization/68716
10338 * testsuite/libgomp.c/omp-nested-2.c: New test.
10339
10340 2015-12-02 Thomas Schwinge <thomas (a] codesourcery.com>
10341
10342 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
10343 target openacc_nvidia_accel_selected.
10344 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
10345 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
10346 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
10347 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
10348
10349 2015-12-01 Julian Brown <julian (a] codesourcery.com>
10350 James Norris <James_Norris (a] mentor.com>
10351
10352 * oacc-parallel.c (GOACC_host_data): New function.
10353 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
10354 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
10355 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
10356 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
10357 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
10358 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
10359 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
10360
10361 2015-11-30 James Norris <jnorris (a] codesourcery.com>
10362 Cesar Philippidis <cesar (a] codesourcery.com>
10363
10364 libgomp/
10365 * libgomp.oacc-fortran/routine-5.f90: New test.
10366 * libgomp.oacc-fortran/routine-7.f90: New test.
10367 * libgomp.oacc-fortran/routine-9.f90: New test.
10368
10369 2015-11-30 Tom de Vries <tom (a] codesourcery.com>
10370
10371 PR tree-optimization/46032
10372 * testsuite/libgomp.c/pr46032.c: New test.
10373
10374 2015-11-27 Jakub Jelinek <jakub (a] redhat.com>
10375
10376 PR libgomp/68579
10377 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
10378 (gomp_create_target_task): Call it before freeing
10379 GOMP_TARGET_TASK_DATA tasks.
10380
10381 PR c/63326
10382 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
10383 in between case label and OpenMP standalone directives.
10384 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
10385
10386 2015-11-26 David Edelsohn <dje.gcc (a] gmail.com>
10387
10388 * configure: Regenerate.
10389
10390 2015-11-26 Jakub Jelinek <jakub (a] redhat.com>
10391
10392 * testsuite/libgomp.c/target-35.c: New test.
10393
10394 2015-11-22 James Norris <jnorris (a] codesourcery.com>
10395 Cesar Philippidis <cesar (a] codesourcery.com>
10396
10397 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
10398 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10399 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10400 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10401 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10402
10403 2015-11-20 Jakub Jelinek <jakub (a] redhat.com>
10404
10405 PR middle-end/68221
10406 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
10407 * testsuite/libgomp.c/reduction-12.c: Likewise.
10408 * testsuite/libgomp.c++/reduction-11.C: Likewise.
10409 * testsuite/libgomp.c++/reduction-12.C: Likewise.
10410
10411 2015-11-19 Nathan Sidwell <nathan (a] codesourcery.com>
10412
10413 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
10414 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
10415 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
10416 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
10417 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
10418 and fix.
10419 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10420 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10421
10422 2015-11-18 Nathan Sidwell <nathan (a] codesourcery.com>
10423
10424 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
10425 worker & gang cases.
10426 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
10427
10428 2015-11-17 Cesar Philippidis <cesar (a] codesourcery.com>
10429
10430 * config/nvptx/priority_queue.c: New file.
10431
10432 2015-11-14 Jakub Jelinek <jakub (a] redhat.com>
10433
10434 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
10435 sections.
10436
10437 2015-11-14 Jakub Jelinek <jakub (a] redhat.com>
10438 Aldy Hernandez <aldyh (a] redhat.com>
10439 Ilya Verbin <ilya.verbin (a] intel.com>
10440
10441 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
10442 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
10443 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
10444 iterators or IV by chunk size.
10445 * parallel.c (gomp_resolve_num_threads): Don't assume that
10446 if thr->ts.team is non-NULL, then pool must be non-NULL.
10447 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
10448 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
10449 GOMP_PLUGIN_target_task_completion.
10450 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
10451 * Makefile.in: Regenerate.
10452 * libgomp.h: Shuffle prototypes and forward definitions around so
10453 priority queues can be defined.
10454 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
10455 (enum gomp_target_task_state): New enum.
10456 (struct gomp_target_task): Add state, tgt, task and team fields.
10457 (gomp_create_target_task): Change return type to bool, add
10458 state argument.
10459 (gomp_target_task_fn): Change return type to bool.
10460 (struct gomp_device_descr): Add async_run_func.
10461 (struct gomp_task): Remove children, next_child, prev_child,
10462 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
10463 Add pnode field.
10464 (struct gomp_taskgroup): Remove children.
10465 Add taskgroup_queue.
10466 (struct gomp_team): Change task_queue type to a priority queue.
10467 (splay_compare): Define inline.
10468 (priority_queue_offset): New.
10469 (priority_node_to_task): New.
10470 (task_to_priority_node): New.
10471 * oacc-mem.c: Do not include splay-tree.h.
10472 * priority_queue.c: New file.
10473 * priority_queue.h: New file.
10474 * splay-tree.c: Do not include splay-tree.h.
10475 (splay_tree_foreach_internal): New.
10476 (splay_tree_foreach): New.
10477 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
10478 (splay_tree_callback): Define typedef.
10479 * target.c (splay_compare): Move to libgomp.h.
10480 (GOMP_target): Don't adjust *thr in any way around running offloaded
10481 task.
10482 (GOMP_target_ext): Likewise. Handle target nowait.
10483 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
10484 return value from gomp_create_target_task, if false, fallthrough
10485 as if no dependencies exist.
10486 (gomp_target_task_fn): Change return type to bool, return true
10487 if the task should have another part scheduled later. Handle
10488 target nowait.
10489 (gomp_load_plugin_for_device): Initialize async_run.
10490 * task.c (gomp_init_task): Initialize children_queue.
10491 (gomp_clear_parent_in_list): New.
10492 (gomp_clear_parent_in_tree): New.
10493 (gomp_clear_parent): Handle priorities.
10494 (GOMP_task): Likewise.
10495 (priority_queue_move_task_first,
10496 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
10497 New functions.
10498 (gomp_create_target_task): Use priority queues. Change return type
10499 to bool, add state argument, return false if for async
10500 {{enter,exit} data,update} constructs no dependencies need to be
10501 waited for, handle target nowait. Set task->fn to NULL instead of
10502 gomp_target_task_fn.
10503 (verify_children_queue): Remove.
10504 (priority_list_upgrade_task): New.
10505 (priority_queue_upgrade_task): New.
10506 (verify_task_queue): Remove.
10507 (priority_list_downgrade_task): New.
10508 (priority_queue_downgrade_task): New.
10509 (gomp_task_run_pre): Use priority queues.
10510 Abstract code out to priority_queue_downgrade_task.
10511 (gomp_task_run_post_handle_dependers): Use priority queues.
10512 (gomp_task_run_post_remove_parent): Likewise.
10513 (gomp_task_run_post_remove_taskgroup): Likewise.
10514 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
10515 tasks specially.
10516 (GOMP_taskwait): Likewise.
10517 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
10518 priority-queue_upgrade_task.
10519 (GOMP_taskgroup_start): Use priority queues.
10520 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
10521 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
10522 barrier.
10523 * taskloop.c (GOMP_taskloop): Handle priorities.
10524 * team.c (gomp_new_team): Call priority_queue_init.
10525 (free_team): Call priority_queue_free.
10526 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
10527 team created for target nowait in implicit parallel region.
10528 (gomp_team_start): For nested check, test thr->ts.level instead of
10529 thr->ts.team != NULL.
10530 * testsuite/libgomp.c/doacross-3.c: New test.
10531 * testsuite/libgomp.c/ordered-5.c: New test.
10532 * testsuite/libgomp.c/priority.c: New test.
10533 * testsuite/libgomp.c/target-31.c: New test.
10534 * testsuite/libgomp.c/target-32.c: New test.
10535 * testsuite/libgomp.c/target-33.c: New test.
10536 * testsuite/libgomp.c/target-34.c: New test.
10537
10538 2015-11-13 Nathan Sidwell <nathan (a] codesourcery.com>
10539
10540 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
10541
10542 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
10543 loop is sequential.
10544
10545 2015-11-13 Nathan Sidwell <nathan (a] codesourcery.com>
10546
10547 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
10548 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
10549
10550 2015-11-12 James Norris <jnorris (a] codesourcery.com>
10551 Joseph Myers <joseph (a] codesourcery.com>
10552
10553 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
10554 * oacc-parallel.c (GOACC_declare): New function.
10555 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
10556 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
10557 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
10558 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
10559 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
10560
10561 2015-11-12 Nathan Sidwell <nathan (a] codesourcery.com>
10562
10563 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
10564
10565 2015-11-1 Nathan Sidwell <nathan (a] codesourcery.com>
10566
10567 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
10568 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
10569
10570 2015-11-09 Nathan Sidwell <nathan (a] codesourcery.com>
10571
10572 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
10573 inadvertent commit.
10574
10575 2015-11-09 Nathan Sidwell <nathan (a] codesourcery.com>
10576
10577 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
10578 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
10579 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
10580 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
10581 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
10582
10583 2015-11-06 Thomas Schwinge <thomas (a] codesourcery.com>
10584
10585 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
10586 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10587
10588 2015-11-05 Jakub Jelinek <jakub (a] redhat.com>
10589 Ilya Verbin <ilya.verbin (a] intel.com>
10590
10591 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
10592 GOMP_loop_nonmonotonic_dynamic_start,
10593 GOMP_loop_nonmonotonic_guided_next,
10594 GOMP_loop_nonmonotonic_guided_start,
10595 GOMP_loop_ull_nonmonotonic_dynamic_next,
10596 GOMP_loop_ull_nonmonotonic_dynamic_start,
10597 GOMP_loop_ull_nonmonotonic_guided_next,
10598 GOMP_loop_ull_nonmonotonic_guided_start,
10599 GOMP_parallel_loop_nonmonotonic_dynamic,
10600 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
10601 (GOMP_target_41): Renamed to ...
10602 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10603 arguments.
10604 (GOMP_target_data_41): Renamed to ...
10605 (GOMP_target_data_ext): ... this.
10606 (GOMP_target_update_41): Renamed to ...
10607 (GOMP_target_update_ext): ... this.
10608 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
10609 GOMP_target_data_ext and GOMP_target_update_ext instead of
10610 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
10611 Export GOMP_loop_nonmonotonic_dynamic_next,
10612 GOMP_loop_nonmonotonic_dynamic_start,
10613 GOMP_loop_nonmonotonic_guided_next,
10614 GOMP_loop_nonmonotonic_guided_start,
10615 GOMP_loop_ull_nonmonotonic_dynamic_next,
10616 GOMP_loop_ull_nonmonotonic_dynamic_start,
10617 GOMP_loop_ull_nonmonotonic_guided_next,
10618 GOMP_loop_ull_nonmonotonic_guided_start,
10619 GOMP_parallel_loop_nonmonotonic_dynamic and
10620 GOMP_parallel_loop_nonmonotonic_guided.
10621 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
10622 GOMP_parallel_loop_nonmonotonic_guided,
10623 GOMP_loop_nonmonotonic_dynamic_start,
10624 GOMP_loop_nonmonotonic_guided_start,
10625 GOMP_loop_nonmonotonic_dynamic_next,
10626 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
10627 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
10628 GOMP_loop_ull_nonmonotonic_guided_start,
10629 GOMP_loop_ull_nonmonotonic_dynamic_next,
10630 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
10631 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
10632 functions.
10633 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
10634 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
10635 Use gomp_map_val function.
10636 (gomp_target_fallback_firstprivate): New static function.
10637 (GOMP_target_41): Renamed to ...
10638 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10639 arguments. Move firstprivate fallback handling into a new
10640 function.
10641 (GOMP_target_data_41): Renamed to ...
10642 (GOMP_target_data_ext): ... this.
10643 (GOMP_target_update_41): Renamed to ...
10644 (GOMP_target_update_ext): ... this.
10645 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
10646 gomp_map_0len_lookup instead of gomp_map_lookup.
10647 (omp_target_is_present): Use gomp_map_0len_lookup instead of
10648 gomp_map_lookup.
10649 * testsuite/libgomp.c/target-28.c: Likewise.
10650 * testsuite/libgomp.c/monotonic-1.c: New test.
10651 * testsuite/libgomp.c/monotonic-2.c: New test.
10652 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
10653 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
10654 * testsuite/libgomp.c/pr66199-5.c: New test.
10655 * testsuite/libgomp.c/pr66199-6.c: New test.
10656 * testsuite/libgomp.c/pr66199-7.c: New test.
10657 * testsuite/libgomp.c/pr66199-8.c: New test.
10658 * testsuite/libgomp.c/pr66199-9.c: New test.
10659 * testsuite/libgomp.c/reduction-11.c: New test.
10660 * testsuite/libgomp.c/reduction-12.c: New test.
10661 * testsuite/libgomp.c/reduction-13.c: New test.
10662 * testsuite/libgomp.c/reduction-14.c: New test.
10663 * testsuite/libgomp.c/reduction-15.c: New test.
10664 * testsuite/libgomp.c/target-12.c (main): Adjust for
10665 omp_target_is_present change for one-past-last element.
10666 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
10667 the same var is both mapped and privatized.
10668 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
10669 handling of zero-length array sections.
10670 * testsuite/libgomp.c/target-28.c: New test.
10671 * testsuite/libgomp.c/target-29.c: New test.
10672 * testsuite/libgomp.c/target-30.c: New test.
10673 * testsuite/libgomp.c/target-teams-1.c: New test.
10674 * testsuite/libgomp.c++/member-6.C: New test.
10675 * testsuite/libgomp.c++/member-7.C: New test.
10676 * testsuite/libgomp.c++/monotonic-1.C: New test.
10677 * testsuite/libgomp.c++/monotonic-2.C: New test.
10678 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
10679 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
10680 * testsuite/libgomp.c++/pr66199-3.C: New test.
10681 * testsuite/libgomp.c++/pr66199-4.C: New test.
10682 * testsuite/libgomp.c++/pr66199-5.C: New test.
10683 * testsuite/libgomp.c++/pr66199-6.C: New test.
10684 * testsuite/libgomp.c++/pr66199-7.C: New test.
10685 * testsuite/libgomp.c++/pr66199-8.C: New test.
10686 * testsuite/libgomp.c++/pr66199-9.C: New test.
10687 * testsuite/libgomp.c++/reduction-11.C: New test.
10688 * testsuite/libgomp.c++/reduction-12.C: New test.
10689 * testsuite/libgomp.c++/target-13.C: New test.
10690 * testsuite/libgomp.c++/target-14.C: New test.
10691 * testsuite/libgomp.c++/target-15.C: New test.
10692 * testsuite/libgomp.c++/target-16.C: New test.
10693 * testsuite/libgomp.c++/target-17.C: New test.
10694 * testsuite/libgomp.c++/target-18.C: New test.
10695 * testsuite/libgomp.c++/target-19.C: New test.
10696
10697 2015-11-04 Nathan Sidwell <nathan (a] codesourcery.com>
10698
10699 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
10700 and reduction copy.
10701 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10702 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10703 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10704 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10705 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
10706 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10707 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
10708 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10709 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10710 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
10711 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
10712 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10713 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10714 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
10715
10716 2015-11-04 Nathan Sidwell <nathan (a] codesourcery.com>
10717
10718 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
10719 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
10720 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
10721 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
10722 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
10723 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
10724 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
10725 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
10726
10727 2015-11-03 Nathan Sidwell <nathan (a] codesourcery.com>
10728
10729 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
10730 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
10731 (GOMP_OFFLOAD_openacc_parallel): Likewise.
10732 * oacc-host.c (host_openacc_exec): Likewise.
10733 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
10734
10735 2015-11-03 Julian Brown <julian (a] codesourcery.com>
10736 Thomas Schwinge <thomas (a] codesourcery.com>
10737
10738 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
10739 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10740 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
10741 Likewise.
10742 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
10743 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
10744
10745 2015-11-03 James Norris <jnorris (a] codesourcery.com>
10746
10747 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
10748 file.
10749 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
10750 Likewise.
10751 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
10752 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
10753 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
10754 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
10755 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
10756
10757 2015-10-29 Nathan Sidwell <nathan (a] codesourcery.com>
10758
10759 * openacc.h (enum acc_device_t): Reformat. Ensure layout
10760 compatibility.
10761 (enum acc_async_t): Reformat.
10762 (acc_on_device): Declare compatible with builtin and provide C++
10763 wrapper.
10764 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
10765
10766 2015-10-29 Thomas Schwinge <thomas (a] codesourcery.com>
10767 Cesar Philippidis <cesar (a] codesourcery.com>
10768
10769 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
10770 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
10771 ... this. Add a description of the test at the top of the file.
10772 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
10773 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
10774 ... this. Add a description of the test at the top of the file.
10775
10776 2015-10-28 Nathan Sidwell <nathan (a] codesourcery.com>
10777
10778 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
10779 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
10780 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
10781 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
10782 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
10783 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
10784
10785 2015-10-27 Nathan Sidwell <nathan (a] codesourcery.com>
10786
10787 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
10788 dimensions.
10789
10790 2015-10-27 Thomas Schwinge <thomas (a] codesourcery.com>
10791
10792 PR testsuite/68063
10793 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
10794
10795 2015-10-27 James Norris <jnorris (a] codesourcery.com>
10796
10797 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
10798 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
10799
10800 2015-10-26 Thomas Schwinge <thomas (a] codesourcery.com>
10801
10802 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
10803 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10804
10805 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
10806 acc_device_nvidia usage.
10807 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
10808 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10809 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
10810
10811 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
10812 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
10813
10814 PR libgomp/66518
10815 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
10816
10817 PR libgomp/65437
10818 PR libgomp/66518
10819 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
10820 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
10821
10822 2015-10-23 Tom de Vries <tom (a] codesourcery.com>
10823
10824 PR testsuite/68063
10825 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
10826
10827 2015-10-20 Nathan Sidwell <nathan (a] codesourcery.com>
10828
10829 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
10830 vector_length.
10831 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10832
10833 2015-10-14 Ilya Verbin <ilya.verbin (a] intel.com>
10834 Aleksander Ivanushenko <aleksander.ivanushenko (a] intel.com>
10835
10836 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
10837 to 0 when mapnum is 0.
10838
10839 2015-10-14 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
10840
10841 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
10842 Cast to int from int32_t.
10843
10844 2015-10-13 Jakub Jelinek <jakub (a] redhat.com>
10845 Aldy Hernandez <aldyh (a] redhat.com>
10846 Ilya Verbin <ilya.verbin (a] intel.com>
10847
10848 * config/linux/affinity.c (omp_get_place_num_procs,
10849 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10850 * config/linux/doacross.h: New file.
10851 * config/posix/affinity.c (omp_get_place_num_procs,
10852 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10853 * config/posix/doacross.h: New file.
10854 * env.c: Include gomp-constants.h.
10855 (struct gomp_task_icv): Rename run_sched_modifier to
10856 run_sched_chunk_size.
10857 (gomp_max_task_priority_var): New variable.
10858 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
10859 (handle_omp_display_env): Change _OPENMP value from 201307 to
10860 201511. Print OMP_MAX_TASK_PRIORITY.
10861 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
10862 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
10863 chunk_size and run_sched_modifier to run_sched_chunk_size.
10864 (omp_get_max_task_priority, omp_get_initial_device,
10865 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
10866 omp_get_partition_place_nums): New functions.
10867 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
10868 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
10869 to chunk_size.
10870 (omp_get_num_places_, omp_get_place_num_procs_,
10871 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
10872 omp_get_place_proc_ids_8_, omp_get_place_num_,
10873 omp_get_partition_num_places_, omp_get_partition_place_nums_,
10874 omp_get_partition_place_nums_8_, omp_get_initial_device_,
10875 omp_get_max_task_priority_): New functions.
10876 * libgomp_g.h (GOMP_loop_doacross_static_start,
10877 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
10878 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
10879 GOMP_loop_ull_doacross_dynamic_start,
10880 GOMP_loop_ull_doacross_guided_start,
10881 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
10882 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
10883 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
10884 GOMP_target_data_41, GOMP_target_update_41,
10885 GOMP_target_enter_exit_data): New prototypes.
10886 (GOMP_task): Add prototype argument.
10887 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
10888 (struct gomp_doacross_work_share): New type.
10889 (struct gomp_work_share): Add doacross field.
10890 (struct gomp_task_icv): Rename run_sched_modifier to
10891 run_sched_chunk_size.
10892 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
10893 GOMP_TASK_UNDEFERRED. Add comments.
10894 (struct gomp_task_depend_entry): Add comments.
10895 (struct gomp_task): Likewise.
10896 (struct gomp_taskgroup): Likewise.
10897 (struct gomp_target_task): New type.
10898 (struct gomp_team): Add comment.
10899 (gomp_get_place_proc_ids_8, gomp_doacross_init,
10900 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
10901 gomp_create_target_task, gomp_target_task_fn): New prototypes.
10902 (struct target_var_desc): New type.
10903 (struct target_mem_desc): Adjust comment. Use struct
10904 target_var_desc instead of splay_tree_key for list.
10905 (REFCOUNT_INFINITY): Define.
10906 (struct splay_tree_key_s): Remove copy_from field.
10907 (struct gomp_device_descr): Add dev2dev_func field.
10908 (enum gomp_map_vars_kind): New enum.
10909 (gomp_map_vars): Add one argument.
10910 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
10911 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
10912 omp_get_place_num_procs, omp_get_place_num_procs_,
10913 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
10914 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
10915 omp_get_place_num_, omp_get_partition_num_places,
10916 omp_get_partition_num_places_, omp_get_partition_place_nums,
10917 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
10918 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
10919 omp_target_free, omp_target_is_present, omp_target_memcpy,
10920 omp_target_memcpy_rect, omp_target_associate_ptr and
10921 omp_target_disassociate_ptr.
10922 (GOMP_4.0.2): Renamed to ...
10923 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
10924 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
10925 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
10926 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
10927 GOMP_loop_doacross_static_start, GOMP_doacross_post,
10928 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
10929 GOMP_loop_ull_doacross_guided_start,
10930 GOMP_loop_ull_doacross_runtime_start,
10931 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
10932 GOMP_doacross_ull_wait.
10933 * libgomp.texi: Document omp_get_max_task_priority.
10934 Rename modifier argument to chunk_size for omp_set_schedule and
10935 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
10936 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
10937 to run_sched_chunk_size renaming.
10938 (GOMP_loop_ordered_runtime_start): Likewise.
10939 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10940 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
10941 GOMP_parallel_loop_runtime_start): New functions.
10942 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
10943 to run_sched_chunk_size renaming.
10944 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
10945 GOMP_loop_doacross_guided_start): New functions or aliases.
10946 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
10947 run_sched_modifier to run_sched_chunk_size renaming.
10948 (GOMP_loop_ull_ordered_runtime_start): Likewise.
10949 (gomp_loop_ull_doacross_static_start,
10950 gomp_loop_ull_doacross_dynamic_start,
10951 gomp_loop_ull_doacross_guided_start,
10952 GOMP_loop_ull_doacross_runtime_start): New functions.
10953 (GOMP_loop_ull_doacross_static_start,
10954 GOMP_loop_ull_doacross_dynamic_start,
10955 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
10956 * oacc-mem.c (acc_map_data, present_create_copy,
10957 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
10958 to gomp_map_vars.
10959 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
10960 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
10961 instead of false to gomp_map_vars.
10962 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
10963 * omp.h.in (omp_lock_hint_t): New type.
10964 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10965 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10966 omp_get_place_num, omp_get_partition_num_places,
10967 omp_get_partition_place_nums, omp_get_initial_device,
10968 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
10969 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
10970 omp_target_associate_ptr, omp_target_disassociate_ptr): New
10971 prototypes.
10972 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
10973 (omp_lock_hint_none, omp_lock_hint_uncontended,
10974 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10975 omp_lock_hint_speculative): New parameters.
10976 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10977 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10978 omp_get_place_num, omp_get_partition_num_places,
10979 omp_get_partition_place_nums, omp_get_initial_device,
10980 omp_get_max_task_priority): New interfaces.
10981 (omp_set_schedule, omp_get_schedule): Rename modifier argument
10982 to chunk_size.
10983 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
10984 (omp_lock_hint_none, omp_lock_hint_uncontended,
10985 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10986 omp_lock_hint_speculative): New parameters.
10987 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10988 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10989 omp_get_place_num, omp_get_partition_num_places,
10990 omp_get_partition_place_nums, omp_get_initial_device,
10991 omp_get_max_task_priority): New functions and subroutines.
10992 * ordered.c: Include stdarg.h and string.h.
10993 (MAX_COLLAPSED_BITS): Define.
10994 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
10995 gomp_doacross_ull_init, GOMP_doacross_ull_post,
10996 GOMP_doacross_ull_wait): New functions.
10997 * target.c: Include errno.h.
10998 (resolve_device): If device is not initialized, call
10999 gomp_init_device on it.
11000 (gomp_map_lookup): New function.
11001 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
11002 Don't bump refcount if REFCOUNT_INFINITY. Handle
11003 GOMP_MAP_ALWAYS_TO_P.
11004 (get_kind): Rename is_openacc argument to short_mapkind.
11005 (gomp_map_pointer): Use gomp_map_lookup.
11006 (gomp_map_fields_existing): New function.
11007 (gomp_map_vars): Rename is_openacc argument to short_mapkind
11008 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
11009 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
11010 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
11011 Adjust for tgt->list changed type and copy_from living in there.
11012 (gomp_copy_from_async): Adjust for tgt->list changed type and
11013 copy_from living in there.
11014 (gomp_unmap_vars): Likewise.
11015 (gomp_update): Likewise. Rename is_openacc argument to
11016 short_mapkind. Don't fail if object is not mapped.
11017 (gomp_load_image_to_device): Initialize refcount to
11018 REFCOUNT_INFINITY.
11019 (gomp_target_fallback): New function.
11020 (gomp_get_target_fn_addr): Likewise.
11021 (GOMP_target): Adjust gomp_map_vars caller, use
11022 gomp_get_target_fn_addr and gomp_target_fallback.
11023 (GOMP_target_41): New function.
11024 (gomp_target_data_fallback): New function.
11025 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
11026 (GOMP_target_data_41): New function.
11027 (GOMP_target_update): Adjust gomp_update caller.
11028 (GOMP_target_update_41): New function.
11029 (gomp_exit_data, GOMP_target_enter_exit_data,
11030 gomp_target_task_fn, omp_target_alloc, omp_target_free,
11031 omp_target_is_present, omp_target_memcpy,
11032 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
11033 omp_target_associate_ptr, omp_target_disassociate_ptr,
11034 gomp_load_plugin_for_device): New functions.
11035 * task.c: Include gomp-constants.h. Include taskloop.c
11036 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
11037 (gomp_task_handle_depend): New function.
11038 (GOMP_task): Use it. Add priority argument. Use
11039 gomp-constant.h constants instead of hardcoded numbers.
11040 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
11041 (gomp_create_target_task): New function.
11042 (verify_children_queue, verify_taskgroup_queue,
11043 verify_task_queue): New functions.
11044 (gomp_task_run_pre): Call verify_*_queue functions.
11045 If an upcoming tied task is about to leave the sibling or
11046 taskgroup queues in an invalid state, adjust appropriately.
11047 Remove taskgroup argument. Add comments.
11048 (gomp_task_run_post_handle_dependers): Add comments.
11049 (gomp_task_run_post_remove_parent): Likewise.
11050 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
11051 (GOMP_taskwait): Likewise. Add comments.
11052 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
11053 problem such that the first non parent_depends_on task does not
11054 end up at the end of the children queue.
11055 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
11056 GOMP_TASK_UNDEFERRED.
11057 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
11058 * taskloop.c: New file.
11059 * testsuite/lib/libgomp.exp
11060 (check_effective_target_offload_device_nonshared_as): New proc.
11061 * testsuite/libgomp.c/affinity-2.c: New test.
11062 * testsuite/libgomp.c/doacross-1.c: New test.
11063 * testsuite/libgomp.c/doacross-2.c: New test.
11064 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
11065 Add map clause to target.
11066 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
11067 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
11068 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
11069 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
11070 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
11071 Likewise.
11072 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
11073 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
11074 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
11075 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
11076 not defined. Use those where needed.
11077 * testsuite/libgomp.c/for-4.c: New test.
11078 * testsuite/libgomp.c/for-5.c: New test.
11079 * testsuite/libgomp.c/for-6.c: New test.
11080 * testsuite/libgomp.c/linear-1.c: New test.
11081 * testsuite/libgomp.c/ordered-4.c: New test.
11082 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
11083 only allowed on the loop iterator.
11084 * testsuite/libgomp.c/pr66199-3.c: New test.
11085 * testsuite/libgomp.c/pr66199-4.c: New test.
11086 * testsuite/libgomp.c/reduction-7.c: New test.
11087 * testsuite/libgomp.c/reduction-8.c: New test.
11088 * testsuite/libgomp.c/reduction-9.c: New test.
11089 * testsuite/libgomp.c/reduction-10.c: New test.
11090 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
11091 map(tofrom:s).
11092 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
11093 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
11094 * testsuite/libgomp.c/target-11.c: New test.
11095 * testsuite/libgomp.c/target-12.c: New test.
11096 * testsuite/libgomp.c/target-13.c: New test.
11097 * testsuite/libgomp.c/target-14.c: New test.
11098 * testsuite/libgomp.c/target-15.c: New test.
11099 * testsuite/libgomp.c/target-16.c: New test.
11100 * testsuite/libgomp.c/target-17.c: New test.
11101 * testsuite/libgomp.c/target-18.c: New test.
11102 * testsuite/libgomp.c/target-19.c: New test.
11103 * testsuite/libgomp.c/target-20.c: New test.
11104 * testsuite/libgomp.c/target-21.c: New test.
11105 * testsuite/libgomp.c/target-22.c: New test.
11106 * testsuite/libgomp.c/target-23.c: New test.
11107 * testsuite/libgomp.c/target-24.c: New test.
11108 * testsuite/libgomp.c/target-25.c: New test.
11109 * testsuite/libgomp.c/target-26.c: New test.
11110 * testsuite/libgomp.c/target-27.c: New test.
11111 * testsuite/libgomp.c/taskloop-1.c: New test.
11112 * testsuite/libgomp.c/taskloop-2.c: New test.
11113 * testsuite/libgomp.c/taskloop-3.c: New test.
11114 * testsuite/libgomp.c/taskloop-4.c: New test.
11115 * testsuite/libgomp.c++/ctor-13.C: New test.
11116 * testsuite/libgomp.c++/doacross-1.C: New test.
11117 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
11118 Replace offload_device with offload_device_nonshared_as.
11119 * testsuite/libgomp.c++/for-12.C: New test.
11120 * testsuite/libgomp.c++/for-13.C: New test.
11121 * testsuite/libgomp.c++/for-14.C: New test.
11122 * testsuite/libgomp.c++/linear-1.C: New test.
11123 * testsuite/libgomp.c++/member-1.C: New test.
11124 * testsuite/libgomp.c++/member-2.C: New test.
11125 * testsuite/libgomp.c++/member-3.C: New test.
11126 * testsuite/libgomp.c++/member-4.C: New test.
11127 * testsuite/libgomp.c++/member-5.C: New test.
11128 * testsuite/libgomp.c++/ordered-1.C: New test.
11129 * testsuite/libgomp.c++/reduction-5.C: New test.
11130 * testsuite/libgomp.c++/reduction-6.C: New test.
11131 * testsuite/libgomp.c++/reduction-7.C: New test.
11132 * testsuite/libgomp.c++/reduction-8.C: New test.
11133 * testsuite/libgomp.c++/reduction-9.C: New test.
11134 * testsuite/libgomp.c++/reduction-10.C: New test.
11135 * testsuite/libgomp.c++/reference-1.C: New test.
11136 * testsuite/libgomp.c++/simd14.C: New test.
11137 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
11138 * testsuite/libgomp.c++/target-5.C: New test.
11139 * testsuite/libgomp.c++/target-6.C: New test.
11140 * testsuite/libgomp.c++/target-7.C: New test.
11141 * testsuite/libgomp.c++/target-8.C: New test.
11142 * testsuite/libgomp.c++/target-9.C: New test.
11143 * testsuite/libgomp.c++/target-10.C: New test.
11144 * testsuite/libgomp.c++/target-11.C: New test.
11145 * testsuite/libgomp.c++/target-12.C: New test.
11146 * testsuite/libgomp.c++/taskloop-1.C: New test.
11147 * testsuite/libgomp.c++/taskloop-2.C: New test.
11148 * testsuite/libgomp.c++/taskloop-3.C: New test.
11149 * testsuite/libgomp.c++/taskloop-4.C: New test.
11150 * testsuite/libgomp.c++/taskloop-5.C: New test.
11151 * testsuite/libgomp.c++/taskloop-6.C: New test.
11152 * testsuite/libgomp.c++/taskloop-7.C: New test.
11153 * testsuite/libgomp.c++/taskloop-8.C: New test.
11154 * testsuite/libgomp.c++/taskloop-9.C: New test.
11155 * testsuite/libgomp.fortran/affinity1.f90: New test.
11156 * testsuite/libgomp.fortran/affinity2.f90: New test.
11157
11158 2015-10-13 Tom de Vries <tom (a] codesourcery.com>
11159
11160 PR tree-optimization/67476
11161 * testsuite/libgomp.c/autopar-3.c: New test.
11162 * testsuite/libgomp.c/autopar-4.c: New test.
11163 * testsuite/libgomp.c/autopar-5.c: New test.
11164 * testsuite/libgomp.c/autopar-6.c: New test.
11165 * testsuite/libgomp.c/autopar-7.c: New test.
11166 * testsuite/libgomp.c/autopar-8.c: New test.
11167
11168 2015-10-12 James Norris <jnorris (a] codesourcery.com>
11169
11170 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
11171 initializer.
11172
11173 2015-10-09 David Malcolm <dmalcolm (a] redhat.com>
11174
11175 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
11176 using load_gcc_lib.
11177
11178 2015-10-02 Thomas Schwinge <thomas (a] codesourcery.com>
11179
11180 * oacc-ptx.h: Remove file, moving its content into...
11181 * config/nvptx/fortran.c: ... here...
11182 * config/nvptx/oacc-init.c: ..., here...
11183 * config/nvptx/oacc-parallel.c: ..., and here.
11184 * config/nvptx/openacc.f90: New file.
11185 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
11186 (link_ptx): Don't link in predefined bits of PTX code.
11187
11188 2015-09-30 Nathan Sidwell <nathan (a] codesourcery.com>
11189 Bernd Schmidt <bernds (a] codesourcery.com>
11190
11191 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
11192 (struct targ_ptx_obj): New.
11193 (nvptx_tdata): Move earlier, change data format.
11194 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
11195 objects.
11196 (GOMP_OFFLOAD_load_image): Adjust.
11197
11198 2015-09-30 Thomas Schwinge <thomas (a] codesourcery.com>
11199
11200 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
11201 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11202 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11203 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11204 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11205 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11206 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11207 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11208 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11209 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11210 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11211 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11212 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11213 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11214 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11215 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11216 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11217 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11218 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11219 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11220 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11221 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11222 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11223 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11224 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11225 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11226 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11227 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11228 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11229 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11230 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11231 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11232 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11233 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11234 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11235 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11236 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11237 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11238 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11239 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11240 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11241 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11242 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11243 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11244 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11245 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11246 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11247 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11248 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11249 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11250 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11251 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11252 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11253 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11254 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11255 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11256 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11257 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11258 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11259 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11260 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11261 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11262 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11263
11264 2015-09-29 Nathan Sidwell <nathan (a] codesourcery.com>
11265
11266 * oacc-init.c (acc_on_device): Force optimization level.
11267
11268 2015-09-29 Nathan Sidwell <nathan (a] codesourcery.com>
11269
11270 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
11271 (cuda_errlist): Delete.
11272 (cuda_error): Reimplement.
11273
11274 2015-09-28 Nathan Sidwell <nathan (a] codesourcery.com>
11275
11276 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
11277 array.
11278 * libgomp.map (GOACC_parallel_keyed): New.
11279 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
11280 all callers.
11281 (GOACC_parallel_keyed): New interface. Lose geometry arguments
11282 and take keyed varargs list. Adjust call to exec_func.
11283 (GOACC_parallel): Force host fallback.
11284 * libgomp_g.h (GOACC_parallel): Remove.
11285 (GOACC_parallel_keyed): Declare.
11286 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
11287 (struct targ_gn_descriptor): Replace name field with launch field.
11288 (nvptx_exec): Lose separate geometry args, take array. Process
11289 dynamic dimensions and adjust.
11290 (struct nvptx_tdata): Replace fn_names field with fn_descs.
11291 (GOMP_OFFLOAD_load_image): Adjust for change in function table
11292 data.
11293 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
11294 passing.
11295 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
11296 passing.
11297
11298 2015-09-22 Chung-Lin Tang <cltang (a] codesourcery.com>
11299
11300 PR libgomp/67141
11301 * oacc-int.h (goacc_host_init): Add declaration.
11302 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
11303 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
11304
11305 2015-09-08 Aditya Kumar <hiraditya (a] msn.com>
11306 Sebastian Pop <s.pop (a] samsung.com>
11307
11308 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
11309 match o/p.
11310 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
11311 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
11312 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
11313 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
11314 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
11315
11316 2015-09-03 Jakub Jelinek <jakub (a] redhat.com>
11317
11318 * configure.tgt: Add missing ;; in between nvptx and rtems
11319 snippets.
11320
11321 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11322
11323 * config/posix/pool.h (gomp_adjust_thread_attr): New.
11324 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
11325 (gomp_thread_pool_reservoir): Add priority member.
11326 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
11327 priority.
11328 (parse_thread_pools): Likewise.
11329 * team.c (gomp_team_start): Call configuration provided
11330 gomp_adjust_thread_attr(). Destroy thread attributes if
11331 necessary.
11332 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
11333
11334 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11335
11336 * config/posix/pool.h: New.
11337 * config/rtems/pool.h: Likewise.
11338 * config/rtems/proc.c: Likewise.
11339 * libgomp.h (gomp_thread_destructor): Declare.
11340 * team.c: Include configuration provided "pool.h".
11341 (gomp_get_thread_pool): Define in configuration.
11342 (gomp_team_end): Call configuration defined
11343 gomp_release_thread_pool().
11344
11345 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11346
11347 * config/rtems/bar.c: New.
11348 * config/rtems/bar.h: Likewise.
11349 * config/rtems/mutex.c: Likewise.
11350 * config/rtems/mutex.h: Likewise.
11351 * config/rtems/sem.c: Likewise.
11352 * config/rtems/sem.h: Likewise.
11353 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
11354 <sys/lock.h> header file.
11355 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
11356 supported by Newlib.
11357 * configure: Regenerate.
11358
11359 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11360
11361 * team.c (gomp_new_thread_pool): Delete and move content to ...
11362 (gomp_get_thread_pool): ... new function. Allocate and
11363 initialize thread pool on demand.
11364 (get_last_team): Use gomp_get_thread_pool().
11365 (gomp_team_start): Delete thread pool initialization.
11366
11367 2015-09-03 Tom de Vries <tom (a] codesourcery.com>
11368
11369 PR tree-optimization/65637
11370 * testsuite/libgomp.c/autopar-2.c: New test.
11371
11372 2015-08-29 Tom de Vries <tom (a] codesourcery.com>
11373
11374 PR tree-optimization/46193
11375 * testsuite/libgomp.c/pr46193.c: New test.
11376
11377 2015-08-24 Nathan Sidwell <nathan (a] codesourcery.com>
11378
11379 libgomp/
11380 * libgomp.map: Add 4.0.2 version.
11381 * target.c (offload_image_descr): Add version field.
11382 (gomp_load_image_to_device): Add version argument. Adjust plugin
11383 call. Improve load mismatch diagnostic.
11384 (gomp_unload_image_from_device): Add version argument. Adjust plugin
11385 call.
11386 (GOMP_offload_regster): Make stub function, move bulk to ...
11387 (GOMP_offload_register_ver): ... here. Process version argument.
11388 (GOMP_offload_unregister): Make stub function, move bulk to ...
11389 (GOMP_offload_unregister_ver): ... here. Process version argument.
11390 (gomp_init_device): Process version field.
11391 (gomp_unload_device): Process version field.
11392 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
11393 macros. Check plugin version.
11394 * libgomp.h (gomp_device_descr): Add version function field. Adjust
11395 loader and unloader types.
11396 * oacc-host.c: Include gomp-constants.h.
11397 (host_version): New.
11398 (host_load_image, host_unload_image): Adjust.
11399 (host_dispatch): Add host_version.
11400 * plugin/plugin-nvptx.c: Include gomp-constants.h.
11401 (GOMP_OFFLOAD_version): New.
11402 (GOMP_OFFLOAD_load_image): Add version arg and check it.
11403 (GOMP_OFFLOAD_unload_image): Likewise.
11404 * plugin/plugin-host.c: Include gomp-constants.h.
11405 (GOMP_OFFLOAD_version): New.
11406 (GOMP_OFFLOAD_load_image): Add version arg.
11407 (GOMP_OFFLOAD_unload_image): Likewise.
11408
11409 2015-08-24 Tom de Vries <tom (a] codesourcery.com>
11410
11411 PR tree-optimization/65468
11412 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
11413
11414 2015-08-24 Tom de Vries <tom (a] codesourcery.com>
11415
11416 PR tree-optimization/65468
11417 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
11418
11419 2015-08-24 Joost VandeVondele <vondele (a] gnu.gcc.org>
11420
11421 PR libgomp/66761
11422 PR libgomp/67303
11423 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
11424 (gomp_iter_guided_next): Idem.
11425 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
11426 (gomp_iter_ull_guided_next): Idem.
11427 * config/linux/wait.h (do_spin): Idem.
11428
11429 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com>
11430
11431 * libgomp-plugin.h (enum offload_target_type): Remove
11432 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
11433 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
11434 * openacc.h (enum acc_device_t): Likewise.
11435 * openacc_lib.h: Likewise.
11436 * oacc-init.c (name_of_acc_device_t): Don't handle it.
11437 (acc_on_device): Just use __builtin_acc_on_device.
11438 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
11439 of acc_on_device builtin.
11440 * plugin/plugin-host.h: Remove file.
11441 * plugin/plugin-host.c: Likewise, but salvage some content into...
11442 * oacc-host.c: ... this file.
11443 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
11444 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
11445 * Makefile.in: Regenerate.
11446 * configure: Likewise.
11447 * testsuite/lib/libgomp.exp
11448 (check_effective_target_openacc_host_nonshm_selected): Remove.
11449 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
11450 ACC_DEVICE_TYPE=host_nonshm.
11451 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11452 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11453 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11454 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11455 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11456 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11457
11458 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com>
11459 Jakub Jelinek <jakub (a] redhat.com>
11460
11461 * config/nvptx/affinity.c: New file.
11462 * config/nvptx/alloc.c: Likewise.
11463 * config/nvptx/bar.c: Likewise.
11464 * config/nvptx/barrier.c: Likewise.
11465 * config/nvptx/critical.c: Likewise.
11466 * config/nvptx/env.c: Likewise.
11467 * config/nvptx/error.c: Likewise.
11468 * config/nvptx/fortran.c: Likewise.
11469 * config/nvptx/iter.c: Likewise.
11470 * config/nvptx/iter_ull.c: Likewise.
11471 * config/nvptx/libgomp-plugin.c: Likewise.
11472 * config/nvptx/lock.c: Likewise.
11473 * config/nvptx/loop.c: Likewise.
11474 * config/nvptx/loop_ull.c: Likewise.
11475 * config/nvptx/mutex.c: Likewise.
11476 * config/nvptx/oacc-async.c: Likewise.
11477 * config/nvptx/oacc-cuda.c: Likewise.
11478 * config/nvptx/oacc-host.c: Likewise.
11479 * config/nvptx/oacc-init.c: Likewise.
11480 * config/nvptx/oacc-mem.c: Likewise.
11481 * config/nvptx/oacc-parallel.c: Likewise.
11482 * config/nvptx/oacc-plugin.c: Likewise.
11483 * config/nvptx/omp-lock.h: Likewise.
11484 * config/nvptx/ordered.c: Likewise.
11485 * config/nvptx/parallel.c: Likewise.
11486 * config/nvptx/proc.c: Likewise.
11487 * config/nvptx/ptrlock.c: Likewise.
11488 * config/nvptx/sections.c: Likewise.
11489 * config/nvptx/sem.c: Likewise.
11490 * config/nvptx/single.c: Likewise.
11491 * config/nvptx/splay-tree.c: Likewise.
11492 * config/nvptx/target.c: Likewise.
11493 * config/nvptx/task.c: Likewise.
11494 * config/nvptx/team.c: Likewise.
11495 * config/nvptx/time.c: Likewise.
11496 * config/nvptx/work.c: Likewise.
11497 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
11498 * configure: Regenerate.
11499 * configure.tgt (config_path): Set to "nvptx" for target
11500 nvptx*-*-*.
11501
11502 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com>
11503
11504 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
11505
11506 2015-08-03 Nathan Sidwell <nathan (a] codesourcery.com>
11507
11508 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
11509 (cuda_errlist): Constify.
11510 (errmsg): Move into ...
11511 (cuda_error): ... here. Make smaller.
11512 (_XSTR, _STR): Delete.
11513 (cuda_synames): Delete.
11514 (verify_device_library): Delete.
11515 (nvptx_init): Don't call it.
11516
11517 2015-07-28 Tom de Vries <tom (a] codesourcery.com>
11518
11519 * testsuite/libgomp.c/uns-outer-4.c: New test.
11520
11521 2015-07-24 Cesar Philippidis <cesar (a] codesourcery.com>
11522
11523 * testsuite/libgomp.c/pr66714.c: New test.
11524
11525 2015-07-22 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
11526
11527 PR libgomp/66950
11528 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
11529 (fib_ref): New function.
11530 (fib): Correct corner cases in the recursion.
11531 (main): Replace the non-simd loop with fib_ref call.
11532 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
11533 subroutine.
11534 (fibonacci): Lower the parameter N to 30. Correct accordingly check
11535 for the last array element value. Replace the non-simd loop with
11536 fib_ref call. Remove redundant b_ref array. Remove the comparison
11537 of the last array element with according Fibonacci sequence element.
11538 (fib): Correct corner cases in the recursion.
11539
11540 2015-07-21 Nathan Sidwell <nathan (a] codesourcery.com>
11541
11542 * target.c (gomp_offload_image_to_device): Rename to ...
11543 (gomp_load_image_to_device): ... here.
11544 (GOMP_offload_register): Adjust call.
11545 (gomp_init_device): Likewise.
11546 (gomp_unload_image_from_device): New. Broken out of ...
11547 (GOMP_offload_unregister): ... here. Call it.
11548 (gomp_unload_device): New.
11549 * libgomp.h (gomp_unload_device): Declare.
11550 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
11551 mem maps.
11552
11553 2015-07-20 Nathan Sidwell <nathan (a] codesourcery.com>
11554
11555 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
11556 wait=-specific if.
11557 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
11558 !=0 condition.
11559 (goacc_waits): Move !num_waits handling to ...
11560 (GOACC_wait): ... here, the only caller that might have zero waits.
11561
11562 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
11563 (struct ptx_image_data): Move earlier, add fns field.
11564 (struct ptx_device): Add images and image_lock fields.
11565 (ptx_images, ptx_image_lock): Delete.
11566 (nvptx_open_device): Initialize images and image_lock fields.
11567 (nvptx_close_device): Destroy image_lock.
11568 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
11569 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
11570 fields.
11571
11572 2015-07-17 Nathan Sidwell <nathan (a] codesourcery.com>
11573
11574 * target.c (GOMP_offload_register): Use int for device type arg.
11575 (GOMP_offload_unregister): Likewise.
11576
11577 * target.c (struct_offload_image_descr): Constify host_table.
11578 (gomp_offload_image_to_device): Likewise.
11579 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
11580
11581 * libgomp.h (gomp_device_descr): Constify target data arguments.
11582 * target.c (struct offload_image_descr): Constify target_data.
11583 (gomp_offload_image_to_device): Likewise.
11584 (GOMP_offload_register): Likewise.
11585 (GOMP_offload_unregister): Likewise.
11586 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
11587 GOMP_OFFLOAD_unload_image): Constify target data.
11588 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
11589 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
11590
11591 2015-07-16 Nathan Sidwell <nathan (a] codesourcery.com>
11592
11593 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
11594 Workaround driver library const error.
11595 (struct nvptx_tdata, nvptx_tdata_t): New.
11596 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
11597 type.
11598
11599 2015-07-15 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
11600
11601 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
11602 of EPS parameter from integer to real.
11603 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
11604 type of EPS parameter from integer to real.
11605
11606 2015-07-15 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11607
11608 * team.c (get_last_team): New.
11609 (gomp_new_team): Recycle last non-nested team if possible.
11610 (gomp_team_end): Move team work share list free lock destruction
11611 to ...
11612 (free_team): ... here.
11613
11614 2015-07-14 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
11615
11616 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
11617 and ref from int to double. Replaced their comparison with
11618 an inequality of their difference and EPS.
11619 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
11620 comparison of pri and a reference number with an inequality of their
11621 difference and EPS.
11622 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
11623 the comparison of sum and sum_ref with an inequality of their
11624 difference and EPS.
11625 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
11626 the comparison of pri and a reference number with an inequality of
11627 their difference and EPS.
11628
11629 2015-07-13 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
11630
11631 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
11632 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
11633 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
11634 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
11635 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
11636 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
11637 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
11638 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
11639 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
11640 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
11641 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
11642 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
11643 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
11644 variables.
11645 (vec_mult): Likewise. Add #pragma omp taskwait.
11646 (main): Adjust caller.
11647 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
11648 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
11649 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
11650 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
11651 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
11652 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
11653 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
11654 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
11655 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
11656 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
11657 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
11658 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
11659 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
11660 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
11661 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
11662 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
11663 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
11664 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
11665 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
11666 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
11667 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
11668 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
11669 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
11670 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
11671 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
11672 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
11673 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
11674 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
11675 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
11676 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
11677 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
11678 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
11679 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
11680 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
11681 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
11682 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
11683 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
11684 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
11685 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
11686 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
11687 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
11688 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
11689 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
11690 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
11691 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
11692 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
11693 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
11694 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
11695 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
11696 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
11697 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
11698 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
11699 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
11700 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
11701 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
11702 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
11703 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
11704 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
11705 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
11706 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
11707 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
11708 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
11709 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
11710 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
11711 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
11712 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
11713 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
11714 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
11715 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
11716 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
11717 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
11718 (vec_mult): Add !$omp taskwait.
11719 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
11720 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
11721 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
11722 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
11723 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
11724 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
11725 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
11726 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
11727 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
11728 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
11729 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
11730 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
11731 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
11732 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
11733 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
11734 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
11735 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
11736 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
11737 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
11738 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
11739 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
11740 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
11741 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
11742 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
11743 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
11744 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
11745 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
11746 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
11747 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
11748 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
11749 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
11750 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
11751 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
11752 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
11753 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
11754 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
11755 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
11756 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
11757 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
11758 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
11759 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
11760 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
11761 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
11762 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
11763 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
11764 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
11765 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
11766 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
11767 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
11768 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
11769 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
11770 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
11771 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
11772 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
11773 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
11774 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
11775 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
11776 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
11777 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
11778 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
11779 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
11780 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
11781 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
11782 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
11783 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
11784 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
11785 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
11786
11787 2015-07-10 Tom de Vries <tom (a] codesourcery.com>
11788
11789 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
11790 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
11791
11792 2015-07-08 Thomas Schwinge <thomas (a] codesourcery.com>
11793
11794 PR libgomp/65099
11795 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
11796 in a 64-bit configuration.
11797 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
11798 offloading testing if no such device is available.
11799 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11800 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11801
11802 2015-07-08 Tom de Vries <tom (a] codesourcery.com>
11803
11804 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
11805 second call to f.
11806 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11807
11808 2015-07-07 Tom de Vries <tom (a] codesourcery.com>
11809
11810 PR tree-optimization/66642
11811 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
11812 iteration count case.
11813 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
11814 function, factor out of ...
11815 (main): ... here. Test low iteration count case.
11816
11817 2015-07-06 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11818
11819 * libgomp.h (gomp_thread_pool): Comment last_team field.
11820
11821 2015-07-02 Uros Bizjak <ubizjak (a] gmail.com>
11822
11823 * testsuite/libgomp.c++/pr66702-1.C: Require
11824 vect_simd_clones effective target.
11825 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
11826
11827 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
11828
11829 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11830 already set. Use DEFAULT_CFLAGS in dg-runtest.
11831 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
11832 "-O2".
11833
11834 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
11835
11836 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11837 already set. Use DEFAULT_CFLAGS in dg-runtest.
11838 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
11839 * testsuite/libgomp.c++/pr64824.C: Same.
11840 * testsuite/libgomp.c++/pr64868.C: Same.
11841 * testsuite/libgomp.c++/pr66199-1.C: Same.
11842 * testsuite/libgomp.c++/pr66199-2.C: Same.
11843 * testsuite/libgomp.c++/target-2.C: Same.
11844 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
11845 -std=<standard> option.
11846 * testsuite/libgomp.c++/udr-11.C: Same.
11847 * testsuite/libgomp.c++/udr-12.C: Same.
11848 * testsuite/libgomp.c++/udr-13.C: Same.
11849 * testsuite/libgomp.c++/udr-14.C: Same.
11850 * testsuite/libgomp.c++/udr-15.C: Same.
11851 * testsuite/libgomp.c++/udr-16.C: Same.
11852 * testsuite/libgomp.c++/udr-17.C: Same.
11853 * testsuite/libgomp.c++/udr-18.C: Same.
11854 * testsuite/libgomp.c++/udr-19.C: Same.
11855 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
11856 * testsuite/libgomp.c++/simd-1.C: Same.
11857 * testsuite/libgomp.c++/simd-2.C: Same.
11858 * testsuite/libgomp.c++/simd-3.C: Same.
11859 * testsuite/libgomp.c++/simd-4.C: Same.
11860 * testsuite/libgomp.c++/simd-5.C: Same.
11861 * testsuite/libgomp.c++/simd-6.C: Same.
11862 * testsuite/libgomp.c++/simd-7.C: Same.
11863 * testsuite/libgomp.c++/simd-8.C: Same.
11864 * testsuite/libgomp.c++/simd-9.C: Same.
11865 * testsuite/libgomp.c++/simd10.C: Same.
11866 * testsuite/libgomp.c++/simd11.C: Same.
11867 * testsuite/libgomp.c++/simd12.C: Same.
11868 * testsuite/libgomp.c++/simd13.C: Same.
11869
11870 2015-06-30 Jakub Jelinek <jakub (a] redhat.com>
11871
11872 PR middle-end/66702
11873 * testsuite/libgomp.c++/pr66702-1.C: New test.
11874 * testsuite/libgomp.c++/pr66702-2.C: New test.
11875
11876 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
11877
11878 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
11879 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
11880 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
11881 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
11882
11883 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
11884
11885 PR tree-optimization/66652
11886 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
11887 using restrict pointers.
11888 (main): Add arguments to calls to f.
11889 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11890
11891 2015-06-23 Andreas Tobler <andreast (a] gcc.gnu.org>
11892
11893 * configure.ac: Fix check for header <sys/sysctl.h>.
11894 * configure: Regenerate.
11895 * config.h.in: Likewise.
11896
11897 2015-06-23 Tom de Vries <tom (a] codesourcery.com>
11898
11899 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
11900 abort.
11901 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
11902
11903 2015-06-19 Thomas Schwinge <thomas (a] codesourcery.com>
11904
11905 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
11906 acc_device_nvidia.
11907
11908 PR libgomp/66518
11909 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
11910 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11911
11912 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
11913
11914 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
11915 dg-additional-options for any remaining options.
11916 * testsuite/libgomp.c/atomic-2.c: Same.
11917 * testsuite/libgomp.c/atomic-4.c: Same.
11918 * testsuite/libgomp.c/atomic-5.c: Same.
11919 * testsuite/libgomp.c/atomic-6.c: Same.
11920 * testsuite/libgomp.c/autopar-1.c: Same.
11921 * testsuite/libgomp.c/copyin-1.c: Same.
11922 * testsuite/libgomp.c/copyin-2.c: Same.
11923 * testsuite/libgomp.c/copyin-3.c: Same.
11924 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
11925 * testsuite/libgomp.c/nestedfn-5.c: Same.
11926 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
11927 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
11928 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
11929 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11930 * testsuite/libgomp.c/pr32362-1.c: Same.
11931 * testsuite/libgomp.c/pr32362-2.c: Same.
11932 * testsuite/libgomp.c/pr32362-3.c: Same.
11933 * testsuite/libgomp.c/pr39591-1.c: Same.
11934 * testsuite/libgomp.c/pr39591-2.c: Same.
11935 * testsuite/libgomp.c/pr39591-3.c: Same.
11936 * testsuite/libgomp.c/pr58392.c: Same.
11937 * testsuite/libgomp.c/pr58756.c: Same.
11938 * testsuite/libgomp.c/simd-1.c: Same.
11939 * testsuite/libgomp.c/simd-10.c: Same.
11940 * testsuite/libgomp.c/simd-11.c: Same.
11941 * testsuite/libgomp.c/simd-12.c: Same.
11942 * testsuite/libgomp.c/simd-13.c: Same.
11943 * testsuite/libgomp.c/simd-14.c: Same.
11944 * testsuite/libgomp.c/simd-15.c: Same.
11945 * testsuite/libgomp.c/simd-2.c: Same.
11946 * testsuite/libgomp.c/simd-3.c: Same.
11947 * testsuite/libgomp.c/simd-4.c: Same.
11948 * testsuite/libgomp.c/simd-5.c: Same.
11949 * testsuite/libgomp.c/simd-6.c: Same.
11950 * testsuite/libgomp.c/simd-7.c: Same.
11951 * testsuite/libgomp.c/simd-8.c: Same.
11952 * testsuite/libgomp.c/simd-9.c: Same.
11953
11954 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
11955
11956 * testsuite/libgomp.c/pr35625.c: Fix typo.
11957
11958 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
11959
11960 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
11961 in dg-options.
11962 * testsuite/libgomp.c/atomic-3.c: Same.
11963 * testsuite/libgomp.c/debug-1.c: Same.
11964 * testsuite/libgomp.c/nqueens-1.c: Same.
11965 * testsuite/libgomp.c/pr26171.c: Same.
11966 * testsuite/libgomp.c/pr48591.c: Same.
11967 * testsuite/libgomp.c/pr64824.c: Same.
11968 * testsuite/libgomp.c/pr64868.c: Same.
11969 * testsuite/libgomp.c/pr66133.c: Same.
11970 * testsuite/libgomp.c/pr66199-1.c: Same.
11971 * testsuite/libgomp.c/pr66199-2.c: Same.
11972 * testsuite/libgomp.c/target-8.c: Same.
11973
11974 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
11975
11976 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
11977 -std={gnu99,c99}.
11978 * testsuite/libgomp.c/for-1.c: Same.
11979 * testsuite/libgomp.c/for-2.c: Same.
11980 * testsuite/libgomp.c/for-3.c: Same.
11981 * testsuite/libgomp.c/pr35625.c: Same.
11982 * testsuite/libgomp.c/pr39154.c: Same.
11983 * testsuite/libgomp.c/simd-16.c: Same.
11984 * testsuite/libgomp.c/simd-17.c: Same.
11985
11986 2015-06-13 Tom de Vries <tom (a] codesourcery.com>
11987
11988 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
11989
11990 2015-06-13 Tom de Vries <tom (a] codesourcery.com>
11991
11992 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
11993 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11994 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
11995 (N): Define.
11996 (main): Use N instead of hardcoded constants.
11997
11998 2015-06-05 Tom de Vries <tom (a] codesourcery.com>
11999
12000 merge from gomp4 branch:
12001 2015-05-28 Tom de Vries <tom (a] codesourcery.com>
12002
12003 PR tree-optimization/65443
12004 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
12005 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
12006 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
12007
12008 2015-05-29 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org>
12009
12010 * testsuite/libgomp.graphite/bounds.c: Adjust for
12011 cleanup-tree-dump removal.
12012 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
12013 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12014 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12015 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12016 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12017 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12018 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12019 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12020 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12021 * testsuite/libgomp.graphite/pr41118.c: Likewise.
12022
12023 2015-05-28 Uros Bizjak <ubizjak (a] gmail.com>
12024
12025 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
12026 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
12027 (futex_wake) [!__x86_64__]: Ditto.
12028
12029 2015-05-28 Julian Brown <julian (a] codesourcery.com>
12030
12031 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
12032 function comment. Only call gomp_fatal if new argument is true.
12033 (acc_dev_num_out_of_range): New function.
12034 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
12035 acc_dev_num_out_of_range as appropriate.
12036 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12037 (acc_get_device_num, acc_set_device_num): Update calls to
12038 resolve_device.
12039 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
12040 output.
12041
12042 2015-05-28 Julian Brown <julian (a] codesourcery.com>
12043
12044 PR libgomp/65742
12045 * oacc-init.c (plugin/plugin-host.h): Include.
12046 (acc_on_device): Check whether we're in an offloaded region for
12047 host_nonshm
12048 plugin. Don't use __builtin_acc_on_device.
12049 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
12050 nonshm_exec flag in thread-local data.
12051 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
12052 data for host_nonshm plugin.
12053 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
12054 for host_nonshm plugin.
12055 * plugin/plugin-host.h: New.
12056
12057 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com>
12058
12059 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
12060
12061 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com>
12062
12063 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
12064 Declare as int.
12065 (FUTEX_PRIVATE_FLAG): Remove L suffix.
12066 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
12067 Declare as int.
12068
12069 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com>
12070
12071 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
12072
12073 2015-05-27 Chung-Lin Tang <cltang (a] codesourcery.com>
12074
12075 * target.c (gomp_map_pointer): New function abstracting out
12076 GOMP_MAP_POINTER handling.
12077 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
12078 gomp_map_pointer().
12079
12080 2015-05-19 Jakub Jelinek <jakub (a] redhat.com>
12081
12082 PR middle-end/66199
12083 * testsuite/libgomp.c/pr66199-1.c: New test.
12084 * testsuite/libgomp.c/pr66199-2.c: New test.
12085 * testsuite/libgomp.c++/pr66199-1.C: New test.
12086 * testsuite/libgomp.c++/pr66199-2.C: New test.
12087 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
12088 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
12089
12090 2015-05-19 Julian Brown <julian (a] codesourcery.com>
12091
12092 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
12093 on cuInit failure.
12094
12095 2015-05-13 Jakub Jelinek <jakub (a] redhat.com>
12096
12097 PR middle-end/66133
12098 * testsuite/libgomp.c/pr66133.c: New test.
12099
12100 2015-05-13 Michael Haubenwallner <michael.haubenwallner (a] ssi-schaefer.com>
12101
12102 * Makefile.in: Regenerated with automake-1.11.6.
12103 * aclocal.m4: Likewise.
12104 * config.h.in: Likewise.
12105 * configure: Likewise.
12106 * testsuite/Makefile.in: Likewise.
12107
12108 2015-05-08 Jason Merrill <jason (a] redhat.com>
12109
12110 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
12111 _Complex.
12112
12113 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
12114
12115 2015-05-06 Julian Brown <julian (a] codesourcery.com>
12116
12117 * oacc-init.c (acc_device_lock): Add explanatory comment.
12118 (resolve_device): Add comment about locking requirement.
12119 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
12120 gomp_init_device and gomp_fini_device calls.
12121 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12122 (acc_get_device_num, acc_set_device_num): Add locking around
12123 resolve_device and gomp_init_device calls.
12124
12125 2015-05-06 Julian Brown <julian (a] codesourcery.com>
12126
12127 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
12128 goacc_thread_lock on error paths.
12129 * oacc-mem.c (lookup_host): Remove locking from function. Note
12130 locking requirement for caller in function comment.
12131 (lookup_dev): Likewise.
12132 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
12133 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
12134 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
12135 Add locking.
12136
12137 2015-05-05 Thomas Schwinge <thomas (a] codesourcery.com>
12138
12139 PR testsuite/65205
12140 PR libgomp/65993
12141 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
12142 don't expect "0x" prefix for "%p" format specifier, don't expect
12143 "(nil)" for NULL pointer.
12144 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12145 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12146 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12147 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12148 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12149 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12150 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12151 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12152 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12153 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12154 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12155 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12156 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12157 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12158 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12159 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12160 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12161 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12162 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12163 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12164 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12165 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12166 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12167 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12168 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12169 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12170 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12171 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12172 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
12173 accurately specify what we're looking for.
12174 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12175 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12176 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12177 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12178 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12179
12180 2015-04-30 James Norris <jnorris (a] codesourcery.com>
12181
12182 PR testsuite/65205
12183 * testsuite/lib/libgomp.exp
12184 (check_effective_target_openacc_host_selected)
12185 (check_effective_target_openacc_host_nonshm_selected): New
12186 procedures.
12187 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
12188 dg-shouldfail.
12189 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12190 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12191 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12192 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12193 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12194 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12195 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12196 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12197 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12198 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12199 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12200 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12201 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12202 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12203 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12204 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12205 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12206 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12207 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12208 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12209 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12210 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12211 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12212 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12213 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12214 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12215 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12216 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12217 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12218 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12219 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12220 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12221 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12222 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12223 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12224 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12225 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12226 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12227 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12228 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12229 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12230 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12231 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12232
12233 2015-04-08 Julian Brown <julian (a] codesourcery.com>
12234
12235 * libgomp.h (target_mem_desc: Remove mem_map field.
12236 (acc_dispatch_t): Remove open_device_func, close_device_func,
12237 get_device_num_func, set_device_num_func, target_data members.
12238 Change create_thread_data_func argument to device number instead of
12239 generic pointer.
12240 * oacc-async.c (assert.h): Include.
12241 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
12242 (acc_wait_all, acc_wait_all_async): Use current host thread's
12243 active device, not base_dev.
12244 * oacc-cuda.c (acc_get_current_cuda_device)
12245 (acc_get_current_cuda_context, acc_get_cuda_stream)
12246 (acc_set_cuda_stream): Likewise.
12247 * oacc-host.c (host_dispatch): Don't set open_device_func,
12248 close_device_func, get_device_num_func or set_device_num_func.
12249 * oacc-init.c (base_dev, init_key): Remove.
12250 (cached_base_dev): New.
12251 (name_of_acc_device_t): New.
12252 (acc_init_1): Initialise default-numbered device, not zeroth.
12253 (acc_shutdown_1): Close all devices of a given type.
12254 (goacc_destroy_thread): Don't use base_dev.
12255 (lazy_open, lazy_init, lazy_init_and_open): Remove.
12256 (goacc_attach_host_thread_to_device): New.
12257 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
12258 (acc_get_num_devices): Don't use base_dev.
12259 (acc_set_device_type): Reimplement.
12260 (acc_get_device_type): Don't use base_dev.
12261 (acc_get_device_num): Tweak logic.
12262 (acc_set_device_num): Likewise.
12263 (acc_on_device): Use acc_get_device_type.
12264 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
12265 (goacc_lazy_initialize): Reimplement with acc_init and
12266 goacc_attach_host_thread_to_device.
12267 * oacc-int.h (goacc_thread): Add base_dev field.
12268 (base_dev): Remove extern declaration.
12269 (goacc_attach_host_thread_to_device): Add prototype.
12270 * oacc-mem.c (acc_malloc): Use current thread's device instead of
12271 base_dev.
12272 (acc_free): Likewise.
12273 (acc_memcpy_to_device): Likewise.
12274 (acc_memcpy_from_device): Likewise.
12275 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
12276 goacc_lazy_initialize (throughout).
12277 (GOACC_parallel): Use tgt_offset to locate target functions.
12278 * target.c (gomp_map_vars): Don't set tgt->mem_map.
12279 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
12280 (gomp_load_plugin_for_device): Remove open_device, close_device,
12281 get_device_num, set_device_num openacc hook initialisation. Don't set
12282 openacc.target_data.
12283 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
12284 (GOMP_OFFLOAD_openacc_close_device)
12285 (GOMP_OFFLOAD_openacc_get_device_num)
12286 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
12287 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
12288 to int.
12289 * plugin/plugin-nvptx.c (ptx_inited): Remove.
12290 (instantiated_devices, ptx_dev_lock): New.
12291 (struct ptx_image_data): New.
12292 (ptx_devices, ptx_images, ptx_image_lock): New.
12293 (fini_streams_for_device): Reorder cuStreamDestroy call.
12294 (nvptx_get_num_devices): Remove forward declaration.
12295 (nvptx_init): Change return type to bool.
12296 (nvptx_fini): Remove.
12297 (nvptx_attach_host_thread_to_device): New.
12298 (nvptx_open_device): Return struct ptx_device* instead of void*.
12299 (nvptx_close_device): Change argument type to struct ptx_device*,
12300 return type to void.
12301 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
12302 (kernel_target_data, kernel_host_table): Remove static globals.
12303 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
12304 (GOMP_OFFLOAD_init_device): Reimplement.
12305 (GOMP_OFFLOAD_fini_device): Likewise.
12306 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
12307 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
12308 (GOMP_OFFLOAD_host2dev): Use ORD argument.
12309 (GOMP_OFFLOAD_openacc_open_device)
12310 (GOMP_OFFLOAD_openacc_close_device)
12311 (GOMP_OFFLOAD_openacc_set_device_num)
12312 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
12313 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
12314 (device number).
12315
12316 testsuite/
12317 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
12318
12319 2015-04-06 Ilya Verbin <ilya.verbin (a] intel.com>
12320
12321 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
12322 * libgomp.h (struct gomp_memory_mapping): Remove.
12323 (struct target_mem_desc): Change type of mem_map from
12324 gomp_memory_mapping * to splay_tree_s *.
12325 (struct gomp_device_descr): Remove register_image_func, get_table_func.
12326 Add load_image_func, unload_image_func.
12327 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
12328 Remove offload_regions_registered.
12329 (gomp_init_tables): Remove.
12330 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12331 to splay_tree_s *.
12332 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
12333 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
12334 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
12335 offload_regions_registered.
12336 Initialize load_image_func, unload_image_func, mem_map.root.
12337 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
12338 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
12339 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
12340 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
12341 gomp_memory_mapping *. Use dev's lock and splay_tree.
12342 (lookup_dev): Use dev's lock.
12343 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
12344 (acc_is_present): Likewise.
12345 (acc_map_data): Likewise.
12346 (acc_unmap_data): Likewise. Use dev's lock.
12347 (present_create_copy): Likewise.
12348 (delete_copyout): Pass dev to lookup_host instead of mem_map.
12349 (update_dev_host): Likewise.
12350 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
12351 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
12352 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
12353 (GOMP_OFFLOAD_get_table): Remove
12354 (GOMP_OFFLOAD_load_image): New function.
12355 (GOMP_OFFLOAD_unload_image): New function.
12356 * target.c (register_lock): New mutex for offload image registration.
12357 (num_devices): Do not guard with PLUGIN_SUPPORT.
12358 (gomp_realloc_unlock): New static function.
12359 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
12360 before gomp_fatal.
12361 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
12362 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
12363 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
12364 mem_map's.
12365 (gomp_unmap_vars): Likewise.
12366 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
12367 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
12368 (gomp_offload_image_to_device): New static function.
12369 (GOMP_offload_register): Add mutex lock.
12370 Call gomp_offload_image_to_device for all initialized devices.
12371 Replace gomp_realloc with gomp_realloc_unlock.
12372 (GOMP_offload_unregister): New function.
12373 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
12374 get_table_func from the plugin with calls to init_device_func and
12375 gomp_offload_image_to_device.
12376 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12377 to splay_tree_s *.
12378 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
12379 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
12380 (GOMP_target_data): Do not call gomp_init_tables.
12381 (GOMP_target_update): Likewise. Remove argument from gomp_update.
12382 (gomp_load_plugin_for_device): Replace register_image and get_table
12383 with load_image and unload_image in DLSYM ().
12384 (gomp_register_images_for_device): Remove function.
12385 (gomp_target_init): Do not initialize current_device.mem_map.*,
12386 current_device.offload_regions_registered.
12387 Remove call to gomp_register_images_for_device.
12388 Do not free offload_images and num_offload_images.
12389
12390 2015-03-30 Jakub Jelinek <jakub (a] redhat.com>
12391
12392 PR fortran/65597
12393 * testsuite/libgomp.fortran/pr65597.f90: New test.
12394
12395 2015-03-27 Tom de Vries <tom (a] codesourcery.com>
12396
12397 PR testsuite/65594
12398 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
12399 (init, check): New function.
12400 (foo): Change return type to void.
12401 (main): Call init and check.
12402
12403 2015-03-27 Tom de Vries <tom (a] codesourcery.com>
12404
12405 PR testsuite/65594
12406 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
12407 (foo): Use M for non-inner loops to scale down test-case.
12408
12409 2015-03-25 Kai Tietz <ktietz (a] redhat.com>
12410
12411 PR libgomp/64972
12412 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
12413 (GOACC_data_start): Likewise.
12414 * target.c (gomp_map_vars): Likewise.
12415
12416 2015-03-21 John David Anglin <danglin (a] gcc.gnu.org>
12417
12418 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
12419 hppa*-*-hpux*.
12420
12421 2015-03-19 Jakub Jelinek <jakub (a] redhat.com>
12422
12423 * testsuite/libgomp.c/target-10.c: New test.
12424 * testsuite/libgomp.c++/target-4.C: New test.
12425
12426 2015-03-13 Ilya Verbin <ilya.verbin (a] intel.com>
12427
12428 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
12429 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
12430
12431 2015-03-13 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
12432
12433 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
12434 * configure.ac (*-*-rtems*): Assume Pthread is supported.
12435 (pthread.h): Check for this header file.
12436 * configure: Regenerate.
12437
12438 2015-02-25 Tom de Vries <tom (a] codesourcery.com>
12439
12440 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
12441 (check_reduction_op, check_reduction_macro, max, min):
12442 Declare.
12443 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
12444 function.
12445 (main): Use new functions.
12446
12447 2015-02-18 Ilya Tocar <ilya.tocar (a] intel.com>
12448
12449 * target.c (gomp_load_plugin_for_device): Use const char * instead of
12450 char * for variables holding dlerror return values.
12451 (DLSYM_OPT): Ditto.
12452
12453 2015-02-17 Thomas Schwinge <thomas (a] codesourcery.com>
12454
12455 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
12456
12457 2015-02-17 Thomas Schwinge <thomas (a] codesourcery.com>
12458 Cesar Philippidis <cesar (a] codesourcery.com>
12459
12460 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
12461 GOACC_ctaid, and GOACC_nctaid routines.
12462
12463 2015-02-11 Jakub Jelinek <jakub (a] redhat.com>
12464
12465 PR c/64824
12466 * testsuite/libgomp.c/atomic-18.c: New test.
12467 * testsuite/libgomp.c++/atomic-16.C: New test.
12468
12469 2015-02-04 Jakub Jelinek <jakub (a] redhat.com>
12470
12471 PR c/64824
12472 PR c/64868
12473 * testsuite/libgomp.c/pr64824.c: New test.
12474 * testsuite/libgomp.c/pr64868.c: New test.
12475 * testsuite/libgomp.c++/pr64824.C: New test.
12476 * testsuite/libgomp.c++/pr64868.C: New test.
12477
12478 2015-02-01 David Edelsohn <dje.gcc (a] gmail.com>
12479
12480 PR libgomp/64635
12481 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
12482 Link with -lpthread.
12483 * config/aix/plugin-suffix.h: Delete.
12484
12485 2015-01-28 Jack Howarth <howarth.at.gcc (a] gmail.com>
12486
12487 PR libgomp/64635
12488 * configure.tgt (*-*-aix*): Use config_path "aix posix".
12489 (*-*-darwin*): Use config_path "bsd darwin posix".
12490 (*-*-hpux*): Use config_path "hpux posix".
12491 * target.c: Add include of plugin-suffix.h and use
12492 SONAME_SUFFIX macro.
12493 * config/aix/plugin-suffix.h: New file.
12494 * config/darwin/plugin-suffix.h: New file.
12495 * config/hpux/plugin-suffix.h: New file.
12496 * config/posix/plugin-suffix.h: New file.
12497
12498 2015-01-23 Jakub Jelinek <jakub (a] redhat.com>
12499
12500 PR middle-end/64734
12501 * libgomp.c/pr64734.c: New test.
12502
12503 2015-01-23 Tom de Vries <tom (a] codesourcery.com>
12504
12505 PR libgomp/64672
12506 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
12507
12508 2015-01-23 Tom de Vries <tom (a] codesourcery.com>
12509
12510 PR libgomp/64707
12511 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
12512 dg-options.
12513
12514 2015-01-19 Thomas Schwinge <thomas (a] codesourcery.com>
12515
12516 PR libgomp/64625
12517 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
12518 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
12519 formal parameter. Update all users.
12520 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
12521 Document unused formal parameter.
12522
12523 2015-01-16 Thomas Schwinge <thomas (a] codesourcery.com>
12524
12525 * oacc-parallel.c: Don't include <alloca.h>.
12526 (GOACC_parallel): Use gomp_alloca instead of alloca.
12527
12528 2015-01-16 Gerald Pfeifer <gerald (a] pfeifer.com>
12529
12530 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
12531
12532 2015-01-15 Thomas Schwinge <thomas (a] codesourcery.com>
12533 James Norris <jnorris (a] codesourcery.com>
12534 Tom de Vries <tom (a] codesourcery.com>
12535 Julian Brown <julian (a] codesourcery.com>
12536 Cesar Philippidis <cesar (a] codesourcery.com>
12537 Nathan Sidwell <nathan (a] codesourcery.com>
12538 Tobias Burnus <burnus (a] net-b.de>
12539
12540 * Makefile.am (search_path): Add $(top_srcdir)/../include.
12541 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
12542 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
12543 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
12544 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
12545 Include $(top_srcdir)/plugin/Makefrag.am.
12546 (nodist_libsubinclude_HEADERS): Add openacc.h.
12547 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
12548 openacc.f90, openacc.mod, openacc_kinds.mod.
12549 (omp_lib.mod): Generalize into...
12550 (%.mod): ... this new rule.
12551 (openacc_kinds.mod, openacc.mod): New rules.
12552 * plugin/configfrag.ac: New file.
12553 * configure.ac: Move plugin/offloading support into it. Include
12554 it. Instantiate testsuite/libgomp-test-support.pt.exp.
12555 * plugin/Makefrag.am: New file.
12556 * testsuite/Makefile.am (OFFLOAD_TARGETS)
12557 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
12558 export.
12559 (libgomp-test-support.exp): New rule.
12560 (all-local): Depend on it.
12561 * Makefile.in: Regenerate.
12562 * testsuite/Makefile.in: Regenerate.
12563 * config.h.in: Likewise.
12564 * configure: Likewise.
12565 * configure.tgt: Harden shell syntax.
12566 * env.c: Include "oacc-int.h".
12567 (parse_acc_device_type): New function.
12568 (gomp_debug_var, goacc_device_type, goacc_device_num): New
12569 variables.
12570 (initialize_env): Initialize those. Call
12571 goacc_runtime_initialize.
12572 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
12573 (gomp_fatal): Call gomp_vfatal.
12574 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
12575 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
12576 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
12577 (splay_tree_node, splay_tree, splay_tree_key)
12578 (struct target_mem_desc, struct splay_tree_key_s)
12579 (struct gomp_memory_mapping, struct acc_dispatch_t)
12580 (struct gomp_device_descr, gomp_acc_insert_pointer)
12581 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
12582 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
12583 (gomp_free_memmap, gomp_fini_device): New declarations.
12584 (gomp_vdebug, gomp_debug): New macros.
12585 Include "splay-tree.h".
12586 * libgomp.map (OACC_2.0): New symbol version. Use for
12587 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
12588 acc_set_device_type_h_, acc_get_device_type,
12589 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
12590 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
12591 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
12592 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
12593 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
12594 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
12595 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
12596 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
12597 acc_copyin_array_h_, acc_present_or_copyin,
12598 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
12599 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
12600 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
12601 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
12602 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
12603 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
12604 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
12605 acc_update_device, acc_update_device_32_h_,
12606 acc_update_device_64_h_, acc_update_device_array_h_,
12607 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
12608 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
12609 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
12610 acc_is_present_64_h_, acc_is_present_array_h_,
12611 acc_memcpy_to_device, acc_memcpy_from_device,
12612 acc_get_current_cuda_device, acc_get_current_cuda_context,
12613 acc_get_cuda_stream, acc_set_cuda_stream.
12614 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
12615 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
12616 GOACC_update, GOACC_wait, GOACC_get_thread_num,
12617 GOACC_get_num_threads.
12618 (GOMP_PLUGIN_1.0): New symbol version. Use for
12619 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
12620 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
12621 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
12622 GOMP_PLUGIN_acc_thread.
12623 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
12624 environment variable.
12625 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
12626 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
12627 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
12628 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
12629 (splay_tree_remove): New declarations.
12630 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
12631 (splay_tree_remove, splay_tree_lookup): Move into...
12632 * splay-tree.c: ... this new file.
12633 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
12634 (splay_tree_node, splay_tree, splay_tree_key)
12635 (struct target_mem_desc, struct splay_tree_key_s)
12636 (struct gomp_device_descr): Don't declare.
12637 (num_devices_openmp): New variable.
12638 (gomp_get_num_devices ): Use it.
12639 (gomp_init_targets_once): New function.
12640 (gomp_get_num_devices ): Use it.
12641 (get_kind, gomp_copy_from_async, gomp_free_memmap)
12642 (gomp_fini_device, gomp_register_image_for_device): New functions.
12643 (gomp_map_vars): Add devaddrs parameter.
12644 (gomp_update): Add mm parameter.
12645 (gomp_init_device): Move most of it into...
12646 (gomp_init_tables): ... this new function.
12647 (gomp_register_images_for_device): Remove function.
12648 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
12649 Make them hidden instead of static.
12650 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
12651 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
12652 (GOMP_target_end_data, GOMP_target_update)
12653 (gomp_load_plugin_for_device, gomp_target_init): Update for
12654 OpenACC changes.
12655 * oacc-async.c: New file.
12656 * oacc-cuda.c: Likewise.
12657 * oacc-host.c: Likewise.
12658 * oacc-init.c: Likewise.
12659 * oacc-int.h: Likewise.
12660 * oacc-mem.c: Likewise.
12661 * oacc-parallel.c: Likewise.
12662 * oacc-plugin.c: Likewise.
12663 * oacc-plugin.h: Likewise.
12664 * oacc-ptx.h: Likewise.
12665 * openacc.f90: Likewise.
12666 * openacc.h: Likewise.
12667 * openacc_lib.h: Likewise.
12668 * plugin/plugin-host.c: Likewise.
12669 * plugin/plugin-nvptx.c: Likewise.
12670 * libgomp-plugin.c: Likewise.
12671 * libgomp-plugin.h: Likewise.
12672 * libgomp_target.h: Remove file after merging content into the
12673 former file. Update all users.
12674 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
12675 (offload_targets_s, offload_targets_s_openacc): New variables.
12676 (check_effective_target_openacc_nvidia_accel_present)
12677 (check_effective_target_openacc_nvidia_accel_selected): New
12678 procedures.
12679 (libgomp_init): Update for OpenACC changes.
12680 * testsuite/libgomp-test-support.exp.in: New file.
12681 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
12682 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12683 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12684 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
12685 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
12686 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
12687 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
12688 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
12689 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12690 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
12691 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
12692 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
12693 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
12694 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12695 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
12696 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12697 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
12698 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
12699 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
12700 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
12701 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
12702 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
12703 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
12704 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
12705 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12706 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
12707 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
12708 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
12709 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
12710 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
12711 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12712 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12713 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12714 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
12715 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
12716 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12717 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
12718 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12719 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
12720 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
12721 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
12722 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
12723 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12724 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12725 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12726 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
12727 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12728 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12729 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12730 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12731 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12732 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
12733 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12734 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12735 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12736 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12737 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12738 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12739 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12740 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
12741 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
12742 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
12743 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12744 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12745 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12746 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
12747 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
12748 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12749 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12750 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12751 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
12752 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12753 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12754 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12755 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
12756 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
12757 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12758 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12759 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
12760 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
12761 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
12762 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
12763 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12764 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12765 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12766 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
12767 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
12768 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12769 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12770 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
12771 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
12772 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
12773 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
12774 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12775 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12776 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12777 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12778 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
12779 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12780 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12781 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
12782 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
12783 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
12784 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12785 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
12786 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
12787 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
12788 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
12789 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
12790 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12791 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
12792 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
12793 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12794 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
12795 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
12796 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
12797 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
12798 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
12799 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
12800 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
12801 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
12802 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
12803 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
12804 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
12805 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
12806 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
12807 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
12808 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
12809 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
12810 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
12811 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
12812 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
12813 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12814 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
12815 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
12816 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12817 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12818 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12819 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12820 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
12821 Likewise.
12822 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
12823 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
12824 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
12825 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
12826 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
12827 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
12828 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12829 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12830 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12831 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12832 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12833 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12834 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12835 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
12836 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
12837 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
12838 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
12839 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
12840 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
12841 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
12842 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
12843 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
12844 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
12845 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
12846 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12847 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
12848 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12849 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12850 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
12851 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
12852 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
12853 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
12854 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
12855 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12856 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
12857 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
12858 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
12859 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
12860 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
12861 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
12862 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
12863 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
12864 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
12865 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
12866 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
12867 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
12868 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
12869 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12870 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12871 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12872 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12873 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12874 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12875 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12876 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12877 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12878 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12879 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12880 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12881 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12882
12883 2015-01-10 Thomas Schwinge <thomas (a] codesourcery.com>
12884 Julian Brown <julian (a] codesourcery.com>
12885 David Malcolm <dmalcolm (a] redhat.com>
12886
12887 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
12888 to "GNU Offloading and Multi Processing Runtime Library". Change
12889 all users.
12890 * configure: Regenerate.
12891 * libgomp.texi: Update.
12892
12893 2015-01-08 Thomas Schwinge <thomas (a] codesourcery.com>
12894
12895 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
12896 "$tgt_dir/lib32".
12897 * configure: Regenerate.
12898
12899 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
12900 "intelmic" in $offload_targets.
12901
12902 2015-01-05 Jakub Jelinek <jakub (a] redhat.com>
12903
12904 Update copyright years.
12905
12906 * libgomp.texi: Bump @copying's copyright year.
12907
12908 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov (a] arm.com>
12909
12910 * testsuite/lib/libgomp.exp: Load target-utils.exp.
12911 Move load of target-supports.exp earlier.
12912
12913 2014-12-10 Ilya Verbin <ilya.verbin (a] intel.com>
12914
12915 * testsuite/libgomp.c/target-9.c: New test.
12916
12917 2014-12-09 Varvara Rainchik <varvara.rainchik (a] intel.com>
12918
12919 * config.h.in: Regenerate.
12920 * configure: Regenerate.
12921 * configure.ac: Add GCC_CHECK_EMUTLS.
12922 * libgomp.h: Add check for USE_EMUTLS: this case
12923 is equal to HAVE_TLS.
12924 * team.c: Likewise.
12925
12926 2014-12-03 Uros Bizjak <ubizjak (a] gmail.com>
12927
12928 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
12929
12930 2014-11-28 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
12931 Ilya Verbin <ilya.verbin (a] intel.com>
12932
12933 * testsuite/libgomp.c/target-critical-1.c: New test.
12934
12935 2014-11-26 Jakub Jelinek <jakub (a] redhat.com>
12936
12937 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
12938 to dg-options unless expensive testing is on.
12939 (TESTITERS): Define to N if not defined.
12940 (main): Use TESTITERS instead of N.
12941 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
12942 dg-additional-options depending on whether expensive testing is on.
12943 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
12944 Decrease N to 100000 and CHUNKSZ to 10000.
12945
12946 2014-11-24 Jakub Jelinek <jakub (a] redhat.com>
12947
12948 PR fortran/63938
12949 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
12950 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
12951
12952 2014-11-21 Steve Ellcey <sellcey (a] imgtec.com>
12953
12954 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
12955
12956 2014-11-21 H.J. Lu <hongjiu.lu (a] intel.com>
12957
12958 PR bootstrap/63784
12959 * configure: Regenerated.
12960
12961 2014-11-19 Uros Bizjak <ubizjak (a] gmail.com>
12962
12963 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
12964 vect_simd_clones effective target.
12965 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
12966
12967 2014-11-14 Jakub Jelinek <jakub (a] redhat.com>
12968
12969 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
12970 of 32 as block_size.
12971 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
12972 instead of 32 as block_size.
12973
12974 2014-11-13 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
12975 Ilya Verbin <ilya.verbin (a] intel.com>
12976
12977 * Makefile.in: Regenerate.
12978 * configure: Regenerate.
12979 * configure.ac: Set up offload_additional_options,
12980 offload_additional_lib_paths and offload_targets.
12981 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
12982 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
12983 * testsuite/Makefile.in: Regenerate.
12984 * testsuite/lib/libgomp.exp (libgomp_init): Append
12985 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
12986 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
12987 build directory to LD_LIBRARY_PATH for intelmic offload targets.
12988
12989 2014-11-13 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
12990 Ilya Verbin <ilya.verbin (a] intel.com>
12991 Kirill Yukhin <kirill.yukhin (a] intel.com>
12992 Ilya Tocar <ilya.tocar (a] intel.com>
12993
12994 * testsuite/lib/libgomp.exp
12995 (check_effective_target_offload_device): New.
12996 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
12997 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
12998 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
12999 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
13000 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
13001 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
13002 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
13003 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
13004 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
13005 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
13006 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
13007 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
13008 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
13009 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
13010 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
13011 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
13012 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
13013 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
13014 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
13015 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
13016 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
13017 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
13018 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
13019 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
13020 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
13021 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
13022 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
13023 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
13024 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
13025 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
13026 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
13027 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
13028 * testsuite/libgomp.c/target-7.c: Fix test.
13029 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
13030 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
13031 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
13032 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
13033 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
13034 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
13035 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
13036 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
13037 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
13038 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
13039 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
13040 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
13041 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
13042 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
13043 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
13044 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
13045 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
13046 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
13047 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13048 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
13049 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
13050 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
13051 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
13052 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
13053 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
13054 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
13055 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
13056 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
13057 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
13058 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
13059 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
13060
13061 2014-11-13 Jakub Jelinek <jakub (a] redhat.com>
13062 Ilya Verbin <ilya.verbin (a] intel.com>
13063 Thomas Schwinge <thomas (a] codesourcery.com>
13064 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
13065
13066 * libgomp.map (GOMP_4.0.1): New symbol version.
13067 Add GOMP_offload_register.
13068 * libgomp_target.h: New file.
13069 * splay-tree.h: New file.
13070 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
13071 (gomp_target_init): New forward declaration.
13072 (gomp_is_initialized): New static variable.
13073 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
13074 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
13075 New structures.
13076 (offload_images, num_offload_images, devices, num_devices): New static
13077 variables.
13078 (splay_compare): New static function.
13079 (struct gomp_device_descr): New structure.
13080 (gomp_get_num_devices): Call gomp_target_init.
13081 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
13082 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
13083 (GOMP_offload_register): New function.
13084 (GOMP_target): Arrange for host callback to be performed in a separate
13085 initial thread and contention group, inheriting ICVs from
13086 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
13087 Add device initialization and lookup for target function in splay tree.
13088 (GOMP_target_data): Add device initialization and call gomp_map_vars.
13089 (GOMP_target_end_data): Call gomp_unmap_vars.
13090 (GOMP_target_update): Add device initialization and call gomp_update.
13091 (gomp_load_plugin_for_device, gomp_register_images_for_device)
13092 (gomp_target_init): New static functions.
13093
13094 2014-11-13 Bernd Schmidt <bernds (a] codesourcery.com>
13095 Thomas Schwinge <thomas (a] codesourcery.com>
13096 Ilya Verbin <ilya.verbin (a] intel.com>
13097 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
13098
13099 * config.h.in: Regenerate.
13100 * configure: Regenerate.
13101 * configure.ac: Check for libdl, required for plugin support.
13102 (PLUGIN_SUPPORT): Define if plugins are supported.
13103 (enable_offload_targets): Support Intel MIC targets.
13104 (OFFLOAD_TARGETS): List of target names suitable for offloading.
13105
13106 2014-11-11 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
13107
13108 PR target/63610
13109 * configure: Regenerate.
13110
13111 2014-11-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
13112
13113 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
13114
13115 2014-10-06 Marek Polacek <polacek (a] redhat.com>
13116
13117 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
13118 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
13119 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
13120 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13121
13122 2014-10-06 Marek Polacek <polacek (a] redhat.com>
13123
13124 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
13125 * testsuite/libgomp.c/nqueens-1.c: Likewise.
13126 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13127 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13128 * testsuite/libgomp.c/pr36802-2.c: Likewise.
13129 * testsuite/libgomp.c/pr36802-3.c: Likewise.
13130 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
13131 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13132 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
13133 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
13134 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
13135 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
13136 * testsuite/libgomp.c/omp-single-1.c: Likewise.
13137 * testsuite/libgomp.c/omp-single-2.c: Likewise.
13138 * testsuite/libgomp.c/omp_matvec.c: Likewise.
13139 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
13140 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
13141 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
13142 declarations.
13143
13144 2014-10-03 Jakub Jelinek <jakub (a] redhat.com>
13145
13146 PR libgomp/61200
13147 * testsuite/libgomp.c/pr61200.c: New test.
13148
13149 2014-09-18 Jakub Jelinek <jakub (a] redhat.com>
13150
13151 PR c++/63248
13152 * testsuite/libgomp.c++/pr63248.C: New test.
13153
13154 2014-08-04 Jakub Jelinek <jakub (a] redhat.com>
13155
13156 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
13157 is not zero, but taskgroup->children is NULL and there are
13158 any task->children, schedule those instead of waiting.
13159 * testsuite/libgomp.c/depend-6.c: New test.
13160 * testsuite/libgomp.c/depend-7.c: New test.
13161 * testsuite/libgomp.c/depend-8.c: New test.
13162 * testsuite/libgomp.c/depend-9.c: New test.
13163 * testsuite/libgomp.c/depend-10.c: New test.
13164
13165 2014-08-01 Jakub Jelinek <jakub (a] redhat.com>
13166
13167 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
13168 (struct gomp_taskwait): New type.
13169 (struct gomp_task): Add taskwait and parent_depends_on, remove
13170 in_taskwait and taskwait_sem fields.
13171 (gomp_finish_task): Don't destroy taskwait_sem.
13172 * task.c (gomp_init_task): Don't init in_taskwait, instead init
13173 taskwait and parent_depends_on.
13174 (GOMP_task): For if (0) tasks with depend clause that depend on
13175 earlier tasks don't defer them, instead call
13176 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
13177 Initialize redundant_out field, for redundant out entries just
13178 move them at the end of linked list instead of removing them
13179 completely, and set redundant_out flag instead of redundant.
13180 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
13181 that task.
13182 (gomp_task_run_post_handle_dependers): If parent is in
13183 gomp_task_maybe_wait_for_dependencies and newly runnable task
13184 is not parent_depends_on, queue it in parent->children linked
13185 list after all runnable tasks with parent_depends_on set.
13186 Adjust for addition of taskwait indirection.
13187 (gomp_task_run_post_remove_parent): If parent is in
13188 gomp_task_maybe_wait_for_dependencies and task to be removed
13189 is parent_depends_on, decrement n_depend and if needed awake
13190 parent. Adjust for addition of taskwait indirection.
13191 (GOMP_taskwait): Adjust for addition of taskwait indirection.
13192 (gomp_task_maybe_wait_for_dependencies): New function.
13193 * testsuite/libgomp.c/depend-5.c: New test.
13194
13195 2014-07-13 Tobias Burnus <burnus (a] net-b.de>
13196
13197 * testsuite/libgomp.fortran/pr34020.f90: Make compile
13198 with TS 18508/Fortran 2015.
13199
13200 2014-07-06 Marek Polacek <polacek (a] redhat.com>
13201
13202 PR c/6940
13203 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
13204
13205 2014-07-03 Jakub Jelinek <jakub (a] redhat.com>
13206
13207 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
13208 matches regex $lang_source_re, add $lang_include_flags to options.
13209 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
13210 * testsuite/libgomp.c++/c++.exp: Likewise.
13211 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
13212 and lang_include_flags instead of adding -fintrinsic-modules-path= to
13213 ALWAYS_CFLAGS.
13214 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
13215
13216 2014-07-03 Thomas Schwinge <thomas (a] codesourcery.com>
13217
13218 * testsuite/libgomp.fortran/fortran.exp: Explain
13219 gfortran-dg-runtest usage.
13220
13221 2014-06-25 Jakub Jelinek <jakub (a] redhat.com>
13222
13223 * testsuite/libgomp.fortran/simd5.f90: New test.
13224 * testsuite/libgomp.fortran/simd6.f90: New test.
13225 * testsuite/libgomp.fortran/simd7.f90: New test.
13226
13227 2014-06-24 Jakub Jelinek <jakub (a] redhat.com>
13228
13229 * testsuite/libgomp.c/for-2.c: Define SC to static for
13230 #pragma omp for simd testing.
13231 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
13232 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
13233 SC macro.
13234 * testsuite/libgomp.c/simd-14.c: New test.
13235 * testsuite/libgomp.c/simd-15.c: New test.
13236 * testsuite/libgomp.c/simd-16.c: New test.
13237 * testsuite/libgomp.c/simd-17.c: New test.
13238 * testsuite/libgomp.c++/for-10.C: Define SC to static for
13239 #pragma omp for simd testing.
13240 * testsuite/libgomp.c++/simd10.C: New test.
13241 * testsuite/libgomp.c++/simd11.C: New test.
13242 * testsuite/libgomp.c++/simd12.C: New test.
13243 * testsuite/libgomp.c++/simd13.C: New test.
13244
13245 * testsuite/libgomp.fortran/aligned1.f03: New test.
13246 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
13247 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
13248 tasks with !$omp parallel !$omp single.
13249 * testsuite/libgomp.fortran/target8.f90: New test.
13250 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
13251 not to use trim in the combiner, instead call elemental function.
13252 (fn): New elemental function.
13253 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
13254 Make elemental.
13255 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
13256 omp_in): Likewise.
13257 * testsuite/libgomp.fortran/udr12.f90: New test.
13258 * testsuite/libgomp.fortran/udr13.f90: New test.
13259 * testsuite/libgomp.fortran/udr14.f90: New test.
13260 * testsuite/libgomp.fortran/udr15.f90: New test.
13261
13262 2014-06-18 Jakub Jelinek <jakub (a] redhat.com>
13263
13264 * omp_lib.f90.in (openmp_version): Set to 201307.
13265 * omp_lib.h.in (openmp_version): Likewise.
13266 * testsuite/libgomp.c/target-8.c: New test.
13267 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
13268 and inbranch clauses.
13269 * testsuite/libgomp.fortran/depend-3.f90: New test.
13270 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
13271 openmp_version.
13272 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13273 * testsuite/libgomp.fortran/target1.f90: New test.
13274 * testsuite/libgomp.fortran/target2.f90: New test.
13275 * testsuite/libgomp.fortran/target3.f90: New test.
13276 * testsuite/libgomp.fortran/target4.f90: New test.
13277 * testsuite/libgomp.fortran/target5.f90: New test.
13278 * testsuite/libgomp.fortran/target6.f90: New test.
13279 * testsuite/libgomp.fortran/target7.f90: New test.
13280
13281 2014-06-10 Jakub Jelinek <jakub (a] redhat.com>
13282
13283 PR fortran/60928
13284 * testsuite/libgomp.fortran/allocatable9.f90: New test.
13285 * testsuite/libgomp.fortran/allocatable10.f90: New test.
13286 * testsuite/libgomp.fortran/allocatable11.f90: New test.
13287 * testsuite/libgomp.fortran/allocatable12.f90: New test.
13288 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
13289 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
13290 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
13291 * testsuite/libgomp.fortran/associate1.f90: New test.
13292 * testsuite/libgomp.fortran/associate2.f90: New test.
13293 * testsuite/libgomp.fortran/procptr1.f90: New test.
13294
13295 2014-06-06 Jakub Jelinek <jakub (a] redhat.com>
13296
13297 * testsuite/libgomp.fortran/simd1.f90: New test.
13298 * testsuite/libgomp.fortran/udr1.f90: New test.
13299 * testsuite/libgomp.fortran/udr2.f90: New test.
13300 * testsuite/libgomp.fortran/udr3.f90: New test.
13301 * testsuite/libgomp.fortran/udr4.f90: New test.
13302 * testsuite/libgomp.fortran/udr5.f90: New test.
13303 * testsuite/libgomp.fortran/udr6.f90: New test.
13304 * testsuite/libgomp.fortran/udr7.f90: New test.
13305 * testsuite/libgomp.fortran/udr8.f90: New test.
13306 * testsuite/libgomp.fortran/udr9.f90: New test.
13307 * testsuite/libgomp.fortran/udr10.f90: New test.
13308 * testsuite/libgomp.fortran/udr11.f90: New test.
13309
13310 2014-05-27 Uros Bizjak <ubizjak (a] gmail.com>
13311
13312 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
13313 vect_simd_clones effective target.
13314 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
13315
13316 2014-05-21 Jakub Jelinek <jakub (a] redhat.com>
13317
13318 PR middle-end/61252
13319 * testsuite/libgomp.c++/simd-9.C: New test.
13320
13321 2014-05-18 Uros Bizjak <ubizjak (a] gmail.com>
13322
13323 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
13324 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
13325 texts according to their @menu entry positions.
13326
13327 2014-05-11 Jakub Jelinek <jakub (a] redhat.com>
13328
13329 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
13330 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
13331 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
13332 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
13333 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
13334 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
13335 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
13336 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
13337 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
13338 * testsuite/libgomp.fortran/depend-1.f90: New test.
13339 * testsuite/libgomp.fortran/depend-2.f90: New test.
13340 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
13341 * testsuite/libgomp.fortran/simd1.f90: New test.
13342 * testsuite/libgomp.fortran/simd2.f90: New test.
13343 * testsuite/libgomp.fortran/simd3.f90: New test.
13344 * testsuite/libgomp.fortran/simd4.f90: New test.
13345 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
13346
13347 2014-05-02 Jakub Jelinek <jakub (a] redhat.com>
13348
13349 * testsuite/libgomp.c/simd-10.c: New test.
13350 * testsuite/libgomp.c/simd-11.c: New test.
13351 * testsuite/libgomp.c/simd-12.c: New test.
13352 * testsuite/libgomp.c/simd-13.c: New test.
13353
13354 2014-04-24 Jakub Jelinek <jakub (a] redhat.com>
13355
13356 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
13357 atomic type clauses in any order and optional comma in between.
13358 * testsuite/libgomp.c++/atomic-15.C: Likewise.
13359 * testsuite/libgomp.c/atomic-17.c: Likewise.
13360
13361 * testsuite/libgomp.c/simd-7.c: New test.
13362 * testsuite/libgomp.c/simd-8.c: New test.
13363 * testsuite/libgomp.c/simd-9.c: New test.
13364 * testsuite/libgomp.c/loop-16.c: New test.
13365
13366 2014-04-02 Richard Henderson <rth (a] redhat.com>
13367
13368 * config/linux/futex.h (futex_wait): Get error value from errno.
13369 (futex_wake): Likewise.
13370
13371 2014-03-25 Jakub Jelinek <jakub (a] redhat.com>
13372
13373 PR c++/60331
13374 * testsuite/libgomp.c++/udr-11.C: New test.
13375 * testsuite/libgomp.c++/udr-12.C: New test.
13376 * testsuite/libgomp.c++/udr-13.C: New test.
13377 * testsuite/libgomp.c++/udr-14.C: New test.
13378 * testsuite/libgomp.c++/udr-15.C: New test.
13379 * testsuite/libgomp.c++/udr-16.C: New test.
13380 * testsuite/libgomp.c++/udr-17.C: New test.
13381 * testsuite/libgomp.c++/udr-18.C: New test.
13382 * testsuite/libgomp.c++/udr-19.C: New test.
13383
13384 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com>
13385
13386 Update copyright years
13387
13388 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com>
13389
13390 * hashtab.h: Use the standard form for the copyright notice.
13391
13392 2014-01-02 Tobias Burnus <burnus (a] net-b.de>
13393
13394 * libgomp.texi: Bump @copying's copyright year.
13395
13396 2013-12-17 Andreas Tobler <andreast (a] gcc.gnu.org>
13397
13398 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
13399 alloca () with __builtin_alloca ().
13400 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
13401 * testsuite/libgomp.c/lock-3.c: Likewise.
13402 * testsuite/libgomp.c/pr48591.c: Likewise.
13403
13404 2013-12-17 Jakub Jelinek <jakub (a] redhat.com>
13405
13406 PR testsuite/59534
13407 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
13408 comparisons.
13409
13410 2013-12-16 Jakub Jelinek <jakub (a] redhat.com>
13411
13412 PR libgomp/58756
13413 * testsuite/libgomp.c/pr58756.c: New test.
13414
13415 2013-12-12 Jakub Jelinek <jakub (a] redhat.com>
13416
13417 PR libgomp/59467
13418 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
13419 !$omp parallel.
13420
13421 2013-11-07 Thomas Schwinge <thomas (a] codesourcery.com>
13422
13423 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
13424 ALWAYS_CFLAGS.
13425 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
13426 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
13427 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
13428 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
13429 Likewise.
13430
13431 * libgomp_g.h: Include <stddef.h> for size_t.
13432
13433 * libgomp.spec.in: Update comment about libgomp's dependencies.
13434 * configure.ac: Likewise.
13435 * configure: Regenerate.
13436
13437 2013-10-16 Tobias Burnus <burnus (a] net-b.de>
13438
13439 * libgomp.texi: (Runtime Library Routines): Update references for
13440 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
13441 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
13442 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
13443 (Environment Variables): Update references for OpenMP 4.0. Add
13444 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
13445 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
13446 order.
13447
13448 2013-10-14 Jakub Jelinek <jakub (a] redhat.com>
13449
13450 * env.c (parse_bind_var): Initialize value to avoid
13451 (false positive) warning.
13452
13453 2013-10-12 Jakub Jelinek <jakub (a] redhat.com>
13454
13455 PR libgomp/58691
13456 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
13457 to check variable.
13458 (gomp_init_num_threads): Move i variable declaration into
13459 #ifdef CPU_ALLOC_SIZE block.
13460 * config/linux/affinity.c (gomp_affinity_init_level): Test
13461 gomp_places_list_len == 0 rather than gomp_places_list == 0
13462 when checking for topology reading error.
13463 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
13464 * env.c (parse_affinity): Add ignore argument, if true, don't populate
13465 gomp_places_list, only parse env var and always return false.
13466 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
13467 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
13468 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
13469 and either of these variables were parsed correctly into a places
13470 list.
13471
13472 2013-10-11 Thomas Schwinge <thomas (a] codesourcery.com>
13473 Jakub Jelinek <jakub (a] redhat.com>
13474
13475 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
13476 of 5 loopfn matches.
13477 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13478 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13479 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
13480 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13481 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13482 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13483 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13484 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13485
13486 2013-10-11 Thomas Schwinge <thomas (a] codesourcery.com>
13487
13488 * Makefile.am (omp_lib.mod): Streamline rule.
13489 * Makefile.in: Regenerate.
13490
13491 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
13492 exceptions.
13493
13494 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
13495 * testsuite/libgomp.fortran/lib1.f90: Likewise.
13496 * testsuite/libgomp.fortran/lib2.f: Likewise.
13497 * testsuite/libgomp.fortran/lib3.f: Likewise.
13498
13499 * configure.ac: Typo fix.
13500 * configure: Regenerate.
13501
13502 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
13503 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13504
13505 * omp.h.in: Don't touch the user's namespace.
13506
13507 2013-10-11 Jakub Jelinek <jakub (a] redhat.com>
13508 Tobias Burnus <burnus (a] net-b.de>
13509 Richard Henderson <rth (a] redhat.com>
13510
13511 * target.c: New file.
13512 * Makefile.am (libgomp_la_SOURCES): Add target.c.
13513 * Makefile.in: Regenerated.
13514 * libgomp_g.h (GOMP_task): Add depend argument.
13515 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13516 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13517 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
13518 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13519 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13520 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
13521 GOMP_taskgroup_start, GOMP_taskgroup_end,
13522 GOMP_parallel_sections): New prototypes.
13523 * fortran.c (omp_is_initial_device): Add ialias_redirect.
13524 (omp_is_initial_device_): New function.
13525 (ULP, STR1, STR2, ialias_redirect): Removed.
13526 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
13527 omp_set_default_device_8_, omp_get_default_device_,
13528 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
13529 functions.
13530 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13531 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13532 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
13533 @@GOMP_4.0.
13534 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
13535 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
13536 omp_set_default_device, omp_set_default_device_,
13537 omp_set_default_device_8_, omp_get_default_device,
13538 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
13539 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
13540 omp_get_team_num_): Export @@OMP_4.0.
13541 * team.c (struct gomp_thread_start_data): Add place field.
13542 (gomp_thread_start): Clear thr->thread_pool and
13543 thr->task before returning. Use gomp_team_barrier_wait_final
13544 instead of gomp_team_barrier_wait. Initialize thr->place.
13545 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
13546 team_cancelled and task_queued_count fields.
13547 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
13548 before calling pthread_exit.
13549 (gomp_free_thread): No longer static. Use
13550 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
13551 (gomp_team_start): Add flags argument. Set
13552 thr->thread_pool->threads_busy to nthreads immediately after creating
13553 new pool. Use gomp_managed_threads_lock instead of
13554 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
13555 (gomp_team_end): Use gomp_managed_threads_lock instead of
13556 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
13557 of gomp_team_barrier_wait. If team->team_cancelled, call
13558 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
13559 rather than thr->ts.work_share.
13560 (initialize_team): Don't call gomp_sem_init here.
13561 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
13562 caller.
13563 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
13564 * env.c (gomp_global_icv): Add default_device_var, target_data and
13565 bind_var initializers.
13566 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13567 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13568 gomp_places_list_len): New variables.
13569 (parse_bind_var, parse_one_place, parse_places_var): New functions.
13570 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
13571 sized places.
13572 (gomp_cancel_var): New global variable.
13573 (parse_int): New function.
13574 (handle_omp_display_env): New function.
13575 (initialize_env): Use it. Initialize default_device_var.
13576 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
13577 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
13578 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
13579 been successfully parsed (and call gomp_init_affinity in that case).
13580 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13581 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13582 omp_get_team_num, omp_is_initial_device): New functions.
13583 * libgomp.h: Include stdlib.h.
13584 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
13585 Define.
13586 (struct target_mem_desc): Forward declare.
13587 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
13588 and thread_limit_var fields.
13589 (gomp_get_num_devices): New prototype.
13590 (gomp_cancel_var): New extern decl.
13591 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
13592 team_cancelled and task_queued_count fields. Add comments about
13593 task_{,queued_,running_}count.
13594 (gomp_cancel_kind): New enum.
13595 (gomp_work_share_end_cancel): New prototype.
13596 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
13597 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
13598 and depend fields.
13599 (struct gomp_taskgroup): New type.
13600 (struct gomp_task_depend_entry,
13601 struct gomp_dependers_vec): New types.
13602 (gomp_finish_task): Free depend_hash if non-NULL.
13603 (struct gomp_team_state): Add place_partition_off
13604 and place_partition_len fields.
13605 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13606 gomp_places_list_len): New extern decls.
13607 (struct gomp_thread): Add place field.
13608 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13609 (gomp_init_thread_affinity): Add place argument.
13610 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13611 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13612 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13613 gomp_affinity_init_level, gomp_affinity_print_place): New
13614 prototypes.
13615 (gomp_team_start): Add flags argument.
13616 (gomp_thread_limit_var, gomp_remaining_threads_count,
13617 gomp_remaining_threads_lock): Remove.
13618 (gomp_managed_threads_lock): New variable.
13619 (struct gomp_thread_pool): Add threads_busy field.
13620 (gomp_free_thread): New prototype.
13621 * task.c: Include hashtab.h.
13622 (hash_entry_type): New typedef.
13623 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
13624 (gomp_init_task): Clear dependers, depend_hash, depend_count,
13625 copy_ctors_done and taskgroup fields.
13626 (GOMP_task): Add depend argument, handle depend clauses. If
13627 gomp_team_barrier_cancelled or if it's taskgroup has been
13628 cancelled, don't queue or start new tasks. Set copy_ctors_done
13629 field if needed. Initialize taskgroup field. If copy_ctors_done
13630 and already cancelled, don't discard the task. If taskgroup is
13631 non-NULL, enqueue the task into taskgroup queue. Increment
13632 num_children field in taskgroup. Increment task_queued_count.
13633 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
13634 gomp_task_run_post_remove_taskgroup): New inline functions.
13635 (gomp_task_run_post_handle_depend_hash,
13636 gomp_task_run_post_handle_dependers,
13637 gomp_task_run_post_handle_depend): New functions.
13638 (GOMP_taskwait): Use them. If more than one new tasks
13639 have been queued, wake other threads if needed.
13640 (gomp_barrier_handle_tasks): Likewise. If
13641 gomp_team_barrier_cancelled, don't start any new tasks, just free
13642 all tasks.
13643 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
13644 * omp_lib.f90.in
13645 (omp_proc_bind_kind, omp_proc_bind_false,
13646 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13647 omp_proc_bind_spread): New params.
13648 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13649 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13650 omp_get_team_num, omp_is_initial_device): New interfaces.
13651 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
13652 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
13653 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
13654 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
13655 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
13656 useless use omp_lib_kinds.
13657 * omp.h.in (omp_proc_bind_t): New typedef.
13658 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13659 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13660 omp_get_team_num, omp_is_initial_device): New prototypes.
13661 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
13662 through to gomp_team_start.
13663 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
13664 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
13665 Adjust gomp_parallel_loop_start callers.
13666 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13667 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13668 GOMP_loop_end_cancel): New functions.
13669 (GOMP_parallel_end): Add ialias_redirect.
13670 * hashtab.h: New file.
13671 * libgomp.texi (Environment Variables): Minor cleanup,
13672 update section refs to OpenMP 4.0rc2.
13673 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
13674 environment variables.
13675 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
13676 team->work_shares_to_free to thr->ts.work_share before calling
13677 free_work_share.
13678 (gomp_work_share_end_cancel): New function.
13679 * config/linux/proc.c: Include errno.h.
13680 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
13681 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
13682 sizeof (cpu_set_t) to determine number of iterations. Fix up check
13683 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
13684 gomp_cpuset_size is sizeof (cpu_set_t).
13685 (gomp_init_num_threads): Initialize gomp_cpuset_size,
13686 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
13687 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
13688 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
13689 contain any logical CPUs.
13690 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
13691 is NULL. Use gomp_cpusetp instead of &cpuset and pass
13692 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
13693 pthread_getaffinity_np. Check gomp_places_list instead of
13694 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
13695 * config/linux/bar.c (gomp_barrier_wait_end,
13696 gomp_barrier_wait_last): Use BAR_* defines.
13697 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
13698 from state where needed. Set work_share_cancelled to 0 on last
13699 thread.
13700 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
13701 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
13702 functions.
13703 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
13704 Add cpusetsize argument.
13705 (gomp_cpuset_size, gomp_cpusetp): Declare.
13706 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
13707 (affinity_counter): Remove.
13708 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
13709 if CPU_ALLOC_SIZE isn't defined.
13710 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
13711 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
13712 bind current thread to the first place.
13713 (gomp_init_thread_affinity): Rewritten. Add place argument, just
13714 pthread_setaffinity_np to gomp_places_list[place].
13715 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13716 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13717 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13718 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
13719 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13720 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13721 (gomp_barrier_t): Add awaited_final field.
13722 (gomp_barrier_init): Initialize awaited_final field.
13723 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
13724 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
13725 prototypes.
13726 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
13727 defines.
13728 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
13729 gomp_team_barrier_cancelled): New inline functions.
13730 (gomp_barrier_last_thread,
13731 gomp_team_barrier_set_task_pending,
13732 gomp_team_barrier_clear_task_pending,
13733 gomp_team_barrier_set_waiting_for_tasks,
13734 gomp_team_barrier_waiting_for_tasks,
13735 gomp_team_barrier_done): Use BAR_* defines.
13736 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
13737 (gomp_barrier_wait_end): Use BAR_* defines.
13738 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
13739 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
13740 Use BAR_* defines.
13741 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
13742 gomp_team_barrier_cancel): New functions.
13743 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
13744 argument.
13745 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13746 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13747 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13748 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
13749 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13750 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13751 (gomp_barrier_t): Add cancellable field.
13752 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
13753 gomp_team_barrier_cancel): New prototypes.
13754 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
13755 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
13756 gomp_team_barrier_cancelled): New inline functions.
13757 (gomp_barrier_wait_start, gomp_barrier_last_thread,
13758 gomp_team_barrier_set_task_pending,
13759 gomp_team_barrier_clear_task_pending,
13760 gomp_team_barrier_set_waiting_for_tasks,
13761 gomp_team_barrier_waiting_for_tasks,
13762 gomp_team_barrier_done): Use BAR_* defines.
13763 * barrier.c (GOMP_barrier_cancel): New function.
13764 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
13765 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13766 omp_proc_bind_spread): New params.
13767 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13768 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13769 omp_get_team_num, omp_is_initial_device): New externals.
13770 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
13771 New functions.
13772 (gomp_resolve_num_threads): Adjust for thread_limit now being in
13773 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
13774 infinity. If not nested, just return minimum of max_num_threads
13775 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
13776 to the returned value. Otherwise, don't update atomically
13777 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
13778 (GOMP_parallel_end): Adjust for thread_limit now being in
13779 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
13780 infinity. Adjust threads_busy in the pool rather than
13781 gomp_remaining_threads_count. Remember team->nthreads and call
13782 gomp_team_end before adjusting threads_busy, if not nested
13783 afterwards, just set it to 1 non-atomically. Add ialias.
13784 (GOMP_parallel_start): Adjust gomp_team_start caller.
13785 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
13786 * testsuite/libgomp.c/affinity-1.c: New test.
13787 * testsuite/libgomp.c/atomic-15.c: New test.
13788 * testsuite/libgomp.c/atomic-16.c: New test.
13789 * testsuite/libgomp.c/atomic-17.c: New test.
13790 * testsuite/libgomp.c/cancel-for-1.c: New test.
13791 * testsuite/libgomp.c/cancel-for-2.c: New test.
13792 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
13793 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
13794 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
13795 * testsuite/libgomp.c/cancel-sections-1.c: New test.
13796 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
13797 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
13798 * testsuite/libgomp.c/depend-1.c: New test.
13799 * testsuite/libgomp.c/depend-2.c: New test.
13800 * testsuite/libgomp.c/depend-3.c: New test.
13801 * testsuite/libgomp.c/depend-4.c: New test.
13802 * testsuite/libgomp.c/for-1.c: New test.
13803 * testsuite/libgomp.c/for-1.h: New file.
13804 * testsuite/libgomp.c/for-2.c: New test.
13805 * testsuite/libgomp.c/for-2.h: New file.
13806 * testsuite/libgomp.c/for-3.c: New test.
13807 * testsuite/libgomp.c/pr58392.c: New test.
13808 * testsuite/libgomp.c/simd-1.c: New test.
13809 * testsuite/libgomp.c/simd-2.c: New test.
13810 * testsuite/libgomp.c/simd-3.c: New test.
13811 * testsuite/libgomp.c/simd-4.c: New test.
13812 * testsuite/libgomp.c/simd-5.c: New test.
13813 * testsuite/libgomp.c/simd-6.c: New test.
13814 * testsuite/libgomp.c/target-1.c: New test.
13815 * testsuite/libgomp.c/target-2.c: New test.
13816 * testsuite/libgomp.c/target-3.c: New test.
13817 * testsuite/libgomp.c/target-4.c: New test.
13818 * testsuite/libgomp.c/target-5.c: New test.
13819 * testsuite/libgomp.c/target-6.c: New test.
13820 * testsuite/libgomp.c/target-7.c: New test.
13821 * testsuite/libgomp.c/taskgroup-1.c: New test.
13822 * testsuite/libgomp.c/thread-limit-1.c: New test.
13823 * testsuite/libgomp.c/thread-limit-2.c: New test.
13824 * testsuite/libgomp.c/thread-limit-3.c: New test.
13825 * testsuite/libgomp.c/udr-1.c: New test.
13826 * testsuite/libgomp.c/udr-2.c: New test.
13827 * testsuite/libgomp.c/udr-3.c: New test.
13828 * testsuite/libgomp.c++/affinity-1.C: New test.
13829 * testsuite/libgomp.c++/atomic-10.C: New test.
13830 * testsuite/libgomp.c++/atomic-11.C: New test.
13831 * testsuite/libgomp.c++/atomic-12.C: New test.
13832 * testsuite/libgomp.c++/atomic-13.C: New test.
13833 * testsuite/libgomp.c++/atomic-14.C: New test.
13834 * testsuite/libgomp.c++/atomic-15.C: New test.
13835 * testsuite/libgomp.c++/cancel-for-1.C: New test.
13836 * testsuite/libgomp.c++/cancel-for-2.C: New test.
13837 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
13838 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
13839 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
13840 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
13841 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
13842 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
13843 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
13844 * testsuite/libgomp.c++/cancel-test.h: New file.
13845 * testsuite/libgomp.c++/for-9.C: New test.
13846 * testsuite/libgomp.c++/for-10.C: New test.
13847 * testsuite/libgomp.c++/for-11.C: New test.
13848 * testsuite/libgomp.c++/simd-1.C: New test.
13849 * testsuite/libgomp.c++/simd-2.C: New test.
13850 * testsuite/libgomp.c++/simd-3.C: New test.
13851 * testsuite/libgomp.c++/simd-4.C: New test.
13852 * testsuite/libgomp.c++/simd-5.C: New test.
13853 * testsuite/libgomp.c++/simd-6.C: New test.
13854 * testsuite/libgomp.c++/simd-7.C: New test.
13855 * testsuite/libgomp.c++/simd-8.C: New test.
13856 * testsuite/libgomp.c++/target-1.C: New test.
13857 * testsuite/libgomp.c++/target-2.C: New test.
13858 * testsuite/libgomp.c++/target-2-aux.cc: New file.
13859 * testsuite/libgomp.c++/target-3.C: New test.
13860 * testsuite/libgomp.c++/taskgroup-1.C: New test.
13861 * testsuite/libgomp.c++/udr-1.C: New test.
13862 * testsuite/libgomp.c++/udr-2.C: New test.
13863 * testsuite/libgomp.c++/udr-3.C: New test.
13864 * testsuite/libgomp.c++/udr-4.C: New test.
13865 * testsuite/libgomp.c++/udr-5.C: New test.
13866 * testsuite/libgomp.c++/udr-6.C: New test.
13867 * testsuite/libgomp.c++/udr-7.C: New test.
13868 * testsuite/libgomp.c++/udr-8.C: New test.
13869 * testsuite/libgomp.c++/udr-9.C: New test.
13870
13871 2013-09-20 Jakub Jelinek <jakub (a] redhat.com>
13872
13873 PR testsuite/57605
13874 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
13875 ALWAYS_CFLAGS.
13876
13877 2013-09-20 Alan Modra <amodra (a] gmail.com>
13878
13879 * configure: Regenerate.
13880
13881 2013-09-19 Jakub Jelinek <jakub (a] redhat.com>
13882
13883 * testsuite/libgomp.c/sections-2.c: New test.
13884
13885 2013-06-28 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
13886
13887 * testsuite/libgomp.fortran/strassen.f90:
13888 Add dg-skip-if aarch64_tiny.
13889
13890 2013-06-20 Iain Sandoe <iain (a] codesourcery.com>
13891 Cesar Philippidis <cesar (a] codesourcery.com>
13892
13893 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
13894 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
13895 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
13896 * testsuite/libgomp.fortran/fortran.exp: Likewise.
13897 * testsuite/libgomp.graphite/graphite.exp: Likewise.
13898 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
13899 Use dg-runtest rather than gfortran-dg-runtest.
13900
13901 2013-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
13902
13903 * testsuite/libgomp.c/icv-2.c: Extend current handling of
13904 Linux-based x86 systems to cover all GNU systems.
13905 * testsuite/libgomp.c/lock-3.c: Likewise.
13906 * testsuite/libgomp.c/pr48591.c: Likewise.
13907
13908 2013-06-06 Thomas Schwinge <thomas (a] codesourcery.com>
13909
13910 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
13911 GNU/Hurd, as done for Linux-based systems.
13912
13913 * config/posix/ptrlock.h: Fix comment.
13914
13915 2013-05-27 Tobias Burnus <burnus (a] net-b.de>
13916
13917 PR fortran/57423
13918 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
13919 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
13920 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
13921 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
13922 omp_destroy_nest_lock): Correct arguments to match the one in
13923 the OpenMP spec.
13924 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
13925 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
13926 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
13927 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
13928
13929 2013-05-16 Jakub Jelinek <jakub (a] redhat.com>
13930
13931 * testsuite/libgomp.c/loop-13.c: New test.
13932 * testsuite/libgomp.c/loop-14.c: New test.
13933 * testsuite/libgomp.c/loop-15.c: New test.
13934 * testsuite/libgomp.c++/loop-13.C: New test.
13935 * testsuite/libgomp.c++/loop-14.C: New test.
13936 * testsuite/libgomp.c++/loop-15.C: New test.
13937
13938 2013-02-06 Jakub Jelinek <jakub (a] redhat.com>
13939
13940 PR middle-end/56217
13941 * testsuite/libgomp.c++/pr56217.C: New test.
13942
13943 2013-02-01 Alan Modra <amodra (a] gmail.com>
13944
13945 * task.c (GOMP_task, GOMP_taskwait): Comment.
13946
13947 2013-01-31 Dmitry Vyukov <dvyukov (a] gcc.gnu.org>
13948 Joost VandeVondele <Joost.VandeVondele (a] mat.ethz.ch>
13949
13950 PR libgomp/55561
13951 * config/linux/wait.h (do_spin): Use atomic load for addr.
13952 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
13953 for intptr and ptrlock.
13954 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
13955 for ptrlock.
13956
13957 2013-01-22 Alan Modra <amodra (a] gmail.com>
13958
13959 PR libgomp/51376
13960 PR libgomp/56073
13961 * task.c (GOMP_task): Revert 2011-12-09 change.
13962 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
13963 barrier to read task->children..
13964 (gomp_barrier_handle_tasks): ..and matching atomic store with
13965 release barrier here when setting parent->children to NULL.
13966
13967 2013-01-16 Jakub Jelinek <jakub (a] redhat.com>
13968 Tobias Burnus <burnus (a] net-b.de>
13969
13970 PR driver/55884
13971 * testsuite/libgomp.fortran/fortran.exp: Use
13972 -fintrinsic-modules-path= instead of
13973 -fintrinsic-modules-path.
13974
13975 2013-01-14 Richard Sandiford <rdsandiford (a] googlemail.com>
13976
13977 Update copyright years.
13978
13979 2012-12-19 Tobias Burnus <burnus (a] net-b.de>
13980
13981 * testsuite/libgomp.fortran/fortran.exp: Set
13982 -fintrinsic-modules-path.
13983
13984 2012-12-19 Tobias Burnus <burnus (a] net-b.de>
13985
13986 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
13987 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
13988
13989 2012-11-21 Jakub Jelinek <jakub (a] redhat.com>
13990
13991 PR libgomp/55411
13992 * team.c (gomp_free_thread): Decrease gomp_managed_threads
13993 if pool had any threads_used.
13994
13995 2012-11-07 Jack Howarth <howarth (a] bromo.med.uc.edu>
13996
13997 * testsuite/libgomp.c++/pr24455.C: Use
13998 -Wl,-undefined,dynamic_lookup on darwin.
13999
14000 2012-11-07 David Edelsohn <dje.gcc (a] gmail.com>
14001
14002 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
14003
14004 2012-10-24 Dominique d'Humieres <dominiq (a] lps.ens.fr>
14005
14006 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
14007
14008 2012-10-23 Ian Bolton <ian.bolton (a] arm.com>
14009 Jim MacArthur <jim.macarthur (a] arm.com>
14010 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
14011 Nigel Stephens <nigel.stephens (a] arm.com>
14012 Ramana Radhakrishnan <ramana.radhakrishnan (a] arm.com>
14013 Richard Earnshaw <rearnsha (a] arm.com>
14014 Sofiane Naci <sofiane.naci (a] arm.com>
14015 Stephen Thomas <stephen.thomas (a] arm.com>
14016 Tejas Belagod <tejas.belagod (a] arm.com>
14017 Yufeng Zhang <yufeng.zhang (a] arm.com>
14018
14019 * configure.tgt: Add AArch64.
14020
14021 2012-10-04 Jason Merrill <jason (a] redhat.com>
14022
14023 * testsuite/libgomp.c++/tls-init1.C: New.
14024
14025 2012-09-14 David Edelsohn <dje.gcc (a] gmail.com>
14026
14027 * configure: Regenerated.
14028
14029 2012-08-29 Chung-Lin Tang <cltang (a] codesourcery.com>
14030
14031 * config/linux/mips/futex.h (sys_futex0): Change to static
14032 function with noinline, nomips16 attributes under MIPS16. Adjust
14033 asm statement to place 'li v0,SYS_futex' immediately before
14034 syscall insn.
14035
14036 2012-07-04 Sandra Loosemore <sandra (a] codesourcery.com>
14037
14038 * libgomp.texi (Library Index): Renamed from "Index" to prevent
14039 conflict with index.html on case-insensitive file systems.
14040
14041 2012-07-03 Uros Bizjak <ubizjak (a] gmail.com>
14042
14043 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
14044 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
14045
14046 2012-07-02 Richard Guenther <rguenther (a] suse.de>
14047 Michael Matz <matz (a] suse.de>
14048 Tobias Grosser <tobias (a] grosser.es>
14049 Sebastian Pop <sebpop (a] gmail.com>
14050
14051 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
14052 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14053 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14054 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14055
14056 2012-06-28 Andreas Schwab <schwab (a] linux-m68k.org>
14057
14058 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
14059
14060 2012-06-22 Richard Guenther <rguenther (a] suse.de>
14061
14062 Merge from graphite branch
14063 2012-01-13 Tobias Grosser <tobias (a] grosser.es>
14064
14065 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14066 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14067
14068 2012-06-07 Jakub Jelinek <jakub (a] redhat.com>
14069
14070 PR middle-end/53580
14071 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
14072 use GOMP_barrier () call instead.
14073 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14074 * testsuite/libgomp.c/pr26943-4.c: Likewise.
14075 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
14076 call GOMP_barrier instead.
14077 * testsuite/libgomp.fortran/vla5.f90: Likewise.
14078
14079 2012-06-06 Jakub Jelinek <jakub (a] redhat.com>
14080
14081 PR libgomp/52993
14082 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
14083 argument to memset call.
14084
14085 2012-05-16 H.J. Lu <hongjiu.lu (a] intel.com>
14086
14087 * configure: Regenerated.
14088
14089 2012-04-11 Manuel Lpez-Ibez <manu (a] gcc.gnu.org>
14090
14091 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
14092
14093 2012-03-31 H.J. Lu <hongjiu.lu (a] intel.com>
14094
14095 PR bootstrap/52812
14096 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
14097
14098 2012-03-22 Jakub Jelinek <jakub (a] redhat.com>
14099
14100 PR middle-end/52547
14101 * testsuite/libgomp.c/pr52547.c: New test.
14102
14103 2012-03-16 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org>
14104
14105 * testsuite/lib/libgomp.exp: load fortran-modules.exp
14106
14107 2012-03-14 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14108
14109 * configure.tgt (mips-sgi-irix6*): Remove.
14110
14111 2012-03-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14112
14113 * configure.tgt (alpha*-dec-osf*): Remove.
14114
14115 * config/osf/sem.h: Remove.
14116 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
14117
14118 2012-02-29 Eric Botcazou <ebotcazou (a] adacore.com>
14119
14120 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
14121
14122 2012-02-27 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14123
14124 PR libstdc++/52188
14125 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
14126 Remove ENABLE_SYMVERS_SOL2.
14127 * configure: Regenerate.
14128 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
14129 (PREPROCESS): New variable.
14130 (libgomp.ver): New target.
14131 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
14132 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
14133 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
14134 Use libgomp.ver.
14135 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
14136 * Makefile.in: Regenerate.
14137
14138 2012-02-14 Walter Lee <walt (a] tilera.com>
14139
14140 * configure.tgt: Handle tilegx and tilepro.
14141 * config/linux/tile/futex.h: New file.
14142
14143 2012-02-08 Richard Guenther <rguenther (a] suse.de>
14144
14145 PR tree-optimization/46886
14146 * testsuite/libgomp.c/pr46886.c: New testcase.
14147
14148 2012-01-25 Matthias Klose <doko (a] ubuntu.com>
14149
14150 * config/linux/arm: Remove empty directory.
14151 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
14152
14153 2011-12-09 Alan Modra <amodra (a] gmail.com>
14154
14155 PR libgomp/51376
14156 * task.c (GOMP_taskwait): Don't access task->children outside of
14157 task_lock mutex region.
14158 (GOMP_task): Likewise.
14159
14160 2011-12-06 Jakub Jelinek <jakub (a] redhat.com>
14161
14162 PR libgomp/51132
14163 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
14164 to file scope.
14165 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14166 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14167 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14168 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14169 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14170
14171 2011-12-02 Alan Modra <amodra (a] gmail.com>
14172
14173 * config/linux/affinity.c: Use atomic rather than sync builtin.
14174 * config/linux/lock.c: Likewise.
14175 * config/linux/ptrlock.h: Likewise.
14176 * config/linux/ptrlock.c: Likewise.
14177 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
14178 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
14179 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
14180 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
14181 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
14182 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
14183 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
14184 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
14185 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
14186 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
14187
14188 2011-11-30 Alan Modra <amodra (a] gmail.com>
14189
14190 PR libgomp/51298
14191 * config/linux/bar.h: Use atomic rather than sync builtins.
14192 * config/linux/bar.c: Likewise. Add missing acquire
14193 synchronisation on generation field.
14194 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
14195 double unlock.
14196
14197 2011-11-30 Alan Modra <amodra (a] gmail.com>
14198
14199 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
14200 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
14201 * config/linux/mutex.h: Use atomic rather than sync builtins.
14202 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
14203 * config/linux/omp-lock.h: Comment fix.
14204 * config/linux/arm/mutex.h: Delete.
14205 * config/linux/powerpc/mutex.h: Delete.
14206 * config/linux/ia64/mutex.h: Delete.
14207 * config/linux/mips/mutex.h: Delete.
14208
14209 2011-11-30 Alan Modra <amodra (a] gmail.com>
14210
14211 PR libgomp/51249
14212 * config/linux/sem.h: Rewrite.
14213 * config/linux/sem.c: Rewrite.
14214
14215 2011-11-28 Richard Henderson <rth (a] redhat.com>
14216
14217 * libgomp.h (enum memmodel): New.
14218
14219 2011-11-21 Andreas Tobler <andreast (a] fgznet.ch>
14220
14221 * configure: Regenerate.
14222
14223 2011-10-10 Matthias Klose <doko (a] ubuntu.com>
14224
14225 * config/posix95: Remove empty directory.
14226
14227 2011-08-26 Jakub Jelinek <jakub (a] redhat.com>
14228
14229 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
14230
14231 2011-08-19 Jakub Jelinek <jakub (a] redhat.com>
14232
14233 PR fortran/49792
14234 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
14235 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
14236
14237 2011-08-08 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14238
14239 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
14240
14241 2011-08-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14242
14243 PR libgomp/49965
14244 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
14245
14246 2011-08-03 Uros Bizjak <ubizjak (a] gmail.com>
14247
14248 * config/linux/proc.h: New.
14249 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
14250 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
14251 (gomp_init_num_threads): Update call to cpuset_popcount.
14252 (get_num_procs): Ditto.
14253 * config/linux/affinity.c (gomp_init_affinity): Call
14254 gomp_cpuset_popcount.
14255
14256 2011-08-02 Jakub Jelinek <jakub (a] redhat.com>
14257
14258 PR fortran/42041
14259 PR fortran/46752
14260 * omp.h.in (omp_in_final): New prototype.
14261 * omp_lib.f90.in (omp_in_final): New interface.
14262 (omp_integer_kind, omp_logical_kind): Remove
14263 and replace all its uses in the module with 4.
14264 (openmp_version): Change to 201107.
14265 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
14266 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
14267 kind for the parameters.
14268 (omp_in_final): New external.
14269 (openmp_version): Change to 201107.
14270 * task.c (omp_in_final): New function.
14271 (gomp_init_task): Initialize final_task.
14272 (GOMP_task): Remove unused attribute from flags. Handle final
14273 tasks.
14274 (GOMP_taskyield): New function.
14275 (omp_in_final): Return true if if (false) or final (true) task
14276 or descendant of final (true).
14277 * fortran.c (omp_in_final_): New function.
14278 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
14279 (GOMP_3.0): Export GOMP_taskyield.
14280 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
14281 variables.
14282 (parse_unsigned_long_list): New function.
14283 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
14284 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
14285 even if parse_affinity returned false.
14286 * config/linux/affinity.c (gomp_init_affinity): Handle
14287 gomp_cpu_affinity_len == 0.
14288 * libgomp_g.h (GOMP_taskyield): New prototype.
14289 * libgomp.h (struct gomp_task): Add final_task field.
14290 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
14291 * team.c (gomp_team_start): Override new task's nthreads_var icv
14292 if list form OMP_NUM_THREADS has been used and it has value for
14293 the new nesting level.
14294
14295 * testsuite/libgomp.c/atomic-11.c: New test.
14296 * testsuite/libgomp.c/atomic-12.c: New test.
14297 * testsuite/libgomp.c/atomic-13.c: New test.
14298 * testsuite/libgomp.c/atomic-14.c: New test.
14299 * testsuite/libgomp.c/reduction-6.c: New test.
14300 * testsuite/libgomp.c/task-5.c: New test.
14301 * testsuite/libgomp.c++/atomic-2.C: New test.
14302 * testsuite/libgomp.c++/atomic-3.C: New test.
14303 * testsuite/libgomp.c++/atomic-4.C: New test.
14304 * testsuite/libgomp.c++/atomic-5.C: New test.
14305 * testsuite/libgomp.c++/atomic-6.C: New test.
14306 * testsuite/libgomp.c++/atomic-7.C: New test.
14307 * testsuite/libgomp.c++/atomic-8.C: New test.
14308 * testsuite/libgomp.c++/atomic-9.C: New test.
14309 * testsuite/libgomp.c++/task-8.C: New test.
14310 * testsuite/libgomp.c++/reduction-4.C: New test.
14311 * testsuite/libgomp.fortran/allocatable7.f90: New test.
14312 * testsuite/libgomp.fortran/allocatable8.f90: New test.
14313 * testsuite/libgomp.fortran/crayptr3.f90: New test.
14314 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
14315 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
14316 * testsuite/libgomp.fortran/pointer1.f90: New test.
14317 * testsuite/libgomp.fortran/pointer2.f90: New test.
14318 * testsuite/libgomp.fortran/task4.f90: New test.
14319
14320 2011-08-02 Tobias Burnus <burnus (a] net-b.de>
14321
14322 * libgomp.texi: Update OpenMP spec references to 3.1.
14323 (omp_in_final,OMP_PROC_BIND): New sections.
14324 (OMP_NUM_THREADS): Document that the value can be now a list.
14325 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
14326
14327 2011-08-02 H.J. Lu <hongjiu.lu (a] intel.com>
14328
14329 * config/linux/x86/futex.h: Check __x86_64__ instead of
14330 __LP64__.
14331
14332 2011-07-29 Jakub Jelinek <jakub (a] redhat.com>
14333
14334 PR middle-end/49897
14335 PR middle-end/49898
14336 * testsuite/libgomp.c/pr49897-1.c: New test.
14337 * testsuite/libgomp.c/pr49897-2.c: New test.
14338 * testsuite/libgomp.c/pr49898-1.c: New test.
14339 * testsuite/libgomp.c/pr49898-2.c: New test.
14340
14341 2011-07-28 H.J. Lu <hongjiu.lu (a] intel.com>
14342
14343 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
14344 for ia32 instead of ilp32.
14345
14346 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
14347 * testsuite/libgomp.c/atomic-6.c: Likewise.
14348
14349 2011-07-23 Sebastian Pop <sebastian.pop (a] amd.com>
14350
14351 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
14352 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
14353
14354 2011-07-25 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14355
14356 PR libgomp/45351
14357 * config/osf/sem.h: New file.
14358 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
14359
14360 2011-07-18 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14361
14362 PR target/49541
14363 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
14364 ldflags.
14365
14366 2011-07-15 Jakub Jelinek <jakub (a] redhat.com>
14367
14368 * config/linux/wait.h (do_spin): New inline, largely copied
14369 from do_wait, just don't do futex_wait here, instead return true if
14370 it should be done.
14371 (do_wait): Implement using do_spin.
14372 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
14373 to prototype.
14374 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14375 __sync_bool_compare_and_swap, pass the oldval to
14376 gomp_mutex_lock_slow.
14377 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
14378 If all mutex contenders are just spinning and not sleeping, don't
14379 change state to 2 unnecessarily. Optimize the loop when state has
14380 already become 2 to use just one atomic operation per loop instead
14381 of two.
14382 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
14383 to prototype.
14384 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14385 __sync_bool_compare_and_swap, pass the oldval to
14386 gomp_mutex_lock_slow.
14387
14388 2011-06-22 Jakub Jelinek <jakub (a] redhat.com>
14389
14390 PR libgomp/49490
14391 * iter.c (gomp_iter_static_next): For chunk size 0
14392 only use n ceil/ nthreads size for the first
14393 n % nthreads threads in the team instead of
14394 all threads except for the last few ones which
14395 get less work or none at all.
14396 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
14397 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
14398 chunk argument, set run_sched_modifier to 0 for static
14399 resp. 1 for other kinds. If chunk argument is 0
14400 and not static, set value to 1.
14401
14402 2011-05-19 Jakub Jelinek <jakub (a] redhat.com>
14403
14404 PR c++/49043
14405 * testsuite/libgomp.c++/pr49043.C: New test.
14406
14407 PR c++/48869
14408 * testsuite/libgomp.c++/pr48869.C: New test.
14409
14410 2011-05-06 Jakub Jelinek <jakub (a] redhat.com>
14411
14412 PR fortran/48894
14413 * fortran.c: Include limits.h.
14414 (TO_INT): Define.
14415 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
14416 *set.
14417 (omp_set_num_threads_8_, omp_set_schedule_8_,
14418 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
14419 omp_get_team_size_8_): Use TO_INT macro.
14420 * testsuite/libgomp.fortran/pr48894.f90: New test.
14421
14422 2011-04-13 Jakub Jelinek <jakub (a] redhat.com>
14423
14424 PR middle-end/48591
14425 * testsuite/libgomp.c/pr48591.c: New test.
14426
14427 2011-03-21 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14428
14429 PR bootstrap/48135
14430 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
14431 * configure: Regenerate.
14432
14433 2011-02-27 Jakub Jelinek <jakub (a] redhat.com>
14434
14435 PR fortran/47886
14436 * testsuite/libgomp.fortran/task3.f90: New test.
14437
14438 2011-02-24 Tobias Burnus <burnus (a] net-b.de>
14439
14440 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
14441
14442 2011-02-23 Jakub Jelinek <jakub (a] redhat.com>
14443
14444 PR libgomp/47854
14445 * libgomp.texi (omp_get_wtime): Don't say time in the past
14446 must be Unix Epoch.
14447
14448 2011-02-18 Jakub Jelinek <jakub (a] redhat.com>
14449
14450 PR libgomp/47804
14451 * testsuite/libgomp.fortran/fortran.exp: Check for both
14452 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
14453 but $blddir != "", still append ${blddir}/${lang_library_path}
14454 to ld_library_path.
14455
14456 2011-02-16 Tobias Burnus <burnus (a] net-b.de>
14457
14458 PR libgomp/47758
14459 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
14460 of libquadmath.a before adding its libpath to ldflags.
14461
14462 2011-02-14 Jakub Jelinek <jakub (a] redhat.com>
14463
14464 PR libgomp/47731
14465 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
14466 to FUTEX_WAIT futex syscall.
14467 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
14468
14469 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14470
14471 * configure: Regenerate.
14472
14473 2011-01-20 Benjamin Kosnik <bkoz (a] redhat.com>
14474
14475 PR libstdc++/36104
14476 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
14477
14478 2011-01-16 Gerald Pfeifer
14479
14480 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
14481
14482 2010-12-14 Jakub Jelinek <jakub (a] redhat.com>
14483
14484 PR fortran/46874
14485 * libgomp.fortran/allocatable6.f90: New test.
14486
14487 2010-12-06 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14488
14489 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
14490 * configure: Regenerate.
14491
14492 2010-12-06 Dave Korn <dave.korn.cygwin (a] gmail.com>
14493
14494 PR target/40125
14495 PR lto/46695
14496 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
14497 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
14498 * aclocal.m4: Regenerate.
14499 * configure: Regenerate.
14500 * Makefile.in: Regenerate.
14501 * testsuite/Makefile.in: Regenerate.
14502
14503 2010-12-02 Jakub Jelinek <jakub (a] redhat.com>
14504
14505 PR fortran/46753
14506 * libgomp.fortran/pr46753.f90: New test.
14507
14508 PR libgomp/43706
14509 * env.c (initialize_env): Default to spin count 300000
14510 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
14511 is specified.
14512
14513 PR libgomp/45240
14514 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
14515 at the end if sync builtins aren't supported.
14516
14517 2010-12-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14518
14519 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
14520
14521 2010-12-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14522
14523 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
14524
14525 2010-11-24 Iain Sandoe <iains (a] gcc.gnu.org>
14526
14527 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
14528
14529 2010-11-16 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
14530 Tobias Burnus <burnus (a] net-b.de>
14531
14532 PR fortran/32049
14533 * configure.ac:
14534 * configure: Regenerate.
14535
14536 2010-10-06 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
14537
14538 * config/linux/futex.h: New.
14539 * config/linux/arm/mutex.h: New.
14540 * configure.tgt (arm*-*-linux*): Add config path.
14541
14542 2010-09-30 Sebastian Pop <sebastian.pop (a] amd.com>
14543
14544 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14545
14546 2010-09-23 Tobias Burnus <burnus (a] net-b.de>
14547
14548 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
14549 Change Fortran datatype to LOGICAL.
14550 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
14551 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
14552
14553 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14554
14555 * configure: Regenerate.
14556
14557 2010-07-26 Jakub Jelinek <jakub (a] redhat.com>
14558
14559 * libgomp.texi: Add function keyword to a couple of Fortran
14560 interfaces, use integer instead of int for Fortran.
14561
14562 2010-07-26 Aldy Hernandez <aldyh (a] redhat.com>
14563
14564 * libgomp.texi: Fix spelling and pasto problems throughout.
14565 Adjust prototypes to match code.
14566
14567 2010-07-24 Tobias Burnus <burnus (a] net-b.de>
14568
14569 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
14570 silence -fwhole-file warning.
14571
14572 2010-07-23 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14573
14574 * configure.tgt (*-*-solaris2.[56]*): Removed.
14575
14576 2010-07-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14577
14578 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
14579 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
14580 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
14581 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
14582 targetting solaris2*.
14583 * configure: Regenerate.
14584 * config.h.in: Regenerate.
14585
14586 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
14587 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
14588 Add libgomp_version_dep.
14589 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
14590 versioning.
14591 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
14592 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
14593 * Makefile.in: Regenerate.
14594
14595 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
14596 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14597 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
14598 to common block, protected by
14599 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14600
14601 2010-06-10 Gerald Pfeifer <gerald (a] pfeifer.com>
14602
14603 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
14604
14605 2010-06-09 Iain Sandoe <iains (a] gcc.gnu.org>
14606
14607 PR bootstrap/43170
14608 * configure: Regenerate.
14609
14610 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14611
14612 PR other/43620
14613 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
14614 * configure: Regenerate.
14615 * Makefile.in: Regenerate.
14616 * testsuite/Makefile.in: Regenerate.
14617
14618 2010-04-26 Jakub Jelinek <jakub (a] redhat.com>
14619
14620 PR c/43893
14621 * testsuite/libgomp.c/pr43893.c: New test.
14622 * testsuite/libgomp.c++/pr43893.C: New test.
14623
14624 2010-04-21 Jakub Jelinek <jakub (a] redhat.com>
14625
14626 PR middle-end/43570
14627 * testsuite/libgomp.fortran/vla8.f90: New test.
14628
14629 2010-04-20 Jakub Jelinek <jakub (a] redhat.com>
14630
14631 PR libgomp/43706
14632 * config/linux/affinity.c (gomp_init_affinity): Decrease
14633 gomp_available_cpus if affinity mask confines the process to fewer
14634 CPUs.
14635 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
14636 non-NULL, just return gomp_available_cpus.
14637
14638 PR libgomp/43569
14639 * sections.c (gomp_sections_init): Initialize ws->mode.
14640
14641 2010-04-14 Uros Bizjak <ubizjak (a] gmail.com>
14642
14643 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
14644 not unused bar variable.
14645 * configure: Regenerate.
14646
14647 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14648
14649 * Makefile.in: Regenerate.
14650 * aclocal.m4: Regenerate.
14651 * testsuite/Makefile.in: Regenerate.
14652
14653 2010-03-22 Jakub Jelinek <jakub (a] redhat.com>
14654
14655 PR libgomp/42942
14656 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
14657 (initialize_env): Adjust callers.
14658 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
14659 when the argument is 0.
14660
14661 * testsuite/libgomp.c/pr42942.c: New test.
14662
14663 2010-03-08 Tobias Grosser <grosser (a] fim.uni-passau.de>
14664
14665 PR middle-end/42644
14666 PR middle-end/42130
14667 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14668 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
14669
14670 2010-01-29 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14671
14672 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
14673 * testsuite/libgomp.c++/task-6.C: Likewise.
14674
14675 2010-01-28 Steve Ellcey <sje (a] cup.hp.com>
14676
14677 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
14678
14679 2010-01-26 Paolo Bonzini <bonzini (a] gnu.org>
14680
14681 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
14682 * configure: Regenerate.
14683
14684 2010-01-26 Jakub Jelinek <jakub (a] redhat.com>
14685
14686 PR fortran/42866
14687 * testsuite/libgomp.fortran/allocatable5.f90: New test.
14688
14689 2010-01-20 Paolo Bonzini <bonzini (a] gnu.org>
14690
14691 * configure.ac: Test for executability of GFORTRAN.
14692 * configure: Regenerate.
14693
14694 2010-01-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14695
14696 * configure: Regenerate.
14697
14698 2010-01-04 H.J. Lu <hongjiu.lu (a] intel.com>
14699
14700 PR libgomp/42602
14701 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
14702
14703 2010-01-03 Richard Guenther <rguenther (a] suse.de>
14704
14705 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
14706
14707 2009-12-23 Sebastian Pop <sebpop (a] gmail.com>
14708
14709 * testsuite/libgomp.graphite/pr4118.c: New.
14710
14711 2009-12-22 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk>
14712
14713 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
14714 for darwin, protect the test with require-effective-target tls_runtime.
14715 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
14716
14717 2009-12-22 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk>
14718
14719 PR target/41605
14720 * testsuite/lib/libgomp.exp: Provide -B options to allow for
14721 link spec %s substitutions for static libraries.
14722
14723 2009-12-18 Jack Howarth <howarth (a] bromo.med.uc.edu>
14724
14725 PR testsuite/42135
14726 * libgomp.graphite/force-parallel-2.c: Reduce array size.
14727
14728 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14729
14730 * Makefile.in: Regenerate.
14731 * configure: Regenerate.
14732 * testsuite/Makefile.in: Regenerate.
14733
14734 2009-11-30 Dave Korn <dave.korn.cygwin (a] gmail.com>
14735
14736 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
14737 settings for LC_ALL and LANG.
14738
14739 2009-11-25 Jakub Jelinek <jakub (a] redhat.com>
14740
14741 PR fortran/42162
14742 * testsuite/libgomp.fortran/pr42162.f90: New test.
14743
14744 2009-11-13 Jakub Jelinek <jakub (a] redhat.com>
14745
14746 PR middle-end/42029
14747 * testsuite/libgomp.c/pr42029.c: New test.
14748
14749 2009-10-26 Jakub Jelinek <jakub (a] redhat.com>
14750
14751 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
14752 *s. Accept ld version without text in ()s.
14753 * configure: Regenerated.
14754
14755 2009-10-22 Razya Ladelsky <razya (a] il.ibm.com>
14756
14757 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
14758
14759 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14760
14761 PR libgomp/41418
14762 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
14763 or a hyphen (happens with fortran language disabled).
14764 * configure: Regenerate.
14765
14766 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14767
14768 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
14769 use sed script portable to Solaris /bin/sed for extracting ld
14770 version.
14771 * configure: Regenerate.
14772
14773 2009-09-17 Alexander Monakov <amonakov (a] ispras.ru>
14774
14775 * testsuite/libgomp.graphite/bounds.c: New test.
14776
14777 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14778
14779 * Makefile.am (libgomp_la_LINK): New.
14780 * Makefile.in: Regenerate.
14781
14782 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14783
14784 * configure.ac (AC_PREREQ): Bump to 2.64.
14785
14786 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14787
14788 * Makefile.am (install-html, install-pdf): Remove.
14789 * Makefile.in: Regenerate.
14790
14791 * Makefile.in: Regenerate.
14792 * aclocal.m4: Regenerate.
14793 * config.h.in: Regenerate.
14794 * configure: Regenerate.
14795 * testsuite/Makefile.in: Regenerate.
14796
14797 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14798
14799 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
14800 * Makefile.in: Regenerate.
14801
14802 2009-08-20 Dave Korn <dave.korn.cygwin (a] gmail.com>
14803
14804 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
14805 * Makefile.in: Regenerate.
14806
14807 2009-08-19 Tobias Burnus <burnus (a] net-b.de>
14808
14809 PR fortran/41102
14810 omp_lib.h.in: Fix -std=f95 errors.
14811
14812 2009-08-14 David Edelsohn <edelsohn (a] gnu.org>
14813
14814 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
14815 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
14816 * testsuite/libgomp.graphite/graphite.exp: New.
14817
14818 2009-08-05 Andreas Tobler <a.tobler (a] schweiz.org>
14819
14820 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
14821 only build.
14822
14823 2009-08-04 David Daney <ddaney (a] caviumnetworks.com>
14824
14825 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
14826 needed memory barrier semantics.
14827 * config/linux/mips/mutex.h: New file.
14828
14829 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14830
14831 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
14832
14833 2009-07-16 Joseph Myers <joseph (a] codesourcery.com>
14834
14835 * configure: Regenerate.
14836
14837 2009-07-11 Richard Sandiford <rdsandiford (a] googlemail.com>
14838
14839 PR testsuite/40699
14840 PR testsuite/40707
14841 PR testsuite/40709
14842 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
14843 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
14844 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
14845
14846 2009-07-02 Richard Sandiford <r.sandiford (a] uk.ibm.com>
14847
14848 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
14849 options when choosing a multilib.
14850
14851 2009-06-30 Richard Sandiford <r.sandiford (a] uk.ibm.com>
14852
14853 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
14854 ld_library_path. Use add_path. Add just find_libgcc_s to
14855 ld_library_path, not every libgcc multilib directory.
14856 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
14857 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
14858 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
14859 Use add_path.
14860 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
14861
14862 2009-06-09 Nathan Froyd <froydnj (a] codesourcery.com>
14863
14864 * Makefile.am (LTLDFLAGS): Define.
14865 (LINK): Define.
14866 * Makefile.in: Regenerate.
14867
14868 2009-05-27 Janne Blomqvist <jb (a] gcc.gnu.org>
14869
14870 PR fortran/39718
14871 * testsuite/libgomp.fortran/fortran.exp: Don't link with
14872 libgfortranbegin, check existence of libgfortran.a instead of
14873 libgfortranbegin.a.
14874
14875 2009-05-20 Jakub Jelinek <jakub (a] redhat.com>
14876
14877 PR libgomp/40174
14878 * team.c (gomp_thread_start): Destroy thr->release semaphore.
14879 (gomp_free_pool_helper): Likewise.
14880
14881 2009-04-20 Vasilis Liaskovitis <vliaskov (a] gmail.com>
14882 Jakub Jelinek <jakub (a] redhat.com>
14883
14884 PR fortran/35423
14885 * testsuite/libgomp.fortran/workshare2.f90: New test.
14886
14887 2009-04-09 Nick Clifton <nickc (a] redhat.com>
14888
14889 * iter.c: Change copyright header to refer to version 3 of the
14890 GNU General Public License with version 3.1 of the GCC Runtime
14891 Library Exception and to point readers at the COPYING3 and
14892 COPYING3.RUNTIME files and the FSF's license web page.
14893 * alloc.c: Likewise.
14894 * barrier.c: Likewise.
14895 * config/bsd/proc.c: Likewise.
14896 * config/linux/affinity.c: Likewise.
14897 * config/linux/alpha/futex.h: Likewise.
14898 * config/linux/bar.c: Likewise.
14899 * config/linux/bar.h: Likewise.
14900 * config/linux/ia64/futex.h: Likewise.
14901 * config/linux/ia64/mutex.h: Likewise.
14902 * config/linux/lock.c: Likewise.
14903 * config/linux/mips/futex.h: Likewise.
14904 * config/linux/mutex.c: Likewise.
14905 * config/linux/mutex.h: Likewise.
14906 * config/linux/powerpc/futex.h: Likewise.
14907 * config/linux/proc.c: Likewise.
14908 * config/linux/ptrlock.c: Likewise.
14909 * config/linux/ptrlock.h: Likewise.
14910 * config/linux/s390/futex.h: Likewise.
14911 * config/linux/sem.c: Likewise.
14912 * config/linux/sem.h: Likewise.
14913 * config/linux/sparc/futex.h: Likewise.
14914 * config/linux/wait.h: Likewise.
14915 * config/linux/x86/futex.h: Likewise.
14916 * config/mingw32/proc.c: Likewise.
14917 * config/mingw32/time.c: Likewise.
14918 * config/posix/affinity.c: Likewise.
14919 * config/posix/bar.c: Likewise.
14920 * config/posix/bar.h: Likewise.
14921 * config/posix/lock.c: Likewise.
14922 * config/posix/mutex.h: Likewise.
14923 * config/posix/proc.c: Likewise.
14924 * config/posix/ptrlock.h: Likewise.
14925 * config/posix/sem.c: Likewise.
14926 * config/posix/sem.h: Likewise.
14927 * config/posix/time.c: Likewise.
14928 * config/posix95/lock.c: Likewise.
14929 * critical.c: Likewise.
14930 * env.c: Likewise.
14931 * error.c: Likewise.
14932 * fortran.c: Likewise.
14933 * iter_ull.c: Likewise.
14934 * libgomp.h: Likewise.
14935 * libgomp_f.h.in: Likewise.
14936 * libgomp_g.h: Likewise.
14937 * loop.c: Likewise.
14938 * loop_ull.c: Likewise.
14939 * omp.h.in: Likewise.
14940 * omp_lib.f90.in: Likewise.
14941 * omp_lib.h.in: Likewise.
14942 * ordered.c: Likewise.
14943 * parallel.c: Likewise.
14944 * sections.c: Likewise.
14945 * single.c: Likewise.
14946 * task.c: Likewise.
14947 * team.c: Likewise.
14948 * work.c: Likewise.
14949
14950 2009-04-09 Jakub Jelinek <jakub (a] redhat.com>
14951
14952 * testsuite/config/default.exp: Change copyright header to refer to
14953 version 3 of the GNU General Public License and to point readers
14954 at the COPYING3 file and the FSF's license web page.
14955
14956 2009-04-08 Jakub Jelinek <jakub (a] redhat.com>
14957
14958 PR middle-end/39573
14959 * libgomp.c++/pr39573.C: New test.
14960
14961 2009-04-01 Jakub Jelinek <jakub (a] redhat.com>
14962
14963 PR other/39591
14964 * testsuite/libgomp.c/pr39591-1.c: New test.
14965 * testsuite/libgomp.c/pr39591-2.c: New test.
14966 * testsuite/libgomp.c/pr39591-3.c: New test.
14967
14968 2009-03-25 Uros Bizjak <ubizjak (a] gmail.com>
14969
14970 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
14971 * testsuite/libgomp.c/atomic-6.c: Ditto.
14972
14973 2009-03-23 Jakub Jelinek <jakub (a] redhat.com>
14974
14975 PR c/39495
14976 * testsuite/libgomp.c/loop-12.c: New test.
14977 * testsuite/libgomp.c/loop-11.c: New test.
14978 * testsuite/libgomp.c++/loop-11.C: New test.
14979 * testsuite/libgomp.c++/loop-12.C: New test.
14980 * testsuite/libgomp.c++/for-8.C: New test.
14981
14982 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14983
14984 * configure: Regenerate.
14985
14986 2009-02-11 Jakub Jelinek <jakub (a] redhat.com>
14987
14988 PR middle-end/39154
14989 * testsuite/libgomp.c/pr39154.c: New test.
14990
14991 2009-01-30 Ian Lance Taylor <iant (a] google.com>
14992
14993 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
14994 libgomp_ld_is_gold. Get gold version number.
14995 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
14996 * configure: Rebuild.
14997
14998 2009-01-19 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk>
14999
15000 * testsuite/lib/libgomp.exp: Add -B option for targets that
15001 use libgfortran.a%s in their specs.
15002
15003 2009-01-07 Jakub Jelinek <jakub (a] redhat.com>
15004
15005 PR libgomp/38086
15006 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
15007 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
15008 HAVE_AS_SYMVER_DIRECTIVE is not defined.
15009 * configure: Regenerated.
15010 * config.h.in: Likewise.
15011
15012 2008-12-28 Jakub Jelinek <jakub (a] redhat.com>
15013
15014 PR c++/38650
15015 * testsuite/libgomp.c/pr38650.c: New test.
15016 * testsuite/libgomp.c++/pr38650.C: New test.
15017
15018 2008-12-27 Jakub Jelinek <jakub (a] redhat.com>
15019
15020 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
15021
15022 2008-12-26 Uros Bizjak <ubizjak (a] gmail.com>
15023
15024 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
15025
15026 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15027
15028 * configure: Regenerate.
15029
15030 2008-12-08 Jakub Jelinek <jakub (a] redhat.com>
15031
15032 PR middle-end/36802
15033 * testsuite/libgomp.c/pr36802-1.c: New test.
15034 * testsuite/libgomp.c/pr36802-2.c: New test.
15035 * testsuite/libgomp.c/pr36802-3.c: New test.
15036
15037 2008-12-01 Janis Johnson <janis187 (a] us.ibm.com>
15038
15039 PR libgomp/38270
15040 * config/linux/powerpc/mutex.h: New.
15041
15042 2008-12-01 Jakub Jelinek <jakub (a] redhat.com>
15043
15044 PR c++/38257
15045 * testsuite/libgomp.c++/for-7.C: New test.
15046
15047 PR c++/38348
15048 * testsuite/libgomp.c++/for-6.C: New test.
15049
15050 2008-11-26 Janis Johnson <janis187 (a] us.ibm.com>
15051
15052 PR testsuite/28870
15053 * testsuite/lib/libgomp.exp: Include new timeout library files.
15054 (libgomp_target_compile): Set timeout value from new proc.
15055
15056 2008-11-13 Steve Ellcey <sje (a] cup.hp.com>
15057
15058 PR libgomp/37938
15059 * config/linux/ia64/mutex.h: New.
15060
15061 2008-11-04 Tobias Burnus <burnus (a] net-b.de>
15062
15063 PR libgomp/37935
15064 * libgomp.texi (Runtime library routines, environment variables):
15065 Update for OpenMP version 3.0.
15066
15067 2008-09-26 Peter O'Gorman <pogma (a] thewrittenword.com>
15068 Steve Ellcey <sje (a] cup.hp.com>
15069
15070 * configure: Regenerate for new libtool.
15071 * Makefile.in: Ditto.
15072 * testsuite/Makefile.in: Ditto.
15073
15074 2008-09-19 Jakub Jelinek <jakub (a] redhat.com>
15075 Andreas Tobler <a.tobler (a] schweiz.org>
15076
15077 * config/bsd/proc.c: New file.
15078 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
15079 * configure.ac: Check for header <sys/sysctl.h>
15080 * configure: Regenerate.
15081 * config.h.in: Likewise.
15082
15083 2008-09-05 Janis Johnson <janis187 (a] us.ibm.com>
15084
15085 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
15086
15087 2008-08-31 Aaron W. LaFramboise <aaronavay62 (a] aaronwl.com>
15088
15089 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
15090 * Makefile.in: Regenerated.
15091 * testsuite/Makefile.in: Regenerated.
15092
15093 2008-08-21 Nathan Froyd <froydnj (a] codesourcery.com>
15094
15095 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
15096 depend on blddir if blddir exists.
15097 (libgomp_target_compile): Likewise.
15098 * testsuite/libgomp.c++/c++.exp: Likewise.
15099 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15100
15101 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15102
15103 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
15104 Do not list GPL as Invariant Section.
15105
15106 2008-07-28 Ilie Garbacea <ilie (a] mips.com>
15107 Chao-ying Fu <fu (a] mips.com>
15108
15109 * configure.tgt: Enable futex for MIPS.
15110 * config/linux/mips/futex.h: New file.
15111
15112 2008-07-16 Jakub Jelinek <jakub (a] redhat.com>
15113
15114 * team.c (gomp_team_end): Free team immediately if it has
15115 just one thread.
15116
15117 2008-07-08 David Edelsohn <edelsohn (a] gnu.org>
15118
15119 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
15120 * testsuite/libgomp.fortran/fortran.exp: Same.
15121 * testsuite/libgomp.c/c.exp: Same.
15122 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
15123 directory to library path first.
15124
15125 2008-06-29 Krister Walfridsson <krister.walfridsson (a] gmail.com>
15126
15127 * env.c (parse_stacksize): Add cast to avoid warning.
15128 (parse_spincount): Likewise.
15129
15130 2008-06-27 Jakub Jelinek <jakub (a] redhat.com>
15131
15132 * testsuite/libgomp.c/loop-10.c: New test.
15133 * libgomp.c/loop-3.c (main): Add lastprivate clause.
15134 * libgomp.c++/loop-6.C (main): Likewise.
15135
15136 PR debug/36617
15137 * testsuite/libgomp.c/debug-1.c: New test.
15138
15139 2008-06-19 Jakub Jelinek <jakub (a] redhat.com>
15140
15141 * testsuite/libgomp.c/nqueens-1.c: New test.
15142
15143 PR c++/36523
15144 * testsuite/libgomp.c++/task-7.C: New function.
15145
15146 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15147
15148 * configure: Regenerate.
15149
15150 2008-06-15 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca>
15151
15152 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
15153 mutex when HAVE_SYNC_BUILTINS isn't defined.
15154
15155 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15156
15157 * libgomp.texi (omp_test_lock): Fix typo.
15158
15159 2008-06-12 Tobias Burnus <burnus (a] net-b.de>
15160
15161 * omp_lib.f90.in: Add "implicit none".
15162
15163 2008-06-12 Jakub Jelinek <jakub (a] redhat.com>
15164
15165 PR middle-end/36506
15166 * testsuite/libgomp.c/reduction-5.c: New test.
15167
15168 2008-06-11 Jakub Jelinek <jakub (a] redhat.com>
15169
15170 * libgomp.h (struct gomp_task): Add in_tied_task field.
15171 * task.c (gomp_init_task): Initialize it.
15172 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
15173 unconditionally. Don't call gomp_team_barrier_wake if
15174 current task is implicit or if(0) from implicit and number of
15175 running tasks is equal to nthreads - 1.
15176
15177 PR libgomp/36471
15178 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
15179 omp_get_team_size_8): Fix pastos.
15180
15181 PR libgomp/36469
15182 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
15183 * configure: Regenerated.
15184 * config.h.in: Regenerated.
15185 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
15186 defined.
15187
15188 2008-06-06 Andreas Tobler <a.tobler (a] schweiz.org>
15189
15190 PR bootstrap/36452
15191 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
15192 (GOMP_loop_ull_dynamic_start): Likewise.
15193 (GOMP_loop_ull_guided_start): Likewise.
15194 (GOMP_loop_ull_ordered_static_start): Likewise.
15195 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
15196 (GOMP_loop_ull_ordered_guided_start): Likewise.
15197
15198 2008-06-06 Jakub Jelinek <jakub (a] redhat.com>
15199 Richard Henderson <rth (a] redhat.com>
15200 Ulrich Drepper <drepper (a] redhat.com>
15201 Jakob Blomer <jakob.blomer (a] ira.uka.de>
15202
15203 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
15204 Substitute also OMP_*LOCK_25*.
15205 * configure: Regenerated.
15206 * config.h.in: Regenerated.
15207 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
15208 ptrlock.c and task.c.
15209 * Makefile.in: Regenerated.
15210 * testsuite/Makefile.in: Regenerated.
15211 * task.c: New file.
15212 * loop_ull.c: New file.
15213 * iter_ull.c: New file.
15214 * libgomp.h: Include ptrlock.h.
15215 (enum gomp_task_kind): New type.
15216 (struct gomp_team): Add task_lock, task_queue, task_count,
15217 task_running_count, single_count fields. Add
15218 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
15219 Remove work_share_lock, generation_mask,
15220 oldest_live_gen, num_live_gen and init_work_shares fields, add
15221 work work_share_list_alloc, work_share_list_free and work_share_chunk
15222 fields. Change work_shares from pointer to pointers into an array.
15223 Change ordered_release field into gomp_sem_t ** from flexible array
15224 member. Add implicit_task and initial_work_shares fields.
15225 Move close to the end of the struct.
15226 (struct gomp_team_state): Add single_count, last_work_share,
15227 active_level and level fields, remove work_share_generation.
15228 (gomp_barrier_handle_tasks): New prototype.
15229 (gomp_finish_task): New inline function.
15230 (struct gomp_work_share): Move chunk_size, end, incr into
15231 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
15232 next_ll fields. Reshuffle fields. Add next_alloc,
15233 next_ws, next_free and inline_ordered_team_ids fields, change
15234 ordered_team_ids into pointer from flexible array member.
15235 Add mode field. Put lock and next into a different cache line
15236 from most of the write-once fields.
15237 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
15238 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
15239 gomp_iter_ull_guided_next): New prototypes.
15240 (gomp_new_icv): New prototype.
15241 (struct gomp_thread): Add thread_pool and task fields.
15242 (struct gomp_thread_pool): New type.
15243 (gomp_new_team): New prototype.
15244 (gomp_team_start): Change type of last argument.
15245 (gomp_new_work_share): Removed.
15246 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
15247 (gomp_work_share_init_done): New static inline.
15248 (gomp_throttled_spin_count_var, gomp_available_cpus,
15249 gomp_managed_threads): New extern decls.
15250 (gomp_init_task): New prototype.
15251 (gomp_spin_count_var): New extern var decl.
15252 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
15253 or no alias support, or if not PIC.
15254 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
15255 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
15256 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
15257 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
15258 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
15259 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
15260 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
15261 gomp_test_nest_lock_25): New prototypes.
15262 (omp_lock_symver, strong_alias): Define.
15263 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
15264 decls.
15265 (gomp_end_task): New.
15266 (struct gomp_task_icv, gomp_global_icv): New.
15267 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
15268 (struct gomp_task): New.
15269 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15270 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15271 (gomp_icv): New.
15272 (gomp_schedule_type): Reorder enum to match
15273 omp_sched_t.
15274 * team.c (struct gomp_thread_start_data): Add thread_pool and task
15275 fields.
15276 (gomp_thread_start): Add gomp_team_barrier_wait call.
15277 For non-nested case remove clearing of docked thread thr fields.
15278 Use pool fields instead of global gomp_* variables. Use
15279 gomp_barrier_wait_last when needed. Initialize ts.active_level.
15280 Create tasks for each member thread.
15281 (free_team): Only destroy team barrier, task_lock here and free it.
15282 (gomp_free_thread): Free last_team if non-NULL.
15283 (gomp_team_end): Call gomp_team_barrier_wait instead of
15284 gomp_barrier_wait. For nested case call one extra
15285 gomp_barrier_wait. Move here some destruction from free_team.
15286 Call free_team on pool->last_team if any, rather than freeing
15287 current team. Destroy work_share_list_free_lock ifndef
15288 HAVE_SYNC_BUILTINS.
15289 (gomp_new_icv): New function.
15290 (gomp_threads, gomp_threads_size, gomp_threads_used,
15291 gomp_threads_dock): Removed.
15292 (gomp_thread_destructor): New variable.
15293 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
15294 functions.
15295 (gomp_team_start): Create new pool if current thread doesn't have
15296 one. Use pool fields instead of global gomp_* variables.
15297 Initialize thread_pool field for new threads. Clear single_count.
15298 Change last argument from ws to team, don't create
15299 new team, set ts.work_share to &team->work_shares[0] and clear
15300 ts.last_work_share. Don't clear ts.work_share_generation.
15301 If number of threads changed, adjust atomically gomp_managed_threads.
15302 Use gomp_init_task instead of gomp_new_task,
15303 set thr->task to the corresponding implicit_task array entry.
15304 Create tasks for each member thread. Initialize ts.level.
15305 (initialize_team): Call pthread_key_create on
15306 gomp_thread_destructor.
15307 (team_destructor): New function.
15308 (new_team): Removed.
15309 (gomp_new_team): New function.
15310 (free_team): Free gomp_work_share blocks chained through next_alloc,
15311 instead of freeing work_shares and destroying work_share_lock.
15312 (gomp_team_end): Call gomp_fini_work_share. If number of threads
15313 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
15314 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
15315 of gomp_barrier_wait.
15316 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
15317 instead of gomp_barrier_wait. Call gomp_work_share_init_done
15318 if gomp_work_share_start returned true. Don't unlock ws->lock.
15319 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
15320 of gomp_barrier_wait.
15321 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
15322 gomp_work_share_init_done if gomp_work_share_start returned true.
15323 Don't unlock ws->lock.
15324 * work.c: Include stddef.h.
15325 (free_work_share): Use work_share_list_free_lock instead
15326 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
15327 Call gomp_fini_work_share and then either free ws if orphaned, or
15328 put it into work_share_list_free list of the current team.
15329 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
15330 functions.
15331 (gomp_work_share_start, gomp_work_share_end,
15332 gomp_work_share_end_nowait): Rewritten.
15333 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
15334 (openmp_version): Set to 200805.
15335 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15336 omp_sched_guided, omp_sched_auto): New parameters.
15337 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15338 omp_set_max_active_levels, omp_get_max_active_levels,
15339 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15340 omp_get_active_level): New interfaces.
15341 * omp_lib.h.in (openmp_version): Set to 200805.
15342 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15343 omp_sched_guided, omp_sched_auto): New parameters.
15344 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15345 omp_set_max_active_levels, omp_get_max_active_levels,
15346 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15347 omp_get_active_level): New externals.
15348 * loop.c: Include limits.h.
15349 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
15350 GFS_AUTO.
15351 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
15352 Likewise. Use gomp_icv.
15353 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
15354 ts.static_trip here.
15355 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
15356 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
15357 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
15358 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
15359 don't unlock ws->lock, otherwise lock it.
15360 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
15361 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
15362 (gomp_parallel_loop_start): Call gomp_new_team instead of
15363 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
15364 Adjust gomp_team_start caller. Pass 0 as second argument to
15365 gomp_resolve_num_threads.
15366 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
15367 If adding ws->chunk_size nthreads + 1 times after end won't
15368 overflow, set ws->mode to 1.
15369 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
15370 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
15371 GOMP_loop_ull_ordered_static_start,
15372 GOMP_loop_ull_ordered_dynamic_start,
15373 GOMP_loop_ull_ordered_guided_start,
15374 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
15375 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
15376 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
15377 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
15378 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
15379 prototypes.
15380 * libgomp.map: Export lock routines also @@OMP_2.0.
15381 (GOMP_loop_ordered_dynamic_first,
15382 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
15383 GOMP_loop_ordered_static_first): Remove.
15384 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
15385 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
15386 GOMP_loop_ull_ordered_dynamic_next,
15387 GOMP_loop_ull_ordered_dynamic_start,
15388 GOMP_loop_ull_ordered_guided_next,
15389 GOMP_loop_ull_ordered_guided_start,
15390 GOMP_loop_ull_ordered_runtime_next,
15391 GOMP_loop_ull_ordered_runtime_start,
15392 GOMP_loop_ull_ordered_static_next,
15393 GOMP_loop_ull_ordered_static_start,
15394 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
15395 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
15396 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
15397 (omp_set_schedule, omp_get_schedule,
15398 omp_get_thread_limit, omp_set_max_active_levels,
15399 omp_get_max_active_levels, omp_get_level,
15400 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
15401 omp_set_schedule_, omp_set_schedule_8_,
15402 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15403 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15404 omp_get_max_active_levels_, omp_get_level_,
15405 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15406 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15407 New exports @@OMP_3.0.
15408 * omp.h.in (omp_sched_t): New type.
15409 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15410 omp_set_max_active_levels, omp_get_max_active_levels,
15411 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15412 omp_get_active_level): New prototypes.
15413 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
15414 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
15415 gomp_thread_limit_var, gomp_remaining_threads_count,
15416 gomp_remaining_threads_lock): New variables.
15417 (parse_spincount): New function.
15418 (initialize_env): Call gomp_init_num_threads unconditionally.
15419 Initialize gomp_available_cpus. Call parse_spincount,
15420 initialize gomp_{,throttled_}spin_count_var
15421 depending on presence and value of OMP_WAIT_POLICY and
15422 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
15423 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
15424 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
15425 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
15426 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
15427 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15428 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15429 (gomp_global_icv): New.
15430 (parse_schedule): Use it. Parse "auto".
15431 (omp_set_num_threads): Use gomp_icv.
15432 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
15433 Likewise.
15434 (omp_get_max_threads): Move from parallel.c.
15435 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15436 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
15437 add ialias.
15438 (parse_stacksize, parse_wait_policy): New functions.
15439 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
15440 both wrappers for compatibility and new locks.
15441 (omp_set_schedule, omp_get_schedule,
15442 omp_get_thread_limit, omp_set_max_active_levels,
15443 omp_get_max_active_levels, omp_get_level,
15444 omp_get_ancestor_thread_num, omp_get_team_size,
15445 omp_get_active_level): New ialias_redirect.
15446 (omp_set_schedule_, omp_set_schedule_8_,
15447 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15448 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15449 omp_get_max_active_levels_, omp_get_level_,
15450 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15451 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15452 New functions.
15453 * parallel.c: Include limits.h.
15454 (gomp_resolve_num_threads): Add count argument. Rewritten.
15455 (GOMP_parallel_start): Call gomp_new_team and pass that as last
15456 argument to gomp_team_start. Pass 0 as second argument to
15457 gomp_resolve_num_threads.
15458 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
15459 if gomp_thread_limit_var != ULONG_MAX.
15460 (omp_in_parallel): Implement using ts.active_level.
15461 (omp_get_max_threads): Move to env.c.
15462 (omp_get_level, omp_get_ancestor_thread_num,
15463 omp_get_team_size, omp_get_active_level): New functions,
15464 add ialias.
15465 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
15466 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
15467 gomp_iter_dynamic_next instead of the _locked variant and don't take
15468 lock around it, otherwise acquire it before calling
15469 gomp_iter_dynamic_next_locked.
15470 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
15471 gomp_iter_dynamic_next instead of the _locked variant and don't take
15472 lock around it.
15473 (GOMP_parallel_sections_start): Call gomp_new_team instead of
15474 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
15475 Adjust gomp_team_start caller. Pass count as second argument to
15476 gomp_resolve_num_threads, don't adjust num_threads after the call.
15477 Use gomp_icv.
15478 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
15479 ws->chunk_size by incr.
15480 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
15481 code.
15482 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
15483 types.
15484 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
15485 (omp_check_defines): Check even the compat defines.
15486 * config/linux/ptrlock.c: New file.
15487 * config/linux/ptrlock.h: New file.
15488 * config/linux/wait.h: New file.
15489 * config/posix/ptrlock.c: New file.
15490 * config/posix/ptrlock.h: New file.
15491 * config/linux/bar.h (gomp_team_barrier_wait,
15492 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15493 (gomp_team_barrier_set_task_pending,
15494 gomp_team_barrier_clear_task_pending,
15495 gomp_team_barrier_set_waiting_for_tasks,
15496 gomp_team_barrier_waiting_for_tasks,
15497 gomp_team_barrier_done): New inlines.
15498 (gomp_barrier_t): Rewritten.
15499 (gomp_barrier_state_t): New typedef.
15500 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
15501 gomp_barrier_wait_start): Rewritten.
15502 (gomp_barrier_wait_end): Change second argument to
15503 gomp_barrier_state_t.
15504 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15505 inlines.
15506 * config/linux/bar.c: Include wait.h instead of libgomp.h and
15507 futex.h.
15508 (gomp_barrier_wait_end): Rewritten.
15509 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15510 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
15511 * config/posix/bar.h (gomp_barrier_t): Add generation field.
15512 (gomp_barrier_state_t): New typedef.
15513 (gomp_team_barrier_wait,
15514 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15515 (gomp_barrier_wait_start): Or all but low 2 bits from generation
15516 into the return value. Return gomp_barrier_state_t.
15517 (gomp_team_barrier_set_task_pending,
15518 gomp_team_barrier_clear_task_pending,
15519 gomp_team_barrier_set_waiting_for_tasks,
15520 gomp_team_barrier_waiting_for_tasks,
15521 gomp_team_barrier_done): New inlines.
15522 (gomp_barrier_wait_end): Change second argument to
15523 gomp_barrier_state_t.
15524 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15525 inlines.
15526 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
15527 (gomp_barrier_wait_end): Change second argument to
15528 gomp_barrier_state_t.
15529 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15530 gomp_team_barrier_wake): New functions.
15531 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
15532 futex.h.
15533 (gomp_futex_wake, gomp_futex_wait): New variables.
15534 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
15535 * config/linux/lock.c: Rewrite to make locks task owned,
15536 for backwards compatibility provide the old entrypoints
15537 if symbol versioning. Include wait.h instead of libgomp.h and
15538 futex.h.
15539 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
15540 * config/posix95/lock.c: Rewrite to make locks task owned,
15541 for backwards compatibility provide the old entrypoints
15542 if symbol versioning.
15543 * config/posix/lock.c: Rewrite to make locks task owned,
15544 for backwards compatibility provide the old entrypoints
15545 if symbol versioning.
15546 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
15547 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
15548 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
15549 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15550 (sys_futex0): Return error code.
15551 (futex_wake, futex_wait): If ENOSYS was returned, clear
15552 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15553 (cpu_relax, atomic_write_barrier): New static inlines.
15554 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15555 (futex_wake, futex_wait): If ENOSYS was returned, clear
15556 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15557 (cpu_relax, atomic_write_barrier): New static inlines.
15558 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15559 (sys_futex0): Return error code.
15560 (futex_wake, futex_wait): If ENOSYS was returned, clear
15561 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15562 (cpu_relax, atomic_write_barrier): New static inlines.
15563 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15564 (sys_futex0): Return error code.
15565 (futex_wake, futex_wait): If ENOSYS was returned, clear
15566 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15567 (cpu_relax, atomic_write_barrier): New static inlines.
15568 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15569 (sys_futex0): Return error code.
15570 (futex_wake, futex_wait): If ENOSYS was returned, clear
15571 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15572 (cpu_relax, atomic_write_barrier): New static inlines.
15573 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15574 (sys_futex0): Return error code.
15575 (futex_wake, futex_wait): If ENOSYS was returned, clear
15576 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15577 (cpu_relax, atomic_write_barrier): New static inlines.
15578 * config/linux/sem.c: Include wait.h instead of libgomp.h and
15579 futex.h.
15580 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
15581 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
15582 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
15583 types.
15584 (omp_nest_lock_t): Change owner into void *, add lock field.
15585 * config/posix95/omp-lock.h: Include semaphore.h.
15586 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15587 (omp_lock_t): Use sem_t instead of mutex if semaphores
15588 aren't broken.
15589 (omp_nest_lock_t): Likewise. Change owner to void *.
15590 * config/posix/omp-lock.h: Include semaphore.h.
15591 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15592 (omp_lock_t): Use sem_t instead of mutex if semaphores
15593 aren't broken.
15594 (omp_nest_lock_t): Likewise. Add owner field.
15595
15596 2008-06-06 Jakub Jelinek <jakub (a] redhat.com>
15597
15598 * testsuite/libgomp.c/collapse-1.c: New test.
15599 * testsuite/libgomp.c/collapse-2.c: New test.
15600 * testsuite/libgomp.c/collapse-3.c: New test.
15601 * testsuite/libgomp.c/icv-1.c: New test.
15602 * testsuite/libgomp.c/icv-2.c: New test.
15603 * testsuite/libgomp.c/lib-2.c: New test.
15604 * testsuite/libgomp.c/lock-1.c: New test.
15605 * testsuite/libgomp.c/lock-2.c: New test.
15606 * testsuite/libgomp.c/lock-3.c: New test.
15607 * testsuite/libgomp.c/loop-4.c: New test.
15608 * testsuite/libgomp.c/loop-5.c: New test.
15609 * testsuite/libgomp.c/loop-6.c: New test.
15610 * testsuite/libgomp.c/loop-7.c: New test.
15611 * testsuite/libgomp.c/loop-8.c: New test.
15612 * testsuite/libgomp.c/loop-9.c: New test.
15613 * testsuite/libgomp.c/nested-3.c: New test.
15614 * testsuite/libgomp.c/nestedfn-6.c: New test.
15615 * testsuite/libgomp.c/sort-1.c: New test.
15616 * testsuite/libgomp.c/task-1.c: New test.
15617 * testsuite/libgomp.c/task-2.c: New test.
15618 * testsuite/libgomp.c/task-3.c: New test.
15619 * testsuite/libgomp.c/task-4.c: New test.
15620 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
15621 to C++ testsuite default compiler options.
15622 * testsuite/libgomp.c++/collapse-1.C: New test.
15623 * testsuite/libgomp.c++/collapse-2.C: New test.
15624 * testsuite/libgomp.c++/ctor-10.C: New test.
15625 * testsuite/libgomp.c++/for-1.C: New test.
15626 * testsuite/libgomp.c++/for-2.C: New test.
15627 * testsuite/libgomp.c++/for-3.C: New test.
15628 * testsuite/libgomp.c++/for-4.C: New test.
15629 * testsuite/libgomp.c++/for-5.C: New test.
15630 * testsuite/libgomp.c++/loop-8.C: New test.
15631 * testsuite/libgomp.c++/loop-9.C: New test.
15632 * testsuite/libgomp.c++/loop-10.C: New test.
15633 * testsuite/libgomp.c++/task-1.C: New test.
15634 * testsuite/libgomp.c++/task-2.C: New test.
15635 * testsuite/libgomp.c++/task-3.C: New test.
15636 * testsuite/libgomp.c++/task-4.C: New test.
15637 * testsuite/libgomp.c++/task-5.C: New test.
15638 * testsuite/libgomp.c++/task-6.C: New test.
15639 * testsuite/libgomp.fortran/allocatable1.f90: New test.
15640 * testsuite/libgomp.fortran/allocatable2.f90: New test.
15641 * testsuite/libgomp.fortran/allocatable3.f90: New test.
15642 * testsuite/libgomp.fortran/allocatable4.f90: New test.
15643 * testsuite/libgomp.fortran/collapse1.f90: New test.
15644 * testsuite/libgomp.fortran/collapse2.f90: New test.
15645 * testsuite/libgomp.fortran/collapse3.f90: New test.
15646 * testsuite/libgomp.fortran/collapse4.f90: New test.
15647 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
15648 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
15649 * testsuite/libgomp.fortran/lib4.f90: New test.
15650 * testsuite/libgomp.fortran/lock-1.f90: New test.
15651 * testsuite/libgomp.fortran/lock-2.f90: New test.
15652 * testsuite/libgomp.fortran/nested1.f90: New test.
15653 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
15654 * testsuite/libgomp.fortran/strassen.f90: New test.
15655 * testsuite/libgomp.fortran/tabs1.f90: New test.
15656 * testsuite/libgomp.fortran/tabs2.f: New test.
15657 * testsuite/libgomp.fortran/task1.f90: New test.
15658 * testsuite/libgomp.fortran/task2.f90: New test.
15659 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
15660 * testsuite/libgomp.fortran/vla5.f90: Likewise.
15661 * testsuite/libgomp.c/pr26943-2.c: Likewise.
15662 * testsuite/libgomp.c/pr26943-3.c: Likewise.
15663 * testsuite/libgomp.c/pr26943-4.c: Likewise.
15664
15665 2008-05-23 Jakub Jelinek <jakub (a] redhat.com>
15666
15667 PR c++/36308
15668 * testsuite/libgomp.c++/ctor-11.C: New test.
15669 * testsuite/libgomp.c++/ctor-12.C: New test.
15670
15671 2008-05-15 Janis Johnson <janis187 (a] us.ibm.com>
15672
15673 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
15674
15675 2008-05-07 Jakub Jelinek <jakub (a] redhat.com>
15676
15677 PR middle-end/36106
15678 * testsuite/libgomp.c/atomic-5.c: New test.
15679 * testsuite/libgomp.c/atomic-6.c: New test.
15680 * testsuite/libgomp.c/autopar-1.c: New test.
15681
15682 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15683
15684 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
15685 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
15686 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
15687 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
15688 * configure: Regenerate.
15689 * Makefile.in, testsuite/Makefile.in: Likewise.
15690
15691 2008-04-18 Paolo Bonzini <bonzini (a] gnu.org>
15692
15693 PR bootstrap/35457
15694 * aclocal.m4: Regenerate.
15695 * configure: Regenerate.
15696
15697 2008-03-18 Jakub Jelinek <jakub (a] redhat.com>
15698
15699 PR middle-end/35611
15700 * testsuite/libgomp.c/atomic-4.c: New test.
15701
15702 PR libgomp/35625
15703 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
15704 (gomp_iter_guided_next): Likewise.
15705 * testsuite/libgomp.c/pr35625.c: New test.
15706
15707 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15708
15709 * aclocal.m4: Regenerate.
15710 * configure: Likewise.
15711 * Makefile.in: Likewise.
15712 * testsuite/Makefile.in: Likewise.
15713
15714 2008-03-13 Jakub Jelinek <jakub (a] redhat.com>
15715
15716 PR middle-end/35185
15717 * testsuite/libgomp.c++/pr35185.C: New test.
15718
15719 2008-03-12 Jakub Jelinek <jakub (a] redhat.com>
15720
15721 PR middle-end/35549
15722 * testsuite/libgomp.c/pr35549.c: New test.
15723
15724 2008-03-06 Jakub Jelinek <jakub (a] redhat.com>
15725
15726 * testsuite/libgomp.c/atomic-3.c: New test.
15727
15728 2008-03-03 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
15729
15730 PR fortran/33197
15731 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
15732 .F08 file suffixes.
15733
15734 2008-03-03 Peter O'Gorman <pogma (a] thewrittenword.com>
15735
15736 PR libgomp/33131
15737 * configure.ac: Add ACX_HEADER_STRING.
15738 * env.c: Include strings.h.
15739 * aclocal.m4: Regenerate.
15740 * config.h.in: Regenerate.
15741 * configure: Regenerate.
15742 * Makefile.in: Regenerate.
15743 * testsuite/Makefile.in: Regenerate.
15744
15745 2008-02-15 Jakub Jelinek <jakub (a] redhat.com>
15746
15747 PR middle-end/35196
15748 * testsuite/libgomp.c/pr35196.c: New test.
15749
15750 PR middle-end/35130
15751 * testsuite/libgomp.fortran/pr35130.f90: New test.
15752 * testsuite/libgomp.c/pr35130.c: New test.
15753
15754 2008-01-25 Jakub Jelinek <jakub (a] redhat.com>
15755
15756 PR middle-end/33880
15757 * testsuite/libgomp.c/pr33880.c: New test.
15758 * testsuite/libgomp.fortran/pr33880.f90: New test.
15759
15760 2008-01-24 David Edelsohn <edelsohn (a] gnu.org>
15761
15762 * configure: Regenerate.
15763
15764 2008-01-08 Jakub Jelinek <jakub (a] redhat.com>
15765
15766 * configure.ac: Move futex checking into ../config/futex.m4.
15767 * configure: Rebuilt.
15768 * aclocal.m4: Rebuilt.
15769 * Makefile.in: Rebuilt.
15770
15771 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
15772 2007-10-15 ../config/tls.m4 change.
15773
15774 2007-12-19 Jakub Jelinek <jakub (a] redhat.com>
15775
15776 PR c++/34513
15777 * testsuite/libgomp.c/pr34513.c: New test.
15778 * testsuite/libgomp.c++/pr34513.C: New test.
15779
15780 2007-12-17 Jack Howarth <howarth (a] bromo.med.uc.edu>
15781
15782 PR target/32765
15783 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
15784
15785 2007-12-04 Jakub Jelinek <jakub (a] redhat.com>
15786
15787 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
15788
15789 2007-12-03 Jakub Jelinek <jakub (a] redhat.com>
15790
15791 * testsuite/libgomp.c/private-1.c: New test.
15792
15793 2007-11-29 Andris Pavenis <andris.pavenis (a] iki.fi>
15794 Paolo Bonzini <bonzini (a] gnu.org>
15795
15796 * Makefile.am: Use space as vpath separator. Use 'vpath %'
15797 instead of 'VPATH ='.
15798 * Makefile.in: Regenerate.
15799
15800 2007-11-23 Matthias Klose <doko (a] ubuntu.com>
15801
15802 * configure.ac: Adjust makeinfo version check.
15803 * configure: Regenerate.
15804
15805 2007-11-10 Jakub Jelinek <jakub (a] redhat.com>
15806
15807 PR fortran/34020
15808 * testsuite/libgomp.fortran/pr34020.f90: New test.
15809
15810 2007-11-06 Jakub Jelinek <jakub (a] redhat.com>
15811
15812 PR c++/33894
15813 * testsuite/libgomp.c++/atomic-1.C: New test.
15814
15815 2007-10-25 Jakub Jelinek <jakub (a] redhat.com>
15816
15817 PR libgomp/33275
15818 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
15819 Make x and y integers rather than (implicit) reals. Add private (j)
15820 clause to the last omp parallel.
15821
15822 2007-10-15 Maciej W. Rozycki <macro (a] linux-mips.org>
15823
15824 * configure: Regenerate following changes to ../config/tls.m4.
15825
15826 2007-09-28 Jakub Jelinek <jakub (a] redhat.com>
15827
15828 * testsuite/libgomp.fortran/stack.f90: New test.
15829
15830 2007-09-10 Danny Smith <dannysmith (a] users.sourceforge.net>
15831
15832 * config/mingw32/proc.c: New file.
15833
15834 2007-09-05 Uros Bizjak <ubizjak (a] gmail.com>
15835
15836 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
15837 (main): Use __get_cpuid to get i386 target fetaures.
15838 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
15839 (main): Use __get_cpuid to get x86_64 target fetaures.
15840
15841 2007-08-15 Jack Howarth <howarth (a] bromo.med.uc.edu>
15842
15843 PR target/32765
15844 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
15845 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
15846
15847 2007-07-12 Jakub Jelinek <jakub (a] redhat.com>
15848
15849 PR fortran/32550
15850 * testsuite/libgomp.fortran/pr32550.f90: New test.
15851 * testsuite/libgomp.fortran/crayptr2.f90: New test.
15852
15853 2007-07-05 H.J. Lu <hongjiu.lu (a] intel.com>
15854
15855 * aclocal.m4: Regenerated.
15856
15857 2007-07-05 Tobias Burnus <burnus (a] net-b.de>
15858
15859 PR fortran/32359
15860 * testsuite/libgomp.fortran/pr32359.f90: New.
15861
15862 2007-07-02 Jakub Jelinek <jakub (a] redhat.com>
15863
15864 PR libgomp/32468
15865 * sections.c (GOMP_parallel_sections_start): Only decrease
15866 number of threads to COUNT if dyn_var is true.
15867 * testsuite/libgomp.c/pr32468.c: New test.
15868
15869 2007-07-02 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
15870
15871 PR libgomp/26308
15872 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
15873
15874 2007-06-21 Jakub Jelinek <jakub (a] redhat.com>
15875
15876 PR middle-end/32362
15877 * testsuite/libgomp.c/pr32362-1.c: New test.
15878 * testsuite/libgomp.c/pr32362-2.c: New test.
15879 * testsuite/libgomp.c/pr32362-3.c: New test.
15880
15881 2007-06-07 Jakub Jelinek <jakub (a] redhat.com>
15882
15883 * team.c (gomp_team_start): Fix setting up thread_attr
15884 stack size.
15885
15886 2007-06-02 Paolo Bonzini <bonzini (a] gnu.org>
15887
15888 * configure: Regenerate.
15889
15890 2007-05-23 Steve Ellcey <sje (a] cup.hp.com>
15891
15892 * Makefile.in: Regenerate.
15893 * configure: Regenerate.
15894 * aclocal.m4: Regenerate.
15895 * testsuite/Makefile.in: Regenerate.
15896
15897 2007-05-04 Jakub Jelinek <jakub (a] redhat.com>
15898
15899 * config/linux/proc.c: New file.
15900
15901 PR libgomp/28482
15902 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
15903
15904 2007-04-19 Daniel Franke <franke.daniel (a] gmail.com>
15905
15906 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
15907
15908 2007-04-16 Matthias Klose <doko (a] debian.org>
15909
15910 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
15911 flags if not building with -m64.
15912 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
15913 flag for i?86-*-* targets, if current target matches -m64.
15914
15915 2007-04-14 Steve Ellcey <sje (a] cup.hp.com>
15916
15917 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
15918 * Makefile.in: Regenerate.
15919
15920 2007-04-07 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca>
15921
15922 PR testsuite/31369
15923 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
15924 ld_library_path.
15925 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15926
15927 2007-04-04 Jakub Jelinek <jakub (a] redhat.com>
15928
15929 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
15930 decls.
15931 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
15932 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
15933 (parse_affinity): New function.
15934 (initialize_env): Call it and gomp_init_affinity.
15935 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
15936 create new pthread_attr_t and call gomp_init_thread_affinity
15937 on it for each thread before passing the attribute to pthread_create.
15938 * config/linux/affinity.c: New file.
15939 * config/posix/affinity.c: New file.
15940 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
15941 * configure: Rebuilt.
15942 * config.h.in: Rebuilt.
15943 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
15944 * Makefile.in: Rebuilt.
15945
15946 2007-03-23 Andreas Tobler <a.tobler (a] schweiz.org>
15947
15948 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
15949 *-*-darwin*.
15950 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
15951 and use it if found.
15952
15953 2007-03-18 Uros Bizjak <ubizjak (a] gmail.com>
15954
15955 * testsuite/config/default.exp: New file.
15956 * testsuite/lib/libgomp.exp: New file.
15957 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
15958 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
15959 load_lib *, load_gcc_lib *): Move to libgomp.exp.
15960 (libgomp_load): Remove.
15961 * testsuite/lib/libgomp.exp (libgomp_init): Compute
15962 always_ld_library_path, not ld_library_path. Set additional_flags
15963 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
15964 (target_compile): Do not call libgomp_init. Append lang_library_path
15965 and lang_link_flags to options.
15966 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
15967 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
15968 here.
15969 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
15970 always_ld_library_path. Set LD_LIBRARY_PATH here.
15971 * testsuite/libgomp.fortran/fortran.exp: Ditto.
15972 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
15973 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
15974 CX8 flag.
15975 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
15976 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
15977 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
15978 * testsuite/libgomp.c/pr29947-1.c: Ditto.
15979 * testsuite/libgomp.c/atomic-10.c: Ditto.
15980
15981 2007-03-21 Jakub Jelinek <jakub (a] redhat.com>
15982
15983 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
15984 dg-final cleanup-modules line.
15985 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
15986 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
15987 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
15988 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
15989 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
15990 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
15991 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
15992
15993 2007-03-18 Andreas Schwab <schwab (a] suse.de>
15994
15995 * acinclude.m4: Adjust regular expression for ld version
15996 extraction.
15997 * configure: Regenerate.
15998
15999 2007-03-01 Brooks Moses <brooks.moses (a] codesourcery.com>
16000
16001 * Makefile.am: Add install-pdf target as copied from
16002 automake v1.10 rules.
16003 * Makefile.in: Regenerate
16004
16005 2007-02-07 Jakub Jelinek <jakub (a] redhat.com>
16006
16007 PR libgomp/28486
16008 * configure: Regenerate.
16009
16010 PR c++/30703
16011 * testsuite/libgomp.c++/pr30703.C: New test.
16012
16013 2007-02-02 Jakub Jelinek <jakub (a] redhat.com>
16014
16015 Revert:
16016 2006-07-05 Eric Christopher <echristo (a] apple.com>
16017 * configure.ac: Depend addition of -pthread on host OS.
16018 * configure: Regenerate.
16019
16020 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
16021
16022 * libgomp.texi: Fix spacing after abbreviations.
16023
16024 2007-01-31 Daniel Franke <franke.daniel (a] gmail.com>
16025
16026 PR libgomp/30546
16027 * configure.ac: Add check for makeinfo
16028 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
16029 if an appropriate version of makeinfo is found.
16030 * aclocal.m4: Regenerated.
16031 * configure: Regenerated.
16032 * Makefile.in: Regenerated.
16033 * testsuite/Makefile.in: Regenerated.
16034
16035 2007-01-29 Daniel Franke <franke.daniel (a] gmail.com>
16036
16037 PR libgomp/30540
16038 * libgomp.texi: More about implementation-dependent settings.
16039
16040 2007-01-26 Tobias Burnus <burnus (a] net-b.de>
16041
16042 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
16043
16044 2007-01-24 Jakub Jelinek <jakub (a] redhat.com>
16045
16046 PR middle-end/30494
16047 * testsuite/libgomp.c/pr30494.c: New test.
16048
16049 2007-01-15 Tom Tromey <tromey (a] redhat.com>
16050
16051 * configure: Rebuilt.
16052 * configure.ac: Fixed comment.
16053
16054 2007-01-14 Daniel Franke <franke.daniel (a] gmail.com>
16055
16056 * libgomp.texi: Document implementation specific default values of
16057 environment variables.
16058
16059 2006-12-21 Daniel Franke <franke.daniel (a] gmail.com>
16060
16061 PR libgomp/28209
16062 * libgomp.texi: New file.
16063 * configure.ac: Add --enable-generated-files-in-srcdir option.
16064 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
16065 files to srcdir.
16066 * Makefile.in: Regenerated.
16067 * config.h.in: Regenerated.
16068 * testsuite/Makefile.in: Regenerated.
16069 * NOTES: Removed.
16070
16071 2006-12-04 Daniel Franke <franke.daniel (a] gmail.com>
16072
16073 PR libgomp/29949
16074 * env.c (omp_set_num_threads): Set illegal thread count to 1.
16075
16076 2006-12-04 Eric Botcazou <ebotcazou (a] libertysurf.fr>
16077
16078 * configure: Regenerate.
16079
16080 2006-12-04 Jakub Jelinek <jakub (a] redhat.com>
16081
16082 PR libgomp/29947
16083 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
16084 start if there shouldn't be any loop iterations.
16085 (gomp_loop_ordered_static_start): Remove start == end test.
16086 * testsuite/libgomp.c/pr29947-1.c: New test.
16087 * testsuite/libgomp.c/pr29947-2.c: New test.
16088
16089 2006-12-02 Eric Botcazou <ebotcazou (a] libertysurf.fr>
16090
16091 * configure.tgt: Force initial-exec TLS model on Linux only.
16092
16093 2006-11-13 Daniel Jacobowitz <dan (a] codesourcery.com>
16094
16095 * configure: Regenerated.
16096
16097 2006-11-09 Uros Bizjak <ubizjak (a] gmail.com>
16098
16099 * env.c (parse_schedule): Reject out of range values.
16100 (parse_unsigned_long): Reject out of range, negative or zero values.
16101
16102 2006-10-29 Jakub Jelinek <jakub (a] redhat.com>
16103
16104 PR fortran/29629
16105 * testsuite/libgomp.fortran/pr29629.f90: New test.
16106
16107 2006-10-24 Eric Botcazou <ebotcazou (a] libertysurf.fr>
16108
16109 PR libgomp/29494
16110 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
16111 * config/posix95: New directory.
16112 * config/posix95/omp-lock.h: New file.
16113 * config/posix95/lock.c: Likewise.
16114
16115 2006-10-14 Geoffrey Keating <geoffk (a] apple.com>
16116
16117 * aclocal.m4: Regenerate.
16118 * configure: Regenerate.
16119
16120 2006-10-05 Danny Smith <dannysmith (a] users.sourceforge.net>
16121
16122 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
16123 '<' to '<='.
16124
16125 2006-10-05 Danny Smith <dannysmith (a] users.sourceforge.net>
16126
16127 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
16128 test.
16129 * configure: Regenerate.
16130 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
16131
16132 2006-09-26 Jakub Jelinek <jakub (a] redhat.com>
16133
16134 PR middle-end/25261
16135 PR middle-end/28790
16136 * testsuite/libgomp.c/nestedfn-4.c: New test.
16137 * testsuite/libgomp.c/nestedfn-5.c: New test.
16138 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
16139
16140 PR fortran/29097
16141 * testsuite/libgomp.fortran/condinc1.f: New test.
16142 * testsuite/libgomp.fortran/condinc2.f: New test.
16143 * testsuite/libgomp.fortran/condinc3.f90: New test.
16144 * testsuite/libgomp.fortran/condinc4.f90: New test.
16145 * testsuite/libgomp.fortran/condinc1.inc: New file.
16146
16147 2006-09-18 Tom Tromey <tromey (a] redhat.com>
16148
16149 * configure: Rebuilt.
16150
16151 2006-09-13 Joseph S. Myers <joseph (a] codesourcery.com>
16152
16153 PR c/28768
16154 PR preprocessor/14634
16155 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
16156 to AC_DEFINE.
16157 * configure: Regenerate.
16158
16159 2006-09-08 Steven G. Kargl <kargl (a] gcc.gnu.org>
16160
16161 * testsuite/libgomp.fortran/reduction3.f90: Change
16162 -2147483648 to -huge(i)-1 to avoid overflow.
16163 * testsuite/libgomp.fortran/reduction4.f90: Change
16164 Z'ffffffff' to not(0) to avoid overflow.
16165
16166 2006-08-26 Joseph S. Myers <joseph (a] codesourcery.com>
16167
16168 PR libgomp/25938
16169 * Makefile.am (libsubincludedir): New.
16170 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
16171 * Makefile.in: Regenerate.
16172
16173 2006-08-17 Jakub Jelinek <jakub (a] redhat.com>
16174
16175 PR libgomp/28725
16176 * env.c: Include ctype.h.
16177 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
16178 leading and/or trailing whitespace and compare strings case
16179 insensitively.
16180
16181 2006-07-16 Jakub Jelinek <jakub (a] redhat.com>
16182
16183 PR fortran/28390
16184 * testsuite/libgomp.fortran/pr28390.f: New test.
16185
16186 2006-07-05 Eric Christopher <echristo (a] apple.com>
16187
16188 * configure.ac: Depend addition of -pthread on host OS.
16189 * configure: Regenerate.
16190
16191 2006-06-21 Jakub Jelinek <jakub (a] redhat.com>
16192
16193 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
16194 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
16195 defined.
16196
16197 2006-06-20 Jakub Jelinek <jakub (a] redhat.com>
16198
16199 PR libgomp/26175
16200 PR libgomp/26477
16201 * configure.ac: If neither --enable-linux-futex nor
16202 --disable-linux-futex is passed, determine the default by checking
16203 for compiling and/or running against NPTL. With --enable-linux-futex,
16204 check if SYS_gettid and SYS_futex are defined.
16205 * configure: Rebuilt.
16206
16207 2006-06-14 Richard Henderson <rth (a] redhat.com>
16208
16209 PR libgomp/28008
16210 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
16211 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
16212
16213 2006-06-09 Richard Henderson <rth (a] redhat.com>
16214
16215 * env.c (gomp_nthreads_var): Change to unsigned long.
16216 (gomp_run_sched_chunk): Likewise.
16217 (parse_unsigned_long): Rename from parse_num_threads and generalize.
16218 (initialize_env): Initialize gomp_thread_attr.
16219 * libgomp.h (gomp_nthreads_var): Update decl.
16220 (gomp_run_sched_chunk): Likewise.
16221 (gomp_thread_attr): Declare.
16222 * team.c (gomp_thread_attr): Export.
16223 (initialize_team): Don't initialize it.
16224
16225 2006-06-09 Jakub Jelinek <jakub (a] redhat.com>
16226
16227 PR fortran/27916
16228 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
16229 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
16230
16231 2006-06-06 Francois-Xavier Coudert <coudert (a] clipper.ens.fr>
16232
16233 * config/mingw32/time.c: New file.
16234 * configure.tgt: Use it.
16235
16236 2006-05-23 Carlos O'Donell <carlos (a] codesourcery.com>
16237
16238 * Makefile.am: Add install-html target. Add install-html to .PHONY
16239 * Makefile.in: Regenerate.
16240
16241 2006-05-22 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca>
16242
16243 PR libgomp/27612
16244 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
16245 * testsuite/libgomp.c/critical-1.c: Likewise.
16246 * testsuite/libgomp.c/loop-1.c: Likewise.
16247 * testsuite/libgomp.c/loop-2.c: Likewise.
16248 * testsuite/libgomp.c/single-1.c: Likewise.
16249 * testsuite/libgomp.c/ordered-1.c: Likewise.
16250 * testsuite/libgomp.c/ordered-2.c: Likewise.
16251
16252 2006-05-15 Jakub Jelinek <jakub (a] redhat.com>
16253
16254 PR middle-end/27416
16255 * libgomp.fortran/pr27416-1.f90: New test.
16256
16257 2006-05-03 Jakub Jelinek <jakub (a] redhat.com>
16258
16259 PR fortran/27395
16260 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
16261 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
16262
16263 2006-05-02 Jakub Jelinek <jakub (a] redhat.com>
16264
16265 PR c++/26943
16266 * testsuite/libgomp.c/pr26943-1.c: New test.
16267 * testsuite/libgomp.c/pr26943-2.c: New test.
16268 * testsuite/libgomp.c/pr26943-3.c: New test.
16269 * testsuite/libgomp.c/pr26943-4.c: New test.
16270 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
16271 * testsuite/libgomp.c++/pr26943.C: New test.
16272
16273 2006-05-02 Jakub Jelinek <jakub (a] redhat.com>
16274
16275 PR middle-end/27337
16276 * testsuite/libgomp.c++/pr27337.C: New test.
16277
16278 2006-04-26 Jakub Jelinek <jakub (a] redhat.com>
16279
16280 PR c/26171
16281 * testsuite/libgomp.c/pr26171.c: New test.
16282
16283 2006-04-25 Richard Henderson <rth (a] redhat.com>
16284
16285 PR libgomp/25865
16286 * configure.ac: Use GCC_CHECK_TLS.
16287 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
16288 * Makefile.in, aclocal.m4, configure: Regenerate.
16289
16290 2006-04-10 Matthias Klose <doko (a] debian.org>
16291
16292 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
16293 directory names containing underscores.
16294
16295 2006-03-21 Jakub Jelinek <jakub (a] redhat.com>
16296
16297 PR c++/26691
16298 * testsuite/libgomp.c++/pr26691.C: New test.
16299
16300 2006-03-13 Jakub Jelinek <jakub (a] redhat.com>
16301
16302 * testsuite/libgomp.fortran/retval2.f90: New test.
16303
16304 2006-03-09 Diego Novillo <dnovillo (a] redhat.com>
16305
16306 * testsuite/libgomp.c++: New directory.
16307
16308 2006-02-25 Shantonu Sen <ssen (a] opendarwin.org>
16309
16310 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
16311 * config/posix/sem.c: Implement the above.
16312
16313 2006-02-25 Andreas Tobler <a.tobler (a] schweiz.ch>
16314
16315 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
16316 define HAVE_BROKEN_POSIX_SEMAPHORES.
16317 * configure: Rebuilt.
16318 * config.h.in: Rebuilt.
16319
16320 2006-02-17 Francois-Xavier Coudert <coudert (a] clipper.ens.fr>
16321
16322 PR bootstrap/26161
16323 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
16324 for the other pthread check.
16325 * configure: Regenerate.
16326 * config.h.in: Regenerate.
16327
16328 2006-02-15 Jakub Jelinek <jakub (a] redhat.com>
16329
16330 PR libgomp/25938
16331 PR libgomp/25984
16332 * Makefile.am (fincludedir): New variable.
16333 (nodist_include_HEADERS): Remove Fortran files.
16334 (nodist_finclude_HEADERS): New variable.
16335 * Makefile.in: Regenerated.
16336
16337 2006-02-13 Jakub Jelinek <jakub (a] redhat.com>
16338
16339 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
16340 Remove tests for returning assumed character length arrays.
16341
16342 2006-02-12 Roger Sayle <roger (a] eyesopen.com>
16343 John David Anglin <dave (a] hiauly1.hia.nrc.ca>
16344
16345 PR libgomp/25936
16346 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
16347
16348 2006-02-08 Ulrich Weigand <uweigand (a] de.ibm.com>
16349
16350 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
16351
16352 2006-02-07 Eric Botcazou <ebotcazou (a] libertysurf.fr>
16353
16354 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
16355 part of LD_LIBRARY_PATH manually.
16356
16357 2006-02-03 H.J. Lu <hongjiu.lu (a] intel.com>
16358
16359 PR libgomp/25852
16360 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
16361 libgomp_init.
16362
16363 2005-01-25 Paolo Bonzini <bonzini (a] gnu.org>
16364
16365 PR libgomp/25884
16366 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
16367 * configure.ac (PERL): Don't set.
16368 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
16369 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
16370 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
16371 * omp.h.in: Wrap the new configure substitutions with @ characters.
16372 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
16373 * aclocal.m4, configure, Makefile.in: Regenerate.
16374 * mkomp_h.pl: Delete.
16375
16376 2005-01-24 Paolo Bonzini <bonzini (a] gnu.org>
16377
16378 PR libgomp/25259
16379 * configure.ac: Use GCC_HEADER_STDINT.
16380 * libgomp.h: Include gstdint.h.
16381 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
16382 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
16383
16384 2006-01-24 Richard Henderson <rth (a] redhat.com>
16385
16386 PR libgomp/25942
16387 * configure.ac: Add AM_MAINTAINER_MODE.
16388 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
16389
16390 2006-01-24 Diego Novillo <dnovillo (a] redhat.com>
16391
16392 * Makefile.in: Regenerate.
16393 * testsuite/Makefile.in: Regenerate.
16394 * aclocal.m4: Regenerate.
16395
16396 2006-01-23 Andreas Tobler <a.tobler (a] schweiz.ch>
16397
16398 * config/posix/proc.c: Conditional include of sys/loadavg.h for
16399 Solaris.
16400 * configure.ac: Add check for loadavg.h.
16401 (link_gomp): Adjust comment.
16402 * configure: Regenerate.
16403 * config.h.in: Regenerate.
16404
16405 2006-01-21 Steve Ellcey <sje (a] cup.hp.com>
16406
16407 PR libgomp/25877
16408 * configure.ac: Remove check for alloca.h.
16409 * configure: Regenerate.
16410 * config.h.in: Regenerate.
16411 * libgomp.h: define gomp_alloca to be __builtin_alloca.
16412 * team.c: Remove use of alloca.h.
16413 Call gomp_alloca instead of alloca.
16414
16415 2006-01-20 Steve Ellcey <sje (a] cup.hp.com>
16416
16417 PR libgomp/25877
16418 * team.c: Add include of alloca.h.
16419 * configure.ac: Add check for alloca.h.
16420 * configure: Regenerate.
16421 * config.h.in: Regenerate.
16422
16423 2006-01-17 Jakub Jelinek <jakub (a] redhat.com>
16424
16425 PR fortran/25219
16426 * testsuite/libgomp.fortran/pr25219.f90: New test.
16427
16428 2005-12-05 Uros Bizjak <uros (a] kss-loka.si>
16429
16430 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
16431 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
16432 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16433 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16434 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
16435 testsuite/libgomp.fortran/threadprivate1.f90,
16436 testsuite/libgomp.fortran/threadprivate2.f90,
16437 testsuite/libgomp.fortran/threadprivate3.f90,
16438 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16439 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16440 testsuite/libgomp.fortran/omp_parse3.f90: Change required
16441 effective-target to TLS runtime.
16442
16443 * testsuite/libgomp.fortran/pr25162.f: Require
16444 effective-target TLS runtime.
16445
16446 2005-12-01 Jakub Jelinek <jakub (a] redhat.com>
16447
16448 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
16449 * testsuite/libgomp.c/nestedfn-3.c: New test.
16450
16451 2005-11-30 Jakub Jelinek <jakub (a] redhat.com>
16452
16453 PR fortran/25162
16454 * testsuite/libgomp.fortran/pr25162.f: New test.
16455
16456 2005-11-28 Jakub Jelinek <jakub (a] redhat.com>
16457
16458 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
16459 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
16460
16461 2005-11-25 Jakub Jelinek <jakub (a] redhat.com>
16462
16463 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
16464 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
16465 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
16466 single.c, team.c, work.c, config/linux/alpha/futex.h,
16467 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
16468 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
16469 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
16470 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
16471 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
16472 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
16473 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
16474 FSF address.
16475
16476 2005-11-18 Jakub Jelinek <jakub (a] redhat.com>
16477
16478 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
16479 to nodist_noinst_HEADERS.
16480 * Makefile.in: Rebuilt.
16481
16482 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
16483 add integer count field.
16484 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
16485 omp_nest_lock_t type change.
16486 (omp_init_nest_lock): Likewise. Initialize count to 0.
16487 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
16488 Increment count.
16489 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
16490 Decrement count.
16491 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
16492 Increment count if successful and return the new nesting level.
16493 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
16494 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
16495 * testsuite/libgomp.c/lib-1.c: New test.
16496 * testsuite/libgomp.fortran/lib1.f90: New test.
16497 * testsuite/libgomp.fortran/lib2.f: New test.
16498 * testsuite/libgomp.fortran/lib3.f: New test.
16499
16500 2005-11-17 Richard Henderson <rth (a] redhat.com>
16501
16502 PR 24845
16503 * Makefile.am (nodist_toolexeclib_HEADERS): New.
16504 * configure.ac (link_gomp): New. Substitute it.
16505 (AC_CONFIG_FILES): Add libgomp.spec.
16506 * libgomp.spec.in: New file.
16507 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
16508 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
16509
16510 2005-11-18 Jakub Jelinek <jakub (a] redhat.com>
16511
16512 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
16513 reduction(-:var) behaving the same as reduction(+:var).
16514 * testsuite/libgomp.c/reduction-4.c: New test.
16515
16516 2005-11-15 Uros Bizjak <uros (a] kss-loka.si>
16517
16518 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
16519 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
16520 testsuite/libgomp.c/copyin-3.c,
16521 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16522 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16523 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
16524 testsuite/libgomp.c++/pr24455.C,
16525 testsuite/libgomp.fortran/threadprivate1.f90,
16526 testsuite/libgomp.fortran/threadprivate2.f90,
16527 testsuite/libgomp.fortran/threadprivate3.f90,
16528 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16529 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16530 testsuite/libgomp.fortran/omp_parse3.f90: Require
16531 effective-target TLS.
16532
16533 2005-11-14 Diego Novillo <dnovillo (a] redhat.com>
16534
16535 * HEADER: Remove.
16536
16537 2005-11-13 Jakub Jelinek <jakub (a] redhat.com>
16538
16539 PR libgomp/24797
16540 * team.c (initialize_team): Pass NULL rather than free as
16541 pthread_key_create destructor. Initialize thread specific data
16542 pointer in initial thread to a static local variable rather than
16543 malloced memory.
16544
16545 2005-11-11 Uros Bizjak <uros (a] kss-loka.si>
16546
16547 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
16548 its location to ld_library_path.
16549
16550 2005-11-10 Diego Novillo <dnovillo (a] redhat.com>
16551
16552 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
16553
16554 2005-11-10 Diego Novillo <dnovillo (a] redhat.com>
16555
16556 * testsuite/libgomp.c: Rename from libgomp.dg.
16557
16558 2005-11-09 Diego Novillo <dnovillo (a] redhat.com>
16559
16560 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
16561 threadprivate variable 'i'.
16562
16563 2005-11-09 Jakub Jelinek <jakub (a] redhat.com>
16564
16565 * config/linux/s390/futex.h: New file.
16566 * configure.tgt: Use it.
16567
16568 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
16569 before the parallel.
16570
16571 2005-11-08 Jakub Jelinek <jakub (a] redhat.com>
16572
16573 PR c++/24734
16574 * testsuite/libgomp.c++/master-1.C: New test.
16575
16576 2005-11-07 Jakub Jelinek <jakub (a] redhat.com>
16577
16578 * testsuite/libgomp.dg/copyin-3.c: New test.
16579
16580 2005-11-07 Jakub Jelinek <jakub (a] redhat.com>
16581
16582 * testsuite/libgomp.fortran/retval1.f90: New test.
16583 * testsuite/libgomp.fortran/vla7.f90: New test.
16584
16585 2005-11-06 Jakub Jelinek <jakub (a] redhat.com>
16586
16587 * testsuite/libgomp.fortran/vla2.f90: New test.
16588 * testsuite/libgomp.fortran/vla3.f90: New test.
16589 * testsuite/libgomp.fortran/vla4.f90: New test.
16590 * testsuite/libgomp.fortran/vla5.f90: New test.
16591 * testsuite/libgomp.fortran/vla6.f90: New test.
16592
16593 2005-11-01 Jakub Jelinek <jakub (a] redhat.com>
16594
16595 * config/linux/sparc/futex.h: New file.
16596 * configure.tgt: Use it.
16597 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
16598
16599 * critical.c: Include stdlib.h.
16600 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
16601 ignoring return value.
16602 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
16603 LIBGOMP_CHECK_SYNC_BUILTINS check.
16604 * configure: Rebuilt.
16605
16606 2005-10-31 Jakub Jelinek <jakub (a] redhat.com>
16607
16608 * testsuite/libgomp.fortran/vla1.f90: New test.
16609
16610 2005-10-31 Richard Henderson <rth (a] redhat.com>
16611
16612 * testsuite/libgomp.fortran/character2.f90: Fix race condition
16613 setting 's' in different threads.
16614
16615 2005-10-31 Jakub Jelinek <jakub (a] redhat.com>
16616
16617 * libgomp.h (attribute_hidden, ialias): Define.
16618 * config/posix/proc.c (omp_get_num_procs): Add ialias.
16619 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
16620 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
16621 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16622 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16623 omp_test_lock, omp_test_nest_lock): Likewise.
16624 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
16625 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16626 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16627 omp_test_lock, omp_test_nest_lock): Likewise.
16628 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
16629 omp_get_dynamic, omp_get_nested): Likewise.
16630 * parallel.c (omp_get_num_threads, omp_get_max_threads,
16631 omp_get_thread_num, omp_in_parallel): Likewise.
16632 * fortran.c (ialias_redirect): Define.
16633 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
16634 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
16635 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
16636 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
16637 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
16638 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
16639 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
16640 omp_get_wtime): Add ialias_redirect.
16641
16642 2005-10-30 Jakub Jelinek <jakub (a] redhat.com>
16643
16644 * fortran.c: Include stdlib.h.
16645
16646 2005-10-29 Jakub Jelinek <jakub (a] redhat.com>
16647
16648 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
16649 * Makefile.in: Regenerated.
16650
16651 2005-10-28 Jakub Jelinek <jakub (a] redhat.com>
16652
16653 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
16654 * libgomp_f.h.in (omp_check_defines): New function.
16655 * env.c: Include libgomp_f.h.
16656 (initialize_env): Call omp_check_defines.
16657
16658 * testsuite/libgomp.dg/copyin-2.c: New test.
16659 * testsuite/libgomp.c++/copyin-2.C: New test.
16660 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
16661
16662 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
16663 * testsuite/libgomp.fortran/sharing2.f90: New test.
16664
16665 * testsuite/libgomp.dg/copyin-1.c: New test.
16666 * testsuite/libgomp.c++/copyin-1.C: New test.
16667
16668 2005-10-26 Jakub Jelinek <jakub (a] redhat.com>
16669
16670 * testsuite/libgomp.fortran/crayptr1.f90: New test.
16671
16672 * testsuite/libgomp.fortran/workshare1.f90: New test.
16673
16674 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
16675 only test.
16676 * libgomp.fortran/sharing1.f90: New test.
16677
16678 2005-10-24 Jakub Jelinek <jakub (a] redhat.com>
16679
16680 PR c++/24502
16681 * testsuite/libgomp.c++/loop-7.C: New test.
16682
16683 * testsuite/libgomp.dg/nestedfn-2.c: New test.
16684
16685 * testsuite/libgomp.dg/nestedfn-1.c: New test.
16686 * testsuite/libgomp.fortran/reduction6.f90: New test.
16687 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
16688
16689 2005-10-23 Richard Henderson <rth (a] redhat.com>
16690
16691 * testsuite/libgomp.c++/ctor-1.C: New.
16692 * testsuite/libgomp.c++/ctor-2.C: New.
16693 * testsuite/libgomp.c++/ctor-3.C: New.
16694 * testsuite/libgomp.c++/ctor-4.C: New.
16695 * testsuite/libgomp.c++/ctor-5.C: New.
16696 * testsuite/libgomp.c++/ctor-6.C: New.
16697 * testsuite/libgomp.c++/ctor-7.C: New.
16698 * testsuite/libgomp.c++/ctor-8.C: New.
16699 * testsuite/libgomp.c++/ctor-9.C: New.
16700
16701 2005-10-21 Diego Novillo <dnovillo (a] redhat.com>
16702
16703 PR 24455
16704 * testsuite/libgomp.c++/pr24455-1.C: New test.
16705 * testsuite/libgomp.c++/pr24455.C: New test.
16706 * testsuite/libgomp.dg/pr24455-1.c: New test.
16707 * testsuite/libgomp.dg/pr24455.c: New test.
16708
16709 2005-10-20 Richard Henderson <rth (a] redhat.com>
16710
16711 * testsuite/libgomp.c++/loop-6.C: New.
16712 * testsuite/libgomp.dg/loop-3.c: New.
16713
16714 2005-10-20 Jakub Jelinek <jakub (a] redhat.com>
16715
16716 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
16717 explicitly private.
16718 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
16719 explicitly shared.
16720
16721 2005-10-19 Diego Novillo <dnovillo (a] redhat.com>
16722
16723 * testsuite/libgomp.fortran/jacobi.f: New test.
16724
16725 2005-10-19 Richard Henderson <rth (a] redhat.com>
16726
16727 * configure.tgt (i?86-linux): Default to with_arch instead of
16728 CFLAGS. Add -mtune to match target_cpu.
16729 (x86_64-linux): Tune to i686.
16730
16731 * fortran.c (omp_test_nest_lock_): Fix typo.
16732
16733 2005-10-19 Jakub Jelinek <jakub (a] redhat.com>
16734
16735 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16736 gomp_ordered_sync): Do nothing if team->nthreads == 1.
16737 * testsuite/libgomp.dg/ordered-3.c: New test.
16738
16739 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
16740 Remove volatile keyword.
16741
16742 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
16743 in COMMON block to avoid warnings on 64-bit targets.
16744
16745 2005-10-18 Diego Novillo <dnovillo (a] redhat.com>
16746
16747 * testsuite/libgomp.dg/shared-3.c: New test.
16748
16749 2005-10-18 Jakub Jelinek <jakub (a] redhat.com>
16750
16751 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
16752 * testsuite/libgomp.fortran/reduction5.f90: New test.
16753
16754 2005-10-18 Jakub Jelinek <jakub (a] redhat.com>
16755
16756 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
16757 dg-options.
16758 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
16759 flush loop now that __sync_synchronize has proper memory barrier.
16760 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
16761 Add -ffixed-form to dg-options.
16762
16763 2005-10-17 Diego Novillo <dnovillo (a] redhat.com>
16764
16765 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
16766 from subdirectories.
16767 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
16768 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
16769 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
16770 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
16771 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
16772 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
16773 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
16774 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
16775 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
16776 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
16777 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
16778 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
16779 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
16780 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
16781 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
16782 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
16783 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
16784 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
16785 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
16786 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
16787 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
16788 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
16789 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
16790 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
16791 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
16792
16793 2005-10-17 Jakub Jelinek <jakub (a] redhat.com>
16794
16795 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
16796 lang_library_path exists. Use find instead of glob to gather tests.
16797 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
16798
16799 2005-10-17 Diego Novillo <dnovillo (a] redhat.com>
16800
16801 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
16802 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
16803 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
16804 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
16805 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
16806 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
16807 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
16808 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
16809 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
16810 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
16811 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
16812 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
16813 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
16814
16815 2005-10-15 Jakub Jelinek <jakub (a] redhat.com>
16816
16817 * testsuite/libgomp.dg/vla-1.c: New test.
16818
16819 * testsuite/libgomp.fortran/reference2.f90: New test.
16820
16821 * testsuite/libgomp.fortran/character2.f90: Remove explicit
16822 declaration of omp_get_thread_num.
16823 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
16824 use omp_lib.
16825
16826 * testsuite/libgomp.fortran/reduction1.f90: New test.
16827 * testsuite/libgomp.fortran/reduction2.f90: New test.
16828 * testsuite/libgomp.fortran/reduction3.f90: New test.
16829 * testsuite/libgomp.fortran/reduction4.f90: New test.
16830
16831 2005-10-13 Richard Henderson <rth (a] redhat.com>
16832
16833 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
16834 * Makefile.in: Regenerate.
16835 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
16836 * libgomp.h: Include bar.h.
16837 (struct gomp_barrier): Remove.
16838 (struct gomp_team): Add barrier. Replace master_barrier with
16839 master_release. Replace threads with ordered_release.
16840 (struct gomp_thread): Replace barrier with release.
16841 * ordered.c (gomp_ordered_first): Update for ordered_release change.
16842 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
16843 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
16844 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
16845 (GOMP_single_copy_end): Likewise.
16846 * team.c (gomp_threads_dock): New.
16847 (gomp_barrier_init, gomp_barrier_destroy): Remove.
16848 (gomp_thread_start): Use gomp_barrier_wait.
16849 (new_team, free_team): Update for gomp_team changes.
16850 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
16851 (gomp_team_end): Use gomp_barrier_wait.
16852 (initialize_team): Update for gomp_thread changes.
16853 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
16854 (gomp_work_share_end_nowait): Use atomic ops when available.
16855 * config/linux/bar.c, config/linux/bar.h: New files.
16856 * config/posix/bar.c, config/posix/bar.h: New files.
16857
16858 2005-10-13 Jakub Jelinek <jakub (a] redhat.com>
16859
16860 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
16861 * testsuite/libgomp.dg/single-2.c: New test.
16862
16863 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
16864 lang_link_flags): Unset, so that they aren't inherited from previously
16865 sourced *.exp.
16866
16867 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
16868
16869 2005-10-12 Richard Henderson <rth (a] redhat.com>
16870
16871 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
16872 (libgomp_init): Use lang_test_file, lang_library_path, and
16873 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
16874
16875 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
16876 (lang_test_file, lang_link_flags): New.
16877 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
16878
16879 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
16880 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
16881 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
16882 testsuite/libgomp.c++/parallel-1.C,
16883 testsuite/libgomp.c++/reduction-1.C,
16884 testsuite/libgomp.c++/reduction-2.C,
16885 testsuite/libgomp.c++/reduction-3.C,
16886 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
16887 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
16888 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
16889 New files, largely cribbed from the C testsuite.
16890
16891 2005-10-12 Jakub Jelinek <jakub (a] redhat.com>
16892
16893 * testsuite/libgomp.fortran/character1.f90: New test.
16894 * testsuite/libgomp.fortran/character2.f90: New test.
16895
16896 * testsuite/libgomp.dg/nested-1.c: New test.
16897 * testsuite/libgomp.dg/nested-2.c: New test.
16898 * testsuite/libgomp.fortran/do1.f90: New test.
16899 * testsuite/libgomp.fortran/do2.f90: New test.
16900
16901 * testsuite/libgomp.fortran/reference1.f90: New test.
16902
16903 2005-10-11 Jakub Jelinek <jakub (a] redhat.com>
16904
16905 * testsuite/libgomp.dg/reduction-1.c: New test.
16906 * testsuite/libgomp.dg/reduction-2.c: New test.
16907 * testsuite/libgomp.dg/reduction-3.c: New test.
16908
16909 2005-10-10 Jakub Jelinek <jakub (a] redhat.com>
16910
16911 * testsuite/libgomp.dg/atomic-1.c: New test.
16912 * testsuite/libgomp.dg/atomic-2.c: New test.
16913
16914 2005-10-09 Richard Henderson <rth (a] redhat.com>
16915
16916 * critical.c (atomic_lock): New.
16917 (initialize_critical): Initialize it.
16918 (GOMP_atomic_start, GOMP_atomic_end): New.
16919 * libgomp.map: Export them.
16920 * libgomp_g.h: Declare them.
16921
16922 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
16923
16924 2005-10-02 Richard Henderson <rth (a] redhat.com>
16925
16926 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
16927 to XCFLAGS instead of CFLAGS.
16928
16929 2005-09-30 Richard Henderson <rth (a] redhat.com>
16930
16931 * configure.ac: Determine whether -pthread or -lpthread is needed.
16932 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
16933 * Makefile.in, configure: Rebuild.
16934
16935 2005-09-28 Richard Henderson <rth (a] redhat.com>
16936
16937 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
16938 * testsuite/libgomp.dg/omp-single-3.c: New test.
16939
16940 2005-09-28 Diego Novillo <dnovillo (a] redhat.com>
16941
16942 * testsuite/libgomp.dg/omp-single-2.c: New test.
16943 * testsuite/libgomp.dg/shared-2.c: Fix return code.
16944
16945 2005-09-27 Richard Henderson <rth (a] redhat.com>
16946
16947 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
16948 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
16949
16950 2005-09-27 Jakub Jelinek <jakub (a] redhat.com>
16951
16952 * testsuite/libgomp.dg/omp-loop03.c: New test.
16953
16954 2005-09-27 Diego Novillo <dnovillo (a] redhat.com>
16955
16956 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
16957
16958 2005-09-27 Diego Novillo <dnovillo (a] redhat.com>
16959
16960 * testsuite/libgomp.dg/omp-single-1.c: New test.
16961 * testsuite/libgomp.dg/shared-1.c: Return 0.
16962 Add prototype for abort.
16963 * testsuite/libgomp.dg/shared-2.c: Likewise.
16964
16965 2005-09-26 Jakub Jelinek <jakub (a] redhat.com>
16966
16967 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
16968 constructs.
16969
16970 2005-09-26 Diego Novillo <dnovillo (a] redhat.com>
16971
16972 * testsuite/libgomp.dg/shared-1.c: New test.
16973 * testsuite/libgomp.dg/shared-2.c: New test.
16974
16975 2005-09-24 Richard Henderson <rth (a] redhat.com>
16976
16977 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
16978
16979 2005-09-24 Richard Henderson <rth (a] redhat.com>
16980
16981 * iter.c (gomp_iter_static_next): Round up when computing number
16982 of iterations. Don't bother distributing a remainder equally.
16983
16984 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
16985 Don't call srand. Zero b before testing.
16986 (main): New.
16987
16988 2005-09-24 Jakub Jelinek <jakub (a] redhat.com>
16989
16990 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
16991 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
16992
16993 2005-09-23 Jakub Jelinek <jakub (a] redhat.com>
16994
16995 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
16996 without !$omp end do, followed immediately by subroutine end.
16997
16998 2005-09-23 Diego Novillo <dnovillo (a] redhat.com>
16999
17000 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
17001
17002 2005-09-22 Richard Henderson <rth (a] redhat.com>
17003
17004 * critical.c (GOMP_critical_name_start): Change argument to void**.
17005 Reuse the pointer space if the mutex fits.
17006 (GOMP_critical_name_end): Likewise.
17007 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
17008 * libgomp_g.h (GOMP_critical_name_start): Update decl.
17009 (GOMP_critical_name_end): Likewise.
17010 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
17011 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
17012
17013 2005-09-20 Richard Henderson <rth (a] redhat.com>
17014
17015 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
17016 (create_lock_lock): New.
17017 (initialize_critical): Initialize it.
17018 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
17019 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
17020
17021 2005-09-20 Diego Novillo <dnovillo (a] redhat.com>
17022
17023 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
17024
17025 2005-09-20 Diego Novillo <dnovillo (a] redhat.com>
17026
17027 * testsuite/libgomp.dg/omp-loop01.c: New test.
17028 * testsuite/libgomp.dg/omp-loop02.c: New test.
17029
17030 2005-09-20 Jakub Jelinek <jakub (a] redhat.com>
17031
17032 * configure.ac (AC_PROG_FC): Add.
17033 (USE_FORTRAN): New automake conditional.
17034 * configure: Rebuilt.
17035 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
17036 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
17037 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
17038 Add rules to build them.
17039 * Makefile.in: Rebuilt.
17040 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
17041 OMP_NEST_LOCK_KIND.
17042 * libgomp.map: Add Fortran wrappers.
17043 * libgomp_f.h.in: New file.
17044 * omp_lib.h.in: New file.
17045 * omp_lib.f90.in: New file.
17046 * fortran.c: New file.
17047 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
17048 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
17049 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
17050 libgfortran has been built.
17051 * testsuite/libgomp.fortran/fortran.exp: New file.
17052 * testsuite/libgomp.fortran/omp_cond1.f: New test.
17053 * testsuite/libgomp.fortran/omp_cond2.f: New test.
17054 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
17055 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
17056 * testsuite/libgomp.fortran/omp_hello.f: New test.
17057 * testsuite/libgomp.fortran/omp_orphan.f: New test.
17058 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
17059 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
17060 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
17061 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
17062 * testsuite/libgomp.fortran/omp_reduction.f: New test.
17063 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
17064 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
17065
17066 2005-08-30 Richard Henderson <rth (a] redhat.com>
17067
17068 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
17069 function for when aliases are not usable.
17070 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
17071 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17072 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
17073 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
17074 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
17075 GOMP_loop_ordered_guided_next): Likewise.
17076 * ordered.c (GOMP_ordered_start): Likewise.
17077
17078 2005-08-01 Diego Novillo <dnovillo (a] redhat.com>
17079
17080 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
17081 * testsuite/libgomp.dg/omp_hello.c: Fix return code
17082 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
17083 * testsuite/libgomp.dg/omp_orphan.c: Likewise
17084 * testsuite/libgomp.dg/omp_reduction.c: Likewise
17085 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
17086 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
17087 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
17088 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
17089
17090 2005-07-07 Eric Christopher <echristo (a] redhat.com>
17091 Diego Novillo <dnovillo (a] redhat.com>
17092
17093 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
17094 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
17095 up code.
17096 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
17097 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
17098 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
17099 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
17100 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
17101 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
17102 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
17103
17104 2005-06-13 Diego Novillo <dnovillo (a] redhat.com>
17105
17106 * TOPLEVEL.patch: Remove.
17107
17108 2005-05-16 Richard Henderson <rth (a] redhat.com>
17109
17110 * configure.ac: Test for clock_gettime.
17111 * config.h.in, configure: Rebuild.
17112 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
17113 (omp_get_wtime): Use clock_gettime if available.
17114 (omp_get_wtick): Use clock_getres if available.
17115
17116 2005-05-11 Richard Henderson <rth (a] redhat.com>
17117
17118 * config/linux/ia64/futex.h: New file.
17119 * configure.tgt: Use it.
17120
17121 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
17122
17123 2005-05-07 Richard Henderson <rth (a] redhat.com>
17124
17125 * config/linux/powerpc/futex.h: New file.
17126 * configure.tgt: Use it.
17127
17128 * config/linux/i486/futex.h: Merge ...
17129 * config/linux/x86_64/futex.h: ... into ...
17130 * config/linux/x86/futex.h: ... here.
17131 * configure.tgt: Update to match.
17132
17133 2005-05-06 Richard Henderson <rth (a] redhat.com>
17134
17135 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
17136 * config/linux/i486/futex.h: Likewise.
17137 * config/linux/x86_64/futex.h: Likewise.
17138
17139 * config/linux/lock.c: New file.
17140 * config/linux/omp-lock.h: New file.
17141
17142 * critical.c, env.h: Don't include omp.h
17143 * config/posix/lock.c: Include libgomp.h instead of omp.h.
17144 * config/posix/time.c: Likewise.
17145 * config/posix/omp-lock.h: New file.
17146 * libgomp.h: Include omp-lock.h and omp.h.
17147 * Makefile.am (nodist_include_HEADERS): New.
17148 (omp.h): New rule.
17149 * configure.ac (PERL): New.
17150 * mkomp_h.pl: New file.
17151 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
17152 with templates.
17153 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
17154
17155 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
17156 build directory. Re-add -march=i486 hack.
17157
17158 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
17159 (libgomp_link_flags): Remove.
17160 (libgomp_initialized): Remove.
17161 (libgomp_init): Don't protect from reinitialization. Copy code
17162 from libstdc++ for getting the multilib set correctly.
17163
17164 2005-05-05 Richard Henderson <rth (a] redhat.com>
17165
17166 * config/linux/alpha/futex.h: New file.
17167 * configure.tgt (alpha*-*-linux*): Use it.
17168
17169 * config/posix/mutex.c: New file.
17170 * config/posix/sem.c: Use libgomp.h.
17171
17172 * configure.tgt (x86_64-linux): Also test CC for -m32.
17173 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
17174
17175 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
17176 after $gccpath.
17177
17178 * Makefile.am (SUBDIRS): New.
17179 (libgomp_la_LDFLAGS): Add -lpthread.
17180 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
17181 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
17182
17183 * libgomp_g.h: New file.
17184 * libgomp.h: Split out all public declarations to libgomp_g.h.
17185 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
17186 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
17187 * config/linux/sem.h: Likewise.
17188 * config/posix/sem.h: Likewise.
17189
17190 * Makefile.am (AM_LDFLAGS): New.
17191 (libgomp_version_script): Split out from ...
17192 (libgomp_la_LDFLAGS): ... here.
17193 (libgomp_version_info): New.
17194 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
17195 (LIBGOMP_ENABLE): New.
17196 (LIBGOMP_CHECK_LINKER_FEATURES): New.
17197 (LIBGOMP_ENABLE_SYMVERS): New.
17198 * configure.ac (AC_INIT): Version 1.0.
17199 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
17200 (enable-linux-futex): Likewise. Rename from enable-futex.
17201 (libtool_VERSION): New.
17202 (LIBGOMP_ENABLE_SYMVERS): Use it.
17203 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
17204 * Makefile.in, aclocal.m4, configure: Rebuild.
17205
17206 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
17207 (gomp_mutex_unlock_slow): Fix typo.
17208 * config/linux/sem.c: Similarly.
17209 (gomp_sem_post_slow): Fix typo.
17210 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
17211 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
17212 [__PIC__] (sys_futex0): Don't use tmp output in asm.
17213
17214 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
17215 (libgomp_la_LDFLAGS): Add top_srcdir to path.
17216 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
17217 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
17218 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
17219 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
17220 LDFLAGS. Pull enable_futex check to top-level.
17221 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
17222 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
17223
17224 First attempt at real configury.
17225 * Makefile, config.h: Remove file.
17226 * Makefile.am, Makefile.in: New file.
17227 * acinclude.m4 aclocal.m4: New file.
17228 * configure.ac, configure.tgt, configure: New file.
17229
17230 * config/posix/lock.c: Rename from sys-lock.c.
17231 * config/posix/mutex.h: Rename from sys-mutex.h.
17232 * config/posix/sem.c: Rename from sys-sem.c.
17233 * config/posix/sem.h: Rename from sys-sem.h.
17234 * config/posix/proc.c: Rename from sys-proc.c.
17235 * config/posix/time.c: Rename from sys-proc.c.
17236
17237 * config/linux/mutex.c: New file.
17238 * config/linux/mutex.h: New file.
17239 * config/linux/sem.c: New file.
17240 * config/linux/sem.h: New file.
17241 * config/linux/i486/futex.h: New file.
17242 * config/linux/x86_64/futex.h: New file.
17243
17244 2005-05-04 Richard Henderson <rth (a] redhat.com>
17245
17246 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
17247 * libgomp.h: Declare them.
17248 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
17249 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
17250
17251 2005-05-04 Richard Henderson <rth (a] redhat.com>
17252
17253 * libgomp-1 code drop
17254
17255 2005-05-04 Richard Henderson <rth (a] redhat.com>
17256
17257 * iter.c (gomp_iter_static_next): Return tri-state on 0.
17258 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
17259 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
17260 (gomp_iter_static_next): Update.
17261 (gomp_ordered_static_next): Update.
17262 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
17263 (gomp_loop_ordered_static_start): Likewise. Exit early for a
17264 totally empty range.
17265 (gomp_loop_ordered_static_next): Refine test for calling
17266 gomp_ordered_static_next.
17267 * testsuite/ordered-1.c: Add case for more threads than iterations.
17268
17269 * iter.c (gomp_iter_runtime_next_locked): Remove.
17270 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
17271 gomp_loop_guided_start, gomp_loop_ordered_static_start,
17272 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
17273 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
17274 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
17275 gomp_loop_ordered_guided_next): Downcase name, make static, add
17276 an external alias with the old name.
17277 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
17278 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
17279 switch and call one of the above static functions.
17280 * libgomp.h: Update.
17281
17282 * work.c (gomp_work_share_start): Lock the mutex for !first too.
17283 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
17284 GOMP_loop_guided_start, GOMP_loop_runtime_start,
17285 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17286 GOMP_loop_ordered_guided_start): Update to match.
17287 * sections.c (GOMP_sections_start): Likewise.
17288 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
17289
17290 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17291 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
17292 Use bounds check instead of modulus.
17293 (gomp_ordered_sync): Split out of GOMP_ordered_start.
17294 (gomp_ordered_last): Don't sync with ordered_owner here.
17295 (gomp_ordered_next): Likewise.
17296 (gomp_ordered_static_loop_next): Likewise.
17297 * loop.c, libgomp.h: Update to match.
17298
17299 * libgomp.h (GOMP_barrier): Declare.
17300
17301 * testsuite/barrier-1.c: New file.
17302 * testsuite/critical-1.c: New file.
17303 * testsuite/ordered-2.c: New file.
17304 * testsuite/ordered-1.c: New file.
17305 * testsuite/sections-1.c: New file.
17306 * testsuite/single-1.c: New file.
17307 * testsuite/Makefile (TESTS): Add them.
17308
17309 2005-05-04 Richard Henderson <rth (a] redhat.com>
17310
17311 * libgomp.h (struct gomp_work_share): Add ordered_owner.
17312 * loop.c (GOMP_loop_static_start): If not the startup thread,
17313 acquire the mutex to wait for initialization complete.
17314 (GOMP_loop_ordered_static_start): Likewise.
17315 (GOMP_loop_ordered_runtime_start): Likewise.
17316 (GOMP_loop_ordered_static_first): Remove.
17317 (GOMP_loop_ordered_dynamic_first): Remove.
17318 (GOMP_loop_ordered_guided_first): Remove.
17319 (GOMP_loop_ordered_runtime_first): Remove.
17320 * ordered.c (gomp_ordered_loop_first): Post to own release when
17321 we're the first thread.
17322 (gomp_ordered_loop_last): Wait on release if not owner.
17323 (gomp_ordered_loop_next): Likewise.
17324 (gomp_ordered_static_loop_init): New.
17325 (gomp_ordered_static_loop_next): Use ordered_owner.
17326 (GOMP_ordered_start): Likewise.
17327 * work.c (gomp_new_work_share): Initialize ordered_owner.
17328
17329 2005-05-03 Richard Henderson <rth (a] redhat.com>
17330
17331 * Makefile (OPT): New.
17332 (CFLAGS): Use it.
17333
17334 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
17335 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
17336 * libgomp.h, libgomp.map, NOTES: Update to match.
17337
17338 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
17339 Add initialized and thr members.
17340 (gomp_thread_start): Pause when initially spawned to wait for
17341 the whole team to be created.
17342 (gomp_team_start): Release team members at the end.
17343
17344 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
17345 (f_foo_1): Use GOMP_loop_end.
17346 (f_foo_2): Use GOMP_loop_end_nowait.
17347
17348 * testsuite/loop-2.c: New file.
17349 * testsuite/Makefile (TESTS): Add it.
17350
17351 2005-05-03 Richard Henderson <rth (a] redhat.com>
17352
17353 * iter.c (gomp_iter_static_next): Fix overflow check typo.
17354 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
17355 * team.c (new_team): Initialize oldest_live_gen to 1 if no
17356 initial work_share.
17357
17358 * testsuite/Makefile: New file.
17359 * testsuite/loop-1.c: New file.
17360
17361 2005-05-03 Richard Henderson <rth (a] redhat.com>
17362
17363 Initial implementation and checkin.
17364
17366 Copyright (C) 2005-2022 Free Software Foundation, Inc.
17367
17368 Copying and distribution of this file, with or without modification,
17369 are permitted in any medium without royalty provided the copyright
17370 notice and this notice are preserved.
17371