ChangeLog revision 1.1.1.22 1 2024-06-20 Release Manager
2
3 * GCC 12.4.0 released.
4
5 2024-06-11 Jakub Jelinek <jakub (a] redhat.com>
6
7 Backported from master:
8 2024-04-05 Jakub Jelinek <jakub (a] redhat.com>
9
10 PR c++/114572
11 * testsuite/libgomp.c++/pr114572.C: New test.
12
13 2024-06-11 Jakub Jelinek <jakub (a] redhat.com>
14
15 Backported from master:
16 2024-01-10 Jakub Jelinek <jakub (a] redhat.com>
17
18 PR libgomp/113192
19 * configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock
20 instead of \$(abs_top_srcdir)/testsuite/flock.
21 * configure: Regenerated.
22
23 2023-09-01 Tobias Burnus <tobias (a] codesourcery.com>
24
25 Backported from master:
26 2023-08-19 Tobias Burnus <tobias (a] codesourcery.com>
27
28 PR middle-end/111017
29 * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
30
31 2023-06-28 Thomas Schwinge <thomas (a] codesourcery.com>
32
33 Backported from master:
34 2023-06-02 Thomas Schwinge <thomas (a] codesourcery.com>
35
36 PR testsuite/66005
37 * testsuite/lib/libgomp.exp: 'flock' through stdout.
38 * testsuite/flock: New.
39 * configure.ac (FLOCK): Point to that if no 'flock' available, but
40 'perl' is.
41 * configure: Regenerate.
42
43 2023-06-28 Thomas Schwinge <thomas (a] codesourcery.com>
44
45 Backported from master:
46 2023-05-15 Thomas Schwinge <thomas (a] codesourcery.com>
47
48 PR testsuite/66005
49 * configure.ac: Look for 'flock'.
50 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
51 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
52 * testsuite/lib/libgomp.exp: ... but here, instead.
53 (libgomp_load): Override for parallel testing.
54 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
55 * configure: Regenerate.
56 * Makefile.in: Regenerate.
57 * testsuite/Makefile.in: Regenerate.
58
59 2023-06-28 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
60
61 Backported from master:
62 2023-05-15 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
63 Thomas Schwinge <thomas (a] codesourcery.com>
64
65 PR testsuite/66005
66 * testsuite/Makefile.am (PWD_COMMAND): New variable.
67 (%/site.exp): New target.
68 (check_p_numbers0, check_p_numbers1, check_p_numbers2)
69 (check_p_numbers3, check_p_numbers4, check_p_numbers5)
70 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
71 (check_p_subdirs)
72 (check_DEJAGNU_libgomp_targets): New variables.
73 ($(check_DEJAGNU_libgomp_targets)): New target.
74 ($(check_DEJAGNU_libgomp_targets)): New dependency.
75 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
76 * testsuite/Makefile.in: Regenerate.
77 * testsuite/lib/libgomp.exp: For parallel testing,
78 'load_file ../libgomp-test-support.exp'.
79
80 2023-06-28 Thomas Schwinge <thomas (a] codesourcery.com>
81
82 Backported from master:
83 2023-05-08 Thomas Schwinge <thomas (a] codesourcery.com>
84
85 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
86 of 'libstdcxx_includes'.
87 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
88
89 2023-05-08 Release Manager
90
91 * GCC 12.3.0 released.
92
93 2023-03-19 Jakub Jelinek <jakub (a] redhat.com>
94
95 Backported from master:
96 2023-02-16 Jakub Jelinek <jakub (a] redhat.com>
97
98 * libgomp.texi: Fix typos - theads -> threads.
99
100 2023-03-08 Tobias Burnus <tobias (a] codesourcery.com>
101
102 Backported from master:
103 2023-03-01 Tobias Burnus <tobias (a] codesourcery.com>
104
105 PR middle-end/108546
106 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
107 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
108
109 2023-02-10 Jakub Jelinek <jakub (a] redhat.com>
110
111 Backported from master:
112 2023-01-19 Jakub Jelinek <jakub (a] redhat.com>
113
114 PR middle-end/108459
115 * testsuite/libgomp.c/pr108459.c: New test.
116
117 2023-02-10 Jakub Jelinek <jakub (a] redhat.com>
118
119 Backported from master:
120 2023-01-05 Jakub Jelinek <jakub (a] redhat.com>
121
122 PR c++/108286
123 * testsuite/libgomp.c++/pr108286.C: New test.
124
125 2023-02-10 Jakub Jelinek <jakub (a] redhat.com>
126
127 Backported from master:
128 2022-12-21 Jakub Jelinek <jakub (a] redhat.com>
129
130 PR c++/108180
131 * testsuite/libgomp.c++/pr108180.C: New test.
132
133 2023-01-30 Tobias Burnus <tobias (a] codesourcery.com>
134
135 Backported from master:
136 2023-01-27 Tobias Burnus <tobias (a] codesourcery.com>
137
138 PR fortran/108558
139 * testsuite/libgomp.fortran/has_device_addr.f90: New test.
140
141 2022-11-03 Jakub Jelinek <jakub (a] redhat.com>
142
143 Backported from master:
144 2022-10-12 Jakub Jelinek <jakub (a] redhat.com>
145
146 * task.c (gomp_create_artificial_team): Fix up handling of invocations
147 from within explicit task.
148 * target.c (GOMP_target_ext): Likewise.
149 * testsuite/libgomp.c/task-7.c: New test.
150 * testsuite/libgomp.c/task-8.c: New test.
151 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
152 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
153
154 2022-11-03 Jakub Jelinek <jakub (a] redhat.com>
155
156 Backported from master:
157 2022-09-24 Jakub Jelinek <jakub (a] redhat.com>
158
159 PR c/106981
160 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
161
162 2022-10-28 Julian Brown <julian (a] codesourcery.com>
163
164 Backported from master:
165 2022-10-28 Julian Brown <julian (a] codesourcery.com>
166 Thomas Schwinge <thomas (a] codesourcery.com>
167
168 PR middle-end/90115
169 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
170 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
171 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
172 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
173 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
174
175 2022-10-21 Thomas Schwinge <thomas (a] codesourcery.com>
176
177 Backported from master:
178 2022-10-20 Thomas Schwinge <thomas (a] codesourcery.com>
179
180 PR target/105421
181 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
182
183 2022-08-23 Tobias Burnus <tobias (a] codesourcery.com>
184
185 Backported from master:
186 2022-08-17 Tobias Burnus <tobias (a] codesourcery.com>
187
188 PR middle-end/106548
189 * testsuite/libgomp.c/linear-2.c: New test.
190
191 2022-08-19 Release Manager
192
193 * GCC 12.2.0 released.
194
195 2022-08-01 Lewis Hyatt <lhyatt (a] gmail.com>
196
197 Backported from master:
198 2022-07-10 Lewis Hyatt <lhyatt (a] gmail.com>
199
200 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
201 improved warning locations.
202 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
203
204 2022-07-30 Jakub Jelinek <jakub (a] redhat.com>
205
206 Backported from master:
207 2022-07-29 Jakub Jelinek <jakub (a] redhat.com>
208
209 PR middle-end/106449
210 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
211
212 2022-06-28 Jakub Jelinek <jakub (a] redhat.com>
213
214 Backported from master:
215 2022-06-21 Jakub Jelinek <jakub (a] redhat.com>
216 Paul Iannetta <piannetta (a] kalrayinc.com>
217
218 PR libgomp/106045
219 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
220
221 2022-06-28 Martin Liska <mliska (a] suse.cz>
222
223 Backported from master:
224 2022-06-28 Martin Liska <mliska (a] suse.cz>
225
226 * acinclude.m4: Fix typo in mold linker detection.
227 * Makefile.in: Regenerate.
228 * configure: Regenerate.
229
230 2022-05-30 Jakub Jelinek <jakub (a] redhat.com>
231
232 Backported from master:
233 2022-05-28 Jakub Jelinek <jakub (a] redhat.com>
234
235 PR libgomp/105745
236 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
237 defined(HAVE__ALIGNED_MALLOC) case.
238 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
239 handling as last option before fallback instead of first.
240 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
241 _aligned_free.
242
243 2022-05-17 Jakub Jelinek <jakub (a] redhat.com>
244
245 Backported from master:
246 2022-05-17 Jakub Jelinek <jakub (a] redhat.com>
247
248 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
249 comment for omp_display_env feature.
250
251 2022-05-06 Release Manager
252
253 * GCC 12.1.0 released.
254
255 2022-04-28 Thomas Schwinge <thomas (a] codesourcery.com>
256
257 PR fortran/104717
258 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
259 privatization scanning. For GCN offloading compilation, raise
260 '-mgang-private-size'.
261
262 2022-04-26 Jakub Jelinek <jakub (a] redhat.com>
263
264 PR libgomp/105358
265 * work.c (gomp_init_work_share): Don't mask of adjustment for
266 dynamic long long realignment if struct gomp_work_share has smaller
267 alignof than long long.
268 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
269 struct gomp_work_share has smaller alignof than long long or if
270 sizeof (struct gomp_work_share) is smaller than
271 INLINE_ORDERED_TEAM_IDS_OFF.
272 * loop_ull.c (GOMP_loop_ull_start): Likewise.
273 * sections.c (GOMP_sections2_start): Likewise.
274
275 2022-04-25 Jakub Jelinek <jakub (a] redhat.com>
276 Thomas Schwinge <thomas (a] codesourcery.com>
277
278 PR fortran/104717
279 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
280
281 2022-04-13 Jakub Jelinek <jakub (a] redhat.com>
282
283 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
284
285 2022-04-06 Thomas Schwinge <thomas (a] codesourcery.com>
286
287 * plugin/cuda/cuda.h: Remove file.
288 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
289 "cuda/cuda.h" instead of <cuda.h>.
290 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
291 'PLUGIN_NVPTX_CPPFLAGS'.
292 * configure: Regenerate.
293
294 2022-04-05 Chung-Lin Tang <cltang (a] codesourcery.com>
295
296 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
297
298 2022-04-04 Tom de Vries <tdevries (a] suse.de>
299
300 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
301 on_device_arch_nvptx instead of offload_target_nvptx.
302 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
303
304 2022-04-01 Tom de Vries <tdevries (a] suse.de>
305
306 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
307 and use REC_DEPTH.
308 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
309
310 2022-04-01 Tom de Vries <tdevries (a] suse.de>
311
312 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
313 num_workers check.
314
315 2022-03-29 Chenghua Xu <xuchenghua (a] loongson.cn>
316 Lulu Cheng <chenglulu (a] loongson.cn>
317
318 * configure.tgt: Add LoongArch triplet.
319
320 2022-03-28 Tom de Vries <tdevries (a] suse.de>
321
322 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
323 instead of /libexec/.
324 * configure: Regenerate.
325
326 2022-03-25 Tom de Vries <tdevries (a] suse.de>
327
328 PR libgomp/105042
329 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
330 execution time.
331 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
332 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
333
334 2022-03-23 Tobias Burnus <tobias (a] codesourcery.com>
335
336 PR middle-end/104285
337 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
338 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
339 * testsuite/libgomp.c++/target-same-name-2.C: New test.
340 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
341 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
342 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
343
344 2022-03-22 Tom de Vries <tdevries (a] suse.de>
345
346 PR target/104916
347 PR target/104783
348 * testsuite/libgomp.c/pr104783-2.c: New test.
349
350 2022-03-18 Tobias Burnus <tobias (a] codesourcery.com>
351
352 PR fortran/103039
353 * testsuite/libgomp.fortran/associate4.f90: New test.
354
355 2022-03-18 Tom de Vries <tdevries (a] suse.de>
356
357 PR target/104952
358 * testsuite/libgomp.c/pr104952-1.c: New test.
359 * testsuite/libgomp.c/pr104952-2.c: New test.
360
361 2022-03-18 Jakub Jelinek <jakub (a] redhat.com>
362
363 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
364 variable next to pl variable.
365
366 2022-03-17 Thomas Schwinge <thomas (a] codesourcery.com>
367
368 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
369 Enhance.
370 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
371 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
372
373 2022-03-17 Thomas Schwinge <thomas (a] codesourcery.com>
374
375 PR middle-end/90115
376 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
377 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
378
379 2022-03-16 Marcel Vollweiler <marcel (a] codesourcery.com>
380
381 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
382 omp_set_max_active_levels.
383 * testsuite/libgomp.fortran/icv-8.f90: New test.
384
385 2022-03-16 Thomas Schwinge <thomas (a] codesourcery.com>
386
387 PR testsuite/102841
388 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
389
390 2022-03-13 Tobias Burnus <tobias (a] codesourcery.com>
391
392 * libgomp.texi: Fix typo.
393
394 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com>
395
396 PR middle-end/100280
397 PR middle-end/104892
398 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
399 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
400 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
401 Likewise.
402 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
403 Likewise.
404 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
405 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
406 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
407 Likewise.
408
409 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com>
410
411 PR middle-end/104892
412 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
413 to PR104892.
414 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
415 enable '--param=openacc-kernels=decompose' and adjust.
416 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
417 Likewise.
418 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
419 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
420 Likewise.
421
422 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com>
423
424 PR middle-end/90115
425 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
426 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
427 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
428 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
429
430 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com>
431
432 PR middle-end/100280
433 PR middle-end/104086
434 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
435 Merge this...
436 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
437 ..., and this...
438 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
439 this, and adjust.
440 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
441 Extend.
442
443 2022-03-10 Hafiz Abid Qadeer <abidh (a] codesourcery.com>
444
445 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
446 trait. Test last index in w and v array. Remove redundant
447 assignment to V(1). Move alignment checks at the end of
448 parallel region.
449
450 2022-03-10 Tom de Vries <tdevries (a] suse.de>
451
452 * testsuite/libgomp.c/pr104783.c: New test.
453
454 2022-03-10 Thomas Schwinge <thomas (a] codesourcery.com>
455
456 PR middle-end/90115
457 PR middle-end/102330
458 PR middle-end/104774
459 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
460 Enhance.
461 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
462 Adjust.
463 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
464 Likewise.
465 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
466 Likewise.
467 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
468 Likewise.
469 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
470 Likewise.
471 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
472 Likewise.
473 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
474 Likewise.
475 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
476 Likewise.
477 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
478 Likewise.
479 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
480 Likewise.
481 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
482 Likewise.
483 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
484 Likewise.
485 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
486 Likewise.
487 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
488 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
489 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
490
491 2022-03-10 Thomas Schwinge <thomas (a] codesourcery.com>
492
493 PR middle-end/90115
494 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
495 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
496 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
497 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
498
499 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
500
501 PR testsuite/104791
502 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
503 expected diagnostics.
504
505 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
506
507 PR middle-end/104784
508 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
509 Test with '--param=openacc-kernels=decompose'.
510 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
511 Likewise.
512 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
513 Likewise.
514 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
515 Likewise.
516 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
517 Likewise.
518 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
519 Likewise.
520 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
521 Likewise.
522 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
523 Likewise.
524 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
525 Likewise.
526 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
527 Likewise.
528 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
529 Likewise.
530 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
531 Likewise.
532 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
533 Likewise.
534 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
535 Likewise.
536 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
537 Likewise.
538 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
539 Likewise.
540 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
541 Likewise.
542 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
543 Likewise.
544 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
545 Likewise.
546 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
547 Likewise.
548 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
549 Likewise.
550 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
551 Likewise.
552 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
553 Likewise.
554 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
555 Likewise.
556 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
557 Likewise.
558 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
559 Likewise.
560 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
561 Likewise.
562 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
563 Likewise.
564 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
565 Likewise.
566 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
567 Likewise.
568 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
569 Likewise.
570 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
571 Likewise.
572 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
573 Likewise.
574
575 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
576
577 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
578 Test '-fopt-info-omp-all'.
579 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
580 Likewise.
581 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
582 Likewise.
583 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
584 Likewise.
585 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
586 Likewise.
587 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
588 Likewise.
589 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
590 Likewise.
591 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
592 Likewise.
593 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
594 Likewise.
595 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
596 Likewise.
597 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
598 Likewise.
599 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
600 Likewise.
601 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
602 Likewise.
603 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
604 Likewise.
605 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
606 Likewise.
607 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
608 Likewise.
609 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
610 Likewise.
611 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
612 Likewise.
613 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
614 Likewise.
615 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
616 Likewise.
617 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
618 Likewise.
619 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
620 Likewise.
621 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
622 Likewise.
623 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
624 Likewise.
625 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
626 Likewise.
627 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
628 Likewise.
629 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
630 Likewise.
631 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
632 Likewise.
633 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
634 Likewise.
635 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
636 Likewise.
637 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
638 Likewise.
639 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
640 Likewise.
641 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
642 Likewise.
643
644 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
645
646 PR middle-end/100280
647 PR middle-end/104132
648 PR middle-end/104133
649 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
650 Extend.
651
652 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
653
654 PR middle-end/100280
655 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
656 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
657 Likewise.
658
659 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
660
661 PR middle-end/100280
662 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
663 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
664 Likewise.
665
666 2022-02-28 Tom de Vries <tdevries (a] suse.de>
667
668 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
669 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
670 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
671 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
672 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
673 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
674
675 2022-02-24 Tom de Vries <tdevries (a] suse.de>
676
677 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
678 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
679 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
680 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
681 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
682 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
683 * testsuite/libgomp.c/declare-variant-3.h: New header file.
684
685 2022-02-22 Thomas Schwinge <thomas (a] codesourcery.com>
686
687 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
688 gang-redundant execution.
689
690 2022-02-22 Tom de Vries <tdevries (a] suse.de>
691
692 PR target/99555
693 * config/nvptx/bar.c (generation_to_barrier): New function, copied
694 from config/rtems/bar.c.
695 (futex_wait, futex_wake): New function.
696 (do_spin, do_wait): New function, copied from config/linux/wait.h.
697 (gomp_barrier_wait_end, gomp_barrier_wait_last)
698 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
699 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
700 and replace with include of config/linux/bar.c.
701 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
702 (gomp_barrier_init): Init new fields.
703 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
704 workarounds.
705 * testsuite/libgomp.c/pr99555-1.c: Same.
706 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
707
708 2022-02-22 Tom de Vries <tdevries (a] suse.de>
709
710 PR testsuite/104146
711 * testsuite/libgomp.c++/pr96390.C: Add additional-option
712 -foffload=-Wa,--verify for nvptx.
713 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
714
715 2022-02-15 Tobias Burnus <tobias (a] codesourcery.com>
716
717 * testsuite/libgomp.fortran/depend-4.f90: New test.
718
719 2022-02-10 Tobias Burnus <tobias (a] codesourcery.com>
720
721 PR c++/102204
722 * testsuite/libgomp.c++/target-virtual-1.C: New test.
723
724 2022-02-10 Marcel Vollweiler <marcel (a] codesourcery.com>
725
726 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
727 * target.c (copy_firstprivate_data): Copy only if host address is not
728 NULL.
729 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
730 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
731 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
732 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
733 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
734 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
735 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
736 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
737 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
738 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
739
740 2022-02-08 Jakub Jelinek <jakub (a] redhat.com>
741
742 PR libgomp/104385
743 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
744 clear task->parent.
745 * testsuite/libgomp.c/pr104385.c: New test.
746
747 2022-02-04 Tobias Burnus <tobias (a] codesourcery.com>
748
749 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
750 STOP of previous commit.
751
752 2022-02-04 Tobias Burnus <tobias (a] codesourcery.com>
753
754 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
755 from is_64bit_aligned_.
756 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
757 and use it, more implicit none, remove unused argument.
758
759 2022-02-03 David Seifert <soap (a] gentoo.org>
760 Jakub Jelinek <jakub (a] redhat.com>
761
762 * configure.ac: Support --disable-werror.
763 * configure: Regenerate.
764
765 2022-02-01 Tom de Vries <tdevries (a] suse.de>
766
767 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
768 PR83812 workaround.
769 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
770 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
771
772 2022-02-01 Tom de Vries <tdevries (a] suse.de>
773
774 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
775 num_workers for nvidia accelerator to fix libgomp error 'insufficient
776 resources'.
777 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
778 Same.
779 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
780
781 2022-02-01 Tom de Vries <tdevries (a] suse.de>
782
783 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
784 recursion depth.
785 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
786
787 2022-01-31 Martin Liska <mliska (a] suse.cz>
788
789 * acinclude.m4: Detect *_ld_is_mold and use it.
790 * configure: Regenerate.
791
792 2022-01-27 Tobias Burnus <tobias (a] codesourcery.com>
793
794 * libgomp.texi (OpenMP 5.0): Update implementation status.
795
796 2022-01-21 Thomas Schwinge <thomas (a] codesourcery.com>
797
798 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
799 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
800 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
801 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
802 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
803 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
804 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
805 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
806 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
807 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
808 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
809 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
810 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
811 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
812 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
813
814 2022-01-19 Marcel Vollweiler <marcel (a] codesourcery.com>
815
816 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
817 "static") to make the device num available in the offload image.
818
819 2022-01-19 Martin Liska <mliska (a] suse.cz>
820 Thomas Schwinge <thomas (a] codesourcery.com>
821
822 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
823 patterns.
824 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
825 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
826 Likewise.
827 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
828 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
829 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
830 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
831 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
832 Likewise.
833 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
834 Likewise.
835 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
836 Likewise.
837 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
838 Likewise.
839 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
840 Likewise.
841 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
842 Likewise.
843 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
844 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
845 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
846
847 2022-01-18 Martin Liska <mliska (a] suse.cz>
848
849 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
850 in dg-warning.
851 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
852 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
853 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
854 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
855 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
856 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
857 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
858 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
859 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
860 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
861 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
862 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
863 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
864 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
865 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
866
867 2022-01-17 Thomas Schwinge <thomas (a] codesourcery.com>
868
869 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
870 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
871 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
872
873 2022-01-17 Julian Brown <julian (a] codesourcery.com>
874 Thomas Schwinge <thomas (a] codesourcery.com>
875
876 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
877 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
878 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
879
880 2022-01-16 Kwok Cheung Yeung <kcy (a] codesourcery.com>
881 Andrew Stubbs <ams (a] codesourcery.com>
882
883 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
884 the number of teams and threads if necessary.
885 (gcn_exec): Automatically set the number of gangs and workers if
886 necessary.
887
888 2022-01-13 Hafiz Abid Qadeer <abidh (a] codesourcery.com>
889
890 * testsuite/libgomp.fortran/allocate-1.c: New test.
891 * testsuite/libgomp.fortran/allocate-1.f90: New test.
892 * libgomp.texi: Remove string that says that allocate clause
893 support is for C/C++ only.
894
895 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
896
897 * testsuite/libgomp.c-c++-common/on_device_arch.h
898 (any_device_arch, any_device_arch_intel_mic): New.
899 * testsuite/lib/libgomp.exp
900 (check_effective_target_offload_device_any_intel_mic): New.
901 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
902 * testsuite/libgomp.fortran/target10.f90: Likewise.
903
904 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
905
906 PR tree-optimization/102192
907 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
908 '-Wuninitialized' diagnostics.
909
910 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
911
912 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
913 current '-Wuninitialized' diagnostics.
914 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
915 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
916 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
917 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
918 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
919 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
920 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
921 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
922 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
923 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
924 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
925 Likewise.
926
927 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
928
929 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
930 for 'offload_device_intel_mic'.
931
932 2022-01-13 Julian Brown <julian (a] codesourcery.com>
933 Thomas Schwinge <thomas (a] codesourcery.com>
934
935 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
936 offloading execution XFAIL.
937
938 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
939
940 PR middle-end/100280
941 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
942 Update.
943 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
944 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
945 Likewise.
946
947 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
948
949 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
950 Enhance.
951 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
952 Likewise.
953 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
954 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
955 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
956 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
957 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
958 Likewise.
959 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
960 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
961 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
962 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
963
964 2022-01-04 Tobias Burnus <tobias (a] codesourcery.com>
965
966 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
967 * testsuite/libgomp.fortran/target10.f90: Likewise.
968
969 2022-01-04 Chung-Lin Tang <cltang (a] codesourcery.com>
970
971 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
972 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
973 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
974
975 2022-01-03 Jakub Jelinek <jakub (a] redhat.com>
976
977 * libgomp.texi: Bump @copying's copyright year.
978
979 2021-12-13 Tobias Burnus <tobias (a] codesourcery.com>
980
981 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
982 * testsuite/libgomp.fortran/atomic-19.f90: New test.
983
984 2021-12-10 Andrew Stubbs <ams (a] codesourcery.com>
985
986 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
987 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
988 table, not individual symbols.
989
990 2021-12-09 Chung-Lin Tang <cltang (a] codesourcery.com>
991
992 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
993 "target offload_device_nonshared_as"
994 * testsuite/libgomp.c++/target-this-3.C: Likewise.
995 * testsuite/libgomp.c++/target-this-4.C: Likewise.
996
997 2021-12-08 Chung-Lin Tang <cltang (a] codesourcery.com>
998
999 * target.c (gomp_map_vars_existing): Make sure attached pointer is
1000 not overwritten during cross-host/device copying.
1001 (gomp_update): Likewise.
1002 (gomp_exit_data): Likewise.
1003 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
1004 * testsuite/libgomp.c++/target-12.C: Likewise.
1005 * testsuite/libgomp.c++/target-15.C: Likewise.
1006 * testsuite/libgomp.c++/target-16.C: Likewise.
1007 * testsuite/libgomp.c++/target-17.C: Likewise.
1008 * testsuite/libgomp.c++/target-21.C: Likewise.
1009 * testsuite/libgomp.c++/target-23.C: Likewise.
1010 * testsuite/libgomp.c/target-23.c: Likewise.
1011 * testsuite/libgomp.c/target-29.c: Likewise.
1012 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
1013
1014 2021-12-08 Chung-Lin Tang <cltang (a] codesourcery.com>
1015
1016 PR middle-end/92120
1017 * libgomp.h (gomp_attach_pointer): Add bool parameter.
1018 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
1019 (goacc_enter_data_internal): Likewise.
1020 * target.c (gomp_map_vars_existing): Update assert condition to
1021 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
1022 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
1023 parameter, add support for mapping a pointer with NULL target.
1024 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
1025 parameter, add support for attaching a pointer with NULL target.
1026 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
1027 gomp_attach_pointer, add handling for
1028 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
1029 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
1030 * testsuite/libgomp.c++/target-23.C: New testcase.
1031 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
1032 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
1033 * testsuite/libgomp.c++/target-this-1.C: New testcase.
1034 * testsuite/libgomp.c++/target-this-2.C: New testcase.
1035 * testsuite/libgomp.c++/target-this-3.C: New testcase.
1036 * testsuite/libgomp.c++/target-this-4.C: New testcase.
1037 * testsuite/libgomp.c++/target-this-5.C: New testcase.
1038
1039 2021-12-04 Tobias Burnus <tobias (a] codesourcery.com>
1040
1041 * libgomp.texi (OpenMP 5.1): Update status.
1042
1043 2021-12-04 Tobias Burnus <tobias (a] codesourcery.com>
1044
1045 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
1046
1047 2021-12-02 Chung-Lin Tang <cltang (a] codesourcery.com>
1048
1049 PR fortran/90030
1050 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
1051 * testsuite/libgomp.fortran/pr90030.f90: New test.
1052
1053 2021-11-30 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1054 Thomas Schwinge <thomas (a] codesourcery.com>
1055
1056 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
1057 temporary skip.
1058
1059 2021-11-30 Cesar Philippidis <cesar (a] codesourcery.com>
1060 Thomas Schwinge <thomas (a] codesourcery.com>
1061
1062 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
1063 skip.
1064
1065 2021-11-29 Richard Biener <rguenther (a] suse.de>
1066
1067 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
1068 return.
1069
1070 2021-11-24 Jakub Jelinek <jakub (a] redhat.com>
1071
1072 PR middle-end/103384
1073 * testsuite/libgomp.c/declare-variant-2.c: New test.
1074
1075 2021-11-18 David Edelsohn <dje.gcc (a] gmail.com>
1076
1077 * alloc.c (gomp_aligned_alloc): Fix typo.
1078
1079 2021-11-18 Jakub Jelinek <jakub (a] redhat.com>
1080
1081 PR libgomp/102838
1082 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
1083 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
1084 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
1085 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1086 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
1087 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
1088 gomp_aligned_alloc instead of team_malloc.
1089
1090 2021-11-18 Jakub Jelinek <jakub (a] redhat.com>
1091
1092 PR libgomp/102838
1093 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
1094 memalign over posix_memalign over aligned_alloc over fallback
1095 with malloc instead of aligned_alloc over _aligned_alloc over
1096 posix_memalign over memalign over fallback with malloc. For
1097 aligned_alloc, round up size up to multiple of al.
1098
1099 2021-11-16 Jakub Jelinek <jakub (a] redhat.com>
1100
1101 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
1102 construct as implemented.
1103
1104 2021-11-15 Tobias Burnus <tobias (a] codesourcery.com>
1105
1106 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
1107
1108 2021-11-15 Jakub Jelinek <jakub (a] redhat.com>
1109
1110 * task.c (gomp_create_target_task): Copy args array as well.
1111 * target.c (gomp_target_fallback): Add args argument.
1112 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
1113 (GOMP_target): Adjust gomp_target_fallback caller.
1114 (GOMP_target_ext): Likewise.
1115 (gomp_target_task_fn): Likewise.
1116 * config/nvptx/team.c (gomp_nvptx_main): Set
1117 gomp_global_icv.thread_limit_var.
1118 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
1119
1120 2021-11-15 Jakub Jelinek <jakub (a] redhat.com>
1121
1122 * config/nvptx/team.c (__gomp_team_num): Define as
1123 __attribute__((shared)) var.
1124 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
1125 * config/nvptx/target.c (__gomp_team_num): Declare as
1126 extern __attribute__((shared)) var.
1127 (GOMP_teams4): Use __gomp_team_num as the team number instead of
1128 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
1129 is bigger than num_blocks, use num_teams_lower teams and arrange for
1130 bumping of __gomp_team_num if !first and returning false once we run
1131 out of teams.
1132 * config/nvptx/teams.c (__gomp_team_num): Declare as
1133 extern __attribute__((shared)) var.
1134 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
1135
1136 2021-11-15 Jakub Jelinek <jakub (a] redhat.com>
1137
1138 * testsuite/libgomp.c/teams-5.c: New test.
1139
1140 2021-11-12 Jakub Jelinek <jakub (a] redhat.com>
1141
1142 PR target/103201
1143 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
1144 to ...
1145 * config/gcn/teams.c: ... here. New file.
1146
1147 2021-11-12 Chung-Lin Tang <cltang (a] codesourcery.com>
1148
1149 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
1150 implicit map handling to allow a "superset" existing map as valid case.
1151 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
1152 (get_implicit): New function to extract implicit status.
1153 (gomp_map_fields_existing): Adjust arguments in calls to
1154 gomp_map_vars_existing, and add uses of get_implicit.
1155 (gomp_map_vars_internal): Likewise.
1156 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
1157
1158 2021-11-12 Jakub Jelinek <jakub (a] redhat.com>
1159
1160 * libgomp_g.h (GOMP_teams4): Declare.
1161 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
1162 * target.c (GOMP_teams4): New function.
1163 * config/nvptx/target.c (GOMP_teams): Remove.
1164 (GOMP_teams4): New function.
1165 * config/gcn/target.c (GOMP_teams): Remove.
1166 (GOMP_teams4): New function.
1167 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
1168 teams instead of <= 2.
1169 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
1170
1171 2021-11-11 Tobias Burnus <tobias (a] codesourcery.com>
1172
1173 * testsuite/libgomp.fortran/teams-1.f90: New test.
1174
1175 2021-11-11 Jakub Jelinek <jakub (a] redhat.com>
1176
1177 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
1178 * team.c (struct gomp_thread_start_data): Likewise.
1179 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
1180 (gomp_team_start): Initialize start_data->num_teams and
1181 start_data->team_num. Update nthr->num_teams and nthr->team_num.
1182 * teams.c (gomp_num_teams, gomp_team_num): Remove.
1183 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
1184 instead of gomp_num_teams and gomp_team_num.
1185 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
1186 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
1187 * testsuite/libgomp.c/teams-4.c: New test.
1188
1189 2021-11-11 Jakub Jelinek <jakub (a] redhat.com>
1190
1191 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
1192
1193 2021-11-09 Thomas Schwinge <thomas (a] codesourcery.com>
1194
1195 * env.c (parse_gomp_openacc_dim): Restore parsing.
1196
1197 2021-10-30 Tobias Burnus <tobias (a] codesourcery.com>
1198
1199 PR middle-end/102972
1200 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
1201 parallel construct.
1202 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
1203 * testsuite/libgomp.c/target-3.c: Likewise.
1204 * testsuite/libgomp.c/target-5.c: Likewise.
1205 * testsuite/libgomp.c/target-6.c: Likewise.
1206 * testsuite/libgomp.c/target-teams-1.c: Likewise.
1207 * testsuite/libgomp.c/teams-1.c: Likewise.
1208 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1209 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
1210 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
1211 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
1212 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
1213 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
1214 * testsuite/libgomp.fortran/teams1.f90: Likewise.
1215
1216 2021-10-29 Aldy Hernandez <aldyh (a] redhat.com>
1217
1218 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
1219 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1220
1221 2021-10-27 Jakub Jelinek <jakub (a] redhat.com>
1222
1223 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
1224 aren't implemented for Fortran yet.
1225
1226 2021-10-27 Jakub Jelinek <jakub (a] redhat.com>
1227
1228 * testsuite/libgomp.c/loop-26.c: New test.
1229 * testsuite/libgomp.c/loop-27.c: New test.
1230
1231 2021-10-25 Tobias Burnus <tobias (a] codesourcery.com>
1232
1233 PR testsuite/102910
1234 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
1235 instead of #include <alloca.h> + alloca.
1236
1237 2021-10-21 Chung-Lin Tang <cltang (a] codesourcery.com>
1238
1239 * libgomp.texi (Support of strictly structured blocks in Fortran):
1240 Adjust to 'Y'.
1241 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
1242
1243 2021-10-20 Chung-Lin Tang <cltang (a] codesourcery.com>
1244
1245 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
1246 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
1247
1248 2021-10-20 Jakub Jelinek <jakub (a] redhat.com>
1249
1250 PR libgomp/102838
1251 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
1252 (struct gomp_work_share): Only use aligned(64) attribute if
1253 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
1254 add padding before lock to ensure lock is at offset 64 bytes
1255 into the structure.
1256 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
1257 New poor man's static assertions.
1258 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
1259 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1260
1261 2021-10-20 Aldy Hernandez <aldyh (a] redhat.com>
1262 Richard Biener <rguenther (a] suse.de>
1263
1264 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
1265
1266 2021-10-18 Jakub Jelinek <jakub (a] redhat.com>
1267
1268 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
1269 && gomp_places_list_len < count after nfirst <= nlast loop condition.
1270
1271 2021-10-18 Tobias Burnus <tobias (a] codesourcery.com>
1272
1273 PR fortran/102086
1274 PR fortran/92189
1275 PR fortran/92621
1276 PR fortran/101308
1277 PR fortran/101309
1278 PR fortran/101635
1279 PR fortran/92482
1280 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
1281
1282 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1283
1284 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
1285 type from char [50] to const char *.
1286 (places_array): Add a testcase for simplified syntax place followed
1287 by length or length and stride.
1288
1289 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1290
1291 * env.c (parse_one_place): Handle non-negative-number the same
1292 as { non-negative-number }. Reject even !number:1 and
1293 !number:1:stride or !place:1 or !place:1:stride instead of just
1294 length other than 1.
1295 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
1296 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
1297 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
1298 as implemented.
1299 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
1300 simplified syntax.
1301
1302 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1303
1304 * env.c (parse_schedule): For strtoul or strtoull calls which don't
1305 clearly reject return value 0 as invalid handle the case where end
1306 pointer is the same as first argument as invalid.
1307 (parse_unsigned_long_1): Likewise.
1308 (parse_one_place): Likewise.
1309 (parse_places_var): Likewise.
1310 (parse_stacksize): Likewise.
1311 (parse_spincount): Likewise.
1312 (parse_affinity): Likewise.
1313 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
1314 Make code valid C89.
1315 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
1316 For strtoul calls which don't clearly reject return value 0 as
1317 invalid handle the case where end pointer is the same as first
1318 argument as invalid.
1319 (gomp_affinity_init_level_1): Likewise.
1320 (gomp_affinity_init_numa_domains): Likewise.
1321 * config/rtems/proc.c (parse_thread_pools): Likewise.
1322
1323 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1324
1325 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
1326 after creating count places clean up and return immediately.
1327 * testsuite/libgomp.c/places-6.c: New test.
1328 * testsuite/libgomp.c/places-7.c: New test.
1329 * testsuite/libgomp.c/places-8.c: New test.
1330 * testsuite/libgomp.c/places-9.c: New test.
1331 * testsuite/libgomp.c/places-10.c: New test.
1332
1333 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1334
1335 * env.c (parse_places_var): Handle numa_domains as level 5.
1336 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
1337 function.
1338 (gomp_affinity_init_level): Use it instead of
1339 gomp_affinity_init_level_1 for level == 5.
1340 * testsuite/libgomp.c/places-5.c: New test.
1341
1342 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1343
1344 * env.c (parse_places_var): Handle ll_caches as level 4.
1345 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
1346 function.
1347 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
1348 last level cache.
1349 (gomp_affinity_init_level): Likewise.
1350 * testsuite/libgomp.c/places-1.c: New test.
1351 * testsuite/libgomp.c/places-2.c: New test.
1352 * testsuite/libgomp.c/places-3.c: New test.
1353 * testsuite/libgomp.c/places-4.c: New test.
1354
1355 2021-10-14 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1356
1357 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
1358 directive.
1359
1360 2021-10-14 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1361
1362 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
1363
1364 2021-10-12 Julian Brown <julian (a] codesourcery.com>
1365
1366 * target.c (gomp_copy_host2dev): Release device lock on cbuf
1367 error path.
1368
1369 2021-10-12 Tobias Burnus <tobias (a] codesourcery.com>
1370
1371 * testsuite/libgomp.fortran/icv-3.f90: New.
1372 * testsuite/libgomp.fortran/icv-4.f90: New.
1373
1374 2021-10-12 Jakub Jelinek <jakub (a] redhat.com>
1375
1376 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
1377 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
1378 OMP_TEAMS_THREAD_LIMIT): Document.
1379
1380 2021-10-12 Jakub Jelinek <jakub (a] redhat.com>
1381
1382 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
1383 to avoid makeinfo warnings.
1384
1385 2021-10-12 Jakub Jelinek <jakub (a] redhat.com>
1386
1387 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
1388 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
1389
1390 2021-10-12 Jakub Jelinek <jakub (a] redhat.com>
1391
1392 PR libgomp/102628
1393 PR libgomp/102668
1394 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
1395 allocation sizes from 420 to 320 and from 768 to 568.
1396 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1397 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
1398 for cr from 16 to 4.
1399
1400 2021-10-12 Jakub Jelinek <jakub (a] redhat.com>
1401
1402 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
1403 * testsuite/libgomp.c/scan-12.c: Likewise.
1404 * testsuite/libgomp.c/scan-13.c: Likewise.
1405 * testsuite/libgomp.c/scan-14.c: Likewise.
1406 * testsuite/libgomp.c/scan-15.c: Likewise.
1407 * testsuite/libgomp.c/scan-16.c: Likewise.
1408 * testsuite/libgomp.c/scan-17.c: Likewise.
1409 * testsuite/libgomp.c/scan-18.c: Likewise.
1410 * testsuite/libgomp.c/scan-19.c: Likewise.
1411 * testsuite/libgomp.c/scan-20.c: Likewise.
1412 * testsuite/libgomp.c/scan-21.c: Likewise.
1413 * testsuite/libgomp.c/scan-22.c: Likewise.
1414 * testsuite/libgomp.c++/scan-9.C: Likewise.
1415 * testsuite/libgomp.c++/scan-10.C: Likewise.
1416 * testsuite/libgomp.c++/scan-11.C: Likewise.
1417 * testsuite/libgomp.c++/scan-12.C: Likewise.
1418 * testsuite/libgomp.c++/scan-13.C: Likewise.
1419 * testsuite/libgomp.c++/scan-14.C: Likewise.
1420 * testsuite/libgomp.c++/scan-15.C: Likewise.
1421 * testsuite/libgomp.c++/scan-16.C: Likewise.
1422
1423 2021-10-12 Kewen Lin <linkw (a] linux.ibm.com>
1424
1425 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
1426
1427 2021-10-11 Marcel Vollweiler <marcel (a] codesourcery.com>
1428
1429 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
1430 omp_atv_serialized.
1431 * omp.h.in: Add deprecated flag for omp_atv_sequential.
1432 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
1433 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
1434 * testsuite/libgomp.fortran/alloc-12.f90: New test.
1435
1436 2021-10-11 Jakub Jelinek <jakub (a] redhat.com>
1437
1438 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
1439 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1440 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
1441 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1442 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
1443 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1444 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
1445 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
1446 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
1447 omp_set_teams_thread_limit{,_,_8_}.
1448 * icv.c (omp_set_num_teams, omp_get_max_teams,
1449 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
1450 functions.
1451 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
1452 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
1453 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
1454 vars.
1455 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
1456 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
1457 is not specified, use gomp_nteams_var.
1458 * fortran.c (omp_set_num_teams, omp_get_max_teams,
1459 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
1460 ialias_redirect.
1461 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
1462 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
1463 omp_get_teams_thread_limit_): New functions.
1464
1465 2021-10-09 liuhongt <hongtao.liu (a] intel.com>
1466
1467 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
1468 * testsuite/libgomp.c++/scan-11.C: Ditto.
1469 * testsuite/libgomp.c++/scan-12.C: Ditto.
1470 * testsuite/libgomp.c++/scan-13.C: Ditto.
1471 * testsuite/libgomp.c++/scan-14.C: Ditto.
1472 * testsuite/libgomp.c++/scan-15.C: Ditto.
1473 * testsuite/libgomp.c++/scan-16.C: Ditto.
1474 * testsuite/libgomp.c++/scan-9.C: Ditto.
1475 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
1476 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
1477 * testsuite/libgomp.c/scan-11.c: Ditto.
1478 * testsuite/libgomp.c/scan-12.c: Ditto.
1479 * testsuite/libgomp.c/scan-13.c: Ditto.
1480 * testsuite/libgomp.c/scan-14.c: Ditto.
1481 * testsuite/libgomp.c/scan-15.c: Ditto.
1482 * testsuite/libgomp.c/scan-16.c: Ditto.
1483 * testsuite/libgomp.c/scan-17.c: Ditto.
1484 * testsuite/libgomp.c/scan-18.c: Ditto.
1485 * testsuite/libgomp.c/scan-19.c: Ditto.
1486 * testsuite/libgomp.c/scan-20.c: Ditto.
1487 * testsuite/libgomp.c/scan-21.c: Ditto.
1488 * testsuite/libgomp.c/scan-22.c: Ditto.
1489
1490 2021-10-09 Jakub Jelinek <jakub (a] redhat.com>
1491
1492 * libgomp.texi (OpenMP 5.1): Mention implemented support for
1493 structured block sequences in C/C++. Mention support for
1494 unconstrained/reproducible modifiers on order clause.
1495 Mention partial (C/C++ only) support of extentensions to atomics
1496 construct. Mention partial (C/C++ on clause only) support of
1497 align/allocator modifiers on allocate clause.
1498
1499 2021-10-02 Tobias Burnus <tobias (a] codesourcery.com>
1500
1501 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
1502 based on libgomp.c-c++-common/order-reproducible-1.c.
1503 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1504 * testsuite/libgomp.fortran/my-usleep.c: New test.
1505
1506 2021-10-01 Tobias Burnus <tobias (a] codesourcery.com>
1507
1508 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
1509 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
1510 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
1511 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
1512 based on libgomp.c-c++-common/alloc-9.c.
1513
1514 2021-10-01 Jakub Jelinek <jakub (a] redhat.com>
1515
1516 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
1517 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
1518
1519 2021-10-01 Jakub Jelinek <jakub (a] redhat.com>
1520
1521 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
1522 ialias_redirect.
1523 * env.c (handle_omp_display_env): Use ialias_call.
1524 * icv-device.c: Move ialias right below each function.
1525 (omp_get_device_num): Use ialias_call.
1526 * fortran.c (omp_fulfill_event): Add ialias_redirect.
1527 * icv.c (omp_get_active_level): Add ialias_redirect.
1528
1529 2021-10-01 Jakub Jelinek <jakub (a] redhat.com>
1530
1531 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
1532 __alloc_align__ (1) attribute.
1533 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
1534
1535 2021-09-30 Tobias Burnus <tobias (a] codesourcery.com>
1536
1537 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
1538 for -fintrinsic-modules-path= warning of the C compiler.
1539 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1540 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
1541
1542 2021-09-30 Tobias Burnus <tobias (a] codesourcery.com>
1543
1544 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
1545 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
1546 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1547 omp_realloc): Add.
1548 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1549 omp_realloc): Add.
1550 * testsuite/libgomp.fortran/alloc-10.f90: New test.
1551 * testsuite/libgomp.fortran/alloc-6.f90: New test.
1552 * testsuite/libgomp.fortran/alloc-7.c: New test.
1553 * testsuite/libgomp.fortran/alloc-7.f90: New test.
1554 * testsuite/libgomp.fortran/alloc-8.f90: New test.
1555 * testsuite/libgomp.fortran/alloc-9.f90: New test.
1556
1557 2021-09-30 Jakub Jelinek <jakub (a] redhat.com>
1558
1559 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
1560 omp_realloc): New prototypes.
1561 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
1562 attribute.
1563 * allocator.c: Include string.h.
1564 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
1565 variable and use it instead of alignment so that when retrying the old
1566 alignment is used again. Don't retry if new alignment is the same
1567 as old alignment, unless allocator had pool size.
1568 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
1569 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
1570 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
1571 omp_aligned_calloc and omp_realloc.
1572 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
1573 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
1574 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
1575 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
1576 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
1577 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
1578
1579 2021-09-28 Tobias Burnus <tobias (a] codesourcery.com>
1580
1581 PR libgomp/96661
1582 * configure.ac: Only check for int-type = 2*size_t support when
1583 building with Fortran support.
1584 * configure: Regenerate.
1585
1586 2021-09-28 Thomas Schwinge <thomas (a] codesourcery.com>
1587
1588 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
1589 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1590
1591 2021-09-27 Aldy Hernandez <aldyh (a] redhat.com>
1592
1593 * team.c: Initialize start_data.
1594 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
1595 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
1596
1597 2021-09-27 Tobias Burnus <tobias (a] codesourcery.com>
1598
1599 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
1600 dg-message back to dg-note.
1601
1602 2021-09-27 Tobias Burnus <tobias (a] codesourcery.com>
1603
1604 PR fortran/94070
1605 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
1606 expected dg-note output.
1607
1608 2021-09-22 Tobias Burnus <tobias (a] codesourcery.com>
1609
1610 PR fortran/55534
1611 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
1612 r12-3722 by removing -Wno-missing-include-dirs.
1613 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1614
1615 2021-09-22 Jakub Jelinek <jakub (a] redhat.com>
1616
1617 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
1618 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
1619
1620 2021-09-21 Tobias Burnus <tobias (a] codesourcery.com>
1621
1622 PR fortran/55534
1623 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
1624 to ALWAYS_CFLAGS.
1625 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1626
1627 2021-09-18 Jakub Jelinek <jakub (a] redhat.com>
1628
1629 * testsuite/libgomp.c++/default-1.C: New test.
1630 * testsuite/libgomp.c-c++-common/default-1.c: New test.
1631 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
1632 to default clause in C and C++" as implemented.
1633
1634 2021-09-17 Julian Brown <julian (a] codesourcery.com>
1635
1636 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
1637
1638 2021-09-17 Julian Brown <julian (a] codesourcery.com>
1639
1640 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
1641
1642 2021-09-17 Jakub Jelinek <jakub (a] redhat.com>
1643
1644 * libgomp.texi (OpenMP 5.1): Spelling fix,
1645 declare variante -> declare variant.
1646
1647 2021-09-17 Jakub Jelinek <jakub (a] redhat.com>
1648
1649 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
1650 Use /* */ comments instead of //.
1651 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
1652 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
1653 * testsuite/libgomp.c++/atomic-16.C: New test.
1654 * testsuite/libgomp.c++/atomic-17.C: New test.
1655
1656 2021-09-10 Jakub Jelinek <jakub (a] redhat.com>
1657
1658 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
1659 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
1660 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
1661
1662 2021-09-07 Tobias Burnus <tobias (a] codesourcery.com>
1663
1664 * libgomp.texi (OpenMP Implementation Status): Extend
1665 OpenMP 5.0 section.
1666 (OpenACC Profiling Interface): Fix typo.
1667
1668 2021-09-07 Tobias Burnus <tobias (a] codesourcery.com>
1669
1670 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
1671 not to 4.5; link to new section.
1672 (OpenMP Implementation Status): New.
1673
1674 2021-09-06 Thomas Schwinge <thomas (a] codesourcery.com>
1675
1676 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
1677
1678 2021-09-03 Tobias Burnus <tobias (a] codesourcery.com>
1679
1680 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
1681 dg-output.
1682 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1683
1684 2021-08-23 Thomas Schwinge <thomas (a] codesourcery.com>
1685 Jakub Jelinek <jakub (a] redhat.com>
1686
1687 * testsuite/libgomp.c/address-space-1.c: New file.
1688
1689 2021-08-23 Thomas Schwinge <thomas (a] codesourcery.com>
1690
1691 * testsuite/lib/libgomp.exp
1692 (check_effective_target_offload_target_intelmic): Remove 'proc'.
1693 (check_effective_target_offload_device_intel_mic): New 'proc'.
1694 * testsuite/libgomp.c-c++-common/on_device_arch.h
1695 (device_arch_intel_mic, on_device_arch_intel_mic): New.
1696 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
1697 'dg-xfail-run-if'.
1698 * testsuite/libgomp.fortran/target10.f90: Likewise.
1699
1700 2021-08-23 Tobias Burnus <tobias (a] codesourcery.com>
1701
1702 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
1703 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
1704 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
1705 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
1706
1707 2021-08-23 Jakub Jelinek <jakub (a] redhat.com>
1708
1709 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
1710 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
1711 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
1712
1713 2021-08-22 Thomas Schwinge <thomas (a] codesourcery.com>
1714
1715 * config/nvptx/error.c (fwrite, exit): Override, too.
1716 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
1717 of offloading testing.
1718 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1719
1720 2021-08-20 Tobias Burnus <tobias (a] codesourcery.com>
1721
1722 * testsuite/libgomp.fortran/error-1.f90: New test.
1723
1724 2021-08-20 Jakub Jelinek <jakub (a] redhat.com>
1725
1726 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
1727 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
1728 * error.c (GOMP_warning, GOMP_error): New functions.
1729 * testsuite/libgomp.c-c++-common/error-1.c: New test.
1730
1731 2021-08-18 Tobias Burnus <tobias (a] codesourcery.com>
1732
1733 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
1734 omp_target_free. omp_target_is_present, omp_target_memcpy,
1735 omp_target_memcpy_rect, omp_target_associate_ptr,
1736 omp_target_disassociate_ptr): Add interface.
1737 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
1738 omp_target_free. omp_target_is_present, omp_target_memcpy,
1739 omp_target_memcpy_rect, omp_target_associate_ptr,
1740 omp_target_disassociate_ptr): Add interface.
1741 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
1742 interface block for omp_alloc + omp_free.
1743 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
1744 * testsuite/libgomp.fortran/refcount-1.f90: New test.
1745 * testsuite/libgomp.fortran/target-12.f90: New test.
1746
1747 2021-08-18 Jakub Jelinek <jakub (a] redhat.com>
1748
1749 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
1750
1751 2021-08-17 Tobias Burnus <tobias (a] codesourcery.com>
1752
1753 * testsuite/libgomp.fortran/scope-1.f90: New test.
1754 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
1755
1756 2021-08-17 Jakub Jelinek <jakub (a] redhat.com>
1757
1758 * Makefile.am (libgomp_la_SOURCES): Add scope.c
1759 * Makefile.in: Regenerated.
1760 * libgomp_g.h (GOMP_scope_start): Declare.
1761 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
1762 * scope.c: New file.
1763 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
1764 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
1765
1766 2021-08-16 Thomas Schwinge <thomas (a] codesourcery.com>
1767
1768 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
1769 '?:' issues.
1770
1771 2021-08-16 Tobias Burnus <tobias (a] codesourcery.com>
1772
1773 * testsuite/libgomp.fortran/masked-1.f90: New test.
1774
1775 2021-08-13 Thomas Schwinge <thomas (a] codesourcery.com>
1776
1777 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
1778
1779 2021-08-12 Jakub Jelinek <jakub (a] redhat.com>
1780
1781 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
1782
1783 2021-08-12 Tobias Burnus <tobias (a] codesourcery.com>
1784
1785 * env.c (parse_bind_var): Accept 'primary' as alias for
1786 'master'.
1787 (omp_display_env): Add TODO comment to
1788 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
1789 * libgomp.texi: Change 'master thread' to 'primary thread'
1790 in line with OpenMP 5.1.
1791 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
1792 omp_proc_bind_master is an alias of it.
1793 (OMP_PROC_BIND): Mention 'PRIMARY'.
1794 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
1795 (omp_proc_bind_primary): Add.
1796 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1797 * omp_lib.f90.in (omp_proc_bind_primary): Add.
1798 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1799 * omp_lib.h.in (omp_proc_bind_primary): Add.
1800 * testsuite/libgomp.c/affinity-1.c: Check that
1801 'primary' works and is identical to 'master'.
1802
1803 2021-08-09 Julian Brown <julian (a] codesourcery.com>
1804 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1805 Thomas Schwinge <thomas (a] codesourcery.com>
1806
1807 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
1808 16.
1809 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1810 [acc_device_radeon]: Update.
1811 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
1812 [ACC_DEVICE_TYPE_radeon]: Likewise.
1813 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1814 [acc_device_radeon]: Likewise.
1815 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
1816 [ACC_DEVICE_TYPE_radeon]: Likewise.
1817 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
1818 'openacc_radeon_accel_selected' and '-O0'.
1819 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1820
1821 2021-08-05 Chung-Lin Tang <cltang (a] codesourcery.com>
1822
1823 * icv-device.c (omp_get_device_num): New API function, host side.
1824 * fortran.c (omp_get_device_num_): New interface function.
1825 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
1826 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
1827 omp_get_device_num_.
1828 * libgomp.texi (omp_get_device_num): Add documentation for new API
1829 function.
1830 * omp.h.in (omp_get_device_num): Add declaration.
1831 * omp_lib.f90.in (omp_get_device_num): Likewise.
1832 * omp_lib.h.in (omp_get_device_num): Likewise.
1833 * target.c (gomp_load_image_to_device): If additional entry for device
1834 number exists at end of returned entries from 'load_image_func' hook,
1835 copy the assigned device number over to the device variable.
1836 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1837 (omp_get_device_num): New API function, device side.
1838 * plugin/plugin-gcn.c ("symcat.h"): Add include.
1839 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1840 at end of returned 'target_table' entries.
1841 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1842 (omp_get_device_num): New API function, device side.
1843 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
1844 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1845 at end of returned 'target_table' entries.
1846 * testsuite/lib/libgomp.exp
1847 (check_effective_target_offload_target_intelmic): New function for
1848 testing for intelmic offloading.
1849 * testsuite/libgomp.c-c++-common/target-45.c: New test.
1850 * testsuite/libgomp.fortran/target10.f90: New test.
1851
1852 2021-07-30 Thomas Schwinge <thomas (a] codesourcery.com>
1853 Ulrich Drepper <drepper (a] redhat.com>
1854
1855 * fortran.c (omp_display_env_, omp_display_env_8_): Only
1856 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
1857
1858 2021-07-29 Thomas Schwinge <thomas (a] codesourcery.com>
1859 Julian Brown <julian (a] codesourcery.com>
1860 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1861
1862 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
1863 's%oaccdevlow%oaccloops%g'.
1864 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
1865 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1866 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
1867 Likewise.
1868 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
1869 Likewise.
1870 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
1871 Likewise.
1872 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
1873 Likewise.
1874 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
1875 Likewise.
1876 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
1877 Likewise.
1878 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
1879 Likewise.
1880 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
1881 Likewise.
1882 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1883
1884 2021-07-29 Aldy Hernandez <aldyh (a] redhat.com>
1885
1886 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
1887 threader.
1888 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1889
1890 2021-07-27 Ulrich Drepper <drepper (a] gmail.com>
1891
1892 * env.c (wait_policy, stacksize): New static variables,
1893 move out of handle_omp_display_env.
1894 (omp_display_env): New function. The meat of the old
1895 handle_omp_display_env function.
1896 (handle_omp_display_env): Change to not take parameters
1897 and instead use the global variables. Only perform
1898 parsing, defer to omp_display_env for the implementation.
1899 (initialize_env): Remove local variables wait_policy and
1900 stacksize. Don't pass parameters to handle_omp_display_env.
1901 * fortran.c: Add ialias_redirect for omp_display_env.
1902 (omp_display_env_, omp_display_env_8_): New functions.
1903 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
1904 omp_display_env_, and omp_display_env_8_.
1905 * omp.h.in: Declare omp_display_env.
1906 * omp_lib.f90.in: Likewise.
1907 * omp_lib.h.in: Likewise.
1908
1909 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com>
1910 Julian Brown <julian (a] codesourcery.com>
1911
1912 * target.c (gomp_coalesce_buf_add): Update comment.
1913 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
1914 'aq && cbuf'.
1915 (gomp_map_vars_internal): Only 'if (!aq)', do
1916 'gomp_coalesce_buf_add'.
1917 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
1918 XFAIL.
1919
1920 2021-07-27 Julian Brown <julian (a] codesourcery.com>
1921 Thomas Schwinge <thomas (a] codesourcery.com>
1922
1923 * libgomp.h (gomp_copy_host2dev): Update prototype.
1924 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
1925 argument to gomp_copy_host2dev (false).
1926 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
1927 (copy_data): Don't free src.
1928 (queue_push_copy): Remove free_src handling.
1929 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
1930 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
1931 snapshotting.
1932 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
1933 queue_push_copy.
1934 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
1935 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
1936 data when true, and set up deferred freeing of temporary buffer.
1937 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
1938 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
1939 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
1940 calls to gomp_copy_host2dev with appropriate ephemeral argument.
1941 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
1942 XFAIL.
1943
1944 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com>
1945 Tom de Vries <tom (a] codesourcery.com>
1946
1947 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
1948 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
1949
1950 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com>
1951
1952 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
1953 sequencing of 'async' data copying vs. profiling events.
1954 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1955 Likewise.
1956
1957 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com>
1958 Julian Brown <julian (a] codesourcery.com>
1959
1960 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
1961 'async'/'wait' issue.
1962 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
1963 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
1964 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
1965
1966 2021-07-21 Thomas Schwinge <thomas (a] codesourcery.com>
1967 Joseph Myers <joseph (a] codesourcery.com>
1968 Cesar Philippidis <cesar (a] codesourcery.com>
1969
1970 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
1971 file.
1972 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
1973 Likewise.
1974 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
1975 Likewise.
1976 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1977
1978 2021-07-20 Thomas Schwinge <thomas (a] codesourcery.com>
1979
1980 PR target/101484
1981 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
1982 '-Wno-error=array-bounds'.
1983 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
1984 * libgomp.h [__AMDGCN__]: Likewise.
1985
1986 2021-07-19 Thomas Schwinge <thomas (a] codesourcery.com>
1987
1988 PR target/101484
1989 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
1990 * libgomp.h [__AMDGCN__]: Likewise.
1991
1992 2021-07-13 Jakub Jelinek <jakub (a] redhat.com>
1993 Florian Weimer <fweimer (a] redhat.com>
1994
1995 * config/linux/sem.h: Don't include limits.h.
1996 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
1997 * config/linux/affinity.c: Include limits.h.
1998
1999 2021-07-01 Jakub Jelinek <jakub (a] redhat.com>
2000
2001 PR middle-end/94366
2002 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
2003
2004 2021-06-29 Tobias Burnus <tobias (a] codesourcery.com>
2005
2006 PR other/67300
2007 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
2008 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
2009 avoid disabling other offload targets.
2010 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
2011 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2012 * testsuite/libgomp.c/target-44.c: Likewise.
2013
2014 2021-06-29 Tobias Burnus <tobias (a] codesourcery.com>
2015
2016 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
2017 target has shared memory and disable some scalar pointer/allocatable
2018 checks if not as firstprivate does not work.
2019
2020 2021-06-25 Chung-Lin Tang <cltang (a] codesourcery.com>
2021
2022 PR testsuite/101114
2023 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
2024 Add "target offload_device_nonshared_as" condition for enabling test.
2025
2026 2021-06-24 Jakub Jelinek <jakub (a] redhat.com>
2027
2028 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
2029 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
2030 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
2031 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
2032
2033 2021-06-23 Jakub Jelinek <jakub (a] redhat.com>
2034
2035 PR middle-end/101167
2036 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
2037
2038 2021-06-17 Chung-Lin Tang <cltang (a] codesourcery.com>
2039
2040 * hashtab.h (htab_clear): New function with initialization code
2041 factored out from...
2042 (htab_create): ...here, adjust to use htab_clear function.
2043 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
2044 special refcount values, add comments.
2045 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
2046 (REFCOUNT_LINK): Likewise.
2047 (REFCOUNT_STRUCTELEM): New special refcount range for structure
2048 element siblings.
2049 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
2050 sibling maps.
2051 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
2052 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
2053 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
2054 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
2055 (struct splay_tree_key_s): Add structelem_refcount and
2056 structelem_refcount_ptr fields into a union with dynamic_refcount.
2057 Add comments.
2058 (gomp_map_vars): Delete declaration.
2059 (gomp_map_vars_async): Likewise.
2060 (gomp_unmap_vars): Likewise.
2061 (gomp_unmap_vars_async): Likewise.
2062 (goacc_map_vars): New declaration.
2063 (goacc_unmap_vars): Likewise.
2064 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
2065 (goacc_enter_datum): Likewise.
2066 (goacc_enter_data_internal): Likewise.
2067 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
2068 and goacc_unmap_vars.
2069 (GOACC_data_start): Adjust to use goacc_map_vars.
2070 (GOACC_data_end): Adjust to use goacc_unmap_vars.
2071 * target.c (hash_entry_type): New typedef.
2072 (htab_alloc): New function hook for hashtab.h.
2073 (htab_free): Likewise.
2074 (htab_hash): Likewise.
2075 (htab_eq): Likewise.
2076 (hashtab.h): Add file include.
2077 (gomp_increment_refcount): New function.
2078 (gomp_decrement_refcount): Likewise.
2079 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
2080 gomp_increment_refcount.
2081 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
2082 to gomp_map_vars_existing.
2083 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
2084 variable to guard OpenMP specific paths, adjust calls to
2085 gomp_map_vars_existing, add structure element sibling splay_tree_key
2086 sequence creation code, adjust Fortran map case to avoid increment
2087 under OpenMP.
2088 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
2089 local refcount_set if caller passed in NULL, adjust call to
2090 gomp_map_vars_internal.
2091 (gomp_map_vars_async): Adjust and rename into...
2092 (goacc_map_vars): ...this new function, adjust call to
2093 gomp_map_vars_internal.
2094 (gomp_remove_splay_tree_key): New function with code factored out from
2095 gomp_remove_var_internal.
2096 (gomp_remove_var_internal): Add code to handle removing multiple
2097 splay_tree_key sequence for structure elements, adjust code to use
2098 gomp_remove_splay_tree_key for splay-tree key removal.
2099 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
2100 gomp_decrement_refcount.
2101 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
2102 local refcount_set if caller passed in NULL, adjust call to
2103 gomp_unmap_vars_internal.
2104 (gomp_unmap_vars_async): Adjust and rename into...
2105 (goacc_unmap_vars): ...this new function, adjust call to
2106 gomp_unmap_vars_internal.
2107 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
2108 gomp_unmap_vars.
2109 (GOMP_target_ext): Likewise.
2110 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
2111 (GOMP_target_data): Likewise.
2112 (GOMP_target_data_ext): Likewise.
2113 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
2114 (gomp_exit_data): Add refcount_set parameter, adjust to use
2115 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
2116 after main loop.
2117 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
2118 gomp_map_vars and gomp_exit_data.
2119 (gomp_target_task_fn): Likewise.
2120 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
2121 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
2122 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
2123 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
2124 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
2125 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
2126
2127 2021-06-15 Tobias Burnus <tobias (a] codesourcery.com>
2128
2129 PR fortran/92568
2130 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
2131
2132 2021-06-10 Andrew Stubbs <ams (a] codesourcery.com>
2133 Thomas Schwinge <thomas (a] codesourcery.com>
2134
2135 * libgomp.map (GOACC_2.0.2): New symbol version.
2136 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
2137 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
2138
2139 2021-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
2140 Andrew Stubbs <ams (a] codesourcery.com>
2141
2142 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
2143 extracted from...
2144 (GOACC_enter_exit_data): ... here.
2145 (GOACC_declare): Use it.
2146
2147 2021-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
2148
2149 * oacc-parallel.c (GOACC_declare): Move...
2150 * oacc-mem.c: ... here.
2151 * libgomp_g.h: Adjust.
2152
2153 2021-06-10 Andrew Stubbs <ams (a] codesourcery.com>
2154 Thomas Schwinge <thomas (a] codesourcery.com>
2155
2156 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
2157 handling.
2158
2159 2021-06-10 Jakub Jelinek <jakub (a] redhat.com>
2160
2161 PR tree-optimization/100981
2162 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
2163 dsdotr and dsdoti to 0.
2164
2165 2021-06-09 H.J. Lu <hjl.tools (a] gmail.com>
2166
2167 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
2168 if atomic compare-and-swap is supported on 'int'.
2169
2170 2021-06-09 Richard Biener <rguenther (a] suse.de>
2171
2172 PR tree-optimization/100981
2173 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
2174
2175 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2176
2177 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
2178 unconditionally.
2179 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2180 Update.
2181 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2182 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2183
2184 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2185
2186 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
2187 '-DACC_MEM_SHARED=0'.
2188 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2189 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2190 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
2191 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2192 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2193 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
2194 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2195 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2196 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2197 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2198 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
2199 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
2200 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
2201 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2202 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
2203 'acc_device_radeon' testing.
2204 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
2205 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2206 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2207 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
2208 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2209 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2210 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
2211 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
2212 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2213 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2214 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
2215 for non-'openacc_nvidia_accel_selected'.
2216 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2217 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
2218 all implement this checking".
2219 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2220 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2221 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2222 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2223 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2224
2225 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2226
2227 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
2228 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
2229
2230 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2231
2232 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
2233 for 'acc_device_radeon'.
2234
2235 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2236
2237 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
2238 for non-'acc_device_nvidia'.
2239
2240 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2241
2242 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
2243 'acc_device_radeon' testing.
2244 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2245 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2246 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2247
2248 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2249
2250 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
2251 require 'openacc_nvidia_accel_selected'. Fix up for
2252 'ACC_DEVICE_TYPE_radeon'.
2253
2254 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2255
2256 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
2257 'openacc_nvidia_accel_selected'.
2258 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2259
2260 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2261
2262 * testsuite/lib/libgomp.exp
2263 (check_effective_target_openacc_radeon_accel_selected):
2264 Streamline.
2265
2266 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2267
2268 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
2269 PR80547 workaround.
2270
2271 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2272
2273 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2274 <acc_device_nvidia>: Update comment.
2275
2276 2021-05-28 Tobias Burnus <tobias (a] codesourcery.com>
2277
2278 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
2279
2280 2021-05-27 Jakub Jelinek <jakub (a] redhat.com>
2281
2282 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
2283 check_effective_target_openacc_cublas,
2284 check_effective_target_openacc_cudart): New.
2285 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
2286 target openacc_cublas.
2287 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2288 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2289 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
2290 target openacc_cuda.
2291 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2292 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2293 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2294 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2295 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2296 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2297 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2298 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2299 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
2300 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2301 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2302 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2303 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2304 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2305 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2306 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2307 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
2308 targets openacc_cublas and openacc_cudart.
2309 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2310 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2311 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2312 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2313 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
2314 Require effective target openacc_cudart.
2315 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
2316 for effective target openacc_cuda and add && defined USE_CUDA_H to
2317 preprocessor conditionals. Guard -lcuda also on openacc_cuda
2318 effective target.
2319
2320 2021-05-26 Jakub Jelinek <jakub (a] redhat.com>
2321
2322 PR libgomp/100573
2323 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
2324 GOMP_target_end_data, GOMP_target_update_ext,
2325 GOMP_target_enter_exit_data): New dummy entrypoints.
2326 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
2327 GOMP_target_end_data, GOMP_target_update_ext,
2328 GOMP_target_enter_exit_data): Likewise.
2329 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
2330 OMPFROM, OMPTO): Define.
2331 (main): Remove #pragma omp target teams around all the tests.
2332 * testsuite/libgomp.c-c++-common/target-41.c: New test.
2333 * testsuite/libgomp.c-c++-common/target-42.c: New test.
2334
2335 2021-05-25 Jakub Jelinek <jakub (a] redhat.com>
2336
2337 PR middle-end/99928
2338 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
2339
2340 2021-05-24 Tobias Burnus <tobias (a] codesourcery.com>
2341
2342 PR fortran/86470
2343 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
2344 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
2345 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
2346
2347 2021-05-22 Thomas Schwinge <thomas (a] codesourcery.com>
2348
2349 PR testsuite/90115
2350 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
2351 uninteresting/varying diagnostics.
2352
2353 2021-05-21 Thomas Schwinge <thomas (a] codesourcery.com>
2354
2355 PR middle-end/90115
2356 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
2357 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2358
2359 2021-05-21 Thomas Schwinge <thomas (a] codesourcery.com>
2360
2361 PR middle-end/90115
2362 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
2363 file.
2364 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
2365 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
2366 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2367 Likewise.
2368 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2369 Likewise.
2370 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2371 Likewise.
2372 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2373 Likewise.
2374 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2375 Likewise.
2376 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2377 Likewise.
2378 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2379 Likewise.
2380 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2381 Likewise.
2382 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2383 Likewise.
2384 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2385 Likewise.
2386 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2387 Likewise.
2388 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2389 Likewise.
2390 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2391 Likewise.
2392 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2393 Likewise.
2394 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2395 Likewise.
2396 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2397 Likewise.
2398 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2399 Likewise.
2400 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2401 Likewise.
2402 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2403 Likewise.
2404 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2405 Likewise.
2406 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2407 Likewise.
2408 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2409 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2410 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2411 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
2412 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2413 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2414 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2415 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2416 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2417 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2418 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2419 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2420 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2421 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2422 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2423 Likewise.
2424 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
2425 Likewise.
2426 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
2427 Likewise.
2428 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2429 Likewise.
2430 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
2431 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2432 Likewise.
2433 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2434 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2435 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2436 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2437 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2438 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2439 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2440 Likewise.
2441 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2442 Likewise.
2443 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2444 Likewise.
2445 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2446 Likewise.
2447 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2448 Likewise.
2449 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2450 Likewise.
2451 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2452 Likewise.
2453 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2454 Likewise.
2455 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2456 Likewise.
2457 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2458 Likewise.
2459 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2460 Likewise.
2461 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2462 Likewise.
2463 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2464 Likewise.
2465 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2466 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2467 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2468 Likewise.
2469 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2470 Likewise.
2471 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2472 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2473 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2474
2475 2021-05-21 Julian Brown <julian (a] codesourcery.com>
2476 Chung-Lin Tang <cltang (a] codesourcery.com>
2477 Thomas Schwinge <thomas (a] codesourcery.com>
2478
2479 PR middle-end/90115
2480 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
2481 test.
2482 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2483 Likewise.
2484 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2485 Likewise.
2486
2487 2021-05-21 Thomas Schwinge <thomas (a] codesourcery.com>
2488
2489 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
2490 for nvptx offloading.
2491
2492 2021-05-21 Tobias Burnus <tobias (a] codesourcery.com>
2493
2494 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
2495
2496 2021-05-19 Thomas Schwinge <thomas (a] codesourcery.com>
2497
2498 PR target/83812
2499 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
2500
2501 2021-05-19 Julian Brown <julian (a] codesourcery.com>
2502
2503 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
2504
2505 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com>
2506
2507 * testsuite/lib/libgomp.exp
2508 (check_effective_target_offload_target_nvptx): Don't shadow global
2509 'offload_targets' variable.
2510
2511 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com>
2512
2513 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
2514 '-latomic' to nvptx offloading compilation.
2515 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2516
2517 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com>
2518
2519 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
2520 offloading compilation.
2521
2522 2021-05-17 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2523
2524 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
2525 if new tasks generated.
2526 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
2527
2528 2021-05-14 Tobias Burnus <tobias (a] codesourcery.com>
2529
2530 * testsuite/libgomp.fortran/parallel-master.f90: New test.
2531
2532 2021-05-13 Martin Liska <mliska (a] suse.cz>
2533
2534 PR testsuite/100569
2535 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
2536 * testsuite/libgomp.c/pr46032-2.c: Likewise.
2537 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
2538 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
2539
2540 2021-05-12 Tobias Burnus <tobias (a] codesourcery.com>
2541
2542 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
2543 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
2544
2545 2021-05-11 Jakub Jelinek <jakub (a] redhat.com>
2546
2547 PR middle-end/100471
2548 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
2549 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
2550 reduction pointer.
2551 * testsuite/libgomp.c/task-reduction-4.c: New test.
2552
2553 2021-05-07 Tobias Burnus <tobias (a] codesourcery.com>
2554 Tom de Vries <tdevries (a] suse.de>
2555
2556 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
2557 complex/floating-point || + && reduction with 'omp target'.
2558 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2559
2560 2021-05-04 Tobias Burnus <tobias (a] codesourcery.com>
2561
2562 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
2563 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
2564 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
2565 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
2566
2567 2021-05-04 Tobias Burnus <tobias (a] codesourcery.com>
2568
2569 PR testsuite/100397
2570 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
2571 declaration to scope of non-'depend'-guarded assignment to avoid races.
2572
2573 2021-05-03 Tom de Vries <tdevries (a] suse.de>
2574
2575 PR target/100321
2576 * testsuite/libgomp.c/target-44.c: New test.
2577
2578 2021-04-30 Roman Zhuykov <zhroma (a] ispras.ru>
2579
2580 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
2581
2582 2021-04-29 Tom de Vries <tdevries (a] suse.de>
2583
2584 * testsuite/libgomp.c/pr81778.c: New test.
2585
2586 2021-04-29 Tom de Vries <tdevries (a] suse.de>
2587
2588 PR target/100232
2589 * testsuite/libgomp.c/target-43.c: New file.
2590
2591 2021-04-28 Jakub Jelinek <jakub (a] redhat.com>
2592 Tobias Burnus <tobias (a] codesourcery.com>
2593
2594 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
2595 * target.c (gomp_load_plugin_for_device): If set and if a plugin
2596 can't be dlopened, silently assume it has no devices.
2597 * Makefile.in: Regenerate.
2598 * config.h.in: Regenerate.
2599 * configure: Regenerate.
2600
2601 2021-04-26 Tobias Burnus <tobias (a] codesourcery.com>
2602
2603 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2604 Use [Ww]arning in dg-bogus as FE diagnostic and default
2605 diagnostic differ and the result depends on ENABLE_OFFLOAD.
2606 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2607 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2608 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2609
2610 2021-04-26 Tobias Burnus <tobias (a] codesourcery.com>
2611
2612 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2613 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
2614 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2615 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2616 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2617
2618 2021-04-26 Thomas Schwinge <thomas (a] codesourcery.com>
2619 Nathan Sidwell <nathan (a] codesourcery.com>
2620 Tom de Vries <vries (a] codesourcery.com>
2621 Julian Brown <julian (a] codesourcery.com>
2622 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2623
2624 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
2625 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
2626 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2627 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2628 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2629 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2630 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
2631 Likewise.
2632 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2633 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2634 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2635 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2636 Likewise.
2637 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2638 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2639 Likewise.
2640 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2641 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
2642 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2643 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2644 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2645 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2646 Likewise.
2647 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2648 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2649 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2650 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2651 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2652 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2653 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2654 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2655 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2656 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2657 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2658
2659 2021-04-26 Thomas Schwinge <thomas (a] codesourcery.com>
2660
2661 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
2662 compile with '-w'.
2663 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2664 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2665 Likewise.
2666 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2667 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
2668 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2669 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2670 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2671 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2672 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2673
2674 2021-04-22 Richard Biener <rguenther (a] suse.de>
2675
2676 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
2677 only on nvptx-none.
2678
2679 2021-04-21 Tobias Burnus <tobias (a] codesourcery.com>
2680
2681 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
2682 omp_depend_kind instead of defining it as 16.
2683
2684 2021-04-21 Tobias Burnus <tobias (a] codesourcery.com>
2685
2686 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2687 New, based on check_effective_target_offload_target_nvptx.
2688 (check_effective_target_offload_target_nvptx): Call it.
2689 (check_effective_target_offload_target_amdgcn): New.
2690 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
2691 Require target offload_target_nvptx || offload_target_amdgcn.
2692 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
2693 * testsuite/libgomp.c/pr86416-1.c: Likewise.
2694 * testsuite/libgomp.c/pr86416-2.c: Likewise.
2695
2696 2021-04-21 Tobias Burnus <tobias (a] codesourcery.com>
2697
2698 * testsuite/libgomp.fortran/depobj-1.f90: New test.
2699
2700 2021-04-19 Thomas Schwinge <thomas (a] codesourcery.com>
2701
2702 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2703 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
2704 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2705 Likewise.
2706 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2707 Likewise.
2708 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2709
2710 2021-04-15 Thomas Schwinge <thomas (a] codesourcery.com>
2711
2712 PR target/99555
2713 * testsuite/lib/libgomp.exp
2714 (check_effective_target_offload_device_nvptx): New.
2715 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
2716 resolved, make sure that we exit quickly, with error status,
2717 XFAILed.
2718 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
2719 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2720
2721 2021-04-14 Jakub Jelinek <jakub (a] redhat.com>
2722
2723 PR testsuite/100071
2724 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
2725 cp = omp_alloc with cp, p arguments instead of cq, q and call
2726 c_f_pointer after last cq = omp_alloc with cq, q.
2727
2728 2021-04-11 Hafiz Abid Qadeer <abidh (a] codesourcery.com>
2729
2730 PR middle-end/98088
2731 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
2732 for loop with GT/GE condition.
2733 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
2734
2735 2021-04-09 Thomas Schwinge <thomas (a] codesourcery.com>
2736
2737 PR middle-end/84991
2738 PR middle-end/84992
2739 PR middle-end/90779
2740 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
2741
2742 2021-04-09 Jakub Jelinek <jakub (a] redhat.com>
2743
2744 PR libgomp/99984
2745 * team.c (gomp_thread_start): Call pthread_setspecific for
2746 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
2747 has been initialized to avoid false positive warning.
2748
2749 2021-03-29 Tobias Burnus <tobias (a] codesourcery.com>
2750
2751 PR target/99555
2752 * testsuite/lib/on_device_arch.c: Move to ...
2753 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
2754 * testsuite/libgomp.fortran/on_device_arch.c: New file;
2755 #include on_device_arch.h.
2756 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
2757 on_device_arch.h instead of using dg-additional-source.
2758 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2759 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
2760 on_device_arch.c without relative paths.
2761
2762 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com>
2763
2764 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
2765 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
2766 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
2767 * config.h.in: Regenerate.
2768 * configure: Likewise.
2769
2770 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com>
2771
2772 PR target/99555
2773 * testsuite/lib/on_device_arch.c: New file.
2774 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2775 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
2776 skip for nvptx offloading, with error status.
2777 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2778
2779 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com>
2780
2781 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
2782 OpenACC 'serial' construct diagnostic for nvptx offloading.
2783
2784 2021-03-15 Tobias Burnus <tobias (a] codesourcery.com>
2785
2786 PR c++/99509
2787 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
2788
2789 2021-03-12 Tobias Burnus <tobias (a] codesourcery.com>
2790
2791 PR fortran/98858
2792 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
2793
2794 2021-03-04 Jakub Jelinek <jakub (a] redhat.com>
2795
2796 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
2797 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
2798 checking of -m32 or -mx32 options on the command line.
2799 * config.h.in: Regenerated.
2800 * configure: Regenerated.
2801
2802 2021-02-27 Iain Sandoe <iain (a] sandoe.co.uk>
2803
2804 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
2805 support from the target.
2806
2807 2021-02-25 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2808 Jakub Jelinek <jakub (a] redhat.com>
2809
2810 PR libgomp/98738
2811 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
2812 (struct gomp_task): Replace detach and completion_sem fields with
2813 union containing completion_sem and detach_team. Add deferred_p
2814 field.
2815 (struct gomp_team): Remove task_detach_queue.
2816 * task.c: Include assert.h.
2817 (gomp_init_task): Initialize deferred_p and completion_sem fields.
2818 Rearrange initialization order of fields.
2819 (task_fulfilled_p): Delete.
2820 (GOMP_task): Use address of task as the event handle. Remove
2821 initialization of detach field. Initialize deferred_p field.
2822 Use automatic local for completion_sem. Initialize detach_team field
2823 for deferred tasks.
2824 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
2825 Set kind of suspended detach task to GOMP_TASK_DETACHED and
2826 decrement task_running_count. Move finish_cancelled block out of
2827 else branch. Relocate call to gomp_team_barrier_done.
2828 (GOMP_taskwait): Handle tasks with completion events that have not
2829 been fulfilled.
2830 (GOMP_taskgroup_end): Likewise.
2831 (omp_fulfill_event): Use address of task as event handle. Post to
2832 completion_sem for undeferred tasks. Clear detach_team if task
2833 has not finished. For finished tasks, handle post-execution tasks,
2834 call gomp_team_barrier_wake if necessary, and free task.
2835 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
2836 (free_team): Remove free of task_detach_queue.
2837 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
2838 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
2839 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
2840 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
2841 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
2842 Change data-sharing of detach events on enclosing parallel to private.
2843 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
2844 taskwait directive.
2845 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
2846 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
2847 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
2848 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
2849 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
2850 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
2851 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
2852 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
2853 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
2854 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
2855 Change data-sharing of detach events on enclosing parallel to private.
2856 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
2857 taskwait directive.
2858 * testsuite/libgomp.fortran/task-detach-7.f90: New.
2859 * testsuite/libgomp.fortran/task-detach-8.f90: New.
2860 * testsuite/libgomp.fortran/task-detach-9.f90: New.
2861 * testsuite/libgomp.fortran/task-detach-10.f90: New.
2862 * testsuite/libgomp.fortran/task-detach-11.f90: New.
2863
2864 2021-02-22 Tobias Burnus <tobias (a] codesourcery.com>
2865
2866 PR fortran/99171
2867 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
2868
2869 2021-02-17 Julian Brown <julian (a] codesourcery.com>
2870
2871 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
2872 expected errors.
2873
2874 2021-02-17 Julian Brown <julian (a] codesourcery.com>
2875
2876 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
2877 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
2878
2879 2021-02-11 Uro Bizjak <ubizjak (a] gmail.com>
2880
2881 * config/linux/x86/futex.h (__futex_wait):
2882 Revert output type back to long.
2883 (__futex_wake): Ditto.
2884 (futex_wait): Update for revert.
2885 (futex_wake): Ditto.
2886
2887 2021-02-11 Uro Bizjak <ubizjak (a] gmail.com>
2888
2889 * config/linux/x86/futex.h (__futex_wait): New static inline
2890 wrapper function. Correct output type to int and
2891 timeout type to void *.
2892 (__futex_wake): New static inline wrapper function.
2893 Correct output type to int.
2894 (futex_wait): Use __futex_wait.
2895 (futex_wake): Use __futex_wake.
2896
2897 2021-02-10 Julian Brown <julian (a] codesourcery.com>
2898
2899 PR fortran/98979
2900 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
2901 errors.
2902
2903 2021-02-04 Julian Brown <julian (a] codesourcery.com>
2904
2905 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
2906
2907 2021-02-03 Andrew Stubbs <ams (a] codesourcery.com>
2908
2909 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
2910 EF_AMDGPU_MACH_AMDGCN_GFX908.
2911 (gcn_gfx908_s): New constant string.
2912 (isa_hsa_name): Add gfx908.
2913 (isa_code): Add gfx908.
2914
2915 2021-01-25 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2916
2917 * libgomp.texi (omp_fulfill_event): New entry.
2918
2919 2021-01-20 Jakub Jelinek <jakub (a] redhat.com>
2920
2921 * task.c (GOMP_task): Rename priority argument to priority_arg,
2922 add priority automatic variable and modify that variable. Instead of
2923 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
2924 check flags for that bit.
2925
2926 2021-01-19 Tobias Burnus <tobias (a] codesourcery.com>
2927
2928 PR fortran/98476
2929 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
2930
2931 2021-01-18 Andreas Schwab <schwab (a] suse.de>
2932
2933 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
2934
2935 2021-01-18 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
2936
2937 * config/rtems/sem.h (gomp_sem_getcount): New function.
2938
2939 2021-01-18 Jakub Jelinek <jakub (a] redhat.com>
2940
2941 * config/linux/sem.h (gomp_sem_getcount): New function.
2942 * config/posix/sem.h (gomp_sem_getcount): New function.
2943 * config/posix/sem.c (gomp_sem_getcount): New function.
2944 * config/accel/sem.h (gomp_sem_getcount): New function.
2945 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
2946 (omp_fulfill_event): Likewise.
2947
2948 2021-01-16 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2949
2950 * fortran.c (omp_fulfill_event_): New.
2951 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
2952 (struct gomp_team): Add task_detach_queue and task_detach_count
2953 fields.
2954 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
2955 * libgomp_g.h (GOMP_task): Add extra argument.
2956 * omp.h.in (enum omp_event_handle_t): New.
2957 (omp_fulfill_event): New.
2958 * omp_lib.f90.in (omp_event_handle_kind): New.
2959 (omp_fulfill_event): New.
2960 * omp_lib.h.in (omp_event_handle_kind): New.
2961 (omp_fulfill_event): Declare.
2962 * priority_queue.c (priority_tree_find): New.
2963 (priority_list_find): New.
2964 (priority_queue_find): New.
2965 * priority_queue.h (priority_queue_predicate): New.
2966 (priority_queue_find): New.
2967 * task.c (gomp_init_task): Initialize detach field.
2968 (task_fulfilled_p): New.
2969 (GOMP_task): Add detach argument. Ignore detach argument if
2970 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
2971 field. Copy address of completion_sem into detach argument and
2972 into the start of the data record. Wait for detach event if task
2973 not deferred.
2974 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
2975 Remove completed tasks and requeue dependent tasks.
2976 (omp_fulfill_event): New.
2977 * team.c (gomp_new_team): Initialize task_detach_queue and
2978 task_detach_count fields.
2979 (free_team): Free task_detach_queue field.
2980 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
2981 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
2982 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
2983 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
2984 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
2985 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
2986 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
2987 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
2988 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
2989 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
2990 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
2991 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
2992
2993 2021-01-15 Jakub Jelinek <jakub (a] redhat.com>
2994
2995 PR target/70454
2996 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
2997 be added through preprocessor check on
2998 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
2999
3000 2021-01-14 Thomas Schwinge <thomas (a] codesourcery.com>
3001
3002 PR libgomp/65099
3003 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
3004 configurations.
3005 * configure: Regenerate.
3006 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
3007 check.
3008
3009 2021-01-05 Samuel Thibault <samuel.thibault (a] ens-lyon.org>
3010
3011 * configure: Re-generate.
3012
3013 2021-01-05 Samuel Thibault <samuel.thibault (a] ens-lyon.org>
3014
3015 * configure: Re-generate.
3016
3017 2021-01-05 Julian Brown <julian (a] codesourcery.com>
3018
3019 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
3020 (struct ptx_device): Add omp_stacks struct.
3021 (nvptx_open_device): Initialise cached-stacks housekeeping info.
3022 (nvptx_close_device): Free cached stacks block and mutex.
3023 (nvptx_stacks_free): New function.
3024 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
3025 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
3026 (nvptx_stacks_alloc): Rename to...
3027 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
3028 size or smaller is required.
3029 (nvptx_stacks_free): Remove.
3030 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
3031 during kernel execution.
3032
3033 2021-01-01 Jakub Jelinek <jakub (a] redhat.com>
3034
3035 * libgomp.texi: Bump @copying's copyright year.
3036
3037 2020-12-28 Gerald Pfeifer <gerald (a] pfeifer.com>
3038
3039 * libgomp.texi (Top): Avoid bad "up" link.
3040
3041 2020-12-18 Jakub Jelinek <jakub (a] redhat.com>
3042
3043 * testsuite/libgomp.c/task-6.c: New test.
3044
3045 2020-12-09 Andrew Stubbs <ams (a] codesourcery.com>
3046
3047 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
3048 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
3049
3050 2020-12-08 Tobias Burnus <tobias (a] codesourcery.com>
3051
3052 * testsuite/libgomp.fortran/scan-1.f90: New test.
3053
3054 2020-12-05 Iain Sandoe <iain (a] sandoe.co.uk>
3055
3056 PR target/97865
3057 * configure: Regenerate.
3058
3059 2020-11-29 John David Anglin <danglin (a] gcc.gnu.org>
3060
3061 * configure: Regenerate.
3062
3063 2020-11-25 Thomas Schwinge <thomas (a] codesourcery.com>
3064
3065 * testsuite/libgomp.oacc-c++/cache-1.C: New.
3066 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
3067
3068 2020-11-25 Andrew Stubbs <ams (a] codesourcery.com>
3069
3070 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
3071 expected results.
3072
3073 2020-11-24 Andrew Stubbs <ams (a] codesourcery.com>
3074
3075 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
3076 (reserved): Delete unused define.
3077
3078 2020-11-24 Thomas Schwinge <thomas (a] codesourcery.com>
3079
3080 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
3081 Tcl 8.5-specific behavior.
3082 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3083
3084 2020-11-18 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3085
3086 * env.c (gomp_global_icv): Remove nest_var field. Add
3087 max_active_levels_var field.
3088 (gomp_max_active_levels_var): Remove.
3089 (parse_boolean): Return true on success.
3090 (handle_omp_display_env): Express OMP_NESTED in terms of
3091 max_active_levels_var. Change format specifier for
3092 max_active_levels_var.
3093 (initialize_env): Set max_active_levels_var from
3094 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
3095 OMP_PROC_BIND.
3096 * icv.c (omp_set_nested): Express in terms of
3097 max_active_levels_var.
3098 (omp_get_nested): Likewise.
3099 (omp_set_max_active_levels): Use max_active_levels_var field instead
3100 of gomp_max_active_levels_var.
3101 (omp_get_max_active_levels): Likewise.
3102 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
3103 max_active_levels_var field.
3104 (gomp_supported_active_levels): Set to UCHAR_MAX.
3105 (gomp_max_active_levels_var): Delete.
3106 * libgomp.texi (omp_get_nested): Update documentation.
3107 (omp_set_nested): Likewise.
3108 (OMP_MAX_ACTIVE_LEVELS): Likewise.
3109 (OMP_NESTED): Likewise.
3110 (OMP_NUM_THREADS): Likewise.
3111 (OMP_PROC_BIND): Likewise.
3112 * parallel.c (gomp_resolve_num_threads): Replace reference
3113 to nest_var with max_active_levels_var. Use max_active_levels_var
3114 field instead of gomp_max_active_levels_var.
3115
3116 2020-11-18 Tobias Burnus <tobias (a] codesourcery.com>
3117
3118 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
3119 nvptx_usleep; use also for device={arch(gcn)}.
3120
3121 2020-11-14 Jakub Jelinek <jakub (a] redhat.com>
3122
3123 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
3124 (foo): Add tests for non-VLA private and firstprivate clauses on
3125 omp task.
3126 (bar): Likewise. Remove taking of address from private/firstprivate
3127 variables.
3128 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
3129 (foo): Add p, q, px and s arguments. Add tests for array reductions
3130 and for non-VLA private and firstprivate clauses on omp task.
3131 (bar): Removed.
3132 (main): Adjust foo caller. Don't call bar.
3133
3134 2020-11-13 Gerg Barany <gergo (a] codesourcery.com>
3135 Thomas Schwinge <thomas (a] codesourcery.com>
3136
3137 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3138 New.
3139 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3140 Likewise.
3141 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3142 Likewise.
3143 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3144 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3145
3146 2020-11-13 Gerg Barany <gergo (a] codesourcery.com>
3147 Thomas Schwinge <thomas (a] codesourcery.com>
3148
3149 PR fortran/94358
3150 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
3151
3152 2020-11-13 Jakub Jelinek <jakub (a] redhat.com>
3153
3154 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
3155 for array reductions.
3156 (main): Adjust foo callers.
3157
3158 2020-11-12 Jakub Jelinek <jakub (a] redhat.com>
3159
3160 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
3161 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
3162 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
3163 * allocator.c (omp_aligned_alloc): New for now static function,
3164 add alignment argument and handle it.
3165 (omp_alloc): Reimplement using omp_aligned_alloc.
3166 (GOMP_alloc, GOMP_free): New functions.
3167 (omp_free): Add ialias.
3168 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
3169 * testsuite/libgomp.c++/allocate-1.C: New test.
3170
3171 2020-11-12 Thomas Schwinge <thomas (a] codesourcery.com>
3172
3173 PR fortran/97782
3174 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
3175
3176 2020-11-10 Chung-Lin Tang <cltang (a] codesourcery.com>
3177
3178 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
3179 usable.
3180 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
3181 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
3182 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
3183 (goacc_enter_data_internal): Likewise.
3184 * target.c (gomp_map_vars_internal):
3185 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
3186 of gomp_attach_pointer for OpenMP cases.
3187 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
3188 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
3189 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
3190
3191 2020-11-05 Ulrich Drepper <drepper (a] redhat.com>
3192 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3193
3194 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
3195 * Makefile.in: Regenerate.
3196 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
3197 pragmas to ignore -Wdeprecated-declarations warnings.
3198 * icv.c: Likewise.
3199 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
3200 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
3201 and omp_get_nested with __GOMP_DEPRECATED_5_0.
3202 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
3203 deprecated.
3204 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
3205 to test options.
3206 * testsuite/libgomp.c/affinity-1.c: Likewise.
3207 * testsuite/libgomp.c/affinity-2.c: Likewise.
3208 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
3209 * testsuite/libgomp.c/lib-1.c: Likewise.
3210 * testsuite/libgomp.c/nested-1.c: Likewise.
3211 * testsuite/libgomp.c/nested-2.c: Likewise.
3212 * testsuite/libgomp.c/nested-3.c: Likewise.
3213 * testsuite/libgomp.c/pr32362-1.c: Likewise.
3214 * testsuite/libgomp.c/pr32362-2.c: Likewise.
3215 * testsuite/libgomp.c/pr32362-3.c: Likewise.
3216 * testsuite/libgomp.c/pr35549.c: Likewise.
3217 * testsuite/libgomp.c/pr42942.c: Likewise.
3218 * testsuite/libgomp.c/pr61200.c: Likewise.
3219 * testsuite/libgomp.c/sort-1.c: Likewise.
3220 * testsuite/libgomp.c/target-5.c: Likewise.
3221 * testsuite/libgomp.c/target-6.c: Likewise.
3222 * testsuite/libgomp.c/teams-1.c: Likewise.
3223 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
3224 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3225 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3226 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
3227 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3228 * testsuite/libgomp.fortran/lib2.f: Likewise.
3229 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3230 * testsuite/libgomp.fortran/teams1.f90: Likewise.
3231
3232 2020-11-02 Thomas Schwinge <thomas (a] codesourcery.com>
3233
3234 PR target/85486
3235 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
3236 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
3237 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3238
3239 2020-11-02 Thomas Schwinge <thomas (a] codesourcery.com>
3240
3241 PR testsuite/80219
3242 PR testsuite/85303
3243 * testsuite/lib/libgomp.exp (libgomp_init): Set
3244 'gcc_warning_prefix', 'gcc_error_prefix'.
3245
3246 2020-10-30 Jakub Jelinek <jakub (a] redhat.com>
3247
3248 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
3249 even in field_tgt_clear initializer.
3250
3251 2020-10-28 Jakub Jelinek <jakub (a] redhat.com>
3252
3253 * testsuite/libgomp.c/target-42.c: New test.
3254
3255 2020-10-28 Jakub Jelinek <jakub (a] redhat.com>
3256 Tom de Vries <tdevries (a] suse.de>
3257
3258 PR testsuite/81690
3259 * testsuite/libgomp.c/usleep.h: New file.
3260 * testsuite/libgomp.c/target-32.c: Include usleep.h.
3261 (main): Use tgt_usleep instead of usleep.
3262 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
3263 (main): Use tgt_usleep instead of usleep.
3264
3265 2020-10-28 Jakub Jelinek <jakub (a] redhat.com>
3266
3267 PR lto/96680
3268 * testsuite/libgomp.c/declare-variant-1.c: New test.
3269
3270 2020-10-22 Jakub Jelinek <jakub (a] redhat.com>
3271
3272 * testsuite/libgomp.c/target-41.c: New test.
3273
3274 2020-10-22 Jakub Jelinek <jakub (a] redhat.com>
3275
3276 * icv.c (omp_get_initial_device): Remove including corresponding
3277 ialias.
3278 * icv-device.c (omp_get_initial_device): New function. Return
3279 gomp_get_num_devices (). Add ialias.
3280 * target.c (resolve_device): Don't fail with
3281 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
3282 gomp_get_num_devices ().
3283 (omp_target_alloc, omp_target_free, omp_target_is_present,
3284 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
3285 omp_target_disassociate_ptr, omp_pause_resource): Use
3286 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
3287 first use in the functions, in uses dominated by the
3288 gomp_get_num_devices call use num_devices_openmp instead.
3289 * libgomp.texi (omp_get_initial_device): Document.
3290 * config/gcn/icv-device.c (omp_get_initial_device): New function.
3291 Add ialias.
3292 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
3293 * testsuite/libgomp.c/target-40.c: New test.
3294
3295 2020-10-21 Jakub Jelinek <jakub (a] redhat.com>
3296
3297 * env.c (parse_target_offload): Change new_offload var type to int,
3298 preinitialize to -1, remove found var and test new_offload != -1
3299 instead of found.
3300
3301 2020-10-20 Jakub Jelinek <jakub (a] redhat.com>
3302
3303 * target.c (gomp_target_init): Inside of the function, use automatic
3304 variables corresponding to num_devices, num_devices_openmp and devices
3305 global variables and update the globals only at the end of the
3306 function.
3307
3308 2020-10-20 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3309
3310 * env.c (gomp_target_offload_var): New.
3311 (parse_target_offload): New.
3312 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
3313 (initialize_env): Parse OMP_TARGET_OFFLOAD.
3314 * libgomp.h (gomp_target_offload_t): New.
3315 (gomp_target_offload_var): New.
3316 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
3317 * target.c (resolve_device): Generate error if device not found and
3318 offloading is mandatory.
3319 (gomp_target_fallback): Generate error if offloading is mandatory.
3320 (GOMP_target): Add argument in call to gomp_target_fallback.
3321 (GOMP_target_ext): Likewise.
3322 (gomp_target_data_fallback): Generate error if offloading is mandatory.
3323 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
3324 (GOMP_target_data_ext): Likewise.
3325 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
3326 (gomp_target_init): Return early if offloading is disabled.
3327
3328 2020-10-15 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3329
3330 * libgomp.texi (omp_get_max_active_levels): Modify description.
3331 (omp_get_supported_active_levels): Make descriptions consistent.
3332
3333 2020-10-14 Jakub Jelinek <jakub (a] redhat.com>
3334
3335 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
3336
3337 2020-10-13 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3338
3339 * env.c (gomp_max_active_levels_var): Initialize to
3340 gomp_supported_active_levels.
3341 (initialize_env): Limit gomp_max_active_levels_var to be at most
3342 equal to gomp_supported_active_levels.
3343 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
3344 (omp_get_supported_active_levels_): New.
3345 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
3346 to at most equal to gomp_supported_active_levels.
3347 (omp_get_supported_active_levels): New.
3348 * libgomp.h (gomp_supported_active_levels): New.
3349 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
3350 omp_get_supported_active_levels_.
3351 * libgomp.texi (omp_get_supported_active_levels): New.
3352 (omp_set_max_active_levels): Update. Add reference to
3353 omp_get_supported_active_levels.
3354 * omp.h.in (omp_get_supported_active_levels): New.
3355 * omp_lib.f90.in (omp_get_supported_active_levels): New.
3356 * omp_lib.h.in (omp_get_supported_active_levels): New.
3357 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
3358 against omp_get_supported_active_levels.
3359 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
3360
3361 2020-10-11 Clement Chigot <clement.chigot (a] atos.net>
3362
3363 * config/t-aix: Delete and recreate libgomp before creating
3364 FAT library.
3365
3366 2020-10-08 Tom de Vries <tdevries (a] suse.de>
3367
3368 PR libgomp/81802
3369 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
3370 dimensions.
3371
3372 2020-10-06 Tom de Vries <tdevries (a] suse.de>
3373
3374 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
3375
3376 2020-10-06 Tom de Vries <tdevries (a] suse.de>
3377
3378 PR middle-end/90861
3379 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
3380
3381 2020-10-05 Tom de Vries <tdevries (a] suse.de>
3382
3383 PR fortran/95654
3384 * testsuite/libgomp.fortran/pr95654.f90: New test.
3385
3386 2020-10-02 Tobias Burnus <tobias (a] codesourcery.com>
3387
3388 * Makefile.in: Regenerate with automake 1.15.1.
3389 * aclocal.m4: Likewise.
3390 * configure: Likewise.
3391 * testsuite/Makefile.in: Likewise.
3392
3393 2020-09-30 Andrew Stubbs <ams (a] codesourcery.com>
3394
3395 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
3396 and amdgcn targets.
3397
3398 2020-09-30 Tobias Burnus <tobias (a] codesourcery.com>
3399
3400 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
3401
3402 2020-09-29 Andrew Stubbs <ams (a] codesourcery.com>
3403
3404 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
3405 total number of threads is one.
3406 (gomp_team_barrier_wake): Likewise.
3407 (gomp_team_barrier_wait_end): Likewise.
3408 (gomp_team_barrier_wait_cancel_end): Likewise.
3409 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
3410 (gomp_team_barrier_wake): Likewise.
3411 (gomp_team_barrier_wait_end): Likewise.
3412 (gomp_team_barrier_wait_cancel_end): Likewise.
3413 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
3414
3415 2020-09-28 Tobias Burnus <tobias (a] codesourcery.com>
3416
3417 PR middle-end/96390
3418 * testsuite/libgomp.c++/pr96390.C: New test.
3419 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
3420
3421 2020-09-27 Clement Chigot <clement.chigot (a] atos.net>
3422
3423 * config/t-aix: Use $(AR) without -X32_64.
3424
3425 2020-09-25 Jakub Jelinek <jakub (a] redhat.com>
3426
3427 * testsuite/libgomp.c/loop-25.c: New test.
3428
3429 2020-09-22 Tobias Burnus <tobias (a] codesourcery.com>
3430
3431 PR fortran/95654
3432 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
3433
3434 2020-09-22 Tom de Vries <tdevries (a] suse.de>
3435
3436 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
3437 fails.
3438
3439 2020-09-16 Nathan Sidwell <nathan (a] acm.org>
3440
3441 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
3442
3443 2020-09-15 Tobias Burnus <tobias (a] codesourcery.com>
3444
3445 PR fortran/96668
3446 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
3447
3448 2020-09-15 Tobias Burnus <tobias (a] codesourcery.com>
3449
3450 PR fortran/96668
3451 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
3452 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
3453 (gomp_map_vars_existing): Update call to it.
3454 (gomp_map_fields_existing): Likewise
3455 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
3456 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
3457 remapped.
3458 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
3459 GOMP_MAP_POINTER.
3460 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
3461 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
3462
3463 2020-09-14 Tom de Vries <tdevries (a] suse.de>
3464
3465 * config/nvptx/atomic.c: New file. Add
3466 __sync_val_compare_and_swap_16.
3467 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
3468 target offload_target_nvptx.
3469
3470 2020-09-08 Julian Brown <julian (a] codesourcery.com>
3471
3472 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
3473 iteration-ordering assumptions.
3474
3475 2020-09-08 Julian Brown <julian (a] codesourcery.com>
3476
3477 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
3478 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3479
3480 2020-08-20 Chung-Lin Tang <cltang (a] codesourcery.com>
3481
3482 * plugin/plugin-nvptx.c (nvptx_free):
3483 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
3484 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
3485 comments.
3486
3487 2020-08-20 Tobias Burnus <tobias (a] codesourcery.com>
3488
3489 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
3490
3491 2020-08-13 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3492
3493 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
3494
3495 2020-08-13 Jakub Jelinek <jakub (a] redhat.com>
3496
3497 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
3498 * testsuite/libgomp.c/loop-23.c (main): Likewise.
3499 * testsuite/libgomp.c/loop-24.c: New test.
3500
3501 2020-08-08 Jakub Jelinek <jakub (a] redhat.com>
3502 Tobias Burnus <tobias (a] codesourcery.com>
3503
3504 PR fortran/93553
3505 * testsuite/libgomp.fortran/pr93553.f90: New test.
3506
3507 2020-08-05 Jakub Jelinek <jakub (a] redhat.com>
3508
3509 * testsuite/libgomp.c/loop-22.c: New test.
3510 * testsuite/libgomp.c/loop-23.c: New test.
3511
3512 2020-08-05 Jakub Jelinek <jakub (a] redhat.com>
3513
3514 PR middle-end/96459
3515 * testsuite/libgomp.c/teams-3.c: New test.
3516 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
3517 if not defined yet.
3518 (N(test)): Use it before all N(f*) calls.
3519 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
3520 (main): Don't call all test_* functions from within
3521 #pragma omp teams reduction(|:err), call them directly.
3522
3523 2020-08-04 Tom de Vries <tdevries (a] suse.de>
3524
3525 PR target/96428
3526 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
3527 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
3528
3529 2020-08-03 Julian Brown <julian (a] codesourcery.com>
3530 Thomas Schwinge <thomas (a] codesourcery.com>
3531
3532 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
3533 shared-memory devices. Extend with further checking.
3534
3535 2020-08-03 Martin Jambor <mjambor (a] suse.cz>
3536
3537 * plugin/Makefrag.am: Remove configuration of HSA plugin.
3538 * aclocal.m4: Regenerated.
3539 * Makefile.in: Regenerated.
3540 * config.h.in: Regenerated.
3541 * configure: Regenerated.
3542 * plugin/configfrag.ac: Likewise.
3543 * plugin/hsa_ext_finalize.h: Removed.
3544 * plugin/plugin-hsa.c: Likewise.
3545 * testsuite/Makefile.in: Regenerated.
3546 * testsuite/lib/libgomp.exp
3547 (offload_target_to_openacc_device_type): Remove hsa case.
3548 (check_effective_target_hsa_offloading_selected_nocache): Removed
3549 (check_effective_target_hsa_offloading_selected): Likewise.
3550 (libgomp_init): Do not add -Wno-hsa to additional_flags.
3551 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
3552 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3553 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
3554 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3555 * testsuite/libgomp.hsa.c/c.exp: Likewise.
3556 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3557 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
3558 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3559 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3560 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3561 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3562 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3563 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3564 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3565 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3566 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3567 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
3568 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3569 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
3570 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3571 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3572 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
3573 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3574 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3575
3576 2020-07-27 Julian Brown <julian (a] codesourcery.com>
3577 Thomas Schwinge <thomas (a] codesourcery.com>
3578
3579 * libgomp.h (struct target_var_desc): Rename do_detach field to
3580 is_attach.
3581 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
3582 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
3583 (goacc_enter_data_internal): Don't affect reference counts
3584 for attach mappings.
3585 (goacc_exit_data_internal): Don't affect reference counts for detach
3586 mappings.
3587 * target.c (gomp_map_vars_existing): Don't affect reference counts for
3588 attach mappings.
3589 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
3590 mark attach mappings.
3591 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
3592 reference count for attach mappings.
3593 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
3594 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3595 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3596 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
3597 test as shouldfail.
3598 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
3599 gracefully in no-finalize mode.
3600 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
3601
3602 2020-07-24 Thomas Schwinge <thomas (a] codesourcery.com>
3603
3604 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
3605 use.
3606 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3607 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3608
3609 2020-07-23 Julian Brown <julian (a] codesourcery.com>
3610 Thomas Schwinge <thomas (a] codesourcery.com>
3611
3612 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
3613 finalization for detach operation.
3614 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
3615 New test.
3616
3617 2020-07-23 Tobias Burnus <tobias (a] codesourcery.com>
3618
3619 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
3620 * libgomp_f.h.in (omp_check_defines): Check whether
3621 sizeof of determined Fortran kind and C typedef match.
3622 * omp_lib.f90.in: Add omp_depened_kind.
3623 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
3624 * configure: Regenerate.
3625 * Makefile.in: Regenerate.
3626 * testsuite/Makefile.in: Regenerate.
3627
3628 2020-07-22 Tobias Burnus <tobias (a] codesourcery.com>
3629
3630 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
3631 gcc/testsuite/c-c++-common/gomp/.
3632 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
3633 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
3634 from gcc/testsuite/gfortran.dg/gomp/.
3635 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
3636
3637 2020-07-22 Tobias Burnus <tobias (a] codesourcery.com>
3638
3639 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
3640 * omp_lib.h.in: Likewise.
3641
3642 2020-07-18 H.J. Lu <hjl.tools (a] gmail.com>
3643
3644 PR target/95620
3645 * testsuite/libgomp.c/pr95620.c: New test.
3646
3647 2020-07-16 Julian Brown <julian (a] codesourcery.com>
3648 Thomas Schwinge <thomas (a] codesourcery.com>
3649
3650 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
3651 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
3652
3653 2020-07-15 Tobias Burnus <tobias (a] codesourcery.com>
3654
3655 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
3656 avoid conversion on 32bit systems from 32bit to 64bit due
3657 to -fdefault-integer-8.
3658
3659 2020-07-15 Tobias Burnus <tobias (a] codesourcery.com>
3660
3661 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
3662 variables; add character(kind=4) tests; update TODO comment.
3663
3664 2020-07-15 Tobias Burnus <tobias (a] codesourcery.com>
3665
3666 * allocator.c: Add ialias for omp_init_allocator and
3667 omp_destroy_allocator.
3668 * configure.ac: Set INTPTR_T_KIND.
3669 * configure: Regenerate.
3670 * Makefile.in: Regenerate.
3671 * testsuite/Makefile.in: Regenerate.
3672 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
3673 omp_set_default_allocator_, omp_get_default_allocator_): New
3674 functions and ialias_redirect.
3675 * icv.c: Add ialias for omp_set_default_allocator and
3676 omp_get_default_allocator.
3677 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
3678 omp_destroy_allocator_, omp_set_default_allocator_ and
3679 omp_get_default_allocator_.
3680 * omp_lib.f90.in: Add allocator traits parameters, declare
3681 allocator routines and add related kind parameters.
3682 * omp_lib.h.in: Likewise.
3683 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
3684 * testsuite/libgomp.fortran/alloc-1.F90: New test.
3685 * testsuite/libgomp.fortran/alloc-2.F90: New test.
3686 * testsuite/libgomp.fortran/alloc-3.F: New test.
3687 * testsuite/libgomp.fortran/alloc-4.f90: New test.
3688 * testsuite/libgomp.fortran/alloc-5.f90: New test.
3689
3690 2020-07-14 Tom de Vries <tom (a] codesourcery.com>
3691 Cesar Philippidis <cesar (a] codesourcery.com>
3692 Thomas Schwinge <thomas (a] codesourcery.com>
3693 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3694
3695 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
3696 New variable.
3697 (acc_init_1): Set acc_init_thread to pthread_self (). Set
3698 acc_init_state to initializing at the start, and to initialized at the
3699 end.
3700 (self_initializing_p): New function.
3701 (acc_get_device_type): Return acc_device_none if called by thread that
3702 is currently executing acc_init_1.
3703 * libgomp.texi (acc_get_device_type): Update documentation.
3704 (Implementation Status and Implementation-Defined Behavior): Likewise.
3705 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
3706
3707 2020-07-14 David Edelsohn <dje.gcc (a] gmail.com>
3708
3709 * config/t-aix: Set BITS from compiler cpp macro.
3710
3711 2020-07-14 Tobias Burnus <tobias (a] codesourcery.com>
3712
3713 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
3714
3715 2020-07-14 Tobias Burnus <tobias (a] codesourcery.com>
3716
3717 PR fortran/67311
3718 * testsuite/libgomp.fortran/target-map-1.f90: New test.
3719
3720 2020-07-14 Jakub Jelinek <jakub (a] redhat.com>
3721
3722 * testsuite/libgomp.c/loop-21.c: New test.
3723
3724 2020-07-13 Julian Brown <julian (a] codesourcery.com>
3725 Thomas Schwinge <thomas (a] codesourcery.com>
3726
3727 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
3728
3729 2020-07-10 Julian Brown <julian (a] codesourcery.com>
3730 Thomas Schwinge <thomas (a] codesourcery.com>
3731
3732 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
3733 dynamic_refcount.
3734 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3735 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
3736 dynamic_refcount.
3737 (acc_unmap_data): Update comment.
3738 (goacc_map_var_existing, goacc_enter_datum): Adjust for
3739 dynamic_refcount semantics.
3740 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
3741 Adjust for dynamic_refcount semantics.
3742 (goacc_enter_data_internal): Implement "present" case of dynamic
3743 memory-map handling here. Update "non-present" case for
3744 dynamic_refcount semantics.
3745 (goacc_exit_data_internal): Use goacc_exit_datum_1.
3746 * target.c (gomp_map_vars_internal): Remove
3747 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
3748 handling.
3749 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
3750 (gomp_load_image_to_device): Substitute dynamic_refcount for
3751 virtual_refcount.
3752 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
3753 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
3754 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
3755 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
3756 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
3757 trace output.
3758 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
3759 trace output.
3760 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
3761 test.
3762 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3763 Remove stale comment.
3764 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
3765 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3766 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3767 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3768 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3769 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
3770
3771 2020-07-10 Julian Brown <julian (a] codesourcery.com>
3772 Thomas Schwinge <thomas (a] codesourcery.com>
3773
3774 * oacc-mem.c (goacc_map_var_existing): New function.
3775 (goacc_enter_datum): Use above function.
3776 (goacc_exit_datum_1): New function.
3777 (goacc_exit_datum): Use above function.
3778
3779 2020-07-09 Julian Brown <julian (a] codesourcery.com>
3780 Thomas Schwinge <thomas (a] codesourcery.com>
3781
3782 PR middle-end/95270
3783 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
3784 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
3785
3786 2020-07-09 Julian Brown <julian (a] codesourcery.com>
3787
3788 * oacc-mem.c (find_group_last): Group data-movement clauses
3789 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
3790 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
3791
3792 2020-07-09 Jakub Jelinek <jakub (a] redhat.com>
3793
3794 * testsuite/libgomp.c/loop-19.c: New test.
3795 * testsuite/libgomp.c/loop-20.c: New test.
3796
3797 2020-07-09 Jakub Jelinek <jakub (a] redhat.com>
3798
3799 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
3800 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
3801 it. Remove __omp_alloctrait_value_max__.
3802 * allocator.c (omp_init_allocator): Handle omp_atv_default for
3803 omp_atk_alignment and omp_atk_pool_size.
3804
3805 2020-07-03 Thomas Schwinge <thomas (a] codesourcery.com>
3806
3807 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
3808 behavior for 'GOMP_MAP_FORCE_FROM'.
3809 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
3810
3811 2020-07-03 Thomas Schwinge <thomas (a] codesourcery.com>
3812
3813 * oacc-mem.c (goacc_exit_data_internal): Remove
3814 'GOMP_MAP_ALWAYS_FROM' handling.
3815
3816 2020-06-30 Thomas Schwinge <thomas (a] codesourcery.com>
3817
3818 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
3819 'scan-assembler' with 'scan-offload-rtl'.
3820 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
3821 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3822 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
3823 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
3824
3825 2020-06-30 Thomas Schwinge <thomas (a] codesourcery.com>
3826
3827 * target.c (gomp_map_vars_existing): Assert 'kind !=
3828 GOMP_MAP_ATTACH'.
3829 (gomp_map_vars_internal): Clean up.
3830
3831 2020-06-27 Jakub Jelinek <jakub (a] redhat.com>
3832
3833 * testsuite/libgomp.c/loop-17.c: New test.
3834 * testsuite/libgomp.c/loop-18.c: New test.
3835
3836 2020-06-26 Marek Polacek <polacek (a] redhat.com>
3837
3838 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
3839
3840 2020-06-23 Alexandre Oliva <oliva (a] adacore.com>
3841
3842 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
3843 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
3844
3845 2020-06-22 David Edelsohn <dje.gcc (a] gmail.com>
3846
3847 * Makefile.am: Use -include.
3848 * Makefile.in: Regenerate.
3849
3850 2020-06-21 David Edelsohn <dje.gcc (a] gmail.com>
3851
3852 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
3853 * Makefile.in: Regenerate
3854 * configure.ac (tmake_file): Substitute.
3855 * configure: Regenerate.
3856 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
3857 * config/t-aix: New file.
3858
3859 2020-06-17 Thomas Schwinge <thomas (a] codesourcery.com>
3860
3861 PR lto/94848
3862 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
3863 'dg-do run'.
3864
3865 2020-06-17 Andrew Stubbs <ams (a] codesourcery.com>
3866
3867 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
3868 variant for HSA_RUNTIME_LIB name.
3869 (find_executable_symbol_1): Delete.
3870 (find_executable_symbol): Delete.
3871 (init_kernel_properties): Add ".kd" suffix to symbol names.
3872 (find_load_offset): Delete.
3873 (create_and_finalize_hsa_program): Remove relocation handling.
3874
3875 2020-06-16 Tobias Burnus <tobias (a] codesourcery.com>
3876
3877 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
3878
3879 2020-06-08 Tobias Burnus <tobias (a] codesourcery.com>
3880
3881 PR lto/94848
3882 PR middle-end/95551
3883 * testsuite/libgomp.fortran/target-var.f90: New test.
3884
3885 2020-06-05 Thomas Schwinge <thomas (a] codesourcery.com>
3886 Julian Brown <julian (a] codesourcery.com>
3887
3888 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
3889 special handling.
3890
3891 2020-06-05 Thomas Schwinge <thomas (a] codesourcery.com>
3892 Julian Brown <julian (a] codesourcery.com>
3893
3894 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3895 Simplify.
3896
3897 2020-06-05 Julian Brown <julian (a] codesourcery.com>
3898
3899 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
3900 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
3901
3902 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3903
3904 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3905 Evaluate 'copyfrom' individually for each entry.
3906 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
3907
3908 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3909
3910 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3911 Evaluate 'finalize' individually for each entry.
3912 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
3913 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
3914 file.
3915
3916 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3917
3918 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
3919 usage.
3920 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
3921
3922 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3923 Julian Brown <julian (a] codesourcery.com>
3924
3925 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
3926 checking.
3927 (acc_unmap_data, goacc_exit_data_internal): Restore
3928 'is_tgt_unmapped' checking.
3929 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
3930 file.
3931 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
3932 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3933 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3934 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3935 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3936 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3937
3938 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3939 Julian Brown <julian (a] codesourcery.com>
3940
3941 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
3942
3943 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3944
3945 PR libgomp/92854
3946 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
3947
3948 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3949
3950 PR libgomp/92854
3951 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
3952 more.
3953
3954 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3955 Julian Brown <julian (a] codesourcery.com>
3956
3957 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
3958 'gomp_map_vars'.
3959 (acc_map_data): Clean up accordingly.
3960
3961 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3962
3963 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
3964 of over-eager 'finalize' clause.
3965 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
3966 file.
3967 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3968 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3969 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3970 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3971 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3972 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
3973 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3974 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
3975
3976 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3977
3978 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
3979
3980 2020-06-04 Julian Brown <julian (a] codesourcery.com>
3981
3982 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
3983 error path.
3984 (goacc_detach_internal): Likewise.
3985
3986 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3987
3988 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
3989 the checkpoint.
3990 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3991 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3992 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3993 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3994 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3995
3996 2020-06-02 Jakub Jelinek <jakub (a] redhat.com>
3997
3998 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
3999 defined.
4000
4001 2020-05-30 Jakub Jelinek <jakub (a] redhat.com>
4002
4003 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
4004
4005 2020-05-30 Jakub Jelinek <jakub (a] redhat.com>
4006
4007 * allocator.c (omp_alloc): For size == 0, return NULL early.
4008
4009 2020-05-29 H.J. Lu <hjl.tools (a] gmail.com>
4010
4011 PR bootstrap/95413
4012 * configure: Regenerated.
4013
4014 2020-05-23 Thomas Koenig <tkoenig (a] gcc.gnu.org>
4015
4016 PR libfortran/95191
4017 * testsuite/libgomp.fortran/async_io_9.f90: New test.
4018
4019 2020-05-19 Jakub Jelinek <jakub (a] redhat.com>
4020
4021 * omp.h.in (omp_uintptr_t): New typedef.
4022 (__GOMP_UINTPTR_T_ENUM): Define.
4023 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
4024 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
4025 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
4026 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
4027 omp_get_default_allocator, omp_alloc, omp_free): Declare.
4028 * libgomp.h (struct gomp_team_state): Add def_allocator field.
4029 (gomp_def_allocator): Declare.
4030 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
4031 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
4032 omp_alloc and omp_free.
4033 * team.c (gomp_team_start): Copy over ts.def_allocator.
4034 * env.c (gomp_def_allocator): New variable.
4035 (parse_wait_policy): Adjust function comment.
4036 (parse_allocator): New function.
4037 (handle_omp_display_env): Print OMP_ALLOCATOR.
4038 (initialize_env): Call parse_allocator.
4039 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
4040 * allocator.c: New file.
4041 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
4042 functions.
4043 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
4044 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
4045 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
4046 * Makefile.in: Regenerated.
4047
4048 2020-05-15 H.J. Lu <hongjiu.lu (a] intel.com>
4049
4050 PR bootstrap/95147
4051 * configure: Regenerated.
4052
4053 2020-05-14 Thomas Koenig <tkoenig (a] gcc.gnu.org>
4054
4055 PR libfortran/95119
4056 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
4057
4058 2020-05-14 H.J. Lu <hongjiu.lu (a] intel.com>
4059
4060 * configure: Regenerated.
4061
4062 2020-05-14 Jakub Jelinek <jakub (a] redhat.com>
4063
4064 * testsuite/libgomp.c-c++-common/target-40.c: New test.
4065
4066 2020-05-13 Tobias Burnus <tobias (a] codesourcery.com>
4067
4068 PR fortran/94690
4069 * testsuite/libgomp.fortran/pr66199-3.f90: New.
4070 * testsuite/libgomp.fortran/pr66199-4.f90: New.
4071 * testsuite/libgomp.fortran/pr66199-5.f90: New.
4072 * testsuite/libgomp.fortran/pr66199-6.f90: New.
4073 * testsuite/libgomp.fortran/pr66199-7.f90: New.
4074 * testsuite/libgomp.fortran/pr66199-8.f90: New.
4075 * testsuite/libgomp.fortran/pr66199-9.f90: New.
4076
4077 2020-05-12 Jakub Jelinek <jakub (a] redhat.com>
4078
4079 * testsuite/libgomp.c/target-39.c: New test.
4080
4081 2020-04-29 Thomas Schwinge <thomas (a] codesourcery.com>
4082
4083 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
4084 * openacc.f90 (acc_device_current): Likewise.
4085 * openacc.h (acc_device_current): Likewise.
4086 * openacc_lib.h (acc_device_current): Likewise.
4087
4088 PR target/94282
4089 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
4090 'dg-allow-blank-lines-in-output'.
4091
4092 * oacc-init.c (get_openacc_name): Handle 'gcn'.
4093 * testsuite/lib/libgomp.exp
4094 (offload_target_to_openacc_device_type) [amdgcn*]: Return
4095 'radeon'. Adjust all users.
4096 (check_effective_target_openacc_amdgcn_accel_present): Rename
4097 to...
4098 (check_effective_target_openacc_radeon_accel_present): ... this.
4099 Adjust all users.
4100 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
4101 (check_effective_target_openacc_radeon_accel_selected): ... this.
4102 Adjust all users.
4103
4104 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
4105 'dg-do run'.
4106
4107 2020-04-23 Andrew Stubbs <ams (a] codesourcery.com>
4108
4109 PR other/94629
4110
4111 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
4112 hsa_iterate_agents.
4113 (GOMP_OFFLOAD_init_device): Check return values from both calls to
4114 hsa_agent_iterate_regions.
4115
4116 2020-04-20 Thomas Schwinge <thomas (a] codesourcery.com>
4117
4118 PR middle-end/94635
4119 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
4120 run'.
4121
4122 2020-04-20 Tobias Burnus <tobias (a] codesourcery.com>
4123
4124 PR middle-end/94120
4125 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
4126 test case.
4127
4128 2020-04-17 Tobias Burnus <tobias (a] codesourcery.com>
4129
4130 PR middle-end/94635
4131 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
4132
4133 2020-04-13 Thomas Schwinge <thomas (a] codesourcery.com>
4134
4135 PR libgomp/92843
4136 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4137 Rename to...
4138 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
4139 ... this.
4140 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4141 Rename to...
4142 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
4143 ... this.
4144 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4145 Rename to...
4146 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
4147 ... this.
4148 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4149 Rename to...
4150 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
4151 ... this.
4152 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4153 Rename to...
4154 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
4155 ... this.
4156 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4157 Rename to...
4158 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
4159 ... this.
4160 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4161 Rename to...
4162 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
4163 ... this.
4164 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4165 Rename to...
4166 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4167 ... this.
4168 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4169 Rename to...
4170 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
4171 ... this.
4172 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4173 Rename to...
4174 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
4175 ... this.
4176 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4177 Rename to...
4178 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
4179 ... this.
4180 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4181 Rename to...
4182 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
4183 ... this.
4184 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4185 Rename to...
4186 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
4187 ... this.
4188 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4189 Rename to...
4190 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
4191 ... this.
4192 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4193 Rename to...
4194 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
4195 ... this.
4196 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
4197 Rename to...
4198 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
4199 ... this.
4200
4201 2020-04-10 Julian Brown <julian (a] codesourcery.com>
4202 Thomas Schwinge <thomas (a] codesourcery.com>
4203
4204 PR libgomp/92843
4205 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4206 New file.
4207 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4208 Likewise.
4209 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4210 Likewise.
4211 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4212 Likewise.
4213 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4214 Likewise.
4215 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4216 Likewise.
4217 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4218 Likewise.
4219 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4220 Likewise.
4221 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4222 Likewise.
4223 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4224 Likewise.
4225 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4226 Likewise.
4227 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4228 Likewise.
4229 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4230 Likewise.
4231 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4232 Likewise.
4233 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4234 Likewise.
4235 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
4236 Likewise.
4237
4238 2020-04-10 Thomas Schwinge <thomas (a] codesourcery.com>
4239
4240 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
4241 run'.
4242
4243 2020-04-08 Tobias Burnus <tobias (a] codesourcery.com>
4244
4245 PR middle-end/94120
4246 * libgomp.oacc-c++/declare-pr94120.C: New.
4247
4248 2020-04-06 Maciej W. Rozycki <macro (a] wdc.com>
4249
4250 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
4251 files.
4252 * configure: Regenerate.
4253 * testsuite/libgomp-site-extra.exp.in: New file.
4254 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
4255 variable.
4256 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
4257 variable.
4258 * testsuite/Makefile.in: Regenerate.
4259
4260 2020-04-03 Thomas Schwinge <thomas (a] codesourcery.com>
4261
4262 PR tree-optimization/89713
4263 PR c/94392
4264 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
4265 'bar.sync'.
4266 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4267
4268 2020-03-31 Tobias Burnus <tobias (a] codesourcery.com>
4269
4270 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
4271 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
4272
4273 2020-03-24 Tobias Burnus <tobias (a] codesourcery.com>
4274
4275 PR libgomp/81689
4276 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
4277
4278 2020-03-20 Tobias Burnus <tobias (a] codesourcery.com>
4279
4280 PR libgomp/94251
4281 * target.c (gomp_load_image_to_device): Fix link
4282 variable handling.
4283
4284 2020-03-19 Jakub Jelinek <jakub (a] redhat.com>
4285
4286 PR c++/93931
4287 * testsuite/libgomp.c++/pr93931.C: New test.
4288
4289 2020-03-19 Tobias Burnus <tobias (a] codesourcery.com>
4290
4291 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
4292 dg-allow-blank-lines-in-output.
4293
4294 2020-03-18 Julian Brown <julian (a] codesourcery.com>
4295 Tobias Burnus <tobias (a] codesourcery.com>
4296
4297 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
4298 it work concurrently.
4299
4300 2020-03-18 Tobias Burnus <tobias (a] codesourcery.com>
4301
4302 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
4303 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
4304 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
4305
4306 2020-03-14 Jakub Jelinek <jakub (a] redhat.com>
4307
4308 PR middle-end/93566
4309 * testsuite/libgomp.c/pr93566.c: New test.
4310
4311 2020-02-21 Frederik Harwath <frederik (a] codesourcery.com>
4312
4313 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
4314 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
4315 integer(acc_device_property) for the type of the return value of
4316 acc_get_property.
4317
4318 2020-02-19 Tobias Burnus <tobias (a] codesourcery.com>
4319
4320 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
4321 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
4322 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
4323 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
4324 (acc_set_device_num): Fix Fortran argument name, use same name for C.
4325 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
4326 corrections; add note about the previous interface and named constant.
4327 (OpenACC library and environment variables): Fix two typos.
4328 * openacc.f90: Use for all procedures the argument names from the spec
4329 as for _h they are user visible.
4330 (openacc_kinds): Rename acc_device_property to
4331 acc_device_property_kinds and change value to int32 ; and update users.
4332 Re-add acc_device_property for for backward compatibility.
4333 (acc_get_property_string_h): Clean up as acc_device_property_kind
4334 changed.
4335 (acc_get_property_h): Likewise and return c_size_t instead of
4336 acc_device_property.
4337 (openacc): Also export acc_device_property_kinds.
4338 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
4339 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
4340 handling; check against /= 0 instead of == 1 to match C.
4341 * openacc_lib.h: Use for all procedures the argument names from the spec
4342 as for _h they are user visible. Place !GCC$ into the first column to
4343 be active also for fixed-form souce form.
4344 (acc_device_current, acc_device_property_kind, acc_device_property,
4345 acc_property_memory, acc_property_free_memory, acc_property_name,
4346 acc_property_vendor, acc_property_driver): New named constants.
4347 (acc_get_property, acc_get_property_string): New generic interface.
4348
4349 2020-02-13 Frederik Harwath <frederik (a] codesourcery.com>
4350
4351 PR libgomp/93481
4352 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
4353 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
4354 optional.
4355 (gomp_target_task_fn): Assert "devicep->async_run_func".
4356 (clear_unsupported_flags): New function to remove unsupported flags
4357 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
4358 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
4359 * testsuite/libgomp.c/target-33.c:
4360 Remove xfail for offload_target_nvptx.
4361 * testsuite/libgomp.c/target-34.c: Likewise.
4362
4363 2020-02-10 Frederik Harwath <frederik (a] codesourcery.com>
4364
4365 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
4366 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
4367 * testsuite/libgomp.c/target-34.c: Likewise.
4368 * testsuite/libgomp.c/target-link-1.c: Add xfail for
4369 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
4370
4371 2020-02-09 Jakub Jelinek <jakub (a] redhat.com>
4372
4373 * testsuite/libgomp.c/target-38.c: New test.
4374
4375 2020-02-06 Jakub Jelinek <jakub (a] redhat.com>
4376
4377 PR libgomp/93515
4378 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
4379
4380 2020-02-05 Tobias Burnus <tobias (a] codesourcery.com>
4381
4382 * testsuite/lib/libgomp.exp
4383 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
4384 and not as 'source' argument to libgomp_target_compile.
4385
4386 2020-02-03 Andrew Stubbs <ams (a] codesourcery.com>
4387
4388 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
4389 (gcn_gfx801_s): Remove.
4390 (isa_hsa_name): Remove gfx801.
4391 (isa_gcc_name): Remove gfx801/carizzo.
4392 (isa_code): Remove gfx801.
4393
4394 2020-02-03 Julian Brown <julian (a] codesourcery.com>
4395 Tobias Burnus <tobias (a] codesourcery.com>
4396
4397 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
4398 and *_finalize variants; document acc_attach and acc_detach; update
4399 references from OpenACC 2.0 to 2.6.
4400 * openacc.f90 (openacc_version): Update to 201711.
4401 * openacc_lib.h (openacc_version): Update to 201711.
4402 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
4403 openacc_version to 201711.
4404 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4405
4406 2020-01-31 Kwok Cheung Yeung <kcy (a] codesourcery.com>
4407
4408 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
4409 and vgpr_count fields.
4410 (struct kernel_info): Add a field for a hsa_kernel_description.
4411 (run_kernel): Reduce the number of threads/workers if the requested
4412 number would require too many VGPRs.
4413 (init_basic_kernel_info): Initialize description field with
4414 the hsa_kernel_description entry for the kernel.
4415
4416 2020-01-29 Tobias Burnus <tobias (a] codesourcery.com>
4417
4418 PR bootstrap/93409
4419 * plugin/configfrag.ac (enable_offload_targets): Skip
4420 HSA and GCN plugin besides -m32 also for -mx32.
4421 * configure: Regenerate.
4422
4423 2020-01-29 Frederik Harwath <frederik (a] codesourcery.com>
4424
4425 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
4426
4427 2020-01-29 Frederik Harwath <frederik (a] codesourcery.com>
4428
4429 * plugin-gcn.c (struct agent_info): Add fields "name" and
4430 "vendor_name" ...
4431 (GOMP_OFFLOAD_init_device): ... and init from here.
4432 (struct hsa_context_info): Add field "driver_version_s" ...
4433 (init_hsa_contest): ... and init from here.
4434 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
4435 implementation.
4436 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4437 Enable test execution for amdgcn and host offloading targets.
4438 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
4439 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4440 (expect_device_properties): Split function into ...
4441 (expect_device_string_properties): ... this new function ...
4442 (expect_device_memory): ... and this new function.
4443 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
4444 Add test.
4445
4446 2020-01-28 Julian Brown <julian (a] codesourcery.com>
4447
4448 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
4449 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
4450 component/non-component variable refs in a single directive.
4451 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
4452
4453 2020-01-24 Maciej W. Rozycki <macro (a] wdc.com>
4454
4455 * configure.ac: Handle `--with-toolexeclibdir='.
4456 * Makefile.in: Regenerate.
4457 * aclocal.m4: Regenerate.
4458 * configure: Regenerate.
4459 * testsuite/Makefile.in: Regenerate.
4460
4461 2020-01-24 Frederik Harwath <frederik (a] codesourcery.com>
4462
4463 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4464 (expect_device_properties): Remove "expected_free_mem" argument,
4465 change "expected_total_mem" argument type to size_t;
4466 change types of acc_get_property results to size_t,
4467 adapt format strings.
4468 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4469 Use %zu instead of %zd to print size_t values.
4470 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
4471 rename to ...
4472 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
4473 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
4474 rename to ...
4475 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
4476
4477 2020-01-23 Andrew Stubbs <ams (a] codesourcery.com>
4478
4479 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
4480 the device id.
4481
4482 2020-01-20 Andrew Stubbs <ams (a] codesourcery.com>
4483
4484 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
4485 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
4486 Adjust test dimensions for amdgcn.
4487 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
4488 gang/worker/vector expectations dynamically.
4489 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
4490 (main): Likewise.
4491 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
4492 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
4493 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
4494 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
4495 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
4496 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
4497 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
4498 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
4499 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4500 (acc_gang): Recognise acc_device_radeon.
4501 (acc_worker): Likewise.
4502 (acc_vector): Likewise.
4503 (main): Set expectations for amdgcn.
4504 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
4505 (main): Adjust gang/worker/vector expectations dynamically.
4506 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
4507 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
4508 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
4509 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
4510 for amdgcn.
4511
4512 2020-01-17 Andrew Stubbs <ams (a] codesourcery.com>
4513
4514 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
4515 acc_device_radeon.
4516 (openacc): Likewise.
4517 * openacc.f90 (openacc_kinds): Likewise.
4518 (openacc): Likewise.
4519 * openacc.h (acc_device_t): Likewise.
4520 * openacc_lib.h: Likewise.
4521 * testsuite/lib/libgomp.exp
4522 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
4523 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
4524 (cb_compute_construct_end): Likewise.
4525 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4526 (cb_enqueue_launch_start): Likewise.
4527 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
4528 (cb_enter_data_end): Likewise.
4529 (cb_exit_data_start): Likewise.
4530 (cb_exit_data_end): Likewise.
4531 (cb_compute_construct_end): Likewise.
4532 (cb_enqueue_launch_start): Likewise.
4533 (cb_enqueue_launch_end): Likewise.
4534 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
4535 (main): Likewise.
4536
4537 2020-01-10 Thomas Schwinge <thomas (a] codesourcery.com>
4538
4539 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
4540 to use this instead of 'enum gomp_device_property'.
4541 (GOMP_OFFLOAD_get_property): Rename to...
4542 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
4543 * libgomp.h (struct gomp_device_descr): Move
4544 'GOMP_OFFLOAD_openacc_get_property'...
4545 (struct acc_dispatch_t): ... here. Adjust all users.
4546 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
4547
4548 * target.c (gomp_map_vars_internal)
4549 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
4550 paths.
4551
4552 2020-01-10 Jakub Jelinek <jakub (a] redhat.com>
4553
4554 PR libgomp/93219
4555 * libgomp.h (gomp_print_string): Change return type from void to int.
4556 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
4557 not all characters have been written.
4558
4559 2020-01-08 Tobias Burnus <tobias (a] codesourcery.com>
4560
4561 * libgomp.texi: Fix typos, use https.
4562
4563 2020-01-03 Tobias Burnus <tobias (a] codesourcery.com>
4564
4565 * testsuite/libgomp.fortran/optional-map.f90: Add test for
4566 unallocated/disassociated actual arguments to nonallocatable/nonpointer
4567 dummy arguments; those are/shall be regarded as absent arguments.
4568 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4569 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
4570
4571 2020-01-01 Jakub Jelinek <jakub (a] redhat.com>
4572
4573 Update copyright years.
4574
4575 * libgomp.texi: Bump @copying's copyright year.
4576
4577 2019-12-31 Ayush Mittal <ayush.m (a] samsung.com>
4578
4579 PR libgomp/93065
4580 * oacc-init.c (goacc_runtime_deinitialize): New function.
4581
4582 2019-12-28 Jakub Jelinek <jakub (a] redhat.com>
4583
4584 PR bootstrap/93074
4585 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
4586 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
4587
4588 2019-12-22 Maciej W. Rozycki <macro (a] codesourcery.com>
4589 Frederik Harwath <frederik (a] codesourcery.com>
4590 Thomas Schwinge <tschwinge (a] codesourcery.com>
4591
4592 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
4593 * libgomp-plugin.h (gomp_device_property_value): New union.
4594 (gomp_device_property_value): New prototype.
4595 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
4596 constant.
4597 (acc_device_property_t): New enum.
4598 (acc_get_property, acc_get_property_string): New prototypes.
4599 * oacc-init.c (acc_get_device_type): Also assert that result
4600 is not `acc_device_current'.
4601 (get_property_any, acc_get_property, acc_get_property_string):
4602 New functions.
4603 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
4604 `acc_property_memory', `acc_property_free_memory',
4605 `acc_property_name', `acc_property_vendor' and
4606 `acc_property_driver' constants. Add `acc_device_property' data
4607 type.
4608 (openacc_internal): Add `acc_get_property' and
4609 `acc_get_property_string' interfaces. Add `acc_get_property_h',
4610 `acc_get_property_string_h', `acc_get_property_l' and
4611 `acc_get_property_string_l'.
4612 * oacc-host.c (host_get_property): New function.
4613 (host_dispatch): Wire it.
4614 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
4615 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
4616 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
4617 * libgomp.texi (OpenACC Runtime Library Routines): Add
4618 `acc_get_property'.
4619 (acc_get_property): New node.
4620 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
4621 function (stub).
4622 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
4623 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
4624 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
4625 calls.
4626 (GOMP_OFFLOAD_get_property): New function.
4627 (struct ptx_device): Add new field "name".
4628 (cuda_driver_version_s): Add new static variable ...
4629 (nvptx_init): ... and init from here.
4630
4631 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
4632 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
4633 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
4634 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
4635 with test helper functions.
4636
4637 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
4638
4639 2019-12-22 Maciej W. Rozycki <macro (a] wdc.com>
4640
4641 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
4642 variable.
4643
4644 2019-12-21 Thomas Schwinge <thomas (a] codesourcery.com>
4645
4646 * target.c (gomp_map_vars_internal): Restore 'omp declare target
4647 link' handling.
4648
4649 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4650
4651 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
4652 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
4653 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
4654
4655 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4656 Cesar Philippidis <cesar (a] codesourcery.com>
4657
4658 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
4659 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
4660 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
4661 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
4662 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
4663 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
4664 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
4665 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
4666 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
4667 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
4668 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
4669 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
4670 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
4671
4672 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4673
4674 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
4675 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
4676 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
4677 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
4678 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
4679 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
4680 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
4681 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
4682 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
4683 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
4684 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
4685 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
4686
4687 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4688
4689 * libgomp.h (struct target_var_desc): Add do_detach flag.
4690 * oacc-init.c (acc_shutdown_1): Free aux block if present.
4691 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
4692 struct components. Tidy up and add some new checks.
4693 (goacc_enter_data_internal): Update call to find_group_last.
4694 (goacc_exit_data_internal): Support detach operations and
4695 GOMP_MAP_STRUCT.
4696 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
4697 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
4698 attach/detach in enter/exit data detection code.
4699 * target.c (gomp_map_vars_existing): Initialise do_detach field of
4700 tgt_var_desc.
4701 (gomp_map_vars_internal): Support attach.
4702 (gomp_unmap_vars_internal): Support detach.
4703
4704 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4705 Thomas Schwinge <thomas (a] codesourcery.com>
4706
4707 * libgomp.h (struct splay_tree_aux): Add attach_count field.
4708 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
4709 * libgomp.map (OACC_2.6): New section. Add acc_attach,
4710 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
4711 acc_detach_finalize_async.
4712 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
4713 acc_detach, acc_detach_async, acc_detach_finalize,
4714 acc_detach_finalize_async): New functions.
4715 * openacc.h (acc_attach, acc_attach_async, acc_detach,
4716 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
4717 prototypes.
4718 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
4719 (gomp_remove_var_internal): Free attachment counts if present.
4720 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
4721 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
4722
4723 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4724 Cesar Philippidis <cesar (a] codesourcery.com>
4725
4726 * libgomp.h (gomp_map_val): Add prototype.
4727 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
4728 open-coding device-address calculation.
4729 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
4730 non-present case.
4731
4732 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4733
4734 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
4735 field for virtual_refcount.
4736 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
4737 (gomp_free_memmap): Remove prototype.
4738 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
4739 instead of calling gomp_free_memmap.
4740 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
4741 dynamic_refcount.
4742 (acc_unmap_data): Open code instead of forcing target_mem_desc's
4743 to_free field to NULL then calling gomp_unmap_vars. Handle
4744 REFCOUNT_INFINITY on target blocks.
4745 (goacc_enter_data): Rename to...
4746 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
4747 handling for mapping groups. Use virtual_refcount instead of
4748 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
4749 map_map_vars_async call. Re-do lookup for target pointer return value.
4750 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
4751 renamed goacc_enter_datum function.
4752 (goacc_exit_data): Rename to...
4753 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
4754 (acc_delete, acc_delete_async, acc_delete_finalize,
4755 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
4756 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
4757 goacc_exit_datum function.
4758 (gomp_acc_remove_pointer, find_pointer): Remove functions.
4759 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
4760 New functions.
4761 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
4762 goacc_exit_data_internal helper functions.
4763 * target.c (gomp_map_vars_internal): Handle
4764 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
4765 semantics.
4766 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
4767 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
4768 virtual_refcount field instead of dynamic_refcount.
4769 (gomp_free_memmap): Remove function.
4770 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
4771 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
4772 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
4773
4774 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4775 Thomas Schwinge <thomas (a] codesourcery.com>
4776
4777 * libgomp.h (struct splay_tree_aux): New.
4778 (struct splay_tree_key_s): Replace link_key field with aux pointer.
4779 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
4780 to aux struct.
4781 (gomp_remove_var_internal): Free aux block if present.
4782 (gomp_load_image_to_device): Zero-initialise aux field instead of
4783 link_key field.
4784 (omp_target_associate_pointer): Zero-initialise aux field.
4785
4786 2019-12-18 Jakub Jelinek <jakub (a] redhat.com>
4787
4788 PR middle-end/86416
4789 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
4790 q or none.
4791 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
4792 L or none.
4793
4794 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4795 Maciej W. Rozycki <macro (a] codesourcery.com>
4796 Tobias Burnus <tobias (a] codesourcery.com>
4797 Thomas Schwinge <thomas (a] codesourcery.com>
4798
4799 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
4800 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
4801 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
4802 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
4803 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
4804 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
4805 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
4806 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
4807 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
4808
4809 2019-12-18 Thomas Schwinge <thomas (a] codesourcery.com>
4810
4811 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4812 called...
4813 (goacc_insert_pointer): ... from here, "present" case.
4814 (goacc_insert_pointer): Inline function into...
4815 (GOACC_enter_exit_data): ... here, and simplify.
4816
4817 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4818 called...
4819 (goacc_insert_pointer): ... from here, "not present" case.
4820
4821 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
4822 all users.
4823
4824 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
4825 'goacc_enter_data', 'goacc_exit_data'.
4826
4827 * oacc-mem.c (delete_copyout): Refactor into...
4828 (goacc_exit_data): ... this. Adjust all users.
4829
4830 * oacc-mem.c (present_create_copy): Refactor into...
4831 (goacc_enter_data): ... this. Adjust all users.
4832
4833 * target.c (gomp_unmap_vars_internal): Add a safeguard to
4834 'gomp_remove_var'.
4835
4836 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
4837 like 'GOMP_MAP_FROM'.
4838
4839 PR libgomp/92726
4840 PR libgomp/92970
4841 PR libgomp/92984
4842 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
4843 fails.
4844 (GOACC_enter_exit_data): Simplify accordingly.
4845 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
4846 subsuming...
4847 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
4848 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
4849 file.
4850 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
4851 subsuming...
4852 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
4853 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
4854 file.
4855 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
4856 subsuming...
4857 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
4858
4859 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
4860 'finalize' handling.
4861
4862 PR libgomp/92848
4863 * oacc-mem.c (acc_map_data, present_create_copy)
4864 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
4865 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
4866 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
4867 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
4868 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
4869 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
4870 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
4871 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4872 Remove "XFAIL"s.
4873
4874 * target.c (gomp_unmap_tgt): Make it 'static'.
4875 * libgomp.h (gomp_unmap_tgt): Remove.
4876
4877 2019-12-18 Tobias Burnus <tobias (a] codesourcery.com>
4878
4879 PR middle-end/86416
4880 * testsuite/libgomp.c/pr86416-1.c: New.
4881 * testsuite/libgomp.c/pr86416-2.c: New.
4882
4883 2019-12-17 Tobias Burnus <tobias (a] codesourcery.com>
4884
4885 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
4886 all symbols as public except for the 'use , only' imported symbol,
4887 which is private.
4888 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4889 all symbols from module openacc_kinds as PUBLIC
4890 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
4891 fix comment typo.
4892 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
4893
4894 2019-12-13 Julian Brown <julian (a] codesourcery.com>
4895
4896 PR libgomp/92881
4897
4898 * libgomp.h (gomp_remove_var_async): Add prototype.
4899 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
4900 gomp_remove_var.
4901 * target.c (gomp_unref_tgt): Change return type to bool, indicating
4902 whether target_mem_desc was unmapped.
4903 (gomp_unref_tgt_void): New.
4904 (gomp_remove_var): Reimplement in terms of...
4905 (gomp_remove_var_internal): ...this new helper function.
4906 (gomp_remove_var_async): New, implemented using above helper function.
4907 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
4908 gomp_unref_tgt.
4909
4910 2019-12-13 Andrew Stubbs <ams (a] codesourcery.com>
4911
4912 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
4913 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4914 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
4915 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
4916 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
4917 Likewise.
4918 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
4919 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
4920
4921 2019-12-13 Tobias Burnus <tobias (a] codesourcery.com>
4922
4923 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
4924 as public except for the 'use , only' imported symbol, which is
4925 private.
4926 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4927 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
4928 attributes for acc_copyout_finalize and acc_delete_finalize.
4929
4930 2019-12-11 Jakub Jelinek <jakub (a] redhat.com>
4931
4932 PR fortran/92899
4933 * testsuite/libgomp.fortran/atomic1.f90: New test.
4934
4935 2019-12-11 Thomas Schwinge <thomas (a] codesourcery.com>
4936
4937 PR libgomp/92843
4938 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
4939 reference counting for structured 'REFCOUNT_INFINITY'. Add some
4940 assertions.
4941 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
4942 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
4943 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
4944 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4945 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4946
4947 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
4948 * oacc-mem.c: ... here.
4949 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
4950 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
4951 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
4952 Remove.
4953 * libgomp_g.h: Update.
4954
4955 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
4956 * oacc-async.c: ... here.
4957 * oacc-int.h (goacc_wait): Declare.
4958 * libgomp_g.h: Update
4959
4960 PR libgomp/92854
4961 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
4962 New file.
4963 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
4964 Likewise.
4965 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
4966 Likewise.
4967 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
4968 Likewise.
4969 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
4970 Likewise.
4971 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
4972 Likewise.
4973
4974 2019-12-11 Thomas Schwinge <thomas (a] codesourcery.com>
4975 Julian Brown <julian (a] codesourcery.com>
4976
4977 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
4978 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
4979
4980 2019-12-11 Tobias Burnus <tobias (a] codesourcery.com>
4981
4982 * omp_lib.h.in: Fix spelling of function declaration
4983 omp_get_cancell(l)ation.
4984 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
4985 Fix typos.
4986 * env.c: Fix comment typos.
4987 * oacc-host.c: Likewise.
4988 * ordered.c: Likewise.
4989 * task.c: Likewise.
4990 * team.c: Likewise.
4991 * config/gcn/task.c: Likewise.
4992 * config/gcn/team.c: Likewise.
4993 * config/nvptx/task.c: Likewise.
4994 * config/nvptx/team.c: Likewise.
4995 * plugin/plugin-gcn.c: Likewise.
4996 * testsuite/libgomp.fortran/jacobi.f: Likewise.
4997 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4998 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
4999
5000 2019-12-11 Tobias Burnus <tobias (a] codesourcery.com>
5001
5002 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
5003 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
5004 unnecessary 'dg-additional-options "-w"'.
5005
5006 2019-12-09 Thomas Schwinge <thomas (a] codesourcery.com>
5007 Julian Brown <julian (a] codesourcery.com>
5008
5009 PR libgomp/92116
5010 PR libgomp/92877
5011
5012 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
5013 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
5014 Adjust all users.
5015 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5016 Remove XFAIL.
5017 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5018 Likewise.
5019 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
5020
5021 2019-12-09 Thomas Schwinge <thomas (a] codesourcery.com>
5022
5023 PR libgomp/92503
5024 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
5025 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
5026 file.
5027 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
5028 Likewise.
5029 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
5030 Likewise.
5031 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
5032 Likewise.
5033 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5034 Likewise.
5035 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5036 Likewise.
5037 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5038 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5039 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5040 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5041 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5042 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5043 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5044 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5045 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
5046 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
5047
5048 PR libgomp/92840
5049 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
5050 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
5051 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
5052 New file.
5053 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
5054 Likewise.
5055 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
5056 Likewise.
5057 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5058 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
5059
5060 PR libgomp/92511
5061 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
5062 this file...
5063 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
5064 this file...
5065 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
5066 file...
5067 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
5068 file...
5069 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
5070 ... with their content moved into, and extended in this new file.
5071 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
5072 New file.
5073 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
5074 Likewise.
5075 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
5076 Likewise.
5077 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
5078 Likewise.
5079
5080 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
5081
5082 PR libgomp/92854
5083 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
5084
5085 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
5086
5087 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
5088
5089 2019-12-09 Tobias Burnus <tobias (a] codesourcery.com>
5090
5091 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
5092 unique.
5093 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
5094 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
5095 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
5096 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
5097 Ditto.
5098 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
5099 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
5100
5101 2019-12-06 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5102
5103 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
5104
5105 2019-12-06 Tobias Burnus <tobias (a] codesourcery.com>
5106 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5107
5108 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
5109 if input it a NULL pointer.
5110 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
5111 diagnostic of NULL pointer.
5112 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
5113 * testsuite/libgomp.fortran/optional-map.f90: New.
5114 * testsuite/libgomp.fortran/use_device_addr-1.f90
5115 (test_dummy_opt_callee_1_absent): New.
5116 (test_dummy_opt_call_1): Call it.
5117 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5118 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
5119 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5120 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
5121 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
5122 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
5123 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
5124 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
5125 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
5126 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
5127 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
5128 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
5129 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
5130 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
5131 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
5132 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
5133
5134 2019-12-05 Tobias Burnus <tobias (a] codesourcery.com>
5135
5136 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
5137 expect dg-output of 'Error termination.' for GCN.
5138 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5139 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5140
5141 2019-12-04 Jakub Jelinek <jakub (a] redhat.com>
5142
5143 PR fortran/92756
5144 * testsuite/libgomp.fortran/teams1.f90: New test.
5145 * testsuite/libgomp.fortran/teams2.f90: New test.
5146
5147 2019-12-03 Frederik Harwath <frederik (a] codesourcery.com>
5148
5149 * oacc-init.c (acc_known_device_type): Add function.
5150 (unknown_device_type_error): Add function.
5151 (name_of_acc_device_t): Change to call unknown_device_type_error
5152 on unknown type.
5153 (resolve_device): Use acc_known_device_type.
5154 (acc_init): Fail if acc_device_t argument is not valid.
5155 (acc_shutdown): Likewise.
5156 (acc_get_num_devices): Likewise.
5157 (acc_set_device_type): Likewise.
5158 (acc_get_device_num): Likewise.
5159 (acc_set_device_num): Likewise.
5160 (acc_on_device): Add comment that argument validity is not checked.
5161
5162 2019-12-03 Andrew Stubbs <ams (a] codesourcery.com>
5163
5164 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5165 Recognize amdgcn.
5166 (check_effective_target_openacc_amdgcn_accel_present): New proc.
5167 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
5168 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
5169 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5170 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5171
5172 2019-12-03 Szabolcs Nagy <szabolcs.nagy (a] arm.com>
5173
5174 PR libgomp/91938
5175 * configure.tgt: Avoid IE tls on *-*-musl*.
5176
5177 2019-11-29 Tobias Burnus <tobias (a] codesourcery.com>
5178
5179 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
5180 adding a common-block test case.
5181
5182 2019-11-29 Jakub Jelinek <jakub (a] redhat.com>
5183
5184 PR c++/60228
5185 * testsuite/libgomp.c++/udr-20.C: New test.
5186 * testsuite/libgomp.c++/udr-21.C: New test.
5187
5188 2019-11-27 Thomas Schwinge <thomas (a] codesourcery.com>
5189
5190 * testsuite/lib/libgomp.exp
5191 (check_effective_target_offload_target_nvptx): New proc.
5192 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
5193 'dg-skip-if'.
5194 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
5195 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
5196 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
5197
5198 2019-11-21 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
5199
5200 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
5201 * testsuite/libgomp.c/pr39591-2.c: Likewise.
5202 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5203 * testsuite/libgomp.c/private-1.c: Likewise.
5204 * testsuite/libgomp.c/task-1.c: Likewise.
5205 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
5206
5207 2019-11-20 Julian Brown <julian (a] codesourcery.com>
5208
5209 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
5210 aq->mutex here.
5211 (queue_push_launch): Lock aq->mutex before calling
5212 wait_for_queue_nonfull.
5213 (queue_push_callback): Likewise.
5214 (queue_push_asyncwait): Likewise.
5215 (queue_push_placeholder): Likewise.
5216
5217 2019-11-20 Julian Brown <julian (a] codesourcery.com>
5218
5219 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
5220 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
5221 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
5222 return code.
5223
5224 2019-11-20 Julian Brown <julian (a] codesourcery.com>
5225
5226 PR libgomp/92511
5227
5228 * oacc-mem.c (present_create_copy): Fix device pointer return value in
5229 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
5230 in non-present/create case.
5231 (delete_copyout): Change error condition to fail only on copies outside
5232 of mapped block. Adjust error message accordingly.
5233 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
5234 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
5235 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
5236 message.
5237 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5238 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
5239 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5240
5241 2019-11-20 Maciej W. Rozycki <macro (a] wdc.com>
5242
5243 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
5244 libatomic in build-tree testing.
5245
5246 2019-11-18 Maciej W. Rozycki <macro (a] wdc.com>
5247
5248 * testsuite/Makefile.in: Regenerate.
5249
5250 2019-11-15 Andrew Stubbs <ams (a] codesourcery.com>
5251
5252 * testsuite/libgomp.c/target-print-1.c: New file.
5253 * testsuite/libgomp.fortran/target-print-1.f90: New file.
5254 * testsuite/libgomp.oacc-c/print-1.c: New file.
5255 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
5256
5257 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
5258 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5259 Julian Brown <julian (a] codesourcery.com>
5260 Tom de Vries <tom (a] codesourcery.com>
5261
5262 * plugin/Makefrag.am: Add amdgcn plugin support.
5263 * plugin/configfrag.ac: Likewise.
5264 * plugin/plugin-gcn.c: New file.
5265 * configure: Regenerate.
5266 * Makefile.in: Regenerate.
5267 * testsuite/Makefile.in: Regenerate.
5268
5269 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
5270
5271 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
5272 and use team_malloc variants.
5273 (gomp_gcn_exit_kernel): Use team_free.
5274 * libgomp.h (TEAM_ARENA_SIZE): Define.
5275 (TEAM_ARENA_START): Define.
5276 (TEAM_ARENA_FREE): Define.
5277 (TEAM_ARENA_END): Define.
5278 (team_malloc): New function.
5279 (team_malloc_cleared): New function.
5280 (team_free): New function.
5281 * team.c (gomp_new_team): Initialize and use team_malloc.
5282 (free_team): Use team_free.
5283 (gomp_free_thread): Use team_free.
5284 (gomp_pause_host): Use team_free.
5285 * work.c (gomp_init_work_share): Use team_malloc.
5286 (gomp_fini_work_share): Use team_free.
5287
5288 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
5289 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5290 Julian Brown <julian (a] codesourcery.com>
5291 Tom de Vries <tom (a] codesourcery.com>
5292
5293 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
5294 * Makefile.in: Regenerate.
5295 * config.h.in (PLUGIN_GCN): Add new undef.
5296 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
5297 * config/gcn/affinity-fmt.c: New file.
5298 * config/gcn/bar.c: New file.
5299 * config/gcn/bar.h: New file.
5300 * config/gcn/doacross.h: New file.
5301 * config/gcn/icv-device.c: New file.
5302 * config/gcn/oacc-target.c: New file.
5303 * config/gcn/simple-bar.h: New file.
5304 * config/gcn/target.c: New file.
5305 * config/gcn/task.c: New file.
5306 * config/gcn/team.c: New file.
5307 * config/gcn/time.c: New file.
5308 * configure.ac: Add amdgcn*-*-*.
5309 * configure: Regenerate.
5310 * configure.tgt: Add amdgcn*-*-*.
5311 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
5312 * libgomp.h (gcn_thrs): Add amdgcn variant.
5313 (set_gcn_thrs): Likewise.
5314 (gomp_thread): Likewise.
5315 * oacc-int.h (goacc_thread): Likewise.
5316 * oacc-target.c: New file.
5317 * openacc.f90 (acc_device_gcn): New parameter.
5318 * openacc.h (acc_device_t): Add acc_device_gcn.
5319 * team.c (gomp_free_pool_helper): Add amdgcn support.
5320
5321 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
5322 Julian Brown <julian (a] codesourcery.com>
5323
5324 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
5325 parameter.
5326 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
5327 queue constructor.
5328 * oacc-host.c (host_openacc_async_construct): Add device parameter.
5329 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
5330 device parameter.
5331
5332 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
5333
5334 * configure.tgt (nvptx*-*-*): Add "accel" directory.
5335 * config/nvptx/libgomp-plugin.c: Move ...
5336 * config/accel/libgomp-plugin.c: ... to here.
5337 * config/nvptx/lock.c: Move ...
5338 * config/accel/lock.c: ... to here.
5339 * config/nvptx/mutex.c: Move ...
5340 * config/accel/mutex.c: ... to here.
5341 * config/nvptx/mutex.h: Move ...
5342 * config/accel/mutex.h: ... to here.
5343 * config/nvptx/oacc-async.c: Move ...
5344 * config/accel/oacc-async.c: ... to here.
5345 * config/nvptx/oacc-cuda.c: Move ...
5346 * config/accel/oacc-cuda.c: ... to here.
5347 * config/nvptx/oacc-host.c: Move ...
5348 * config/accel/oacc-host.c: ... to here.
5349 * config/nvptx/oacc-init.c: Move ...
5350 * config/accel/oacc-init.c: ... to here.
5351 * config/nvptx/oacc-mem.c: Move ...
5352 * config/accel/oacc-mem.c: ... to here.
5353 * config/nvptx/oacc-plugin.c: Move ...
5354 * config/accel/oacc-plugin.c: ... to here.
5355 * config/nvptx/omp-lock.h: Move ...
5356 * config/accel/omp-lock.h: ... to here.
5357 * config/nvptx/openacc.f90: Move ...
5358 * config/accel/openacc.f90: ... to here.
5359 * config/nvptx/pool.h: Move ...
5360 * config/accel/pool.h: ... to here.
5361 * config/nvptx/proc.c: Move ...
5362 * config/accel/proc.c: ... to here.
5363 * config/nvptx/ptrlock.c: Move ...
5364 * config/accel/ptrlock.c: ... to here.
5365 * config/nvptx/ptrlock.h: Move ...
5366 * config/accel/ptrlock.h: ... to here.
5367 * config/nvptx/sem.c: Move ...
5368 * config/accel/sem.c: ... to here.
5369 * config/nvptx/sem.h: Move ...
5370 * config/accel/sem.h: ... to here.
5371 * config/nvptx/thread-stacksize.h: Move ...
5372 * config/accel/thread-stacksize.h: ... to here.
5373
5374 2019-11-12 Maciej W. Rozycki <macro (a] codesourcery.com>
5375 Tobias Burnus <tobias (a] codesourcery.com>
5376 Frederik Harwath <frederik (a] codesourcery.com>
5377 Thomas Schwinge <thomas (a] codesourcery.com>
5378
5379 libgomp/
5380 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
5381 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
5382 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
5383
5384 2019-11-11 Tobias Burnus <tobias (a] codesourcery.com>
5385 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5386
5387 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
5388 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
5389
5390 2019-11-11 Thomas Schwinge <thomas (a] codesourcery.com>
5391
5392 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
5393
5394 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
5395 run'.
5396 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5397 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
5398
5399 2019-11-06 Thomas Schwinge <thomas (a] codesourcery.com>
5400
5401 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
5402 Add expected warnings about missing reduction clauses.
5403 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5404 Likewise.
5405 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
5406 Likewise.
5407 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
5408 Likewise.
5409
5410 2019-11-04 Tobias Burnus <tobias (a] codesourcery.com>
5411
5412 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
5413 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
5414 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
5415 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5416 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5417 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5418
5419 2019-11-04 Tobias Burnus <tobias (a] codesourcery.com>
5420
5421 PR fortran/92305
5422 * testsuite/libgomp.fortran/allocatable2.f90: Use
5423 unique numbers with 'stop'.
5424 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5425 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5426 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
5427 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
5428 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
5429
5430 2019-11-01 Tobias Burnus <tobias (a] codesourcery.com>
5431
5432 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
5433 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
5434 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5435 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
5436 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
5437 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
5438
5439 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com>
5440
5441 * testsuite/libgomp.fortran/target9.f90: New.
5442
5443 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com>
5444
5445 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
5446 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
5447 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
5448 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
5449 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
5450 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
5451 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
5452 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
5453 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
5454 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
5455 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
5456 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
5457 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
5458 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
5459 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
5460 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
5461 * testsuite/libgomp.fortran/associate1.f90: Ditto.
5462 * testsuite/libgomp.fortran/associate2.f90: Ditto.
5463 * testsuite/libgomp.fortran/associate3.f90: Ditto.
5464 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
5465 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
5466 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
5467 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
5468 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
5469 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
5470 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
5471 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
5472 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
5473 * testsuite/libgomp.fortran/character1.f90: Ditto.
5474 * testsuite/libgomp.fortran/character2.f90: Ditto.
5475 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
5476 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
5477 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
5478 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
5479 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
5480 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
5481 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
5482 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
5483 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
5484 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
5485 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
5486 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
5487 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
5488 * testsuite/libgomp.fortran/do1.f90: Ditto.
5489 * testsuite/libgomp.fortran/do2.f90: Ditto.
5490 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
5491 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
5492 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
5493 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
5494 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
5495 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
5496 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
5497 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
5498 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
5499 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
5500 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
5501 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
5502 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
5503 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
5504 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
5505 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
5506 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
5507 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
5508 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
5509 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
5510 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
5511 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
5512 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
5513 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
5514 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
5515 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
5516 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
5517 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
5518 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
5519 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
5520 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
5521 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
5522 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
5523 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
5524 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
5525 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
5526 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
5527 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
5528 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
5529 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
5530 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
5531 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
5532 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
5533 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
5534 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
5535 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
5536 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
5537 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
5538 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
5539 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5540 * testsuite/libgomp.fortran/lib1.f90: Ditto.
5541 * testsuite/libgomp.fortran/lib4.f90: Ditto.
5542 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
5543 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
5544 * testsuite/libgomp.fortran/nested1.f90: Ditto.
5545 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
5546 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
5547 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
5548 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5549 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
5550 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
5551 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
5552 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
5553 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
5554 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
5555 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
5556 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
5557 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
5558 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
5559 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
5560 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
5561 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
5562 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
5563 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
5564 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
5565 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
5566 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
5567 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
5568 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
5569 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5570 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
5571 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
5572 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
5573 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
5574 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
5575 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5576 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
5577 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
5578 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
5579 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
5580 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5581 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
5582 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
5583 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
5584 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
5585 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
5586 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
5587 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
5588 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
5589 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
5590 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
5591 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
5592 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
5593 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
5594 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
5595 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
5596 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
5597 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
5598 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
5599 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
5600 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
5601 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5602 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
5603 * testsuite/libgomp.fortran/reference1.f90: Ditto.
5604 * testsuite/libgomp.fortran/reference2.f90: Ditto.
5605 * testsuite/libgomp.fortran/retval1.f90: Ditto.
5606 * testsuite/libgomp.fortran/retval2.f90: Ditto.
5607 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
5608 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
5609 * testsuite/libgomp.fortran/simd1.f90: Ditto.
5610 * testsuite/libgomp.fortran/simd2.f90: Ditto.
5611 * testsuite/libgomp.fortran/simd3.f90: Ditto.
5612 * testsuite/libgomp.fortran/simd4.f90: Ditto.
5613 * testsuite/libgomp.fortran/simd5.f90: Ditto.
5614 * testsuite/libgomp.fortran/simd6.f90: Ditto.
5615 * testsuite/libgomp.fortran/simd7.f90: Ditto.
5616 * testsuite/libgomp.fortran/stack.f90: Ditto.
5617 * testsuite/libgomp.fortran/strassen.f90: Ditto.
5618 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
5619 * testsuite/libgomp.fortran/tabs2.f: Ditto.
5620 * testsuite/libgomp.fortran/target1.f90: Ditto.
5621 * testsuite/libgomp.fortran/target2.f90: Ditto.
5622 * testsuite/libgomp.fortran/target3.f90: Ditto.
5623 * testsuite/libgomp.fortran/target4.f90: Ditto.
5624 * testsuite/libgomp.fortran/target5.f90: Ditto.
5625 * testsuite/libgomp.fortran/target6.f90: Ditto.
5626 * testsuite/libgomp.fortran/target7.f90: Ditto.
5627 * testsuite/libgomp.fortran/target8.f90: Ditto.
5628 * testsuite/libgomp.fortran/task1.f90: Ditto.
5629 * testsuite/libgomp.fortran/task2.f90: Ditto.
5630 * testsuite/libgomp.fortran/task3.f90: Ditto.
5631 * testsuite/libgomp.fortran/task4.f90: Ditto.
5632 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5633 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5634 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5635 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5636 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5637 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
5638 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
5639 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
5640 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
5641 * testsuite/libgomp.fortran/udr1.f90: Ditto.
5642 * testsuite/libgomp.fortran/udr10.f90: Ditto.
5643 * testsuite/libgomp.fortran/udr11.f90: Ditto.
5644 * testsuite/libgomp.fortran/udr12.f90: Ditto.
5645 * testsuite/libgomp.fortran/udr13.f90: Ditto.
5646 * testsuite/libgomp.fortran/udr14.f90: Ditto.
5647 * testsuite/libgomp.fortran/udr15.f90: Ditto.
5648 * testsuite/libgomp.fortran/udr2.f90: Ditto.
5649 * testsuite/libgomp.fortran/udr3.f90: Ditto.
5650 * testsuite/libgomp.fortran/udr4.f90: Ditto.
5651 * testsuite/libgomp.fortran/udr5.f90: Ditto.
5652 * testsuite/libgomp.fortran/udr6.f90: Ditto.
5653 * testsuite/libgomp.fortran/udr7.f90: Ditto.
5654 * testsuite/libgomp.fortran/udr8.f90: Ditto.
5655 * testsuite/libgomp.fortran/udr9.f90: Ditto.
5656 * testsuite/libgomp.fortran/vla1.f90: Ditto.
5657 * testsuite/libgomp.fortran/vla2.f90: Ditto.
5658 * testsuite/libgomp.fortran/vla3.f90: Ditto.
5659 * testsuite/libgomp.fortran/vla4.f90: Ditto.
5660 * testsuite/libgomp.fortran/vla5.f90: Ditto.
5661 * testsuite/libgomp.fortran/vla6.f90: Ditto.
5662 * testsuite/libgomp.fortran/vla7.f90: Ditto.
5663 * testsuite/libgomp.fortran/vla8.f90: Ditto.
5664 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5665 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5666
5667 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com>
5668
5669 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
5670 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
5671 Ditto; add 'dg-do run' for torture testing.
5672 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
5673 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5674 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5675 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5676 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5677 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5678 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
5679 * testsuite/libgomp.fortran/task2.f90: Ditto.
5680 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5681 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5682 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5683 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5684 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5685 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5686
5687 2019-10-28 Tobias Burnus <tobias (a] codesourcery.com>
5688
5689 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
5690 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
5691 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
5692 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
5693 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
5694 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
5695 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
5696 Use 'stop' not abort().
5697 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
5698 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
5699 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
5700 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
5701 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
5702 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
5703 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
5704 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
5705 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
5706 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
5707 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
5708 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
5709 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
5710 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
5711 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
5712 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
5713 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
5714 Ditto.
5715 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5716 Ditto.
5717 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5718 Ditto.
5719 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5720 Ditto.
5721 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5722 Ditto.
5723 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
5724 Ditto.
5725 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
5726 Ditto.
5727 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
5728 Ditto.
5729 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
5730 Ditto.
5731 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
5732 Ditto.
5733 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
5734 Ditto.
5735 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
5736 Ditto.
5737 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
5738 Ditto.
5739 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
5740 Ditto.
5741 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
5742 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
5743 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
5744 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
5745 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
5746 Likewise and also add 'dg-do run'.
5747 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
5748 Ditto.
5749
5750 2019-10-25 Cesar Philippidis <cesar (a] codesourcery.com>
5751 Tobias Burnus <tobias (a] codesourcery.com>
5752
5753 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
5754 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
5755 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
5756
5757 2019-10-14 Jakub Jelinek <jakub (a] redhat.com>
5758
5759 PR libgomp/92081
5760 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
5761 than 0.
5762
5763 2019-10-11 Tobias Burnus <tobias (a] codesourcery.com>
5764
5765 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
5766 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
5767
5768 2019-10-09 Thomas Schwinge <thomas (a] codesourcery.com>
5769
5770 PR middle-end/92036
5771 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
5772 file.
5773
5774 2019-10-09 Tobias Burnus <tobias (a] codesourcery.com>
5775
5776 PR testsuite/91884
5777 * testsuite/libgomp.fortran/fortran.exp: Conditionally
5778 add -lquadmath.
5779 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
5780
5781 2019-10-09 Jakub Jelinek <jakub (a] redhat.com>
5782
5783 PR libgomp/92028
5784 * target.c (gomp_map_vars_internal): Readd the previous
5785 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
5786 though do that just in the !not_found_cnt case.
5787
5788 2019-10-08 Tobias Burnus <tobias (a] codesourcery.com>
5789
5790 * gfortran.dg/gomp/target-simd.f90: New.
5791
5792 2019-10-02 Julian Brown <julian (a] codesourcery.com>
5793 Cesar Philippidis <cesar (a] codesourcery.com>
5794
5795 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
5796 * target.c (FIELD_TGT_EMPTY): Define.
5797 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
5798 as switch instead of list of ifs.
5799 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
5800
5801 2019-10-02 Andreas Tobler <andreast (a] gcc.gnu.org>
5802
5803 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
5804 include. Replace alloca () with __builtin_alloca ().
5805 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
5806
5807 2019-10-01 Jakub Jelinek <jakub (a] redhat.com>
5808
5809 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
5810 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
5811 * oacc-parallel.c: Don't include "libgomp_g.h".
5812 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
5813 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
5814 * aclocal.m4: Regenerated.
5815 * config.h.in: Regenerated.
5816 * configure: Regenerated.
5817 * Makefile.in: Regenerated.
5818
5819 2019-09-30 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5820
5821 * libgomp_g.h: Include stdint.h instead of gstdint.h.
5822
5823 2019-09-27 Maciej W. Rozycki <macro (a] wdc.com>
5824
5825 * configure: Regenerate.
5826
5827 2019-09-13 Tobias Burnus <tobias (a] codesourcery.com>
5828
5829 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
5830 string is initialized.
5831
5832 2019-09-06 Florian Weimer <fweimer (a] redhat.com>
5833
5834 * configure: Regenerate.
5835
5836 2019-09-03 Chung-Lin Tang <cltang (a] codesourcery.com>
5837
5838 PR other/79543
5839 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
5840 scanning to conform to the GNU Coding Standards.
5841 * configure: Regenerate.
5842
5843 2019-08-28 Jakub Jelinek <jakub (a] redhat.com>
5844
5845 PR libgomp/91530
5846 * testsuite/libgomp.c/scan-21.c: New test.
5847 * testsuite/libgomp.c/scan-22.c: New test.
5848
5849 2019-08-27 Jakub Jelinek <jakub (a] redhat.com>
5850
5851 PR libgomp/91530
5852 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
5853 targets.
5854 * testsuite/libgomp.c/scan-12.c: Likewise.
5855 * testsuite/libgomp.c/scan-13.c: Likewise.
5856 * testsuite/libgomp.c/scan-14.c: Likewise.
5857 * testsuite/libgomp.c/scan-15.c: Likewise.
5858 * testsuite/libgomp.c/scan-16.c: Likewise.
5859 * testsuite/libgomp.c/scan-17.c: Likewise.
5860 * testsuite/libgomp.c/scan-18.c: Likewise.
5861 * testsuite/libgomp.c/scan-19.c: Likewise.
5862 * testsuite/libgomp.c/scan-20.c: Likewise.
5863 * testsuite/libgomp.c++/scan-9.C: Likewise.
5864 * testsuite/libgomp.c++/scan-10.C: Likewise.
5865 * testsuite/libgomp.c++/scan-11.C: Likewise.
5866 * testsuite/libgomp.c++/scan-12.C: Likewise.
5867 * testsuite/libgomp.c++/scan-14.C: Likewise.
5868 * testsuite/libgomp.c++/scan-15.C: Likewise.
5869 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
5870 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
5871 * testsuite/libgomp.c++/scan-16.C: Likewise.
5872
5873 2019-08-17 Thomas Koenig <tkoenig (a] gcc.gnu.org>
5874
5875 PR fortran/91473
5876 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
5877 -std=legacy so invalid code in the test case is accepted.
5878
5879 2019-08-12 Thomas Koenig <tkoenig (a] gcc.gnu.org>
5880
5881 PR fortran/91422
5882 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
5883 dimension.
5884
5885 2019-08-08 Jakub Jelinek <jakub (a] redhat.com>
5886
5887 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
5888 perform the lookup in the first loop only if !not_found_cnt, otherwise
5889 perform lookups for it in the second loop guarded with
5890 if (not_found_cnt || has_firstprivate).
5891 * testsuite/libgomp.c/target-37.c: New test.
5892 * testsuite/libgomp.c++/target-22.C: New test.
5893
5894 2019-08-07 Jakub Jelinek <jakub (a] redhat.com>
5895
5896 * testsuite/libgomp.c/target-18.c (struct S): New type.
5897 (foo): Use use_device_addr clause instead of use_device_ptr clause
5898 where required by OpenMP 5.0, add further tests for both use_device_ptr
5899 and use_device_addr clauses.
5900 * testsuite/libgomp.c++/target-9.C (struct S): New type.
5901 (foo): Use use_device_addr clause instead of use_device_ptr clause
5902 where required by OpenMP 5.0, add further tests for both use_device_ptr
5903 and use_device_addr clauses. Add t and u arguments.
5904 (main): Adjust caller.
5905
5906 2019-08-06 Jakub Jelinek <jakub (a] redhat.com>
5907
5908 * testsuite/libgomp.c++/loop-13.C: New test.
5909 * testsuite/libgomp.c++/loop-14.C: New test.
5910 * testsuite/libgomp.c++/loop-15.C: New test.
5911
5912 2019-07-31 Jakub Jelinek <jakub (a] redhat.com>
5913
5914 PR middle-end/91301
5915 * testsuite/libgomp.c++/for-27.C: New test.
5916
5917 2019-07-23 Steven G. Kargl <kargl (a] gcc.gnu.org>
5918
5919 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
5920 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5921
5922 2019-07-20 Jakub Jelinek <jakub (a] redhat.com>
5923
5924 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
5925
5926 2019-07-08 Jakub Jelinek <jakub (a] redhat.com>
5927
5928 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
5929 * testsuite/libgomp.c++/scan-16.C: Likewise.
5930
5931 2019-07-06 Jakub Jelinek <jakub (a] redhat.com>
5932
5933 * testsuite/libgomp.c/scan-19.c: New test.
5934 * testsuite/libgomp.c/scan-20.c: New test.
5935
5936 * testsuite/libgomp.c/scan-11.c: New test.
5937 * testsuite/libgomp.c/scan-12.c: New test.
5938 * testsuite/libgomp.c/scan-13.c: New test.
5939 * testsuite/libgomp.c/scan-14.c: New test.
5940 * testsuite/libgomp.c/scan-15.c: New test.
5941 * testsuite/libgomp.c/scan-16.c: New test.
5942 * testsuite/libgomp.c/scan-17.c: New test.
5943 * testsuite/libgomp.c/scan-18.c: New test.
5944 * testsuite/libgomp.c++/scan-9.C: New test.
5945 * testsuite/libgomp.c++/scan-10.C: New test.
5946 * testsuite/libgomp.c++/scan-11.C: New test.
5947 * testsuite/libgomp.c++/scan-12.C: New test.
5948 * testsuite/libgomp.c++/scan-13.C: New test.
5949 * testsuite/libgomp.c++/scan-14.C: New test.
5950 * testsuite/libgomp.c++/scan-15.C: New test.
5951 * testsuite/libgomp.c++/scan-16.C: New test.
5952
5953 2019-07-04 Jakub Jelinek <jakub (a] redhat.com>
5954
5955 * testsuite/libgomp.c/scan-9.c: New test.
5956 * testsuite/libgomp.c/scan-10.c: New test.
5957
5958 2019-07-03 Jakub Jelinek <jakub (a] redhat.com>
5959
5960 * testsuite/libgomp.c++/scan-1.C: New test.
5961 * testsuite/libgomp.c++/scan-2.C: New test.
5962 * testsuite/libgomp.c++/scan-3.C: New test.
5963 * testsuite/libgomp.c++/scan-4.C: New test.
5964 * testsuite/libgomp.c++/scan-5.C: New test.
5965 * testsuite/libgomp.c++/scan-6.C: New test.
5966 * testsuite/libgomp.c++/scan-7.C: New test.
5967 * testsuite/libgomp.c++/scan-8.C: New test.
5968 * testsuite/libgomp.c/scan-1.c: New test.
5969 * testsuite/libgomp.c/scan-2.c: New test.
5970 * testsuite/libgomp.c/scan-3.c: New test.
5971 * testsuite/libgomp.c/scan-4.c: New test.
5972 * testsuite/libgomp.c/scan-5.c: New test.
5973 * testsuite/libgomp.c/scan-6.c: New test.
5974 * testsuite/libgomp.c/scan-7.c: New test.
5975 * testsuite/libgomp.c/scan-8.c: New test.
5976
5977 2019-06-18 Thomas Schwinge <thomas (a] codesourcery.com>
5978
5979 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
5980 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
5981 Likewise.
5982
5983 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
5984 check.
5985
5986 2019-06-18 Cesar Philippidis <cesar (a] codesourcery.com>
5987
5988 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
5989 file.
5990
5991 2019-06-18 Thomas Schwinge <thomas (a] codesourcery.com>
5992
5993 PR fortran/90743
5994 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
5995 case.
5996 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
5997 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
5998 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
5999 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
6000
6001 PR testsuite/90861
6002 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
6003
6004 PR middle-end/90862
6005 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
6006
6007 2019-06-16 Tom de Vries <tdevries (a] suse.de>
6008
6009 PR tree-optimization/89376
6010 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
6011
6012 2019-06-15 Tom de Vries <tdevries (a] suse.de>
6013
6014 PR tree-optimization/89713
6015 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
6016 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
6017
6018 2019-06-15 Jakub Jelinek <jakub (a] redhat.com>
6019
6020 PR middle-end/90779
6021 * testsuite/libgomp.c/pr90779.c: New test.
6022 * testsuite/libgomp.fortran/pr90779.f90: New test.
6023
6024 2019-06-15 Tom de Vries <tdevries (a] suse.de>
6025
6026 PR tree-optimization/90009
6027 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
6028
6029 2019-06-13 Feng Xue <fxue (a] os.amperecomputing.com>
6030
6031 PR tree-optimization/89713
6032 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
6033
6034 2019-06-11 Jakub Jelinek <jakub (a] redhat.com>
6035
6036 PR target/90811
6037 * testsuite/libgomp.c/pr90811.c: New test.
6038
6039 2019-06-05 Jakub Jelinek <jakub (a] redhat.com>
6040
6041 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
6042 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
6043
6044 2019-06-04 Jakub Jelinek <jakub (a] redhat.com>
6045
6046 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
6047 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
6048 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
6049 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
6050
6051 2019-05-30 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6052
6053 * configure.ac: Call AX_COUNT_CPUS.
6054 Substitute CPU_COUNT.
6055 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
6056 count fallback.
6057 * aclocal.m4: Regenerate.
6058 * configure: Regenerate.
6059 * Makefile.in, testsuite/Makefile.in: Regenerate.
6060
6061 2019-05-29 Jakub Jelinek <jakub (a] redhat.com>
6062
6063 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
6064 to ...
6065 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
6066 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
6067 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
6068
6069 2019-05-27 Jakub Jelinek <jakub (a] redhat.com>
6070
6071 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
6072
6073 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
6074
6075 PR libgomp/90641
6076 * work.c (gomp_init_work_share): Instead of aligning final ordered
6077 value to multiples of long long alignment, align to that the
6078 first part (ordered team ids) and if inline_ordered_team_ids
6079 is not on a long long alignment boundary within the structure,
6080 use __alignof__ (long long) - 1 pad size always.
6081 * loop.c (GOMP_loop_start): Fix *mem computation if
6082 inline_ordered_team_ids is not aligned on long long alignment boundary
6083 within the structure.
6084 * loop-ull.c (GOMP_loop_ull_start): Likewise.
6085 * sections.c (GOMP_sections2_start): Likewise.
6086
6087 2019-05-24 Jakub Jelinek <jakub (a] redhat.com>
6088
6089 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
6090 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
6091
6092 PR libgomp/90585
6093 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
6094 HAVE_INTTYPES_H is defined.
6095 (print_uint64_t): New typedef.
6096 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
6097 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
6098 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
6099 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
6100 before casting to void *.
6101 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
6102 * oacc-mem.c: Don't include config.h nor stdint.h.
6103 * target.c: Don't include config.h.
6104 * oacc-cuda.c: Likewise.
6105 * oacc-host.c: Don't include stdint.h.
6106
6107 2019-05-20 Jakub Jelinek <jakub (a] redhat.com>
6108
6109 PR libgomp/90527
6110 * alloc.c (_GNU_SOURCE): Define.
6111
6112 2019-05-17 Thomas Schwinge <thomas (a] codesourcery.com>
6113
6114 * acc_prof.h: New file.
6115 * oacc-profiling.c: Likewise.
6116 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
6117 Add these, respectively.
6118 * Makefile.in: Regenerate.
6119 * env.c (initialize_env): Call goacc_profiling_initialize.
6120 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
6121 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
6122 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
6123 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
6124 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
6125 acc_prof_register, acc_prof_unregister, and acc_register_library.
6126 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
6127 GOMP_PLUGIN_goacc_thread.
6128 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
6129 prof_callbacks_enabled members.
6130 (goacc_prof_enabled, goacc_profiling_initialize)
6131 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
6132 (goacc_profiling_dispatch): Declare.
6133 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
6134 (GOACC_PROFILING_SETUP_P): Define.
6135 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
6136 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
6137 OpenACC Profiling Interface.
6138 * oacc-cuda.c (acc_get_current_cuda_device)
6139 (acc_get_current_cuda_context, acc_get_cuda_stream)
6140 (acc_set_cuda_stream): Likewise.
6141 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
6142 (acc_init, acc_set_device_type, acc_get_device_type)
6143 (acc_get_device_num, goacc_lazy_initialize): Likewise.
6144 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
6145 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
6146 (acc_unmap_data, present_create_copy, delete_copyout)
6147 (update_dev_host): Likewise.
6148 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
6149 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
6150 Likewise.
6151 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
6152 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
6153 Likewise.
6154 * libgomp.texi: Update.
6155 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
6156 file.
6157 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
6158 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
6159 Likewise.
6160 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6161 Likewise.
6162 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
6163 Likewise.
6164 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
6165 Likewise.
6166
6167 2019-05-13 Chung-Lin Tang <cltang (a] codesourcery.com>
6168
6169 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
6170 (struct goacc_asyncqueue_list): Likewise.
6171 (goacc_aq): Likewise.
6172 (goacc_aq_list): Likewise.
6173 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6174 (GOMP_OFFLOAD_openacc_async_test): Remove.
6175 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6176 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6177 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6178 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6179 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6180 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6181 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
6182 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
6183 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
6184 (GOMP_OFFLOAD_openacc_async_exec): Declare.
6185 (GOMP_OFFLOAD_openacc_async_construct): Declare.
6186 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
6187 (GOMP_OFFLOAD_openacc_async_test): Declare.
6188 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
6189 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
6190 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
6191 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
6192 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
6193
6194 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
6195 (gomp_acc_insert_pointer): Adjust declaration.
6196 (gomp_copy_host2dev): New declaration.
6197 (gomp_copy_dev2host): Likewise.
6198 (gomp_map_vars_async): Likewise.
6199 (gomp_unmap_tgt): Likewise.
6200 (gomp_unmap_vars_async): Likewise.
6201 (gomp_fini_device): Likewise.
6202
6203 * oacc-async.c (get_goacc_thread): New function.
6204 (get_goacc_thread_device): New function.
6205 (lookup_goacc_asyncqueue): New function.
6206 (get_goacc_asyncqueue): New function.
6207 (acc_async_test): Adjust code to use new async design.
6208 (acc_async_test_all): Likewise.
6209 (acc_wait): Likewise.
6210 (acc_wait_async): Likewise.
6211 (acc_wait_all): Likewise.
6212 (acc_wait_all_async): Likewise.
6213 (goacc_async_free): New function.
6214 (goacc_init_asyncqueues): Likewise.
6215 (goacc_fini_asyncqueues): Likewise.
6216 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
6217 design.
6218 (acc_set_cuda_stream): Likewise.
6219 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
6220 (host_openacc_register_async_cleanup): Remove.
6221 (host_openacc_async_exec): New function.
6222 (host_openacc_async_test): Adjust parameters.
6223 (host_openacc_async_test_all): Remove.
6224 (host_openacc_async_wait): Remove.
6225 (host_openacc_async_wait_async): Remove.
6226 (host_openacc_async_wait_all): Remove.
6227 (host_openacc_async_wait_all_async): Remove.
6228 (host_openacc_async_set_async): Remove.
6229 (host_openacc_async_synchronize): New function.
6230 (host_openacc_async_serialize): New function.
6231 (host_openacc_async_host2dev): New function.
6232 (host_openacc_async_dev2host): New function.
6233 (host_openacc_async_queue_callback): New function.
6234 (host_openacc_async_construct): New function.
6235 (host_openacc_async_destruct): New function.
6236 (struct gomp_device_descr host_dispatch): Remove initialization of old
6237 interface, add initialization of new async sub-struct.
6238 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
6239 (goacc_attach_host_thread_to_device): Remove old async code usage.
6240 * oacc-int.h (goacc_init_asyncqueues): New declaration.
6241 (goacc_fini_asyncqueues): Likewise.
6242 (goacc_async_copyout_unmap_vars): Likewise.
6243 (goacc_async_free): Likewise.
6244 (get_goacc_asyncqueue): Likewise.
6245 (lookup_goacc_asyncqueue): Likewise.
6246 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
6247 design.
6248 (present_create_copy): Adjust code to use new async design.
6249 (delete_copyout): Likewise.
6250 (update_dev_host): Likewise.
6251 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
6252 async design.
6253 (gomp_acc_remove_pointer): Adjust code to use new async design.
6254 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
6255 design.
6256 (GOACC_enter_exit_data): Likewise.
6257 (goacc_wait): Likewise.
6258 (GOACC_update): Likewise.
6259 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
6260 when called, warn as obsolete in comment.
6261 * target.c (goacc_device_copy_async): New function.
6262 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
6263 add goacc_device_copy_async case.
6264 (gomp_copy_dev2host): Likewise.
6265 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
6266 (gomp_map_pointer): Likewise.
6267 (gomp_map_fields_existing): Likewise.
6268 (gomp_map_vars_internal): New always_inline function, renamed from
6269 gomp_map_vars.
6270 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
6271 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
6272 passing goacc_asyncqueue argument.
6273 (gomp_unmap_tgt): Remove static, add attribute_hidden.
6274 (gomp_unref_tgt): New function.
6275 (gomp_unmap_vars_internal): New always_inline function, renamed from
6276 gomp_unmap_vars.
6277 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
6278 (gomp_unmap_vars_async): Implement by calling
6279 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
6280 (gomp_fini_device): New function.
6281 (gomp_exit_data): Adjust gomp_copy_dev2host call.
6282 (gomp_load_plugin_for_device): Remove old interface, adjust to load
6283 new async interface.
6284 (gomp_target_fini): Adjust code to call gomp_fini_device.
6285
6286 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
6287 (struct ptx_stream): Remove.
6288 (struct nvptx_thread): Remove current_stream field.
6289 (cuda_map_create): Remove.
6290 (cuda_map_destroy): Remove.
6291 (map_init): Remove.
6292 (map_fini): Remove.
6293 (map_pop): Remove.
6294 (map_push): Remove.
6295 (struct goacc_asyncqueue): Define.
6296 (struct nvptx_callback): Define.
6297 (struct ptx_free_block): Define.
6298 (struct ptx_device): Remove null_stream, active_streams, async_streams,
6299 stream_lock, and next fields.
6300 (enum ptx_event_type): Remove.
6301 (struct ptx_event): Remove.
6302 (ptx_event_lock): Remove.
6303 (ptx_events): Remove.
6304 (init_streams_for_device): Remove.
6305 (fini_streams_for_device): Remove.
6306 (select_stream_for_async): Remove.
6307 (nvptx_init): Remove ptx_events and ptx_event_lock references.
6308 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
6309 case.
6310 (nvptx_open_device): Add free_blocks initialization, remove
6311 init_streams_for_device call.
6312 (nvptx_close_device): Remove fini_streams_for_device call, add
6313 free_blocks destruct code.
6314 (event_gc): Remove.
6315 (event_add): Remove.
6316 (nvptx_exec): Adjust parameters and code.
6317 (nvptx_free): Likewise.
6318 (nvptx_host2dev): Remove.
6319 (nvptx_dev2host): Remove.
6320 (nvptx_set_async): Remove.
6321 (nvptx_async_test): Remove.
6322 (nvptx_async_test_all): Remove.
6323 (nvptx_wait): Remove.
6324 (nvptx_wait_async): Remove.
6325 (nvptx_wait_all): Remove.
6326 (nvptx_wait_all_async): Remove.
6327 (nvptx_get_cuda_stream): Remove.
6328 (nvptx_set_cuda_stream): Remove.
6329 (GOMP_OFFLOAD_alloc): Adjust code.
6330 (GOMP_OFFLOAD_free): Likewise.
6331 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6332 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
6333 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6334 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6335 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6336 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6337 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6338 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6339 (cuda_free_argmem): New function.
6340 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
6341 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
6342 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
6343 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
6344 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
6345 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
6346 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
6347 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
6348 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
6349 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
6350 (cuda_callback_wrapper): New function.
6351 (cuda_memcpy_sanity_check): New function.
6352 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
6353 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
6354 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
6355 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
6356
6357 2019-05-07 Thomas Schwinge <thomas (a] codesourcery.com>
6358
6359 PR target/87835
6360 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
6361
6362 2019-05-06 Thomas Schwinge <thomas (a] codesourcery.com>
6363
6364 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
6365
6366 2019-03-27 Kevin Buettner <kevinb (a] redhat.com>
6367
6368 * team.c (gomp_team_start): Initialize pool->threads[0].
6369
6370 2019-02-22 Thomas Schwinge <thomas (a] codesourcery.com>
6371
6372 * testsuite/libgomp.oacc-c++/c++.exp: Specify
6373 "-foffload=$offload_target".
6374 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6375 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6376 * testsuite/lib/libgomp.exp
6377 (check_effective_target_openacc_nvidia_accel_configured): Remove,
6378 as (conceptually) merged into
6379 check_effective_target_openacc_nvidia_accel_selected. Adjust all
6380 users.
6381
6382 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
6383 * testsuite/libgomp-test-support.exp.in: Adjust.
6384 * testsuite/lib/libgomp.exp: Likewise. Don't populate
6385 openacc_device_types_s.
6386 (offload_target_to_openacc_device_type): New proc.
6387 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
6388 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6389 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6390 * Makefile.in: Regenerate.
6391 * configure: Likewise.
6392 * testsuite/Makefile.in: Likewise.
6393
6394 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
6395 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
6396 instead of OFFLOAD_TARGETS.
6397 * target.c (gomp_target_init): Adjust.
6398 * testsuite/libgomp-test-support.exp.in: Likewise.
6399 * testsuite/lib/libgomp.exp: Likewise. Populate
6400 openacc_device_types_s instead of offload_targets_s_openacc.
6401 (check_effective_target_openacc_nvidia_accel_selected)
6402 (check_effective_target_openacc_host_selected): Adjust.
6403 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6404 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6405 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6406 * Makefile.in: Regenerate.
6407 * config.h.in: Likewise.
6408 * configure: Likewise.
6409 * testsuite/Makefile.in: Likewise.
6410
6411 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
6412 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
6413 "offloading: supported, but hardware not accessible".
6414 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6415 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6416
6417 2019-02-19 Chung-Lin Tang <cltang (a] codesourcery.com>
6418
6419 PR c/87924
6420 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
6421 goacc_wait().
6422 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
6423 and related adjustment.
6424
6425 2019-01-30 Jakub Jelinek <jakub (a] redhat.com>
6426
6427 PR c++/88988
6428 * testsuite/libgomp.c++/pr88988.C: New test.
6429
6430 2019-01-28 Jakub Jelinek <jakub (a] redhat.com>
6431
6432 PR middle-end/89002
6433 * testsuite/libgomp.c/pr89002.c: New test.
6434
6435 2019-01-28 Richard Biener <rguenther (a] suse.de>
6436
6437 PR testsuite/89064
6438 PR tree-optimization/86865
6439 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
6440
6441 2019-01-24 Tom de Vries <tdevries (a] suse.de>
6442
6443 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
6444 once instantiated_devices drops to 0.
6445
6446 2019-01-23 Tom de Vries <tdevries (a] suse.de>
6447
6448 PR target/PR88946
6449 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
6450 cuMemFree.
6451 (nvptx_exec): Don't call map_push if mapnum == 0.
6452 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
6453
6454 2019-01-23 Tom de Vries <tdevries (a] suse.de>
6455
6456 PR target/88941
6457 PR target/88939
6458 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
6459 (map_fini): Remove "assert (!s->map->active)".
6460 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
6461
6462 2019-01-23 Tom de Vries <tdevries (a] suse.de>
6463
6464 PR target/87835
6465 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
6466 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
6467
6468 2019-01-15 Tom de Vries <tdevries (a] suse.de>
6469
6470 PR target/80547
6471 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
6472 New test.
6473
6474 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6475
6476 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
6477 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
6478 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
6479 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
6480
6481 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6482
6483 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
6484
6485 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6486
6487 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
6488 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
6489 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
6490
6491 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6492
6493 PR target/85486
6494 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
6495 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
6496
6497 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6498
6499 PR target/85381
6500 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
6501 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
6502
6503 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6504
6505 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
6506 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
6507 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
6508
6509 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6510
6511 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
6512 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
6513 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
6514
6515 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6516
6517 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
6518 resources diagnostic.
6519
6520 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6521
6522 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
6523 vector length to be 128.
6524 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
6525 length 2097152 to be reduced to 1024 instead of 32.
6526
6527 2019-01-11 Thomas Schwinge <thomas (a] codesourcery.com>
6528 James Norris <jnorris (a] codesourcery.com>
6529
6530 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
6531 Library Routines", and "Environment Variables".
6532
6533 2019-01-11 Tom de Vries <tdevries (a] suse.de>
6534
6535 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
6536 num_workers 16.
6537
6538 2019-01-11 Tom de Vries <tdevries (a] suse.de>
6539
6540 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
6541 -foffload=-w.
6542 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
6543 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
6544 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
6545 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
6546
6547 2019-01-11 Tom de Vries <tdevries (a] suse.de>
6548
6549 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
6550 test.
6551
6552 2019-01-10 Nathan Sidwell <nathan (a] acm.org>
6553 Julian Brown <julian (a] codesourcery.com>
6554
6555 PR lto/71959
6556 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
6557 * testsuite/libgomp.oacc-c++/pr71959.C: New.
6558
6559 2019-01-09 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
6560
6561 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
6562 and paste code.
6563
6564 2019-01-09 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
6565
6566 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
6567 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6568 write.
6569
6570 2019-01-09 Tom de Vries <tdevries (a] suse.de>
6571
6572 PR target/88756
6573 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
6574 #define instead of "const int".
6575 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
6576 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
6577 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
6578 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
6579
6580 2019-01-09 Tom de Vries <tdevries (a] suse.de>
6581
6582 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
6583 one worker.
6584
6585 2019-01-07 Tom de Vries <tdevries (a] suse.de>
6586
6587 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
6588 GOMP_OPENACC_DIM argument.
6589
6590 2019-01-03 Tom de Vries <tdevries (a] suse.de>
6591
6592 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
6593 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
6594
6595 2019-01-01 Jakub Jelinek <jakub (a] redhat.com>
6596
6597 Update copyright years.
6598
6599 2019-01-01 Jakub Jelinek <jakub (a] redhat.com>
6600
6601 * libgomp.texi: Bump @copying's copyright year.
6602
6603 2018-12-28 Thomas Schwinge <thomas (a] codesourcery.com>
6604
6605 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
6606 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
6607 (GOACC_declare): Redefine the "device" argument to "flags".
6608
6609 2018-12-28 Thomas Schwinge <thomas (a] codesourcery.com>
6610 Cesar Philippidis <cesar (a] codesourcery.com>
6611
6612 * target.c (struct gomp_coalesce_chunk): New structure.
6613 (struct gomp_coalesce_buf): Update the chunks member to use that
6614 type. Adjust all users.
6615
6616 2018-12-19 Tom de Vries <tdevries (a] suse.de>
6617
6618 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
6619 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
6620 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
6621
6622 2018-12-19 Tom de Vries <tdevries (a] suse.de>
6623
6624 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
6625 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
6626 gcc/testsuite/gcc.dg/goacc.
6627 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
6628
6629 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com>
6630 Chung-Lin Tang <cltang (a] codesourcery.com>
6631
6632 * oacc-mem.c (acc_present_or_create): Remove definition and change
6633 to alias of acc_create.
6634 (acc_present_or_copyin): Remove definition and change to alias of
6635 acc_copyin.
6636 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
6637 of acc_present_or_create.
6638 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
6639 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6640 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6641 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6642 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6643 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6644 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6645 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6646 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6647 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6648 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6649 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6650 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6651 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6652 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6653 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6654
6655 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com>
6656
6657 PR libgomp/88495
6658 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
6659 "identical parameters".
6660 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
6661 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
6662
6663 PR libgomp/88484
6664 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
6665 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
6666
6667 PR libgomp/88407
6668 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
6669 (nvptx_wait_async): Unseen async-argument is a no-op.
6670 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
6671 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
6672 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6673 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6674 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6675 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
6676 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
6677 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
6678 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
6679
6680 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
6681 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6682
6683 2018-12-14 Chung-Lin Tang <cltang (a] codesourcery.com>
6684
6685 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
6686 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6687 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6688
6689 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com>
6690
6691 PR libgomp/88370
6692 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
6693 (acc_set_cuda_stream): Clarify.
6694 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6695 "async_valid_p".
6696 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
6697 acc_async_sync".
6698 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
6699 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
6700 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
6701 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6702
6703 2018-12-14 Tom de Vries <tdevries (a] suse.de>
6704
6705 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
6706 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
6707 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
6708 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
6709 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
6710
6711 2018-12-13 Tom de Vries <tdevries (a] suse.de>
6712
6713 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
6714 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
6715 * fortran.c (omp_display_affinity_): ... here.
6716 * libgomp.h (gomp_print_string): Declare.
6717 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
6718 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6719 write.
6720
6721 2018-12-13 Jakub Jelinek <jakub (a] redhat.com>
6722
6723 PR libgomp/88460
6724 * testsuite/libgomp.c++/for-24.C (results): Include it in
6725 omp declare target region.
6726 (main): Use map (always, tofrom: results) instead of
6727 map (tofrom: results).
6728
6729 2018-12-12 Jakub Jelinek <jakub (a] redhat.com>
6730
6731 PR fortran/88463
6732 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
6733 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
6734
6735 * testsuite/libgomp.c-c++-common/for-16.c: New test.
6736
6737 2018-12-12 Andreas Schwab <schwab (a] suse.de>
6738
6739 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
6740 clobbered.
6741
6742 2018-12-09 Thomas Koenig <tkoenig (a] gcc.gnu.org>
6743
6744 PR fortran/88411
6745 * testsuite/libgomp.fortran/async_io_8.f90: New test.
6746
6747 2018-12-09 Thomas Schwinge <thomas (a] codesourcery.com>
6748 Jakub Jelinek <jakub (a] redhat.com>
6749
6750 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
6751 devicep->host2dev_func.
6752
6753 2018-12-08 Jakub Jelinek <jakub (a] redhat.com>
6754
6755 PR libgomp/87995
6756 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
6757 tls_runtime effective target.
6758 (t): New threadprivate variable.
6759 (main): Set t in threads which execute iterations of the worksharing
6760 loop. Propagate that to the task after the loop and don't abort
6761 if the current taskgroup hasn't been cancelled.
6762
6763 2018-12-02 Jakub Jelinek <jakub (a] redhat.com>
6764
6765 * testsuite/libgomp.c/task-reduction-3.c: New test.
6766
6767 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
6768
6769 2018-11-30 Cesar Philippidis <cesar (a] codesourcery.com>
6770
6771 PR libgomp/88288
6772 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
6773 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
6774
6775 2018-11-30 Thomas Schwinge <thomas (a] codesourcery.com>
6776
6777 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
6778
6779 2018-10-19 Richard Biener <rguenther (a] suse.de>
6780
6781 PR tree-optimization/88182
6782 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
6783
6784 2018-11-26 Jakub Jelinek <jakub (a] redhat.com>
6785
6786 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
6787 (RUNTEST): Don't define.
6788 (RUNTESTDEFAULTFLAGS): Add.
6789 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
6790 (distclean-am): Depend on distclean-DEJAGNU.
6791 (check-am): If -j% option is present in MFLAGS and if
6792 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
6793 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
6794 * testsuite/Makefile.in: Regenerated.
6795
6796 2018-11-26 Richard Biener <rguenther (a] suse.de>
6797
6798 PR tree-optimization/88182
6799 * testsuite/libgomp.c++/pr88182.C: New testcase.
6800
6801 2018-11-20 Jakub Jelinek <jakub (a] redhat.com>
6802
6803 PR bootstrap/88106
6804 * config/mingw32/affinity-fmt.c: New file.
6805
6806 2018-11-09 Jakub Jelinek <jakub (a] redhat.com>
6807
6808 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
6809 (gomp_display_affinity): Use __builtin_choose_expr to handle
6810 properly handle argument having integral, or pointer or some other
6811 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
6812 with uint64_t type instead of %llx and unsigned long long.
6813
6814 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
6815 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
6816
6817 2018-11-08 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6818
6819 * affinity.c: Include <string.h>, <stdio.h>.
6820 (gomp_display_affinity_place): Remove cpusetp.
6821 * teams.c: Include <limits.h>.
6822
6823 2018-11-08 Jakub Jelinek <jakub (a] redhat.com>
6824
6825 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
6826 in_reduction clause for s[0].
6827
6828 * affinity.c (gomp_display_affinity_place): New function.
6829 * affinity-fmt.c: New file.
6830 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
6831 * config/linux/affinity.c (gomp_display_affinity_place): New function.
6832 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
6833 Move these functions to ...
6834 * config/nvptx/teams.c: ... here. New file.
6835 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
6836 New functions.
6837 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
6838 functions.
6839 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
6840 and _aligned_malloc.
6841 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
6842 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
6843 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
6844 gomp_affinity_format_len): New variables.
6845 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
6846 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
6847 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
6848 modifiers. Display (non-default) chunk sizes. Print
6849 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
6850 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
6851 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
6852 * fortran.c: Include stdio.h and string.h.
6853 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
6854 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
6855 (omp_set_affinity_format_, omp_get_affinity_format_,
6856 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
6857 omp_pause_resource_all_): New functions.
6858 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
6859 switch.
6860 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
6861 functions to ...
6862 * teams.c: ... here. New file.
6863 * libgomp_g.h: Include gstdint.h.
6864 (GOMP_loop_nonmonotonic_runtime_start,
6865 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
6866 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
6867 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
6868 GOMP_parallel_loop_nonmonotonic_runtime,
6869 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6870 GOMP_loop_ull_nonmonotonic_runtime_start,
6871 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
6872 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
6873 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6874 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
6875 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
6876 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6877 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6878 GOMP_teams_reg): Declare.
6879 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
6880 gomp_aligned_alloc uses fallback implementation.
6881 (gomp_aligned_alloc, gomp_aligned_free): Declare.
6882 (enum gomp_schedule_type): Add GFS_MONOTONIC.
6883 (struct gomp_doacross_work_share): Add extra field.
6884 (struct gomp_work_share): Add task_reductions field.
6885 (struct gomp_taskgroup): Add workshare and reductions fields.
6886 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
6887 (gomp_thread_handle): New typedef.
6888 (gomp_display_affinity_place, gomp_set_affinity_format,
6889 gomp_display_string, gomp_display_affinity,
6890 gomp_display_affinity_thread): Declare.
6891 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
6892 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
6893 gomp_workshare_task_reduction_register): Declare.
6894 (gomp_team_start): Add taskgroup argument.
6895 (gomp_pause_host): Declare.
6896 (gomp_init_work_share, gomp_work_share_start): Change bool argument
6897 to size_t.
6898 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
6899 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
6900 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
6901 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6902 GOMP_loop_ull_doacross_start,
6903 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6904 GOMP_loop_maybe_nonmonotonic_runtime_next,
6905 GOMP_loop_maybe_nonmonotonic_runtime_start,
6906 GOMP_loop_nonmonotonic_runtime_next,
6907 GOMP_loop_nonmonotonic_runtime_start,
6908 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6909 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6910 GOMP_loop_ull_nonmonotonic_runtime_next,
6911 GOMP_loop_ull_nonmonotonic_runtime_start,
6912 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6913 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
6914 GOMP_taskgroup_reduction_register,
6915 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6916 GOMP_teams_reg and GOMP_taskwait_depend.
6917 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
6918 omp_{capture,display}_affinity{,_}, and
6919 omp_[gs]et_affinity_format{,_}.
6920 * loop.c: Include string.h.
6921 (GOMP_loop_runtime_next): Add ialias.
6922 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6923 (gomp_loop_static_start, gomp_loop_dynamic_start,
6924 gomp_loop_guided_start, gomp_loop_ordered_static_start,
6925 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
6926 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6927 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
6928 or gomp_doacross_init callers.
6929 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
6930 GOMP_loop_doacross_start): New functions.
6931 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
6932 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
6933 Mask off GFS_MONOTONIC bit.
6934 (GOMP_loop_maybe_nonmonotonic_runtime_next,
6935 GOMP_loop_maybe_nonmonotonic_runtime_start,
6936 GOMP_loop_nonmonotonic_runtime_next,
6937 GOMP_loop_nonmonotonic_runtime_start,
6938 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6939 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
6940 functions.
6941 (gomp_parallel_loop_start): Pass NULL as taskgroup to
6942 gomp_team_start.
6943 * loop_ull.c: Include string.h.
6944 (GOMP_loop_ull_runtime_next): Add ialias.
6945 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6946 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
6947 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
6948 gomp_loop_ull_ordered_dynamic_start,
6949 gomp_loop_ull_ordered_guided_start,
6950 gomp_loop_ull_doacross_static_start,
6951 gomp_loop_ull_doacross_dynamic_start,
6952 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
6953 and gomp_doacross_ull_init callers.
6954 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6955 GOMP_loop_ull_doacross_start): New functions.
6956 (GOMP_loop_ull_runtime_start,
6957 GOMP_loop_ull_ordered_runtime_start,
6958 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
6959 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6960 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6961 GOMP_loop_ull_nonmonotonic_runtime_next,
6962 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
6963 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
6964 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
6965 (omp_pause_resource_t, omp_depend_t): New typedefs.
6966 (enum omp_lock_hint_t): Renamed to ...
6967 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
6968 enumerators using numbers and omp_lock_hint_* as their aliases.
6969 (omp_lock_hint_t): New typedef. Rename to ...
6970 (omp_sync_hint_t): ... this.
6971 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
6972 omp_sync_hint_t instead of omp_lock_hint_t.
6973 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6974 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6975 Declare.
6976 (omp_target_is_present, omp_target_disassociate_ptr):
6977 Change first argument from void * to const void *.
6978 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
6979 from void * to const void *.
6980 (omp_target_associate_ptr): Change first and second arguments from
6981 void * to const void *.
6982 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
6983 omp_pause_hard): New parameters.
6984 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6985 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6986 New interfaces.
6987 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
6988 omp_pause_hard): New parameters.
6989 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6990 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6991 New externals.
6992 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
6993 EXTRA argument. If not needed to prepare array, if extra is 0,
6994 clear ws->doacross, otherwise allocate just doacross structure and
6995 extra payload. If array is needed, allocate also extra payload.
6996 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
6997 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
6998 doacross == NULL.
6999 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
7000 gomp_team_start.
7001 (GOMP_parallel): Likewise. Formatting fix.
7002 (GOMP_parallel_reductions): New function.
7003 (GOMP_cancellation_point): If taskgroup has workshare
7004 flag set, check cancelled of prev taskgroup if any.
7005 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
7006 on prev taskgroup if any.
7007 * sections.c: Include string.h.
7008 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7009 (GOMP_sections_start): Adjust gomp_work_share_start caller.
7010 (GOMP_sections2_start): New function.
7011 (GOMP_parallel_sections_start, GOMP_parallel_sections):
7012 Pass NULL as taskgroup to gomp_team_start.
7013 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
7014 gomp_work_share_start callers.
7015 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
7016 If taskgroup has workshare flag set, check cancelled on prev
7017 taskgroup if any. Guard all cancellation tests with
7018 gomp_cancel_var test.
7019 (omp_target_is_present, omp_target_disassociate_ptr):
7020 Change ptr argument from void * to const void *.
7021 (omp_target_memcpy): Change src argument from void * to const void *.
7022 (omp_target_memcpy_rect): Likewise.
7023 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
7024 instead of char * where needed.
7025 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
7026 from void * to const void *.
7027 (omp_pause_resource, omp_pause_resource_all): New functions.
7028 * task.c (gomp_task_handle_depend): Handle new depend array format
7029 in addition to the old. Handle mutexinoutset kinds the same as
7030 inout for now, handle unspecified kinds.
7031 (gomp_create_target_task): If taskgroup has workshare flag set, check
7032 cancelled on prev taskgroup if any. Guard all cancellation tests with
7033 gomp_cancel_var test. Handle new depend array format count in
7034 addition to the old.
7035 (GOMP_task): Likewise. Adjust function comment.
7036 (gomp_task_run_pre): If taskgroup has workshare flag set, check
7037 cancelled on prev taskgroup if any. Guard all cancellation tests with
7038 gomp_cancel_var test.
7039 (GOMP_taskwait_depend): New function.
7040 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
7041 format in addition to the old. Handle mutexinoutset kinds the same as
7042 inout for now, handle unspecified kinds. Fix a function comment typo.
7043 (gomp_taskgroup_init): New function.
7044 (GOMP_taskgroup_start): Use it.
7045 (gomp_reduction_register, gomp_create_artificial_team,
7046 GOMP_taskgroup_reduction_register,
7047 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7048 gomp_parallel_reduction_register,
7049 gomp_workshare_task_reduction_register,
7050 gomp_workshare_taskgroup_start,
7051 GOMP_workshare_task_reduction_unregister): New functions.
7052 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
7053 check cancelled on prev taskgroup if any. Guard all cancellation
7054 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
7055 by calling GOMP_taskgroup_reduction_register.
7056 * team.c (gomp_thread_attr): Remove comment.
7057 (struct gomp_thread_start_data): Add handle field.
7058 (gomp_thread_start): Call pthread_detach.
7059 (gomp_new_team): Adjust gomp_init_work_share caller.
7060 (gomp_free_pool_helper): Call pthread_detach.
7061 (gomp_team_start): Add taskgroup argument, initialize implicit
7062 tasks' taskgroup field to that. Don't call
7063 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
7064 (gomp_team_end): Determine nesting by thr->ts.level != 0
7065 rather than thr->ts.team != NULL.
7066 (gomp_pause_pool_helper, gomp_pause_host): New functions.
7067 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
7068 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
7069 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
7070 if more than 1 allocate also extra payload at the end of array. Never
7071 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
7072 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
7073 return true instead of ws.
7074 * Makefile.in: Regenerated.
7075 * configure: Regenerated.
7076 * config.h.in: Regenerated.
7077 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
7078 in some cases.
7079 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
7080 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
7081 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
7082 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
7083 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
7084 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
7085 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
7086 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
7087 * testsuite/libgomp.c-c++-common/for-10.c: New test.
7088 * testsuite/libgomp.c-c++-common/for-11.c: New test.
7089 * testsuite/libgomp.c-c++-common/for-12.c: New test.
7090 * testsuite/libgomp.c-c++-common/for-13.c: New test.
7091 * testsuite/libgomp.c-c++-common/for-14.c: New test.
7092 * testsuite/libgomp.c-c++-common/for-15.c: New test.
7093 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
7094 define a different N(test), don't define N(f0) to N(f14), but instead
7095 define N(f20) to N(f34) using != comparisons.
7096 * testsuite/libgomp.c-c++-common/for-7.c: New test.
7097 * testsuite/libgomp.c-c++-common/for-8.c: New test.
7098 * testsuite/libgomp.c-c++-common/for-9.c: New test.
7099 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
7100 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
7101 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
7102 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
7103 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
7104 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
7105 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
7106 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
7107 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
7108 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
7109 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
7110 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
7111 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
7112 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
7113 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
7114 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
7115 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
7116 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
7117 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
7118 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
7119 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
7120 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
7121 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
7122 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
7123 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
7124 * testsuite/libgomp.c++/depend-1.C: New test.
7125 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
7126 * testsuite/libgomp.c++/depobj-1.C: New test.
7127 * testsuite/libgomp.c++/for-16.C: New test.
7128 * testsuite/libgomp.c++/for-21.C: New test.
7129 * testsuite/libgomp.c++/for-22.C: New test.
7130 * testsuite/libgomp.c++/for-23.C: New test.
7131 * testsuite/libgomp.c++/for-24.C: New test.
7132 * testsuite/libgomp.c++/for-25.C: New test.
7133 * testsuite/libgomp.c++/for-26.C: New test.
7134 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
7135 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
7136 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
7137 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
7138 * testsuite/libgomp.c++/task-reduction-10.C: New test.
7139 * testsuite/libgomp.c++/task-reduction-11.C: New test.
7140 * testsuite/libgomp.c++/task-reduction-12.C: New test.
7141 * testsuite/libgomp.c++/task-reduction-13.C: New test.
7142 * testsuite/libgomp.c++/task-reduction-14.C: New test.
7143 * testsuite/libgomp.c++/task-reduction-15.C: New test.
7144 * testsuite/libgomp.c++/task-reduction-16.C: New test.
7145 * testsuite/libgomp.c++/task-reduction-17.C: New test.
7146 * testsuite/libgomp.c++/task-reduction-18.C: New test.
7147 * testsuite/libgomp.c++/task-reduction-19.C: New test.
7148 * testsuite/libgomp.c/task-reduction-1.c: New test.
7149 * testsuite/libgomp.c++/task-reduction-1.C: New test.
7150 * testsuite/libgomp.c/task-reduction-2.c: New test.
7151 * testsuite/libgomp.c++/task-reduction-2.C: New test.
7152 * testsuite/libgomp.c++/task-reduction-3.C: New test.
7153 * testsuite/libgomp.c++/task-reduction-4.C: New test.
7154 * testsuite/libgomp.c++/task-reduction-5.C: New test.
7155 * testsuite/libgomp.c++/task-reduction-6.C: New test.
7156 * testsuite/libgomp.c++/task-reduction-7.C: New test.
7157 * testsuite/libgomp.c++/task-reduction-8.C: New test.
7158 * testsuite/libgomp.c++/task-reduction-9.C: New test.
7159 * testsuite/libgomp.c/teams-1.c: New test.
7160 * testsuite/libgomp.c/teams-2.c: New test.
7161 * testsuite/libgomp.c/thread-limit-4.c: New test.
7162 * testsuite/libgomp.c/thread-limit-5.c: New test.
7163 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
7164
7165 2018-11-06 Chung-Lin Tang <cltang (a] codesourcery.com>
7166
7167 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
7168 acc_memcpy_to/from_device functions, now with async parameter.
7169 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
7170 (acc_memcpy_from_device): Likewise.
7171 (acc_memcpy_to_device_async): New API function.
7172 (acc_memcpy_from_device_async): Likewise.
7173 (present_create_copy): Add async parameter and async setting/unsetting.
7174 (acc_create): Adjust present_create_copy call.
7175 (acc_copyin): Likewise.
7176 (acc_present_or_create): Likewise.
7177 (acc_present_or_copyin): Likewise.
7178 (acc_create_async): New API function.
7179 (acc_copyin_async): New API function.
7180 (delete_copyout): Add async parameter and async setting/unsetting.
7181 (acc_delete): Adjust delete_copyout call.
7182 (acc_copyout): Likewise.
7183 (acc_delete_async): New API function.
7184 (acc_copyout_async): Likewise.
7185 (update_dev_host): Add async parameter and async setting/unsetting.
7186 (acc_update_device): Adjust update_dev_host call.
7187 (acc_update_self): Likewise.
7188 (acc_update_device_async): New API function.
7189 (acc_update_self_async): Likewise.
7190 * openacc.h (acc_copyin_async): Declare new API function.
7191 (acc_create_async): Likewise.
7192 (acc_copyout_async): Likewise.
7193 (acc_delete_async): Likewise.
7194 (acc_update_device_async): Likewise.
7195 (acc_update_self_async): Likewise.
7196 (acc_memcpy_to_device_async): Likewise.
7197 (acc_memcpy_from_device_async): Likewise.
7198 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
7199 (acc_copyin_async_64_h): New subroutine.
7200 (acc_copyin_async_array_h): New subroutine.
7201 (acc_create_async_32_h): New subroutine.
7202 (acc_create_async_64_h): New subroutine.
7203 (acc_create_async_array_h): New subroutine.
7204 (acc_copyout_async_32_h): New subroutine.
7205 (acc_copyout_async_64_h): New subroutine.
7206 (acc_copyout_async_array_h): New subroutine.
7207 (acc_delete_async_32_h): New subroutine.
7208 (acc_delete_async_64_h): New subroutine.
7209 (acc_delete_async_array_h): New subroutine.
7210 (acc_update_device_async_32_h): New subroutine.
7211 (acc_update_device_async_64_h): New subroutine.
7212 (acc_update_device_async_array_h): New subroutine.
7213 (acc_update_self_async_32_h): New subroutine.
7214 (acc_update_self_async_64_h): New subroutine.
7215 (acc_update_self_async_array_h): New subroutine.
7216 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
7217 (acc_copyin_async_64_h): New subroutine.
7218 (acc_copyin_async_array_h): New subroutine.
7219 (acc_create_async_32_h): New subroutine.
7220 (acc_create_async_64_h): New subroutine.
7221 (acc_create_async_array_h): New subroutine.
7222 (acc_copyout_async_32_h): New subroutine.
7223 (acc_copyout_async_64_h): New subroutine.
7224 (acc_copyout_async_array_h): New subroutine.
7225 (acc_delete_async_32_h): New subroutine.
7226 (acc_delete_async_64_h): New subroutine.
7227 (acc_delete_async_array_h): New subroutine.
7228 (acc_update_device_async_32_h): New subroutine.
7229 (acc_update_device_async_64_h): New subroutine.
7230 (acc_update_device_async_array_h): New subroutine.
7231 (acc_update_self_async_32_h): New subroutine.
7232 (acc_update_self_async_64_h): New subroutine.
7233 (acc_update_self_async_array_h): New subroutine.
7234 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
7235 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
7236 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
7237 acc_memcpy_to_device_async*, acc_update_device_async*, and
7238 acc_update_self_async* entries.
7239 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
7240 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
7241 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
7242
7243 2018-10-31 Joseph Myers <joseph (a] codesourcery.com>
7244
7245 PR bootstrap/82856
7246 * Makefile.am: Include multilib.am
7247 (AUTOMAKE_OPTIONS): Add info-in-builddir.
7248 (CLEANFILES): Remove libgomp.info.
7249 * configure.ac: Remove AC_PREREQ.
7250 * testsuite/Makefile.am (RUNTEST): Remove quotes.
7251 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
7252 Regenerate.
7253
7254 2018-10-29 Joseph Myers <joseph (a] codesourcery.com>
7255 Julian Brown <julian (a] codesourcery.com>
7256
7257 * testsuite/libgomp.oacc-c++/this.C: New.
7258
7259 2018-09-18 Cesar Philippidis <cesar (a] codesourcery.com>
7260
7261 * plugin/plugin-nvptx.c (struct cuda_map): New.
7262 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
7263 h_tail with (cuda_map *) map.
7264 (cuda_map_create): New function.
7265 (cuda_map_destroy): New function.
7266 (map_init): Update to use a linked list of cuda_map objects.
7267 (map_fini): Likewise.
7268 (map_pop): Likewise.
7269 (map_push): Likewise. Return CUdeviceptr instead of void.
7270 (init_streams_for_device): Remove stales references to ptx_stream
7271 members.
7272 (select_stream_for_async): Likewise.
7273 (nvptx_exec): Update call to map_init.
7274
7275 2018-09-09 Cesar Philippidis <cesar (a] codesourcery.com>
7276 Julian Brown <julian (a] codesourcery.com>
7277
7278 PR middle-end/86336
7279 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
7280
7281 2018-08-21 Nicolas Koenig <koenigni (a] gcc.gnu.org>
7282 Thomas Koenig <tkoenig (a] gcc.gnu.org>
7283
7284 PR fortran/25829
7285 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7286 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7287 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7288 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7289 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7290 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7291 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7292
7293 2018-08-13 Cesar Philippidis <cesar (a] codesourcery.com>
7294 Tom de Vries <tdevries (a] suse.de>
7295
7296 PR target/85590
7297 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
7298 (cuOccupancyMaxPotentialBlockSize): Declare.
7299 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
7300 CUDA_ONE_CALL_MAYBE_NULL.
7301 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
7302 CUoccupancyB2DSize and declare
7303 cuOccupancyMaxPotentialBlockSize.
7304 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
7305 default num_gangs and num_workers when the driver supports it.
7306
7307 2018-08-08 Tom de Vries <tdevries (a] suse.de>
7308
7309 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
7310 CUDA_ONE_CALL_MAYBE_NULL.
7311 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
7312 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
7313 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
7314 are not found.
7315
7316 2018-08-08 Tom de Vries <tdevries (a] suse.de>
7317
7318 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
7319 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
7320 present.
7321
7322 2018-08-08 Tom de Vries <tdevries (a] suse.de>
7323
7324 * plugin/plugin-nvptx.c
7325 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
7326 (nvptx_open_device): Use
7327 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
7328
7329 2018-08-08 Tom de Vries <tdevries (a] suse.de>
7330
7331 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
7332 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
7333
7334 2018-08-07 Tom de Vries <tdevries (a] suse.de>
7335
7336 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
7337 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
7338 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
7339 corresponding call in CUDA_ONE_CALL. Add def/undef of
7340 CUDA_ONE_CALL_MAYBE_NULL.
7341 (CUDA_CALL_EXISTS): Define.
7342
7343 2018-08-07 Tom de Vries <tdevries (a] suse.de>
7344
7345 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
7346 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
7347 corresponding undefs right after.
7348
7349 2018-08-04 Tom de Vries <tdevries (a] suse.de>
7350
7351 * plugin/configfrag.ac: For --without-cuda-driver, set
7352 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
7353 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
7354 * configure: Regenerate.
7355
7356 2018-08-02 Tom de Vries <tdevries (a] suse.de>
7357
7358 PR target/86660
7359 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
7360 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
7361 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
7362 Same.
7363 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
7364 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
7365 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
7366
7367 2018-08-01 Cesar Philippidis <cesar (a] codesourcery.com>
7368 Thomas Schwinge <thomas (a] codesourcery.com>
7369
7370 * config/nvptx/oacc-parallel.c: Truncate.
7371
7372 2018-08-01 Cesar Philippidis <cesar (a] codesourcery.com>
7373 James Norris <jnorris (a] codesourcery.com>
7374
7375 * plugin/plugin-nvptx.c (struct map): Removed.
7376 (map_init, map_pop): Remove use of struct map.
7377 (map_push): Likewise and change argument list.
7378 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
7379
7380 2018-08-01 Tom de Vries <tdevries (a] suse.de>
7381
7382 * plugin/cuda-lib.def: New file. Factor out of ...
7383 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
7384 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
7385 using CUDA_CALLS.
7386
7387 2018-07-31 Andre Vieira <andre.simoesdiasvieira (a] arm.com>
7388
7389 Revert 'AsyncI/O patch committed'.
7390 2018-07-25 Nicolas Koenig <koenigni (a] gcc.gnu.org>
7391 Thomas Koenig <tkoenig (a] gcc.gnu.org>
7392
7393 PR fortran/25829
7394 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7395 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7396 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7397 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7398 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7399 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7400 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7401
7402 2018-07-30 Tom de Vries <tdevries (a] suse.de>
7403
7404 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
7405 (nvptx_exec): Ensure worker and vector default dims don't exceed
7406 targ_fn->max_threads_per_block.
7407
7408 2018-07-30 Tom de Vries <tdevries (a] suse.de>
7409
7410 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
7411 (nvptx_open_device): Init default_dims for device.
7412 (nvptx_exec): Use default_dims from device.
7413
7414 2018-07-26 Jakub Jelinek <jakub (a] redhat.com>
7415
7416 PR testsuite/86660
7417 * testsuite/libgomp.c++/for-15.C (results): Include it in
7418 omp declare target region.
7419 (main): Use map (always, tofrom: results) instead of
7420 map (tofrom: results).
7421
7422 PR middle-end/86660
7423 * testsuite/libgomp.c/pr86660.c: New test.
7424
7425 2018-07-26 Cesar Philippidis <cesar (a] codesourcery.com>
7426 Tom de Vries <tdevries (a] suse.de>
7427
7428 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
7429 sufficient resources to launch a kernel, and give a hint on how to fix
7430 it.
7431
7432 2018-07-26 Cesar Philippidis <cesar (a] codesourcery.com>
7433 Tom de Vries <tdevries (a] suse.de>
7434
7435 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
7436 max_threads_per_block and max_threads_per_multiprocessor fields.
7437 (nvptx_open_device): Initialize new fields.
7438 (nvptx_exec): Use num_sms, and new fields.
7439
7440 2018-07-26 Tom de Vries <tdevries (a] suse.de>
7441
7442 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
7443 to correct locations. Remove xfail.
7444
7445 2018-07-26 Tom de Vries <tdevries (a] suse.de>
7446
7447 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
7448 acc_wait. Move acc_async_test calls to correct locations. Remove
7449 xfail.
7450
7451 2018-07-25 Nicolas Koenig <koenigni (a] gcc.gnu.org>
7452 Thomas Koenig <tkoenig (a] gcc.gnu.org>
7453
7454 PR fortran/25829
7455 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7456 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7457 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7458 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7459 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7460 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7461 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7462
7463 2018-07-17 Jakub Jelinek <jakub (a] redhat.com>
7464
7465 PR middle-end/86542
7466 * testsuite/libgomp.c++/pr86542.C: New test.
7467
7468 PR middle-end/86539
7469 * testsuite/libgomp.c++/pr86539.C: New test.
7470
7471 2018-07-11 Jakub Jelinek <jakub (a] redhat.com>
7472
7473 PR c++/86443
7474 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
7475 (results): Make sure the variable is not inside declare target region.
7476 (qux): Remove unused function.
7477
7478 2018-07-10 Jakub Jelinek <jakub (a] redhat.com>
7479
7480 PR c++/86443
7481 * testsuite/libgomp.c++/for-15.C: New test.
7482
7483 2018-06-26 Jakub Jelinek <jakub (a] redhat.com>
7484
7485 PR c++/86291
7486 * testsuite/libgomp.c++/pr86291.C: New test.
7487
7488 2018-06-24 Gerald Pfeifer <gerald (a] pfeifer.com>
7489
7490 * libgomp.texi (Top): Move www.openmp.org to https.
7491 (Enabling OpenMP): Ditto.
7492 (omp_get_active_level): Ditto.
7493 (omp_get_ancestor_thread_num): Ditto.
7494 (omp_get_cancellation): Ditto.
7495 (omp_get_default_device): Ditto.
7496 (omp_get_dynamic): Ditto.
7497 (omp_get_level): Ditto.
7498 (omp_get_max_active_levels): Ditto.
7499 (omp_get_max_task_priority): Ditto.
7500 (omp_get_max_threads): Ditto.
7501 (omp_get_nested): Ditto.
7502 (omp_get_num_devices): Ditto.
7503 (omp_get_num_procs): Ditto.
7504 (omp_get_num_teams): Ditto.
7505 (omp_get_num_threads): Ditto.
7506 (omp_get_proc_bind): Ditto.
7507 (omp_get_schedule): Ditto.
7508 (omp_get_team_num): Ditto.
7509 (omp_get_team_size): Ditto.
7510 (omp_get_thread_limit): Ditto.
7511 (omp_get_thread_num): Ditto.
7512 (omp_in_parallel): Ditto.
7513 (omp_in_final): Ditto.
7514 (omp_is_initial_device): Ditto.
7515 (omp_set_default_device): Ditto.
7516 (omp_set_dynamic): Ditto.
7517 (omp_set_max_active_levels): Ditto.
7518 (omp_set_nested): Ditto.
7519 (omp_set_num_threads): Ditto.
7520 (omp_set_schedule): Ditto.
7521 (omp_init_lock): Ditto.
7522 (omp_set_lock): Ditto.
7523 (omp_test_lock): Ditto.
7524 (omp_unset_lock): Ditto.
7525 (omp_destroy_lock): Ditto.
7526 (omp_init_nest_lock): Ditto.
7527 (omp_set_nest_lock): Ditto.
7528 (omp_test_nest_lock): Ditto.
7529 (omp_unset_nest_lock): Ditto.
7530 (omp_destroy_nest_lock): Ditto.
7531 (omp_get_wtick): Ditto.
7532 (omp_get_wtime): Ditto.
7533 (OMP_CANCELLATION): Ditto.
7534 (OMP_DISPLAY_ENV): Ditto.
7535 (OMP_DEFAULT_DEVICE): Ditto.
7536 (OMP_DYNAMIC): Ditto.
7537 (OMP_MAX_ACTIVE_LEVELS): Ditto.
7538 (OMP_MAX_TASK_PRIORITY): Ditto.
7539 (OMP_NESTED): Ditto.
7540 (OMP_NUM_THREADS): Ditto.
7541 (OMP_PROC_BIND): Ditto.
7542 (OMP_PLACES): Ditto.
7543 (OMP_STACKSIZE): Ditto.
7544 (OMP_SCHEDULE): Ditto.
7545 (OMP_THREAD_LIMIT): Ditto.
7546 (OMP_WAIT_POLICY): Ditto.
7547
7548 2018-06-22 Cesar Philippidis <cesar (a] codesourcery.com>
7549 James Norris <jnorris (a] codesourcery.com>
7550 Julian Brown <julian (a] codesourcery.com>
7551 Thomas Schwinge <thomas (a] codesourcery.com>
7552 Tom de Vries <tom (a] codesourcery.com>
7553
7554 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
7555 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
7556 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
7557 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
7558 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7559 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7560 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
7561 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
7562 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
7563 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
7564 Likewise.
7565 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7566 Likewise.
7567 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7568 Likewise.
7569 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
7570 Likewise.
7571 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
7572 Likewise.
7573 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7574 Likewise.
7575 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
7576 Likewise.
7577 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
7578 Likewise.
7579 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
7580 Likewise.
7581 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
7582 Likewise.
7583 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
7584 Likewise.
7585 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
7586 Likewise.
7587 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
7588 Likewise.
7589 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
7590 Likewise.
7591 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
7592 Likewise.
7593 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
7594 Likewise.
7595 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
7596 Likewise.
7597 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
7598 Likewise.
7599 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
7600 Likewise.
7601 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
7602 Likewise.
7603 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
7604 Likewise.
7605 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
7606 Likewise.
7607 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
7608 Likewise.
7609 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
7610 Likewise.
7611 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
7612 Likewise.
7613 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
7614 Likewise.
7615 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
7616 Likewise.
7617 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
7618 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
7619 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
7620 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
7621 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
7622 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
7623 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
7624 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
7625 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
7626 Likewise.
7627 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
7628 Likewise.
7629 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
7630 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
7631 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
7632 Likewise.
7633 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
7634 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
7635 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
7636 Likewise.
7637 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
7638 Likewise.
7639 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
7640 Likewise.
7641 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
7642 Likewise.
7643 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
7644 Likewise.
7645 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
7646 Likewise.
7647 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
7648 Likewise.
7649 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
7650 Likewise.
7651 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
7652 Likewise.
7653 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
7654 Likewise.
7655 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
7656 Likewise.
7657 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
7658 Likewise.
7659 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
7660 Likewise.
7661 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
7662 Likewise.
7663 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
7664 Likewise.
7665 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
7666 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
7667 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
7668 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
7669 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
7670 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
7671 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
7672
7673 2018-06-20 Chung-Lin Tang <cltang (a] codesourcery.com>
7674 Thomas Schwinge <thomas (a] codesourcery.com>
7675 Cesar Philippidis <cesar (a] codesourcery.com>
7676
7677 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
7678 (gomp_acc_remove_pointer): Update declaration.
7679 (gomp_acc_declare_allocate): Declare.
7680 (gomp_remove_var): Declare.
7681 * libgomp.map (OACC_2.5): Define.
7682 * oacc-mem.c (acc_map_data): Update refcount.
7683 (acc_unmap_data): Likewise.
7684 (present_create_copy): Likewise.
7685 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
7686 (acc_copyin): Likewise.
7687 (FLAG_FINALIZE): Define.
7688 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
7689 (acc_delete_finalize): New function.
7690 (acc_delete_finalize_async): New function.
7691 (acc_copyout_finalize): New function.
7692 (acc_copyout_finalize_async): New function.
7693 (gomp_acc_insert_pointer): Update refcounts.
7694 (gomp_acc_remove_pointer): Return if data is not present on the
7695 accelerator.
7696 * oacc-parallel.c (find_pset): Rename to find_pointer.
7697 (find_pointer): Add support for GOMP_MAP_POINTER.
7698 (handle_ftn_pointers): New function.
7699 (GOACC_parallel_keyed): Update refcounts of variables.
7700 (GOACC_enter_exit_data): Add support for finalized data mappings.
7701 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
7702 of fortran arrays.
7703 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
7704 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
7705 for GOMP_MAP_FORCE_FROM.
7706 * openacc.f90 (module openacc_internal): Add
7707 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
7708 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
7709 acc_copyout_finalize and acc_delete_finalize.
7710 (acc_copyout_finalize_32_h): New subroutine.
7711 (acc_copyout_finalize_64_h): New subroutine.
7712 (acc_copyout_finalize_array_h): New subroutine.
7713 (acc_delete_finalize_32_h): New subroutine.
7714 (acc_delete_finalize_64_h): New subroutine.
7715 (acc_delete_finalize_array_h): New subroutine.
7716 * openacc.h (acc_copyout_finalize): Declare.
7717 (acc_copyout_finalize_async): Declare.
7718 (acc_delete_finalize): Declare.
7719 (acc_delete_finalize_async): Declare.
7720 * openacc_lib.h (acc_copyout_finalize): New interface.
7721 (acc_delete_finalize): New interface.
7722 * target.c (gomp_map_vars): Update dynamic_refcount.
7723 (gomp_remove_var): New function.
7724 (gomp_unmap_vars): Use it.
7725 (gomp_unload_image_from_device): Likewise.
7726 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
7727 case to utilize OpenACC 2.5 data clause semantics.
7728 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7729 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7730 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7731 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7732 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7733 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7734 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7735 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7736 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7737 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7738 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7739 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
7740 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
7741 utilize OpenACC 2.5 data clause semantics.
7742 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7743 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7744 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7745 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7746 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7747 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7748 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7749 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7750 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7751
7752 2018-05-21 Janus Weil <janus (a] gcc.gnu.org>
7753
7754 PR fortran/85841
7755 PR testsuite/85865
7756 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
7757 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
7758 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
7759 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
7760 * testsuite/libgomp.fortran/task2.f90: Ditto.
7761 * testsuite/libgomp.fortran/vla1.f90: Ditto.
7762 * testsuite/libgomp.fortran/vla2.f90: Ditto.
7763 * testsuite/libgomp.fortran/vla3.f90: Ditto.
7764 * testsuite/libgomp.fortran/vla4.f90: Ditto.
7765 * testsuite/libgomp.fortran/vla5.f90: Ditto.
7766 * testsuite/libgomp.fortran/vla6.f90: Ditto.
7767 * testsuite/libgomp.fortran/vla8.f90: Ditto.
7768 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
7769 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
7770
7771 2018-05-18 Cesar Philippidis <cesar (a] codesourcery.com>
7772
7773 PR c++/85782
7774 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
7775
7776 2018-05-09 Tom de Vries <tom (a] codesourcery.com>
7777
7778 PR libgomp/82901
7779 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
7780 to GOACC_enter_exit_data.
7781
7782 2018-05-09 Tom de Vries <tom (a] codesourcery.com>
7783
7784 PR libgomp/83792
7785 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
7786 (async_synchronous_p): New function.
7787 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
7788 async_valid_p.
7789 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
7790 async_valid_stream_id_p.
7791 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
7792 * oacc-parallel.c (GOACC_parallel_keyed): Same.
7793
7794 2018-05-07 Tom de Vries <tom (a] codesourcery.com>
7795
7796 PR testsuite/85677
7797 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
7798 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
7799
7800 2018-05-03 Tom de Vries <tom (a] codesourcery.com>
7801
7802 PR testsuite/85106
7803 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
7804 extra_tool_flags if it contains an -foffload=-fdump-* flag.
7805 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
7806 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
7807
7808 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
7809
7810 PR libgomp/85411
7811 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
7812 GOMP_OPENACC_DIM ...
7813 * env.c (parse_gomp_openacc_dim): ... here. New function.
7814 (initialize_env): Call parse_gomp_openacc_dim.
7815 (goacc_default_dims): Define.
7816 * libgomp.h (goacc_default_dims): Declare.
7817 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
7818 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
7819 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
7820 GOMP_PLUGIN_acc_default_dim.
7821 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
7822 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
7823
7824 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
7825
7826 PR testsuite/83791
7827 * testsuite/libgomp.c++/udr-9.C: Update.
7828 * testsuite/libgomp.c++/atomic-16.C: Remove.
7829 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
7830 * testsuite/libgomp.c++/loop-13.C: Remove.
7831 * testsuite/libgomp.c++/loop-14.C: Remove.
7832 * testsuite/libgomp.c++/loop-15.C: Remove.
7833 * testsuite/libgomp.c++/monotonic-1.C: Remove.
7834 * testsuite/libgomp.c++/monotonic-2.C: Remove.
7835 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
7836 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
7837 * testsuite/libgomp.c++/ordered-1.C: Remove.
7838 * testsuite/libgomp.c++/pr45784.C: Remove.
7839 * testsuite/libgomp.c++/pr64824.C: Remove.
7840 * testsuite/libgomp.c++/pr64868.C: Remove.
7841 * testsuite/libgomp.c++/pr66199-1.C: Remove.
7842 * testsuite/libgomp.c++/pr66199-2.C: Remove.
7843 * testsuite/libgomp.c++/pr66199-3.C: Remove.
7844 * testsuite/libgomp.c++/pr66199-4.C: Remove.
7845 * testsuite/libgomp.c++/pr66199-5.C: Remove.
7846 * testsuite/libgomp.c++/pr66199-6.C: Remove.
7847 * testsuite/libgomp.c++/pr66199-7.C: Remove.
7848 * testsuite/libgomp.c++/pr66199-8.C: Remove.
7849 * testsuite/libgomp.c++/pr66199-9.C: Remove.
7850 * testsuite/libgomp.c++/pr69389.C: Remove.
7851 * testsuite/libgomp.c++/simd10.C: Remove.
7852 * testsuite/libgomp.c++/simd11.C: Remove.
7853 * testsuite/libgomp.c++/simd12.C: Remove.
7854 * testsuite/libgomp.c++/simd13.C: Remove.
7855 * testsuite/libgomp.c++/target-1.C: Remove.
7856 * testsuite/libgomp.c++/target-3.C: Remove.
7857 * testsuite/libgomp.c++/target-4.C: Remove.
7858 * testsuite/libgomp.c++/target-5.C: Remove.
7859 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
7860 * testsuite/libgomp.c++/taskloop-1.C: Remove.
7861 * testsuite/libgomp.c++/taskloop-2.C: Remove.
7862 * testsuite/libgomp.c++/taskloop-3.C: Remove.
7863 * testsuite/libgomp.c++/taskloop-4.C: Remove.
7864 * testsuite/libgomp.c++/udr-9.C: Remove.
7865 * testsuite/libgomp.c++/for-10.C: Remove.
7866 * testsuite/libgomp.c++/for-11.C: Remove.
7867 * testsuite/libgomp.c++/for-12.C: Remove.
7868 * testsuite/libgomp.c++/for-13.C: Remove.
7869 * testsuite/libgomp.c++/for-14.C: Remove.
7870 * testsuite/libgomp.c++/for-9.C: Remove.
7871 * testsuite/libgomp.c/atomic-18.c: Move ...
7872 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
7873 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
7874 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
7875 * testsuite/libgomp.c/loop-13.c: Move ...
7876 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
7877 * testsuite/libgomp.c/loop-14.c: Move ...
7878 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
7879 * testsuite/libgomp.c/loop-15.c: Remove.
7880 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
7881 * testsuite/libgomp.c/monotonic-1.c: Move ...
7882 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
7883 * testsuite/libgomp.c/monotonic-2.c: Move ...
7884 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
7885 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
7886 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
7887 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
7888 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
7889 * testsuite/libgomp.c/ordered-4.c: Move ...
7890 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
7891 * testsuite/libgomp.c/pr45784.c: Move ...
7892 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
7893 * testsuite/libgomp.c/pr64824.c: Move ...
7894 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
7895 * testsuite/libgomp.c/pr64868.c: Move ...
7896 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
7897 * testsuite/libgomp.c/pr66199-1.c: Move ...
7898 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
7899 * testsuite/libgomp.c/pr66199-2.c: Move ...
7900 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
7901 * testsuite/libgomp.c/pr66199-3.c: Move ...
7902 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
7903 * testsuite/libgomp.c/pr66199-4.c: Move ...
7904 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
7905 * testsuite/libgomp.c/pr66199-5.c: Move ...
7906 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
7907 * testsuite/libgomp.c/pr66199-6.c: Move ...
7908 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
7909 * testsuite/libgomp.c/pr66199-7.c: Move ...
7910 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
7911 * testsuite/libgomp.c/pr66199-8.c: Move ...
7912 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
7913 * testsuite/libgomp.c/pr66199-9.c: Move ...
7914 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
7915 * testsuite/libgomp.c/pr69389.c: Move ...
7916 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
7917 * testsuite/libgomp.c/simd-14.c: Move ...
7918 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
7919 * testsuite/libgomp.c/simd-15.c: Move ...
7920 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
7921 * testsuite/libgomp.c/simd-16.c: Move ...
7922 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
7923 * testsuite/libgomp.c/simd-17.c: Move ...
7924 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
7925 * testsuite/libgomp.c/target-1.c: Move ...
7926 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
7927 * testsuite/libgomp.c/target-10.c: Move ...
7928 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
7929 * testsuite/libgomp.c/target-13.c: Move ...
7930 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
7931 * testsuite/libgomp.c/target-2.c: Move ...
7932 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
7933 * testsuite/libgomp.c/taskgroup-1.c: Move ...
7934 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
7935 * testsuite/libgomp.c/taskloop-1.c: Move ...
7936 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
7937 * testsuite/libgomp.c/taskloop-2.c: Move ...
7938 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
7939 * testsuite/libgomp.c/taskloop-3.c: Move ...
7940 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
7941 * testsuite/libgomp.c/taskloop-4.c: Move ...
7942 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
7943 * testsuite/libgomp.c/udr-1.c: Move ...
7944 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
7945 * testsuite/libgomp.c/for-1.c: Move ...
7946 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
7947 * testsuite/libgomp.c/for-1.h: Move ...
7948 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
7949 * testsuite/libgomp.c/for-2.c: Move ...
7950 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
7951 * testsuite/libgomp.c/for-2.h: Move ...
7952 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
7953 * testsuite/libgomp.c/for-3.c: Move ...
7954 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
7955 * testsuite/libgomp.c/for-4.c: Move ...
7956 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
7957 * testsuite/libgomp.c/for-5.c: Move ...
7958 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
7959 * testsuite/libgomp.c/for-6.c: Move ...
7960 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
7961
7962 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
7963
7964 PR libgomp/82428
7965 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
7966 __builtin_goacc_parlevel_{id,size}.
7967 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
7968 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
7969 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
7970 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
7971 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
7972 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
7973 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
7974 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
7975 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
7976 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
7977 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
7978 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
7979 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
7980 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
7981 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
7982 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
7983 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
7984 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
7985 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
7986 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
7987 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
7988 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
7989 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
7990
7991 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
7992
7993 PR testsuite/85106
7994 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
7995
7996 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
7997
7998 PR testsuite/85106
7999 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
8000
8001 2018-04-29 Julian Brown <julian (a] codesourcery.com>
8002 Tom de Vries <tom (a] codesourcery.com>
8003
8004 PR testsuite/85527
8005 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
8006 arbitrary order for iterations of atomic subtract check.
8007
8008 2018-04-28 Tom de Vries <tom (a] codesourcery.com>
8009
8010 PR testsuite/85527
8011 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
8012 atomic capture results obtained in parallel loop to an array, instead of
8013 to a scalar.
8014
8015 2018-04-26 Tom de Vries <tom (a] codesourcery.com>
8016
8017 PR libgomp/84020
8018 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
8019 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
8020 (process_GOMP_NVPTX_JIT): New function.
8021 (link_ptx): Use process_GOMP_NVPTX_JIT.
8022
8023 2018-04-26 Richard Biener <rguenther (a] suse.de>
8024 Tom de Vries <tom (a] codesourcery.com>
8025
8026 PR lto/85422
8027 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
8028
8029 2018-04-26 Tom de Vries <tom (a] codesourcery.com>
8030
8031 PR target/85519
8032 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
8033 recursion depth from 25 to 23.
8034 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
8035
8036 2018-04-24 H.J. Lu <hongjiu.lu (a] intel.com>
8037
8038 * configure: Regenerated.
8039
8040 2018-04-20 Nathan Sidwell <nathan (a] codesourcery.com>
8041 Tom de Vries <tom (a] codesourcery.com>
8042
8043 PR target/85445
8044 * testsuite/libgomp.oacc-c++/ref-1.C: New.
8045
8046 2018-04-19 Thomas Schwinge <thomas (a] codesourcery.com>
8047
8048 PR libgomp/85463
8049 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
8050 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8051 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8052 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
8053 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
8054 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
8055
8056 PR libfortran/85166
8057 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
8058 abort".
8059 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8060
8061 2018-04-19 Jakub Jelinek <jakub (a] redhat.com>
8062
8063 * configure: Regenerated.
8064
8065 2018-04-18 David Malcolm <dmalcolm (a] redhat.com>
8066
8067 PR jit/85384
8068 * configure: Regenerate.
8069
8070 2018-04-16 Cesar Philippidis <cesar (a] codesourcery.com>
8071 Tom de Vries <tom (a] codesourcery.com>
8072
8073 PR middle-end/84955
8074 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8075 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8076
8077 2018-04-12 Thomas Koenig <tkoenig (a] gcc.gnu.org>
8078
8079 PR fortran/83064
8080 PR testsuite/85346
8081 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
8082 test from gfortran.dg to here.
8083
8084 2018-04-12 Cesar Philippidis <cesar (a] codesourcery.com>
8085
8086 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
8087 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
8088
8089 2018-04-12 Cesar Philippidis <cesar (a] codesourcery.com>
8090
8091 PR middle-end/84955
8092 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8093 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8094
8095 2018-04-05 Tom de Vries <tom (a] codesourcery.com>
8096
8097 PR target/85204
8098 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
8099
8100 2018-03-26 Tom de Vries <tom (a] codesourcery.com>
8101
8102 PR tree-optimization/85063
8103 * testsuite/libgomp.c/switch-conversion-2.c: New test.
8104 * testsuite/libgomp.c/switch-conversion.c: New test.
8105 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
8106 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
8107
8108 2018-03-25 Thomas Koenig <tkoenig (a] gcc.gnu.org>
8109
8110 PR fortran/84381
8111 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
8112 call abort by STOP n.
8113 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
8114 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
8115 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
8116 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
8117 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
8118 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
8119 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
8120 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
8121 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
8122 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
8123 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
8124 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
8125 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
8126 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
8127 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
8128 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
8129 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
8130 * testsuite/libgomp.fortran/associate1.f90: Likewise.
8131 * testsuite/libgomp.fortran/associate2.f90: Likewise.
8132 * testsuite/libgomp.fortran/associate3.f90: Likewise.
8133 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
8134 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
8135 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
8136 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
8137 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
8138 * testsuite/libgomp.fortran/character1.f90: Likewise.
8139 * testsuite/libgomp.fortran/character2.f90: Likewise.
8140 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
8141 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
8142 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
8143 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
8144 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
8145 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
8146 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
8147 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
8148 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
8149 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
8150 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
8151 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
8152 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
8153 * testsuite/libgomp.fortran/do1.f90: Likewise.
8154 * testsuite/libgomp.fortran/do2.f90: Likewise.
8155 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
8156 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
8157 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
8158 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
8159 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
8160 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
8161 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8162 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
8163 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
8164 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
8165 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
8166 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
8167 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8168 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
8169 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
8170 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
8171 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
8172 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
8173 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
8174 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
8175 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
8176 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
8177 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
8178 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
8179 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
8180 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
8181 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
8182 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8183 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
8184 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
8185 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
8186 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
8187 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
8188 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8189 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8190 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
8191 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
8192 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
8193 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
8194 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
8195 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
8196 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
8197 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
8198 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
8199 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
8200 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
8201 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
8202 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
8203 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
8204 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8205 * testsuite/libgomp.fortran/lib2.f: Likewise.
8206 * testsuite/libgomp.fortran/lib3.f: Likewise.
8207 * testsuite/libgomp.fortran/lib4.f90: Likewise.
8208 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
8209 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
8210 * testsuite/libgomp.fortran/nested1.f90: Likewise.
8211 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
8212 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
8213 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
8214 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
8215 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
8216 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
8217 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
8218 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
8219 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
8220 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
8221 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
8222 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
8223 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
8224 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
8225 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
8226 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
8227 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
8228 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
8229 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
8230 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8231 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
8232 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
8233 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
8234 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
8235 * testsuite/libgomp.fortran/pr25162.f: Likewise.
8236 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
8237 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
8238 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
8239 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
8240 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
8241 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
8242 * testsuite/libgomp.fortran/pr28390.f: Likewise.
8243 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
8244 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
8245 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
8246 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
8247 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
8248 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
8249 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
8250 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
8251 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
8252 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
8253 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
8254 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
8255 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
8256 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
8257 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
8258 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
8259 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
8260 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
8261 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
8262 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
8263 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
8264 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
8265 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
8266 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
8267 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
8268 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8269 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
8270 * testsuite/libgomp.fortran/reference1.f90: Likewise.
8271 * testsuite/libgomp.fortran/reference2.f90: Likewise.
8272 * testsuite/libgomp.fortran/retval1.f90: Likewise.
8273 * testsuite/libgomp.fortran/retval2.f90: Likewise.
8274 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
8275 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
8276 * testsuite/libgomp.fortran/simd1.f90: Likewise.
8277 * testsuite/libgomp.fortran/simd2.f90: Likewise.
8278 * testsuite/libgomp.fortran/simd3.f90: Likewise.
8279 * testsuite/libgomp.fortran/simd4.f90: Likewise.
8280 * testsuite/libgomp.fortran/simd5.f90: Likewise.
8281 * testsuite/libgomp.fortran/simd6.f90: Likewise.
8282 * testsuite/libgomp.fortran/simd7.f90: Likewise.
8283 * testsuite/libgomp.fortran/stack.f90: Likewise.
8284 * testsuite/libgomp.fortran/strassen.f90: Likewise.
8285 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
8286 * testsuite/libgomp.fortran/tabs2.f: Likewise.
8287 * testsuite/libgomp.fortran/target1.f90: Likewise.
8288 * testsuite/libgomp.fortran/target2.f90: Likewise.
8289 * testsuite/libgomp.fortran/target3.f90: Likewise.
8290 * testsuite/libgomp.fortran/target4.f90: Likewise.
8291 * testsuite/libgomp.fortran/target5.f90: Likewise.
8292 * testsuite/libgomp.fortran/target6.f90: Likewise.
8293 * testsuite/libgomp.fortran/target7.f90: Likewise.
8294 * testsuite/libgomp.fortran/target8.f90: Likewise.
8295 * testsuite/libgomp.fortran/task1.f90: Likewise.
8296 * testsuite/libgomp.fortran/task2.f90: Likewise.
8297 * testsuite/libgomp.fortran/task3.f90: Likewise.
8298 * testsuite/libgomp.fortran/task4.f90: Likewise.
8299 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
8300 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
8301 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
8302 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
8303 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
8304 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8305 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8306 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8307 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
8308 * testsuite/libgomp.fortran/udr1.f90: Likewise.
8309 * testsuite/libgomp.fortran/udr10.f90: Likewise.
8310 * testsuite/libgomp.fortran/udr11.f90: Likewise.
8311 * testsuite/libgomp.fortran/udr12.f90: Likewise.
8312 * testsuite/libgomp.fortran/udr13.f90: Likewise.
8313 * testsuite/libgomp.fortran/udr14.f90: Likewise.
8314 * testsuite/libgomp.fortran/udr15.f90: Likewise.
8315 * testsuite/libgomp.fortran/udr2.f90: Likewise.
8316 * testsuite/libgomp.fortran/udr3.f90: Likewise.
8317 * testsuite/libgomp.fortran/udr4.f90: Likewise.
8318 * testsuite/libgomp.fortran/udr5.f90: Likewise.
8319 * testsuite/libgomp.fortran/udr6.f90: Likewise.
8320 * testsuite/libgomp.fortran/udr7.f90: Likewise.
8321 * testsuite/libgomp.fortran/udr8.f90: Likewise.
8322 * testsuite/libgomp.fortran/udr9.f90: Likewise.
8323 * testsuite/libgomp.fortran/vla1.f90: Likewise.
8324 * testsuite/libgomp.fortran/vla2.f90: Likewise.
8325 * testsuite/libgomp.fortran/vla3.f90: Likewise.
8326 * testsuite/libgomp.fortran/vla4.f90: Likewise.
8327 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8328 * testsuite/libgomp.fortran/vla6.f90: Likewise.
8329 * testsuite/libgomp.fortran/vla7.f90: Likewise.
8330 * testsuite/libgomp.fortran/vla8.f90: Likewise.
8331 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
8332 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
8333 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8334 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8335 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8336 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8337 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8338 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8339 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8340 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8341 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8342 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
8343 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8344 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
8345 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8346 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8347 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8348 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8349 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8350 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8351 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8352 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8353 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8354 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
8355 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
8356 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8357 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8358 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8359 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8360 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8361 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8362 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8363 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8364 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8365 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8366 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8367 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8368 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8369 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
8370 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8371 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
8372 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8373 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
8374 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
8375 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
8376 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
8377 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8378 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8379 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8380 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8381 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8382 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8383 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8384 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8385 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8386 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8387 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8388 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8389 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8390 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8391 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8392 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8393 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8394 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8395 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8396 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8397 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
8398 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8399 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
8400 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8401 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
8402 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
8403 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
8404 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
8405 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8406 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8407 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8408 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8409 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8410 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8411 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8412 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8413 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
8414 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
8415 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8416 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8417 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8418 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8419 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
8420 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
8421 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
8422 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8423 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8424 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
8425
8426 2018-03-20 Richard Biener <rguenther (a] suse.de>
8427
8428 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
8429 parallelizable loop.
8430
8431 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com>
8432
8433 PR target/84148
8434 * configure: Regenerate.
8435
8436 2018-02-16 Jakub Jelinek <jakub (a] redhat.com>
8437
8438 PR fortran/84418
8439 * libgomp.fortran/pr84418-1.f90: New test.
8440 * libgomp.fortran/pr84418-2.f90: New test.
8441
8442 2018-02-14 Jakub Jelinek <jakub (a] redhat.com>
8443
8444 PR fortran/84313
8445 * testsuite/libgomp.fortran/threadprivate4.f90: Add
8446 -std=f2003 -fall-intrinsics into dg-additional-options.
8447
8448 2018-02-08 Martin Jambor <mjambor (a] suse.cz>
8449
8450 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
8451 clonable.
8452
8453 2018-02-08 Martin Jambor <mjambor (a] suse.cz>
8454
8455 * testsuite/libgomp.hsa.c/staticvar.c: New test.
8456
8457 2018-02-07 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
8458
8459 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
8460 [__cplusplus]: Declare extern "C".
8461
8462 2018-02-07 Tom de Vries <tom (a] codesourcery.com>
8463
8464 PR libgomp/84217
8465 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
8466
8467 2018-01-29 Christoph Spiel <cspiel (a] freenet.de>
8468 Jakub Jelinek <jakub (a] redhat.com>
8469
8470 PR libgomp/84096
8471 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
8472 instead of omp_lock_t.
8473
8474 2018-01-25 Tom de Vries <tom (a] codesourcery.com>
8475
8476 PR target/84028
8477 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
8478
8479 2018-01-24 Tom de Vries <tom (a] codesourcery.com>
8480
8481 PR target/83589
8482 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
8483
8484 2018-01-24 Tom de Vries <tom (a] codesourcery.com>
8485
8486 PR target/81352
8487 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
8488
8489 2018-01-19 Tom de Vries <tom (a] codesourcery.com>
8490 Cesar Philippidis <cesar (a] codesourcery.com>
8491
8492 PR target/83920
8493 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
8494 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
8495
8496 2018-01-03 Jakub Jelinek <jakub (a] redhat.com>
8497
8498 Update copyright years.
8499
8500 * libgomp.texi: Bump @copying's copyright year.
8501
8502 2017-12-30 Tom de Vries <tom (a] codesourcery.com>
8503
8504 PR libgomp/83046
8505 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
8506 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
8507
8508 2017-12-27 Tom de Vries <tom (a] codesourcery.com>
8509
8510 PR c++/83046
8511 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
8512 (test_nonstatic): Fix return type to workaround PR83046.
8513
8514 2017-12-05 Jakub Jelinek <jakub (a] redhat.com>
8515
8516 PR testsuite/83281
8517 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
8518 j suffix instead of i.
8519 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
8520 Likewise.
8521
8522 2017-12-01 Cesar Philippidis <cesar (a] codesourcery.com>
8523
8524 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
8525 call to acc_wait (1).
8526
8527 2017-11-24 Jakub Jelinek <jakub (a] redhat.com>
8528
8529 PR fortran/81304
8530 * testsuite/libgomp.fortran/pr81304.f90: New test.
8531
8532 2017-11-23 Jakub Jelinek <jakub (a] redhat.com>
8533
8534 PR fortran/81841
8535 * libgomp.fortran/pr81841.f90: New test.
8536
8537 2017-11-22 Jakub Jelinek <jakub (a] redhat.com>
8538
8539 PR libgomp/83106
8540 * target.c (gomp_target_init): Compute lengths just once and
8541 use them in both malloc size and subsequent copying.
8542
8543 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com>
8544
8545 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
8546 * acinclude.m4: Add cet.m4.
8547 * configure: Regenerate.
8548 * Makefile.in: Likewise.
8549 * testsuite/Makefile.in: Likewise.
8550
8551 2017-11-15 Tom de Vries <tom (a] codesourcery.com>
8552
8553 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
8554 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
8555 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
8556 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
8557 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
8558 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
8559
8560 2017-11-14 Tom de Vries <tom (a] codesourcery.com>
8561
8562 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
8563 non-nvidia devices.
8564
8565 2017-11-07 Jakub Jelinek <jakub (a] redhat.com>
8566
8567 PR c++/82835
8568 * testsuite/libgomp.c++/pr82835.C: New test.
8569
8570 2017-11-06 Martin Liska <mliska (a] suse.cz>
8571
8572 * testsuite/libgomp.c++/loop-2.C: Return a value
8573 for functions with non-void return type, or change type to void,
8574 or add -Wno-return-type for test.
8575 * testsuite/libgomp.c++/loop-4.C: Likewise.
8576 * testsuite/libgomp.c++/parallel-1.C: Likewise.
8577 * testsuite/libgomp.c++/shared-1.C: Likewise.
8578 * testsuite/libgomp.c++/single-1.C: Likewise.
8579 * testsuite/libgomp.c++/single-2.C: Likewise.
8580
8581 2017-10-31 Tom de Vries <tom (a] codesourcery.com>
8582
8583 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
8584 "do {} while (false)".
8585 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
8586 after HSA_DEBUG call.
8587
8588 2017-10-28 Jakub Jelinek <jakub (a] redhat.com>
8589
8590 * target.c (struct gomp_coalesce_buf): New type.
8591 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
8592 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
8593 (gomp_copy_host2dev): Add CBUF argument, if copying into
8594 the cached ranges, memcpy into buffer instead of copying
8595 into device.
8596 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
8597 Add CBUF argument, pass it through to other calls.
8598 (gomp_map_vars): Aggregate copies from host to device if small enough
8599 and with small enough gaps in between into memcpy into a buffer and
8600 fewer host to device copies from the buffer.
8601 (gomp_update): Adjust gomp_copy_host2dev caller.
8602
8603 2017-10-17 Thomas Schwinge <thomas (a] codesourcery.com>
8604
8605 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
8606 run" directive.
8607 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8608 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8609 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8610 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8611
8612 2017-10-16 Tom de Vries <tom (a] codesourcery.com>
8613
8614 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
8615 openacc_nvidia_accel_selected.
8616 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
8617 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
8618 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
8619 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
8620 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
8621 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
8622 openacc_nvidia_accel_selected. Skip for shared memory device.
8623 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
8624 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
8625
8626 2017-10-09 Martin Jambor <mjambor (a] suse.cz>
8627
8628 PR hsa/82416
8629 * testsuite/libgomp.hsa.c/pr82416.c: New test.
8630
8631 2017-10-07 Tom de Vries <tom (a] codesourcery.com>
8632
8633 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
8634 Remove acc_device_nvidia references.
8635 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
8636 Same.
8637
8638 2017-10-05 Tom de Vries <tom (a] codesourcery.com>
8639
8640 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
8641 vector_length(32) clause from acc parallel directive.
8642 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
8643
8644 2017-10-04 Tom de Vries <tom (a] codesourcery.com>
8645
8646 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
8647 (main): Reduce sum of arr elements. Assert that hres is exactly
8648 representable in 32-bit floating point.
8649 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
8650 (main): Reduce sum of arr elements. Assert that hres and hmres are
8651 exactly representable in 32-bit floating point.
8652 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
8653
8654 2017-09-28 Tom de Vries <tom (a] codesourcery.com>
8655
8656 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
8657 setting.
8658 * testsuite/libgomp.c++/pr69393.C: Same.
8659 * testsuite/libgomp.c++/taskloop-1.C: Same.
8660 * testsuite/libgomp.c++/taskloop-3.C: Same.
8661 * testsuite/libgomp.c++/taskloop-4.C: Same.
8662 * testsuite/libgomp.c/for-4.c: Same.
8663 * testsuite/libgomp.c/pr66199-3.c: Same.
8664 * testsuite/libgomp.c/pr66199-4.c: Same.
8665 * testsuite/libgomp.c/pr66199-6.c: Same.
8666 * testsuite/libgomp.c/taskloop-1.c: Same.
8667 * testsuite/libgomp.c/taskloop-3.c: Same.
8668 * testsuite/libgomp.c/taskloop-4.c: Same.
8669 * testsuite/libgomp.fortran/aligned1.f03: Same.
8670 * testsuite/libgomp.fortran/condinc1.f: Same.
8671 * testsuite/libgomp.fortran/condinc3.f90: Same.
8672 * testsuite/libgomp.fortran/crayptr1.f90: Same.
8673 * testsuite/libgomp.fortran/crayptr2.f90: Same.
8674 * testsuite/libgomp.fortran/crayptr3.f90: Same.
8675 * testsuite/libgomp.fortran/omp_cond1.f: Same.
8676 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
8677 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
8678 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
8679 * testsuite/libgomp.fortran/recursion1.f90: Same.
8680 * testsuite/libgomp.fortran/target2.f90: Same.
8681 * testsuite/libgomp.fortran/target5.f90: Same.
8682 * testsuite/libgomp.fortran/task3.f90: Same.
8683
8684 2017-09-28 Tom de Vries <tom (a] codesourcery.com>
8685
8686 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
8687 vector_length(32) clause from acc parallel directive.
8688 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
8689
8690 2017-09-27 Tom de Vries <tom (a] codesourcery.com>
8691
8692 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
8693 Remove acc_device_nvidia references.
8694
8695 2017-09-16 Tom de Vries <tom (a] codesourcery.com>
8696
8697 PR c/81875
8698 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
8699
8700 2017-09-14 Tom de Vries <tom (a] codesourcery.com>
8701
8702 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
8703 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
8704 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
8705 * testsuite/libgomp.c/c.exp: Include test-cases from
8706 libgomp.c-c++-common.
8707 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
8708 files.
8709
8710 2017-09-14 Jakub Jelinek <jakub (a] redhat.com>
8711
8712 PR c++/81314
8713 * testsuite/libgomp.c++/pr81314.C: New test.
8714
8715 2017-09-03 Gerald Pfeifer <gerald (a] pfeifer.com>
8716
8717 * libgomp.texi (Top): www.openacc.org now uses https.
8718 (Enabling OpenACC): Ditto.
8719 (acc_get_num_devices): Ditto.
8720 (acc_set_device_type): Ditto.
8721 (acc_get_device_type): Ditto.
8722 (acc_set_device_num): Ditto.
8723 (acc_get_device_num): Ditto.
8724 (acc_async_test): Ditto.
8725 (acc_async_test_all): Ditto.
8726 (acc_wait): Ditto.
8727 (acc_wait_all): Ditto.
8728 (acc_wait_all_async): Ditto.
8729 (acc_wait_async): Ditto.
8730 (acc_init): Ditto.
8731 (acc_shutdown): Ditto.
8732 (acc_on_device): Ditto.
8733 (acc_malloc): Ditto.
8734 (acc_free): Ditto.
8735 (acc_copyin): Ditto.
8736 (acc_present_or_copyin): Ditto.
8737 (acc_create): Ditto.
8738 (acc_present_or_create): Ditto.
8739 (acc_copyout): Ditto.
8740 (acc_delete): Ditto.
8741 (acc_update_device): Ditto.
8742 (acc_update_self): Ditto.
8743 (acc_map_data): Ditto.
8744 (acc_unmap_data): Ditto.
8745 (acc_deviceptr): Ditto.
8746 (acc_hostptr): Ditto.
8747 (acc_is_present): Ditto.
8748 (acc_memcpy_to_device): Ditto.
8749 (acc_memcpy_from_device): Ditto.
8750 (acc_get_current_cuda_device): Ditto.
8751 (acc_get_current_cuda_context): Ditto.
8752 (acc_get_cuda_stream): Ditto.
8753 (acc_set_cuda_stream): Ditto.
8754 (ACC_DEVICE_TYPE): Ditto.
8755 (ACC_DEVICE_NUM): Ditto.
8756 (OpenACC Library Interoperability): Ditto.
8757
8758 2017-08-09 Jakub Jelinek <jakub (a] redhat.com>
8759
8760 PR c/81687
8761 * testsuite/libgomp.c/pr81687-1.c: New test.
8762 * testsuite/libgomp.c/pr81687-2.c: New test.
8763
8764 2017-08-07 Jakub Jelinek <jakub (a] redhat.com>
8765
8766 PR c/69389
8767 * testsuite/libgomp.c/pr69389.c: New test.
8768 * testsuite/libgomp.c++/pr69389.C: New test.
8769
8770 2017-08-07 Tom de Vries <tom (a] codesourcery.com>
8771
8772 PR middle-end/78266
8773 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
8774 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
8775
8776 2017-07-27 Jakub Jelinek <jakub (a] redhat.com>
8777
8778 PR c/45784
8779 * testsuite/libgomp.c/pr45784.c: New test.
8780 * testsuite/libgomp.c++/pr45784.C: New test.
8781
8782 2017-07-19 Tom de Vries <tom (a] codesourcery.com>
8783
8784 * testsuite/libgomp.oacc-c/vec.c: New test.
8785
8786 2017-07-03 Tom de Vries <tom (a] codesourcery.com>
8787
8788 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
8789
8790 2017-06-27 Tom de Vries <tom (a] codesourcery.com>
8791
8792 * plugin/plugin-nvptx.c (notify_var): New function.
8793 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
8794
8795 2017-06-27 Tom de Vries <tom (a] codesourcery.com>
8796
8797 * env.c (parse_unsigned_long_1): Factor out of ...
8798 (parse_unsigned_long): ... here.
8799 (parse_int_1): Factor out of ...
8800 (parse_int): ... here.
8801 (parse_int_secure): New function.
8802 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
8803 * secure_getenv.h: Factor out of ...
8804 * plugin/plugin-hsa.c: ... here.
8805 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
8806
8807 2017-06-21 Jakub Jelinek <jakub (a] redhat.com>
8808
8809 PR c++/81130
8810 * testsuite/libgomp.c++/pr81130.C: New test.
8811
8812 2017-06-17 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
8813
8814 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
8815 default args.
8816 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
8817 dg-xfail-run-if default args.
8818
8819 2017-06-02 Bernd Edlinger <bernd.edlinger (a] hotmail.de>
8820
8821 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
8822 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8823
8824 2017-05-30 Jakub Jelinek <jakub (a] redhat.com>
8825
8826 PR libgomp/80822
8827 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
8828 (gomp_affinity_init_level): Use it. Always analyze the core and thread
8829 sibling lists, depending on level just pick up what CPUs to put
8830 together into a place vs. whether add multiple ordered places.
8831
8832 2017-05-24 Thomas Schwinge <thomas (a] codesourcery.com>
8833
8834 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
8835 * libgomp.map (OACC_2.0.1): Add these.
8836 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
8837 for "acc_wait", and "acc_wait_all", respectively.
8838 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
8839 for "acc_wait", and "acc_wait_all", respectively.
8840 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
8841 * libgomp.texi (acc_wait, acc_wait_all): Update.
8842 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
8843 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
8844 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8845
8846 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
8847 acc_present_or_copyin and acc_present_or_create procedures,
8848 respectively.
8849 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
8850 generally different variants of OpenACC Runtime Library functions.
8851 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8852
8853 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
8854 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8855
8856 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
8857 of preprocessor definitions.
8858 * libgomp.h (strong_alias): Guard by "#ifdef
8859 HAVE_ATTRIBUTE_ALIAS".
8860 * oacc-mem.c: Provide "acc_pcreate" as alias for
8861 "acc_present_or_create", and "acc_pcopyin" as alias for
8862 "acc_present_or_copyin".
8863 * libgomp.map: New version "OACC_2.0.1".
8864 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
8865 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
8866 its content into...
8867 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
8868 Extend testing.
8869
8870 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
8871 when disabling nvptx offloading.
8872
8873 2017-05-23 Thomas Schwinge <thomas (a] codesourcery.com>
8874
8875 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
8876 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8877 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8878
8879 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
8880 * testsuite/lib/libgomp.exp
8881 (check_effective_target_openacc_nvidia_accel_configured): New
8882 proc.
8883 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
8884 (check_effective_target_c++): New procs.
8885 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
8886 (check_effective_target_c++): Likewise.
8887
8888 2017-05-22 Jakub Jelinek <jakub (a] redhat.com>
8889
8890 PR middle-end/80809
8891 * testsuite/libgomp.c/pr80809-2.c: New test.
8892 * testsuite/libgomp.c/pr80809-3.c: New test.
8893
8894 PR middle-end/80809
8895 * testsuite/libgomp.c/pr80809-1.c: New test.
8896
8897 PR middle-end/80853
8898 * testsuite/libgomp.c/pr80853.c: New test.
8899
8900 2017-05-19 Thomas Schwinge <thomas (a] codesourcery.com>
8901
8902 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
8903 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
8904 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8905 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8906 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8907
8908 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
8909 Debug output for failure.
8910
8911 2017-05-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
8912
8913 * testsuite/lib/libgomp.exp: Load scanlang.exp.
8914
8915 2017-04-27 Jakub Jelinek <jakub (a] redhat.com>
8916
8917 PR bootstrap/80531
8918 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
8919 bootstrap compare failures.
8920
8921 2017-04-20 Alexander Monakov <amonakov (a] ispras.ru>
8922
8923 * testsuite/libgomp.c/target-36.c: New testcase.
8924
8925 2017-04-13 Jakub Jelinek <jakub (a] redhat.com>
8926
8927 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
8928 instead of char.
8929
8930 2017-04-11 Jakub Jelinek <jakub (a] redhat.com>
8931
8932 PR libgomp/80394
8933 * testsuite/libgomp.c/pr80394.c: New test.
8934
8935 2017-04-04 Jakub Jelinek <jakub (a] redhat.com>
8936
8937 PR libgomp/79876
8938 * config/posix/thread-stacksize.h: New file.
8939 * config/darwin/thread-stacksize.h: New file.
8940 * config/nvptx/thread-stacksize.h: New file.
8941 * env.c: Include thread-stacksize.h.
8942 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
8943 instead of 0. Call pthread_attr_setstacksize even if
8944 GOMP_DEFAULT_STACKSIZE is non-zero.
8945
8946 2017-03-30 Jakub Jelinek <jakub (a] redhat.com>
8947
8948 * env.c (initialize_env): Initialize stacksize to 0.
8949
8950 2017-03-22 Cesar Philippidis <cesar (a] codesourcery.com>
8951
8952 PR c++/80029
8953 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
8954
8955 2017-03-08 Jakub Jelinek <jakub (a] redhat.com>
8956
8957 PR c/79940
8958 * testsuite/libgomp.c/pr79940.c: New test.
8959
8960 2017-02-15 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
8961
8962 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
8963 targets.
8964 Add __float128 options.
8965
8966 2017-02-11 John David Anglin <danglin (a] gcc.gnu.org>
8967
8968 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
8969 hppa*-*-* dg-skip-if directive.
8970
8971 2017-02-09 Jakub Jelinek <jakub (a] redhat.com>
8972
8973 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
8974 dg-skip-if directive into a comment.
8975
8976 2017-02-09 Nathan Sidwell <nathan (a] codesourcery.com>
8977 Chung-Lin Tang <cltang (a] codesourcery.com>
8978
8979 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
8980 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
8981 add additional case.
8982 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
8983 "openacc_nvidia_accel_selected".
8984 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
8985 Add num_workers(8) clause.
8986
8987 2017-02-08 John David Anglin <danglin (a] gcc.gnu.org>
8988
8989 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
8990 hppa*-*-*.
8991 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
8992 include complex.h on hppa*-*-hpux*.
8993 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8994
8995 2017-02-02 Thomas Schwinge <thomas (a] codesourcery.com>
8996
8997 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
8998
8999 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
9000 GOMP_OFFLOAD_openacc_exec. Adjust all users.
9001 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
9002 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
9003 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
9004 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
9005 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
9006 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
9007 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
9008 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
9009
9010 2017-01-31 Thomas Schwinge <thomas (a] codesourcery.com>
9011
9012 * libgomp-plugin.h: #include <stdbool.h>.
9013 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
9014 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
9015 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
9016 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
9017 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
9018 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
9019 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
9020 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
9021 (GOMP_OFFLOAD_openacc_register_async_cleanup)
9022 (GOMP_OFFLOAD_openacc_async_test)
9023 (GOMP_OFFLOAD_openacc_async_test_all)
9024 (GOMP_OFFLOAD_openacc_async_wait)
9025 (GOMP_OFFLOAD_openacc_async_wait_async)
9026 (GOMP_OFFLOAD_openacc_async_wait_all)
9027 (GOMP_OFFLOAD_openacc_async_wait_all_async)
9028 (GOMP_OFFLOAD_openacc_async_set_async)
9029 (GOMP_OFFLOAD_openacc_create_thread_data)
9030 (GOMP_OFFLOAD_openacc_destroy_thread_data)
9031 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
9032 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
9033 (GOMP_OFFLOAD_openacc_get_cuda_stream)
9034 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
9035 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
9036 these.
9037 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
9038 (GOMP_OFFLOAD_unload_image): Fix argument types.
9039
9040 2017-01-26 Jakub Jelinek <jakub (a] redhat.com>
9041
9042 * testsuite/lib/libgomp.exp
9043 (check_effective_target_hsa_offloading_selected_nocache): Fix up
9044 check_compile invocation. Fix up removal of executable. Drop
9045 bogus "2>&1" argument.
9046
9047 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
9048 directive.
9049
9050 2017-01-24 Pekka Jskelinen <pekka (a] parmance.com>
9051 Martin Jambor <mjambor (a] suse.cz>
9052
9053 * plugin/hsa.h: Moved to top level include.
9054 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
9055
9056 2017-01-21 Jakub Jelinek <jakub (a] redhat.com>
9057
9058 PR other/79046
9059 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
9060 of cat to get version from BASE-VER file.
9061 * testsuite/Makefile.in: Regenerated.
9062
9063 2017-01-19 Jakub Jelinek <jakub (a] redhat.com>
9064
9065 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
9066 for _WIN64.
9067
9068 2017-01-17 Jakub Jelinek <jakub (a] redhat.com>
9069
9070 * plugin/hsa.h: Add GCC runtime library exception.
9071 * plugin/hsa_ext_finalize.h: Likewise.
9072
9073 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
9074 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
9075 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
9076 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
9077 plugin/include/cuda as include dir and -ldl instead of -lcuda as
9078 library to link ptx plugin against.
9079 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
9080 (CUDA_CALLS): Define.
9081 (cuda_lib, cuda_lib_inited): New variables.
9082 (init_cuda_lib): New function.
9083 (CUDA_CALL_PREFIX): Define.
9084 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
9085 (CUDA_CALL): Use FN instead of (FN).
9086 (CUDA_CALL_NOCHECK): Define.
9087 (cuda_error, fini_streams_for_device, select_stream_for_async,
9088 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
9089 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
9090 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
9091 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
9092 CUDA_CALL_NOCHECK.
9093 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
9094 CUDA_CALL_NOCHECK.
9095 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
9096 Use CUDA_CALL_NOCHECK.
9097 * plugin/cuda/cuda.h: New file.
9098 * config.h.in: Regenerated.
9099 * configure: Regenerated.
9100
9101 PR other/79046
9102 * configure.ac: Add GCC_BASE_VER.
9103 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
9104 get version from BASE-VER file.
9105 * testsuite/Makefile.in: Regenerated.
9106 * configure: Regenerated.
9107 * Makefile.in: Regenerated.
9108
9109 2017-01-09 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
9110
9111 PR libgomp/60670
9112 * Makefile.am: Make fincludedir multilib-aware.
9113 * Makefile.in: Regenerate.
9114
9115 2017-01-01 Jakub Jelinek <jakub (a] redhat.com>
9116
9117 Update copyright years.
9118
9119 * libgomp.texi: Bump @copying's copyright year.
9120
9121 2016-12-02 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
9122
9123 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
9124 pthread_spinlock_t instead of gomp_mutex_t lock.
9125 (gomp_get_thread_pool): Likewise.
9126 (gomp_release_thread_pool): Likewise.
9127 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
9128 Likewise.
9129
9130 2016-12-02 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
9131
9132 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
9133 thread pool in case nthreads == 1.
9134
9135 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru>
9136
9137 * config/nvptx/env.c: Delete.
9138 * icv.c: Move definitions of ICV variables back ...
9139 * env.c: ...here. Do not compile environment-related functionality if
9140 LIBGOMP_OFFLOADED_ONLY is set.
9141
9142 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru>
9143
9144 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
9145 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
9146 * configure: Regenerate.
9147 * config.h.in: Likewise.
9148
9149 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru>
9150
9151 * Makefile.in: Regenerate with automake-1.11.6.
9152 * aclocal.m4: Likewise.
9153 * configure: Likewise.
9154 * testsuite/Makefile.in: Likewise.
9155
9156 2016-11-28 Alexander Monakov <amonakov (a] ispras.ru>
9157
9158 * config/nvptx/critical.c: Delete to use generic implementation.
9159
9160 2016-11-28 Jonas Hahnfeld <Hahnfeld (a] itc.rwth-aachen.de>
9161
9162 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
9163 ../../affinity.c as fallback.
9164 * config/nvptx/affinity.c: Delete to use fallback implementation.
9165
9166 2016-11-23 Alexander Monakov <amonakov (a] ispras.ru>
9167 Jakub Jelinek <jakub (a] redhat.com>
9168 Dmitry Melnik <dm (a] ispras.ru>
9169
9170 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
9171 * Makefile.in. Regenerate.
9172 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
9173 (LIBGOMP_USE_PTHREADS): ...here; new define.
9174 * configure: Regenerate.
9175 * config.h.in: Likewise.
9176 * config/posix/affinity.c: Move to...
9177 * affinity.c: ...here (new file). Guard use of Pthreads-specific
9178 interface by LIBGOMP_USE_PTHREADS.
9179 * critical.c: Split out GOMP_atomic_{start,end} into...
9180 * atomic.c: ...here (new file).
9181 * env.c: Split out ICV definitions into...
9182 * icv.c: ...here (new file) and...
9183 * icv-device.c: ...here. New file.
9184 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
9185 (gomp_destroy_lock_30): Ditto.
9186 (gomp_set_lock_30): Ditto.
9187 (gomp_unset_lock_30): Ditto.
9188 (gomp_test_lock_30): Ditto.
9189 (gomp_init_nest_lock_30): Ditto.
9190 (gomp_destroy_nest_lock_30): Ditto.
9191 (gomp_set_nest_lock_30): Ditto.
9192 (gomp_unset_nest_lock_30): Ditto.
9193 (gomp_test_nest_lock_30): Ditto.
9194 * lock.c: New.
9195 * config/nvptx/lock.c: New.
9196 * config/nvptx/bar.c: New.
9197 * config/nvptx/bar.h: New.
9198 * config/nvptx/doacross.h: New.
9199 * config/nvptx/error.c: New.
9200 * config/nvptx/icv-device.c: New.
9201 * config/nvptx/mutex.h: New.
9202 * config/nvptx/pool.h: New.
9203 * config/nvptx/proc.c: New.
9204 * config/nvptx/ptrlock.h: New.
9205 * config/nvptx/sem.h: New.
9206 * config/nvptx/simple-bar.h: New.
9207 * config/nvptx/target.c: New.
9208 * config/nvptx/task.c: New.
9209 * config/nvptx/team.c: New.
9210 * config/nvptx/time.c: New.
9211 * config/posix/simple-bar.h: New.
9212 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
9213 (gomp_num_teams_var): Declare.
9214 (struct gomp_thread_pool): Change threads_dock member to
9215 gomp_simple_barrier_t.
9216 [__nvptx__] (gomp_thread): New implementation.
9217 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
9218 (gomp_thread_destructor): Ditto.
9219 (gomp_init_thread_affinity): Ditto.
9220 * team.c: Guard uses of Pthreads-specific interfaces by
9221 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
9222 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
9223 * config/nvptx/alloc.c: Delete.
9224 * config/nvptx/barrier.c: Ditto.
9225 * config/nvptx/fortran.c: Ditto.
9226 * config/nvptx/iter.c: Ditto.
9227 * config/nvptx/iter_ull.c: Ditto.
9228 * config/nvptx/loop.c: Ditto.
9229 * config/nvptx/loop_ull.c: Ditto.
9230 * config/nvptx/ordered.c: Ditto.
9231 * config/nvptx/parallel.c: Ditto.
9232 * config/nvptx/priority_queue.c: Ditto.
9233 * config/nvptx/sections.c: Ditto.
9234 * config/nvptx/single.c: Ditto.
9235 * config/nvptx/splay-tree.c: Ditto.
9236 * config/nvptx/work.c: Ditto.
9237 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
9238 -foffload=-lgfortran in addition to -lgfortran.
9239 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
9240 * plugin/plugin-nvptx.c: Include <limits.h>.
9241 (struct targ_fn_descriptor): Add new fields.
9242 (struct ptx_device): Ditto. Set them...
9243 (nvptx_open_device): ...here.
9244 (nvptx_adjust_launch_bounds): New.
9245 (nvptx_host2dev): Allow NULL 'nvthd'.
9246 (nvptx_dev2host): Ditto.
9247 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
9248 (link_ptx): Adjust log sizes.
9249 (nvptx_host2dev): Allow NULL 'nvthd'.
9250 (nvptx_dev2host): Ditto.
9251 (nvptx_set_clocktick): New. Use it...
9252 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
9253 fields.
9254 (GOMP_OFFLOAD_dev2dev): New.
9255 (nvptx_adjust_launch_bounds): New.
9256 (nvptx_stacks_size): New.
9257 (nvptx_stacks_alloc): New.
9258 (nvptx_stacks_free): New.
9259 (GOMP_OFFLOAD_run): New.
9260 (GOMP_OFFLOAD_async_run): New (stub).
9261
9262 2016-11-23 Martin Jambor <mjambor (a] suse.cz>
9263
9264 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
9265 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
9266 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9267
9268 2016-11-23 Martin Liska <mliska (a] suse.cz>
9269 Martin Jambor <mjambor (a] suse.cz>
9270
9271 * plugin/hsa.h: New file.
9272 * plugin/hsa_ext_finalize.h: New file.
9273 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
9274 header file unistd.h, and functions secure_getenv, __secure_getenv,
9275 getuid, geteuid, getgid and getegid.
9276 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
9277 -D_GNU_SOURCE.
9278 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
9279 Handle various cases of secure_getenv presence, add an implementation
9280 when we can test effective UID and GID.
9281 (struct hsa_runtime_fn_info): New structure.
9282 (hsa_runtime_fn_info hsa_fns): New variable.
9283 (hsa_runtime_lib): Likewise.
9284 (support_cpu_devices): Likewise.
9285 (init_enviroment_variables): Load newly introduced ENV
9286 variables.
9287 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
9288 (hsa_fatal): Likewise.
9289 (DLSYM_FN): New macro.
9290 (init_hsa_runtime_functions): New function.
9291 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
9292 structure. Depending on environment, also allow CPU devices.
9293 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
9294 (get_kernarg_memory_region): Likewise.
9295 (GOMP_OFFLOAD_init_device): Likewise.
9296 (destroy_hsa_program): Likewise.
9297 (init_basic_kernel_info): New function.
9298 (GOMP_OFFLOAD_load_image): Use it.
9299 (create_and_finalize_hsa_program): Call hsa run-time functions via
9300 hsa_fns structure.
9301 (create_single_kernel_dispatch): Likewise.
9302 (release_kernel_dispatch): Likewise.
9303 (init_single_kernel): Likewise.
9304 (parse_target_attributes): Allow up multiple HSA grid dimensions.
9305 (get_group_size): New function.
9306 (run_kernel): Likewise.
9307 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
9308 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
9309 structure.
9310 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
9311 * testsuite/libgomp-test-support.exp.in: Likewise.
9312 * Makefile.in: Regenerated.
9313 * aclocal.m4: Likewise.
9314 * config.h.in: Likewise.
9315 * configure: Likewise.
9316 * testsuite/Makefile.in: Likewise.
9317
9318 2016-11-15 Martin Jambor <mjambor (a] suse.cz>
9319 Alexander Monakov <amonakov (a] ispras.ru>
9320
9321 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
9322 mapping clauses to target constructs.
9323 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
9324
9325 2016-11-15 Matthias Klose <doko (a] ubuntu.com>
9326
9327 * configure: Regenerate.
9328
9329 2016-11-10 Jakub Jelinek <jakub (a] redhat.com>
9330
9331 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
9332 * omp_lib.h.in (openmp_version): Likewise.
9333 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
9334 of 201307.
9335 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9336
9337 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
9338 (fib_wrapper): Add map(from: x) clause.
9339 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
9340 (e_53_2): Likewise.
9341 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
9342 (accum): Add map(tmp) clause.
9343 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
9344 (accum): Add map(tofrom: tmp) clause.
9345 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
9346 (gramSchmidt): Likewise.
9347 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
9348 map(tofrom: sum) clause.
9349 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
9350 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
9351 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
9352 only allowed on the loop iterator.
9353 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
9354 * testsuite/libgomp.fortran/taskloop2.f90: New test.
9355 * testsuite/libgomp.fortran/taskloop4.f90: New test.
9356 * testsuite/libgomp.fortran/doacross1.f90: New test.
9357 * testsuite/libgomp.fortran/doacross3.f90: New test.
9358 * testsuite/libgomp.fortran/taskloop1.f90: New test.
9359 * testsuite/libgomp.fortran/taskloop3.f90: New test.
9360 * testsuite/libgomp.fortran/doacross2.f90: New test.
9361 * testsuite/libgomp.c/doacross-1.c (main): Add missing
9362 #pragma omp atomic read.
9363 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9364 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
9365
9366 2016-11-02 Cesar Philippidis <cesar (a] codesourcery.com>
9367 Nathan Sidwell <nathan (a] acm.org>
9368
9369 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
9370 to determine default geometry.
9371 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
9372 dimension.
9373
9374 2016-11-01 Jakub Jelinek <jakub (a] redhat.com>
9375
9376 * hashtab.h: Use standard GPLv3 with runtime exception
9377 boilerplate.
9378
9379 2016-10-27 Aldy Hernandez <aldyh (a] redhat.com>
9380
9381 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
9382 size when allocating new thread.
9383
9384 2016-09-14 Marek Polacek <polacek (a] redhat.com>
9385
9386 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
9387
9388 2016-08-19 Jakub Jelinek <jakub (a] redhat.com>
9389
9390 PR fortran/71014
9391 * testsuite/libgomp.fortran/pr71014.f90: New test.
9392
9393 2016-08-18 Chung-Lin Tang <cltang (a] codesourcery.com>
9394
9395 PR middle-end/70895
9396 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
9397 firstprivate clauses.
9398 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
9399 copy clauses.
9400 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9401 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9402 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
9403 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9404 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9405 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9406 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9407 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9408 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9409 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9410 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9411 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
9412
9413 2016-08-14 Chung-Lin Tang <cltang (a] codesourcery.com>
9414
9415 PR fortran/70598
9416 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
9417
9418 2016-08-08 Jakub Jelinek <jakub (a] redhat.com>
9419
9420 PR c++/58706
9421 * testsuite/libgomp.c++/pr58706.C: New test.
9422
9423 2016-08-04 Thomas Schwinge <thomas (a] codesourcery.com>
9424
9425 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
9426 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
9427 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
9428 Likewise.
9429 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
9430 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
9431 Likewise.
9432 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
9433
9434 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
9435 test, and don't hardcode -O0.
9436
9437 2016-08-03 Nathan Sidwell <nathan (a] codesourcery.com>
9438
9439 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
9440
9441 2016-07-15 Cesar Philippidis <cesar (a] codesourcery.com>
9442
9443 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
9444 test.
9445
9446 2016-07-03 H.J. Lu <hongjiu.lu (a] intel.com>
9447
9448 PR middle-end/71734
9449 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
9450 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
9451
9452 2016-07-01 Jakub Jelinek <jakub (a] redhat.com>
9453
9454 PR fortran/71717
9455 * testsuite/libgomp.fortran/associate3.f90: New test.
9456
9457 2016-06-17 Jakub Jelinek <jakub (a] redhat.com>
9458
9459 * testsuite/libgomp.c++/target-21.C: New test.
9460
9461 2016-06-16 Jakub Jelinek <jakub (a] redhat.com>
9462
9463 * testsuite/libgomp.c++/target-20.C: New test.
9464
9465 2016-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
9466 Cesar Philippidis <cesar (a] codesourcery.com>
9467
9468 PR middle-end/71373
9469 * libgomp.oacc-c/nested-function-1.c: New file.
9470 * libgomp.oacc-c/nested-function-2.c: Likewise.
9471 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
9472 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
9473 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
9474
9475 2016-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
9476
9477 PR c/71381
9478 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
9479 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
9480 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
9481
9482 2016-06-03 Chung-Lin Tang <cltang (a] codesourcery.com>
9483
9484 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
9485 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
9486
9487 2016-06-01 Cesar Philippidis <cesar (a] codesourcery.com>
9488
9489 PR c/70688
9490 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
9491
9492 2016-05-26 Jakub Jelinek <jakub (a] redhat.com>
9493
9494 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
9495 instead of invalid schedule(static, 0).
9496 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9497
9498 2016-05-26 Chung-Lin Tang <cltang (a] codesourcery.com>
9499
9500 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
9501 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
9502 parameter, use to set async stream around call to gomp_unmap_vars,
9503 call gomp_unmap_vars() with 'do_copyfrom' set to true.
9504 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
9505 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
9506 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
9507 (event_add): Add int parameter, initialize 'val' field when
9508 adding new ptx_event struct.
9509 (nvptx_evec): Adjust event_add() call arguments.
9510 (nvptx_host2dev): Likewise.
9511 (nvptx_dev2host): Likewise.
9512 (nvptx_wait_async): Likewise.
9513 (nvptx_wait_all_async): Likewise.
9514 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
9515 pass to event_add() call.
9516 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
9517 parameter.
9518 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
9519 call openacc.register_async_cleanup_func() hook.
9520 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
9521 * target.c (gomp_copy_from_async): Delete function.
9522 (gomp_map_vars): Remove async_refcount.
9523 (gomp_unmap_vars): Likewise.
9524 (gomp_load_image_to_device): Likewise.
9525 (omp_target_associate_ptr): Likewise.
9526 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
9527 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
9528 (gomp_copy_from_async): Remove.
9529
9530 2016-05-26 Chung-Lin Tang <cltang (a] codesourcery.com>
9531
9532 * target.c (gomp_device_copy): New function.
9533 (gomp_copy_host2dev): Likewise.
9534 (gomp_copy_dev2host): Likewise.
9535 (gomp_free_device_memory): Likewise.
9536 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
9537 (gomp_map_pointer): Likewise.
9538 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
9539 NULL value from alloc_func plugin hook.
9540 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
9541 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
9542 (gomp_unmap_vars): Likewise.
9543 (gomp_update): Adjust to call gomp_copy_dev2host and
9544 gomp_copy_host2dev functions.
9545 (gomp_unload_image_from_device): Handle false value from
9546 unload_image_func plugin hook.
9547 (gomp_init_device): Handle false value from init_device_func
9548 plugin hook.
9549 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
9550 (omp_target_free): Adjust to call gomp_free_device_memory.
9551 (omp_target_memcpy): Handle return values from host2dev_func,
9552 dev2host_func, and dev2dev_func plugin hooks.
9553 (omp_target_memcpy_rect_worker): Likewise.
9554 (gomp_target_fini): Handle false value from fini_device_func
9555 plugin hook.
9556 * libgomp.h (struct gomp_device_descr): Adjust return type of
9557 init_device_func, fini_device_func, unload_image_func, free_func,
9558 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
9559 * oacc-init.c (acc_shutdown_1): Handle false value from
9560 fini_device_func plugin hook.
9561 * oacc-host.c (host_init_device): Change return type to bool.
9562 (host_fini_device): Likewise.
9563 (host_unload_image): Likewise.
9564 (host_free): Likewise.
9565 (host_dev2host): Likewise.
9566 (host_host2dev): Likewise.
9567 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
9568 (acc_memcpy_to_device): Likewise.
9569 (acc_memcpy_from_device): Likewise.
9570 (delete_copyout): Add libfnname parameter, handle free_func
9571 hook fatal error case.
9572 (acc_delete): Adjust delete_copyout call.
9573 (acc_copyout): Likewise.
9574 (update_dev_host): Move gomp_mutex_unlock to after
9575 host2dev/dev2host hook calls.
9576
9577 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
9578 to 'hsa_error_msg', for clarity.
9579 (hsa_fatal): Likewise.
9580 (hsa_error): New function.
9581 (init_hsa_context): Change return type to bool, adjust to return
9582 false on error.
9583 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
9584 return value.
9585 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
9586 return false on error.
9587 (get_agent_info): Adjust to return NULL on error.
9588 (destroy_hsa_program): Change return type to bool, adjust to
9589 return false on error.
9590 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
9591 (destroy_module): Change return type to bool, adjust to
9592 return false on error.
9593 (GOMP_OFFLOAD_unload_image): Likewise.
9594 (GOMP_OFFLOAD_fini_device): Likewise.
9595 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
9596 (GOMP_OFFLOAD_free): Change to return false when called.
9597 (GOMP_OFFLOAD_dev2host): Likewise.
9598 (GOMP_OFFLOAD_host2dev): Likewise.
9599 (GOMP_OFFLOAD_dev2dev): Likewise.
9600
9601 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
9602 (CUDA_CALL): Likewise.
9603 (CUDA_CALL_ASSERT): Likewise.
9604 (map_init): Change return type to bool, use CUDA_CALL* macros.
9605 (map_fini): Likewise.
9606 (init_streams_for_device): Change return type to bool, adjust
9607 call to map_init.
9608 (fini_streams_for_device): Change return type to bool, adjust
9609 call to map_fini.
9610 (select_stream_for_async): Release stream_lock before calls to
9611 GOMP_PLUGIN_fatal, adjust call to map_init.
9612 (nvptx_init): Use CUDA_CALL* macros.
9613 (nvptx_attach_host_thread_to_device): Change return type to bool,
9614 use CUDA_CALL* macros.
9615 (nvptx_open_device): Use CUDA_CALL* macros.
9616 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
9617 macros.
9618 (nvptx_get_num_devices): Use CUDA_CALL* macros.
9619 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
9620 (nvptx_exec): Use CUDA_CALL* macros.
9621 (nvptx_alloc): Use CUDA_CALL* macros.
9622 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
9623 (nvptx_host2dev): Likewise.
9624 (nvptx_dev2host): Likewise.
9625 (nvptx_wait): Use CUDA_CALL* macros.
9626 (nvptx_wait_async): Likewise.
9627 (nvptx_wait_all): Likewise.
9628 (nvptx_wait_all_async): Likewise.
9629 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
9630 use CUDA_CALL* macros, adjust call to map_fini.
9631 (GOMP_OFFLOAD_init_device): Change return type to bool,
9632 adjust code accordingly.
9633 (GOMP_OFFLOAD_fini_device): Likewise.
9634 (GOMP_OFFLOAD_load_image): Adjust calls to
9635 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
9636 use CUDA_CALL* macros.
9637 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
9638 return code.
9639 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
9640 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
9641 handle error return.
9642 (GOMP_OFFLOAD_dev2host): Likewise.
9643 (GOMP_OFFLOAD_host2dev): Likewise.
9644 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
9645 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
9646
9647 2016-05-24 Cesar Philippidis <cesar (a] codesourcery.com>
9648
9649 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
9650 (acc_free): Likewise.
9651 (acc_memcpy_to_device): Likewise.
9652 (acc_memcpy_from_device): Likewise.
9653 (acc_deviceptr): Likewise.
9654 (acc_hostptr): Likewise.
9655 (acc_is_present): Likewise.
9656 (acc_map_data): Likewise.
9657 (acc_unmap_data): Likewise.
9658 (present_create_copy): Likewise.
9659 (delete_copyout): Likewise.
9660 (update_dev_host): Likewise.
9661 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
9662 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
9663 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
9664 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9665 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
9666 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
9667 it only runs on nvptx targets.
9668 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9669 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9670 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9671 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9672 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9673 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9674 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9675 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9676 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9677 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9678 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9679 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9680 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9681 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9682 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9683 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9684 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9685 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9686 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9687 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9688 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9689 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9690 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9691
9692 2016-05-23 Martin Jambor <mjambor (a] suse.cz>
9693
9694 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
9695
9696 2016-05-17 Chung-Lin Tang <cltang (a] codesourcery.com>
9697
9698 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
9699 to gomp_init_targets_once.
9700 (acc_set_device_type): Remove !cached_base_dev condition on call to
9701 gomp_init_targets_once, move call to before acc_device_lock acquire,
9702 to avoid deadlock.
9703 (acc_get_device_num): Remove !cached_base_dev condition on call to
9704 gomp_init_targets_once.
9705 (acc_set_device_num): Likewise.
9706
9707 2016-05-16 Martin Jambor <mjambor (a] suse.cz>
9708
9709 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
9710
9711 2016-05-02 Nathan Sidwell <nathan (a] codesourcery.com>
9712
9713 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
9714 expected partitioning.
9715
9716 2016-04-29 Cesar Philippidis <cesar (a] codesourcery.com>
9717
9718 PR middle-end/70626
9719 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
9720 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
9721 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
9722
9723 2016-04-21 Alexander Monakov <amonakov (a] ispras.ru>
9724
9725 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
9726 non-fatal.
9727
9728 2016-04-19 Jakub Jelinek <jakub (a] redhat.com>
9729
9730 PR middle-end/70680
9731 * testsuite/libgomp.c/pr70680-1.c: New test.
9732 * testsuite/libgomp.c/pr70680-2.c: New test.
9733
9734 2016-04-14 Cesar Philippidis <cesar (a] codesourcery.com>
9735
9736 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
9737 pass parameter variables to subroutines.
9738
9739 2016-04-14 Cesar Philippidis <cesar (a] codesourcery.com>
9740
9741 PR middle-end/70643
9742 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
9743
9744 2016-04-13 Cesar Philippidis <cesar (a] codesourcery.com>
9745
9746 PR testsuite/68242
9747 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
9748 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9749
9750 2016-04-12 Thomas Schwinge <thomas (a] codesourcery.com>
9751
9752 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
9753 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
9754 GOACC_declare prototype.
9755
9756 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
9757 Merge this file, and...
9758 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
9759 ... this file, and...
9760 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
9761 ... this file, and...
9762 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
9763 ... this file, and...
9764 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
9765 ... this file, and...
9766 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
9767 ... this file, and...
9768 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
9769 ... this file, and...
9770 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
9771 ... this file, and...
9772 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
9773 ... this file, and...
9774 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
9775 ... this file, and...
9776 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
9777 ... this file, and...
9778 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
9779 ... this file, and...
9780 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
9781 ... this file into...
9782 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
9783 file.
9784
9785 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9786 Make failure observable.
9787
9788 2016-04-12 Jakub Jelinek <jakub (a] redhat.com>
9789
9790 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
9791 field.
9792 * target.c (gomp_target_fallback_firstprivate,
9793 gomp_target_unshare_firstprivate): Removed.
9794 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
9795 before waiting for dependencies.
9796 (gomp_target_task_fn): Don't copy firstprivate vars here.
9797 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
9798 firstprivate_copies here.
9799 (gomp_create_target_task): Don't initialize firstprivate_copies field.
9800 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
9801 explicit/implicit firstprivate.
9802
9803 2016-04-08 Cesar Philippidis <cesar (a] codesourcery.com>
9804
9805 PR lto/70289
9806 PR ipa/70348
9807 PR tree-optimization/70373
9808 PR middle-end/70533
9809 PR middle-end/70534
9810 PR middle-end/70535
9811 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
9812 test.
9813 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
9814 test.
9815 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
9816 test.
9817 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
9818 test.
9819 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
9820 test.
9821 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
9822 test.
9823 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
9824 test.
9825 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
9826 test.
9827 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
9828 test.
9829 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
9830 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
9831 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
9832 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
9833 test.
9834 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
9835 test.
9836 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
9837 test.
9838 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
9839 test.
9840 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
9841 coverage.
9842 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9843 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
9844 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
9845 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
9846 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
9847 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
9848 coverage.
9849 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9850 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9851 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9852 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9853 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
9854 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
9855 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
9856 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
9857 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
9858 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9859 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9860 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9861 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9862 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9863 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
9864
9865 2016-03-30 Thomas Schwinge <thomas (a] codesourcery.com>
9866 James Norris <jnorris (a] codesourcery.com>
9867 Nathan Sidwell <nathan (a] codesourcery.com>
9868 Julian Brown <julian (a] codesourcery.com>
9869 Cesar Philippidis <cesar (a] codesourcery.com>
9870 Chung-Lin Tang <cltang (a] codesourcery.com>
9871 Tom de Vries <tom (a] codesourcery.com>
9872
9873 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
9874 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9875 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9876 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
9877 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9878 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9879 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9880 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
9881 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9882 XFAIL.
9883 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
9884 Incorporate...
9885 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
9886 file.
9887 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
9888 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
9889 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
9890 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
9891 Likewise.
9892 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
9893 Likewise.
9894 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9895 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
9896 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
9897 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
9898 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
9899 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9900 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
9901 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
9902 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
9903 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
9904 Likewise.
9905 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
9906 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
9907 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
9908 file...
9909 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
9910 file into...
9911 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
9912 file. Update.
9913 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
9914 file.
9915 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
9916 Likewise.
9917 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
9918 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
9919 ... this new file. Update.
9920 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
9921 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
9922 ... this new file. Update.
9923 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
9924 file. Incorporate...
9925 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
9926 file, and...
9927 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
9928 file, and...
9929 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
9930 file.
9931 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
9932
9933 2016-03-29 Thomas Schwinge <thomas (a] codesourcery.com>
9934
9935 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
9936 set-torture-options.
9937
9938 2016-03-24 Thomas Schwinge <thomas (a] codesourcery.com>
9939
9940 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
9941 gcc-dg-runtest.
9942 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9943 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
9944 -fno-builtin-acc_on_device instead of -O0.
9945 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
9946 -O0.
9947 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9948 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
9949 Likewise.
9950 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9951 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9952 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9953 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9954 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9955 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9956 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9957 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9958 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9959 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9960 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9961 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9962 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9963 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9964 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9965 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9966 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9967 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
9968 Don't specify -O2.
9969 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
9970 Likewise.
9971 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
9972 Likewise.
9973
9974 2016-03-24 Martin Liska <mliska (a] suse.cz>
9975
9976 * plugin/plugin-hsa.c (packet_store_release): New function
9977 that is taken from the HSA runtime manual.
9978 (GOMP_OFFLOAD_run): Use the function.
9979
9980 2016-03-23 Jakub Jelinek <jakub (a] redhat.com>
9981
9982 PR c++/70376
9983 * testsuite/libgomp.c++/pr70376.C: New test.
9984
9985 2016-03-23 Tom de Vries <tom (a] codesourcery.com>
9986
9987 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
9988 initialization of lresult and lvresult.
9989 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
9990
9991 2016-03-23 James Norris <jnorris (a] codesourcery.com>
9992 Daichi Fukuoka <dc-fukuoka (a] sgi.com>
9993
9994 PR libgomp/69414
9995 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
9996 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
9997 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9998 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
9999
10000 2016-03-23 Martin Liska <mliska (a] suse.cz>
10001
10002 PR hsa/70337
10003 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
10004 argument just in case a dispatched kernel uses that argument.
10005
10006 2016-03-16 Thomas Schwinge <thomas (a] codesourcery.com>
10007
10008 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
10009 -ftree-parallelize-loops/-fopenacc changes.
10010 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
10011 Likewise.
10012 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10013 Likewise.
10014 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
10015 Likewise.
10016 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
10017 Likewise.
10018 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
10019 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
10020
10021 2016-03-13 Thomas Schwinge <thomas (a] codesourcery.com>
10022
10023 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
10024 always_ld_library_path the path to libgcc_s.
10025
10026 2016-03-10 Cesar Philippidis <cesar (a] codesourcery.com>
10027
10028 PR testsuite/70009
10029 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
10030
10031 2016-03-09 Tom de Vries <tom (a] codesourcery.com>
10032
10033 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
10034 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
10035 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10036 Same.
10037 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
10038 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
10039 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
10040 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
10041
10042 2016-03-07 Martin Jambor <mjambor (a] suse.cz>
10043
10044 * testsuite/lib/libgomp.exp
10045 (check_effective_target_hsa_offloading_selected_nocache): New.
10046 (check_effective_target_hsa_offloading_selected): Likewise.
10047 * testsuite/libgomp.hsa.c/c.exp: Likewise.
10048 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
10049 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
10050 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
10051 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
10052 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
10053 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
10054 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
10055 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
10056 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
10057 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
10058 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
10059 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
10060 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
10061 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
10062 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
10063 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
10064
10065 2016-03-07 Martin Jambor <mjambor (a] suse.cz>
10066
10067 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
10068 non-shared memory accelerators.
10069 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
10070 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
10071 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
10072 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
10073 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
10074 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
10075 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
10076 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
10077 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
10078
10079 2016-03-07 Martin Jambor <mjambor (a] suse.cz>
10080
10081 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
10082 ALWAYS_CFLAGS.
10083
10084 2016-03-02 Jakub Jelinek <jakub (a] redhat.com>
10085
10086 PR libgomp/69555
10087 * testsuite/libgomp.c++/pr69555-1.C: New test.
10088 * testsuite/libgomp.c++/pr69555-2.C: New test.
10089
10090 2016-02-26 Keith McDaniel <k.allen.mcdaniel (a] gmail.com>
10091 Martin Jambor <mjambor (a] suse.cz>
10092
10093 * testsuite/lib/libgomp.exp
10094 (check_effective_target_offload_device_shared_as): New proc.
10095 * testsuite/libgomp.c++/declare_target-1.C: New test.
10096
10097 2016-02-25 Ilya Verbin <ilya.verbin (a] intel.com>
10098
10099 PR driver/68463
10100 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
10101
10102 2016-02-23 Thomas Schwinge <thomas (a] codesourcery.com>
10103
10104 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
10105 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
10106 dims.
10107 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
10108 -ftree-parallelize-loops/-fopenacc changes.
10109 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
10110 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
10111 Likewise.
10112 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
10113 Likewise.
10114 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
10115 Likewise.
10116 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
10117 Likewise.
10118 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
10119 Likewise.
10120 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
10121 Likewise.
10122 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
10123 Likewise.
10124 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
10125 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
10126 Likewise.
10127 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
10128 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
10129 Likewise.
10130 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
10131 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
10132 Likewise.
10133
10134 2016-02-22 Cesar Philippidis <cesar (a] codesourcery.com>
10135
10136 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
10137
10138 2016-02-19 Jakub Jelinek <jakub (a] redhat.com>
10139
10140 PR driver/69805
10141 * testsuite/libgomp.c/pr69805.c: New test.
10142
10143 2016-02-16 Tom de Vries <tom (a] codesourcery.com>
10144
10145 PR lto/67709
10146 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
10147
10148 2016-02-09 Tom de Vries <tom (a] codesourcery.com>
10149
10150 PR tree-optimization/69599
10151 * testsuite/libgomp.c/omp-nested-3.c: New test.
10152 * testsuite/libgomp.c/pr46032-2.c: New test.
10153 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
10154 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
10155
10156 2016-02-09 Tom de Vries <tom (a] codesourcery.com>
10157
10158 PR lto/69707
10159 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
10160
10161 2016-02-02 Alexander Monakov <amonakov (a] ispras.ru>
10162
10163 * testsuite/libgomp.c/target-31.c: Fix testcase.
10164
10165 2016-02-02 Alexander Monakov <amonakov (a] ispras.ru>
10166
10167 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
10168 clause.
10169 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
10170 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
10171 reduction and map clauses.
10172 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10173
10174 2016-02-02 James Norris <jnorris (a] codesourcery.com>
10175
10176 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
10177
10178 2016-02-02 Thomas Schwinge <thomas (a] codesourcery.com>
10179
10180 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
10181 * oacc-parallel.c (GOACC_host_data): Remove function definition.
10182
10183 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
10184 cases.
10185
10186 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
10187 variables.
10188 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
10189 (hsa_kmt_lib): Set variables.
10190 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
10191 always_ld_library_path.
10192 * Makefile.in: Regenerate.
10193 * configure: Likewise.
10194 * testsuite/Makefile.in: Likewise.
10195
10196 * plugin/configfrag.ac (offload_additional_options)
10197 (offload_additional_lib_paths): Don't amend for hsa offloading.
10198 * configure: Regenerate.
10199
10200 * plugin/configfrag.ac: Don't configure for offloading target if
10201 we don't build the corresponding plugin.
10202 * configure: Regenerate.
10203
10204 2016-02-01 Nathan Sidwell <nathan (a] codesourcery.com>
10205
10206 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
10207 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
10208
10209 2016-01-26 Tom de Vries <tom (a] codesourcery.com>
10210
10211 PR tree-optimization/69110
10212 * testsuite/libgomp.c/pr69110.c: New test.
10213
10214 2016-01-25 Richard Biener <rguenther (a] suse.de>
10215
10216 PR lto/69393
10217 * testsuite/libgomp.c++/pr69393.C: New testcase.
10218
10219 2016-01-22 Ilya Verbin <ilya.verbin (a] intel.com>
10220
10221 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
10222 function wasn't mapped to the device with non-shared memory.
10223
10224 2016-01-20 Ilya Verbin <ilya.verbin (a] intel.com>
10225
10226 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
10227
10228 2016-01-19 Martin Jambor <mjambor (a] suse.cz>
10229 Martin Liska <mliska (a] suse.cz>
10230
10231 * plugin/Makefrag.am: Add HSA plugin requirements.
10232 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
10233 (HSA_RUNTIME_LIB): Likewise.
10234 (HSA_RUNTIME_CPPFLAGS): Likewise.
10235 (HSA_RUNTIME_INCLUDE): New substitution.
10236 (HSA_RUNTIME_LIB): Likewise.
10237 (HSA_RUNTIME_LDFLAGS): Likewise.
10238 (hsa-runtime): New configure option.
10239 (hsa-runtime-include): Likewise.
10240 (hsa-runtime-lib): Likewise.
10241 (PLUGIN_HSA): New substitution variable.
10242 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
10243 configure options.
10244 (PLUGIN_HSA_CPPFLAGS): Likewise.
10245 (PLUGIN_HSA_LDFLAGS): Likewise.
10246 (PLUGIN_HSA_LIBS): Likewise.
10247 Check that we have access to HSA run-time.
10248 * libgomp-plugin.h (offload_target_type): New element
10249 OFFLOAD_TARGET_TYPE_HSA.
10250 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
10251 args.
10252 (bool gomp_create_target_task): Updated.
10253 (gomp_device_descr): Extra parameter of run_func and async_run_func,
10254 new field can_run_func.
10255 * libgomp_g.h (GOMP_target_ext): Update prototype.
10256 * oacc-host.c (host_run): Added a new parameter args.
10257 * target.c (calculate_firstprivate_requirements): New function.
10258 (copy_firstprivate_data): Likewise.
10259 (gomp_target_fallback_firstprivate): Use them.
10260 (gomp_target_unshare_firstprivate): New function.
10261 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
10262 devices.
10263 (GOMP_target): Do host fallback for all shared memory devices. Do not
10264 pass any args to plugins.
10265 (GOMP_target_ext): Introduce device-specific argument parameter args.
10266 Allow host fallback if device shares memory. Do not remap data if
10267 device has shared memory.
10268 (gomp_target_task_fn): Likewise. Also treat shared memory devices
10269 like host fallback for mappings.
10270 (GOMP_target_data): Treat shared memory devices like host fallback.
10271 (GOMP_target_data_ext): Likewise.
10272 (GOMP_target_update): Likewise.
10273 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
10274 gomp_create_target_task.
10275 (GOMP_target_enter_exit_data): Likewise.
10276 (omp_target_alloc): Treat shared memory devices like host fallback.
10277 (omp_target_free): Likewise.
10278 (omp_target_is_present): Likewise.
10279 (omp_target_memcpy): Likewise.
10280 (omp_target_memcpy_rect): Likewise.
10281 (omp_target_associate_ptr): Likewise.
10282 (gomp_load_plugin_for_device): Also load can_run.
10283 * task.c (GOMP_PLUGIN_target_task_completion): Free
10284 firstprivate_copies.
10285 (gomp_create_target_task): Accept new argument args and store it to
10286 ttask.
10287 * plugin/plugin-hsa.c: New file.
10288
10289 2016-01-18 Tom de Vries <tom (a] codesourcery.com>
10290
10291 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
10292 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
10293 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
10294 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
10295 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
10296 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
10297 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
10298 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
10299 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
10300 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
10301 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10302 Same.
10303 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10304 Same.
10305 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
10306 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
10307 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
10308 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
10309 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
10310 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
10311 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
10312 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10313 Same.
10314 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
10315
10316 2016-01-15 Jakub Jelinek <jakub (a] redhat.com>
10317
10318 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
10319
10320 2016-01-15 Cesar Philippidis <cesar (a] codesourcery.com>
10321
10322 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
10323
10324 2016-01-12 James Norris <jnorris (a] codesourcery.com>
10325
10326 * libgomp.texi: Updates for OpenACC.
10327
10328 2016-01-11 Alexander Monakov <amonakov (a] ispras.ru>
10329
10330 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
10331
10332 2016-01-07 H.J. Lu <hongjiu.lu (a] intel.com>
10333
10334 PR fortran/66680
10335 * testsuite/libgomp.fortran/pr66680.f90: New test.
10336
10337 2016-01-07 Jakub Jelinek <jakub (a] redhat.com>
10338
10339 PR middle-end/68960
10340 * testsuite/libgomp.c/pr68960.c: New test.
10341
10342 2016-01-06 Nathan Sidwell <nathan (a] acm.org>
10343
10344 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
10345 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
10346
10347 2016-01-04 Jakub Jelinek <jakub (a] redhat.com>
10348
10349 Update copyright years.
10350
10351 * libgomp.texi: Bump @copying's copyright year.
10352
10353 2015-12-31 Nathan Sidwell <nathan (a] acm.org>
10354
10355 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
10356 dg-additional-options syntax.
10357 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10358 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10359 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10360 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10361 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10362 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10363 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10364 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10365 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10366 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10367 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10368 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10369 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10370 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
10371 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10372 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10373 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10374 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10375
10376 2015-12-15 Ilya Verbin <ilya.verbin (a] intel.com>
10377
10378 * libgomp.h (REFCOUNT_LINK): Define.
10379 (struct splay_tree_key_s): Add link_key.
10380 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
10381 Replace target address of the pointer with target address of newly
10382 mapped object in the splay tree. Set link pointer on target to the
10383 device address of the mapped object.
10384 (gomp_unmap_vars): Restore target address of the pointer in the splay
10385 tree for REFCOUNT_LINK objects after unmapping.
10386 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
10387 declare target link" objects.
10388 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
10389 "omp declare target link" objects, which were mapped for the image.
10390 (gomp_exit_data): Restore target address of the pointer in the splay
10391 tree for REFCOUNT_LINK objects after unmapping.
10392 * testsuite/libgomp.c/target-link-1.c: New file.
10393
10394 2015-12-14 Ilya Verbin <ilya.verbin (a] intel.com>
10395
10396 * libgomp.h (gomp_device_state): New enum.
10397 (struct gomp_device_descr): Replace is_initialized with state.
10398 (gomp_fini_device): Remove declaration.
10399 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
10400 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
10401 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
10402 (acc_set_device_type): Use state instead of is_initialized.
10403 (acc_set_device_num): Likewise.
10404 * target.c (resolve_device): Use state instead of is_initialized.
10405 Do not initialize finalized device.
10406 (gomp_map_vars): Do nothing if device is finalized.
10407 (gomp_unmap_vars): Likewise.
10408 (gomp_update): Likewise.
10409 (GOMP_offload_register_ver): Use state instead of is_initialized.
10410 (GOMP_offload_unregister_ver): Likewise.
10411 (gomp_init_device): Likewise.
10412 (gomp_unload_device): Likewise.
10413 (gomp_fini_device): Remove.
10414 (gomp_get_target_fn_addr): Do nothing if device is finalized.
10415 (GOMP_target): Go to host fallback if device is finalized.
10416 (GOMP_target_ext): Likewise.
10417 (gomp_exit_data): Do nothing if device is finalized.
10418 (gomp_target_task_fn): Go to host fallback if device is finalized.
10419 (gomp_target_fini): New static function.
10420 (gomp_target_init): Use state instead of is_initialized.
10421 Call gomp_target_fini at exit.
10422
10423 2015-12-09 Tom de Vries <tom (a] codesourcery.com>
10424
10425 PR tree-optimization/68716
10426 * testsuite/libgomp.c/omp-nested-2.c: New test.
10427
10428 2015-12-02 Thomas Schwinge <thomas (a] codesourcery.com>
10429
10430 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
10431 target openacc_nvidia_accel_selected.
10432 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
10433 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
10434 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
10435 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
10436
10437 2015-12-01 Julian Brown <julian (a] codesourcery.com>
10438 James Norris <James_Norris (a] mentor.com>
10439
10440 * oacc-parallel.c (GOACC_host_data): New function.
10441 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
10442 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
10443 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
10444 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
10445 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
10446 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
10447 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
10448
10449 2015-11-30 James Norris <jnorris (a] codesourcery.com>
10450 Cesar Philippidis <cesar (a] codesourcery.com>
10451
10452 libgomp/
10453 * libgomp.oacc-fortran/routine-5.f90: New test.
10454 * libgomp.oacc-fortran/routine-7.f90: New test.
10455 * libgomp.oacc-fortran/routine-9.f90: New test.
10456
10457 2015-11-30 Tom de Vries <tom (a] codesourcery.com>
10458
10459 PR tree-optimization/46032
10460 * testsuite/libgomp.c/pr46032.c: New test.
10461
10462 2015-11-27 Jakub Jelinek <jakub (a] redhat.com>
10463
10464 PR libgomp/68579
10465 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
10466 (gomp_create_target_task): Call it before freeing
10467 GOMP_TARGET_TASK_DATA tasks.
10468
10469 PR c/63326
10470 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
10471 in between case label and OpenMP standalone directives.
10472 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
10473
10474 2015-11-26 David Edelsohn <dje.gcc (a] gmail.com>
10475
10476 * configure: Regenerate.
10477
10478 2015-11-26 Jakub Jelinek <jakub (a] redhat.com>
10479
10480 * testsuite/libgomp.c/target-35.c: New test.
10481
10482 2015-11-22 James Norris <jnorris (a] codesourcery.com>
10483 Cesar Philippidis <cesar (a] codesourcery.com>
10484
10485 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
10486 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10487 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10488 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10489 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10490
10491 2015-11-20 Jakub Jelinek <jakub (a] redhat.com>
10492
10493 PR middle-end/68221
10494 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
10495 * testsuite/libgomp.c/reduction-12.c: Likewise.
10496 * testsuite/libgomp.c++/reduction-11.C: Likewise.
10497 * testsuite/libgomp.c++/reduction-12.C: Likewise.
10498
10499 2015-11-19 Nathan Sidwell <nathan (a] codesourcery.com>
10500
10501 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
10502 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
10503 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
10504 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
10505 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
10506 and fix.
10507 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10508 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10509
10510 2015-11-18 Nathan Sidwell <nathan (a] codesourcery.com>
10511
10512 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
10513 worker & gang cases.
10514 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
10515
10516 2015-11-17 Cesar Philippidis <cesar (a] codesourcery.com>
10517
10518 * config/nvptx/priority_queue.c: New file.
10519
10520 2015-11-14 Jakub Jelinek <jakub (a] redhat.com>
10521
10522 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
10523 sections.
10524
10525 2015-11-14 Jakub Jelinek <jakub (a] redhat.com>
10526 Aldy Hernandez <aldyh (a] redhat.com>
10527 Ilya Verbin <ilya.verbin (a] intel.com>
10528
10529 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
10530 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
10531 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
10532 iterators or IV by chunk size.
10533 * parallel.c (gomp_resolve_num_threads): Don't assume that
10534 if thr->ts.team is non-NULL, then pool must be non-NULL.
10535 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
10536 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
10537 GOMP_PLUGIN_target_task_completion.
10538 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
10539 * Makefile.in: Regenerate.
10540 * libgomp.h: Shuffle prototypes and forward definitions around so
10541 priority queues can be defined.
10542 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
10543 (enum gomp_target_task_state): New enum.
10544 (struct gomp_target_task): Add state, tgt, task and team fields.
10545 (gomp_create_target_task): Change return type to bool, add
10546 state argument.
10547 (gomp_target_task_fn): Change return type to bool.
10548 (struct gomp_device_descr): Add async_run_func.
10549 (struct gomp_task): Remove children, next_child, prev_child,
10550 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
10551 Add pnode field.
10552 (struct gomp_taskgroup): Remove children.
10553 Add taskgroup_queue.
10554 (struct gomp_team): Change task_queue type to a priority queue.
10555 (splay_compare): Define inline.
10556 (priority_queue_offset): New.
10557 (priority_node_to_task): New.
10558 (task_to_priority_node): New.
10559 * oacc-mem.c: Do not include splay-tree.h.
10560 * priority_queue.c: New file.
10561 * priority_queue.h: New file.
10562 * splay-tree.c: Do not include splay-tree.h.
10563 (splay_tree_foreach_internal): New.
10564 (splay_tree_foreach): New.
10565 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
10566 (splay_tree_callback): Define typedef.
10567 * target.c (splay_compare): Move to libgomp.h.
10568 (GOMP_target): Don't adjust *thr in any way around running offloaded
10569 task.
10570 (GOMP_target_ext): Likewise. Handle target nowait.
10571 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
10572 return value from gomp_create_target_task, if false, fallthrough
10573 as if no dependencies exist.
10574 (gomp_target_task_fn): Change return type to bool, return true
10575 if the task should have another part scheduled later. Handle
10576 target nowait.
10577 (gomp_load_plugin_for_device): Initialize async_run.
10578 * task.c (gomp_init_task): Initialize children_queue.
10579 (gomp_clear_parent_in_list): New.
10580 (gomp_clear_parent_in_tree): New.
10581 (gomp_clear_parent): Handle priorities.
10582 (GOMP_task): Likewise.
10583 (priority_queue_move_task_first,
10584 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
10585 New functions.
10586 (gomp_create_target_task): Use priority queues. Change return type
10587 to bool, add state argument, return false if for async
10588 {{enter,exit} data,update} constructs no dependencies need to be
10589 waited for, handle target nowait. Set task->fn to NULL instead of
10590 gomp_target_task_fn.
10591 (verify_children_queue): Remove.
10592 (priority_list_upgrade_task): New.
10593 (priority_queue_upgrade_task): New.
10594 (verify_task_queue): Remove.
10595 (priority_list_downgrade_task): New.
10596 (priority_queue_downgrade_task): New.
10597 (gomp_task_run_pre): Use priority queues.
10598 Abstract code out to priority_queue_downgrade_task.
10599 (gomp_task_run_post_handle_dependers): Use priority queues.
10600 (gomp_task_run_post_remove_parent): Likewise.
10601 (gomp_task_run_post_remove_taskgroup): Likewise.
10602 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
10603 tasks specially.
10604 (GOMP_taskwait): Likewise.
10605 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
10606 priority-queue_upgrade_task.
10607 (GOMP_taskgroup_start): Use priority queues.
10608 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
10609 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
10610 barrier.
10611 * taskloop.c (GOMP_taskloop): Handle priorities.
10612 * team.c (gomp_new_team): Call priority_queue_init.
10613 (free_team): Call priority_queue_free.
10614 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
10615 team created for target nowait in implicit parallel region.
10616 (gomp_team_start): For nested check, test thr->ts.level instead of
10617 thr->ts.team != NULL.
10618 * testsuite/libgomp.c/doacross-3.c: New test.
10619 * testsuite/libgomp.c/ordered-5.c: New test.
10620 * testsuite/libgomp.c/priority.c: New test.
10621 * testsuite/libgomp.c/target-31.c: New test.
10622 * testsuite/libgomp.c/target-32.c: New test.
10623 * testsuite/libgomp.c/target-33.c: New test.
10624 * testsuite/libgomp.c/target-34.c: New test.
10625
10626 2015-11-13 Nathan Sidwell <nathan (a] codesourcery.com>
10627
10628 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
10629
10630 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
10631 loop is sequential.
10632
10633 2015-11-13 Nathan Sidwell <nathan (a] codesourcery.com>
10634
10635 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
10636 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
10637
10638 2015-11-12 James Norris <jnorris (a] codesourcery.com>
10639 Joseph Myers <joseph (a] codesourcery.com>
10640
10641 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
10642 * oacc-parallel.c (GOACC_declare): New function.
10643 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
10644 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
10645 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
10646 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
10647 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
10648
10649 2015-11-12 Nathan Sidwell <nathan (a] codesourcery.com>
10650
10651 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
10652
10653 2015-11-1 Nathan Sidwell <nathan (a] codesourcery.com>
10654
10655 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
10656 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
10657
10658 2015-11-09 Nathan Sidwell <nathan (a] codesourcery.com>
10659
10660 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
10661 inadvertent commit.
10662
10663 2015-11-09 Nathan Sidwell <nathan (a] codesourcery.com>
10664
10665 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
10666 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
10667 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
10668 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
10669 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
10670
10671 2015-11-06 Thomas Schwinge <thomas (a] codesourcery.com>
10672
10673 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
10674 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10675
10676 2015-11-05 Jakub Jelinek <jakub (a] redhat.com>
10677 Ilya Verbin <ilya.verbin (a] intel.com>
10678
10679 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
10680 GOMP_loop_nonmonotonic_dynamic_start,
10681 GOMP_loop_nonmonotonic_guided_next,
10682 GOMP_loop_nonmonotonic_guided_start,
10683 GOMP_loop_ull_nonmonotonic_dynamic_next,
10684 GOMP_loop_ull_nonmonotonic_dynamic_start,
10685 GOMP_loop_ull_nonmonotonic_guided_next,
10686 GOMP_loop_ull_nonmonotonic_guided_start,
10687 GOMP_parallel_loop_nonmonotonic_dynamic,
10688 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
10689 (GOMP_target_41): Renamed to ...
10690 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10691 arguments.
10692 (GOMP_target_data_41): Renamed to ...
10693 (GOMP_target_data_ext): ... this.
10694 (GOMP_target_update_41): Renamed to ...
10695 (GOMP_target_update_ext): ... this.
10696 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
10697 GOMP_target_data_ext and GOMP_target_update_ext instead of
10698 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
10699 Export GOMP_loop_nonmonotonic_dynamic_next,
10700 GOMP_loop_nonmonotonic_dynamic_start,
10701 GOMP_loop_nonmonotonic_guided_next,
10702 GOMP_loop_nonmonotonic_guided_start,
10703 GOMP_loop_ull_nonmonotonic_dynamic_next,
10704 GOMP_loop_ull_nonmonotonic_dynamic_start,
10705 GOMP_loop_ull_nonmonotonic_guided_next,
10706 GOMP_loop_ull_nonmonotonic_guided_start,
10707 GOMP_parallel_loop_nonmonotonic_dynamic and
10708 GOMP_parallel_loop_nonmonotonic_guided.
10709 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
10710 GOMP_parallel_loop_nonmonotonic_guided,
10711 GOMP_loop_nonmonotonic_dynamic_start,
10712 GOMP_loop_nonmonotonic_guided_start,
10713 GOMP_loop_nonmonotonic_dynamic_next,
10714 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
10715 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
10716 GOMP_loop_ull_nonmonotonic_guided_start,
10717 GOMP_loop_ull_nonmonotonic_dynamic_next,
10718 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
10719 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
10720 functions.
10721 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
10722 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
10723 Use gomp_map_val function.
10724 (gomp_target_fallback_firstprivate): New static function.
10725 (GOMP_target_41): Renamed to ...
10726 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10727 arguments. Move firstprivate fallback handling into a new
10728 function.
10729 (GOMP_target_data_41): Renamed to ...
10730 (GOMP_target_data_ext): ... this.
10731 (GOMP_target_update_41): Renamed to ...
10732 (GOMP_target_update_ext): ... this.
10733 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
10734 gomp_map_0len_lookup instead of gomp_map_lookup.
10735 (omp_target_is_present): Use gomp_map_0len_lookup instead of
10736 gomp_map_lookup.
10737 * testsuite/libgomp.c/target-28.c: Likewise.
10738 * testsuite/libgomp.c/monotonic-1.c: New test.
10739 * testsuite/libgomp.c/monotonic-2.c: New test.
10740 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
10741 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
10742 * testsuite/libgomp.c/pr66199-5.c: New test.
10743 * testsuite/libgomp.c/pr66199-6.c: New test.
10744 * testsuite/libgomp.c/pr66199-7.c: New test.
10745 * testsuite/libgomp.c/pr66199-8.c: New test.
10746 * testsuite/libgomp.c/pr66199-9.c: New test.
10747 * testsuite/libgomp.c/reduction-11.c: New test.
10748 * testsuite/libgomp.c/reduction-12.c: New test.
10749 * testsuite/libgomp.c/reduction-13.c: New test.
10750 * testsuite/libgomp.c/reduction-14.c: New test.
10751 * testsuite/libgomp.c/reduction-15.c: New test.
10752 * testsuite/libgomp.c/target-12.c (main): Adjust for
10753 omp_target_is_present change for one-past-last element.
10754 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
10755 the same var is both mapped and privatized.
10756 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
10757 handling of zero-length array sections.
10758 * testsuite/libgomp.c/target-28.c: New test.
10759 * testsuite/libgomp.c/target-29.c: New test.
10760 * testsuite/libgomp.c/target-30.c: New test.
10761 * testsuite/libgomp.c/target-teams-1.c: New test.
10762 * testsuite/libgomp.c++/member-6.C: New test.
10763 * testsuite/libgomp.c++/member-7.C: New test.
10764 * testsuite/libgomp.c++/monotonic-1.C: New test.
10765 * testsuite/libgomp.c++/monotonic-2.C: New test.
10766 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
10767 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
10768 * testsuite/libgomp.c++/pr66199-3.C: New test.
10769 * testsuite/libgomp.c++/pr66199-4.C: New test.
10770 * testsuite/libgomp.c++/pr66199-5.C: New test.
10771 * testsuite/libgomp.c++/pr66199-6.C: New test.
10772 * testsuite/libgomp.c++/pr66199-7.C: New test.
10773 * testsuite/libgomp.c++/pr66199-8.C: New test.
10774 * testsuite/libgomp.c++/pr66199-9.C: New test.
10775 * testsuite/libgomp.c++/reduction-11.C: New test.
10776 * testsuite/libgomp.c++/reduction-12.C: New test.
10777 * testsuite/libgomp.c++/target-13.C: New test.
10778 * testsuite/libgomp.c++/target-14.C: New test.
10779 * testsuite/libgomp.c++/target-15.C: New test.
10780 * testsuite/libgomp.c++/target-16.C: New test.
10781 * testsuite/libgomp.c++/target-17.C: New test.
10782 * testsuite/libgomp.c++/target-18.C: New test.
10783 * testsuite/libgomp.c++/target-19.C: New test.
10784
10785 2015-11-04 Nathan Sidwell <nathan (a] codesourcery.com>
10786
10787 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
10788 and reduction copy.
10789 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10790 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10791 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10792 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10793 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
10794 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10795 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
10796 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10797 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10798 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
10799 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
10800 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10801 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10802 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
10803
10804 2015-11-04 Nathan Sidwell <nathan (a] codesourcery.com>
10805
10806 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
10807 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
10808 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
10809 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
10810 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
10811 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
10812 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
10813 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
10814
10815 2015-11-03 Nathan Sidwell <nathan (a] codesourcery.com>
10816
10817 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
10818 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
10819 (GOMP_OFFLOAD_openacc_parallel): Likewise.
10820 * oacc-host.c (host_openacc_exec): Likewise.
10821 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
10822
10823 2015-11-03 Julian Brown <julian (a] codesourcery.com>
10824 Thomas Schwinge <thomas (a] codesourcery.com>
10825
10826 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
10827 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10828 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
10829 Likewise.
10830 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
10831 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
10832
10833 2015-11-03 James Norris <jnorris (a] codesourcery.com>
10834
10835 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
10836 file.
10837 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
10838 Likewise.
10839 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
10840 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
10841 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
10842 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
10843 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
10844
10845 2015-10-29 Nathan Sidwell <nathan (a] codesourcery.com>
10846
10847 * openacc.h (enum acc_device_t): Reformat. Ensure layout
10848 compatibility.
10849 (enum acc_async_t): Reformat.
10850 (acc_on_device): Declare compatible with builtin and provide C++
10851 wrapper.
10852 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
10853
10854 2015-10-29 Thomas Schwinge <thomas (a] codesourcery.com>
10855 Cesar Philippidis <cesar (a] codesourcery.com>
10856
10857 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
10858 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
10859 ... this. Add a description of the test at the top of the file.
10860 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
10861 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
10862 ... this. Add a description of the test at the top of the file.
10863
10864 2015-10-28 Nathan Sidwell <nathan (a] codesourcery.com>
10865
10866 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
10867 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
10868 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
10869 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
10870 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
10871 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
10872
10873 2015-10-27 Nathan Sidwell <nathan (a] codesourcery.com>
10874
10875 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
10876 dimensions.
10877
10878 2015-10-27 Thomas Schwinge <thomas (a] codesourcery.com>
10879
10880 PR testsuite/68063
10881 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
10882
10883 2015-10-27 James Norris <jnorris (a] codesourcery.com>
10884
10885 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
10886 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
10887
10888 2015-10-26 Thomas Schwinge <thomas (a] codesourcery.com>
10889
10890 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
10891 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10892
10893 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
10894 acc_device_nvidia usage.
10895 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
10896 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10897 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
10898
10899 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
10900 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
10901
10902 PR libgomp/66518
10903 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
10904
10905 PR libgomp/65437
10906 PR libgomp/66518
10907 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
10908 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
10909
10910 2015-10-23 Tom de Vries <tom (a] codesourcery.com>
10911
10912 PR testsuite/68063
10913 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
10914
10915 2015-10-20 Nathan Sidwell <nathan (a] codesourcery.com>
10916
10917 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
10918 vector_length.
10919 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10920
10921 2015-10-14 Ilya Verbin <ilya.verbin (a] intel.com>
10922 Aleksander Ivanushenko <aleksander.ivanushenko (a] intel.com>
10923
10924 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
10925 to 0 when mapnum is 0.
10926
10927 2015-10-14 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
10928
10929 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
10930 Cast to int from int32_t.
10931
10932 2015-10-13 Jakub Jelinek <jakub (a] redhat.com>
10933 Aldy Hernandez <aldyh (a] redhat.com>
10934 Ilya Verbin <ilya.verbin (a] intel.com>
10935
10936 * config/linux/affinity.c (omp_get_place_num_procs,
10937 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10938 * config/linux/doacross.h: New file.
10939 * config/posix/affinity.c (omp_get_place_num_procs,
10940 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10941 * config/posix/doacross.h: New file.
10942 * env.c: Include gomp-constants.h.
10943 (struct gomp_task_icv): Rename run_sched_modifier to
10944 run_sched_chunk_size.
10945 (gomp_max_task_priority_var): New variable.
10946 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
10947 (handle_omp_display_env): Change _OPENMP value from 201307 to
10948 201511. Print OMP_MAX_TASK_PRIORITY.
10949 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
10950 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
10951 chunk_size and run_sched_modifier to run_sched_chunk_size.
10952 (omp_get_max_task_priority, omp_get_initial_device,
10953 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
10954 omp_get_partition_place_nums): New functions.
10955 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
10956 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
10957 to chunk_size.
10958 (omp_get_num_places_, omp_get_place_num_procs_,
10959 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
10960 omp_get_place_proc_ids_8_, omp_get_place_num_,
10961 omp_get_partition_num_places_, omp_get_partition_place_nums_,
10962 omp_get_partition_place_nums_8_, omp_get_initial_device_,
10963 omp_get_max_task_priority_): New functions.
10964 * libgomp_g.h (GOMP_loop_doacross_static_start,
10965 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
10966 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
10967 GOMP_loop_ull_doacross_dynamic_start,
10968 GOMP_loop_ull_doacross_guided_start,
10969 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
10970 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
10971 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
10972 GOMP_target_data_41, GOMP_target_update_41,
10973 GOMP_target_enter_exit_data): New prototypes.
10974 (GOMP_task): Add prototype argument.
10975 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
10976 (struct gomp_doacross_work_share): New type.
10977 (struct gomp_work_share): Add doacross field.
10978 (struct gomp_task_icv): Rename run_sched_modifier to
10979 run_sched_chunk_size.
10980 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
10981 GOMP_TASK_UNDEFERRED. Add comments.
10982 (struct gomp_task_depend_entry): Add comments.
10983 (struct gomp_task): Likewise.
10984 (struct gomp_taskgroup): Likewise.
10985 (struct gomp_target_task): New type.
10986 (struct gomp_team): Add comment.
10987 (gomp_get_place_proc_ids_8, gomp_doacross_init,
10988 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
10989 gomp_create_target_task, gomp_target_task_fn): New prototypes.
10990 (struct target_var_desc): New type.
10991 (struct target_mem_desc): Adjust comment. Use struct
10992 target_var_desc instead of splay_tree_key for list.
10993 (REFCOUNT_INFINITY): Define.
10994 (struct splay_tree_key_s): Remove copy_from field.
10995 (struct gomp_device_descr): Add dev2dev_func field.
10996 (enum gomp_map_vars_kind): New enum.
10997 (gomp_map_vars): Add one argument.
10998 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
10999 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
11000 omp_get_place_num_procs, omp_get_place_num_procs_,
11001 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
11002 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
11003 omp_get_place_num_, omp_get_partition_num_places,
11004 omp_get_partition_num_places_, omp_get_partition_place_nums,
11005 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
11006 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
11007 omp_target_free, omp_target_is_present, omp_target_memcpy,
11008 omp_target_memcpy_rect, omp_target_associate_ptr and
11009 omp_target_disassociate_ptr.
11010 (GOMP_4.0.2): Renamed to ...
11011 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
11012 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
11013 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
11014 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11015 GOMP_loop_doacross_static_start, GOMP_doacross_post,
11016 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
11017 GOMP_loop_ull_doacross_guided_start,
11018 GOMP_loop_ull_doacross_runtime_start,
11019 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
11020 GOMP_doacross_ull_wait.
11021 * libgomp.texi: Document omp_get_max_task_priority.
11022 Rename modifier argument to chunk_size for omp_set_schedule and
11023 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
11024 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
11025 to run_sched_chunk_size renaming.
11026 (GOMP_loop_ordered_runtime_start): Likewise.
11027 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
11028 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11029 GOMP_parallel_loop_runtime_start): New functions.
11030 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
11031 to run_sched_chunk_size renaming.
11032 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
11033 GOMP_loop_doacross_guided_start): New functions or aliases.
11034 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
11035 run_sched_modifier to run_sched_chunk_size renaming.
11036 (GOMP_loop_ull_ordered_runtime_start): Likewise.
11037 (gomp_loop_ull_doacross_static_start,
11038 gomp_loop_ull_doacross_dynamic_start,
11039 gomp_loop_ull_doacross_guided_start,
11040 GOMP_loop_ull_doacross_runtime_start): New functions.
11041 (GOMP_loop_ull_doacross_static_start,
11042 GOMP_loop_ull_doacross_dynamic_start,
11043 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
11044 * oacc-mem.c (acc_map_data, present_create_copy,
11045 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
11046 to gomp_map_vars.
11047 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
11048 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
11049 instead of false to gomp_map_vars.
11050 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
11051 * omp.h.in (omp_lock_hint_t): New type.
11052 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11053 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11054 omp_get_place_num, omp_get_partition_num_places,
11055 omp_get_partition_place_nums, omp_get_initial_device,
11056 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
11057 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
11058 omp_target_associate_ptr, omp_target_disassociate_ptr): New
11059 prototypes.
11060 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
11061 (omp_lock_hint_none, omp_lock_hint_uncontended,
11062 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11063 omp_lock_hint_speculative): New parameters.
11064 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11065 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11066 omp_get_place_num, omp_get_partition_num_places,
11067 omp_get_partition_place_nums, omp_get_initial_device,
11068 omp_get_max_task_priority): New interfaces.
11069 (omp_set_schedule, omp_get_schedule): Rename modifier argument
11070 to chunk_size.
11071 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
11072 (omp_lock_hint_none, omp_lock_hint_uncontended,
11073 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11074 omp_lock_hint_speculative): New parameters.
11075 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11076 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11077 omp_get_place_num, omp_get_partition_num_places,
11078 omp_get_partition_place_nums, omp_get_initial_device,
11079 omp_get_max_task_priority): New functions and subroutines.
11080 * ordered.c: Include stdarg.h and string.h.
11081 (MAX_COLLAPSED_BITS): Define.
11082 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
11083 gomp_doacross_ull_init, GOMP_doacross_ull_post,
11084 GOMP_doacross_ull_wait): New functions.
11085 * target.c: Include errno.h.
11086 (resolve_device): If device is not initialized, call
11087 gomp_init_device on it.
11088 (gomp_map_lookup): New function.
11089 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
11090 Don't bump refcount if REFCOUNT_INFINITY. Handle
11091 GOMP_MAP_ALWAYS_TO_P.
11092 (get_kind): Rename is_openacc argument to short_mapkind.
11093 (gomp_map_pointer): Use gomp_map_lookup.
11094 (gomp_map_fields_existing): New function.
11095 (gomp_map_vars): Rename is_openacc argument to short_mapkind
11096 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
11097 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
11098 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
11099 Adjust for tgt->list changed type and copy_from living in there.
11100 (gomp_copy_from_async): Adjust for tgt->list changed type and
11101 copy_from living in there.
11102 (gomp_unmap_vars): Likewise.
11103 (gomp_update): Likewise. Rename is_openacc argument to
11104 short_mapkind. Don't fail if object is not mapped.
11105 (gomp_load_image_to_device): Initialize refcount to
11106 REFCOUNT_INFINITY.
11107 (gomp_target_fallback): New function.
11108 (gomp_get_target_fn_addr): Likewise.
11109 (GOMP_target): Adjust gomp_map_vars caller, use
11110 gomp_get_target_fn_addr and gomp_target_fallback.
11111 (GOMP_target_41): New function.
11112 (gomp_target_data_fallback): New function.
11113 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
11114 (GOMP_target_data_41): New function.
11115 (GOMP_target_update): Adjust gomp_update caller.
11116 (GOMP_target_update_41): New function.
11117 (gomp_exit_data, GOMP_target_enter_exit_data,
11118 gomp_target_task_fn, omp_target_alloc, omp_target_free,
11119 omp_target_is_present, omp_target_memcpy,
11120 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
11121 omp_target_associate_ptr, omp_target_disassociate_ptr,
11122 gomp_load_plugin_for_device): New functions.
11123 * task.c: Include gomp-constants.h. Include taskloop.c
11124 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
11125 (gomp_task_handle_depend): New function.
11126 (GOMP_task): Use it. Add priority argument. Use
11127 gomp-constant.h constants instead of hardcoded numbers.
11128 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
11129 (gomp_create_target_task): New function.
11130 (verify_children_queue, verify_taskgroup_queue,
11131 verify_task_queue): New functions.
11132 (gomp_task_run_pre): Call verify_*_queue functions.
11133 If an upcoming tied task is about to leave the sibling or
11134 taskgroup queues in an invalid state, adjust appropriately.
11135 Remove taskgroup argument. Add comments.
11136 (gomp_task_run_post_handle_dependers): Add comments.
11137 (gomp_task_run_post_remove_parent): Likewise.
11138 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
11139 (GOMP_taskwait): Likewise. Add comments.
11140 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
11141 problem such that the first non parent_depends_on task does not
11142 end up at the end of the children queue.
11143 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
11144 GOMP_TASK_UNDEFERRED.
11145 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
11146 * taskloop.c: New file.
11147 * testsuite/lib/libgomp.exp
11148 (check_effective_target_offload_device_nonshared_as): New proc.
11149 * testsuite/libgomp.c/affinity-2.c: New test.
11150 * testsuite/libgomp.c/doacross-1.c: New test.
11151 * testsuite/libgomp.c/doacross-2.c: New test.
11152 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
11153 Add map clause to target.
11154 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
11155 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
11156 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
11157 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
11158 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
11159 Likewise.
11160 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
11161 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
11162 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
11163 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
11164 not defined. Use those where needed.
11165 * testsuite/libgomp.c/for-4.c: New test.
11166 * testsuite/libgomp.c/for-5.c: New test.
11167 * testsuite/libgomp.c/for-6.c: New test.
11168 * testsuite/libgomp.c/linear-1.c: New test.
11169 * testsuite/libgomp.c/ordered-4.c: New test.
11170 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
11171 only allowed on the loop iterator.
11172 * testsuite/libgomp.c/pr66199-3.c: New test.
11173 * testsuite/libgomp.c/pr66199-4.c: New test.
11174 * testsuite/libgomp.c/reduction-7.c: New test.
11175 * testsuite/libgomp.c/reduction-8.c: New test.
11176 * testsuite/libgomp.c/reduction-9.c: New test.
11177 * testsuite/libgomp.c/reduction-10.c: New test.
11178 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
11179 map(tofrom:s).
11180 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
11181 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
11182 * testsuite/libgomp.c/target-11.c: New test.
11183 * testsuite/libgomp.c/target-12.c: New test.
11184 * testsuite/libgomp.c/target-13.c: New test.
11185 * testsuite/libgomp.c/target-14.c: New test.
11186 * testsuite/libgomp.c/target-15.c: New test.
11187 * testsuite/libgomp.c/target-16.c: New test.
11188 * testsuite/libgomp.c/target-17.c: New test.
11189 * testsuite/libgomp.c/target-18.c: New test.
11190 * testsuite/libgomp.c/target-19.c: New test.
11191 * testsuite/libgomp.c/target-20.c: New test.
11192 * testsuite/libgomp.c/target-21.c: New test.
11193 * testsuite/libgomp.c/target-22.c: New test.
11194 * testsuite/libgomp.c/target-23.c: New test.
11195 * testsuite/libgomp.c/target-24.c: New test.
11196 * testsuite/libgomp.c/target-25.c: New test.
11197 * testsuite/libgomp.c/target-26.c: New test.
11198 * testsuite/libgomp.c/target-27.c: New test.
11199 * testsuite/libgomp.c/taskloop-1.c: New test.
11200 * testsuite/libgomp.c/taskloop-2.c: New test.
11201 * testsuite/libgomp.c/taskloop-3.c: New test.
11202 * testsuite/libgomp.c/taskloop-4.c: New test.
11203 * testsuite/libgomp.c++/ctor-13.C: New test.
11204 * testsuite/libgomp.c++/doacross-1.C: New test.
11205 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
11206 Replace offload_device with offload_device_nonshared_as.
11207 * testsuite/libgomp.c++/for-12.C: New test.
11208 * testsuite/libgomp.c++/for-13.C: New test.
11209 * testsuite/libgomp.c++/for-14.C: New test.
11210 * testsuite/libgomp.c++/linear-1.C: New test.
11211 * testsuite/libgomp.c++/member-1.C: New test.
11212 * testsuite/libgomp.c++/member-2.C: New test.
11213 * testsuite/libgomp.c++/member-3.C: New test.
11214 * testsuite/libgomp.c++/member-4.C: New test.
11215 * testsuite/libgomp.c++/member-5.C: New test.
11216 * testsuite/libgomp.c++/ordered-1.C: New test.
11217 * testsuite/libgomp.c++/reduction-5.C: New test.
11218 * testsuite/libgomp.c++/reduction-6.C: New test.
11219 * testsuite/libgomp.c++/reduction-7.C: New test.
11220 * testsuite/libgomp.c++/reduction-8.C: New test.
11221 * testsuite/libgomp.c++/reduction-9.C: New test.
11222 * testsuite/libgomp.c++/reduction-10.C: New test.
11223 * testsuite/libgomp.c++/reference-1.C: New test.
11224 * testsuite/libgomp.c++/simd14.C: New test.
11225 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
11226 * testsuite/libgomp.c++/target-5.C: New test.
11227 * testsuite/libgomp.c++/target-6.C: New test.
11228 * testsuite/libgomp.c++/target-7.C: New test.
11229 * testsuite/libgomp.c++/target-8.C: New test.
11230 * testsuite/libgomp.c++/target-9.C: New test.
11231 * testsuite/libgomp.c++/target-10.C: New test.
11232 * testsuite/libgomp.c++/target-11.C: New test.
11233 * testsuite/libgomp.c++/target-12.C: New test.
11234 * testsuite/libgomp.c++/taskloop-1.C: New test.
11235 * testsuite/libgomp.c++/taskloop-2.C: New test.
11236 * testsuite/libgomp.c++/taskloop-3.C: New test.
11237 * testsuite/libgomp.c++/taskloop-4.C: New test.
11238 * testsuite/libgomp.c++/taskloop-5.C: New test.
11239 * testsuite/libgomp.c++/taskloop-6.C: New test.
11240 * testsuite/libgomp.c++/taskloop-7.C: New test.
11241 * testsuite/libgomp.c++/taskloop-8.C: New test.
11242 * testsuite/libgomp.c++/taskloop-9.C: New test.
11243 * testsuite/libgomp.fortran/affinity1.f90: New test.
11244 * testsuite/libgomp.fortran/affinity2.f90: New test.
11245
11246 2015-10-13 Tom de Vries <tom (a] codesourcery.com>
11247
11248 PR tree-optimization/67476
11249 * testsuite/libgomp.c/autopar-3.c: New test.
11250 * testsuite/libgomp.c/autopar-4.c: New test.
11251 * testsuite/libgomp.c/autopar-5.c: New test.
11252 * testsuite/libgomp.c/autopar-6.c: New test.
11253 * testsuite/libgomp.c/autopar-7.c: New test.
11254 * testsuite/libgomp.c/autopar-8.c: New test.
11255
11256 2015-10-12 James Norris <jnorris (a] codesourcery.com>
11257
11258 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
11259 initializer.
11260
11261 2015-10-09 David Malcolm <dmalcolm (a] redhat.com>
11262
11263 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
11264 using load_gcc_lib.
11265
11266 2015-10-02 Thomas Schwinge <thomas (a] codesourcery.com>
11267
11268 * oacc-ptx.h: Remove file, moving its content into...
11269 * config/nvptx/fortran.c: ... here...
11270 * config/nvptx/oacc-init.c: ..., here...
11271 * config/nvptx/oacc-parallel.c: ..., and here.
11272 * config/nvptx/openacc.f90: New file.
11273 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
11274 (link_ptx): Don't link in predefined bits of PTX code.
11275
11276 2015-09-30 Nathan Sidwell <nathan (a] codesourcery.com>
11277 Bernd Schmidt <bernds (a] codesourcery.com>
11278
11279 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
11280 (struct targ_ptx_obj): New.
11281 (nvptx_tdata): Move earlier, change data format.
11282 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
11283 objects.
11284 (GOMP_OFFLOAD_load_image): Adjust.
11285
11286 2015-09-30 Thomas Schwinge <thomas (a] codesourcery.com>
11287
11288 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
11289 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11290 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11291 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11292 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11293 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11294 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11295 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11296 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11297 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11298 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11299 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11300 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11301 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11302 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11303 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11304 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11305 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11306 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11307 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11308 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11309 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11310 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11311 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11312 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11313 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11314 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11315 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11316 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11317 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11318 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11319 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11320 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11321 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11322 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11323 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11324 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11325 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11326 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11327 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11328 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11329 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11330 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11331 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11332 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11333 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11334 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11335 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11336 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11337 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11338 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11339 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11340 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11341 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11342 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11343 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11344 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11345 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11346 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11347 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11348 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11349 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11350 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11351
11352 2015-09-29 Nathan Sidwell <nathan (a] codesourcery.com>
11353
11354 * oacc-init.c (acc_on_device): Force optimization level.
11355
11356 2015-09-29 Nathan Sidwell <nathan (a] codesourcery.com>
11357
11358 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
11359 (cuda_errlist): Delete.
11360 (cuda_error): Reimplement.
11361
11362 2015-09-28 Nathan Sidwell <nathan (a] codesourcery.com>
11363
11364 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
11365 array.
11366 * libgomp.map (GOACC_parallel_keyed): New.
11367 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
11368 all callers.
11369 (GOACC_parallel_keyed): New interface. Lose geometry arguments
11370 and take keyed varargs list. Adjust call to exec_func.
11371 (GOACC_parallel): Force host fallback.
11372 * libgomp_g.h (GOACC_parallel): Remove.
11373 (GOACC_parallel_keyed): Declare.
11374 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
11375 (struct targ_gn_descriptor): Replace name field with launch field.
11376 (nvptx_exec): Lose separate geometry args, take array. Process
11377 dynamic dimensions and adjust.
11378 (struct nvptx_tdata): Replace fn_names field with fn_descs.
11379 (GOMP_OFFLOAD_load_image): Adjust for change in function table
11380 data.
11381 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
11382 passing.
11383 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
11384 passing.
11385
11386 2015-09-22 Chung-Lin Tang <cltang (a] codesourcery.com>
11387
11388 PR libgomp/67141
11389 * oacc-int.h (goacc_host_init): Add declaration.
11390 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
11391 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
11392
11393 2015-09-08 Aditya Kumar <hiraditya (a] msn.com>
11394 Sebastian Pop <s.pop (a] samsung.com>
11395
11396 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
11397 match o/p.
11398 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
11399 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
11400 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
11401 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
11402 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
11403
11404 2015-09-03 Jakub Jelinek <jakub (a] redhat.com>
11405
11406 * configure.tgt: Add missing ;; in between nvptx and rtems
11407 snippets.
11408
11409 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11410
11411 * config/posix/pool.h (gomp_adjust_thread_attr): New.
11412 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
11413 (gomp_thread_pool_reservoir): Add priority member.
11414 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
11415 priority.
11416 (parse_thread_pools): Likewise.
11417 * team.c (gomp_team_start): Call configuration provided
11418 gomp_adjust_thread_attr(). Destroy thread attributes if
11419 necessary.
11420 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
11421
11422 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11423
11424 * config/posix/pool.h: New.
11425 * config/rtems/pool.h: Likewise.
11426 * config/rtems/proc.c: Likewise.
11427 * libgomp.h (gomp_thread_destructor): Declare.
11428 * team.c: Include configuration provided "pool.h".
11429 (gomp_get_thread_pool): Define in configuration.
11430 (gomp_team_end): Call configuration defined
11431 gomp_release_thread_pool().
11432
11433 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11434
11435 * config/rtems/bar.c: New.
11436 * config/rtems/bar.h: Likewise.
11437 * config/rtems/mutex.c: Likewise.
11438 * config/rtems/mutex.h: Likewise.
11439 * config/rtems/sem.c: Likewise.
11440 * config/rtems/sem.h: Likewise.
11441 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
11442 <sys/lock.h> header file.
11443 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
11444 supported by Newlib.
11445 * configure: Regenerate.
11446
11447 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11448
11449 * team.c (gomp_new_thread_pool): Delete and move content to ...
11450 (gomp_get_thread_pool): ... new function. Allocate and
11451 initialize thread pool on demand.
11452 (get_last_team): Use gomp_get_thread_pool().
11453 (gomp_team_start): Delete thread pool initialization.
11454
11455 2015-09-03 Tom de Vries <tom (a] codesourcery.com>
11456
11457 PR tree-optimization/65637
11458 * testsuite/libgomp.c/autopar-2.c: New test.
11459
11460 2015-08-29 Tom de Vries <tom (a] codesourcery.com>
11461
11462 PR tree-optimization/46193
11463 * testsuite/libgomp.c/pr46193.c: New test.
11464
11465 2015-08-24 Nathan Sidwell <nathan (a] codesourcery.com>
11466
11467 libgomp/
11468 * libgomp.map: Add 4.0.2 version.
11469 * target.c (offload_image_descr): Add version field.
11470 (gomp_load_image_to_device): Add version argument. Adjust plugin
11471 call. Improve load mismatch diagnostic.
11472 (gomp_unload_image_from_device): Add version argument. Adjust plugin
11473 call.
11474 (GOMP_offload_regster): Make stub function, move bulk to ...
11475 (GOMP_offload_register_ver): ... here. Process version argument.
11476 (GOMP_offload_unregister): Make stub function, move bulk to ...
11477 (GOMP_offload_unregister_ver): ... here. Process version argument.
11478 (gomp_init_device): Process version field.
11479 (gomp_unload_device): Process version field.
11480 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
11481 macros. Check plugin version.
11482 * libgomp.h (gomp_device_descr): Add version function field. Adjust
11483 loader and unloader types.
11484 * oacc-host.c: Include gomp-constants.h.
11485 (host_version): New.
11486 (host_load_image, host_unload_image): Adjust.
11487 (host_dispatch): Add host_version.
11488 * plugin/plugin-nvptx.c: Include gomp-constants.h.
11489 (GOMP_OFFLOAD_version): New.
11490 (GOMP_OFFLOAD_load_image): Add version arg and check it.
11491 (GOMP_OFFLOAD_unload_image): Likewise.
11492 * plugin/plugin-host.c: Include gomp-constants.h.
11493 (GOMP_OFFLOAD_version): New.
11494 (GOMP_OFFLOAD_load_image): Add version arg.
11495 (GOMP_OFFLOAD_unload_image): Likewise.
11496
11497 2015-08-24 Tom de Vries <tom (a] codesourcery.com>
11498
11499 PR tree-optimization/65468
11500 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
11501
11502 2015-08-24 Tom de Vries <tom (a] codesourcery.com>
11503
11504 PR tree-optimization/65468
11505 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
11506
11507 2015-08-24 Joost VandeVondele <vondele (a] gnu.gcc.org>
11508
11509 PR libgomp/66761
11510 PR libgomp/67303
11511 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
11512 (gomp_iter_guided_next): Idem.
11513 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
11514 (gomp_iter_ull_guided_next): Idem.
11515 * config/linux/wait.h (do_spin): Idem.
11516
11517 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com>
11518
11519 * libgomp-plugin.h (enum offload_target_type): Remove
11520 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
11521 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
11522 * openacc.h (enum acc_device_t): Likewise.
11523 * openacc_lib.h: Likewise.
11524 * oacc-init.c (name_of_acc_device_t): Don't handle it.
11525 (acc_on_device): Just use __builtin_acc_on_device.
11526 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
11527 of acc_on_device builtin.
11528 * plugin/plugin-host.h: Remove file.
11529 * plugin/plugin-host.c: Likewise, but salvage some content into...
11530 * oacc-host.c: ... this file.
11531 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
11532 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
11533 * Makefile.in: Regenerate.
11534 * configure: Likewise.
11535 * testsuite/lib/libgomp.exp
11536 (check_effective_target_openacc_host_nonshm_selected): Remove.
11537 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
11538 ACC_DEVICE_TYPE=host_nonshm.
11539 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11540 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11541 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11542 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11543 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11544 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11545
11546 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com>
11547 Jakub Jelinek <jakub (a] redhat.com>
11548
11549 * config/nvptx/affinity.c: New file.
11550 * config/nvptx/alloc.c: Likewise.
11551 * config/nvptx/bar.c: Likewise.
11552 * config/nvptx/barrier.c: Likewise.
11553 * config/nvptx/critical.c: Likewise.
11554 * config/nvptx/env.c: Likewise.
11555 * config/nvptx/error.c: Likewise.
11556 * config/nvptx/fortran.c: Likewise.
11557 * config/nvptx/iter.c: Likewise.
11558 * config/nvptx/iter_ull.c: Likewise.
11559 * config/nvptx/libgomp-plugin.c: Likewise.
11560 * config/nvptx/lock.c: Likewise.
11561 * config/nvptx/loop.c: Likewise.
11562 * config/nvptx/loop_ull.c: Likewise.
11563 * config/nvptx/mutex.c: Likewise.
11564 * config/nvptx/oacc-async.c: Likewise.
11565 * config/nvptx/oacc-cuda.c: Likewise.
11566 * config/nvptx/oacc-host.c: Likewise.
11567 * config/nvptx/oacc-init.c: Likewise.
11568 * config/nvptx/oacc-mem.c: Likewise.
11569 * config/nvptx/oacc-parallel.c: Likewise.
11570 * config/nvptx/oacc-plugin.c: Likewise.
11571 * config/nvptx/omp-lock.h: Likewise.
11572 * config/nvptx/ordered.c: Likewise.
11573 * config/nvptx/parallel.c: Likewise.
11574 * config/nvptx/proc.c: Likewise.
11575 * config/nvptx/ptrlock.c: Likewise.
11576 * config/nvptx/sections.c: Likewise.
11577 * config/nvptx/sem.c: Likewise.
11578 * config/nvptx/single.c: Likewise.
11579 * config/nvptx/splay-tree.c: Likewise.
11580 * config/nvptx/target.c: Likewise.
11581 * config/nvptx/task.c: Likewise.
11582 * config/nvptx/team.c: Likewise.
11583 * config/nvptx/time.c: Likewise.
11584 * config/nvptx/work.c: Likewise.
11585 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
11586 * configure: Regenerate.
11587 * configure.tgt (config_path): Set to "nvptx" for target
11588 nvptx*-*-*.
11589
11590 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com>
11591
11592 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
11593
11594 2015-08-03 Nathan Sidwell <nathan (a] codesourcery.com>
11595
11596 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
11597 (cuda_errlist): Constify.
11598 (errmsg): Move into ...
11599 (cuda_error): ... here. Make smaller.
11600 (_XSTR, _STR): Delete.
11601 (cuda_synames): Delete.
11602 (verify_device_library): Delete.
11603 (nvptx_init): Don't call it.
11604
11605 2015-07-28 Tom de Vries <tom (a] codesourcery.com>
11606
11607 * testsuite/libgomp.c/uns-outer-4.c: New test.
11608
11609 2015-07-24 Cesar Philippidis <cesar (a] codesourcery.com>
11610
11611 * testsuite/libgomp.c/pr66714.c: New test.
11612
11613 2015-07-22 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
11614
11615 PR libgomp/66950
11616 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
11617 (fib_ref): New function.
11618 (fib): Correct corner cases in the recursion.
11619 (main): Replace the non-simd loop with fib_ref call.
11620 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
11621 subroutine.
11622 (fibonacci): Lower the parameter N to 30. Correct accordingly check
11623 for the last array element value. Replace the non-simd loop with
11624 fib_ref call. Remove redundant b_ref array. Remove the comparison
11625 of the last array element with according Fibonacci sequence element.
11626 (fib): Correct corner cases in the recursion.
11627
11628 2015-07-21 Nathan Sidwell <nathan (a] codesourcery.com>
11629
11630 * target.c (gomp_offload_image_to_device): Rename to ...
11631 (gomp_load_image_to_device): ... here.
11632 (GOMP_offload_register): Adjust call.
11633 (gomp_init_device): Likewise.
11634 (gomp_unload_image_from_device): New. Broken out of ...
11635 (GOMP_offload_unregister): ... here. Call it.
11636 (gomp_unload_device): New.
11637 * libgomp.h (gomp_unload_device): Declare.
11638 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
11639 mem maps.
11640
11641 2015-07-20 Nathan Sidwell <nathan (a] codesourcery.com>
11642
11643 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
11644 wait=-specific if.
11645 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
11646 !=0 condition.
11647 (goacc_waits): Move !num_waits handling to ...
11648 (GOACC_wait): ... here, the only caller that might have zero waits.
11649
11650 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
11651 (struct ptx_image_data): Move earlier, add fns field.
11652 (struct ptx_device): Add images and image_lock fields.
11653 (ptx_images, ptx_image_lock): Delete.
11654 (nvptx_open_device): Initialize images and image_lock fields.
11655 (nvptx_close_device): Destroy image_lock.
11656 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
11657 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
11658 fields.
11659
11660 2015-07-17 Nathan Sidwell <nathan (a] codesourcery.com>
11661
11662 * target.c (GOMP_offload_register): Use int for device type arg.
11663 (GOMP_offload_unregister): Likewise.
11664
11665 * target.c (struct_offload_image_descr): Constify host_table.
11666 (gomp_offload_image_to_device): Likewise.
11667 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
11668
11669 * libgomp.h (gomp_device_descr): Constify target data arguments.
11670 * target.c (struct offload_image_descr): Constify target_data.
11671 (gomp_offload_image_to_device): Likewise.
11672 (GOMP_offload_register): Likewise.
11673 (GOMP_offload_unregister): Likewise.
11674 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
11675 GOMP_OFFLOAD_unload_image): Constify target data.
11676 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
11677 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
11678
11679 2015-07-16 Nathan Sidwell <nathan (a] codesourcery.com>
11680
11681 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
11682 Workaround driver library const error.
11683 (struct nvptx_tdata, nvptx_tdata_t): New.
11684 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
11685 type.
11686
11687 2015-07-15 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
11688
11689 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
11690 of EPS parameter from integer to real.
11691 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
11692 type of EPS parameter from integer to real.
11693
11694 2015-07-15 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11695
11696 * team.c (get_last_team): New.
11697 (gomp_new_team): Recycle last non-nested team if possible.
11698 (gomp_team_end): Move team work share list free lock destruction
11699 to ...
11700 (free_team): ... here.
11701
11702 2015-07-14 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
11703
11704 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
11705 and ref from int to double. Replaced their comparison with
11706 an inequality of their difference and EPS.
11707 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
11708 comparison of pri and a reference number with an inequality of their
11709 difference and EPS.
11710 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
11711 the comparison of sum and sum_ref with an inequality of their
11712 difference and EPS.
11713 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
11714 the comparison of pri and a reference number with an inequality of
11715 their difference and EPS.
11716
11717 2015-07-13 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
11718
11719 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
11720 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
11721 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
11722 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
11723 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
11724 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
11725 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
11726 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
11727 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
11728 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
11729 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
11730 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
11731 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
11732 variables.
11733 (vec_mult): Likewise. Add #pragma omp taskwait.
11734 (main): Adjust caller.
11735 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
11736 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
11737 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
11738 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
11739 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
11740 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
11741 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
11742 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
11743 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
11744 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
11745 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
11746 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
11747 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
11748 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
11749 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
11750 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
11751 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
11752 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
11753 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
11754 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
11755 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
11756 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
11757 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
11758 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
11759 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
11760 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
11761 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
11762 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
11763 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
11764 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
11765 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
11766 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
11767 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
11768 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
11769 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
11770 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
11771 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
11772 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
11773 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
11774 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
11775 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
11776 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
11777 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
11778 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
11779 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
11780 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
11781 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
11782 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
11783 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
11784 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
11785 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
11786 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
11787 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
11788 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
11789 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
11790 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
11791 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
11792 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
11793 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
11794 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
11795 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
11796 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
11797 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
11798 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
11799 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
11800 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
11801 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
11802 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
11803 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
11804 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
11805 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
11806 (vec_mult): Add !$omp taskwait.
11807 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
11808 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
11809 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
11810 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
11811 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
11812 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
11813 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
11814 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
11815 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
11816 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
11817 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
11818 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
11819 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
11820 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
11821 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
11822 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
11823 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
11824 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
11825 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
11826 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
11827 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
11828 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
11829 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
11830 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
11831 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
11832 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
11833 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
11834 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
11835 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
11836 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
11837 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
11838 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
11839 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
11840 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
11841 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
11842 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
11843 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
11844 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
11845 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
11846 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
11847 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
11848 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
11849 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
11850 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
11851 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
11852 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
11853 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
11854 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
11855 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
11856 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
11857 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
11858 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
11859 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
11860 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
11861 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
11862 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
11863 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
11864 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
11865 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
11866 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
11867 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
11868 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
11869 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
11870 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
11871 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
11872 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
11873 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
11874
11875 2015-07-10 Tom de Vries <tom (a] codesourcery.com>
11876
11877 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
11878 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
11879
11880 2015-07-08 Thomas Schwinge <thomas (a] codesourcery.com>
11881
11882 PR libgomp/65099
11883 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
11884 in a 64-bit configuration.
11885 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
11886 offloading testing if no such device is available.
11887 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11888 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11889
11890 2015-07-08 Tom de Vries <tom (a] codesourcery.com>
11891
11892 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
11893 second call to f.
11894 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11895
11896 2015-07-07 Tom de Vries <tom (a] codesourcery.com>
11897
11898 PR tree-optimization/66642
11899 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
11900 iteration count case.
11901 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
11902 function, factor out of ...
11903 (main): ... here. Test low iteration count case.
11904
11905 2015-07-06 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11906
11907 * libgomp.h (gomp_thread_pool): Comment last_team field.
11908
11909 2015-07-02 Uros Bizjak <ubizjak (a] gmail.com>
11910
11911 * testsuite/libgomp.c++/pr66702-1.C: Require
11912 vect_simd_clones effective target.
11913 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
11914
11915 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
11916
11917 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11918 already set. Use DEFAULT_CFLAGS in dg-runtest.
11919 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
11920 "-O2".
11921
11922 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
11923
11924 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11925 already set. Use DEFAULT_CFLAGS in dg-runtest.
11926 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
11927 * testsuite/libgomp.c++/pr64824.C: Same.
11928 * testsuite/libgomp.c++/pr64868.C: Same.
11929 * testsuite/libgomp.c++/pr66199-1.C: Same.
11930 * testsuite/libgomp.c++/pr66199-2.C: Same.
11931 * testsuite/libgomp.c++/target-2.C: Same.
11932 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
11933 -std=<standard> option.
11934 * testsuite/libgomp.c++/udr-11.C: Same.
11935 * testsuite/libgomp.c++/udr-12.C: Same.
11936 * testsuite/libgomp.c++/udr-13.C: Same.
11937 * testsuite/libgomp.c++/udr-14.C: Same.
11938 * testsuite/libgomp.c++/udr-15.C: Same.
11939 * testsuite/libgomp.c++/udr-16.C: Same.
11940 * testsuite/libgomp.c++/udr-17.C: Same.
11941 * testsuite/libgomp.c++/udr-18.C: Same.
11942 * testsuite/libgomp.c++/udr-19.C: Same.
11943 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
11944 * testsuite/libgomp.c++/simd-1.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 * testsuite/libgomp.c++/simd10.C: Same.
11954 * testsuite/libgomp.c++/simd11.C: Same.
11955 * testsuite/libgomp.c++/simd12.C: Same.
11956 * testsuite/libgomp.c++/simd13.C: Same.
11957
11958 2015-06-30 Jakub Jelinek <jakub (a] redhat.com>
11959
11960 PR middle-end/66702
11961 * testsuite/libgomp.c++/pr66702-1.C: New test.
11962 * testsuite/libgomp.c++/pr66702-2.C: New test.
11963
11964 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
11965
11966 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
11967 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
11968 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
11969 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
11970
11971 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
11972
11973 PR tree-optimization/66652
11974 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
11975 using restrict pointers.
11976 (main): Add arguments to calls to f.
11977 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11978
11979 2015-06-23 Andreas Tobler <andreast (a] gcc.gnu.org>
11980
11981 * configure.ac: Fix check for header <sys/sysctl.h>.
11982 * configure: Regenerate.
11983 * config.h.in: Likewise.
11984
11985 2015-06-23 Tom de Vries <tom (a] codesourcery.com>
11986
11987 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
11988 abort.
11989 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
11990
11991 2015-06-19 Thomas Schwinge <thomas (a] codesourcery.com>
11992
11993 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
11994 acc_device_nvidia.
11995
11996 PR libgomp/66518
11997 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
11998 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11999
12000 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
12001
12002 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
12003 dg-additional-options for any remaining options.
12004 * testsuite/libgomp.c/atomic-2.c: Same.
12005 * testsuite/libgomp.c/atomic-4.c: Same.
12006 * testsuite/libgomp.c/atomic-5.c: Same.
12007 * testsuite/libgomp.c/atomic-6.c: Same.
12008 * testsuite/libgomp.c/autopar-1.c: Same.
12009 * testsuite/libgomp.c/copyin-1.c: Same.
12010 * testsuite/libgomp.c/copyin-2.c: Same.
12011 * testsuite/libgomp.c/copyin-3.c: Same.
12012 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
12013 * testsuite/libgomp.c/nestedfn-5.c: Same.
12014 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
12015 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
12016 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
12017 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12018 * testsuite/libgomp.c/pr32362-1.c: Same.
12019 * testsuite/libgomp.c/pr32362-2.c: Same.
12020 * testsuite/libgomp.c/pr32362-3.c: Same.
12021 * testsuite/libgomp.c/pr39591-1.c: Same.
12022 * testsuite/libgomp.c/pr39591-2.c: Same.
12023 * testsuite/libgomp.c/pr39591-3.c: Same.
12024 * testsuite/libgomp.c/pr58392.c: Same.
12025 * testsuite/libgomp.c/pr58756.c: Same.
12026 * testsuite/libgomp.c/simd-1.c: Same.
12027 * testsuite/libgomp.c/simd-10.c: Same.
12028 * testsuite/libgomp.c/simd-11.c: Same.
12029 * testsuite/libgomp.c/simd-12.c: Same.
12030 * testsuite/libgomp.c/simd-13.c: Same.
12031 * testsuite/libgomp.c/simd-14.c: Same.
12032 * testsuite/libgomp.c/simd-15.c: Same.
12033 * testsuite/libgomp.c/simd-2.c: Same.
12034 * testsuite/libgomp.c/simd-3.c: Same.
12035 * testsuite/libgomp.c/simd-4.c: Same.
12036 * testsuite/libgomp.c/simd-5.c: Same.
12037 * testsuite/libgomp.c/simd-6.c: Same.
12038 * testsuite/libgomp.c/simd-7.c: Same.
12039 * testsuite/libgomp.c/simd-8.c: Same.
12040 * testsuite/libgomp.c/simd-9.c: Same.
12041
12042 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
12043
12044 * testsuite/libgomp.c/pr35625.c: Fix typo.
12045
12046 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
12047
12048 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
12049 in dg-options.
12050 * testsuite/libgomp.c/atomic-3.c: Same.
12051 * testsuite/libgomp.c/debug-1.c: Same.
12052 * testsuite/libgomp.c/nqueens-1.c: Same.
12053 * testsuite/libgomp.c/pr26171.c: Same.
12054 * testsuite/libgomp.c/pr48591.c: Same.
12055 * testsuite/libgomp.c/pr64824.c: Same.
12056 * testsuite/libgomp.c/pr64868.c: Same.
12057 * testsuite/libgomp.c/pr66133.c: Same.
12058 * testsuite/libgomp.c/pr66199-1.c: Same.
12059 * testsuite/libgomp.c/pr66199-2.c: Same.
12060 * testsuite/libgomp.c/target-8.c: Same.
12061
12062 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
12063
12064 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
12065 -std={gnu99,c99}.
12066 * testsuite/libgomp.c/for-1.c: Same.
12067 * testsuite/libgomp.c/for-2.c: Same.
12068 * testsuite/libgomp.c/for-3.c: Same.
12069 * testsuite/libgomp.c/pr35625.c: Same.
12070 * testsuite/libgomp.c/pr39154.c: Same.
12071 * testsuite/libgomp.c/simd-16.c: Same.
12072 * testsuite/libgomp.c/simd-17.c: Same.
12073
12074 2015-06-13 Tom de Vries <tom (a] codesourcery.com>
12075
12076 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
12077
12078 2015-06-13 Tom de Vries <tom (a] codesourcery.com>
12079
12080 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
12081 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12082 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
12083 (N): Define.
12084 (main): Use N instead of hardcoded constants.
12085
12086 2015-06-05 Tom de Vries <tom (a] codesourcery.com>
12087
12088 merge from gomp4 branch:
12089 2015-05-28 Tom de Vries <tom (a] codesourcery.com>
12090
12091 PR tree-optimization/65443
12092 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
12093 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
12094 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
12095
12096 2015-05-29 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org>
12097
12098 * testsuite/libgomp.graphite/bounds.c: Adjust for
12099 cleanup-tree-dump removal.
12100 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
12101 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12102 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12103 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12104 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12105 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12106 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12107 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12108 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12109 * testsuite/libgomp.graphite/pr41118.c: Likewise.
12110
12111 2015-05-28 Uros Bizjak <ubizjak (a] gmail.com>
12112
12113 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
12114 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
12115 (futex_wake) [!__x86_64__]: Ditto.
12116
12117 2015-05-28 Julian Brown <julian (a] codesourcery.com>
12118
12119 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
12120 function comment. Only call gomp_fatal if new argument is true.
12121 (acc_dev_num_out_of_range): New function.
12122 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
12123 acc_dev_num_out_of_range as appropriate.
12124 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12125 (acc_get_device_num, acc_set_device_num): Update calls to
12126 resolve_device.
12127 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
12128 output.
12129
12130 2015-05-28 Julian Brown <julian (a] codesourcery.com>
12131
12132 PR libgomp/65742
12133 * oacc-init.c (plugin/plugin-host.h): Include.
12134 (acc_on_device): Check whether we're in an offloaded region for
12135 host_nonshm
12136 plugin. Don't use __builtin_acc_on_device.
12137 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
12138 nonshm_exec flag in thread-local data.
12139 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
12140 data for host_nonshm plugin.
12141 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
12142 for host_nonshm plugin.
12143 * plugin/plugin-host.h: New.
12144
12145 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com>
12146
12147 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
12148
12149 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com>
12150
12151 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
12152 Declare as int.
12153 (FUTEX_PRIVATE_FLAG): Remove L suffix.
12154 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
12155 Declare as int.
12156
12157 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com>
12158
12159 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
12160
12161 2015-05-27 Chung-Lin Tang <cltang (a] codesourcery.com>
12162
12163 * target.c (gomp_map_pointer): New function abstracting out
12164 GOMP_MAP_POINTER handling.
12165 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
12166 gomp_map_pointer().
12167
12168 2015-05-19 Jakub Jelinek <jakub (a] redhat.com>
12169
12170 PR middle-end/66199
12171 * testsuite/libgomp.c/pr66199-1.c: New test.
12172 * testsuite/libgomp.c/pr66199-2.c: New test.
12173 * testsuite/libgomp.c++/pr66199-1.C: New test.
12174 * testsuite/libgomp.c++/pr66199-2.C: New test.
12175 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
12176 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
12177
12178 2015-05-19 Julian Brown <julian (a] codesourcery.com>
12179
12180 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
12181 on cuInit failure.
12182
12183 2015-05-13 Jakub Jelinek <jakub (a] redhat.com>
12184
12185 PR middle-end/66133
12186 * testsuite/libgomp.c/pr66133.c: New test.
12187
12188 2015-05-13 Michael Haubenwallner <michael.haubenwallner (a] ssi-schaefer.com>
12189
12190 * Makefile.in: Regenerated with automake-1.11.6.
12191 * aclocal.m4: Likewise.
12192 * config.h.in: Likewise.
12193 * configure: Likewise.
12194 * testsuite/Makefile.in: Likewise.
12195
12196 2015-05-08 Jason Merrill <jason (a] redhat.com>
12197
12198 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
12199 _Complex.
12200
12201 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
12202
12203 2015-05-06 Julian Brown <julian (a] codesourcery.com>
12204
12205 * oacc-init.c (acc_device_lock): Add explanatory comment.
12206 (resolve_device): Add comment about locking requirement.
12207 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
12208 gomp_init_device and gomp_fini_device calls.
12209 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12210 (acc_get_device_num, acc_set_device_num): Add locking around
12211 resolve_device and gomp_init_device calls.
12212
12213 2015-05-06 Julian Brown <julian (a] codesourcery.com>
12214
12215 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
12216 goacc_thread_lock on error paths.
12217 * oacc-mem.c (lookup_host): Remove locking from function. Note
12218 locking requirement for caller in function comment.
12219 (lookup_dev): Likewise.
12220 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
12221 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
12222 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
12223 Add locking.
12224
12225 2015-05-05 Thomas Schwinge <thomas (a] codesourcery.com>
12226
12227 PR testsuite/65205
12228 PR libgomp/65993
12229 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
12230 don't expect "0x" prefix for "%p" format specifier, don't expect
12231 "(nil)" for NULL pointer.
12232 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12233 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12234 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12235 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12236 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12237 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12238 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12239 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12240 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12241 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12242 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12243 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12244 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12245 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12246 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12247 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12248 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12249 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12250 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12251 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12252 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12253 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12254 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12255 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12256 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12257 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12258 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12259 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12260 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
12261 accurately specify what we're looking for.
12262 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12263 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12264 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12265 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12266 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12267
12268 2015-04-30 James Norris <jnorris (a] codesourcery.com>
12269
12270 PR testsuite/65205
12271 * testsuite/lib/libgomp.exp
12272 (check_effective_target_openacc_host_selected)
12273 (check_effective_target_openacc_host_nonshm_selected): New
12274 procedures.
12275 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
12276 dg-shouldfail.
12277 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12278 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12279 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12280 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12281 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12282 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12283 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12284 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12285 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12286 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12287 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12288 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12289 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12290 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12291 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12292 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12293 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12294 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12295 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12296 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12297 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12298 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12299 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12300 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12301 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12302 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12303 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12304 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12305 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12306 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12307 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12308 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12309 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12310 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12311 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12312 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12313 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12314 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12315 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12316 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12317 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12318 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12319 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12320
12321 2015-04-08 Julian Brown <julian (a] codesourcery.com>
12322
12323 * libgomp.h (target_mem_desc: Remove mem_map field.
12324 (acc_dispatch_t): Remove open_device_func, close_device_func,
12325 get_device_num_func, set_device_num_func, target_data members.
12326 Change create_thread_data_func argument to device number instead of
12327 generic pointer.
12328 * oacc-async.c (assert.h): Include.
12329 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
12330 (acc_wait_all, acc_wait_all_async): Use current host thread's
12331 active device, not base_dev.
12332 * oacc-cuda.c (acc_get_current_cuda_device)
12333 (acc_get_current_cuda_context, acc_get_cuda_stream)
12334 (acc_set_cuda_stream): Likewise.
12335 * oacc-host.c (host_dispatch): Don't set open_device_func,
12336 close_device_func, get_device_num_func or set_device_num_func.
12337 * oacc-init.c (base_dev, init_key): Remove.
12338 (cached_base_dev): New.
12339 (name_of_acc_device_t): New.
12340 (acc_init_1): Initialise default-numbered device, not zeroth.
12341 (acc_shutdown_1): Close all devices of a given type.
12342 (goacc_destroy_thread): Don't use base_dev.
12343 (lazy_open, lazy_init, lazy_init_and_open): Remove.
12344 (goacc_attach_host_thread_to_device): New.
12345 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
12346 (acc_get_num_devices): Don't use base_dev.
12347 (acc_set_device_type): Reimplement.
12348 (acc_get_device_type): Don't use base_dev.
12349 (acc_get_device_num): Tweak logic.
12350 (acc_set_device_num): Likewise.
12351 (acc_on_device): Use acc_get_device_type.
12352 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
12353 (goacc_lazy_initialize): Reimplement with acc_init and
12354 goacc_attach_host_thread_to_device.
12355 * oacc-int.h (goacc_thread): Add base_dev field.
12356 (base_dev): Remove extern declaration.
12357 (goacc_attach_host_thread_to_device): Add prototype.
12358 * oacc-mem.c (acc_malloc): Use current thread's device instead of
12359 base_dev.
12360 (acc_free): Likewise.
12361 (acc_memcpy_to_device): Likewise.
12362 (acc_memcpy_from_device): Likewise.
12363 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
12364 goacc_lazy_initialize (throughout).
12365 (GOACC_parallel): Use tgt_offset to locate target functions.
12366 * target.c (gomp_map_vars): Don't set tgt->mem_map.
12367 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
12368 (gomp_load_plugin_for_device): Remove open_device, close_device,
12369 get_device_num, set_device_num openacc hook initialisation. Don't set
12370 openacc.target_data.
12371 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
12372 (GOMP_OFFLOAD_openacc_close_device)
12373 (GOMP_OFFLOAD_openacc_get_device_num)
12374 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
12375 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
12376 to int.
12377 * plugin/plugin-nvptx.c (ptx_inited): Remove.
12378 (instantiated_devices, ptx_dev_lock): New.
12379 (struct ptx_image_data): New.
12380 (ptx_devices, ptx_images, ptx_image_lock): New.
12381 (fini_streams_for_device): Reorder cuStreamDestroy call.
12382 (nvptx_get_num_devices): Remove forward declaration.
12383 (nvptx_init): Change return type to bool.
12384 (nvptx_fini): Remove.
12385 (nvptx_attach_host_thread_to_device): New.
12386 (nvptx_open_device): Return struct ptx_device* instead of void*.
12387 (nvptx_close_device): Change argument type to struct ptx_device*,
12388 return type to void.
12389 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
12390 (kernel_target_data, kernel_host_table): Remove static globals.
12391 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
12392 (GOMP_OFFLOAD_init_device): Reimplement.
12393 (GOMP_OFFLOAD_fini_device): Likewise.
12394 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
12395 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
12396 (GOMP_OFFLOAD_host2dev): Use ORD argument.
12397 (GOMP_OFFLOAD_openacc_open_device)
12398 (GOMP_OFFLOAD_openacc_close_device)
12399 (GOMP_OFFLOAD_openacc_set_device_num)
12400 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
12401 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
12402 (device number).
12403
12404 testsuite/
12405 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
12406
12407 2015-04-06 Ilya Verbin <ilya.verbin (a] intel.com>
12408
12409 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
12410 * libgomp.h (struct gomp_memory_mapping): Remove.
12411 (struct target_mem_desc): Change type of mem_map from
12412 gomp_memory_mapping * to splay_tree_s *.
12413 (struct gomp_device_descr): Remove register_image_func, get_table_func.
12414 Add load_image_func, unload_image_func.
12415 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
12416 Remove offload_regions_registered.
12417 (gomp_init_tables): Remove.
12418 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12419 to splay_tree_s *.
12420 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
12421 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
12422 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
12423 offload_regions_registered.
12424 Initialize load_image_func, unload_image_func, mem_map.root.
12425 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
12426 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
12427 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
12428 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
12429 gomp_memory_mapping *. Use dev's lock and splay_tree.
12430 (lookup_dev): Use dev's lock.
12431 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
12432 (acc_is_present): Likewise.
12433 (acc_map_data): Likewise.
12434 (acc_unmap_data): Likewise. Use dev's lock.
12435 (present_create_copy): Likewise.
12436 (delete_copyout): Pass dev to lookup_host instead of mem_map.
12437 (update_dev_host): Likewise.
12438 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
12439 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
12440 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
12441 (GOMP_OFFLOAD_get_table): Remove
12442 (GOMP_OFFLOAD_load_image): New function.
12443 (GOMP_OFFLOAD_unload_image): New function.
12444 * target.c (register_lock): New mutex for offload image registration.
12445 (num_devices): Do not guard with PLUGIN_SUPPORT.
12446 (gomp_realloc_unlock): New static function.
12447 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
12448 before gomp_fatal.
12449 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
12450 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
12451 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
12452 mem_map's.
12453 (gomp_unmap_vars): Likewise.
12454 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
12455 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
12456 (gomp_offload_image_to_device): New static function.
12457 (GOMP_offload_register): Add mutex lock.
12458 Call gomp_offload_image_to_device for all initialized devices.
12459 Replace gomp_realloc with gomp_realloc_unlock.
12460 (GOMP_offload_unregister): New function.
12461 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
12462 get_table_func from the plugin with calls to init_device_func and
12463 gomp_offload_image_to_device.
12464 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12465 to splay_tree_s *.
12466 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
12467 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
12468 (GOMP_target_data): Do not call gomp_init_tables.
12469 (GOMP_target_update): Likewise. Remove argument from gomp_update.
12470 (gomp_load_plugin_for_device): Replace register_image and get_table
12471 with load_image and unload_image in DLSYM ().
12472 (gomp_register_images_for_device): Remove function.
12473 (gomp_target_init): Do not initialize current_device.mem_map.*,
12474 current_device.offload_regions_registered.
12475 Remove call to gomp_register_images_for_device.
12476 Do not free offload_images and num_offload_images.
12477
12478 2015-03-30 Jakub Jelinek <jakub (a] redhat.com>
12479
12480 PR fortran/65597
12481 * testsuite/libgomp.fortran/pr65597.f90: New test.
12482
12483 2015-03-27 Tom de Vries <tom (a] codesourcery.com>
12484
12485 PR testsuite/65594
12486 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
12487 (init, check): New function.
12488 (foo): Change return type to void.
12489 (main): Call init and check.
12490
12491 2015-03-27 Tom de Vries <tom (a] codesourcery.com>
12492
12493 PR testsuite/65594
12494 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
12495 (foo): Use M for non-inner loops to scale down test-case.
12496
12497 2015-03-25 Kai Tietz <ktietz (a] redhat.com>
12498
12499 PR libgomp/64972
12500 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
12501 (GOACC_data_start): Likewise.
12502 * target.c (gomp_map_vars): Likewise.
12503
12504 2015-03-21 John David Anglin <danglin (a] gcc.gnu.org>
12505
12506 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
12507 hppa*-*-hpux*.
12508
12509 2015-03-19 Jakub Jelinek <jakub (a] redhat.com>
12510
12511 * testsuite/libgomp.c/target-10.c: New test.
12512 * testsuite/libgomp.c++/target-4.C: New test.
12513
12514 2015-03-13 Ilya Verbin <ilya.verbin (a] intel.com>
12515
12516 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
12517 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
12518
12519 2015-03-13 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
12520
12521 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
12522 * configure.ac (*-*-rtems*): Assume Pthread is supported.
12523 (pthread.h): Check for this header file.
12524 * configure: Regenerate.
12525
12526 2015-02-25 Tom de Vries <tom (a] codesourcery.com>
12527
12528 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
12529 (check_reduction_op, check_reduction_macro, max, min):
12530 Declare.
12531 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
12532 function.
12533 (main): Use new functions.
12534
12535 2015-02-18 Ilya Tocar <ilya.tocar (a] intel.com>
12536
12537 * target.c (gomp_load_plugin_for_device): Use const char * instead of
12538 char * for variables holding dlerror return values.
12539 (DLSYM_OPT): Ditto.
12540
12541 2015-02-17 Thomas Schwinge <thomas (a] codesourcery.com>
12542
12543 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
12544
12545 2015-02-17 Thomas Schwinge <thomas (a] codesourcery.com>
12546 Cesar Philippidis <cesar (a] codesourcery.com>
12547
12548 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
12549 GOACC_ctaid, and GOACC_nctaid routines.
12550
12551 2015-02-11 Jakub Jelinek <jakub (a] redhat.com>
12552
12553 PR c/64824
12554 * testsuite/libgomp.c/atomic-18.c: New test.
12555 * testsuite/libgomp.c++/atomic-16.C: New test.
12556
12557 2015-02-04 Jakub Jelinek <jakub (a] redhat.com>
12558
12559 PR c/64824
12560 PR c/64868
12561 * testsuite/libgomp.c/pr64824.c: New test.
12562 * testsuite/libgomp.c/pr64868.c: New test.
12563 * testsuite/libgomp.c++/pr64824.C: New test.
12564 * testsuite/libgomp.c++/pr64868.C: New test.
12565
12566 2015-02-01 David Edelsohn <dje.gcc (a] gmail.com>
12567
12568 PR libgomp/64635
12569 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
12570 Link with -lpthread.
12571 * config/aix/plugin-suffix.h: Delete.
12572
12573 2015-01-28 Jack Howarth <howarth.at.gcc (a] gmail.com>
12574
12575 PR libgomp/64635
12576 * configure.tgt (*-*-aix*): Use config_path "aix posix".
12577 (*-*-darwin*): Use config_path "bsd darwin posix".
12578 (*-*-hpux*): Use config_path "hpux posix".
12579 * target.c: Add include of plugin-suffix.h and use
12580 SONAME_SUFFIX macro.
12581 * config/aix/plugin-suffix.h: New file.
12582 * config/darwin/plugin-suffix.h: New file.
12583 * config/hpux/plugin-suffix.h: New file.
12584 * config/posix/plugin-suffix.h: New file.
12585
12586 2015-01-23 Jakub Jelinek <jakub (a] redhat.com>
12587
12588 PR middle-end/64734
12589 * libgomp.c/pr64734.c: New test.
12590
12591 2015-01-23 Tom de Vries <tom (a] codesourcery.com>
12592
12593 PR libgomp/64672
12594 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
12595
12596 2015-01-23 Tom de Vries <tom (a] codesourcery.com>
12597
12598 PR libgomp/64707
12599 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
12600 dg-options.
12601
12602 2015-01-19 Thomas Schwinge <thomas (a] codesourcery.com>
12603
12604 PR libgomp/64625
12605 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
12606 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
12607 formal parameter. Update all users.
12608 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
12609 Document unused formal parameter.
12610
12611 2015-01-16 Thomas Schwinge <thomas (a] codesourcery.com>
12612
12613 * oacc-parallel.c: Don't include <alloca.h>.
12614 (GOACC_parallel): Use gomp_alloca instead of alloca.
12615
12616 2015-01-16 Gerald Pfeifer <gerald (a] pfeifer.com>
12617
12618 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
12619
12620 2015-01-15 Thomas Schwinge <thomas (a] codesourcery.com>
12621 James Norris <jnorris (a] codesourcery.com>
12622 Tom de Vries <tom (a] codesourcery.com>
12623 Julian Brown <julian (a] codesourcery.com>
12624 Cesar Philippidis <cesar (a] codesourcery.com>
12625 Nathan Sidwell <nathan (a] codesourcery.com>
12626 Tobias Burnus <burnus (a] net-b.de>
12627
12628 * Makefile.am (search_path): Add $(top_srcdir)/../include.
12629 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
12630 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
12631 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
12632 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
12633 Include $(top_srcdir)/plugin/Makefrag.am.
12634 (nodist_libsubinclude_HEADERS): Add openacc.h.
12635 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
12636 openacc.f90, openacc.mod, openacc_kinds.mod.
12637 (omp_lib.mod): Generalize into...
12638 (%.mod): ... this new rule.
12639 (openacc_kinds.mod, openacc.mod): New rules.
12640 * plugin/configfrag.ac: New file.
12641 * configure.ac: Move plugin/offloading support into it. Include
12642 it. Instantiate testsuite/libgomp-test-support.pt.exp.
12643 * plugin/Makefrag.am: New file.
12644 * testsuite/Makefile.am (OFFLOAD_TARGETS)
12645 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
12646 export.
12647 (libgomp-test-support.exp): New rule.
12648 (all-local): Depend on it.
12649 * Makefile.in: Regenerate.
12650 * testsuite/Makefile.in: Regenerate.
12651 * config.h.in: Likewise.
12652 * configure: Likewise.
12653 * configure.tgt: Harden shell syntax.
12654 * env.c: Include "oacc-int.h".
12655 (parse_acc_device_type): New function.
12656 (gomp_debug_var, goacc_device_type, goacc_device_num): New
12657 variables.
12658 (initialize_env): Initialize those. Call
12659 goacc_runtime_initialize.
12660 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
12661 (gomp_fatal): Call gomp_vfatal.
12662 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
12663 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
12664 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
12665 (splay_tree_node, splay_tree, splay_tree_key)
12666 (struct target_mem_desc, struct splay_tree_key_s)
12667 (struct gomp_memory_mapping, struct acc_dispatch_t)
12668 (struct gomp_device_descr, gomp_acc_insert_pointer)
12669 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
12670 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
12671 (gomp_free_memmap, gomp_fini_device): New declarations.
12672 (gomp_vdebug, gomp_debug): New macros.
12673 Include "splay-tree.h".
12674 * libgomp.map (OACC_2.0): New symbol version. Use for
12675 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
12676 acc_set_device_type_h_, acc_get_device_type,
12677 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
12678 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
12679 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
12680 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
12681 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
12682 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
12683 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
12684 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
12685 acc_copyin_array_h_, acc_present_or_copyin,
12686 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
12687 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
12688 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
12689 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
12690 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
12691 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
12692 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
12693 acc_update_device, acc_update_device_32_h_,
12694 acc_update_device_64_h_, acc_update_device_array_h_,
12695 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
12696 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
12697 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
12698 acc_is_present_64_h_, acc_is_present_array_h_,
12699 acc_memcpy_to_device, acc_memcpy_from_device,
12700 acc_get_current_cuda_device, acc_get_current_cuda_context,
12701 acc_get_cuda_stream, acc_set_cuda_stream.
12702 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
12703 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
12704 GOACC_update, GOACC_wait, GOACC_get_thread_num,
12705 GOACC_get_num_threads.
12706 (GOMP_PLUGIN_1.0): New symbol version. Use for
12707 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
12708 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
12709 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
12710 GOMP_PLUGIN_acc_thread.
12711 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
12712 environment variable.
12713 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
12714 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
12715 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
12716 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
12717 (splay_tree_remove): New declarations.
12718 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
12719 (splay_tree_remove, splay_tree_lookup): Move into...
12720 * splay-tree.c: ... this new file.
12721 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
12722 (splay_tree_node, splay_tree, splay_tree_key)
12723 (struct target_mem_desc, struct splay_tree_key_s)
12724 (struct gomp_device_descr): Don't declare.
12725 (num_devices_openmp): New variable.
12726 (gomp_get_num_devices ): Use it.
12727 (gomp_init_targets_once): New function.
12728 (gomp_get_num_devices ): Use it.
12729 (get_kind, gomp_copy_from_async, gomp_free_memmap)
12730 (gomp_fini_device, gomp_register_image_for_device): New functions.
12731 (gomp_map_vars): Add devaddrs parameter.
12732 (gomp_update): Add mm parameter.
12733 (gomp_init_device): Move most of it into...
12734 (gomp_init_tables): ... this new function.
12735 (gomp_register_images_for_device): Remove function.
12736 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
12737 Make them hidden instead of static.
12738 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
12739 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
12740 (GOMP_target_end_data, GOMP_target_update)
12741 (gomp_load_plugin_for_device, gomp_target_init): Update for
12742 OpenACC changes.
12743 * oacc-async.c: New file.
12744 * oacc-cuda.c: Likewise.
12745 * oacc-host.c: Likewise.
12746 * oacc-init.c: Likewise.
12747 * oacc-int.h: Likewise.
12748 * oacc-mem.c: Likewise.
12749 * oacc-parallel.c: Likewise.
12750 * oacc-plugin.c: Likewise.
12751 * oacc-plugin.h: Likewise.
12752 * oacc-ptx.h: Likewise.
12753 * openacc.f90: Likewise.
12754 * openacc.h: Likewise.
12755 * openacc_lib.h: Likewise.
12756 * plugin/plugin-host.c: Likewise.
12757 * plugin/plugin-nvptx.c: Likewise.
12758 * libgomp-plugin.c: Likewise.
12759 * libgomp-plugin.h: Likewise.
12760 * libgomp_target.h: Remove file after merging content into the
12761 former file. Update all users.
12762 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
12763 (offload_targets_s, offload_targets_s_openacc): New variables.
12764 (check_effective_target_openacc_nvidia_accel_present)
12765 (check_effective_target_openacc_nvidia_accel_selected): New
12766 procedures.
12767 (libgomp_init): Update for OpenACC changes.
12768 * testsuite/libgomp-test-support.exp.in: New file.
12769 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
12770 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12771 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12772 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
12773 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
12774 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
12775 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
12776 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
12777 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12778 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
12779 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
12780 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
12781 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
12782 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12783 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
12784 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12785 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
12786 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
12787 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
12788 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
12789 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
12790 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
12791 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
12792 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
12793 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12794 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
12795 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
12796 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
12797 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
12798 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
12799 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12800 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12801 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12802 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
12803 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
12804 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12805 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
12806 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12807 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
12808 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
12809 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
12810 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
12811 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12812 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12813 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12814 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
12815 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12816 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12817 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12818 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12819 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12820 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
12821 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12822 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12823 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12824 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12825 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12826 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12827 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12828 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
12829 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
12830 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
12831 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12832 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12833 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12834 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
12835 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
12836 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12837 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12838 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12839 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
12840 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12841 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12842 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12843 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
12844 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
12845 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12846 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12847 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
12848 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
12849 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
12850 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
12851 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12852 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12853 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12854 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
12855 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
12856 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12857 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12858 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
12859 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
12860 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
12861 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
12862 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12863 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12864 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12865 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12866 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
12867 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12868 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12869 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
12870 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
12871 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
12872 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12873 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
12874 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
12875 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
12876 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
12877 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
12878 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12879 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
12880 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
12881 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12882 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
12883 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
12884 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
12885 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
12886 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
12887 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
12888 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
12889 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
12890 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
12891 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
12892 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
12893 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
12894 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
12895 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
12896 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
12897 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
12898 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
12899 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
12900 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
12901 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12902 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
12903 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
12904 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12905 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12906 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12907 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12908 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
12909 Likewise.
12910 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
12911 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
12912 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
12913 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
12914 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
12915 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
12916 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12917 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12918 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12919 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12920 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12921 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12922 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12923 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
12924 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
12925 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
12926 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
12927 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
12928 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
12929 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
12930 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
12931 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
12932 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
12933 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
12934 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12935 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
12936 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12937 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12938 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
12939 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
12940 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
12941 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
12942 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
12943 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12944 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
12945 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
12946 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
12947 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
12948 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
12949 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
12950 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
12951 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
12952 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
12953 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
12954 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
12955 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
12956 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
12957 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12958 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12959 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12960 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12961 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12962 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12963 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12964 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12965 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12966 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12967 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12968 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12969 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12970
12971 2015-01-10 Thomas Schwinge <thomas (a] codesourcery.com>
12972 Julian Brown <julian (a] codesourcery.com>
12973 David Malcolm <dmalcolm (a] redhat.com>
12974
12975 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
12976 to "GNU Offloading and Multi Processing Runtime Library". Change
12977 all users.
12978 * configure: Regenerate.
12979 * libgomp.texi: Update.
12980
12981 2015-01-08 Thomas Schwinge <thomas (a] codesourcery.com>
12982
12983 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
12984 "$tgt_dir/lib32".
12985 * configure: Regenerate.
12986
12987 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
12988 "intelmic" in $offload_targets.
12989
12990 2015-01-05 Jakub Jelinek <jakub (a] redhat.com>
12991
12992 Update copyright years.
12993
12994 * libgomp.texi: Bump @copying's copyright year.
12995
12996 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov (a] arm.com>
12997
12998 * testsuite/lib/libgomp.exp: Load target-utils.exp.
12999 Move load of target-supports.exp earlier.
13000
13001 2014-12-10 Ilya Verbin <ilya.verbin (a] intel.com>
13002
13003 * testsuite/libgomp.c/target-9.c: New test.
13004
13005 2014-12-09 Varvara Rainchik <varvara.rainchik (a] intel.com>
13006
13007 * config.h.in: Regenerate.
13008 * configure: Regenerate.
13009 * configure.ac: Add GCC_CHECK_EMUTLS.
13010 * libgomp.h: Add check for USE_EMUTLS: this case
13011 is equal to HAVE_TLS.
13012 * team.c: Likewise.
13013
13014 2014-12-03 Uros Bizjak <ubizjak (a] gmail.com>
13015
13016 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
13017
13018 2014-11-28 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
13019 Ilya Verbin <ilya.verbin (a] intel.com>
13020
13021 * testsuite/libgomp.c/target-critical-1.c: New test.
13022
13023 2014-11-26 Jakub Jelinek <jakub (a] redhat.com>
13024
13025 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
13026 to dg-options unless expensive testing is on.
13027 (TESTITERS): Define to N if not defined.
13028 (main): Use TESTITERS instead of N.
13029 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
13030 dg-additional-options depending on whether expensive testing is on.
13031 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
13032 Decrease N to 100000 and CHUNKSZ to 10000.
13033
13034 2014-11-24 Jakub Jelinek <jakub (a] redhat.com>
13035
13036 PR fortran/63938
13037 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
13038 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
13039
13040 2014-11-21 Steve Ellcey <sellcey (a] imgtec.com>
13041
13042 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
13043
13044 2014-11-21 H.J. Lu <hongjiu.lu (a] intel.com>
13045
13046 PR bootstrap/63784
13047 * configure: Regenerated.
13048
13049 2014-11-19 Uros Bizjak <ubizjak (a] gmail.com>
13050
13051 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
13052 vect_simd_clones effective target.
13053 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13054
13055 2014-11-14 Jakub Jelinek <jakub (a] redhat.com>
13056
13057 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
13058 of 32 as block_size.
13059 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
13060 instead of 32 as block_size.
13061
13062 2014-11-13 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
13063 Ilya Verbin <ilya.verbin (a] intel.com>
13064
13065 * Makefile.in: Regenerate.
13066 * configure: Regenerate.
13067 * configure.ac: Set up offload_additional_options,
13068 offload_additional_lib_paths and offload_targets.
13069 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
13070 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
13071 * testsuite/Makefile.in: Regenerate.
13072 * testsuite/lib/libgomp.exp (libgomp_init): Append
13073 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
13074 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
13075 build directory to LD_LIBRARY_PATH for intelmic offload targets.
13076
13077 2014-11-13 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
13078 Ilya Verbin <ilya.verbin (a] intel.com>
13079 Kirill Yukhin <kirill.yukhin (a] intel.com>
13080 Ilya Tocar <ilya.tocar (a] intel.com>
13081
13082 * testsuite/lib/libgomp.exp
13083 (check_effective_target_offload_device): New.
13084 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
13085 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
13086 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
13087 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
13088 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
13089 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
13090 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
13091 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
13092 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
13093 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
13094 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
13095 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
13096 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
13097 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
13098 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
13099 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
13100 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
13101 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
13102 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
13103 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
13104 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
13105 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
13106 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
13107 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
13108 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
13109 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
13110 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
13111 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
13112 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
13113 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
13114 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
13115 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
13116 * testsuite/libgomp.c/target-7.c: Fix test.
13117 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
13118 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
13119 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
13120 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
13121 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
13122 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
13123 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
13124 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
13125 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
13126 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
13127 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
13128 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
13129 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
13130 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
13131 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
13132 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
13133 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
13134 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
13135 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13136 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
13137 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
13138 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
13139 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
13140 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
13141 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
13142 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
13143 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
13144 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
13145 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
13146 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
13147 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
13148
13149 2014-11-13 Jakub Jelinek <jakub (a] redhat.com>
13150 Ilya Verbin <ilya.verbin (a] intel.com>
13151 Thomas Schwinge <thomas (a] codesourcery.com>
13152 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
13153
13154 * libgomp.map (GOMP_4.0.1): New symbol version.
13155 Add GOMP_offload_register.
13156 * libgomp_target.h: New file.
13157 * splay-tree.h: New file.
13158 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
13159 (gomp_target_init): New forward declaration.
13160 (gomp_is_initialized): New static variable.
13161 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
13162 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
13163 New structures.
13164 (offload_images, num_offload_images, devices, num_devices): New static
13165 variables.
13166 (splay_compare): New static function.
13167 (struct gomp_device_descr): New structure.
13168 (gomp_get_num_devices): Call gomp_target_init.
13169 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
13170 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
13171 (GOMP_offload_register): New function.
13172 (GOMP_target): Arrange for host callback to be performed in a separate
13173 initial thread and contention group, inheriting ICVs from
13174 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
13175 Add device initialization and lookup for target function in splay tree.
13176 (GOMP_target_data): Add device initialization and call gomp_map_vars.
13177 (GOMP_target_end_data): Call gomp_unmap_vars.
13178 (GOMP_target_update): Add device initialization and call gomp_update.
13179 (gomp_load_plugin_for_device, gomp_register_images_for_device)
13180 (gomp_target_init): New static functions.
13181
13182 2014-11-13 Bernd Schmidt <bernds (a] codesourcery.com>
13183 Thomas Schwinge <thomas (a] codesourcery.com>
13184 Ilya Verbin <ilya.verbin (a] intel.com>
13185 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
13186
13187 * config.h.in: Regenerate.
13188 * configure: Regenerate.
13189 * configure.ac: Check for libdl, required for plugin support.
13190 (PLUGIN_SUPPORT): Define if plugins are supported.
13191 (enable_offload_targets): Support Intel MIC targets.
13192 (OFFLOAD_TARGETS): List of target names suitable for offloading.
13193
13194 2014-11-11 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
13195
13196 PR target/63610
13197 * configure: Regenerate.
13198
13199 2014-11-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
13200
13201 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
13202
13203 2014-10-06 Marek Polacek <polacek (a] redhat.com>
13204
13205 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
13206 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
13207 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
13208 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13209
13210 2014-10-06 Marek Polacek <polacek (a] redhat.com>
13211
13212 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
13213 * testsuite/libgomp.c/nqueens-1.c: Likewise.
13214 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13215 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13216 * testsuite/libgomp.c/pr36802-2.c: Likewise.
13217 * testsuite/libgomp.c/pr36802-3.c: Likewise.
13218 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
13219 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13220 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
13221 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
13222 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
13223 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
13224 * testsuite/libgomp.c/omp-single-1.c: Likewise.
13225 * testsuite/libgomp.c/omp-single-2.c: Likewise.
13226 * testsuite/libgomp.c/omp_matvec.c: Likewise.
13227 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
13228 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
13229 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
13230 declarations.
13231
13232 2014-10-03 Jakub Jelinek <jakub (a] redhat.com>
13233
13234 PR libgomp/61200
13235 * testsuite/libgomp.c/pr61200.c: New test.
13236
13237 2014-09-18 Jakub Jelinek <jakub (a] redhat.com>
13238
13239 PR c++/63248
13240 * testsuite/libgomp.c++/pr63248.C: New test.
13241
13242 2014-08-04 Jakub Jelinek <jakub (a] redhat.com>
13243
13244 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
13245 is not zero, but taskgroup->children is NULL and there are
13246 any task->children, schedule those instead of waiting.
13247 * testsuite/libgomp.c/depend-6.c: New test.
13248 * testsuite/libgomp.c/depend-7.c: New test.
13249 * testsuite/libgomp.c/depend-8.c: New test.
13250 * testsuite/libgomp.c/depend-9.c: New test.
13251 * testsuite/libgomp.c/depend-10.c: New test.
13252
13253 2014-08-01 Jakub Jelinek <jakub (a] redhat.com>
13254
13255 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
13256 (struct gomp_taskwait): New type.
13257 (struct gomp_task): Add taskwait and parent_depends_on, remove
13258 in_taskwait and taskwait_sem fields.
13259 (gomp_finish_task): Don't destroy taskwait_sem.
13260 * task.c (gomp_init_task): Don't init in_taskwait, instead init
13261 taskwait and parent_depends_on.
13262 (GOMP_task): For if (0) tasks with depend clause that depend on
13263 earlier tasks don't defer them, instead call
13264 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
13265 Initialize redundant_out field, for redundant out entries just
13266 move them at the end of linked list instead of removing them
13267 completely, and set redundant_out flag instead of redundant.
13268 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
13269 that task.
13270 (gomp_task_run_post_handle_dependers): If parent is in
13271 gomp_task_maybe_wait_for_dependencies and newly runnable task
13272 is not parent_depends_on, queue it in parent->children linked
13273 list after all runnable tasks with parent_depends_on set.
13274 Adjust for addition of taskwait indirection.
13275 (gomp_task_run_post_remove_parent): If parent is in
13276 gomp_task_maybe_wait_for_dependencies and task to be removed
13277 is parent_depends_on, decrement n_depend and if needed awake
13278 parent. Adjust for addition of taskwait indirection.
13279 (GOMP_taskwait): Adjust for addition of taskwait indirection.
13280 (gomp_task_maybe_wait_for_dependencies): New function.
13281 * testsuite/libgomp.c/depend-5.c: New test.
13282
13283 2014-07-13 Tobias Burnus <burnus (a] net-b.de>
13284
13285 * testsuite/libgomp.fortran/pr34020.f90: Make compile
13286 with TS 18508/Fortran 2015.
13287
13288 2014-07-06 Marek Polacek <polacek (a] redhat.com>
13289
13290 PR c/6940
13291 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
13292
13293 2014-07-03 Jakub Jelinek <jakub (a] redhat.com>
13294
13295 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
13296 matches regex $lang_source_re, add $lang_include_flags to options.
13297 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
13298 * testsuite/libgomp.c++/c++.exp: Likewise.
13299 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
13300 and lang_include_flags instead of adding -fintrinsic-modules-path= to
13301 ALWAYS_CFLAGS.
13302 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
13303
13304 2014-07-03 Thomas Schwinge <thomas (a] codesourcery.com>
13305
13306 * testsuite/libgomp.fortran/fortran.exp: Explain
13307 gfortran-dg-runtest usage.
13308
13309 2014-06-25 Jakub Jelinek <jakub (a] redhat.com>
13310
13311 * testsuite/libgomp.fortran/simd5.f90: New test.
13312 * testsuite/libgomp.fortran/simd6.f90: New test.
13313 * testsuite/libgomp.fortran/simd7.f90: New test.
13314
13315 2014-06-24 Jakub Jelinek <jakub (a] redhat.com>
13316
13317 * testsuite/libgomp.c/for-2.c: Define SC to static for
13318 #pragma omp for simd testing.
13319 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
13320 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
13321 SC macro.
13322 * testsuite/libgomp.c/simd-14.c: New test.
13323 * testsuite/libgomp.c/simd-15.c: New test.
13324 * testsuite/libgomp.c/simd-16.c: New test.
13325 * testsuite/libgomp.c/simd-17.c: New test.
13326 * testsuite/libgomp.c++/for-10.C: Define SC to static for
13327 #pragma omp for simd testing.
13328 * testsuite/libgomp.c++/simd10.C: New test.
13329 * testsuite/libgomp.c++/simd11.C: New test.
13330 * testsuite/libgomp.c++/simd12.C: New test.
13331 * testsuite/libgomp.c++/simd13.C: New test.
13332
13333 * testsuite/libgomp.fortran/aligned1.f03: New test.
13334 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
13335 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
13336 tasks with !$omp parallel !$omp single.
13337 * testsuite/libgomp.fortran/target8.f90: New test.
13338 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
13339 not to use trim in the combiner, instead call elemental function.
13340 (fn): New elemental function.
13341 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
13342 Make elemental.
13343 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
13344 omp_in): Likewise.
13345 * testsuite/libgomp.fortran/udr12.f90: New test.
13346 * testsuite/libgomp.fortran/udr13.f90: New test.
13347 * testsuite/libgomp.fortran/udr14.f90: New test.
13348 * testsuite/libgomp.fortran/udr15.f90: New test.
13349
13350 2014-06-18 Jakub Jelinek <jakub (a] redhat.com>
13351
13352 * omp_lib.f90.in (openmp_version): Set to 201307.
13353 * omp_lib.h.in (openmp_version): Likewise.
13354 * testsuite/libgomp.c/target-8.c: New test.
13355 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
13356 and inbranch clauses.
13357 * testsuite/libgomp.fortran/depend-3.f90: New test.
13358 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
13359 openmp_version.
13360 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13361 * testsuite/libgomp.fortran/target1.f90: New test.
13362 * testsuite/libgomp.fortran/target2.f90: New test.
13363 * testsuite/libgomp.fortran/target3.f90: New test.
13364 * testsuite/libgomp.fortran/target4.f90: New test.
13365 * testsuite/libgomp.fortran/target5.f90: New test.
13366 * testsuite/libgomp.fortran/target6.f90: New test.
13367 * testsuite/libgomp.fortran/target7.f90: New test.
13368
13369 2014-06-10 Jakub Jelinek <jakub (a] redhat.com>
13370
13371 PR fortran/60928
13372 * testsuite/libgomp.fortran/allocatable9.f90: New test.
13373 * testsuite/libgomp.fortran/allocatable10.f90: New test.
13374 * testsuite/libgomp.fortran/allocatable11.f90: New test.
13375 * testsuite/libgomp.fortran/allocatable12.f90: New test.
13376 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
13377 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
13378 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
13379 * testsuite/libgomp.fortran/associate1.f90: New test.
13380 * testsuite/libgomp.fortran/associate2.f90: New test.
13381 * testsuite/libgomp.fortran/procptr1.f90: New test.
13382
13383 2014-06-06 Jakub Jelinek <jakub (a] redhat.com>
13384
13385 * testsuite/libgomp.fortran/simd1.f90: New test.
13386 * testsuite/libgomp.fortran/udr1.f90: New test.
13387 * testsuite/libgomp.fortran/udr2.f90: New test.
13388 * testsuite/libgomp.fortran/udr3.f90: New test.
13389 * testsuite/libgomp.fortran/udr4.f90: New test.
13390 * testsuite/libgomp.fortran/udr5.f90: New test.
13391 * testsuite/libgomp.fortran/udr6.f90: New test.
13392 * testsuite/libgomp.fortran/udr7.f90: New test.
13393 * testsuite/libgomp.fortran/udr8.f90: New test.
13394 * testsuite/libgomp.fortran/udr9.f90: New test.
13395 * testsuite/libgomp.fortran/udr10.f90: New test.
13396 * testsuite/libgomp.fortran/udr11.f90: New test.
13397
13398 2014-05-27 Uros Bizjak <ubizjak (a] gmail.com>
13399
13400 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
13401 vect_simd_clones effective target.
13402 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
13403
13404 2014-05-21 Jakub Jelinek <jakub (a] redhat.com>
13405
13406 PR middle-end/61252
13407 * testsuite/libgomp.c++/simd-9.C: New test.
13408
13409 2014-05-18 Uros Bizjak <ubizjak (a] gmail.com>
13410
13411 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
13412 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
13413 texts according to their @menu entry positions.
13414
13415 2014-05-11 Jakub Jelinek <jakub (a] redhat.com>
13416
13417 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
13418 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
13419 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
13420 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
13421 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
13422 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
13423 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
13424 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
13425 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
13426 * testsuite/libgomp.fortran/depend-1.f90: New test.
13427 * testsuite/libgomp.fortran/depend-2.f90: New test.
13428 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
13429 * testsuite/libgomp.fortran/simd1.f90: New test.
13430 * testsuite/libgomp.fortran/simd2.f90: New test.
13431 * testsuite/libgomp.fortran/simd3.f90: New test.
13432 * testsuite/libgomp.fortran/simd4.f90: New test.
13433 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
13434
13435 2014-05-02 Jakub Jelinek <jakub (a] redhat.com>
13436
13437 * testsuite/libgomp.c/simd-10.c: New test.
13438 * testsuite/libgomp.c/simd-11.c: New test.
13439 * testsuite/libgomp.c/simd-12.c: New test.
13440 * testsuite/libgomp.c/simd-13.c: New test.
13441
13442 2014-04-24 Jakub Jelinek <jakub (a] redhat.com>
13443
13444 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
13445 atomic type clauses in any order and optional comma in between.
13446 * testsuite/libgomp.c++/atomic-15.C: Likewise.
13447 * testsuite/libgomp.c/atomic-17.c: Likewise.
13448
13449 * testsuite/libgomp.c/simd-7.c: New test.
13450 * testsuite/libgomp.c/simd-8.c: New test.
13451 * testsuite/libgomp.c/simd-9.c: New test.
13452 * testsuite/libgomp.c/loop-16.c: New test.
13453
13454 2014-04-02 Richard Henderson <rth (a] redhat.com>
13455
13456 * config/linux/futex.h (futex_wait): Get error value from errno.
13457 (futex_wake): Likewise.
13458
13459 2014-03-25 Jakub Jelinek <jakub (a] redhat.com>
13460
13461 PR c++/60331
13462 * testsuite/libgomp.c++/udr-11.C: New test.
13463 * testsuite/libgomp.c++/udr-12.C: New test.
13464 * testsuite/libgomp.c++/udr-13.C: New test.
13465 * testsuite/libgomp.c++/udr-14.C: New test.
13466 * testsuite/libgomp.c++/udr-15.C: New test.
13467 * testsuite/libgomp.c++/udr-16.C: New test.
13468 * testsuite/libgomp.c++/udr-17.C: New test.
13469 * testsuite/libgomp.c++/udr-18.C: New test.
13470 * testsuite/libgomp.c++/udr-19.C: New test.
13471
13472 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com>
13473
13474 Update copyright years
13475
13476 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com>
13477
13478 * hashtab.h: Use the standard form for the copyright notice.
13479
13480 2014-01-02 Tobias Burnus <burnus (a] net-b.de>
13481
13482 * libgomp.texi: Bump @copying's copyright year.
13483
13484 2013-12-17 Andreas Tobler <andreast (a] gcc.gnu.org>
13485
13486 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
13487 alloca () with __builtin_alloca ().
13488 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
13489 * testsuite/libgomp.c/lock-3.c: Likewise.
13490 * testsuite/libgomp.c/pr48591.c: Likewise.
13491
13492 2013-12-17 Jakub Jelinek <jakub (a] redhat.com>
13493
13494 PR testsuite/59534
13495 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
13496 comparisons.
13497
13498 2013-12-16 Jakub Jelinek <jakub (a] redhat.com>
13499
13500 PR libgomp/58756
13501 * testsuite/libgomp.c/pr58756.c: New test.
13502
13503 2013-12-12 Jakub Jelinek <jakub (a] redhat.com>
13504
13505 PR libgomp/59467
13506 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
13507 !$omp parallel.
13508
13509 2013-11-07 Thomas Schwinge <thomas (a] codesourcery.com>
13510
13511 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
13512 ALWAYS_CFLAGS.
13513 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
13514 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
13515 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
13516 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
13517 Likewise.
13518
13519 * libgomp_g.h: Include <stddef.h> for size_t.
13520
13521 * libgomp.spec.in: Update comment about libgomp's dependencies.
13522 * configure.ac: Likewise.
13523 * configure: Regenerate.
13524
13525 2013-10-16 Tobias Burnus <burnus (a] net-b.de>
13526
13527 * libgomp.texi: (Runtime Library Routines): Update references for
13528 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
13529 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
13530 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
13531 (Environment Variables): Update references for OpenMP 4.0. Add
13532 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
13533 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
13534 order.
13535
13536 2013-10-14 Jakub Jelinek <jakub (a] redhat.com>
13537
13538 * env.c (parse_bind_var): Initialize value to avoid
13539 (false positive) warning.
13540
13541 2013-10-12 Jakub Jelinek <jakub (a] redhat.com>
13542
13543 PR libgomp/58691
13544 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
13545 to check variable.
13546 (gomp_init_num_threads): Move i variable declaration into
13547 #ifdef CPU_ALLOC_SIZE block.
13548 * config/linux/affinity.c (gomp_affinity_init_level): Test
13549 gomp_places_list_len == 0 rather than gomp_places_list == 0
13550 when checking for topology reading error.
13551 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
13552 * env.c (parse_affinity): Add ignore argument, if true, don't populate
13553 gomp_places_list, only parse env var and always return false.
13554 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
13555 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
13556 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
13557 and either of these variables were parsed correctly into a places
13558 list.
13559
13560 2013-10-11 Thomas Schwinge <thomas (a] codesourcery.com>
13561 Jakub Jelinek <jakub (a] redhat.com>
13562
13563 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
13564 of 5 loopfn matches.
13565 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13566 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13567 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
13568 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13569 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13570 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13571 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13572 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13573
13574 2013-10-11 Thomas Schwinge <thomas (a] codesourcery.com>
13575
13576 * Makefile.am (omp_lib.mod): Streamline rule.
13577 * Makefile.in: Regenerate.
13578
13579 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
13580 exceptions.
13581
13582 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
13583 * testsuite/libgomp.fortran/lib1.f90: Likewise.
13584 * testsuite/libgomp.fortran/lib2.f: Likewise.
13585 * testsuite/libgomp.fortran/lib3.f: Likewise.
13586
13587 * configure.ac: Typo fix.
13588 * configure: Regenerate.
13589
13590 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
13591 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13592
13593 * omp.h.in: Don't touch the user's namespace.
13594
13595 2013-10-11 Jakub Jelinek <jakub (a] redhat.com>
13596 Tobias Burnus <burnus (a] net-b.de>
13597 Richard Henderson <rth (a] redhat.com>
13598
13599 * target.c: New file.
13600 * Makefile.am (libgomp_la_SOURCES): Add target.c.
13601 * Makefile.in: Regenerated.
13602 * libgomp_g.h (GOMP_task): Add depend argument.
13603 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13604 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13605 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
13606 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13607 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13608 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
13609 GOMP_taskgroup_start, GOMP_taskgroup_end,
13610 GOMP_parallel_sections): New prototypes.
13611 * fortran.c (omp_is_initial_device): Add ialias_redirect.
13612 (omp_is_initial_device_): New function.
13613 (ULP, STR1, STR2, ialias_redirect): Removed.
13614 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
13615 omp_set_default_device_8_, omp_get_default_device_,
13616 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
13617 functions.
13618 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13619 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13620 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
13621 @@GOMP_4.0.
13622 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
13623 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
13624 omp_set_default_device, omp_set_default_device_,
13625 omp_set_default_device_8_, omp_get_default_device,
13626 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
13627 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
13628 omp_get_team_num_): Export @@OMP_4.0.
13629 * team.c (struct gomp_thread_start_data): Add place field.
13630 (gomp_thread_start): Clear thr->thread_pool and
13631 thr->task before returning. Use gomp_team_barrier_wait_final
13632 instead of gomp_team_barrier_wait. Initialize thr->place.
13633 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
13634 team_cancelled and task_queued_count fields.
13635 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
13636 before calling pthread_exit.
13637 (gomp_free_thread): No longer static. Use
13638 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
13639 (gomp_team_start): Add flags argument. Set
13640 thr->thread_pool->threads_busy to nthreads immediately after creating
13641 new pool. Use gomp_managed_threads_lock instead of
13642 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
13643 (gomp_team_end): Use gomp_managed_threads_lock instead of
13644 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
13645 of gomp_team_barrier_wait. If team->team_cancelled, call
13646 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
13647 rather than thr->ts.work_share.
13648 (initialize_team): Don't call gomp_sem_init here.
13649 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
13650 caller.
13651 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
13652 * env.c (gomp_global_icv): Add default_device_var, target_data and
13653 bind_var initializers.
13654 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13655 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13656 gomp_places_list_len): New variables.
13657 (parse_bind_var, parse_one_place, parse_places_var): New functions.
13658 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
13659 sized places.
13660 (gomp_cancel_var): New global variable.
13661 (parse_int): New function.
13662 (handle_omp_display_env): New function.
13663 (initialize_env): Use it. Initialize default_device_var.
13664 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
13665 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
13666 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
13667 been successfully parsed (and call gomp_init_affinity in that case).
13668 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13669 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13670 omp_get_team_num, omp_is_initial_device): New functions.
13671 * libgomp.h: Include stdlib.h.
13672 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
13673 Define.
13674 (struct target_mem_desc): Forward declare.
13675 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
13676 and thread_limit_var fields.
13677 (gomp_get_num_devices): New prototype.
13678 (gomp_cancel_var): New extern decl.
13679 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
13680 team_cancelled and task_queued_count fields. Add comments about
13681 task_{,queued_,running_}count.
13682 (gomp_cancel_kind): New enum.
13683 (gomp_work_share_end_cancel): New prototype.
13684 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
13685 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
13686 and depend fields.
13687 (struct gomp_taskgroup): New type.
13688 (struct gomp_task_depend_entry,
13689 struct gomp_dependers_vec): New types.
13690 (gomp_finish_task): Free depend_hash if non-NULL.
13691 (struct gomp_team_state): Add place_partition_off
13692 and place_partition_len fields.
13693 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13694 gomp_places_list_len): New extern decls.
13695 (struct gomp_thread): Add place field.
13696 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13697 (gomp_init_thread_affinity): Add place argument.
13698 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13699 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13700 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13701 gomp_affinity_init_level, gomp_affinity_print_place): New
13702 prototypes.
13703 (gomp_team_start): Add flags argument.
13704 (gomp_thread_limit_var, gomp_remaining_threads_count,
13705 gomp_remaining_threads_lock): Remove.
13706 (gomp_managed_threads_lock): New variable.
13707 (struct gomp_thread_pool): Add threads_busy field.
13708 (gomp_free_thread): New prototype.
13709 * task.c: Include hashtab.h.
13710 (hash_entry_type): New typedef.
13711 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
13712 (gomp_init_task): Clear dependers, depend_hash, depend_count,
13713 copy_ctors_done and taskgroup fields.
13714 (GOMP_task): Add depend argument, handle depend clauses. If
13715 gomp_team_barrier_cancelled or if it's taskgroup has been
13716 cancelled, don't queue or start new tasks. Set copy_ctors_done
13717 field if needed. Initialize taskgroup field. If copy_ctors_done
13718 and already cancelled, don't discard the task. If taskgroup is
13719 non-NULL, enqueue the task into taskgroup queue. Increment
13720 num_children field in taskgroup. Increment task_queued_count.
13721 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
13722 gomp_task_run_post_remove_taskgroup): New inline functions.
13723 (gomp_task_run_post_handle_depend_hash,
13724 gomp_task_run_post_handle_dependers,
13725 gomp_task_run_post_handle_depend): New functions.
13726 (GOMP_taskwait): Use them. If more than one new tasks
13727 have been queued, wake other threads if needed.
13728 (gomp_barrier_handle_tasks): Likewise. If
13729 gomp_team_barrier_cancelled, don't start any new tasks, just free
13730 all tasks.
13731 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
13732 * omp_lib.f90.in
13733 (omp_proc_bind_kind, omp_proc_bind_false,
13734 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13735 omp_proc_bind_spread): New params.
13736 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13737 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13738 omp_get_team_num, omp_is_initial_device): New interfaces.
13739 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
13740 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
13741 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
13742 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
13743 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
13744 useless use omp_lib_kinds.
13745 * omp.h.in (omp_proc_bind_t): New typedef.
13746 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13747 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13748 omp_get_team_num, omp_is_initial_device): New prototypes.
13749 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
13750 through to gomp_team_start.
13751 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
13752 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
13753 Adjust gomp_parallel_loop_start callers.
13754 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13755 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13756 GOMP_loop_end_cancel): New functions.
13757 (GOMP_parallel_end): Add ialias_redirect.
13758 * hashtab.h: New file.
13759 * libgomp.texi (Environment Variables): Minor cleanup,
13760 update section refs to OpenMP 4.0rc2.
13761 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
13762 environment variables.
13763 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
13764 team->work_shares_to_free to thr->ts.work_share before calling
13765 free_work_share.
13766 (gomp_work_share_end_cancel): New function.
13767 * config/linux/proc.c: Include errno.h.
13768 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
13769 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
13770 sizeof (cpu_set_t) to determine number of iterations. Fix up check
13771 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
13772 gomp_cpuset_size is sizeof (cpu_set_t).
13773 (gomp_init_num_threads): Initialize gomp_cpuset_size,
13774 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
13775 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
13776 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
13777 contain any logical CPUs.
13778 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
13779 is NULL. Use gomp_cpusetp instead of &cpuset and pass
13780 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
13781 pthread_getaffinity_np. Check gomp_places_list instead of
13782 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
13783 * config/linux/bar.c (gomp_barrier_wait_end,
13784 gomp_barrier_wait_last): Use BAR_* defines.
13785 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
13786 from state where needed. Set work_share_cancelled to 0 on last
13787 thread.
13788 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
13789 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
13790 functions.
13791 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
13792 Add cpusetsize argument.
13793 (gomp_cpuset_size, gomp_cpusetp): Declare.
13794 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
13795 (affinity_counter): Remove.
13796 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
13797 if CPU_ALLOC_SIZE isn't defined.
13798 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
13799 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
13800 bind current thread to the first place.
13801 (gomp_init_thread_affinity): Rewritten. Add place argument, just
13802 pthread_setaffinity_np to gomp_places_list[place].
13803 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13804 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13805 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13806 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
13807 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13808 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13809 (gomp_barrier_t): Add awaited_final field.
13810 (gomp_barrier_init): Initialize awaited_final field.
13811 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
13812 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
13813 prototypes.
13814 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
13815 defines.
13816 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
13817 gomp_team_barrier_cancelled): New inline functions.
13818 (gomp_barrier_last_thread,
13819 gomp_team_barrier_set_task_pending,
13820 gomp_team_barrier_clear_task_pending,
13821 gomp_team_barrier_set_waiting_for_tasks,
13822 gomp_team_barrier_waiting_for_tasks,
13823 gomp_team_barrier_done): Use BAR_* defines.
13824 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
13825 (gomp_barrier_wait_end): Use BAR_* defines.
13826 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
13827 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
13828 Use BAR_* defines.
13829 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
13830 gomp_team_barrier_cancel): New functions.
13831 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
13832 argument.
13833 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13834 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13835 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13836 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
13837 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13838 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13839 (gomp_barrier_t): Add cancellable field.
13840 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
13841 gomp_team_barrier_cancel): New prototypes.
13842 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
13843 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
13844 gomp_team_barrier_cancelled): New inline functions.
13845 (gomp_barrier_wait_start, gomp_barrier_last_thread,
13846 gomp_team_barrier_set_task_pending,
13847 gomp_team_barrier_clear_task_pending,
13848 gomp_team_barrier_set_waiting_for_tasks,
13849 gomp_team_barrier_waiting_for_tasks,
13850 gomp_team_barrier_done): Use BAR_* defines.
13851 * barrier.c (GOMP_barrier_cancel): New function.
13852 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
13853 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13854 omp_proc_bind_spread): New params.
13855 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13856 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13857 omp_get_team_num, omp_is_initial_device): New externals.
13858 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
13859 New functions.
13860 (gomp_resolve_num_threads): Adjust for thread_limit now being in
13861 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
13862 infinity. If not nested, just return minimum of max_num_threads
13863 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
13864 to the returned value. Otherwise, don't update atomically
13865 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
13866 (GOMP_parallel_end): Adjust for thread_limit now being in
13867 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
13868 infinity. Adjust threads_busy in the pool rather than
13869 gomp_remaining_threads_count. Remember team->nthreads and call
13870 gomp_team_end before adjusting threads_busy, if not nested
13871 afterwards, just set it to 1 non-atomically. Add ialias.
13872 (GOMP_parallel_start): Adjust gomp_team_start caller.
13873 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
13874 * testsuite/libgomp.c/affinity-1.c: New test.
13875 * testsuite/libgomp.c/atomic-15.c: New test.
13876 * testsuite/libgomp.c/atomic-16.c: New test.
13877 * testsuite/libgomp.c/atomic-17.c: New test.
13878 * testsuite/libgomp.c/cancel-for-1.c: New test.
13879 * testsuite/libgomp.c/cancel-for-2.c: New test.
13880 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
13881 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
13882 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
13883 * testsuite/libgomp.c/cancel-sections-1.c: New test.
13884 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
13885 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
13886 * testsuite/libgomp.c/depend-1.c: New test.
13887 * testsuite/libgomp.c/depend-2.c: New test.
13888 * testsuite/libgomp.c/depend-3.c: New test.
13889 * testsuite/libgomp.c/depend-4.c: New test.
13890 * testsuite/libgomp.c/for-1.c: New test.
13891 * testsuite/libgomp.c/for-1.h: New file.
13892 * testsuite/libgomp.c/for-2.c: New test.
13893 * testsuite/libgomp.c/for-2.h: New file.
13894 * testsuite/libgomp.c/for-3.c: New test.
13895 * testsuite/libgomp.c/pr58392.c: New test.
13896 * testsuite/libgomp.c/simd-1.c: New test.
13897 * testsuite/libgomp.c/simd-2.c: New test.
13898 * testsuite/libgomp.c/simd-3.c: New test.
13899 * testsuite/libgomp.c/simd-4.c: New test.
13900 * testsuite/libgomp.c/simd-5.c: New test.
13901 * testsuite/libgomp.c/simd-6.c: New test.
13902 * testsuite/libgomp.c/target-1.c: New test.
13903 * testsuite/libgomp.c/target-2.c: New test.
13904 * testsuite/libgomp.c/target-3.c: New test.
13905 * testsuite/libgomp.c/target-4.c: New test.
13906 * testsuite/libgomp.c/target-5.c: New test.
13907 * testsuite/libgomp.c/target-6.c: New test.
13908 * testsuite/libgomp.c/target-7.c: New test.
13909 * testsuite/libgomp.c/taskgroup-1.c: New test.
13910 * testsuite/libgomp.c/thread-limit-1.c: New test.
13911 * testsuite/libgomp.c/thread-limit-2.c: New test.
13912 * testsuite/libgomp.c/thread-limit-3.c: New test.
13913 * testsuite/libgomp.c/udr-1.c: New test.
13914 * testsuite/libgomp.c/udr-2.c: New test.
13915 * testsuite/libgomp.c/udr-3.c: New test.
13916 * testsuite/libgomp.c++/affinity-1.C: New test.
13917 * testsuite/libgomp.c++/atomic-10.C: New test.
13918 * testsuite/libgomp.c++/atomic-11.C: New test.
13919 * testsuite/libgomp.c++/atomic-12.C: New test.
13920 * testsuite/libgomp.c++/atomic-13.C: New test.
13921 * testsuite/libgomp.c++/atomic-14.C: New test.
13922 * testsuite/libgomp.c++/atomic-15.C: New test.
13923 * testsuite/libgomp.c++/cancel-for-1.C: New test.
13924 * testsuite/libgomp.c++/cancel-for-2.C: New test.
13925 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
13926 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
13927 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
13928 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
13929 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
13930 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
13931 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
13932 * testsuite/libgomp.c++/cancel-test.h: New file.
13933 * testsuite/libgomp.c++/for-9.C: New test.
13934 * testsuite/libgomp.c++/for-10.C: New test.
13935 * testsuite/libgomp.c++/for-11.C: New test.
13936 * testsuite/libgomp.c++/simd-1.C: New test.
13937 * testsuite/libgomp.c++/simd-2.C: New test.
13938 * testsuite/libgomp.c++/simd-3.C: New test.
13939 * testsuite/libgomp.c++/simd-4.C: New test.
13940 * testsuite/libgomp.c++/simd-5.C: New test.
13941 * testsuite/libgomp.c++/simd-6.C: New test.
13942 * testsuite/libgomp.c++/simd-7.C: New test.
13943 * testsuite/libgomp.c++/simd-8.C: New test.
13944 * testsuite/libgomp.c++/target-1.C: New test.
13945 * testsuite/libgomp.c++/target-2.C: New test.
13946 * testsuite/libgomp.c++/target-2-aux.cc: New file.
13947 * testsuite/libgomp.c++/target-3.C: New test.
13948 * testsuite/libgomp.c++/taskgroup-1.C: New test.
13949 * testsuite/libgomp.c++/udr-1.C: New test.
13950 * testsuite/libgomp.c++/udr-2.C: New test.
13951 * testsuite/libgomp.c++/udr-3.C: New test.
13952 * testsuite/libgomp.c++/udr-4.C: New test.
13953 * testsuite/libgomp.c++/udr-5.C: New test.
13954 * testsuite/libgomp.c++/udr-6.C: New test.
13955 * testsuite/libgomp.c++/udr-7.C: New test.
13956 * testsuite/libgomp.c++/udr-8.C: New test.
13957 * testsuite/libgomp.c++/udr-9.C: New test.
13958
13959 2013-09-20 Jakub Jelinek <jakub (a] redhat.com>
13960
13961 PR testsuite/57605
13962 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
13963 ALWAYS_CFLAGS.
13964
13965 2013-09-20 Alan Modra <amodra (a] gmail.com>
13966
13967 * configure: Regenerate.
13968
13969 2013-09-19 Jakub Jelinek <jakub (a] redhat.com>
13970
13971 * testsuite/libgomp.c/sections-2.c: New test.
13972
13973 2013-06-28 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
13974
13975 * testsuite/libgomp.fortran/strassen.f90:
13976 Add dg-skip-if aarch64_tiny.
13977
13978 2013-06-20 Iain Sandoe <iain (a] codesourcery.com>
13979 Cesar Philippidis <cesar (a] codesourcery.com>
13980
13981 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
13982 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
13983 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
13984 * testsuite/libgomp.fortran/fortran.exp: Likewise.
13985 * testsuite/libgomp.graphite/graphite.exp: Likewise.
13986 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
13987 Use dg-runtest rather than gfortran-dg-runtest.
13988
13989 2013-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
13990
13991 * testsuite/libgomp.c/icv-2.c: Extend current handling of
13992 Linux-based x86 systems to cover all GNU systems.
13993 * testsuite/libgomp.c/lock-3.c: Likewise.
13994 * testsuite/libgomp.c/pr48591.c: Likewise.
13995
13996 2013-06-06 Thomas Schwinge <thomas (a] codesourcery.com>
13997
13998 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
13999 GNU/Hurd, as done for Linux-based systems.
14000
14001 * config/posix/ptrlock.h: Fix comment.
14002
14003 2013-05-27 Tobias Burnus <burnus (a] net-b.de>
14004
14005 PR fortran/57423
14006 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
14007 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
14008 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
14009 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
14010 omp_destroy_nest_lock): Correct arguments to match the one in
14011 the OpenMP spec.
14012 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
14013 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
14014 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
14015 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
14016
14017 2013-05-16 Jakub Jelinek <jakub (a] redhat.com>
14018
14019 * testsuite/libgomp.c/loop-13.c: New test.
14020 * testsuite/libgomp.c/loop-14.c: New test.
14021 * testsuite/libgomp.c/loop-15.c: New test.
14022 * testsuite/libgomp.c++/loop-13.C: New test.
14023 * testsuite/libgomp.c++/loop-14.C: New test.
14024 * testsuite/libgomp.c++/loop-15.C: New test.
14025
14026 2013-02-06 Jakub Jelinek <jakub (a] redhat.com>
14027
14028 PR middle-end/56217
14029 * testsuite/libgomp.c++/pr56217.C: New test.
14030
14031 2013-02-01 Alan Modra <amodra (a] gmail.com>
14032
14033 * task.c (GOMP_task, GOMP_taskwait): Comment.
14034
14035 2013-01-31 Dmitry Vyukov <dvyukov (a] gcc.gnu.org>
14036 Joost VandeVondele <Joost.VandeVondele (a] mat.ethz.ch>
14037
14038 PR libgomp/55561
14039 * config/linux/wait.h (do_spin): Use atomic load for addr.
14040 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
14041 for intptr and ptrlock.
14042 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
14043 for ptrlock.
14044
14045 2013-01-22 Alan Modra <amodra (a] gmail.com>
14046
14047 PR libgomp/51376
14048 PR libgomp/56073
14049 * task.c (GOMP_task): Revert 2011-12-09 change.
14050 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
14051 barrier to read task->children..
14052 (gomp_barrier_handle_tasks): ..and matching atomic store with
14053 release barrier here when setting parent->children to NULL.
14054
14055 2013-01-16 Jakub Jelinek <jakub (a] redhat.com>
14056 Tobias Burnus <burnus (a] net-b.de>
14057
14058 PR driver/55884
14059 * testsuite/libgomp.fortran/fortran.exp: Use
14060 -fintrinsic-modules-path= instead of
14061 -fintrinsic-modules-path.
14062
14063 2013-01-14 Richard Sandiford <rdsandiford (a] googlemail.com>
14064
14065 Update copyright years.
14066
14067 2012-12-19 Tobias Burnus <burnus (a] net-b.de>
14068
14069 * testsuite/libgomp.fortran/fortran.exp: Set
14070 -fintrinsic-modules-path.
14071
14072 2012-12-19 Tobias Burnus <burnus (a] net-b.de>
14073
14074 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
14075 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
14076
14077 2012-11-21 Jakub Jelinek <jakub (a] redhat.com>
14078
14079 PR libgomp/55411
14080 * team.c (gomp_free_thread): Decrease gomp_managed_threads
14081 if pool had any threads_used.
14082
14083 2012-11-07 Jack Howarth <howarth (a] bromo.med.uc.edu>
14084
14085 * testsuite/libgomp.c++/pr24455.C: Use
14086 -Wl,-undefined,dynamic_lookup on darwin.
14087
14088 2012-11-07 David Edelsohn <dje.gcc (a] gmail.com>
14089
14090 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
14091
14092 2012-10-24 Dominique d'Humieres <dominiq (a] lps.ens.fr>
14093
14094 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
14095
14096 2012-10-23 Ian Bolton <ian.bolton (a] arm.com>
14097 Jim MacArthur <jim.macarthur (a] arm.com>
14098 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
14099 Nigel Stephens <nigel.stephens (a] arm.com>
14100 Ramana Radhakrishnan <ramana.radhakrishnan (a] arm.com>
14101 Richard Earnshaw <rearnsha (a] arm.com>
14102 Sofiane Naci <sofiane.naci (a] arm.com>
14103 Stephen Thomas <stephen.thomas (a] arm.com>
14104 Tejas Belagod <tejas.belagod (a] arm.com>
14105 Yufeng Zhang <yufeng.zhang (a] arm.com>
14106
14107 * configure.tgt: Add AArch64.
14108
14109 2012-10-04 Jason Merrill <jason (a] redhat.com>
14110
14111 * testsuite/libgomp.c++/tls-init1.C: New.
14112
14113 2012-09-14 David Edelsohn <dje.gcc (a] gmail.com>
14114
14115 * configure: Regenerated.
14116
14117 2012-08-29 Chung-Lin Tang <cltang (a] codesourcery.com>
14118
14119 * config/linux/mips/futex.h (sys_futex0): Change to static
14120 function with noinline, nomips16 attributes under MIPS16. Adjust
14121 asm statement to place 'li v0,SYS_futex' immediately before
14122 syscall insn.
14123
14124 2012-07-04 Sandra Loosemore <sandra (a] codesourcery.com>
14125
14126 * libgomp.texi (Library Index): Renamed from "Index" to prevent
14127 conflict with index.html on case-insensitive file systems.
14128
14129 2012-07-03 Uros Bizjak <ubizjak (a] gmail.com>
14130
14131 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
14132 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
14133
14134 2012-07-02 Richard Guenther <rguenther (a] suse.de>
14135 Michael Matz <matz (a] suse.de>
14136 Tobias Grosser <tobias (a] grosser.es>
14137 Sebastian Pop <sebpop (a] gmail.com>
14138
14139 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
14140 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14141 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14142 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14143
14144 2012-06-28 Andreas Schwab <schwab (a] linux-m68k.org>
14145
14146 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
14147
14148 2012-06-22 Richard Guenther <rguenther (a] suse.de>
14149
14150 Merge from graphite branch
14151 2012-01-13 Tobias Grosser <tobias (a] grosser.es>
14152
14153 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14154 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14155
14156 2012-06-07 Jakub Jelinek <jakub (a] redhat.com>
14157
14158 PR middle-end/53580
14159 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
14160 use GOMP_barrier () call instead.
14161 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14162 * testsuite/libgomp.c/pr26943-4.c: Likewise.
14163 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
14164 call GOMP_barrier instead.
14165 * testsuite/libgomp.fortran/vla5.f90: Likewise.
14166
14167 2012-06-06 Jakub Jelinek <jakub (a] redhat.com>
14168
14169 PR libgomp/52993
14170 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
14171 argument to memset call.
14172
14173 2012-05-16 H.J. Lu <hongjiu.lu (a] intel.com>
14174
14175 * configure: Regenerated.
14176
14177 2012-04-11 Manuel Lpez-Ibez <manu (a] gcc.gnu.org>
14178
14179 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
14180
14181 2012-03-31 H.J. Lu <hongjiu.lu (a] intel.com>
14182
14183 PR bootstrap/52812
14184 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
14185
14186 2012-03-22 Jakub Jelinek <jakub (a] redhat.com>
14187
14188 PR middle-end/52547
14189 * testsuite/libgomp.c/pr52547.c: New test.
14190
14191 2012-03-16 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org>
14192
14193 * testsuite/lib/libgomp.exp: load fortran-modules.exp
14194
14195 2012-03-14 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14196
14197 * configure.tgt (mips-sgi-irix6*): Remove.
14198
14199 2012-03-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14200
14201 * configure.tgt (alpha*-dec-osf*): Remove.
14202
14203 * config/osf/sem.h: Remove.
14204 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
14205
14206 2012-02-29 Eric Botcazou <ebotcazou (a] adacore.com>
14207
14208 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
14209
14210 2012-02-27 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14211
14212 PR libstdc++/52188
14213 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
14214 Remove ENABLE_SYMVERS_SOL2.
14215 * configure: Regenerate.
14216 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
14217 (PREPROCESS): New variable.
14218 (libgomp.ver): New target.
14219 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
14220 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
14221 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
14222 Use libgomp.ver.
14223 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
14224 * Makefile.in: Regenerate.
14225
14226 2012-02-14 Walter Lee <walt (a] tilera.com>
14227
14228 * configure.tgt: Handle tilegx and tilepro.
14229 * config/linux/tile/futex.h: New file.
14230
14231 2012-02-08 Richard Guenther <rguenther (a] suse.de>
14232
14233 PR tree-optimization/46886
14234 * testsuite/libgomp.c/pr46886.c: New testcase.
14235
14236 2012-01-25 Matthias Klose <doko (a] ubuntu.com>
14237
14238 * config/linux/arm: Remove empty directory.
14239 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
14240
14241 2011-12-09 Alan Modra <amodra (a] gmail.com>
14242
14243 PR libgomp/51376
14244 * task.c (GOMP_taskwait): Don't access task->children outside of
14245 task_lock mutex region.
14246 (GOMP_task): Likewise.
14247
14248 2011-12-06 Jakub Jelinek <jakub (a] redhat.com>
14249
14250 PR libgomp/51132
14251 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
14252 to file scope.
14253 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14254 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14255 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14256 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14257 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14258
14259 2011-12-02 Alan Modra <amodra (a] gmail.com>
14260
14261 * config/linux/affinity.c: Use atomic rather than sync builtin.
14262 * config/linux/lock.c: Likewise.
14263 * config/linux/ptrlock.h: Likewise.
14264 * config/linux/ptrlock.c: Likewise.
14265 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
14266 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
14267 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
14268 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
14269 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
14270 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
14271 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
14272 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
14273 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
14274 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
14275
14276 2011-11-30 Alan Modra <amodra (a] gmail.com>
14277
14278 PR libgomp/51298
14279 * config/linux/bar.h: Use atomic rather than sync builtins.
14280 * config/linux/bar.c: Likewise. Add missing acquire
14281 synchronisation on generation field.
14282 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
14283 double unlock.
14284
14285 2011-11-30 Alan Modra <amodra (a] gmail.com>
14286
14287 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
14288 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
14289 * config/linux/mutex.h: Use atomic rather than sync builtins.
14290 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
14291 * config/linux/omp-lock.h: Comment fix.
14292 * config/linux/arm/mutex.h: Delete.
14293 * config/linux/powerpc/mutex.h: Delete.
14294 * config/linux/ia64/mutex.h: Delete.
14295 * config/linux/mips/mutex.h: Delete.
14296
14297 2011-11-30 Alan Modra <amodra (a] gmail.com>
14298
14299 PR libgomp/51249
14300 * config/linux/sem.h: Rewrite.
14301 * config/linux/sem.c: Rewrite.
14302
14303 2011-11-28 Richard Henderson <rth (a] redhat.com>
14304
14305 * libgomp.h (enum memmodel): New.
14306
14307 2011-11-21 Andreas Tobler <andreast (a] fgznet.ch>
14308
14309 * configure: Regenerate.
14310
14311 2011-10-10 Matthias Klose <doko (a] ubuntu.com>
14312
14313 * config/posix95: Remove empty directory.
14314
14315 2011-08-26 Jakub Jelinek <jakub (a] redhat.com>
14316
14317 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
14318
14319 2011-08-19 Jakub Jelinek <jakub (a] redhat.com>
14320
14321 PR fortran/49792
14322 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
14323 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
14324
14325 2011-08-08 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14326
14327 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
14328
14329 2011-08-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14330
14331 PR libgomp/49965
14332 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
14333
14334 2011-08-03 Uros Bizjak <ubizjak (a] gmail.com>
14335
14336 * config/linux/proc.h: New.
14337 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
14338 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
14339 (gomp_init_num_threads): Update call to cpuset_popcount.
14340 (get_num_procs): Ditto.
14341 * config/linux/affinity.c (gomp_init_affinity): Call
14342 gomp_cpuset_popcount.
14343
14344 2011-08-02 Jakub Jelinek <jakub (a] redhat.com>
14345
14346 PR fortran/42041
14347 PR fortran/46752
14348 * omp.h.in (omp_in_final): New prototype.
14349 * omp_lib.f90.in (omp_in_final): New interface.
14350 (omp_integer_kind, omp_logical_kind): Remove
14351 and replace all its uses in the module with 4.
14352 (openmp_version): Change to 201107.
14353 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
14354 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
14355 kind for the parameters.
14356 (omp_in_final): New external.
14357 (openmp_version): Change to 201107.
14358 * task.c (omp_in_final): New function.
14359 (gomp_init_task): Initialize final_task.
14360 (GOMP_task): Remove unused attribute from flags. Handle final
14361 tasks.
14362 (GOMP_taskyield): New function.
14363 (omp_in_final): Return true if if (false) or final (true) task
14364 or descendant of final (true).
14365 * fortran.c (omp_in_final_): New function.
14366 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
14367 (GOMP_3.0): Export GOMP_taskyield.
14368 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
14369 variables.
14370 (parse_unsigned_long_list): New function.
14371 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
14372 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
14373 even if parse_affinity returned false.
14374 * config/linux/affinity.c (gomp_init_affinity): Handle
14375 gomp_cpu_affinity_len == 0.
14376 * libgomp_g.h (GOMP_taskyield): New prototype.
14377 * libgomp.h (struct gomp_task): Add final_task field.
14378 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
14379 * team.c (gomp_team_start): Override new task's nthreads_var icv
14380 if list form OMP_NUM_THREADS has been used and it has value for
14381 the new nesting level.
14382
14383 * testsuite/libgomp.c/atomic-11.c: New test.
14384 * testsuite/libgomp.c/atomic-12.c: New test.
14385 * testsuite/libgomp.c/atomic-13.c: New test.
14386 * testsuite/libgomp.c/atomic-14.c: New test.
14387 * testsuite/libgomp.c/reduction-6.c: New test.
14388 * testsuite/libgomp.c/task-5.c: New test.
14389 * testsuite/libgomp.c++/atomic-2.C: New test.
14390 * testsuite/libgomp.c++/atomic-3.C: New test.
14391 * testsuite/libgomp.c++/atomic-4.C: New test.
14392 * testsuite/libgomp.c++/atomic-5.C: New test.
14393 * testsuite/libgomp.c++/atomic-6.C: New test.
14394 * testsuite/libgomp.c++/atomic-7.C: New test.
14395 * testsuite/libgomp.c++/atomic-8.C: New test.
14396 * testsuite/libgomp.c++/atomic-9.C: New test.
14397 * testsuite/libgomp.c++/task-8.C: New test.
14398 * testsuite/libgomp.c++/reduction-4.C: New test.
14399 * testsuite/libgomp.fortran/allocatable7.f90: New test.
14400 * testsuite/libgomp.fortran/allocatable8.f90: New test.
14401 * testsuite/libgomp.fortran/crayptr3.f90: New test.
14402 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
14403 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
14404 * testsuite/libgomp.fortran/pointer1.f90: New test.
14405 * testsuite/libgomp.fortran/pointer2.f90: New test.
14406 * testsuite/libgomp.fortran/task4.f90: New test.
14407
14408 2011-08-02 Tobias Burnus <burnus (a] net-b.de>
14409
14410 * libgomp.texi: Update OpenMP spec references to 3.1.
14411 (omp_in_final,OMP_PROC_BIND): New sections.
14412 (OMP_NUM_THREADS): Document that the value can be now a list.
14413 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
14414
14415 2011-08-02 H.J. Lu <hongjiu.lu (a] intel.com>
14416
14417 * config/linux/x86/futex.h: Check __x86_64__ instead of
14418 __LP64__.
14419
14420 2011-07-29 Jakub Jelinek <jakub (a] redhat.com>
14421
14422 PR middle-end/49897
14423 PR middle-end/49898
14424 * testsuite/libgomp.c/pr49897-1.c: New test.
14425 * testsuite/libgomp.c/pr49897-2.c: New test.
14426 * testsuite/libgomp.c/pr49898-1.c: New test.
14427 * testsuite/libgomp.c/pr49898-2.c: New test.
14428
14429 2011-07-28 H.J. Lu <hongjiu.lu (a] intel.com>
14430
14431 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
14432 for ia32 instead of ilp32.
14433
14434 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
14435 * testsuite/libgomp.c/atomic-6.c: Likewise.
14436
14437 2011-07-23 Sebastian Pop <sebastian.pop (a] amd.com>
14438
14439 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
14440 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
14441
14442 2011-07-25 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14443
14444 PR libgomp/45351
14445 * config/osf/sem.h: New file.
14446 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
14447
14448 2011-07-18 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14449
14450 PR target/49541
14451 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
14452 ldflags.
14453
14454 2011-07-15 Jakub Jelinek <jakub (a] redhat.com>
14455
14456 * config/linux/wait.h (do_spin): New inline, largely copied
14457 from do_wait, just don't do futex_wait here, instead return true if
14458 it should be done.
14459 (do_wait): Implement using do_spin.
14460 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
14461 to prototype.
14462 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14463 __sync_bool_compare_and_swap, pass the oldval to
14464 gomp_mutex_lock_slow.
14465 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
14466 If all mutex contenders are just spinning and not sleeping, don't
14467 change state to 2 unnecessarily. Optimize the loop when state has
14468 already become 2 to use just one atomic operation per loop instead
14469 of two.
14470 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
14471 to prototype.
14472 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14473 __sync_bool_compare_and_swap, pass the oldval to
14474 gomp_mutex_lock_slow.
14475
14476 2011-06-22 Jakub Jelinek <jakub (a] redhat.com>
14477
14478 PR libgomp/49490
14479 * iter.c (gomp_iter_static_next): For chunk size 0
14480 only use n ceil/ nthreads size for the first
14481 n % nthreads threads in the team instead of
14482 all threads except for the last few ones which
14483 get less work or none at all.
14484 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
14485 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
14486 chunk argument, set run_sched_modifier to 0 for static
14487 resp. 1 for other kinds. If chunk argument is 0
14488 and not static, set value to 1.
14489
14490 2011-05-19 Jakub Jelinek <jakub (a] redhat.com>
14491
14492 PR c++/49043
14493 * testsuite/libgomp.c++/pr49043.C: New test.
14494
14495 PR c++/48869
14496 * testsuite/libgomp.c++/pr48869.C: New test.
14497
14498 2011-05-06 Jakub Jelinek <jakub (a] redhat.com>
14499
14500 PR fortran/48894
14501 * fortran.c: Include limits.h.
14502 (TO_INT): Define.
14503 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
14504 *set.
14505 (omp_set_num_threads_8_, omp_set_schedule_8_,
14506 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
14507 omp_get_team_size_8_): Use TO_INT macro.
14508 * testsuite/libgomp.fortran/pr48894.f90: New test.
14509
14510 2011-04-13 Jakub Jelinek <jakub (a] redhat.com>
14511
14512 PR middle-end/48591
14513 * testsuite/libgomp.c/pr48591.c: New test.
14514
14515 2011-03-21 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14516
14517 PR bootstrap/48135
14518 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
14519 * configure: Regenerate.
14520
14521 2011-02-27 Jakub Jelinek <jakub (a] redhat.com>
14522
14523 PR fortran/47886
14524 * testsuite/libgomp.fortran/task3.f90: New test.
14525
14526 2011-02-24 Tobias Burnus <burnus (a] net-b.de>
14527
14528 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
14529
14530 2011-02-23 Jakub Jelinek <jakub (a] redhat.com>
14531
14532 PR libgomp/47854
14533 * libgomp.texi (omp_get_wtime): Don't say time in the past
14534 must be Unix Epoch.
14535
14536 2011-02-18 Jakub Jelinek <jakub (a] redhat.com>
14537
14538 PR libgomp/47804
14539 * testsuite/libgomp.fortran/fortran.exp: Check for both
14540 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
14541 but $blddir != "", still append ${blddir}/${lang_library_path}
14542 to ld_library_path.
14543
14544 2011-02-16 Tobias Burnus <burnus (a] net-b.de>
14545
14546 PR libgomp/47758
14547 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
14548 of libquadmath.a before adding its libpath to ldflags.
14549
14550 2011-02-14 Jakub Jelinek <jakub (a] redhat.com>
14551
14552 PR libgomp/47731
14553 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
14554 to FUTEX_WAIT futex syscall.
14555 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
14556
14557 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14558
14559 * configure: Regenerate.
14560
14561 2011-01-20 Benjamin Kosnik <bkoz (a] redhat.com>
14562
14563 PR libstdc++/36104
14564 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
14565
14566 2011-01-16 Gerald Pfeifer
14567
14568 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
14569
14570 2010-12-14 Jakub Jelinek <jakub (a] redhat.com>
14571
14572 PR fortran/46874
14573 * libgomp.fortran/allocatable6.f90: New test.
14574
14575 2010-12-06 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14576
14577 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
14578 * configure: Regenerate.
14579
14580 2010-12-06 Dave Korn <dave.korn.cygwin (a] gmail.com>
14581
14582 PR target/40125
14583 PR lto/46695
14584 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
14585 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
14586 * aclocal.m4: Regenerate.
14587 * configure: Regenerate.
14588 * Makefile.in: Regenerate.
14589 * testsuite/Makefile.in: Regenerate.
14590
14591 2010-12-02 Jakub Jelinek <jakub (a] redhat.com>
14592
14593 PR fortran/46753
14594 * libgomp.fortran/pr46753.f90: New test.
14595
14596 PR libgomp/43706
14597 * env.c (initialize_env): Default to spin count 300000
14598 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
14599 is specified.
14600
14601 PR libgomp/45240
14602 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
14603 at the end if sync builtins aren't supported.
14604
14605 2010-12-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14606
14607 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
14608
14609 2010-12-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14610
14611 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
14612
14613 2010-11-24 Iain Sandoe <iains (a] gcc.gnu.org>
14614
14615 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
14616
14617 2010-11-16 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
14618 Tobias Burnus <burnus (a] net-b.de>
14619
14620 PR fortran/32049
14621 * configure.ac:
14622 * configure: Regenerate.
14623
14624 2010-10-06 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
14625
14626 * config/linux/futex.h: New.
14627 * config/linux/arm/mutex.h: New.
14628 * configure.tgt (arm*-*-linux*): Add config path.
14629
14630 2010-09-30 Sebastian Pop <sebastian.pop (a] amd.com>
14631
14632 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14633
14634 2010-09-23 Tobias Burnus <burnus (a] net-b.de>
14635
14636 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
14637 Change Fortran datatype to LOGICAL.
14638 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
14639 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
14640
14641 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14642
14643 * configure: Regenerate.
14644
14645 2010-07-26 Jakub Jelinek <jakub (a] redhat.com>
14646
14647 * libgomp.texi: Add function keyword to a couple of Fortran
14648 interfaces, use integer instead of int for Fortran.
14649
14650 2010-07-26 Aldy Hernandez <aldyh (a] redhat.com>
14651
14652 * libgomp.texi: Fix spelling and pasto problems throughout.
14653 Adjust prototypes to match code.
14654
14655 2010-07-24 Tobias Burnus <burnus (a] net-b.de>
14656
14657 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
14658 silence -fwhole-file warning.
14659
14660 2010-07-23 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14661
14662 * configure.tgt (*-*-solaris2.[56]*): Removed.
14663
14664 2010-07-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14665
14666 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
14667 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
14668 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
14669 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
14670 targetting solaris2*.
14671 * configure: Regenerate.
14672 * config.h.in: Regenerate.
14673
14674 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
14675 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
14676 Add libgomp_version_dep.
14677 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
14678 versioning.
14679 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
14680 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
14681 * Makefile.in: Regenerate.
14682
14683 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
14684 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14685 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
14686 to common block, protected by
14687 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14688
14689 2010-06-10 Gerald Pfeifer <gerald (a] pfeifer.com>
14690
14691 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
14692
14693 2010-06-09 Iain Sandoe <iains (a] gcc.gnu.org>
14694
14695 PR bootstrap/43170
14696 * configure: Regenerate.
14697
14698 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14699
14700 PR other/43620
14701 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
14702 * configure: Regenerate.
14703 * Makefile.in: Regenerate.
14704 * testsuite/Makefile.in: Regenerate.
14705
14706 2010-04-26 Jakub Jelinek <jakub (a] redhat.com>
14707
14708 PR c/43893
14709 * testsuite/libgomp.c/pr43893.c: New test.
14710 * testsuite/libgomp.c++/pr43893.C: New test.
14711
14712 2010-04-21 Jakub Jelinek <jakub (a] redhat.com>
14713
14714 PR middle-end/43570
14715 * testsuite/libgomp.fortran/vla8.f90: New test.
14716
14717 2010-04-20 Jakub Jelinek <jakub (a] redhat.com>
14718
14719 PR libgomp/43706
14720 * config/linux/affinity.c (gomp_init_affinity): Decrease
14721 gomp_available_cpus if affinity mask confines the process to fewer
14722 CPUs.
14723 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
14724 non-NULL, just return gomp_available_cpus.
14725
14726 PR libgomp/43569
14727 * sections.c (gomp_sections_init): Initialize ws->mode.
14728
14729 2010-04-14 Uros Bizjak <ubizjak (a] gmail.com>
14730
14731 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
14732 not unused bar variable.
14733 * configure: Regenerate.
14734
14735 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14736
14737 * Makefile.in: Regenerate.
14738 * aclocal.m4: Regenerate.
14739 * testsuite/Makefile.in: Regenerate.
14740
14741 2010-03-22 Jakub Jelinek <jakub (a] redhat.com>
14742
14743 PR libgomp/42942
14744 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
14745 (initialize_env): Adjust callers.
14746 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
14747 when the argument is 0.
14748
14749 * testsuite/libgomp.c/pr42942.c: New test.
14750
14751 2010-03-08 Tobias Grosser <grosser (a] fim.uni-passau.de>
14752
14753 PR middle-end/42644
14754 PR middle-end/42130
14755 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14756 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
14757
14758 2010-01-29 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14759
14760 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
14761 * testsuite/libgomp.c++/task-6.C: Likewise.
14762
14763 2010-01-28 Steve Ellcey <sje (a] cup.hp.com>
14764
14765 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
14766
14767 2010-01-26 Paolo Bonzini <bonzini (a] gnu.org>
14768
14769 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
14770 * configure: Regenerate.
14771
14772 2010-01-26 Jakub Jelinek <jakub (a] redhat.com>
14773
14774 PR fortran/42866
14775 * testsuite/libgomp.fortran/allocatable5.f90: New test.
14776
14777 2010-01-20 Paolo Bonzini <bonzini (a] gnu.org>
14778
14779 * configure.ac: Test for executability of GFORTRAN.
14780 * configure: Regenerate.
14781
14782 2010-01-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14783
14784 * configure: Regenerate.
14785
14786 2010-01-04 H.J. Lu <hongjiu.lu (a] intel.com>
14787
14788 PR libgomp/42602
14789 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
14790
14791 2010-01-03 Richard Guenther <rguenther (a] suse.de>
14792
14793 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
14794
14795 2009-12-23 Sebastian Pop <sebpop (a] gmail.com>
14796
14797 * testsuite/libgomp.graphite/pr4118.c: New.
14798
14799 2009-12-22 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk>
14800
14801 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
14802 for darwin, protect the test with require-effective-target tls_runtime.
14803 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
14804
14805 2009-12-22 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk>
14806
14807 PR target/41605
14808 * testsuite/lib/libgomp.exp: Provide -B options to allow for
14809 link spec %s substitutions for static libraries.
14810
14811 2009-12-18 Jack Howarth <howarth (a] bromo.med.uc.edu>
14812
14813 PR testsuite/42135
14814 * libgomp.graphite/force-parallel-2.c: Reduce array size.
14815
14816 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14817
14818 * Makefile.in: Regenerate.
14819 * configure: Regenerate.
14820 * testsuite/Makefile.in: Regenerate.
14821
14822 2009-11-30 Dave Korn <dave.korn.cygwin (a] gmail.com>
14823
14824 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
14825 settings for LC_ALL and LANG.
14826
14827 2009-11-25 Jakub Jelinek <jakub (a] redhat.com>
14828
14829 PR fortran/42162
14830 * testsuite/libgomp.fortran/pr42162.f90: New test.
14831
14832 2009-11-13 Jakub Jelinek <jakub (a] redhat.com>
14833
14834 PR middle-end/42029
14835 * testsuite/libgomp.c/pr42029.c: New test.
14836
14837 2009-10-26 Jakub Jelinek <jakub (a] redhat.com>
14838
14839 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
14840 *s. Accept ld version without text in ()s.
14841 * configure: Regenerated.
14842
14843 2009-10-22 Razya Ladelsky <razya (a] il.ibm.com>
14844
14845 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
14846
14847 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14848
14849 PR libgomp/41418
14850 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
14851 or a hyphen (happens with fortran language disabled).
14852 * configure: Regenerate.
14853
14854 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14855
14856 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
14857 use sed script portable to Solaris /bin/sed for extracting ld
14858 version.
14859 * configure: Regenerate.
14860
14861 2009-09-17 Alexander Monakov <amonakov (a] ispras.ru>
14862
14863 * testsuite/libgomp.graphite/bounds.c: New test.
14864
14865 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14866
14867 * Makefile.am (libgomp_la_LINK): New.
14868 * Makefile.in: Regenerate.
14869
14870 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14871
14872 * configure.ac (AC_PREREQ): Bump to 2.64.
14873
14874 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14875
14876 * Makefile.am (install-html, install-pdf): Remove.
14877 * Makefile.in: Regenerate.
14878
14879 * Makefile.in: Regenerate.
14880 * aclocal.m4: Regenerate.
14881 * config.h.in: Regenerate.
14882 * configure: Regenerate.
14883 * testsuite/Makefile.in: Regenerate.
14884
14885 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14886
14887 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
14888 * Makefile.in: Regenerate.
14889
14890 2009-08-20 Dave Korn <dave.korn.cygwin (a] gmail.com>
14891
14892 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
14893 * Makefile.in: Regenerate.
14894
14895 2009-08-19 Tobias Burnus <burnus (a] net-b.de>
14896
14897 PR fortran/41102
14898 omp_lib.h.in: Fix -std=f95 errors.
14899
14900 2009-08-14 David Edelsohn <edelsohn (a] gnu.org>
14901
14902 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
14903 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
14904 * testsuite/libgomp.graphite/graphite.exp: New.
14905
14906 2009-08-05 Andreas Tobler <a.tobler (a] schweiz.org>
14907
14908 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
14909 only build.
14910
14911 2009-08-04 David Daney <ddaney (a] caviumnetworks.com>
14912
14913 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
14914 needed memory barrier semantics.
14915 * config/linux/mips/mutex.h: New file.
14916
14917 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14918
14919 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
14920
14921 2009-07-16 Joseph Myers <joseph (a] codesourcery.com>
14922
14923 * configure: Regenerate.
14924
14925 2009-07-11 Richard Sandiford <rdsandiford (a] googlemail.com>
14926
14927 PR testsuite/40699
14928 PR testsuite/40707
14929 PR testsuite/40709
14930 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
14931 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
14932 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
14933
14934 2009-07-02 Richard Sandiford <r.sandiford (a] uk.ibm.com>
14935
14936 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
14937 options when choosing a multilib.
14938
14939 2009-06-30 Richard Sandiford <r.sandiford (a] uk.ibm.com>
14940
14941 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
14942 ld_library_path. Use add_path. Add just find_libgcc_s to
14943 ld_library_path, not every libgcc multilib directory.
14944 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
14945 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
14946 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
14947 Use add_path.
14948 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
14949
14950 2009-06-09 Nathan Froyd <froydnj (a] codesourcery.com>
14951
14952 * Makefile.am (LTLDFLAGS): Define.
14953 (LINK): Define.
14954 * Makefile.in: Regenerate.
14955
14956 2009-05-27 Janne Blomqvist <jb (a] gcc.gnu.org>
14957
14958 PR fortran/39718
14959 * testsuite/libgomp.fortran/fortran.exp: Don't link with
14960 libgfortranbegin, check existence of libgfortran.a instead of
14961 libgfortranbegin.a.
14962
14963 2009-05-20 Jakub Jelinek <jakub (a] redhat.com>
14964
14965 PR libgomp/40174
14966 * team.c (gomp_thread_start): Destroy thr->release semaphore.
14967 (gomp_free_pool_helper): Likewise.
14968
14969 2009-04-20 Vasilis Liaskovitis <vliaskov (a] gmail.com>
14970 Jakub Jelinek <jakub (a] redhat.com>
14971
14972 PR fortran/35423
14973 * testsuite/libgomp.fortran/workshare2.f90: New test.
14974
14975 2009-04-09 Nick Clifton <nickc (a] redhat.com>
14976
14977 * iter.c: Change copyright header to refer to version 3 of the
14978 GNU General Public License with version 3.1 of the GCC Runtime
14979 Library Exception and to point readers at the COPYING3 and
14980 COPYING3.RUNTIME files and the FSF's license web page.
14981 * alloc.c: Likewise.
14982 * barrier.c: Likewise.
14983 * config/bsd/proc.c: Likewise.
14984 * config/linux/affinity.c: Likewise.
14985 * config/linux/alpha/futex.h: Likewise.
14986 * config/linux/bar.c: Likewise.
14987 * config/linux/bar.h: Likewise.
14988 * config/linux/ia64/futex.h: Likewise.
14989 * config/linux/ia64/mutex.h: Likewise.
14990 * config/linux/lock.c: Likewise.
14991 * config/linux/mips/futex.h: Likewise.
14992 * config/linux/mutex.c: Likewise.
14993 * config/linux/mutex.h: Likewise.
14994 * config/linux/powerpc/futex.h: Likewise.
14995 * config/linux/proc.c: Likewise.
14996 * config/linux/ptrlock.c: Likewise.
14997 * config/linux/ptrlock.h: Likewise.
14998 * config/linux/s390/futex.h: Likewise.
14999 * config/linux/sem.c: Likewise.
15000 * config/linux/sem.h: Likewise.
15001 * config/linux/sparc/futex.h: Likewise.
15002 * config/linux/wait.h: Likewise.
15003 * config/linux/x86/futex.h: Likewise.
15004 * config/mingw32/proc.c: Likewise.
15005 * config/mingw32/time.c: Likewise.
15006 * config/posix/affinity.c: Likewise.
15007 * config/posix/bar.c: Likewise.
15008 * config/posix/bar.h: Likewise.
15009 * config/posix/lock.c: Likewise.
15010 * config/posix/mutex.h: Likewise.
15011 * config/posix/proc.c: Likewise.
15012 * config/posix/ptrlock.h: Likewise.
15013 * config/posix/sem.c: Likewise.
15014 * config/posix/sem.h: Likewise.
15015 * config/posix/time.c: Likewise.
15016 * config/posix95/lock.c: Likewise.
15017 * critical.c: Likewise.
15018 * env.c: Likewise.
15019 * error.c: Likewise.
15020 * fortran.c: Likewise.
15021 * iter_ull.c: Likewise.
15022 * libgomp.h: Likewise.
15023 * libgomp_f.h.in: Likewise.
15024 * libgomp_g.h: Likewise.
15025 * loop.c: Likewise.
15026 * loop_ull.c: Likewise.
15027 * omp.h.in: Likewise.
15028 * omp_lib.f90.in: Likewise.
15029 * omp_lib.h.in: Likewise.
15030 * ordered.c: Likewise.
15031 * parallel.c: Likewise.
15032 * sections.c: Likewise.
15033 * single.c: Likewise.
15034 * task.c: Likewise.
15035 * team.c: Likewise.
15036 * work.c: Likewise.
15037
15038 2009-04-09 Jakub Jelinek <jakub (a] redhat.com>
15039
15040 * testsuite/config/default.exp: Change copyright header to refer to
15041 version 3 of the GNU General Public License and to point readers
15042 at the COPYING3 file and the FSF's license web page.
15043
15044 2009-04-08 Jakub Jelinek <jakub (a] redhat.com>
15045
15046 PR middle-end/39573
15047 * libgomp.c++/pr39573.C: New test.
15048
15049 2009-04-01 Jakub Jelinek <jakub (a] redhat.com>
15050
15051 PR other/39591
15052 * testsuite/libgomp.c/pr39591-1.c: New test.
15053 * testsuite/libgomp.c/pr39591-2.c: New test.
15054 * testsuite/libgomp.c/pr39591-3.c: New test.
15055
15056 2009-03-25 Uros Bizjak <ubizjak (a] gmail.com>
15057
15058 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
15059 * testsuite/libgomp.c/atomic-6.c: Ditto.
15060
15061 2009-03-23 Jakub Jelinek <jakub (a] redhat.com>
15062
15063 PR c/39495
15064 * testsuite/libgomp.c/loop-12.c: New test.
15065 * testsuite/libgomp.c/loop-11.c: New test.
15066 * testsuite/libgomp.c++/loop-11.C: New test.
15067 * testsuite/libgomp.c++/loop-12.C: New test.
15068 * testsuite/libgomp.c++/for-8.C: New test.
15069
15070 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15071
15072 * configure: Regenerate.
15073
15074 2009-02-11 Jakub Jelinek <jakub (a] redhat.com>
15075
15076 PR middle-end/39154
15077 * testsuite/libgomp.c/pr39154.c: New test.
15078
15079 2009-01-30 Ian Lance Taylor <iant (a] google.com>
15080
15081 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
15082 libgomp_ld_is_gold. Get gold version number.
15083 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
15084 * configure: Rebuild.
15085
15086 2009-01-19 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk>
15087
15088 * testsuite/lib/libgomp.exp: Add -B option for targets that
15089 use libgfortran.a%s in their specs.
15090
15091 2009-01-07 Jakub Jelinek <jakub (a] redhat.com>
15092
15093 PR libgomp/38086
15094 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
15095 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
15096 HAVE_AS_SYMVER_DIRECTIVE is not defined.
15097 * configure: Regenerated.
15098 * config.h.in: Likewise.
15099
15100 2008-12-28 Jakub Jelinek <jakub (a] redhat.com>
15101
15102 PR c++/38650
15103 * testsuite/libgomp.c/pr38650.c: New test.
15104 * testsuite/libgomp.c++/pr38650.C: New test.
15105
15106 2008-12-27 Jakub Jelinek <jakub (a] redhat.com>
15107
15108 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
15109
15110 2008-12-26 Uros Bizjak <ubizjak (a] gmail.com>
15111
15112 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
15113
15114 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15115
15116 * configure: Regenerate.
15117
15118 2008-12-08 Jakub Jelinek <jakub (a] redhat.com>
15119
15120 PR middle-end/36802
15121 * testsuite/libgomp.c/pr36802-1.c: New test.
15122 * testsuite/libgomp.c/pr36802-2.c: New test.
15123 * testsuite/libgomp.c/pr36802-3.c: New test.
15124
15125 2008-12-01 Janis Johnson <janis187 (a] us.ibm.com>
15126
15127 PR libgomp/38270
15128 * config/linux/powerpc/mutex.h: New.
15129
15130 2008-12-01 Jakub Jelinek <jakub (a] redhat.com>
15131
15132 PR c++/38257
15133 * testsuite/libgomp.c++/for-7.C: New test.
15134
15135 PR c++/38348
15136 * testsuite/libgomp.c++/for-6.C: New test.
15137
15138 2008-11-26 Janis Johnson <janis187 (a] us.ibm.com>
15139
15140 PR testsuite/28870
15141 * testsuite/lib/libgomp.exp: Include new timeout library files.
15142 (libgomp_target_compile): Set timeout value from new proc.
15143
15144 2008-11-13 Steve Ellcey <sje (a] cup.hp.com>
15145
15146 PR libgomp/37938
15147 * config/linux/ia64/mutex.h: New.
15148
15149 2008-11-04 Tobias Burnus <burnus (a] net-b.de>
15150
15151 PR libgomp/37935
15152 * libgomp.texi (Runtime library routines, environment variables):
15153 Update for OpenMP version 3.0.
15154
15155 2008-09-26 Peter O'Gorman <pogma (a] thewrittenword.com>
15156 Steve Ellcey <sje (a] cup.hp.com>
15157
15158 * configure: Regenerate for new libtool.
15159 * Makefile.in: Ditto.
15160 * testsuite/Makefile.in: Ditto.
15161
15162 2008-09-19 Jakub Jelinek <jakub (a] redhat.com>
15163 Andreas Tobler <a.tobler (a] schweiz.org>
15164
15165 * config/bsd/proc.c: New file.
15166 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
15167 * configure.ac: Check for header <sys/sysctl.h>
15168 * configure: Regenerate.
15169 * config.h.in: Likewise.
15170
15171 2008-09-05 Janis Johnson <janis187 (a] us.ibm.com>
15172
15173 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
15174
15175 2008-08-31 Aaron W. LaFramboise <aaronavay62 (a] aaronwl.com>
15176
15177 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
15178 * Makefile.in: Regenerated.
15179 * testsuite/Makefile.in: Regenerated.
15180
15181 2008-08-21 Nathan Froyd <froydnj (a] codesourcery.com>
15182
15183 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
15184 depend on blddir if blddir exists.
15185 (libgomp_target_compile): Likewise.
15186 * testsuite/libgomp.c++/c++.exp: Likewise.
15187 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15188
15189 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15190
15191 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
15192 Do not list GPL as Invariant Section.
15193
15194 2008-07-28 Ilie Garbacea <ilie (a] mips.com>
15195 Chao-ying Fu <fu (a] mips.com>
15196
15197 * configure.tgt: Enable futex for MIPS.
15198 * config/linux/mips/futex.h: New file.
15199
15200 2008-07-16 Jakub Jelinek <jakub (a] redhat.com>
15201
15202 * team.c (gomp_team_end): Free team immediately if it has
15203 just one thread.
15204
15205 2008-07-08 David Edelsohn <edelsohn (a] gnu.org>
15206
15207 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
15208 * testsuite/libgomp.fortran/fortran.exp: Same.
15209 * testsuite/libgomp.c/c.exp: Same.
15210 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
15211 directory to library path first.
15212
15213 2008-06-29 Krister Walfridsson <krister.walfridsson (a] gmail.com>
15214
15215 * env.c (parse_stacksize): Add cast to avoid warning.
15216 (parse_spincount): Likewise.
15217
15218 2008-06-27 Jakub Jelinek <jakub (a] redhat.com>
15219
15220 * testsuite/libgomp.c/loop-10.c: New test.
15221 * libgomp.c/loop-3.c (main): Add lastprivate clause.
15222 * libgomp.c++/loop-6.C (main): Likewise.
15223
15224 PR debug/36617
15225 * testsuite/libgomp.c/debug-1.c: New test.
15226
15227 2008-06-19 Jakub Jelinek <jakub (a] redhat.com>
15228
15229 * testsuite/libgomp.c/nqueens-1.c: New test.
15230
15231 PR c++/36523
15232 * testsuite/libgomp.c++/task-7.C: New function.
15233
15234 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15235
15236 * configure: Regenerate.
15237
15238 2008-06-15 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca>
15239
15240 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
15241 mutex when HAVE_SYNC_BUILTINS isn't defined.
15242
15243 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15244
15245 * libgomp.texi (omp_test_lock): Fix typo.
15246
15247 2008-06-12 Tobias Burnus <burnus (a] net-b.de>
15248
15249 * omp_lib.f90.in: Add "implicit none".
15250
15251 2008-06-12 Jakub Jelinek <jakub (a] redhat.com>
15252
15253 PR middle-end/36506
15254 * testsuite/libgomp.c/reduction-5.c: New test.
15255
15256 2008-06-11 Jakub Jelinek <jakub (a] redhat.com>
15257
15258 * libgomp.h (struct gomp_task): Add in_tied_task field.
15259 * task.c (gomp_init_task): Initialize it.
15260 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
15261 unconditionally. Don't call gomp_team_barrier_wake if
15262 current task is implicit or if(0) from implicit and number of
15263 running tasks is equal to nthreads - 1.
15264
15265 PR libgomp/36471
15266 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
15267 omp_get_team_size_8): Fix pastos.
15268
15269 PR libgomp/36469
15270 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
15271 * configure: Regenerated.
15272 * config.h.in: Regenerated.
15273 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
15274 defined.
15275
15276 2008-06-06 Andreas Tobler <a.tobler (a] schweiz.org>
15277
15278 PR bootstrap/36452
15279 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
15280 (GOMP_loop_ull_dynamic_start): Likewise.
15281 (GOMP_loop_ull_guided_start): Likewise.
15282 (GOMP_loop_ull_ordered_static_start): Likewise.
15283 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
15284 (GOMP_loop_ull_ordered_guided_start): Likewise.
15285
15286 2008-06-06 Jakub Jelinek <jakub (a] redhat.com>
15287 Richard Henderson <rth (a] redhat.com>
15288 Ulrich Drepper <drepper (a] redhat.com>
15289 Jakob Blomer <jakob.blomer (a] ira.uka.de>
15290
15291 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
15292 Substitute also OMP_*LOCK_25*.
15293 * configure: Regenerated.
15294 * config.h.in: Regenerated.
15295 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
15296 ptrlock.c and task.c.
15297 * Makefile.in: Regenerated.
15298 * testsuite/Makefile.in: Regenerated.
15299 * task.c: New file.
15300 * loop_ull.c: New file.
15301 * iter_ull.c: New file.
15302 * libgomp.h: Include ptrlock.h.
15303 (enum gomp_task_kind): New type.
15304 (struct gomp_team): Add task_lock, task_queue, task_count,
15305 task_running_count, single_count fields. Add
15306 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
15307 Remove work_share_lock, generation_mask,
15308 oldest_live_gen, num_live_gen and init_work_shares fields, add
15309 work work_share_list_alloc, work_share_list_free and work_share_chunk
15310 fields. Change work_shares from pointer to pointers into an array.
15311 Change ordered_release field into gomp_sem_t ** from flexible array
15312 member. Add implicit_task and initial_work_shares fields.
15313 Move close to the end of the struct.
15314 (struct gomp_team_state): Add single_count, last_work_share,
15315 active_level and level fields, remove work_share_generation.
15316 (gomp_barrier_handle_tasks): New prototype.
15317 (gomp_finish_task): New inline function.
15318 (struct gomp_work_share): Move chunk_size, end, incr into
15319 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
15320 next_ll fields. Reshuffle fields. Add next_alloc,
15321 next_ws, next_free and inline_ordered_team_ids fields, change
15322 ordered_team_ids into pointer from flexible array member.
15323 Add mode field. Put lock and next into a different cache line
15324 from most of the write-once fields.
15325 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
15326 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
15327 gomp_iter_ull_guided_next): New prototypes.
15328 (gomp_new_icv): New prototype.
15329 (struct gomp_thread): Add thread_pool and task fields.
15330 (struct gomp_thread_pool): New type.
15331 (gomp_new_team): New prototype.
15332 (gomp_team_start): Change type of last argument.
15333 (gomp_new_work_share): Removed.
15334 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
15335 (gomp_work_share_init_done): New static inline.
15336 (gomp_throttled_spin_count_var, gomp_available_cpus,
15337 gomp_managed_threads): New extern decls.
15338 (gomp_init_task): New prototype.
15339 (gomp_spin_count_var): New extern var decl.
15340 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
15341 or no alias support, or if not PIC.
15342 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
15343 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
15344 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
15345 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
15346 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
15347 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
15348 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
15349 gomp_test_nest_lock_25): New prototypes.
15350 (omp_lock_symver, strong_alias): Define.
15351 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
15352 decls.
15353 (gomp_end_task): New.
15354 (struct gomp_task_icv, gomp_global_icv): New.
15355 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
15356 (struct gomp_task): New.
15357 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15358 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15359 (gomp_icv): New.
15360 (gomp_schedule_type): Reorder enum to match
15361 omp_sched_t.
15362 * team.c (struct gomp_thread_start_data): Add thread_pool and task
15363 fields.
15364 (gomp_thread_start): Add gomp_team_barrier_wait call.
15365 For non-nested case remove clearing of docked thread thr fields.
15366 Use pool fields instead of global gomp_* variables. Use
15367 gomp_barrier_wait_last when needed. Initialize ts.active_level.
15368 Create tasks for each member thread.
15369 (free_team): Only destroy team barrier, task_lock here and free it.
15370 (gomp_free_thread): Free last_team if non-NULL.
15371 (gomp_team_end): Call gomp_team_barrier_wait instead of
15372 gomp_barrier_wait. For nested case call one extra
15373 gomp_barrier_wait. Move here some destruction from free_team.
15374 Call free_team on pool->last_team if any, rather than freeing
15375 current team. Destroy work_share_list_free_lock ifndef
15376 HAVE_SYNC_BUILTINS.
15377 (gomp_new_icv): New function.
15378 (gomp_threads, gomp_threads_size, gomp_threads_used,
15379 gomp_threads_dock): Removed.
15380 (gomp_thread_destructor): New variable.
15381 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
15382 functions.
15383 (gomp_team_start): Create new pool if current thread doesn't have
15384 one. Use pool fields instead of global gomp_* variables.
15385 Initialize thread_pool field for new threads. Clear single_count.
15386 Change last argument from ws to team, don't create
15387 new team, set ts.work_share to &team->work_shares[0] and clear
15388 ts.last_work_share. Don't clear ts.work_share_generation.
15389 If number of threads changed, adjust atomically gomp_managed_threads.
15390 Use gomp_init_task instead of gomp_new_task,
15391 set thr->task to the corresponding implicit_task array entry.
15392 Create tasks for each member thread. Initialize ts.level.
15393 (initialize_team): Call pthread_key_create on
15394 gomp_thread_destructor.
15395 (team_destructor): New function.
15396 (new_team): Removed.
15397 (gomp_new_team): New function.
15398 (free_team): Free gomp_work_share blocks chained through next_alloc,
15399 instead of freeing work_shares and destroying work_share_lock.
15400 (gomp_team_end): Call gomp_fini_work_share. If number of threads
15401 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
15402 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
15403 of gomp_barrier_wait.
15404 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
15405 instead of gomp_barrier_wait. Call gomp_work_share_init_done
15406 if gomp_work_share_start returned true. Don't unlock ws->lock.
15407 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
15408 of gomp_barrier_wait.
15409 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
15410 gomp_work_share_init_done if gomp_work_share_start returned true.
15411 Don't unlock ws->lock.
15412 * work.c: Include stddef.h.
15413 (free_work_share): Use work_share_list_free_lock instead
15414 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
15415 Call gomp_fini_work_share and then either free ws if orphaned, or
15416 put it into work_share_list_free list of the current team.
15417 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
15418 functions.
15419 (gomp_work_share_start, gomp_work_share_end,
15420 gomp_work_share_end_nowait): Rewritten.
15421 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
15422 (openmp_version): Set to 200805.
15423 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15424 omp_sched_guided, omp_sched_auto): New parameters.
15425 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15426 omp_set_max_active_levels, omp_get_max_active_levels,
15427 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15428 omp_get_active_level): New interfaces.
15429 * omp_lib.h.in (openmp_version): Set to 200805.
15430 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15431 omp_sched_guided, omp_sched_auto): New parameters.
15432 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15433 omp_set_max_active_levels, omp_get_max_active_levels,
15434 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15435 omp_get_active_level): New externals.
15436 * loop.c: Include limits.h.
15437 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
15438 GFS_AUTO.
15439 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
15440 Likewise. Use gomp_icv.
15441 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
15442 ts.static_trip here.
15443 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
15444 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
15445 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
15446 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
15447 don't unlock ws->lock, otherwise lock it.
15448 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
15449 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
15450 (gomp_parallel_loop_start): Call gomp_new_team instead of
15451 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
15452 Adjust gomp_team_start caller. Pass 0 as second argument to
15453 gomp_resolve_num_threads.
15454 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
15455 If adding ws->chunk_size nthreads + 1 times after end won't
15456 overflow, set ws->mode to 1.
15457 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
15458 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
15459 GOMP_loop_ull_ordered_static_start,
15460 GOMP_loop_ull_ordered_dynamic_start,
15461 GOMP_loop_ull_ordered_guided_start,
15462 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
15463 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
15464 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
15465 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
15466 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
15467 prototypes.
15468 * libgomp.map: Export lock routines also @@OMP_2.0.
15469 (GOMP_loop_ordered_dynamic_first,
15470 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
15471 GOMP_loop_ordered_static_first): Remove.
15472 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
15473 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
15474 GOMP_loop_ull_ordered_dynamic_next,
15475 GOMP_loop_ull_ordered_dynamic_start,
15476 GOMP_loop_ull_ordered_guided_next,
15477 GOMP_loop_ull_ordered_guided_start,
15478 GOMP_loop_ull_ordered_runtime_next,
15479 GOMP_loop_ull_ordered_runtime_start,
15480 GOMP_loop_ull_ordered_static_next,
15481 GOMP_loop_ull_ordered_static_start,
15482 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
15483 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
15484 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
15485 (omp_set_schedule, omp_get_schedule,
15486 omp_get_thread_limit, omp_set_max_active_levels,
15487 omp_get_max_active_levels, omp_get_level,
15488 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
15489 omp_set_schedule_, omp_set_schedule_8_,
15490 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15491 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15492 omp_get_max_active_levels_, omp_get_level_,
15493 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15494 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15495 New exports @@OMP_3.0.
15496 * omp.h.in (omp_sched_t): New type.
15497 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15498 omp_set_max_active_levels, omp_get_max_active_levels,
15499 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15500 omp_get_active_level): New prototypes.
15501 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
15502 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
15503 gomp_thread_limit_var, gomp_remaining_threads_count,
15504 gomp_remaining_threads_lock): New variables.
15505 (parse_spincount): New function.
15506 (initialize_env): Call gomp_init_num_threads unconditionally.
15507 Initialize gomp_available_cpus. Call parse_spincount,
15508 initialize gomp_{,throttled_}spin_count_var
15509 depending on presence and value of OMP_WAIT_POLICY and
15510 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
15511 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
15512 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
15513 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
15514 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
15515 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15516 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15517 (gomp_global_icv): New.
15518 (parse_schedule): Use it. Parse "auto".
15519 (omp_set_num_threads): Use gomp_icv.
15520 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
15521 Likewise.
15522 (omp_get_max_threads): Move from parallel.c.
15523 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15524 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
15525 add ialias.
15526 (parse_stacksize, parse_wait_policy): New functions.
15527 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
15528 both wrappers for compatibility and new locks.
15529 (omp_set_schedule, omp_get_schedule,
15530 omp_get_thread_limit, omp_set_max_active_levels,
15531 omp_get_max_active_levels, omp_get_level,
15532 omp_get_ancestor_thread_num, omp_get_team_size,
15533 omp_get_active_level): New ialias_redirect.
15534 (omp_set_schedule_, omp_set_schedule_8_,
15535 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15536 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15537 omp_get_max_active_levels_, omp_get_level_,
15538 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15539 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15540 New functions.
15541 * parallel.c: Include limits.h.
15542 (gomp_resolve_num_threads): Add count argument. Rewritten.
15543 (GOMP_parallel_start): Call gomp_new_team and pass that as last
15544 argument to gomp_team_start. Pass 0 as second argument to
15545 gomp_resolve_num_threads.
15546 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
15547 if gomp_thread_limit_var != ULONG_MAX.
15548 (omp_in_parallel): Implement using ts.active_level.
15549 (omp_get_max_threads): Move to env.c.
15550 (omp_get_level, omp_get_ancestor_thread_num,
15551 omp_get_team_size, omp_get_active_level): New functions,
15552 add ialias.
15553 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
15554 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
15555 gomp_iter_dynamic_next instead of the _locked variant and don't take
15556 lock around it, otherwise acquire it before calling
15557 gomp_iter_dynamic_next_locked.
15558 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
15559 gomp_iter_dynamic_next instead of the _locked variant and don't take
15560 lock around it.
15561 (GOMP_parallel_sections_start): Call gomp_new_team instead of
15562 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
15563 Adjust gomp_team_start caller. Pass count as second argument to
15564 gomp_resolve_num_threads, don't adjust num_threads after the call.
15565 Use gomp_icv.
15566 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
15567 ws->chunk_size by incr.
15568 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
15569 code.
15570 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
15571 types.
15572 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
15573 (omp_check_defines): Check even the compat defines.
15574 * config/linux/ptrlock.c: New file.
15575 * config/linux/ptrlock.h: New file.
15576 * config/linux/wait.h: New file.
15577 * config/posix/ptrlock.c: New file.
15578 * config/posix/ptrlock.h: New file.
15579 * config/linux/bar.h (gomp_team_barrier_wait,
15580 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15581 (gomp_team_barrier_set_task_pending,
15582 gomp_team_barrier_clear_task_pending,
15583 gomp_team_barrier_set_waiting_for_tasks,
15584 gomp_team_barrier_waiting_for_tasks,
15585 gomp_team_barrier_done): New inlines.
15586 (gomp_barrier_t): Rewritten.
15587 (gomp_barrier_state_t): New typedef.
15588 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
15589 gomp_barrier_wait_start): Rewritten.
15590 (gomp_barrier_wait_end): Change second argument to
15591 gomp_barrier_state_t.
15592 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15593 inlines.
15594 * config/linux/bar.c: Include wait.h instead of libgomp.h and
15595 futex.h.
15596 (gomp_barrier_wait_end): Rewritten.
15597 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15598 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
15599 * config/posix/bar.h (gomp_barrier_t): Add generation field.
15600 (gomp_barrier_state_t): New typedef.
15601 (gomp_team_barrier_wait,
15602 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15603 (gomp_barrier_wait_start): Or all but low 2 bits from generation
15604 into the return value. Return gomp_barrier_state_t.
15605 (gomp_team_barrier_set_task_pending,
15606 gomp_team_barrier_clear_task_pending,
15607 gomp_team_barrier_set_waiting_for_tasks,
15608 gomp_team_barrier_waiting_for_tasks,
15609 gomp_team_barrier_done): New inlines.
15610 (gomp_barrier_wait_end): Change second argument to
15611 gomp_barrier_state_t.
15612 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15613 inlines.
15614 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
15615 (gomp_barrier_wait_end): Change second argument to
15616 gomp_barrier_state_t.
15617 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15618 gomp_team_barrier_wake): New functions.
15619 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
15620 futex.h.
15621 (gomp_futex_wake, gomp_futex_wait): New variables.
15622 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
15623 * config/linux/lock.c: Rewrite to make locks task owned,
15624 for backwards compatibility provide the old entrypoints
15625 if symbol versioning. Include wait.h instead of libgomp.h and
15626 futex.h.
15627 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
15628 * config/posix95/lock.c: Rewrite to make locks task owned,
15629 for backwards compatibility provide the old entrypoints
15630 if symbol versioning.
15631 * config/posix/lock.c: Rewrite to make locks task owned,
15632 for backwards compatibility provide the old entrypoints
15633 if symbol versioning.
15634 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
15635 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
15636 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
15637 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15638 (sys_futex0): Return error code.
15639 (futex_wake, futex_wait): If ENOSYS was returned, clear
15640 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15641 (cpu_relax, atomic_write_barrier): New static inlines.
15642 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15643 (futex_wake, futex_wait): If ENOSYS was returned, clear
15644 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15645 (cpu_relax, atomic_write_barrier): New static inlines.
15646 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15647 (sys_futex0): Return error code.
15648 (futex_wake, futex_wait): If ENOSYS was returned, clear
15649 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15650 (cpu_relax, atomic_write_barrier): New static inlines.
15651 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15652 (sys_futex0): Return error code.
15653 (futex_wake, futex_wait): If ENOSYS was returned, clear
15654 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15655 (cpu_relax, atomic_write_barrier): New static inlines.
15656 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15657 (sys_futex0): Return error code.
15658 (futex_wake, futex_wait): If ENOSYS was returned, clear
15659 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15660 (cpu_relax, atomic_write_barrier): New static inlines.
15661 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15662 (sys_futex0): Return error code.
15663 (futex_wake, futex_wait): If ENOSYS was returned, clear
15664 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15665 (cpu_relax, atomic_write_barrier): New static inlines.
15666 * config/linux/sem.c: Include wait.h instead of libgomp.h and
15667 futex.h.
15668 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
15669 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
15670 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
15671 types.
15672 (omp_nest_lock_t): Change owner into void *, add lock field.
15673 * config/posix95/omp-lock.h: Include semaphore.h.
15674 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15675 (omp_lock_t): Use sem_t instead of mutex if semaphores
15676 aren't broken.
15677 (omp_nest_lock_t): Likewise. Change owner to void *.
15678 * config/posix/omp-lock.h: Include semaphore.h.
15679 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15680 (omp_lock_t): Use sem_t instead of mutex if semaphores
15681 aren't broken.
15682 (omp_nest_lock_t): Likewise. Add owner field.
15683
15684 2008-06-06 Jakub Jelinek <jakub (a] redhat.com>
15685
15686 * testsuite/libgomp.c/collapse-1.c: New test.
15687 * testsuite/libgomp.c/collapse-2.c: New test.
15688 * testsuite/libgomp.c/collapse-3.c: New test.
15689 * testsuite/libgomp.c/icv-1.c: New test.
15690 * testsuite/libgomp.c/icv-2.c: New test.
15691 * testsuite/libgomp.c/lib-2.c: New test.
15692 * testsuite/libgomp.c/lock-1.c: New test.
15693 * testsuite/libgomp.c/lock-2.c: New test.
15694 * testsuite/libgomp.c/lock-3.c: New test.
15695 * testsuite/libgomp.c/loop-4.c: New test.
15696 * testsuite/libgomp.c/loop-5.c: New test.
15697 * testsuite/libgomp.c/loop-6.c: New test.
15698 * testsuite/libgomp.c/loop-7.c: New test.
15699 * testsuite/libgomp.c/loop-8.c: New test.
15700 * testsuite/libgomp.c/loop-9.c: New test.
15701 * testsuite/libgomp.c/nested-3.c: New test.
15702 * testsuite/libgomp.c/nestedfn-6.c: New test.
15703 * testsuite/libgomp.c/sort-1.c: New test.
15704 * testsuite/libgomp.c/task-1.c: New test.
15705 * testsuite/libgomp.c/task-2.c: New test.
15706 * testsuite/libgomp.c/task-3.c: New test.
15707 * testsuite/libgomp.c/task-4.c: New test.
15708 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
15709 to C++ testsuite default compiler options.
15710 * testsuite/libgomp.c++/collapse-1.C: New test.
15711 * testsuite/libgomp.c++/collapse-2.C: New test.
15712 * testsuite/libgomp.c++/ctor-10.C: New test.
15713 * testsuite/libgomp.c++/for-1.C: New test.
15714 * testsuite/libgomp.c++/for-2.C: New test.
15715 * testsuite/libgomp.c++/for-3.C: New test.
15716 * testsuite/libgomp.c++/for-4.C: New test.
15717 * testsuite/libgomp.c++/for-5.C: New test.
15718 * testsuite/libgomp.c++/loop-8.C: New test.
15719 * testsuite/libgomp.c++/loop-9.C: New test.
15720 * testsuite/libgomp.c++/loop-10.C: New test.
15721 * testsuite/libgomp.c++/task-1.C: New test.
15722 * testsuite/libgomp.c++/task-2.C: New test.
15723 * testsuite/libgomp.c++/task-3.C: New test.
15724 * testsuite/libgomp.c++/task-4.C: New test.
15725 * testsuite/libgomp.c++/task-5.C: New test.
15726 * testsuite/libgomp.c++/task-6.C: New test.
15727 * testsuite/libgomp.fortran/allocatable1.f90: New test.
15728 * testsuite/libgomp.fortran/allocatable2.f90: New test.
15729 * testsuite/libgomp.fortran/allocatable3.f90: New test.
15730 * testsuite/libgomp.fortran/allocatable4.f90: New test.
15731 * testsuite/libgomp.fortran/collapse1.f90: New test.
15732 * testsuite/libgomp.fortran/collapse2.f90: New test.
15733 * testsuite/libgomp.fortran/collapse3.f90: New test.
15734 * testsuite/libgomp.fortran/collapse4.f90: New test.
15735 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
15736 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
15737 * testsuite/libgomp.fortran/lib4.f90: New test.
15738 * testsuite/libgomp.fortran/lock-1.f90: New test.
15739 * testsuite/libgomp.fortran/lock-2.f90: New test.
15740 * testsuite/libgomp.fortran/nested1.f90: New test.
15741 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
15742 * testsuite/libgomp.fortran/strassen.f90: New test.
15743 * testsuite/libgomp.fortran/tabs1.f90: New test.
15744 * testsuite/libgomp.fortran/tabs2.f: New test.
15745 * testsuite/libgomp.fortran/task1.f90: New test.
15746 * testsuite/libgomp.fortran/task2.f90: New test.
15747 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
15748 * testsuite/libgomp.fortran/vla5.f90: Likewise.
15749 * testsuite/libgomp.c/pr26943-2.c: Likewise.
15750 * testsuite/libgomp.c/pr26943-3.c: Likewise.
15751 * testsuite/libgomp.c/pr26943-4.c: Likewise.
15752
15753 2008-05-23 Jakub Jelinek <jakub (a] redhat.com>
15754
15755 PR c++/36308
15756 * testsuite/libgomp.c++/ctor-11.C: New test.
15757 * testsuite/libgomp.c++/ctor-12.C: New test.
15758
15759 2008-05-15 Janis Johnson <janis187 (a] us.ibm.com>
15760
15761 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
15762
15763 2008-05-07 Jakub Jelinek <jakub (a] redhat.com>
15764
15765 PR middle-end/36106
15766 * testsuite/libgomp.c/atomic-5.c: New test.
15767 * testsuite/libgomp.c/atomic-6.c: New test.
15768 * testsuite/libgomp.c/autopar-1.c: New test.
15769
15770 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15771
15772 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
15773 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
15774 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
15775 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
15776 * configure: Regenerate.
15777 * Makefile.in, testsuite/Makefile.in: Likewise.
15778
15779 2008-04-18 Paolo Bonzini <bonzini (a] gnu.org>
15780
15781 PR bootstrap/35457
15782 * aclocal.m4: Regenerate.
15783 * configure: Regenerate.
15784
15785 2008-03-18 Jakub Jelinek <jakub (a] redhat.com>
15786
15787 PR middle-end/35611
15788 * testsuite/libgomp.c/atomic-4.c: New test.
15789
15790 PR libgomp/35625
15791 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
15792 (gomp_iter_guided_next): Likewise.
15793 * testsuite/libgomp.c/pr35625.c: New test.
15794
15795 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15796
15797 * aclocal.m4: Regenerate.
15798 * configure: Likewise.
15799 * Makefile.in: Likewise.
15800 * testsuite/Makefile.in: Likewise.
15801
15802 2008-03-13 Jakub Jelinek <jakub (a] redhat.com>
15803
15804 PR middle-end/35185
15805 * testsuite/libgomp.c++/pr35185.C: New test.
15806
15807 2008-03-12 Jakub Jelinek <jakub (a] redhat.com>
15808
15809 PR middle-end/35549
15810 * testsuite/libgomp.c/pr35549.c: New test.
15811
15812 2008-03-06 Jakub Jelinek <jakub (a] redhat.com>
15813
15814 * testsuite/libgomp.c/atomic-3.c: New test.
15815
15816 2008-03-03 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
15817
15818 PR fortran/33197
15819 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
15820 .F08 file suffixes.
15821
15822 2008-03-03 Peter O'Gorman <pogma (a] thewrittenword.com>
15823
15824 PR libgomp/33131
15825 * configure.ac: Add ACX_HEADER_STRING.
15826 * env.c: Include strings.h.
15827 * aclocal.m4: Regenerate.
15828 * config.h.in: Regenerate.
15829 * configure: Regenerate.
15830 * Makefile.in: Regenerate.
15831 * testsuite/Makefile.in: Regenerate.
15832
15833 2008-02-15 Jakub Jelinek <jakub (a] redhat.com>
15834
15835 PR middle-end/35196
15836 * testsuite/libgomp.c/pr35196.c: New test.
15837
15838 PR middle-end/35130
15839 * testsuite/libgomp.fortran/pr35130.f90: New test.
15840 * testsuite/libgomp.c/pr35130.c: New test.
15841
15842 2008-01-25 Jakub Jelinek <jakub (a] redhat.com>
15843
15844 PR middle-end/33880
15845 * testsuite/libgomp.c/pr33880.c: New test.
15846 * testsuite/libgomp.fortran/pr33880.f90: New test.
15847
15848 2008-01-24 David Edelsohn <edelsohn (a] gnu.org>
15849
15850 * configure: Regenerate.
15851
15852 2008-01-08 Jakub Jelinek <jakub (a] redhat.com>
15853
15854 * configure.ac: Move futex checking into ../config/futex.m4.
15855 * configure: Rebuilt.
15856 * aclocal.m4: Rebuilt.
15857 * Makefile.in: Rebuilt.
15858
15859 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
15860 2007-10-15 ../config/tls.m4 change.
15861
15862 2007-12-19 Jakub Jelinek <jakub (a] redhat.com>
15863
15864 PR c++/34513
15865 * testsuite/libgomp.c/pr34513.c: New test.
15866 * testsuite/libgomp.c++/pr34513.C: New test.
15867
15868 2007-12-17 Jack Howarth <howarth (a] bromo.med.uc.edu>
15869
15870 PR target/32765
15871 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
15872
15873 2007-12-04 Jakub Jelinek <jakub (a] redhat.com>
15874
15875 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
15876
15877 2007-12-03 Jakub Jelinek <jakub (a] redhat.com>
15878
15879 * testsuite/libgomp.c/private-1.c: New test.
15880
15881 2007-11-29 Andris Pavenis <andris.pavenis (a] iki.fi>
15882 Paolo Bonzini <bonzini (a] gnu.org>
15883
15884 * Makefile.am: Use space as vpath separator. Use 'vpath %'
15885 instead of 'VPATH ='.
15886 * Makefile.in: Regenerate.
15887
15888 2007-11-23 Matthias Klose <doko (a] ubuntu.com>
15889
15890 * configure.ac: Adjust makeinfo version check.
15891 * configure: Regenerate.
15892
15893 2007-11-10 Jakub Jelinek <jakub (a] redhat.com>
15894
15895 PR fortran/34020
15896 * testsuite/libgomp.fortran/pr34020.f90: New test.
15897
15898 2007-11-06 Jakub Jelinek <jakub (a] redhat.com>
15899
15900 PR c++/33894
15901 * testsuite/libgomp.c++/atomic-1.C: New test.
15902
15903 2007-10-25 Jakub Jelinek <jakub (a] redhat.com>
15904
15905 PR libgomp/33275
15906 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
15907 Make x and y integers rather than (implicit) reals. Add private (j)
15908 clause to the last omp parallel.
15909
15910 2007-10-15 Maciej W. Rozycki <macro (a] linux-mips.org>
15911
15912 * configure: Regenerate following changes to ../config/tls.m4.
15913
15914 2007-09-28 Jakub Jelinek <jakub (a] redhat.com>
15915
15916 * testsuite/libgomp.fortran/stack.f90: New test.
15917
15918 2007-09-10 Danny Smith <dannysmith (a] users.sourceforge.net>
15919
15920 * config/mingw32/proc.c: New file.
15921
15922 2007-09-05 Uros Bizjak <ubizjak (a] gmail.com>
15923
15924 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
15925 (main): Use __get_cpuid to get i386 target fetaures.
15926 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
15927 (main): Use __get_cpuid to get x86_64 target fetaures.
15928
15929 2007-08-15 Jack Howarth <howarth (a] bromo.med.uc.edu>
15930
15931 PR target/32765
15932 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
15933 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
15934
15935 2007-07-12 Jakub Jelinek <jakub (a] redhat.com>
15936
15937 PR fortran/32550
15938 * testsuite/libgomp.fortran/pr32550.f90: New test.
15939 * testsuite/libgomp.fortran/crayptr2.f90: New test.
15940
15941 2007-07-05 H.J. Lu <hongjiu.lu (a] intel.com>
15942
15943 * aclocal.m4: Regenerated.
15944
15945 2007-07-05 Tobias Burnus <burnus (a] net-b.de>
15946
15947 PR fortran/32359
15948 * testsuite/libgomp.fortran/pr32359.f90: New.
15949
15950 2007-07-02 Jakub Jelinek <jakub (a] redhat.com>
15951
15952 PR libgomp/32468
15953 * sections.c (GOMP_parallel_sections_start): Only decrease
15954 number of threads to COUNT if dyn_var is true.
15955 * testsuite/libgomp.c/pr32468.c: New test.
15956
15957 2007-07-02 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
15958
15959 PR libgomp/26308
15960 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
15961
15962 2007-06-21 Jakub Jelinek <jakub (a] redhat.com>
15963
15964 PR middle-end/32362
15965 * testsuite/libgomp.c/pr32362-1.c: New test.
15966 * testsuite/libgomp.c/pr32362-2.c: New test.
15967 * testsuite/libgomp.c/pr32362-3.c: New test.
15968
15969 2007-06-07 Jakub Jelinek <jakub (a] redhat.com>
15970
15971 * team.c (gomp_team_start): Fix setting up thread_attr
15972 stack size.
15973
15974 2007-06-02 Paolo Bonzini <bonzini (a] gnu.org>
15975
15976 * configure: Regenerate.
15977
15978 2007-05-23 Steve Ellcey <sje (a] cup.hp.com>
15979
15980 * Makefile.in: Regenerate.
15981 * configure: Regenerate.
15982 * aclocal.m4: Regenerate.
15983 * testsuite/Makefile.in: Regenerate.
15984
15985 2007-05-04 Jakub Jelinek <jakub (a] redhat.com>
15986
15987 * config/linux/proc.c: New file.
15988
15989 PR libgomp/28482
15990 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
15991
15992 2007-04-19 Daniel Franke <franke.daniel (a] gmail.com>
15993
15994 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
15995
15996 2007-04-16 Matthias Klose <doko (a] debian.org>
15997
15998 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
15999 flags if not building with -m64.
16000 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
16001 flag for i?86-*-* targets, if current target matches -m64.
16002
16003 2007-04-14 Steve Ellcey <sje (a] cup.hp.com>
16004
16005 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
16006 * Makefile.in: Regenerate.
16007
16008 2007-04-07 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca>
16009
16010 PR testsuite/31369
16011 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
16012 ld_library_path.
16013 * testsuite/libgomp.fortran/fortran.exp: Likewise.
16014
16015 2007-04-04 Jakub Jelinek <jakub (a] redhat.com>
16016
16017 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
16018 decls.
16019 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
16020 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
16021 (parse_affinity): New function.
16022 (initialize_env): Call it and gomp_init_affinity.
16023 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
16024 create new pthread_attr_t and call gomp_init_thread_affinity
16025 on it for each thread before passing the attribute to pthread_create.
16026 * config/linux/affinity.c: New file.
16027 * config/posix/affinity.c: New file.
16028 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
16029 * configure: Rebuilt.
16030 * config.h.in: Rebuilt.
16031 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
16032 * Makefile.in: Rebuilt.
16033
16034 2007-03-23 Andreas Tobler <a.tobler (a] schweiz.org>
16035
16036 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
16037 *-*-darwin*.
16038 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
16039 and use it if found.
16040
16041 2007-03-18 Uros Bizjak <ubizjak (a] gmail.com>
16042
16043 * testsuite/config/default.exp: New file.
16044 * testsuite/lib/libgomp.exp: New file.
16045 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
16046 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
16047 load_lib *, load_gcc_lib *): Move to libgomp.exp.
16048 (libgomp_load): Remove.
16049 * testsuite/lib/libgomp.exp (libgomp_init): Compute
16050 always_ld_library_path, not ld_library_path. Set additional_flags
16051 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
16052 (target_compile): Do not call libgomp_init. Append lang_library_path
16053 and lang_link_flags to options.
16054 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
16055 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
16056 here.
16057 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
16058 always_ld_library_path. Set LD_LIBRARY_PATH here.
16059 * testsuite/libgomp.fortran/fortran.exp: Ditto.
16060 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
16061 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
16062 CX8 flag.
16063 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
16064 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
16065 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
16066 * testsuite/libgomp.c/pr29947-1.c: Ditto.
16067 * testsuite/libgomp.c/atomic-10.c: Ditto.
16068
16069 2007-03-21 Jakub Jelinek <jakub (a] redhat.com>
16070
16071 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
16072 dg-final cleanup-modules line.
16073 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
16074 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
16075 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
16076 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
16077 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
16078 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
16079 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
16080
16081 2007-03-18 Andreas Schwab <schwab (a] suse.de>
16082
16083 * acinclude.m4: Adjust regular expression for ld version
16084 extraction.
16085 * configure: Regenerate.
16086
16087 2007-03-01 Brooks Moses <brooks.moses (a] codesourcery.com>
16088
16089 * Makefile.am: Add install-pdf target as copied from
16090 automake v1.10 rules.
16091 * Makefile.in: Regenerate
16092
16093 2007-02-07 Jakub Jelinek <jakub (a] redhat.com>
16094
16095 PR libgomp/28486
16096 * configure: Regenerate.
16097
16098 PR c++/30703
16099 * testsuite/libgomp.c++/pr30703.C: New test.
16100
16101 2007-02-02 Jakub Jelinek <jakub (a] redhat.com>
16102
16103 Revert:
16104 2006-07-05 Eric Christopher <echristo (a] apple.com>
16105 * configure.ac: Depend addition of -pthread on host OS.
16106 * configure: Regenerate.
16107
16108 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
16109
16110 * libgomp.texi: Fix spacing after abbreviations.
16111
16112 2007-01-31 Daniel Franke <franke.daniel (a] gmail.com>
16113
16114 PR libgomp/30546
16115 * configure.ac: Add check for makeinfo
16116 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
16117 if an appropriate version of makeinfo is found.
16118 * aclocal.m4: Regenerated.
16119 * configure: Regenerated.
16120 * Makefile.in: Regenerated.
16121 * testsuite/Makefile.in: Regenerated.
16122
16123 2007-01-29 Daniel Franke <franke.daniel (a] gmail.com>
16124
16125 PR libgomp/30540
16126 * libgomp.texi: More about implementation-dependent settings.
16127
16128 2007-01-26 Tobias Burnus <burnus (a] net-b.de>
16129
16130 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
16131
16132 2007-01-24 Jakub Jelinek <jakub (a] redhat.com>
16133
16134 PR middle-end/30494
16135 * testsuite/libgomp.c/pr30494.c: New test.
16136
16137 2007-01-15 Tom Tromey <tromey (a] redhat.com>
16138
16139 * configure: Rebuilt.
16140 * configure.ac: Fixed comment.
16141
16142 2007-01-14 Daniel Franke <franke.daniel (a] gmail.com>
16143
16144 * libgomp.texi: Document implementation specific default values of
16145 environment variables.
16146
16147 2006-12-21 Daniel Franke <franke.daniel (a] gmail.com>
16148
16149 PR libgomp/28209
16150 * libgomp.texi: New file.
16151 * configure.ac: Add --enable-generated-files-in-srcdir option.
16152 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
16153 files to srcdir.
16154 * Makefile.in: Regenerated.
16155 * config.h.in: Regenerated.
16156 * testsuite/Makefile.in: Regenerated.
16157 * NOTES: Removed.
16158
16159 2006-12-04 Daniel Franke <franke.daniel (a] gmail.com>
16160
16161 PR libgomp/29949
16162 * env.c (omp_set_num_threads): Set illegal thread count to 1.
16163
16164 2006-12-04 Eric Botcazou <ebotcazou (a] libertysurf.fr>
16165
16166 * configure: Regenerate.
16167
16168 2006-12-04 Jakub Jelinek <jakub (a] redhat.com>
16169
16170 PR libgomp/29947
16171 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
16172 start if there shouldn't be any loop iterations.
16173 (gomp_loop_ordered_static_start): Remove start == end test.
16174 * testsuite/libgomp.c/pr29947-1.c: New test.
16175 * testsuite/libgomp.c/pr29947-2.c: New test.
16176
16177 2006-12-02 Eric Botcazou <ebotcazou (a] libertysurf.fr>
16178
16179 * configure.tgt: Force initial-exec TLS model on Linux only.
16180
16181 2006-11-13 Daniel Jacobowitz <dan (a] codesourcery.com>
16182
16183 * configure: Regenerated.
16184
16185 2006-11-09 Uros Bizjak <ubizjak (a] gmail.com>
16186
16187 * env.c (parse_schedule): Reject out of range values.
16188 (parse_unsigned_long): Reject out of range, negative or zero values.
16189
16190 2006-10-29 Jakub Jelinek <jakub (a] redhat.com>
16191
16192 PR fortran/29629
16193 * testsuite/libgomp.fortran/pr29629.f90: New test.
16194
16195 2006-10-24 Eric Botcazou <ebotcazou (a] libertysurf.fr>
16196
16197 PR libgomp/29494
16198 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
16199 * config/posix95: New directory.
16200 * config/posix95/omp-lock.h: New file.
16201 * config/posix95/lock.c: Likewise.
16202
16203 2006-10-14 Geoffrey Keating <geoffk (a] apple.com>
16204
16205 * aclocal.m4: Regenerate.
16206 * configure: Regenerate.
16207
16208 2006-10-05 Danny Smith <dannysmith (a] users.sourceforge.net>
16209
16210 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
16211 '<' to '<='.
16212
16213 2006-10-05 Danny Smith <dannysmith (a] users.sourceforge.net>
16214
16215 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
16216 test.
16217 * configure: Regenerate.
16218 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
16219
16220 2006-09-26 Jakub Jelinek <jakub (a] redhat.com>
16221
16222 PR middle-end/25261
16223 PR middle-end/28790
16224 * testsuite/libgomp.c/nestedfn-4.c: New test.
16225 * testsuite/libgomp.c/nestedfn-5.c: New test.
16226 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
16227
16228 PR fortran/29097
16229 * testsuite/libgomp.fortran/condinc1.f: New test.
16230 * testsuite/libgomp.fortran/condinc2.f: New test.
16231 * testsuite/libgomp.fortran/condinc3.f90: New test.
16232 * testsuite/libgomp.fortran/condinc4.f90: New test.
16233 * testsuite/libgomp.fortran/condinc1.inc: New file.
16234
16235 2006-09-18 Tom Tromey <tromey (a] redhat.com>
16236
16237 * configure: Rebuilt.
16238
16239 2006-09-13 Joseph S. Myers <joseph (a] codesourcery.com>
16240
16241 PR c/28768
16242 PR preprocessor/14634
16243 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
16244 to AC_DEFINE.
16245 * configure: Regenerate.
16246
16247 2006-09-08 Steven G. Kargl <kargl (a] gcc.gnu.org>
16248
16249 * testsuite/libgomp.fortran/reduction3.f90: Change
16250 -2147483648 to -huge(i)-1 to avoid overflow.
16251 * testsuite/libgomp.fortran/reduction4.f90: Change
16252 Z'ffffffff' to not(0) to avoid overflow.
16253
16254 2006-08-26 Joseph S. Myers <joseph (a] codesourcery.com>
16255
16256 PR libgomp/25938
16257 * Makefile.am (libsubincludedir): New.
16258 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
16259 * Makefile.in: Regenerate.
16260
16261 2006-08-17 Jakub Jelinek <jakub (a] redhat.com>
16262
16263 PR libgomp/28725
16264 * env.c: Include ctype.h.
16265 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
16266 leading and/or trailing whitespace and compare strings case
16267 insensitively.
16268
16269 2006-07-16 Jakub Jelinek <jakub (a] redhat.com>
16270
16271 PR fortran/28390
16272 * testsuite/libgomp.fortran/pr28390.f: New test.
16273
16274 2006-07-05 Eric Christopher <echristo (a] apple.com>
16275
16276 * configure.ac: Depend addition of -pthread on host OS.
16277 * configure: Regenerate.
16278
16279 2006-06-21 Jakub Jelinek <jakub (a] redhat.com>
16280
16281 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
16282 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
16283 defined.
16284
16285 2006-06-20 Jakub Jelinek <jakub (a] redhat.com>
16286
16287 PR libgomp/26175
16288 PR libgomp/26477
16289 * configure.ac: If neither --enable-linux-futex nor
16290 --disable-linux-futex is passed, determine the default by checking
16291 for compiling and/or running against NPTL. With --enable-linux-futex,
16292 check if SYS_gettid and SYS_futex are defined.
16293 * configure: Rebuilt.
16294
16295 2006-06-14 Richard Henderson <rth (a] redhat.com>
16296
16297 PR libgomp/28008
16298 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
16299 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
16300
16301 2006-06-09 Richard Henderson <rth (a] redhat.com>
16302
16303 * env.c (gomp_nthreads_var): Change to unsigned long.
16304 (gomp_run_sched_chunk): Likewise.
16305 (parse_unsigned_long): Rename from parse_num_threads and generalize.
16306 (initialize_env): Initialize gomp_thread_attr.
16307 * libgomp.h (gomp_nthreads_var): Update decl.
16308 (gomp_run_sched_chunk): Likewise.
16309 (gomp_thread_attr): Declare.
16310 * team.c (gomp_thread_attr): Export.
16311 (initialize_team): Don't initialize it.
16312
16313 2006-06-09 Jakub Jelinek <jakub (a] redhat.com>
16314
16315 PR fortran/27916
16316 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
16317 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
16318
16319 2006-06-06 Francois-Xavier Coudert <coudert (a] clipper.ens.fr>
16320
16321 * config/mingw32/time.c: New file.
16322 * configure.tgt: Use it.
16323
16324 2006-05-23 Carlos O'Donell <carlos (a] codesourcery.com>
16325
16326 * Makefile.am: Add install-html target. Add install-html to .PHONY
16327 * Makefile.in: Regenerate.
16328
16329 2006-05-22 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca>
16330
16331 PR libgomp/27612
16332 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
16333 * testsuite/libgomp.c/critical-1.c: Likewise.
16334 * testsuite/libgomp.c/loop-1.c: Likewise.
16335 * testsuite/libgomp.c/loop-2.c: Likewise.
16336 * testsuite/libgomp.c/single-1.c: Likewise.
16337 * testsuite/libgomp.c/ordered-1.c: Likewise.
16338 * testsuite/libgomp.c/ordered-2.c: Likewise.
16339
16340 2006-05-15 Jakub Jelinek <jakub (a] redhat.com>
16341
16342 PR middle-end/27416
16343 * libgomp.fortran/pr27416-1.f90: New test.
16344
16345 2006-05-03 Jakub Jelinek <jakub (a] redhat.com>
16346
16347 PR fortran/27395
16348 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
16349 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
16350
16351 2006-05-02 Jakub Jelinek <jakub (a] redhat.com>
16352
16353 PR c++/26943
16354 * testsuite/libgomp.c/pr26943-1.c: New test.
16355 * testsuite/libgomp.c/pr26943-2.c: New test.
16356 * testsuite/libgomp.c/pr26943-3.c: New test.
16357 * testsuite/libgomp.c/pr26943-4.c: New test.
16358 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
16359 * testsuite/libgomp.c++/pr26943.C: New test.
16360
16361 2006-05-02 Jakub Jelinek <jakub (a] redhat.com>
16362
16363 PR middle-end/27337
16364 * testsuite/libgomp.c++/pr27337.C: New test.
16365
16366 2006-04-26 Jakub Jelinek <jakub (a] redhat.com>
16367
16368 PR c/26171
16369 * testsuite/libgomp.c/pr26171.c: New test.
16370
16371 2006-04-25 Richard Henderson <rth (a] redhat.com>
16372
16373 PR libgomp/25865
16374 * configure.ac: Use GCC_CHECK_TLS.
16375 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
16376 * Makefile.in, aclocal.m4, configure: Regenerate.
16377
16378 2006-04-10 Matthias Klose <doko (a] debian.org>
16379
16380 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
16381 directory names containing underscores.
16382
16383 2006-03-21 Jakub Jelinek <jakub (a] redhat.com>
16384
16385 PR c++/26691
16386 * testsuite/libgomp.c++/pr26691.C: New test.
16387
16388 2006-03-13 Jakub Jelinek <jakub (a] redhat.com>
16389
16390 * testsuite/libgomp.fortran/retval2.f90: New test.
16391
16392 2006-03-09 Diego Novillo <dnovillo (a] redhat.com>
16393
16394 * testsuite/libgomp.c++: New directory.
16395
16396 2006-02-25 Shantonu Sen <ssen (a] opendarwin.org>
16397
16398 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
16399 * config/posix/sem.c: Implement the above.
16400
16401 2006-02-25 Andreas Tobler <a.tobler (a] schweiz.ch>
16402
16403 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
16404 define HAVE_BROKEN_POSIX_SEMAPHORES.
16405 * configure: Rebuilt.
16406 * config.h.in: Rebuilt.
16407
16408 2006-02-17 Francois-Xavier Coudert <coudert (a] clipper.ens.fr>
16409
16410 PR bootstrap/26161
16411 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
16412 for the other pthread check.
16413 * configure: Regenerate.
16414 * config.h.in: Regenerate.
16415
16416 2006-02-15 Jakub Jelinek <jakub (a] redhat.com>
16417
16418 PR libgomp/25938
16419 PR libgomp/25984
16420 * Makefile.am (fincludedir): New variable.
16421 (nodist_include_HEADERS): Remove Fortran files.
16422 (nodist_finclude_HEADERS): New variable.
16423 * Makefile.in: Regenerated.
16424
16425 2006-02-13 Jakub Jelinek <jakub (a] redhat.com>
16426
16427 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
16428 Remove tests for returning assumed character length arrays.
16429
16430 2006-02-12 Roger Sayle <roger (a] eyesopen.com>
16431 John David Anglin <dave (a] hiauly1.hia.nrc.ca>
16432
16433 PR libgomp/25936
16434 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
16435
16436 2006-02-08 Ulrich Weigand <uweigand (a] de.ibm.com>
16437
16438 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
16439
16440 2006-02-07 Eric Botcazou <ebotcazou (a] libertysurf.fr>
16441
16442 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
16443 part of LD_LIBRARY_PATH manually.
16444
16445 2006-02-03 H.J. Lu <hongjiu.lu (a] intel.com>
16446
16447 PR libgomp/25852
16448 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
16449 libgomp_init.
16450
16451 2005-01-25 Paolo Bonzini <bonzini (a] gnu.org>
16452
16453 PR libgomp/25884
16454 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
16455 * configure.ac (PERL): Don't set.
16456 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
16457 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
16458 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
16459 * omp.h.in: Wrap the new configure substitutions with @ characters.
16460 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
16461 * aclocal.m4, configure, Makefile.in: Regenerate.
16462 * mkomp_h.pl: Delete.
16463
16464 2005-01-24 Paolo Bonzini <bonzini (a] gnu.org>
16465
16466 PR libgomp/25259
16467 * configure.ac: Use GCC_HEADER_STDINT.
16468 * libgomp.h: Include gstdint.h.
16469 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
16470 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
16471
16472 2006-01-24 Richard Henderson <rth (a] redhat.com>
16473
16474 PR libgomp/25942
16475 * configure.ac: Add AM_MAINTAINER_MODE.
16476 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
16477
16478 2006-01-24 Diego Novillo <dnovillo (a] redhat.com>
16479
16480 * Makefile.in: Regenerate.
16481 * testsuite/Makefile.in: Regenerate.
16482 * aclocal.m4: Regenerate.
16483
16484 2006-01-23 Andreas Tobler <a.tobler (a] schweiz.ch>
16485
16486 * config/posix/proc.c: Conditional include of sys/loadavg.h for
16487 Solaris.
16488 * configure.ac: Add check for loadavg.h.
16489 (link_gomp): Adjust comment.
16490 * configure: Regenerate.
16491 * config.h.in: Regenerate.
16492
16493 2006-01-21 Steve Ellcey <sje (a] cup.hp.com>
16494
16495 PR libgomp/25877
16496 * configure.ac: Remove check for alloca.h.
16497 * configure: Regenerate.
16498 * config.h.in: Regenerate.
16499 * libgomp.h: define gomp_alloca to be __builtin_alloca.
16500 * team.c: Remove use of alloca.h.
16501 Call gomp_alloca instead of alloca.
16502
16503 2006-01-20 Steve Ellcey <sje (a] cup.hp.com>
16504
16505 PR libgomp/25877
16506 * team.c: Add include of alloca.h.
16507 * configure.ac: Add check for alloca.h.
16508 * configure: Regenerate.
16509 * config.h.in: Regenerate.
16510
16511 2006-01-17 Jakub Jelinek <jakub (a] redhat.com>
16512
16513 PR fortran/25219
16514 * testsuite/libgomp.fortran/pr25219.f90: New test.
16515
16516 2005-12-05 Uros Bizjak <uros (a] kss-loka.si>
16517
16518 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
16519 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
16520 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16521 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16522 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
16523 testsuite/libgomp.fortran/threadprivate1.f90,
16524 testsuite/libgomp.fortran/threadprivate2.f90,
16525 testsuite/libgomp.fortran/threadprivate3.f90,
16526 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16527 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16528 testsuite/libgomp.fortran/omp_parse3.f90: Change required
16529 effective-target to TLS runtime.
16530
16531 * testsuite/libgomp.fortran/pr25162.f: Require
16532 effective-target TLS runtime.
16533
16534 2005-12-01 Jakub Jelinek <jakub (a] redhat.com>
16535
16536 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
16537 * testsuite/libgomp.c/nestedfn-3.c: New test.
16538
16539 2005-11-30 Jakub Jelinek <jakub (a] redhat.com>
16540
16541 PR fortran/25162
16542 * testsuite/libgomp.fortran/pr25162.f: New test.
16543
16544 2005-11-28 Jakub Jelinek <jakub (a] redhat.com>
16545
16546 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
16547 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
16548
16549 2005-11-25 Jakub Jelinek <jakub (a] redhat.com>
16550
16551 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
16552 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
16553 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
16554 single.c, team.c, work.c, config/linux/alpha/futex.h,
16555 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
16556 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
16557 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
16558 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
16559 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
16560 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
16561 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
16562 FSF address.
16563
16564 2005-11-18 Jakub Jelinek <jakub (a] redhat.com>
16565
16566 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
16567 to nodist_noinst_HEADERS.
16568 * Makefile.in: Rebuilt.
16569
16570 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
16571 add integer count field.
16572 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
16573 omp_nest_lock_t type change.
16574 (omp_init_nest_lock): Likewise. Initialize count to 0.
16575 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
16576 Increment count.
16577 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
16578 Decrement count.
16579 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
16580 Increment count if successful and return the new nesting level.
16581 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
16582 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
16583 * testsuite/libgomp.c/lib-1.c: New test.
16584 * testsuite/libgomp.fortran/lib1.f90: New test.
16585 * testsuite/libgomp.fortran/lib2.f: New test.
16586 * testsuite/libgomp.fortran/lib3.f: New test.
16587
16588 2005-11-17 Richard Henderson <rth (a] redhat.com>
16589
16590 PR 24845
16591 * Makefile.am (nodist_toolexeclib_HEADERS): New.
16592 * configure.ac (link_gomp): New. Substitute it.
16593 (AC_CONFIG_FILES): Add libgomp.spec.
16594 * libgomp.spec.in: New file.
16595 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
16596 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
16597
16598 2005-11-18 Jakub Jelinek <jakub (a] redhat.com>
16599
16600 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
16601 reduction(-:var) behaving the same as reduction(+:var).
16602 * testsuite/libgomp.c/reduction-4.c: New test.
16603
16604 2005-11-15 Uros Bizjak <uros (a] kss-loka.si>
16605
16606 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
16607 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
16608 testsuite/libgomp.c/copyin-3.c,
16609 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16610 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16611 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
16612 testsuite/libgomp.c++/pr24455.C,
16613 testsuite/libgomp.fortran/threadprivate1.f90,
16614 testsuite/libgomp.fortran/threadprivate2.f90,
16615 testsuite/libgomp.fortran/threadprivate3.f90,
16616 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16617 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16618 testsuite/libgomp.fortran/omp_parse3.f90: Require
16619 effective-target TLS.
16620
16621 2005-11-14 Diego Novillo <dnovillo (a] redhat.com>
16622
16623 * HEADER: Remove.
16624
16625 2005-11-13 Jakub Jelinek <jakub (a] redhat.com>
16626
16627 PR libgomp/24797
16628 * team.c (initialize_team): Pass NULL rather than free as
16629 pthread_key_create destructor. Initialize thread specific data
16630 pointer in initial thread to a static local variable rather than
16631 malloced memory.
16632
16633 2005-11-11 Uros Bizjak <uros (a] kss-loka.si>
16634
16635 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
16636 its location to ld_library_path.
16637
16638 2005-11-10 Diego Novillo <dnovillo (a] redhat.com>
16639
16640 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
16641
16642 2005-11-10 Diego Novillo <dnovillo (a] redhat.com>
16643
16644 * testsuite/libgomp.c: Rename from libgomp.dg.
16645
16646 2005-11-09 Diego Novillo <dnovillo (a] redhat.com>
16647
16648 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
16649 threadprivate variable 'i'.
16650
16651 2005-11-09 Jakub Jelinek <jakub (a] redhat.com>
16652
16653 * config/linux/s390/futex.h: New file.
16654 * configure.tgt: Use it.
16655
16656 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
16657 before the parallel.
16658
16659 2005-11-08 Jakub Jelinek <jakub (a] redhat.com>
16660
16661 PR c++/24734
16662 * testsuite/libgomp.c++/master-1.C: New test.
16663
16664 2005-11-07 Jakub Jelinek <jakub (a] redhat.com>
16665
16666 * testsuite/libgomp.dg/copyin-3.c: New test.
16667
16668 2005-11-07 Jakub Jelinek <jakub (a] redhat.com>
16669
16670 * testsuite/libgomp.fortran/retval1.f90: New test.
16671 * testsuite/libgomp.fortran/vla7.f90: New test.
16672
16673 2005-11-06 Jakub Jelinek <jakub (a] redhat.com>
16674
16675 * testsuite/libgomp.fortran/vla2.f90: New test.
16676 * testsuite/libgomp.fortran/vla3.f90: New test.
16677 * testsuite/libgomp.fortran/vla4.f90: New test.
16678 * testsuite/libgomp.fortran/vla5.f90: New test.
16679 * testsuite/libgomp.fortran/vla6.f90: New test.
16680
16681 2005-11-01 Jakub Jelinek <jakub (a] redhat.com>
16682
16683 * config/linux/sparc/futex.h: New file.
16684 * configure.tgt: Use it.
16685 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
16686
16687 * critical.c: Include stdlib.h.
16688 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
16689 ignoring return value.
16690 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
16691 LIBGOMP_CHECK_SYNC_BUILTINS check.
16692 * configure: Rebuilt.
16693
16694 2005-10-31 Jakub Jelinek <jakub (a] redhat.com>
16695
16696 * testsuite/libgomp.fortran/vla1.f90: New test.
16697
16698 2005-10-31 Richard Henderson <rth (a] redhat.com>
16699
16700 * testsuite/libgomp.fortran/character2.f90: Fix race condition
16701 setting 's' in different threads.
16702
16703 2005-10-31 Jakub Jelinek <jakub (a] redhat.com>
16704
16705 * libgomp.h (attribute_hidden, ialias): Define.
16706 * config/posix/proc.c (omp_get_num_procs): Add ialias.
16707 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
16708 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
16709 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16710 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16711 omp_test_lock, omp_test_nest_lock): Likewise.
16712 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
16713 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16714 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16715 omp_test_lock, omp_test_nest_lock): Likewise.
16716 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
16717 omp_get_dynamic, omp_get_nested): Likewise.
16718 * parallel.c (omp_get_num_threads, omp_get_max_threads,
16719 omp_get_thread_num, omp_in_parallel): Likewise.
16720 * fortran.c (ialias_redirect): Define.
16721 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
16722 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
16723 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
16724 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
16725 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
16726 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
16727 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
16728 omp_get_wtime): Add ialias_redirect.
16729
16730 2005-10-30 Jakub Jelinek <jakub (a] redhat.com>
16731
16732 * fortran.c: Include stdlib.h.
16733
16734 2005-10-29 Jakub Jelinek <jakub (a] redhat.com>
16735
16736 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
16737 * Makefile.in: Regenerated.
16738
16739 2005-10-28 Jakub Jelinek <jakub (a] redhat.com>
16740
16741 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
16742 * libgomp_f.h.in (omp_check_defines): New function.
16743 * env.c: Include libgomp_f.h.
16744 (initialize_env): Call omp_check_defines.
16745
16746 * testsuite/libgomp.dg/copyin-2.c: New test.
16747 * testsuite/libgomp.c++/copyin-2.C: New test.
16748 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
16749
16750 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
16751 * testsuite/libgomp.fortran/sharing2.f90: New test.
16752
16753 * testsuite/libgomp.dg/copyin-1.c: New test.
16754 * testsuite/libgomp.c++/copyin-1.C: New test.
16755
16756 2005-10-26 Jakub Jelinek <jakub (a] redhat.com>
16757
16758 * testsuite/libgomp.fortran/crayptr1.f90: New test.
16759
16760 * testsuite/libgomp.fortran/workshare1.f90: New test.
16761
16762 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
16763 only test.
16764 * libgomp.fortran/sharing1.f90: New test.
16765
16766 2005-10-24 Jakub Jelinek <jakub (a] redhat.com>
16767
16768 PR c++/24502
16769 * testsuite/libgomp.c++/loop-7.C: New test.
16770
16771 * testsuite/libgomp.dg/nestedfn-2.c: New test.
16772
16773 * testsuite/libgomp.dg/nestedfn-1.c: New test.
16774 * testsuite/libgomp.fortran/reduction6.f90: New test.
16775 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
16776
16777 2005-10-23 Richard Henderson <rth (a] redhat.com>
16778
16779 * testsuite/libgomp.c++/ctor-1.C: New.
16780 * testsuite/libgomp.c++/ctor-2.C: New.
16781 * testsuite/libgomp.c++/ctor-3.C: New.
16782 * testsuite/libgomp.c++/ctor-4.C: New.
16783 * testsuite/libgomp.c++/ctor-5.C: New.
16784 * testsuite/libgomp.c++/ctor-6.C: New.
16785 * testsuite/libgomp.c++/ctor-7.C: New.
16786 * testsuite/libgomp.c++/ctor-8.C: New.
16787 * testsuite/libgomp.c++/ctor-9.C: New.
16788
16789 2005-10-21 Diego Novillo <dnovillo (a] redhat.com>
16790
16791 PR 24455
16792 * testsuite/libgomp.c++/pr24455-1.C: New test.
16793 * testsuite/libgomp.c++/pr24455.C: New test.
16794 * testsuite/libgomp.dg/pr24455-1.c: New test.
16795 * testsuite/libgomp.dg/pr24455.c: New test.
16796
16797 2005-10-20 Richard Henderson <rth (a] redhat.com>
16798
16799 * testsuite/libgomp.c++/loop-6.C: New.
16800 * testsuite/libgomp.dg/loop-3.c: New.
16801
16802 2005-10-20 Jakub Jelinek <jakub (a] redhat.com>
16803
16804 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
16805 explicitly private.
16806 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
16807 explicitly shared.
16808
16809 2005-10-19 Diego Novillo <dnovillo (a] redhat.com>
16810
16811 * testsuite/libgomp.fortran/jacobi.f: New test.
16812
16813 2005-10-19 Richard Henderson <rth (a] redhat.com>
16814
16815 * configure.tgt (i?86-linux): Default to with_arch instead of
16816 CFLAGS. Add -mtune to match target_cpu.
16817 (x86_64-linux): Tune to i686.
16818
16819 * fortran.c (omp_test_nest_lock_): Fix typo.
16820
16821 2005-10-19 Jakub Jelinek <jakub (a] redhat.com>
16822
16823 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16824 gomp_ordered_sync): Do nothing if team->nthreads == 1.
16825 * testsuite/libgomp.dg/ordered-3.c: New test.
16826
16827 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
16828 Remove volatile keyword.
16829
16830 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
16831 in COMMON block to avoid warnings on 64-bit targets.
16832
16833 2005-10-18 Diego Novillo <dnovillo (a] redhat.com>
16834
16835 * testsuite/libgomp.dg/shared-3.c: New test.
16836
16837 2005-10-18 Jakub Jelinek <jakub (a] redhat.com>
16838
16839 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
16840 * testsuite/libgomp.fortran/reduction5.f90: New test.
16841
16842 2005-10-18 Jakub Jelinek <jakub (a] redhat.com>
16843
16844 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
16845 dg-options.
16846 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
16847 flush loop now that __sync_synchronize has proper memory barrier.
16848 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
16849 Add -ffixed-form to dg-options.
16850
16851 2005-10-17 Diego Novillo <dnovillo (a] redhat.com>
16852
16853 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
16854 from subdirectories.
16855 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
16856 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
16857 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
16858 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
16859 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
16860 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
16861 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
16862 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
16863 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
16864 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
16865 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
16866 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
16867 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
16868 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
16869 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
16870 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
16871 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
16872 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
16873 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
16874 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
16875 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
16876 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
16877 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
16878 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
16879 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
16880
16881 2005-10-17 Jakub Jelinek <jakub (a] redhat.com>
16882
16883 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
16884 lang_library_path exists. Use find instead of glob to gather tests.
16885 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
16886
16887 2005-10-17 Diego Novillo <dnovillo (a] redhat.com>
16888
16889 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
16890 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
16891 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
16892 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
16893 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
16894 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
16895 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
16896 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
16897 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
16898 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
16899 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
16900 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
16901 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
16902
16903 2005-10-15 Jakub Jelinek <jakub (a] redhat.com>
16904
16905 * testsuite/libgomp.dg/vla-1.c: New test.
16906
16907 * testsuite/libgomp.fortran/reference2.f90: New test.
16908
16909 * testsuite/libgomp.fortran/character2.f90: Remove explicit
16910 declaration of omp_get_thread_num.
16911 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
16912 use omp_lib.
16913
16914 * testsuite/libgomp.fortran/reduction1.f90: New test.
16915 * testsuite/libgomp.fortran/reduction2.f90: New test.
16916 * testsuite/libgomp.fortran/reduction3.f90: New test.
16917 * testsuite/libgomp.fortran/reduction4.f90: New test.
16918
16919 2005-10-13 Richard Henderson <rth (a] redhat.com>
16920
16921 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
16922 * Makefile.in: Regenerate.
16923 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
16924 * libgomp.h: Include bar.h.
16925 (struct gomp_barrier): Remove.
16926 (struct gomp_team): Add barrier. Replace master_barrier with
16927 master_release. Replace threads with ordered_release.
16928 (struct gomp_thread): Replace barrier with release.
16929 * ordered.c (gomp_ordered_first): Update for ordered_release change.
16930 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
16931 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
16932 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
16933 (GOMP_single_copy_end): Likewise.
16934 * team.c (gomp_threads_dock): New.
16935 (gomp_barrier_init, gomp_barrier_destroy): Remove.
16936 (gomp_thread_start): Use gomp_barrier_wait.
16937 (new_team, free_team): Update for gomp_team changes.
16938 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
16939 (gomp_team_end): Use gomp_barrier_wait.
16940 (initialize_team): Update for gomp_thread changes.
16941 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
16942 (gomp_work_share_end_nowait): Use atomic ops when available.
16943 * config/linux/bar.c, config/linux/bar.h: New files.
16944 * config/posix/bar.c, config/posix/bar.h: New files.
16945
16946 2005-10-13 Jakub Jelinek <jakub (a] redhat.com>
16947
16948 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
16949 * testsuite/libgomp.dg/single-2.c: New test.
16950
16951 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
16952 lang_link_flags): Unset, so that they aren't inherited from previously
16953 sourced *.exp.
16954
16955 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
16956
16957 2005-10-12 Richard Henderson <rth (a] redhat.com>
16958
16959 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
16960 (libgomp_init): Use lang_test_file, lang_library_path, and
16961 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
16962
16963 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
16964 (lang_test_file, lang_link_flags): New.
16965 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
16966
16967 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
16968 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
16969 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
16970 testsuite/libgomp.c++/parallel-1.C,
16971 testsuite/libgomp.c++/reduction-1.C,
16972 testsuite/libgomp.c++/reduction-2.C,
16973 testsuite/libgomp.c++/reduction-3.C,
16974 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
16975 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
16976 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
16977 New files, largely cribbed from the C testsuite.
16978
16979 2005-10-12 Jakub Jelinek <jakub (a] redhat.com>
16980
16981 * testsuite/libgomp.fortran/character1.f90: New test.
16982 * testsuite/libgomp.fortran/character2.f90: New test.
16983
16984 * testsuite/libgomp.dg/nested-1.c: New test.
16985 * testsuite/libgomp.dg/nested-2.c: New test.
16986 * testsuite/libgomp.fortran/do1.f90: New test.
16987 * testsuite/libgomp.fortran/do2.f90: New test.
16988
16989 * testsuite/libgomp.fortran/reference1.f90: New test.
16990
16991 2005-10-11 Jakub Jelinek <jakub (a] redhat.com>
16992
16993 * testsuite/libgomp.dg/reduction-1.c: New test.
16994 * testsuite/libgomp.dg/reduction-2.c: New test.
16995 * testsuite/libgomp.dg/reduction-3.c: New test.
16996
16997 2005-10-10 Jakub Jelinek <jakub (a] redhat.com>
16998
16999 * testsuite/libgomp.dg/atomic-1.c: New test.
17000 * testsuite/libgomp.dg/atomic-2.c: New test.
17001
17002 2005-10-09 Richard Henderson <rth (a] redhat.com>
17003
17004 * critical.c (atomic_lock): New.
17005 (initialize_critical): Initialize it.
17006 (GOMP_atomic_start, GOMP_atomic_end): New.
17007 * libgomp.map: Export them.
17008 * libgomp_g.h: Declare them.
17009
17010 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
17011
17012 2005-10-02 Richard Henderson <rth (a] redhat.com>
17013
17014 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
17015 to XCFLAGS instead of CFLAGS.
17016
17017 2005-09-30 Richard Henderson <rth (a] redhat.com>
17018
17019 * configure.ac: Determine whether -pthread or -lpthread is needed.
17020 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
17021 * Makefile.in, configure: Rebuild.
17022
17023 2005-09-28 Richard Henderson <rth (a] redhat.com>
17024
17025 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
17026 * testsuite/libgomp.dg/omp-single-3.c: New test.
17027
17028 2005-09-28 Diego Novillo <dnovillo (a] redhat.com>
17029
17030 * testsuite/libgomp.dg/omp-single-2.c: New test.
17031 * testsuite/libgomp.dg/shared-2.c: Fix return code.
17032
17033 2005-09-27 Richard Henderson <rth (a] redhat.com>
17034
17035 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
17036 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
17037
17038 2005-09-27 Jakub Jelinek <jakub (a] redhat.com>
17039
17040 * testsuite/libgomp.dg/omp-loop03.c: New test.
17041
17042 2005-09-27 Diego Novillo <dnovillo (a] redhat.com>
17043
17044 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
17045
17046 2005-09-27 Diego Novillo <dnovillo (a] redhat.com>
17047
17048 * testsuite/libgomp.dg/omp-single-1.c: New test.
17049 * testsuite/libgomp.dg/shared-1.c: Return 0.
17050 Add prototype for abort.
17051 * testsuite/libgomp.dg/shared-2.c: Likewise.
17052
17053 2005-09-26 Jakub Jelinek <jakub (a] redhat.com>
17054
17055 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
17056 constructs.
17057
17058 2005-09-26 Diego Novillo <dnovillo (a] redhat.com>
17059
17060 * testsuite/libgomp.dg/shared-1.c: New test.
17061 * testsuite/libgomp.dg/shared-2.c: New test.
17062
17063 2005-09-24 Richard Henderson <rth (a] redhat.com>
17064
17065 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
17066
17067 2005-09-24 Richard Henderson <rth (a] redhat.com>
17068
17069 * iter.c (gomp_iter_static_next): Round up when computing number
17070 of iterations. Don't bother distributing a remainder equally.
17071
17072 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
17073 Don't call srand. Zero b before testing.
17074 (main): New.
17075
17076 2005-09-24 Jakub Jelinek <jakub (a] redhat.com>
17077
17078 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
17079 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
17080
17081 2005-09-23 Jakub Jelinek <jakub (a] redhat.com>
17082
17083 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
17084 without !$omp end do, followed immediately by subroutine end.
17085
17086 2005-09-23 Diego Novillo <dnovillo (a] redhat.com>
17087
17088 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
17089
17090 2005-09-22 Richard Henderson <rth (a] redhat.com>
17091
17092 * critical.c (GOMP_critical_name_start): Change argument to void**.
17093 Reuse the pointer space if the mutex fits.
17094 (GOMP_critical_name_end): Likewise.
17095 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
17096 * libgomp_g.h (GOMP_critical_name_start): Update decl.
17097 (GOMP_critical_name_end): Likewise.
17098 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
17099 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
17100
17101 2005-09-20 Richard Henderson <rth (a] redhat.com>
17102
17103 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
17104 (create_lock_lock): New.
17105 (initialize_critical): Initialize it.
17106 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
17107 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
17108
17109 2005-09-20 Diego Novillo <dnovillo (a] redhat.com>
17110
17111 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
17112
17113 2005-09-20 Diego Novillo <dnovillo (a] redhat.com>
17114
17115 * testsuite/libgomp.dg/omp-loop01.c: New test.
17116 * testsuite/libgomp.dg/omp-loop02.c: New test.
17117
17118 2005-09-20 Jakub Jelinek <jakub (a] redhat.com>
17119
17120 * configure.ac (AC_PROG_FC): Add.
17121 (USE_FORTRAN): New automake conditional.
17122 * configure: Rebuilt.
17123 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
17124 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
17125 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
17126 Add rules to build them.
17127 * Makefile.in: Rebuilt.
17128 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
17129 OMP_NEST_LOCK_KIND.
17130 * libgomp.map: Add Fortran wrappers.
17131 * libgomp_f.h.in: New file.
17132 * omp_lib.h.in: New file.
17133 * omp_lib.f90.in: New file.
17134 * fortran.c: New file.
17135 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
17136 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
17137 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
17138 libgfortran has been built.
17139 * testsuite/libgomp.fortran/fortran.exp: New file.
17140 * testsuite/libgomp.fortran/omp_cond1.f: New test.
17141 * testsuite/libgomp.fortran/omp_cond2.f: New test.
17142 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
17143 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
17144 * testsuite/libgomp.fortran/omp_hello.f: New test.
17145 * testsuite/libgomp.fortran/omp_orphan.f: New test.
17146 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
17147 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
17148 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
17149 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
17150 * testsuite/libgomp.fortran/omp_reduction.f: New test.
17151 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
17152 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
17153
17154 2005-08-30 Richard Henderson <rth (a] redhat.com>
17155
17156 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
17157 function for when aliases are not usable.
17158 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
17159 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17160 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
17161 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
17162 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
17163 GOMP_loop_ordered_guided_next): Likewise.
17164 * ordered.c (GOMP_ordered_start): Likewise.
17165
17166 2005-08-01 Diego Novillo <dnovillo (a] redhat.com>
17167
17168 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
17169 * testsuite/libgomp.dg/omp_hello.c: Fix return code
17170 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
17171 * testsuite/libgomp.dg/omp_orphan.c: Likewise
17172 * testsuite/libgomp.dg/omp_reduction.c: Likewise
17173 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
17174 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
17175 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
17176 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
17177
17178 2005-07-07 Eric Christopher <echristo (a] redhat.com>
17179 Diego Novillo <dnovillo (a] redhat.com>
17180
17181 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
17182 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
17183 up code.
17184 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
17185 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
17186 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
17187 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
17188 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
17189 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
17190 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
17191
17192 2005-06-13 Diego Novillo <dnovillo (a] redhat.com>
17193
17194 * TOPLEVEL.patch: Remove.
17195
17196 2005-05-16 Richard Henderson <rth (a] redhat.com>
17197
17198 * configure.ac: Test for clock_gettime.
17199 * config.h.in, configure: Rebuild.
17200 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
17201 (omp_get_wtime): Use clock_gettime if available.
17202 (omp_get_wtick): Use clock_getres if available.
17203
17204 2005-05-11 Richard Henderson <rth (a] redhat.com>
17205
17206 * config/linux/ia64/futex.h: New file.
17207 * configure.tgt: Use it.
17208
17209 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
17210
17211 2005-05-07 Richard Henderson <rth (a] redhat.com>
17212
17213 * config/linux/powerpc/futex.h: New file.
17214 * configure.tgt: Use it.
17215
17216 * config/linux/i486/futex.h: Merge ...
17217 * config/linux/x86_64/futex.h: ... into ...
17218 * config/linux/x86/futex.h: ... here.
17219 * configure.tgt: Update to match.
17220
17221 2005-05-06 Richard Henderson <rth (a] redhat.com>
17222
17223 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
17224 * config/linux/i486/futex.h: Likewise.
17225 * config/linux/x86_64/futex.h: Likewise.
17226
17227 * config/linux/lock.c: New file.
17228 * config/linux/omp-lock.h: New file.
17229
17230 * critical.c, env.h: Don't include omp.h
17231 * config/posix/lock.c: Include libgomp.h instead of omp.h.
17232 * config/posix/time.c: Likewise.
17233 * config/posix/omp-lock.h: New file.
17234 * libgomp.h: Include omp-lock.h and omp.h.
17235 * Makefile.am (nodist_include_HEADERS): New.
17236 (omp.h): New rule.
17237 * configure.ac (PERL): New.
17238 * mkomp_h.pl: New file.
17239 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
17240 with templates.
17241 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
17242
17243 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
17244 build directory. Re-add -march=i486 hack.
17245
17246 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
17247 (libgomp_link_flags): Remove.
17248 (libgomp_initialized): Remove.
17249 (libgomp_init): Don't protect from reinitialization. Copy code
17250 from libstdc++ for getting the multilib set correctly.
17251
17252 2005-05-05 Richard Henderson <rth (a] redhat.com>
17253
17254 * config/linux/alpha/futex.h: New file.
17255 * configure.tgt (alpha*-*-linux*): Use it.
17256
17257 * config/posix/mutex.c: New file.
17258 * config/posix/sem.c: Use libgomp.h.
17259
17260 * configure.tgt (x86_64-linux): Also test CC for -m32.
17261 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
17262
17263 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
17264 after $gccpath.
17265
17266 * Makefile.am (SUBDIRS): New.
17267 (libgomp_la_LDFLAGS): Add -lpthread.
17268 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
17269 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
17270
17271 * libgomp_g.h: New file.
17272 * libgomp.h: Split out all public declarations to libgomp_g.h.
17273 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
17274 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
17275 * config/linux/sem.h: Likewise.
17276 * config/posix/sem.h: Likewise.
17277
17278 * Makefile.am (AM_LDFLAGS): New.
17279 (libgomp_version_script): Split out from ...
17280 (libgomp_la_LDFLAGS): ... here.
17281 (libgomp_version_info): New.
17282 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
17283 (LIBGOMP_ENABLE): New.
17284 (LIBGOMP_CHECK_LINKER_FEATURES): New.
17285 (LIBGOMP_ENABLE_SYMVERS): New.
17286 * configure.ac (AC_INIT): Version 1.0.
17287 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
17288 (enable-linux-futex): Likewise. Rename from enable-futex.
17289 (libtool_VERSION): New.
17290 (LIBGOMP_ENABLE_SYMVERS): Use it.
17291 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
17292 * Makefile.in, aclocal.m4, configure: Rebuild.
17293
17294 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
17295 (gomp_mutex_unlock_slow): Fix typo.
17296 * config/linux/sem.c: Similarly.
17297 (gomp_sem_post_slow): Fix typo.
17298 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
17299 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
17300 [__PIC__] (sys_futex0): Don't use tmp output in asm.
17301
17302 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
17303 (libgomp_la_LDFLAGS): Add top_srcdir to path.
17304 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
17305 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
17306 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
17307 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
17308 LDFLAGS. Pull enable_futex check to top-level.
17309 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
17310 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
17311
17312 First attempt at real configury.
17313 * Makefile, config.h: Remove file.
17314 * Makefile.am, Makefile.in: New file.
17315 * acinclude.m4 aclocal.m4: New file.
17316 * configure.ac, configure.tgt, configure: New file.
17317
17318 * config/posix/lock.c: Rename from sys-lock.c.
17319 * config/posix/mutex.h: Rename from sys-mutex.h.
17320 * config/posix/sem.c: Rename from sys-sem.c.
17321 * config/posix/sem.h: Rename from sys-sem.h.
17322 * config/posix/proc.c: Rename from sys-proc.c.
17323 * config/posix/time.c: Rename from sys-proc.c.
17324
17325 * config/linux/mutex.c: New file.
17326 * config/linux/mutex.h: New file.
17327 * config/linux/sem.c: New file.
17328 * config/linux/sem.h: New file.
17329 * config/linux/i486/futex.h: New file.
17330 * config/linux/x86_64/futex.h: New file.
17331
17332 2005-05-04 Richard Henderson <rth (a] redhat.com>
17333
17334 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
17335 * libgomp.h: Declare them.
17336 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
17337 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
17338
17339 2005-05-04 Richard Henderson <rth (a] redhat.com>
17340
17341 * libgomp-1 code drop
17342
17343 2005-05-04 Richard Henderson <rth (a] redhat.com>
17344
17345 * iter.c (gomp_iter_static_next): Return tri-state on 0.
17346 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
17347 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
17348 (gomp_iter_static_next): Update.
17349 (gomp_ordered_static_next): Update.
17350 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
17351 (gomp_loop_ordered_static_start): Likewise. Exit early for a
17352 totally empty range.
17353 (gomp_loop_ordered_static_next): Refine test for calling
17354 gomp_ordered_static_next.
17355 * testsuite/ordered-1.c: Add case for more threads than iterations.
17356
17357 * iter.c (gomp_iter_runtime_next_locked): Remove.
17358 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
17359 gomp_loop_guided_start, gomp_loop_ordered_static_start,
17360 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
17361 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
17362 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
17363 gomp_loop_ordered_guided_next): Downcase name, make static, add
17364 an external alias with the old name.
17365 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
17366 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
17367 switch and call one of the above static functions.
17368 * libgomp.h: Update.
17369
17370 * work.c (gomp_work_share_start): Lock the mutex for !first too.
17371 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
17372 GOMP_loop_guided_start, GOMP_loop_runtime_start,
17373 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17374 GOMP_loop_ordered_guided_start): Update to match.
17375 * sections.c (GOMP_sections_start): Likewise.
17376 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
17377
17378 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17379 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
17380 Use bounds check instead of modulus.
17381 (gomp_ordered_sync): Split out of GOMP_ordered_start.
17382 (gomp_ordered_last): Don't sync with ordered_owner here.
17383 (gomp_ordered_next): Likewise.
17384 (gomp_ordered_static_loop_next): Likewise.
17385 * loop.c, libgomp.h: Update to match.
17386
17387 * libgomp.h (GOMP_barrier): Declare.
17388
17389 * testsuite/barrier-1.c: New file.
17390 * testsuite/critical-1.c: New file.
17391 * testsuite/ordered-2.c: New file.
17392 * testsuite/ordered-1.c: New file.
17393 * testsuite/sections-1.c: New file.
17394 * testsuite/single-1.c: New file.
17395 * testsuite/Makefile (TESTS): Add them.
17396
17397 2005-05-04 Richard Henderson <rth (a] redhat.com>
17398
17399 * libgomp.h (struct gomp_work_share): Add ordered_owner.
17400 * loop.c (GOMP_loop_static_start): If not the startup thread,
17401 acquire the mutex to wait for initialization complete.
17402 (GOMP_loop_ordered_static_start): Likewise.
17403 (GOMP_loop_ordered_runtime_start): Likewise.
17404 (GOMP_loop_ordered_static_first): Remove.
17405 (GOMP_loop_ordered_dynamic_first): Remove.
17406 (GOMP_loop_ordered_guided_first): Remove.
17407 (GOMP_loop_ordered_runtime_first): Remove.
17408 * ordered.c (gomp_ordered_loop_first): Post to own release when
17409 we're the first thread.
17410 (gomp_ordered_loop_last): Wait on release if not owner.
17411 (gomp_ordered_loop_next): Likewise.
17412 (gomp_ordered_static_loop_init): New.
17413 (gomp_ordered_static_loop_next): Use ordered_owner.
17414 (GOMP_ordered_start): Likewise.
17415 * work.c (gomp_new_work_share): Initialize ordered_owner.
17416
17417 2005-05-03 Richard Henderson <rth (a] redhat.com>
17418
17419 * Makefile (OPT): New.
17420 (CFLAGS): Use it.
17421
17422 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
17423 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
17424 * libgomp.h, libgomp.map, NOTES: Update to match.
17425
17426 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
17427 Add initialized and thr members.
17428 (gomp_thread_start): Pause when initially spawned to wait for
17429 the whole team to be created.
17430 (gomp_team_start): Release team members at the end.
17431
17432 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
17433 (f_foo_1): Use GOMP_loop_end.
17434 (f_foo_2): Use GOMP_loop_end_nowait.
17435
17436 * testsuite/loop-2.c: New file.
17437 * testsuite/Makefile (TESTS): Add it.
17438
17439 2005-05-03 Richard Henderson <rth (a] redhat.com>
17440
17441 * iter.c (gomp_iter_static_next): Fix overflow check typo.
17442 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
17443 * team.c (new_team): Initialize oldest_live_gen to 1 if no
17444 initial work_share.
17445
17446 * testsuite/Makefile: New file.
17447 * testsuite/loop-1.c: New file.
17448
17449 2005-05-03 Richard Henderson <rth (a] redhat.com>
17450
17451 Initial implementation and checkin.
17452
17454 Copyright (C) 2005-2022 Free Software Foundation, Inc.
17455
17456 Copying and distribution of this file, with or without modification,
17457 are permitted in any medium without royalty provided the copyright
17458 notice and this notice are preserved.
17459