ChangeLog revision 1.1.1.23 1 2025-07-11 Release Manager
2
3 * GCC 12.5.0 released.
4
5 2024-08-05 Paul Thomas <pault (a] gcc.gnu.org>
6
7 Backported from master:
8 2024-07-19 Paul Thomas <pault (a] gcc.gnu.org>
9
10 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Cut
11 dg-note about 'a' and remove bogus warnings about its array
12 descriptor components being used uninitialized.
13
14 2024-06-20 Release Manager
15
16 * GCC 12.4.0 released.
17
18 2024-06-11 Jakub Jelinek <jakub (a] redhat.com>
19
20 Backported from master:
21 2024-04-05 Jakub Jelinek <jakub (a] redhat.com>
22
23 PR c++/114572
24 * testsuite/libgomp.c++/pr114572.C: New test.
25
26 2024-06-11 Jakub Jelinek <jakub (a] redhat.com>
27
28 Backported from master:
29 2024-01-10 Jakub Jelinek <jakub (a] redhat.com>
30
31 PR libgomp/113192
32 * configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock
33 instead of \$(abs_top_srcdir)/testsuite/flock.
34 * configure: Regenerated.
35
36 2023-09-01 Tobias Burnus <tobias (a] codesourcery.com>
37
38 Backported from master:
39 2023-08-19 Tobias Burnus <tobias (a] codesourcery.com>
40
41 PR middle-end/111017
42 * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
43
44 2023-06-28 Thomas Schwinge <thomas (a] codesourcery.com>
45
46 Backported from master:
47 2023-06-02 Thomas Schwinge <thomas (a] codesourcery.com>
48
49 PR testsuite/66005
50 * testsuite/lib/libgomp.exp: 'flock' through stdout.
51 * testsuite/flock: New.
52 * configure.ac (FLOCK): Point to that if no 'flock' available, but
53 'perl' is.
54 * configure: Regenerate.
55
56 2023-06-28 Thomas Schwinge <thomas (a] codesourcery.com>
57
58 Backported from master:
59 2023-05-15 Thomas Schwinge <thomas (a] codesourcery.com>
60
61 PR testsuite/66005
62 * configure.ac: Look for 'flock'.
63 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
64 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
65 * testsuite/lib/libgomp.exp: ... but here, instead.
66 (libgomp_load): Override for parallel testing.
67 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
68 * configure: Regenerate.
69 * Makefile.in: Regenerate.
70 * testsuite/Makefile.in: Regenerate.
71
72 2023-06-28 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
73
74 Backported from master:
75 2023-05-15 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
76 Thomas Schwinge <thomas (a] codesourcery.com>
77
78 PR testsuite/66005
79 * testsuite/Makefile.am (PWD_COMMAND): New variable.
80 (%/site.exp): New target.
81 (check_p_numbers0, check_p_numbers1, check_p_numbers2)
82 (check_p_numbers3, check_p_numbers4, check_p_numbers5)
83 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
84 (check_p_subdirs)
85 (check_DEJAGNU_libgomp_targets): New variables.
86 ($(check_DEJAGNU_libgomp_targets)): New target.
87 ($(check_DEJAGNU_libgomp_targets)): New dependency.
88 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
89 * testsuite/Makefile.in: Regenerate.
90 * testsuite/lib/libgomp.exp: For parallel testing,
91 'load_file ../libgomp-test-support.exp'.
92
93 2023-06-28 Thomas Schwinge <thomas (a] codesourcery.com>
94
95 Backported from master:
96 2023-05-08 Thomas Schwinge <thomas (a] codesourcery.com>
97
98 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
99 of 'libstdcxx_includes'.
100 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
101
102 2023-05-08 Release Manager
103
104 * GCC 12.3.0 released.
105
106 2023-03-19 Jakub Jelinek <jakub (a] redhat.com>
107
108 Backported from master:
109 2023-02-16 Jakub Jelinek <jakub (a] redhat.com>
110
111 * libgomp.texi: Fix typos - theads -> threads.
112
113 2023-03-08 Tobias Burnus <tobias (a] codesourcery.com>
114
115 Backported from master:
116 2023-03-01 Tobias Burnus <tobias (a] codesourcery.com>
117
118 PR middle-end/108546
119 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
120 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
121
122 2023-02-10 Jakub Jelinek <jakub (a] redhat.com>
123
124 Backported from master:
125 2023-01-19 Jakub Jelinek <jakub (a] redhat.com>
126
127 PR middle-end/108459
128 * testsuite/libgomp.c/pr108459.c: New test.
129
130 2023-02-10 Jakub Jelinek <jakub (a] redhat.com>
131
132 Backported from master:
133 2023-01-05 Jakub Jelinek <jakub (a] redhat.com>
134
135 PR c++/108286
136 * testsuite/libgomp.c++/pr108286.C: New test.
137
138 2023-02-10 Jakub Jelinek <jakub (a] redhat.com>
139
140 Backported from master:
141 2022-12-21 Jakub Jelinek <jakub (a] redhat.com>
142
143 PR c++/108180
144 * testsuite/libgomp.c++/pr108180.C: New test.
145
146 2023-01-30 Tobias Burnus <tobias (a] codesourcery.com>
147
148 Backported from master:
149 2023-01-27 Tobias Burnus <tobias (a] codesourcery.com>
150
151 PR fortran/108558
152 * testsuite/libgomp.fortran/has_device_addr.f90: New test.
153
154 2022-11-03 Jakub Jelinek <jakub (a] redhat.com>
155
156 Backported from master:
157 2022-10-12 Jakub Jelinek <jakub (a] redhat.com>
158
159 * task.c (gomp_create_artificial_team): Fix up handling of invocations
160 from within explicit task.
161 * target.c (GOMP_target_ext): Likewise.
162 * testsuite/libgomp.c/task-7.c: New test.
163 * testsuite/libgomp.c/task-8.c: New test.
164 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
165 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
166
167 2022-11-03 Jakub Jelinek <jakub (a] redhat.com>
168
169 Backported from master:
170 2022-09-24 Jakub Jelinek <jakub (a] redhat.com>
171
172 PR c/106981
173 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
174
175 2022-10-28 Julian Brown <julian (a] codesourcery.com>
176
177 Backported from master:
178 2022-10-28 Julian Brown <julian (a] codesourcery.com>
179 Thomas Schwinge <thomas (a] codesourcery.com>
180
181 PR middle-end/90115
182 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
183 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
184 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
185 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
186 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
187
188 2022-10-21 Thomas Schwinge <thomas (a] codesourcery.com>
189
190 Backported from master:
191 2022-10-20 Thomas Schwinge <thomas (a] codesourcery.com>
192
193 PR target/105421
194 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
195
196 2022-08-23 Tobias Burnus <tobias (a] codesourcery.com>
197
198 Backported from master:
199 2022-08-17 Tobias Burnus <tobias (a] codesourcery.com>
200
201 PR middle-end/106548
202 * testsuite/libgomp.c/linear-2.c: New test.
203
204 2022-08-19 Release Manager
205
206 * GCC 12.2.0 released.
207
208 2022-08-01 Lewis Hyatt <lhyatt (a] gmail.com>
209
210 Backported from master:
211 2022-07-10 Lewis Hyatt <lhyatt (a] gmail.com>
212
213 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
214 improved warning locations.
215 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
216
217 2022-07-30 Jakub Jelinek <jakub (a] redhat.com>
218
219 Backported from master:
220 2022-07-29 Jakub Jelinek <jakub (a] redhat.com>
221
222 PR middle-end/106449
223 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
224
225 2022-06-28 Jakub Jelinek <jakub (a] redhat.com>
226
227 Backported from master:
228 2022-06-21 Jakub Jelinek <jakub (a] redhat.com>
229 Paul Iannetta <piannetta (a] kalrayinc.com>
230
231 PR libgomp/106045
232 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
233
234 2022-06-28 Martin Liska <mliska (a] suse.cz>
235
236 Backported from master:
237 2022-06-28 Martin Liska <mliska (a] suse.cz>
238
239 * acinclude.m4: Fix typo in mold linker detection.
240 * Makefile.in: Regenerate.
241 * configure: Regenerate.
242
243 2022-05-30 Jakub Jelinek <jakub (a] redhat.com>
244
245 Backported from master:
246 2022-05-28 Jakub Jelinek <jakub (a] redhat.com>
247
248 PR libgomp/105745
249 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
250 defined(HAVE__ALIGNED_MALLOC) case.
251 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
252 handling as last option before fallback instead of first.
253 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
254 _aligned_free.
255
256 2022-05-17 Jakub Jelinek <jakub (a] redhat.com>
257
258 Backported from master:
259 2022-05-17 Jakub Jelinek <jakub (a] redhat.com>
260
261 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
262 comment for omp_display_env feature.
263
264 2022-05-06 Release Manager
265
266 * GCC 12.1.0 released.
267
268 2022-04-28 Thomas Schwinge <thomas (a] codesourcery.com>
269
270 PR fortran/104717
271 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
272 privatization scanning. For GCN offloading compilation, raise
273 '-mgang-private-size'.
274
275 2022-04-26 Jakub Jelinek <jakub (a] redhat.com>
276
277 PR libgomp/105358
278 * work.c (gomp_init_work_share): Don't mask of adjustment for
279 dynamic long long realignment if struct gomp_work_share has smaller
280 alignof than long long.
281 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
282 struct gomp_work_share has smaller alignof than long long or if
283 sizeof (struct gomp_work_share) is smaller than
284 INLINE_ORDERED_TEAM_IDS_OFF.
285 * loop_ull.c (GOMP_loop_ull_start): Likewise.
286 * sections.c (GOMP_sections2_start): Likewise.
287
288 2022-04-25 Jakub Jelinek <jakub (a] redhat.com>
289 Thomas Schwinge <thomas (a] codesourcery.com>
290
291 PR fortran/104717
292 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
293
294 2022-04-13 Jakub Jelinek <jakub (a] redhat.com>
295
296 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
297
298 2022-04-06 Thomas Schwinge <thomas (a] codesourcery.com>
299
300 * plugin/cuda/cuda.h: Remove file.
301 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
302 "cuda/cuda.h" instead of <cuda.h>.
303 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
304 'PLUGIN_NVPTX_CPPFLAGS'.
305 * configure: Regenerate.
306
307 2022-04-05 Chung-Lin Tang <cltang (a] codesourcery.com>
308
309 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
310
311 2022-04-04 Tom de Vries <tdevries (a] suse.de>
312
313 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
314 on_device_arch_nvptx instead of offload_target_nvptx.
315 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
316
317 2022-04-01 Tom de Vries <tdevries (a] suse.de>
318
319 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
320 and use REC_DEPTH.
321 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
322
323 2022-04-01 Tom de Vries <tdevries (a] suse.de>
324
325 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
326 num_workers check.
327
328 2022-03-29 Chenghua Xu <xuchenghua (a] loongson.cn>
329 Lulu Cheng <chenglulu (a] loongson.cn>
330
331 * configure.tgt: Add LoongArch triplet.
332
333 2022-03-28 Tom de Vries <tdevries (a] suse.de>
334
335 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
336 instead of /libexec/.
337 * configure: Regenerate.
338
339 2022-03-25 Tom de Vries <tdevries (a] suse.de>
340
341 PR libgomp/105042
342 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
343 execution time.
344 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
345 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
346
347 2022-03-23 Tobias Burnus <tobias (a] codesourcery.com>
348
349 PR middle-end/104285
350 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
351 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
352 * testsuite/libgomp.c++/target-same-name-2.C: New test.
353 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
354 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
355 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
356
357 2022-03-22 Tom de Vries <tdevries (a] suse.de>
358
359 PR target/104916
360 PR target/104783
361 * testsuite/libgomp.c/pr104783-2.c: New test.
362
363 2022-03-18 Tobias Burnus <tobias (a] codesourcery.com>
364
365 PR fortran/103039
366 * testsuite/libgomp.fortran/associate4.f90: New test.
367
368 2022-03-18 Tom de Vries <tdevries (a] suse.de>
369
370 PR target/104952
371 * testsuite/libgomp.c/pr104952-1.c: New test.
372 * testsuite/libgomp.c/pr104952-2.c: New test.
373
374 2022-03-18 Jakub Jelinek <jakub (a] redhat.com>
375
376 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
377 variable next to pl variable.
378
379 2022-03-17 Thomas Schwinge <thomas (a] codesourcery.com>
380
381 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
382 Enhance.
383 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
384 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
385
386 2022-03-17 Thomas Schwinge <thomas (a] codesourcery.com>
387
388 PR middle-end/90115
389 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
390 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
391
392 2022-03-16 Marcel Vollweiler <marcel (a] codesourcery.com>
393
394 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
395 omp_set_max_active_levels.
396 * testsuite/libgomp.fortran/icv-8.f90: New test.
397
398 2022-03-16 Thomas Schwinge <thomas (a] codesourcery.com>
399
400 PR testsuite/102841
401 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
402
403 2022-03-13 Tobias Burnus <tobias (a] codesourcery.com>
404
405 * libgomp.texi: Fix typo.
406
407 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com>
408
409 PR middle-end/100280
410 PR middle-end/104892
411 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
412 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
413 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
414 Likewise.
415 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
416 Likewise.
417 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
418 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: 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/104892
425 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
426 to PR104892.
427 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
428 enable '--param=openacc-kernels=decompose' and adjust.
429 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
430 Likewise.
431 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
432 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
433 Likewise.
434
435 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com>
436
437 PR middle-end/90115
438 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
439 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
440 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
441 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
442
443 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com>
444
445 PR middle-end/100280
446 PR middle-end/104086
447 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
448 Merge this...
449 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
450 ..., and this...
451 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
452 this, and adjust.
453 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
454 Extend.
455
456 2022-03-10 Hafiz Abid Qadeer <abidh (a] codesourcery.com>
457
458 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
459 trait. Test last index in w and v array. Remove redundant
460 assignment to V(1). Move alignment checks at the end of
461 parallel region.
462
463 2022-03-10 Tom de Vries <tdevries (a] suse.de>
464
465 * testsuite/libgomp.c/pr104783.c: New test.
466
467 2022-03-10 Thomas Schwinge <thomas (a] codesourcery.com>
468
469 PR middle-end/90115
470 PR middle-end/102330
471 PR middle-end/104774
472 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
473 Enhance.
474 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
475 Adjust.
476 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
477 Likewise.
478 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
479 Likewise.
480 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
481 Likewise.
482 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
483 Likewise.
484 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
485 Likewise.
486 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
487 Likewise.
488 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
489 Likewise.
490 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
491 Likewise.
492 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
493 Likewise.
494 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
495 Likewise.
496 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
497 Likewise.
498 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
499 Likewise.
500 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
501 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
502 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
503
504 2022-03-10 Thomas Schwinge <thomas (a] codesourcery.com>
505
506 PR middle-end/90115
507 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
508 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
509 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
510 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
511
512 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
513
514 PR testsuite/104791
515 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
516 expected diagnostics.
517
518 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
519
520 PR middle-end/104784
521 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
522 Test with '--param=openacc-kernels=decompose'.
523 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
524 Likewise.
525 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
526 Likewise.
527 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
528 Likewise.
529 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
530 Likewise.
531 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
532 Likewise.
533 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
534 Likewise.
535 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
536 Likewise.
537 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
538 Likewise.
539 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
540 Likewise.
541 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
542 Likewise.
543 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
544 Likewise.
545 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
546 Likewise.
547 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
548 Likewise.
549 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
550 Likewise.
551 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
552 Likewise.
553 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
554 Likewise.
555 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
556 Likewise.
557 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
558 Likewise.
559 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
560 Likewise.
561 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
562 Likewise.
563 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
564 Likewise.
565 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
566 Likewise.
567 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
568 Likewise.
569 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
570 Likewise.
571 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
572 Likewise.
573 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
574 Likewise.
575 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
576 Likewise.
577 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
578 Likewise.
579 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
580 Likewise.
581 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
582 Likewise.
583 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
584 Likewise.
585 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
586 Likewise.
587
588 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
589
590 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
591 Test '-fopt-info-omp-all'.
592 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
593 Likewise.
594 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
595 Likewise.
596 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
597 Likewise.
598 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
599 Likewise.
600 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
601 Likewise.
602 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
603 Likewise.
604 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
605 Likewise.
606 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
607 Likewise.
608 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
609 Likewise.
610 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
611 Likewise.
612 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
613 Likewise.
614 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
615 Likewise.
616 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
617 Likewise.
618 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
619 Likewise.
620 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
621 Likewise.
622 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
623 Likewise.
624 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
625 Likewise.
626 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
627 Likewise.
628 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
629 Likewise.
630 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
631 Likewise.
632 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
633 Likewise.
634 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
635 Likewise.
636 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
637 Likewise.
638 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
639 Likewise.
640 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
641 Likewise.
642 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
643 Likewise.
644 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
645 Likewise.
646 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
647 Likewise.
648 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
649 Likewise.
650 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
651 Likewise.
652 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
653 Likewise.
654 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
655 Likewise.
656
657 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
658
659 PR middle-end/100280
660 PR middle-end/104132
661 PR middle-end/104133
662 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
663 Extend.
664
665 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
666
667 PR middle-end/100280
668 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
669 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
670 Likewise.
671
672 2022-03-04 Thomas Schwinge <thomas (a] codesourcery.com>
673
674 PR middle-end/100280
675 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
676 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
677 Likewise.
678
679 2022-02-28 Tom de Vries <tdevries (a] suse.de>
680
681 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
682 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
683 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
684 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
685 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
686 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
687
688 2022-02-24 Tom de Vries <tdevries (a] suse.de>
689
690 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
691 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
692 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
693 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
694 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
695 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
696 * testsuite/libgomp.c/declare-variant-3.h: New header file.
697
698 2022-02-22 Thomas Schwinge <thomas (a] codesourcery.com>
699
700 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
701 gang-redundant execution.
702
703 2022-02-22 Tom de Vries <tdevries (a] suse.de>
704
705 PR target/99555
706 * config/nvptx/bar.c (generation_to_barrier): New function, copied
707 from config/rtems/bar.c.
708 (futex_wait, futex_wake): New function.
709 (do_spin, do_wait): New function, copied from config/linux/wait.h.
710 (gomp_barrier_wait_end, gomp_barrier_wait_last)
711 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
712 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
713 and replace with include of config/linux/bar.c.
714 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
715 (gomp_barrier_init): Init new fields.
716 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
717 workarounds.
718 * testsuite/libgomp.c/pr99555-1.c: Same.
719 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
720
721 2022-02-22 Tom de Vries <tdevries (a] suse.de>
722
723 PR testsuite/104146
724 * testsuite/libgomp.c++/pr96390.C: Add additional-option
725 -foffload=-Wa,--verify for nvptx.
726 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
727
728 2022-02-15 Tobias Burnus <tobias (a] codesourcery.com>
729
730 * testsuite/libgomp.fortran/depend-4.f90: New test.
731
732 2022-02-10 Tobias Burnus <tobias (a] codesourcery.com>
733
734 PR c++/102204
735 * testsuite/libgomp.c++/target-virtual-1.C: New test.
736
737 2022-02-10 Marcel Vollweiler <marcel (a] codesourcery.com>
738
739 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
740 * target.c (copy_firstprivate_data): Copy only if host address is not
741 NULL.
742 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
743 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
744 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
745 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
746 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
747 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
748 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
749 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
750 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
751 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
752
753 2022-02-08 Jakub Jelinek <jakub (a] redhat.com>
754
755 PR libgomp/104385
756 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
757 clear task->parent.
758 * testsuite/libgomp.c/pr104385.c: New test.
759
760 2022-02-04 Tobias Burnus <tobias (a] codesourcery.com>
761
762 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
763 STOP of previous commit.
764
765 2022-02-04 Tobias Burnus <tobias (a] codesourcery.com>
766
767 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
768 from is_64bit_aligned_.
769 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
770 and use it, more implicit none, remove unused argument.
771
772 2022-02-03 David Seifert <soap (a] gentoo.org>
773 Jakub Jelinek <jakub (a] redhat.com>
774
775 * configure.ac: Support --disable-werror.
776 * configure: Regenerate.
777
778 2022-02-01 Tom de Vries <tdevries (a] suse.de>
779
780 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
781 PR83812 workaround.
782 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
783 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
784
785 2022-02-01 Tom de Vries <tdevries (a] suse.de>
786
787 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
788 num_workers for nvidia accelerator to fix libgomp error 'insufficient
789 resources'.
790 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
791 Same.
792 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
793
794 2022-02-01 Tom de Vries <tdevries (a] suse.de>
795
796 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
797 recursion depth.
798 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
799
800 2022-01-31 Martin Liska <mliska (a] suse.cz>
801
802 * acinclude.m4: Detect *_ld_is_mold and use it.
803 * configure: Regenerate.
804
805 2022-01-27 Tobias Burnus <tobias (a] codesourcery.com>
806
807 * libgomp.texi (OpenMP 5.0): Update implementation status.
808
809 2022-01-21 Thomas Schwinge <thomas (a] codesourcery.com>
810
811 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
812 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
813 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
814 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
815 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
816 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
817 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
818 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
819 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
820 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
821 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
822 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
823 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
824 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
825 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
826
827 2022-01-19 Marcel Vollweiler <marcel (a] codesourcery.com>
828
829 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
830 "static") to make the device num available in the offload image.
831
832 2022-01-19 Martin Liska <mliska (a] suse.cz>
833 Thomas Schwinge <thomas (a] codesourcery.com>
834
835 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
836 patterns.
837 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
838 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
839 Likewise.
840 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
841 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
842 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
843 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
844 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
845 Likewise.
846 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
847 Likewise.
848 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
849 Likewise.
850 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
851 Likewise.
852 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
853 Likewise.
854 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
855 Likewise.
856 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
857 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
858 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
859
860 2022-01-18 Martin Liska <mliska (a] suse.cz>
861
862 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
863 in dg-warning.
864 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
865 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
866 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
867 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
868 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
869 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
870 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
871 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
872 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
873 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
874 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
875 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
876 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
877 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
878 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
879
880 2022-01-17 Thomas Schwinge <thomas (a] codesourcery.com>
881
882 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
883 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
884 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
885
886 2022-01-17 Julian Brown <julian (a] codesourcery.com>
887 Thomas Schwinge <thomas (a] codesourcery.com>
888
889 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
890 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
891 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
892
893 2022-01-16 Kwok Cheung Yeung <kcy (a] codesourcery.com>
894 Andrew Stubbs <ams (a] codesourcery.com>
895
896 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
897 the number of teams and threads if necessary.
898 (gcn_exec): Automatically set the number of gangs and workers if
899 necessary.
900
901 2022-01-13 Hafiz Abid Qadeer <abidh (a] codesourcery.com>
902
903 * testsuite/libgomp.fortran/allocate-1.c: New test.
904 * testsuite/libgomp.fortran/allocate-1.f90: New test.
905 * libgomp.texi: Remove string that says that allocate clause
906 support is for C/C++ only.
907
908 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
909
910 * testsuite/libgomp.c-c++-common/on_device_arch.h
911 (any_device_arch, any_device_arch_intel_mic): New.
912 * testsuite/lib/libgomp.exp
913 (check_effective_target_offload_device_any_intel_mic): New.
914 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
915 * testsuite/libgomp.fortran/target10.f90: Likewise.
916
917 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
918
919 PR tree-optimization/102192
920 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
921 '-Wuninitialized' diagnostics.
922
923 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
924
925 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
926 current '-Wuninitialized' diagnostics.
927 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
928 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
929 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
930 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
931 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
932 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
933 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
934 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
935 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
936 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
937 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
938 Likewise.
939
940 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
941
942 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
943 for 'offload_device_intel_mic'.
944
945 2022-01-13 Julian Brown <julian (a] codesourcery.com>
946 Thomas Schwinge <thomas (a] codesourcery.com>
947
948 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
949 offloading execution XFAIL.
950
951 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
952
953 PR middle-end/100280
954 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
955 Update.
956 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
957 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
958 Likewise.
959
960 2022-01-13 Thomas Schwinge <thomas (a] codesourcery.com>
961
962 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
963 Enhance.
964 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
965 Likewise.
966 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
967 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
968 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
969 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
970 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
971 Likewise.
972 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
973 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
974 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
975 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
976
977 2022-01-04 Tobias Burnus <tobias (a] codesourcery.com>
978
979 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
980 * testsuite/libgomp.fortran/target10.f90: Likewise.
981
982 2022-01-04 Chung-Lin Tang <cltang (a] codesourcery.com>
983
984 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
985 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
986 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
987
988 2022-01-03 Jakub Jelinek <jakub (a] redhat.com>
989
990 * libgomp.texi: Bump @copying's copyright year.
991
992 2021-12-13 Tobias Burnus <tobias (a] codesourcery.com>
993
994 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
995 * testsuite/libgomp.fortran/atomic-19.f90: New test.
996
997 2021-12-10 Andrew Stubbs <ams (a] codesourcery.com>
998
999 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
1000 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
1001 table, not individual symbols.
1002
1003 2021-12-09 Chung-Lin Tang <cltang (a] codesourcery.com>
1004
1005 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
1006 "target offload_device_nonshared_as"
1007 * testsuite/libgomp.c++/target-this-3.C: Likewise.
1008 * testsuite/libgomp.c++/target-this-4.C: Likewise.
1009
1010 2021-12-08 Chung-Lin Tang <cltang (a] codesourcery.com>
1011
1012 * target.c (gomp_map_vars_existing): Make sure attached pointer is
1013 not overwritten during cross-host/device copying.
1014 (gomp_update): Likewise.
1015 (gomp_exit_data): Likewise.
1016 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
1017 * testsuite/libgomp.c++/target-12.C: Likewise.
1018 * testsuite/libgomp.c++/target-15.C: Likewise.
1019 * testsuite/libgomp.c++/target-16.C: Likewise.
1020 * testsuite/libgomp.c++/target-17.C: Likewise.
1021 * testsuite/libgomp.c++/target-21.C: Likewise.
1022 * testsuite/libgomp.c++/target-23.C: Likewise.
1023 * testsuite/libgomp.c/target-23.c: Likewise.
1024 * testsuite/libgomp.c/target-29.c: Likewise.
1025 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
1026
1027 2021-12-08 Chung-Lin Tang <cltang (a] codesourcery.com>
1028
1029 PR middle-end/92120
1030 * libgomp.h (gomp_attach_pointer): Add bool parameter.
1031 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
1032 (goacc_enter_data_internal): Likewise.
1033 * target.c (gomp_map_vars_existing): Update assert condition to
1034 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
1035 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
1036 parameter, add support for mapping a pointer with NULL target.
1037 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
1038 parameter, add support for attaching a pointer with NULL target.
1039 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
1040 gomp_attach_pointer, add handling for
1041 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
1042 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
1043 * testsuite/libgomp.c++/target-23.C: New testcase.
1044 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
1045 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
1046 * testsuite/libgomp.c++/target-this-1.C: New testcase.
1047 * testsuite/libgomp.c++/target-this-2.C: New testcase.
1048 * testsuite/libgomp.c++/target-this-3.C: New testcase.
1049 * testsuite/libgomp.c++/target-this-4.C: New testcase.
1050 * testsuite/libgomp.c++/target-this-5.C: New testcase.
1051
1052 2021-12-04 Tobias Burnus <tobias (a] codesourcery.com>
1053
1054 * libgomp.texi (OpenMP 5.1): Update status.
1055
1056 2021-12-04 Tobias Burnus <tobias (a] codesourcery.com>
1057
1058 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
1059
1060 2021-12-02 Chung-Lin Tang <cltang (a] codesourcery.com>
1061
1062 PR fortran/90030
1063 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
1064 * testsuite/libgomp.fortran/pr90030.f90: New test.
1065
1066 2021-11-30 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1067 Thomas Schwinge <thomas (a] codesourcery.com>
1068
1069 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
1070 temporary skip.
1071
1072 2021-11-30 Cesar Philippidis <cesar (a] codesourcery.com>
1073 Thomas Schwinge <thomas (a] codesourcery.com>
1074
1075 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
1076 skip.
1077
1078 2021-11-29 Richard Biener <rguenther (a] suse.de>
1079
1080 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
1081 return.
1082
1083 2021-11-24 Jakub Jelinek <jakub (a] redhat.com>
1084
1085 PR middle-end/103384
1086 * testsuite/libgomp.c/declare-variant-2.c: New test.
1087
1088 2021-11-18 David Edelsohn <dje.gcc (a] gmail.com>
1089
1090 * alloc.c (gomp_aligned_alloc): Fix typo.
1091
1092 2021-11-18 Jakub Jelinek <jakub (a] redhat.com>
1093
1094 PR libgomp/102838
1095 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
1096 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
1097 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
1098 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1099 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
1100 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
1101 gomp_aligned_alloc instead of team_malloc.
1102
1103 2021-11-18 Jakub Jelinek <jakub (a] redhat.com>
1104
1105 PR libgomp/102838
1106 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
1107 memalign over posix_memalign over aligned_alloc over fallback
1108 with malloc instead of aligned_alloc over _aligned_alloc over
1109 posix_memalign over memalign over fallback with malloc. For
1110 aligned_alloc, round up size up to multiple of al.
1111
1112 2021-11-16 Jakub Jelinek <jakub (a] redhat.com>
1113
1114 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
1115 construct as implemented.
1116
1117 2021-11-15 Tobias Burnus <tobias (a] codesourcery.com>
1118
1119 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
1120
1121 2021-11-15 Jakub Jelinek <jakub (a] redhat.com>
1122
1123 * task.c (gomp_create_target_task): Copy args array as well.
1124 * target.c (gomp_target_fallback): Add args argument.
1125 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
1126 (GOMP_target): Adjust gomp_target_fallback caller.
1127 (GOMP_target_ext): Likewise.
1128 (gomp_target_task_fn): Likewise.
1129 * config/nvptx/team.c (gomp_nvptx_main): Set
1130 gomp_global_icv.thread_limit_var.
1131 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
1132
1133 2021-11-15 Jakub Jelinek <jakub (a] redhat.com>
1134
1135 * config/nvptx/team.c (__gomp_team_num): Define as
1136 __attribute__((shared)) var.
1137 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
1138 * config/nvptx/target.c (__gomp_team_num): Declare as
1139 extern __attribute__((shared)) var.
1140 (GOMP_teams4): Use __gomp_team_num as the team number instead of
1141 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
1142 is bigger than num_blocks, use num_teams_lower teams and arrange for
1143 bumping of __gomp_team_num if !first and returning false once we run
1144 out of teams.
1145 * config/nvptx/teams.c (__gomp_team_num): Declare as
1146 extern __attribute__((shared)) var.
1147 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
1148
1149 2021-11-15 Jakub Jelinek <jakub (a] redhat.com>
1150
1151 * testsuite/libgomp.c/teams-5.c: New test.
1152
1153 2021-11-12 Jakub Jelinek <jakub (a] redhat.com>
1154
1155 PR target/103201
1156 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
1157 to ...
1158 * config/gcn/teams.c: ... here. New file.
1159
1160 2021-11-12 Chung-Lin Tang <cltang (a] codesourcery.com>
1161
1162 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
1163 implicit map handling to allow a "superset" existing map as valid case.
1164 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
1165 (get_implicit): New function to extract implicit status.
1166 (gomp_map_fields_existing): Adjust arguments in calls to
1167 gomp_map_vars_existing, and add uses of get_implicit.
1168 (gomp_map_vars_internal): Likewise.
1169 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
1170
1171 2021-11-12 Jakub Jelinek <jakub (a] redhat.com>
1172
1173 * libgomp_g.h (GOMP_teams4): Declare.
1174 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
1175 * target.c (GOMP_teams4): New function.
1176 * config/nvptx/target.c (GOMP_teams): Remove.
1177 (GOMP_teams4): New function.
1178 * config/gcn/target.c (GOMP_teams): Remove.
1179 (GOMP_teams4): New function.
1180 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
1181 teams instead of <= 2.
1182 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
1183
1184 2021-11-11 Tobias Burnus <tobias (a] codesourcery.com>
1185
1186 * testsuite/libgomp.fortran/teams-1.f90: New test.
1187
1188 2021-11-11 Jakub Jelinek <jakub (a] redhat.com>
1189
1190 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
1191 * team.c (struct gomp_thread_start_data): Likewise.
1192 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
1193 (gomp_team_start): Initialize start_data->num_teams and
1194 start_data->team_num. Update nthr->num_teams and nthr->team_num.
1195 * teams.c (gomp_num_teams, gomp_team_num): Remove.
1196 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
1197 instead of gomp_num_teams and gomp_team_num.
1198 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
1199 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
1200 * testsuite/libgomp.c/teams-4.c: New test.
1201
1202 2021-11-11 Jakub Jelinek <jakub (a] redhat.com>
1203
1204 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
1205
1206 2021-11-09 Thomas Schwinge <thomas (a] codesourcery.com>
1207
1208 * env.c (parse_gomp_openacc_dim): Restore parsing.
1209
1210 2021-10-30 Tobias Burnus <tobias (a] codesourcery.com>
1211
1212 PR middle-end/102972
1213 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
1214 parallel construct.
1215 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
1216 * testsuite/libgomp.c/target-3.c: Likewise.
1217 * testsuite/libgomp.c/target-5.c: Likewise.
1218 * testsuite/libgomp.c/target-6.c: Likewise.
1219 * testsuite/libgomp.c/target-teams-1.c: Likewise.
1220 * testsuite/libgomp.c/teams-1.c: Likewise.
1221 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1222 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
1223 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
1224 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
1225 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
1226 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
1227 * testsuite/libgomp.fortran/teams1.f90: Likewise.
1228
1229 2021-10-29 Aldy Hernandez <aldyh (a] redhat.com>
1230
1231 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
1232 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1233
1234 2021-10-27 Jakub Jelinek <jakub (a] redhat.com>
1235
1236 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
1237 aren't implemented for Fortran yet.
1238
1239 2021-10-27 Jakub Jelinek <jakub (a] redhat.com>
1240
1241 * testsuite/libgomp.c/loop-26.c: New test.
1242 * testsuite/libgomp.c/loop-27.c: New test.
1243
1244 2021-10-25 Tobias Burnus <tobias (a] codesourcery.com>
1245
1246 PR testsuite/102910
1247 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
1248 instead of #include <alloca.h> + alloca.
1249
1250 2021-10-21 Chung-Lin Tang <cltang (a] codesourcery.com>
1251
1252 * libgomp.texi (Support of strictly structured blocks in Fortran):
1253 Adjust to 'Y'.
1254 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
1255
1256 2021-10-20 Chung-Lin Tang <cltang (a] codesourcery.com>
1257
1258 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
1259 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
1260
1261 2021-10-20 Jakub Jelinek <jakub (a] redhat.com>
1262
1263 PR libgomp/102838
1264 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
1265 (struct gomp_work_share): Only use aligned(64) attribute if
1266 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
1267 add padding before lock to ensure lock is at offset 64 bytes
1268 into the structure.
1269 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
1270 New poor man's static assertions.
1271 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
1272 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1273
1274 2021-10-20 Aldy Hernandez <aldyh (a] redhat.com>
1275 Richard Biener <rguenther (a] suse.de>
1276
1277 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
1278
1279 2021-10-18 Jakub Jelinek <jakub (a] redhat.com>
1280
1281 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
1282 && gomp_places_list_len < count after nfirst <= nlast loop condition.
1283
1284 2021-10-18 Tobias Burnus <tobias (a] codesourcery.com>
1285
1286 PR fortran/102086
1287 PR fortran/92189
1288 PR fortran/92621
1289 PR fortran/101308
1290 PR fortran/101309
1291 PR fortran/101635
1292 PR fortran/92482
1293 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
1294
1295 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1296
1297 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
1298 type from char [50] to const char *.
1299 (places_array): Add a testcase for simplified syntax place followed
1300 by length or length and stride.
1301
1302 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1303
1304 * env.c (parse_one_place): Handle non-negative-number the same
1305 as { non-negative-number }. Reject even !number:1 and
1306 !number:1:stride or !place:1 or !place:1:stride instead of just
1307 length other than 1.
1308 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
1309 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
1310 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
1311 as implemented.
1312 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
1313 simplified syntax.
1314
1315 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1316
1317 * env.c (parse_schedule): For strtoul or strtoull calls which don't
1318 clearly reject return value 0 as invalid handle the case where end
1319 pointer is the same as first argument as invalid.
1320 (parse_unsigned_long_1): Likewise.
1321 (parse_one_place): Likewise.
1322 (parse_places_var): Likewise.
1323 (parse_stacksize): Likewise.
1324 (parse_spincount): Likewise.
1325 (parse_affinity): Likewise.
1326 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
1327 Make code valid C89.
1328 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
1329 For strtoul calls which don't clearly reject return value 0 as
1330 invalid handle the case where end pointer is the same as first
1331 argument as invalid.
1332 (gomp_affinity_init_level_1): Likewise.
1333 (gomp_affinity_init_numa_domains): Likewise.
1334 * config/rtems/proc.c (parse_thread_pools): Likewise.
1335
1336 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1337
1338 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
1339 after creating count places clean up and return immediately.
1340 * testsuite/libgomp.c/places-6.c: New test.
1341 * testsuite/libgomp.c/places-7.c: New test.
1342 * testsuite/libgomp.c/places-8.c: New test.
1343 * testsuite/libgomp.c/places-9.c: New test.
1344 * testsuite/libgomp.c/places-10.c: New test.
1345
1346 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1347
1348 * env.c (parse_places_var): Handle numa_domains as level 5.
1349 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
1350 function.
1351 (gomp_affinity_init_level): Use it instead of
1352 gomp_affinity_init_level_1 for level == 5.
1353 * testsuite/libgomp.c/places-5.c: New test.
1354
1355 2021-10-15 Jakub Jelinek <jakub (a] redhat.com>
1356
1357 * env.c (parse_places_var): Handle ll_caches as level 4.
1358 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
1359 function.
1360 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
1361 last level cache.
1362 (gomp_affinity_init_level): Likewise.
1363 * testsuite/libgomp.c/places-1.c: New test.
1364 * testsuite/libgomp.c/places-2.c: New test.
1365 * testsuite/libgomp.c/places-3.c: New test.
1366 * testsuite/libgomp.c/places-4.c: New test.
1367
1368 2021-10-14 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1369
1370 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
1371 directive.
1372
1373 2021-10-14 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1374
1375 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
1376
1377 2021-10-12 Julian Brown <julian (a] codesourcery.com>
1378
1379 * target.c (gomp_copy_host2dev): Release device lock on cbuf
1380 error path.
1381
1382 2021-10-12 Tobias Burnus <tobias (a] codesourcery.com>
1383
1384 * testsuite/libgomp.fortran/icv-3.f90: New.
1385 * testsuite/libgomp.fortran/icv-4.f90: New.
1386
1387 2021-10-12 Jakub Jelinek <jakub (a] redhat.com>
1388
1389 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
1390 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
1391 OMP_TEAMS_THREAD_LIMIT): Document.
1392
1393 2021-10-12 Jakub Jelinek <jakub (a] redhat.com>
1394
1395 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
1396 to avoid makeinfo warnings.
1397
1398 2021-10-12 Jakub Jelinek <jakub (a] redhat.com>
1399
1400 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
1401 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
1402
1403 2021-10-12 Jakub Jelinek <jakub (a] redhat.com>
1404
1405 PR libgomp/102628
1406 PR libgomp/102668
1407 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
1408 allocation sizes from 420 to 320 and from 768 to 568.
1409 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1410 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
1411 for cr from 16 to 4.
1412
1413 2021-10-12 Jakub Jelinek <jakub (a] redhat.com>
1414
1415 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
1416 * testsuite/libgomp.c/scan-12.c: Likewise.
1417 * testsuite/libgomp.c/scan-13.c: Likewise.
1418 * testsuite/libgomp.c/scan-14.c: Likewise.
1419 * testsuite/libgomp.c/scan-15.c: Likewise.
1420 * testsuite/libgomp.c/scan-16.c: Likewise.
1421 * testsuite/libgomp.c/scan-17.c: Likewise.
1422 * testsuite/libgomp.c/scan-18.c: Likewise.
1423 * testsuite/libgomp.c/scan-19.c: Likewise.
1424 * testsuite/libgomp.c/scan-20.c: Likewise.
1425 * testsuite/libgomp.c/scan-21.c: Likewise.
1426 * testsuite/libgomp.c/scan-22.c: Likewise.
1427 * testsuite/libgomp.c++/scan-9.C: Likewise.
1428 * testsuite/libgomp.c++/scan-10.C: Likewise.
1429 * testsuite/libgomp.c++/scan-11.C: Likewise.
1430 * testsuite/libgomp.c++/scan-12.C: Likewise.
1431 * testsuite/libgomp.c++/scan-13.C: Likewise.
1432 * testsuite/libgomp.c++/scan-14.C: Likewise.
1433 * testsuite/libgomp.c++/scan-15.C: Likewise.
1434 * testsuite/libgomp.c++/scan-16.C: Likewise.
1435
1436 2021-10-12 Kewen Lin <linkw (a] linux.ibm.com>
1437
1438 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
1439
1440 2021-10-11 Marcel Vollweiler <marcel (a] codesourcery.com>
1441
1442 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
1443 omp_atv_serialized.
1444 * omp.h.in: Add deprecated flag for omp_atv_sequential.
1445 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
1446 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
1447 * testsuite/libgomp.fortran/alloc-12.f90: New test.
1448
1449 2021-10-11 Jakub Jelinek <jakub (a] redhat.com>
1450
1451 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
1452 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1453 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
1454 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1455 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
1456 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1457 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
1458 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
1459 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
1460 omp_set_teams_thread_limit{,_,_8_}.
1461 * icv.c (omp_set_num_teams, omp_get_max_teams,
1462 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
1463 functions.
1464 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
1465 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
1466 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
1467 vars.
1468 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
1469 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
1470 is not specified, use gomp_nteams_var.
1471 * fortran.c (omp_set_num_teams, omp_get_max_teams,
1472 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
1473 ialias_redirect.
1474 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
1475 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
1476 omp_get_teams_thread_limit_): New functions.
1477
1478 2021-10-09 liuhongt <hongtao.liu (a] intel.com>
1479
1480 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
1481 * testsuite/libgomp.c++/scan-11.C: Ditto.
1482 * testsuite/libgomp.c++/scan-12.C: Ditto.
1483 * testsuite/libgomp.c++/scan-13.C: Ditto.
1484 * testsuite/libgomp.c++/scan-14.C: Ditto.
1485 * testsuite/libgomp.c++/scan-15.C: Ditto.
1486 * testsuite/libgomp.c++/scan-16.C: Ditto.
1487 * testsuite/libgomp.c++/scan-9.C: Ditto.
1488 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
1489 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
1490 * testsuite/libgomp.c/scan-11.c: Ditto.
1491 * testsuite/libgomp.c/scan-12.c: Ditto.
1492 * testsuite/libgomp.c/scan-13.c: Ditto.
1493 * testsuite/libgomp.c/scan-14.c: Ditto.
1494 * testsuite/libgomp.c/scan-15.c: Ditto.
1495 * testsuite/libgomp.c/scan-16.c: Ditto.
1496 * testsuite/libgomp.c/scan-17.c: Ditto.
1497 * testsuite/libgomp.c/scan-18.c: Ditto.
1498 * testsuite/libgomp.c/scan-19.c: Ditto.
1499 * testsuite/libgomp.c/scan-20.c: Ditto.
1500 * testsuite/libgomp.c/scan-21.c: Ditto.
1501 * testsuite/libgomp.c/scan-22.c: Ditto.
1502
1503 2021-10-09 Jakub Jelinek <jakub (a] redhat.com>
1504
1505 * libgomp.texi (OpenMP 5.1): Mention implemented support for
1506 structured block sequences in C/C++. Mention support for
1507 unconstrained/reproducible modifiers on order clause.
1508 Mention partial (C/C++ only) support of extentensions to atomics
1509 construct. Mention partial (C/C++ on clause only) support of
1510 align/allocator modifiers on allocate clause.
1511
1512 2021-10-02 Tobias Burnus <tobias (a] codesourcery.com>
1513
1514 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
1515 based on libgomp.c-c++-common/order-reproducible-1.c.
1516 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1517 * testsuite/libgomp.fortran/my-usleep.c: New test.
1518
1519 2021-10-01 Tobias Burnus <tobias (a] codesourcery.com>
1520
1521 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
1522 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
1523 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
1524 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
1525 based on libgomp.c-c++-common/alloc-9.c.
1526
1527 2021-10-01 Jakub Jelinek <jakub (a] redhat.com>
1528
1529 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
1530 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
1531
1532 2021-10-01 Jakub Jelinek <jakub (a] redhat.com>
1533
1534 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
1535 ialias_redirect.
1536 * env.c (handle_omp_display_env): Use ialias_call.
1537 * icv-device.c: Move ialias right below each function.
1538 (omp_get_device_num): Use ialias_call.
1539 * fortran.c (omp_fulfill_event): Add ialias_redirect.
1540 * icv.c (omp_get_active_level): Add ialias_redirect.
1541
1542 2021-10-01 Jakub Jelinek <jakub (a] redhat.com>
1543
1544 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
1545 __alloc_align__ (1) attribute.
1546 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
1547
1548 2021-09-30 Tobias Burnus <tobias (a] codesourcery.com>
1549
1550 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
1551 for -fintrinsic-modules-path= warning of the C compiler.
1552 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1553 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
1554
1555 2021-09-30 Tobias Burnus <tobias (a] codesourcery.com>
1556
1557 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
1558 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
1559 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1560 omp_realloc): Add.
1561 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1562 omp_realloc): Add.
1563 * testsuite/libgomp.fortran/alloc-10.f90: New test.
1564 * testsuite/libgomp.fortran/alloc-6.f90: New test.
1565 * testsuite/libgomp.fortran/alloc-7.c: New test.
1566 * testsuite/libgomp.fortran/alloc-7.f90: New test.
1567 * testsuite/libgomp.fortran/alloc-8.f90: New test.
1568 * testsuite/libgomp.fortran/alloc-9.f90: New test.
1569
1570 2021-09-30 Jakub Jelinek <jakub (a] redhat.com>
1571
1572 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
1573 omp_realloc): New prototypes.
1574 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
1575 attribute.
1576 * allocator.c: Include string.h.
1577 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
1578 variable and use it instead of alignment so that when retrying the old
1579 alignment is used again. Don't retry if new alignment is the same
1580 as old alignment, unless allocator had pool size.
1581 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
1582 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
1583 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
1584 omp_aligned_calloc and omp_realloc.
1585 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
1586 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
1587 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
1588 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
1589 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
1590 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
1591
1592 2021-09-28 Tobias Burnus <tobias (a] codesourcery.com>
1593
1594 PR libgomp/96661
1595 * configure.ac: Only check for int-type = 2*size_t support when
1596 building with Fortran support.
1597 * configure: Regenerate.
1598
1599 2021-09-28 Thomas Schwinge <thomas (a] codesourcery.com>
1600
1601 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
1602 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1603
1604 2021-09-27 Aldy Hernandez <aldyh (a] redhat.com>
1605
1606 * team.c: Initialize start_data.
1607 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
1608 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
1609
1610 2021-09-27 Tobias Burnus <tobias (a] codesourcery.com>
1611
1612 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
1613 dg-message back to dg-note.
1614
1615 2021-09-27 Tobias Burnus <tobias (a] codesourcery.com>
1616
1617 PR fortran/94070
1618 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
1619 expected dg-note output.
1620
1621 2021-09-22 Tobias Burnus <tobias (a] codesourcery.com>
1622
1623 PR fortran/55534
1624 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
1625 r12-3722 by removing -Wno-missing-include-dirs.
1626 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1627
1628 2021-09-22 Jakub Jelinek <jakub (a] redhat.com>
1629
1630 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
1631 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
1632
1633 2021-09-21 Tobias Burnus <tobias (a] codesourcery.com>
1634
1635 PR fortran/55534
1636 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
1637 to ALWAYS_CFLAGS.
1638 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1639
1640 2021-09-18 Jakub Jelinek <jakub (a] redhat.com>
1641
1642 * testsuite/libgomp.c++/default-1.C: New test.
1643 * testsuite/libgomp.c-c++-common/default-1.c: New test.
1644 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
1645 to default clause in C and C++" as implemented.
1646
1647 2021-09-17 Julian Brown <julian (a] codesourcery.com>
1648
1649 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
1650
1651 2021-09-17 Julian Brown <julian (a] codesourcery.com>
1652
1653 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
1654
1655 2021-09-17 Jakub Jelinek <jakub (a] redhat.com>
1656
1657 * libgomp.texi (OpenMP 5.1): Spelling fix,
1658 declare variante -> declare variant.
1659
1660 2021-09-17 Jakub Jelinek <jakub (a] redhat.com>
1661
1662 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
1663 Use /* */ comments instead of //.
1664 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
1665 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
1666 * testsuite/libgomp.c++/atomic-16.C: New test.
1667 * testsuite/libgomp.c++/atomic-17.C: New test.
1668
1669 2021-09-10 Jakub Jelinek <jakub (a] redhat.com>
1670
1671 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
1672 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
1673 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
1674
1675 2021-09-07 Tobias Burnus <tobias (a] codesourcery.com>
1676
1677 * libgomp.texi (OpenMP Implementation Status): Extend
1678 OpenMP 5.0 section.
1679 (OpenACC Profiling Interface): Fix typo.
1680
1681 2021-09-07 Tobias Burnus <tobias (a] codesourcery.com>
1682
1683 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
1684 not to 4.5; link to new section.
1685 (OpenMP Implementation Status): New.
1686
1687 2021-09-06 Thomas Schwinge <thomas (a] codesourcery.com>
1688
1689 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
1690
1691 2021-09-03 Tobias Burnus <tobias (a] codesourcery.com>
1692
1693 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
1694 dg-output.
1695 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1696
1697 2021-08-23 Thomas Schwinge <thomas (a] codesourcery.com>
1698 Jakub Jelinek <jakub (a] redhat.com>
1699
1700 * testsuite/libgomp.c/address-space-1.c: New file.
1701
1702 2021-08-23 Thomas Schwinge <thomas (a] codesourcery.com>
1703
1704 * testsuite/lib/libgomp.exp
1705 (check_effective_target_offload_target_intelmic): Remove 'proc'.
1706 (check_effective_target_offload_device_intel_mic): New 'proc'.
1707 * testsuite/libgomp.c-c++-common/on_device_arch.h
1708 (device_arch_intel_mic, on_device_arch_intel_mic): New.
1709 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
1710 'dg-xfail-run-if'.
1711 * testsuite/libgomp.fortran/target10.f90: Likewise.
1712
1713 2021-08-23 Tobias Burnus <tobias (a] codesourcery.com>
1714
1715 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
1716 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
1717 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
1718 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
1719
1720 2021-08-23 Jakub Jelinek <jakub (a] redhat.com>
1721
1722 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
1723 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
1724 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
1725
1726 2021-08-22 Thomas Schwinge <thomas (a] codesourcery.com>
1727
1728 * config/nvptx/error.c (fwrite, exit): Override, too.
1729 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
1730 of offloading testing.
1731 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1732
1733 2021-08-20 Tobias Burnus <tobias (a] codesourcery.com>
1734
1735 * testsuite/libgomp.fortran/error-1.f90: New test.
1736
1737 2021-08-20 Jakub Jelinek <jakub (a] redhat.com>
1738
1739 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
1740 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
1741 * error.c (GOMP_warning, GOMP_error): New functions.
1742 * testsuite/libgomp.c-c++-common/error-1.c: New test.
1743
1744 2021-08-18 Tobias Burnus <tobias (a] codesourcery.com>
1745
1746 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
1747 omp_target_free. omp_target_is_present, omp_target_memcpy,
1748 omp_target_memcpy_rect, omp_target_associate_ptr,
1749 omp_target_disassociate_ptr): Add interface.
1750 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
1751 omp_target_free. omp_target_is_present, omp_target_memcpy,
1752 omp_target_memcpy_rect, omp_target_associate_ptr,
1753 omp_target_disassociate_ptr): Add interface.
1754 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
1755 interface block for omp_alloc + omp_free.
1756 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
1757 * testsuite/libgomp.fortran/refcount-1.f90: New test.
1758 * testsuite/libgomp.fortran/target-12.f90: New test.
1759
1760 2021-08-18 Jakub Jelinek <jakub (a] redhat.com>
1761
1762 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
1763
1764 2021-08-17 Tobias Burnus <tobias (a] codesourcery.com>
1765
1766 * testsuite/libgomp.fortran/scope-1.f90: New test.
1767 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
1768
1769 2021-08-17 Jakub Jelinek <jakub (a] redhat.com>
1770
1771 * Makefile.am (libgomp_la_SOURCES): Add scope.c
1772 * Makefile.in: Regenerated.
1773 * libgomp_g.h (GOMP_scope_start): Declare.
1774 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
1775 * scope.c: New file.
1776 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
1777 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
1778
1779 2021-08-16 Thomas Schwinge <thomas (a] codesourcery.com>
1780
1781 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
1782 '?:' issues.
1783
1784 2021-08-16 Tobias Burnus <tobias (a] codesourcery.com>
1785
1786 * testsuite/libgomp.fortran/masked-1.f90: New test.
1787
1788 2021-08-13 Thomas Schwinge <thomas (a] codesourcery.com>
1789
1790 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
1791
1792 2021-08-12 Jakub Jelinek <jakub (a] redhat.com>
1793
1794 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
1795
1796 2021-08-12 Tobias Burnus <tobias (a] codesourcery.com>
1797
1798 * env.c (parse_bind_var): Accept 'primary' as alias for
1799 'master'.
1800 (omp_display_env): Add TODO comment to
1801 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
1802 * libgomp.texi: Change 'master thread' to 'primary thread'
1803 in line with OpenMP 5.1.
1804 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
1805 omp_proc_bind_master is an alias of it.
1806 (OMP_PROC_BIND): Mention 'PRIMARY'.
1807 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
1808 (omp_proc_bind_primary): Add.
1809 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1810 * omp_lib.f90.in (omp_proc_bind_primary): Add.
1811 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1812 * omp_lib.h.in (omp_proc_bind_primary): Add.
1813 * testsuite/libgomp.c/affinity-1.c: Check that
1814 'primary' works and is identical to 'master'.
1815
1816 2021-08-09 Julian Brown <julian (a] codesourcery.com>
1817 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1818 Thomas Schwinge <thomas (a] codesourcery.com>
1819
1820 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
1821 16.
1822 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1823 [acc_device_radeon]: Update.
1824 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
1825 [ACC_DEVICE_TYPE_radeon]: Likewise.
1826 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1827 [acc_device_radeon]: Likewise.
1828 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
1829 [ACC_DEVICE_TYPE_radeon]: Likewise.
1830 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
1831 'openacc_radeon_accel_selected' and '-O0'.
1832 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1833
1834 2021-08-05 Chung-Lin Tang <cltang (a] codesourcery.com>
1835
1836 * icv-device.c (omp_get_device_num): New API function, host side.
1837 * fortran.c (omp_get_device_num_): New interface function.
1838 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
1839 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
1840 omp_get_device_num_.
1841 * libgomp.texi (omp_get_device_num): Add documentation for new API
1842 function.
1843 * omp.h.in (omp_get_device_num): Add declaration.
1844 * omp_lib.f90.in (omp_get_device_num): Likewise.
1845 * omp_lib.h.in (omp_get_device_num): Likewise.
1846 * target.c (gomp_load_image_to_device): If additional entry for device
1847 number exists at end of returned entries from 'load_image_func' hook,
1848 copy the assigned device number over to the device variable.
1849 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1850 (omp_get_device_num): New API function, device side.
1851 * plugin/plugin-gcn.c ("symcat.h"): Add include.
1852 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1853 at end of returned 'target_table' entries.
1854 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1855 (omp_get_device_num): New API function, device side.
1856 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
1857 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1858 at end of returned 'target_table' entries.
1859 * testsuite/lib/libgomp.exp
1860 (check_effective_target_offload_target_intelmic): New function for
1861 testing for intelmic offloading.
1862 * testsuite/libgomp.c-c++-common/target-45.c: New test.
1863 * testsuite/libgomp.fortran/target10.f90: New test.
1864
1865 2021-07-30 Thomas Schwinge <thomas (a] codesourcery.com>
1866 Ulrich Drepper <drepper (a] redhat.com>
1867
1868 * fortran.c (omp_display_env_, omp_display_env_8_): Only
1869 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
1870
1871 2021-07-29 Thomas Schwinge <thomas (a] codesourcery.com>
1872 Julian Brown <julian (a] codesourcery.com>
1873 Kwok Cheung Yeung <kcy (a] codesourcery.com>
1874
1875 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
1876 's%oaccdevlow%oaccloops%g'.
1877 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
1878 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1879 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
1880 Likewise.
1881 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
1882 Likewise.
1883 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
1884 Likewise.
1885 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
1886 Likewise.
1887 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
1888 Likewise.
1889 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
1890 Likewise.
1891 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
1892 Likewise.
1893 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
1894 Likewise.
1895 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1896
1897 2021-07-29 Aldy Hernandez <aldyh (a] redhat.com>
1898
1899 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
1900 threader.
1901 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1902
1903 2021-07-27 Ulrich Drepper <drepper (a] gmail.com>
1904
1905 * env.c (wait_policy, stacksize): New static variables,
1906 move out of handle_omp_display_env.
1907 (omp_display_env): New function. The meat of the old
1908 handle_omp_display_env function.
1909 (handle_omp_display_env): Change to not take parameters
1910 and instead use the global variables. Only perform
1911 parsing, defer to omp_display_env for the implementation.
1912 (initialize_env): Remove local variables wait_policy and
1913 stacksize. Don't pass parameters to handle_omp_display_env.
1914 * fortran.c: Add ialias_redirect for omp_display_env.
1915 (omp_display_env_, omp_display_env_8_): New functions.
1916 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
1917 omp_display_env_, and omp_display_env_8_.
1918 * omp.h.in: Declare omp_display_env.
1919 * omp_lib.f90.in: Likewise.
1920 * omp_lib.h.in: Likewise.
1921
1922 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com>
1923 Julian Brown <julian (a] codesourcery.com>
1924
1925 * target.c (gomp_coalesce_buf_add): Update comment.
1926 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
1927 'aq && cbuf'.
1928 (gomp_map_vars_internal): Only 'if (!aq)', do
1929 'gomp_coalesce_buf_add'.
1930 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
1931 XFAIL.
1932
1933 2021-07-27 Julian Brown <julian (a] codesourcery.com>
1934 Thomas Schwinge <thomas (a] codesourcery.com>
1935
1936 * libgomp.h (gomp_copy_host2dev): Update prototype.
1937 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
1938 argument to gomp_copy_host2dev (false).
1939 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
1940 (copy_data): Don't free src.
1941 (queue_push_copy): Remove free_src handling.
1942 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
1943 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
1944 snapshotting.
1945 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
1946 queue_push_copy.
1947 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
1948 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
1949 data when true, and set up deferred freeing of temporary buffer.
1950 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
1951 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
1952 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
1953 calls to gomp_copy_host2dev with appropriate ephemeral argument.
1954 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
1955 XFAIL.
1956
1957 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com>
1958 Tom de Vries <tom (a] codesourcery.com>
1959
1960 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
1961 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
1962
1963 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com>
1964
1965 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
1966 sequencing of 'async' data copying vs. profiling events.
1967 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1968 Likewise.
1969
1970 2021-07-27 Thomas Schwinge <thomas (a] codesourcery.com>
1971 Julian Brown <julian (a] codesourcery.com>
1972
1973 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
1974 'async'/'wait' issue.
1975 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
1976 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
1977 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
1978
1979 2021-07-21 Thomas Schwinge <thomas (a] codesourcery.com>
1980 Joseph Myers <joseph (a] codesourcery.com>
1981 Cesar Philippidis <cesar (a] codesourcery.com>
1982
1983 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
1984 file.
1985 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
1986 Likewise.
1987 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
1988 Likewise.
1989 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1990
1991 2021-07-20 Thomas Schwinge <thomas (a] codesourcery.com>
1992
1993 PR target/101484
1994 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
1995 '-Wno-error=array-bounds'.
1996 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
1997 * libgomp.h [__AMDGCN__]: Likewise.
1998
1999 2021-07-19 Thomas Schwinge <thomas (a] codesourcery.com>
2000
2001 PR target/101484
2002 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
2003 * libgomp.h [__AMDGCN__]: Likewise.
2004
2005 2021-07-13 Jakub Jelinek <jakub (a] redhat.com>
2006 Florian Weimer <fweimer (a] redhat.com>
2007
2008 * config/linux/sem.h: Don't include limits.h.
2009 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
2010 * config/linux/affinity.c: Include limits.h.
2011
2012 2021-07-01 Jakub Jelinek <jakub (a] redhat.com>
2013
2014 PR middle-end/94366
2015 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
2016
2017 2021-06-29 Tobias Burnus <tobias (a] codesourcery.com>
2018
2019 PR other/67300
2020 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
2021 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
2022 avoid disabling other offload targets.
2023 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
2024 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2025 * testsuite/libgomp.c/target-44.c: Likewise.
2026
2027 2021-06-29 Tobias Burnus <tobias (a] codesourcery.com>
2028
2029 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
2030 target has shared memory and disable some scalar pointer/allocatable
2031 checks if not as firstprivate does not work.
2032
2033 2021-06-25 Chung-Lin Tang <cltang (a] codesourcery.com>
2034
2035 PR testsuite/101114
2036 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
2037 Add "target offload_device_nonshared_as" condition for enabling test.
2038
2039 2021-06-24 Jakub Jelinek <jakub (a] redhat.com>
2040
2041 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
2042 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
2043 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
2044 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
2045
2046 2021-06-23 Jakub Jelinek <jakub (a] redhat.com>
2047
2048 PR middle-end/101167
2049 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
2050
2051 2021-06-17 Chung-Lin Tang <cltang (a] codesourcery.com>
2052
2053 * hashtab.h (htab_clear): New function with initialization code
2054 factored out from...
2055 (htab_create): ...here, adjust to use htab_clear function.
2056 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
2057 special refcount values, add comments.
2058 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
2059 (REFCOUNT_LINK): Likewise.
2060 (REFCOUNT_STRUCTELEM): New special refcount range for structure
2061 element siblings.
2062 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
2063 sibling maps.
2064 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
2065 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
2066 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
2067 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
2068 (struct splay_tree_key_s): Add structelem_refcount and
2069 structelem_refcount_ptr fields into a union with dynamic_refcount.
2070 Add comments.
2071 (gomp_map_vars): Delete declaration.
2072 (gomp_map_vars_async): Likewise.
2073 (gomp_unmap_vars): Likewise.
2074 (gomp_unmap_vars_async): Likewise.
2075 (goacc_map_vars): New declaration.
2076 (goacc_unmap_vars): Likewise.
2077 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
2078 (goacc_enter_datum): Likewise.
2079 (goacc_enter_data_internal): Likewise.
2080 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
2081 and goacc_unmap_vars.
2082 (GOACC_data_start): Adjust to use goacc_map_vars.
2083 (GOACC_data_end): Adjust to use goacc_unmap_vars.
2084 * target.c (hash_entry_type): New typedef.
2085 (htab_alloc): New function hook for hashtab.h.
2086 (htab_free): Likewise.
2087 (htab_hash): Likewise.
2088 (htab_eq): Likewise.
2089 (hashtab.h): Add file include.
2090 (gomp_increment_refcount): New function.
2091 (gomp_decrement_refcount): Likewise.
2092 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
2093 gomp_increment_refcount.
2094 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
2095 to gomp_map_vars_existing.
2096 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
2097 variable to guard OpenMP specific paths, adjust calls to
2098 gomp_map_vars_existing, add structure element sibling splay_tree_key
2099 sequence creation code, adjust Fortran map case to avoid increment
2100 under OpenMP.
2101 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
2102 local refcount_set if caller passed in NULL, adjust call to
2103 gomp_map_vars_internal.
2104 (gomp_map_vars_async): Adjust and rename into...
2105 (goacc_map_vars): ...this new function, adjust call to
2106 gomp_map_vars_internal.
2107 (gomp_remove_splay_tree_key): New function with code factored out from
2108 gomp_remove_var_internal.
2109 (gomp_remove_var_internal): Add code to handle removing multiple
2110 splay_tree_key sequence for structure elements, adjust code to use
2111 gomp_remove_splay_tree_key for splay-tree key removal.
2112 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
2113 gomp_decrement_refcount.
2114 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
2115 local refcount_set if caller passed in NULL, adjust call to
2116 gomp_unmap_vars_internal.
2117 (gomp_unmap_vars_async): Adjust and rename into...
2118 (goacc_unmap_vars): ...this new function, adjust call to
2119 gomp_unmap_vars_internal.
2120 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
2121 gomp_unmap_vars.
2122 (GOMP_target_ext): Likewise.
2123 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
2124 (GOMP_target_data): Likewise.
2125 (GOMP_target_data_ext): Likewise.
2126 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
2127 (gomp_exit_data): Add refcount_set parameter, adjust to use
2128 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
2129 after main loop.
2130 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
2131 gomp_map_vars and gomp_exit_data.
2132 (gomp_target_task_fn): Likewise.
2133 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
2134 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
2135 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
2136 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
2137 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
2138 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
2139
2140 2021-06-15 Tobias Burnus <tobias (a] codesourcery.com>
2141
2142 PR fortran/92568
2143 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
2144
2145 2021-06-10 Andrew Stubbs <ams (a] codesourcery.com>
2146 Thomas Schwinge <thomas (a] codesourcery.com>
2147
2148 * libgomp.map (GOACC_2.0.2): New symbol version.
2149 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
2150 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
2151
2152 2021-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
2153 Andrew Stubbs <ams (a] codesourcery.com>
2154
2155 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
2156 extracted from...
2157 (GOACC_enter_exit_data): ... here.
2158 (GOACC_declare): Use it.
2159
2160 2021-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
2161
2162 * oacc-parallel.c (GOACC_declare): Move...
2163 * oacc-mem.c: ... here.
2164 * libgomp_g.h: Adjust.
2165
2166 2021-06-10 Andrew Stubbs <ams (a] codesourcery.com>
2167 Thomas Schwinge <thomas (a] codesourcery.com>
2168
2169 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
2170 handling.
2171
2172 2021-06-10 Jakub Jelinek <jakub (a] redhat.com>
2173
2174 PR tree-optimization/100981
2175 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
2176 dsdotr and dsdoti to 0.
2177
2178 2021-06-09 H.J. Lu <hjl.tools (a] gmail.com>
2179
2180 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
2181 if atomic compare-and-swap is supported on 'int'.
2182
2183 2021-06-09 Richard Biener <rguenther (a] suse.de>
2184
2185 PR tree-optimization/100981
2186 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
2187
2188 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2189
2190 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
2191 unconditionally.
2192 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2193 Update.
2194 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2195 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2196
2197 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2198
2199 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
2200 '-DACC_MEM_SHARED=0'.
2201 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2202 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2203 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
2204 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2205 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2206 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
2207 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2208 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2209 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2210 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2211 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
2212 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
2213 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
2214 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2215 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
2216 'acc_device_radeon' testing.
2217 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
2218 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2219 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2220 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
2221 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2222 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2223 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
2224 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
2225 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2226 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2227 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
2228 for non-'openacc_nvidia_accel_selected'.
2229 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2230 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
2231 all implement this checking".
2232 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2233 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2234 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2235 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2236 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2237
2238 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2239
2240 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
2241 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
2242
2243 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2244
2245 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
2246 for 'acc_device_radeon'.
2247
2248 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2249
2250 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
2251 for non-'acc_device_nvidia'.
2252
2253 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2254
2255 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
2256 'acc_device_radeon' testing.
2257 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2258 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2259 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2260
2261 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2262
2263 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
2264 require 'openacc_nvidia_accel_selected'. Fix up for
2265 'ACC_DEVICE_TYPE_radeon'.
2266
2267 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2268
2269 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
2270 'openacc_nvidia_accel_selected'.
2271 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2272
2273 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2274
2275 * testsuite/lib/libgomp.exp
2276 (check_effective_target_openacc_radeon_accel_selected):
2277 Streamline.
2278
2279 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2280
2281 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
2282 PR80547 workaround.
2283
2284 2021-06-08 Thomas Schwinge <thomas (a] codesourcery.com>
2285
2286 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2287 <acc_device_nvidia>: Update comment.
2288
2289 2021-05-28 Tobias Burnus <tobias (a] codesourcery.com>
2290
2291 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
2292
2293 2021-05-27 Jakub Jelinek <jakub (a] redhat.com>
2294
2295 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
2296 check_effective_target_openacc_cublas,
2297 check_effective_target_openacc_cudart): New.
2298 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
2299 target openacc_cublas.
2300 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2301 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2302 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
2303 target openacc_cuda.
2304 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2305 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2306 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2307 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2308 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2309 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2310 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2311 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2312 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
2313 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2314 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2315 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2316 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2317 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2318 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2319 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2320 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
2321 targets openacc_cublas and openacc_cudart.
2322 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2323 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2324 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2325 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2326 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
2327 Require effective target openacc_cudart.
2328 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
2329 for effective target openacc_cuda and add && defined USE_CUDA_H to
2330 preprocessor conditionals. Guard -lcuda also on openacc_cuda
2331 effective target.
2332
2333 2021-05-26 Jakub Jelinek <jakub (a] redhat.com>
2334
2335 PR libgomp/100573
2336 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
2337 GOMP_target_end_data, GOMP_target_update_ext,
2338 GOMP_target_enter_exit_data): New dummy entrypoints.
2339 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
2340 GOMP_target_end_data, GOMP_target_update_ext,
2341 GOMP_target_enter_exit_data): Likewise.
2342 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
2343 OMPFROM, OMPTO): Define.
2344 (main): Remove #pragma omp target teams around all the tests.
2345 * testsuite/libgomp.c-c++-common/target-41.c: New test.
2346 * testsuite/libgomp.c-c++-common/target-42.c: New test.
2347
2348 2021-05-25 Jakub Jelinek <jakub (a] redhat.com>
2349
2350 PR middle-end/99928
2351 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
2352
2353 2021-05-24 Tobias Burnus <tobias (a] codesourcery.com>
2354
2355 PR fortran/86470
2356 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
2357 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
2358 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
2359
2360 2021-05-22 Thomas Schwinge <thomas (a] codesourcery.com>
2361
2362 PR testsuite/90115
2363 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
2364 uninteresting/varying diagnostics.
2365
2366 2021-05-21 Thomas Schwinge <thomas (a] codesourcery.com>
2367
2368 PR middle-end/90115
2369 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
2370 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2371
2372 2021-05-21 Thomas Schwinge <thomas (a] codesourcery.com>
2373
2374 PR middle-end/90115
2375 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
2376 file.
2377 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
2378 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
2379 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2380 Likewise.
2381 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2382 Likewise.
2383 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2384 Likewise.
2385 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2386 Likewise.
2387 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2388 Likewise.
2389 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2390 Likewise.
2391 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2392 Likewise.
2393 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2394 Likewise.
2395 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2396 Likewise.
2397 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2398 Likewise.
2399 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2400 Likewise.
2401 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2402 Likewise.
2403 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2404 Likewise.
2405 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2406 Likewise.
2407 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2408 Likewise.
2409 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2410 Likewise.
2411 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2412 Likewise.
2413 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2414 Likewise.
2415 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2416 Likewise.
2417 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2418 Likewise.
2419 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2420 Likewise.
2421 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2422 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2423 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2424 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
2425 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2426 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2427 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2428 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2429 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2430 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2431 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2432 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2433 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2434 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2435 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2436 Likewise.
2437 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
2438 Likewise.
2439 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
2440 Likewise.
2441 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2442 Likewise.
2443 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
2444 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2445 Likewise.
2446 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2447 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2448 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2449 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2450 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2451 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2452 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2453 Likewise.
2454 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2455 Likewise.
2456 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2457 Likewise.
2458 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2459 Likewise.
2460 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2461 Likewise.
2462 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2463 Likewise.
2464 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2465 Likewise.
2466 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2467 Likewise.
2468 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2469 Likewise.
2470 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2471 Likewise.
2472 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2473 Likewise.
2474 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2475 Likewise.
2476 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2477 Likewise.
2478 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2479 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2480 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2481 Likewise.
2482 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2483 Likewise.
2484 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2485 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2486 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2487
2488 2021-05-21 Julian Brown <julian (a] codesourcery.com>
2489 Chung-Lin Tang <cltang (a] codesourcery.com>
2490 Thomas Schwinge <thomas (a] codesourcery.com>
2491
2492 PR middle-end/90115
2493 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
2494 test.
2495 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2496 Likewise.
2497 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2498 Likewise.
2499
2500 2021-05-21 Thomas Schwinge <thomas (a] codesourcery.com>
2501
2502 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
2503 for nvptx offloading.
2504
2505 2021-05-21 Tobias Burnus <tobias (a] codesourcery.com>
2506
2507 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
2508
2509 2021-05-19 Thomas Schwinge <thomas (a] codesourcery.com>
2510
2511 PR target/83812
2512 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
2513
2514 2021-05-19 Julian Brown <julian (a] codesourcery.com>
2515
2516 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
2517
2518 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com>
2519
2520 * testsuite/lib/libgomp.exp
2521 (check_effective_target_offload_target_nvptx): Don't shadow global
2522 'offload_targets' variable.
2523
2524 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com>
2525
2526 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
2527 '-latomic' to nvptx offloading compilation.
2528 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2529
2530 2021-05-18 Thomas Schwinge <thomas (a] codesourcery.com>
2531
2532 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
2533 offloading compilation.
2534
2535 2021-05-17 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2536
2537 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
2538 if new tasks generated.
2539 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
2540
2541 2021-05-14 Tobias Burnus <tobias (a] codesourcery.com>
2542
2543 * testsuite/libgomp.fortran/parallel-master.f90: New test.
2544
2545 2021-05-13 Martin Liska <mliska (a] suse.cz>
2546
2547 PR testsuite/100569
2548 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
2549 * testsuite/libgomp.c/pr46032-2.c: Likewise.
2550 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
2551 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
2552
2553 2021-05-12 Tobias Burnus <tobias (a] codesourcery.com>
2554
2555 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
2556 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
2557
2558 2021-05-11 Jakub Jelinek <jakub (a] redhat.com>
2559
2560 PR middle-end/100471
2561 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
2562 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
2563 reduction pointer.
2564 * testsuite/libgomp.c/task-reduction-4.c: New test.
2565
2566 2021-05-07 Tobias Burnus <tobias (a] codesourcery.com>
2567 Tom de Vries <tdevries (a] suse.de>
2568
2569 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
2570 complex/floating-point || + && reduction with 'omp target'.
2571 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2572
2573 2021-05-04 Tobias Burnus <tobias (a] codesourcery.com>
2574
2575 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
2576 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
2577 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
2578 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
2579
2580 2021-05-04 Tobias Burnus <tobias (a] codesourcery.com>
2581
2582 PR testsuite/100397
2583 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
2584 declaration to scope of non-'depend'-guarded assignment to avoid races.
2585
2586 2021-05-03 Tom de Vries <tdevries (a] suse.de>
2587
2588 PR target/100321
2589 * testsuite/libgomp.c/target-44.c: New test.
2590
2591 2021-04-30 Roman Zhuykov <zhroma (a] ispras.ru>
2592
2593 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
2594
2595 2021-04-29 Tom de Vries <tdevries (a] suse.de>
2596
2597 * testsuite/libgomp.c/pr81778.c: New test.
2598
2599 2021-04-29 Tom de Vries <tdevries (a] suse.de>
2600
2601 PR target/100232
2602 * testsuite/libgomp.c/target-43.c: New file.
2603
2604 2021-04-28 Jakub Jelinek <jakub (a] redhat.com>
2605 Tobias Burnus <tobias (a] codesourcery.com>
2606
2607 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
2608 * target.c (gomp_load_plugin_for_device): If set and if a plugin
2609 can't be dlopened, silently assume it has no devices.
2610 * Makefile.in: Regenerate.
2611 * config.h.in: Regenerate.
2612 * configure: Regenerate.
2613
2614 2021-04-26 Tobias Burnus <tobias (a] codesourcery.com>
2615
2616 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2617 Use [Ww]arning in dg-bogus as FE diagnostic and default
2618 diagnostic differ and the result depends on ENABLE_OFFLOAD.
2619 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2620 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2621 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2622
2623 2021-04-26 Tobias Burnus <tobias (a] codesourcery.com>
2624
2625 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2626 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
2627 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2628 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2629 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2630
2631 2021-04-26 Thomas Schwinge <thomas (a] codesourcery.com>
2632 Nathan Sidwell <nathan (a] codesourcery.com>
2633 Tom de Vries <vries (a] codesourcery.com>
2634 Julian Brown <julian (a] codesourcery.com>
2635 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2636
2637 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
2638 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
2639 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2640 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2641 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2642 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2643 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
2644 Likewise.
2645 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2646 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2647 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2648 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2649 Likewise.
2650 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2651 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2652 Likewise.
2653 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2654 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
2655 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2656 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2657 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2658 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2659 Likewise.
2660 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2661 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2662 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2663 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2664 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2665 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2666 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2667 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2668 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2669 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2670 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2671
2672 2021-04-26 Thomas Schwinge <thomas (a] codesourcery.com>
2673
2674 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
2675 compile with '-w'.
2676 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2677 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2678 Likewise.
2679 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2680 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
2681 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2682 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2683 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2684 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2685 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2686
2687 2021-04-22 Richard Biener <rguenther (a] suse.de>
2688
2689 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
2690 only on nvptx-none.
2691
2692 2021-04-21 Tobias Burnus <tobias (a] codesourcery.com>
2693
2694 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
2695 omp_depend_kind instead of defining it as 16.
2696
2697 2021-04-21 Tobias Burnus <tobias (a] codesourcery.com>
2698
2699 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2700 New, based on check_effective_target_offload_target_nvptx.
2701 (check_effective_target_offload_target_nvptx): Call it.
2702 (check_effective_target_offload_target_amdgcn): New.
2703 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
2704 Require target offload_target_nvptx || offload_target_amdgcn.
2705 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
2706 * testsuite/libgomp.c/pr86416-1.c: Likewise.
2707 * testsuite/libgomp.c/pr86416-2.c: Likewise.
2708
2709 2021-04-21 Tobias Burnus <tobias (a] codesourcery.com>
2710
2711 * testsuite/libgomp.fortran/depobj-1.f90: New test.
2712
2713 2021-04-19 Thomas Schwinge <thomas (a] codesourcery.com>
2714
2715 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2716 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
2717 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2718 Likewise.
2719 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2720 Likewise.
2721 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2722
2723 2021-04-15 Thomas Schwinge <thomas (a] codesourcery.com>
2724
2725 PR target/99555
2726 * testsuite/lib/libgomp.exp
2727 (check_effective_target_offload_device_nvptx): New.
2728 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
2729 resolved, make sure that we exit quickly, with error status,
2730 XFAILed.
2731 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
2732 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2733
2734 2021-04-14 Jakub Jelinek <jakub (a] redhat.com>
2735
2736 PR testsuite/100071
2737 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
2738 cp = omp_alloc with cp, p arguments instead of cq, q and call
2739 c_f_pointer after last cq = omp_alloc with cq, q.
2740
2741 2021-04-11 Hafiz Abid Qadeer <abidh (a] codesourcery.com>
2742
2743 PR middle-end/98088
2744 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
2745 for loop with GT/GE condition.
2746 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
2747
2748 2021-04-09 Thomas Schwinge <thomas (a] codesourcery.com>
2749
2750 PR middle-end/84991
2751 PR middle-end/84992
2752 PR middle-end/90779
2753 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
2754
2755 2021-04-09 Jakub Jelinek <jakub (a] redhat.com>
2756
2757 PR libgomp/99984
2758 * team.c (gomp_thread_start): Call pthread_setspecific for
2759 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
2760 has been initialized to avoid false positive warning.
2761
2762 2021-03-29 Tobias Burnus <tobias (a] codesourcery.com>
2763
2764 PR target/99555
2765 * testsuite/lib/on_device_arch.c: Move to ...
2766 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
2767 * testsuite/libgomp.fortran/on_device_arch.c: New file;
2768 #include on_device_arch.h.
2769 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
2770 on_device_arch.h instead of using dg-additional-source.
2771 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2772 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
2773 on_device_arch.c without relative paths.
2774
2775 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com>
2776
2777 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
2778 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
2779 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
2780 * config.h.in: Regenerate.
2781 * configure: Likewise.
2782
2783 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com>
2784
2785 PR target/99555
2786 * testsuite/lib/on_device_arch.c: New file.
2787 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2788 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
2789 skip for nvptx offloading, with error status.
2790 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2791
2792 2021-03-25 Thomas Schwinge <thomas (a] codesourcery.com>
2793
2794 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
2795 OpenACC 'serial' construct diagnostic for nvptx offloading.
2796
2797 2021-03-15 Tobias Burnus <tobias (a] codesourcery.com>
2798
2799 PR c++/99509
2800 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
2801
2802 2021-03-12 Tobias Burnus <tobias (a] codesourcery.com>
2803
2804 PR fortran/98858
2805 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
2806
2807 2021-03-04 Jakub Jelinek <jakub (a] redhat.com>
2808
2809 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
2810 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
2811 checking of -m32 or -mx32 options on the command line.
2812 * config.h.in: Regenerated.
2813 * configure: Regenerated.
2814
2815 2021-02-27 Iain Sandoe <iain (a] sandoe.co.uk>
2816
2817 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
2818 support from the target.
2819
2820 2021-02-25 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2821 Jakub Jelinek <jakub (a] redhat.com>
2822
2823 PR libgomp/98738
2824 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
2825 (struct gomp_task): Replace detach and completion_sem fields with
2826 union containing completion_sem and detach_team. Add deferred_p
2827 field.
2828 (struct gomp_team): Remove task_detach_queue.
2829 * task.c: Include assert.h.
2830 (gomp_init_task): Initialize deferred_p and completion_sem fields.
2831 Rearrange initialization order of fields.
2832 (task_fulfilled_p): Delete.
2833 (GOMP_task): Use address of task as the event handle. Remove
2834 initialization of detach field. Initialize deferred_p field.
2835 Use automatic local for completion_sem. Initialize detach_team field
2836 for deferred tasks.
2837 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
2838 Set kind of suspended detach task to GOMP_TASK_DETACHED and
2839 decrement task_running_count. Move finish_cancelled block out of
2840 else branch. Relocate call to gomp_team_barrier_done.
2841 (GOMP_taskwait): Handle tasks with completion events that have not
2842 been fulfilled.
2843 (GOMP_taskgroup_end): Likewise.
2844 (omp_fulfill_event): Use address of task as event handle. Post to
2845 completion_sem for undeferred tasks. Clear detach_team if task
2846 has not finished. For finished tasks, handle post-execution tasks,
2847 call gomp_team_barrier_wake if necessary, and free task.
2848 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
2849 (free_team): Remove free of task_detach_queue.
2850 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
2851 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
2852 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
2853 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
2854 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
2855 Change data-sharing of detach events on enclosing parallel to private.
2856 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
2857 taskwait directive.
2858 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
2859 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
2860 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
2861 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
2862 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
2863 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
2864 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
2865 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
2866 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
2867 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
2868 Change data-sharing of detach events on enclosing parallel to private.
2869 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
2870 taskwait directive.
2871 * testsuite/libgomp.fortran/task-detach-7.f90: New.
2872 * testsuite/libgomp.fortran/task-detach-8.f90: New.
2873 * testsuite/libgomp.fortran/task-detach-9.f90: New.
2874 * testsuite/libgomp.fortran/task-detach-10.f90: New.
2875 * testsuite/libgomp.fortran/task-detach-11.f90: New.
2876
2877 2021-02-22 Tobias Burnus <tobias (a] codesourcery.com>
2878
2879 PR fortran/99171
2880 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
2881
2882 2021-02-17 Julian Brown <julian (a] codesourcery.com>
2883
2884 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
2885 expected errors.
2886
2887 2021-02-17 Julian Brown <julian (a] codesourcery.com>
2888
2889 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
2890 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
2891
2892 2021-02-11 Uro Bizjak <ubizjak (a] gmail.com>
2893
2894 * config/linux/x86/futex.h (__futex_wait):
2895 Revert output type back to long.
2896 (__futex_wake): Ditto.
2897 (futex_wait): Update for revert.
2898 (futex_wake): Ditto.
2899
2900 2021-02-11 Uro Bizjak <ubizjak (a] gmail.com>
2901
2902 * config/linux/x86/futex.h (__futex_wait): New static inline
2903 wrapper function. Correct output type to int and
2904 timeout type to void *.
2905 (__futex_wake): New static inline wrapper function.
2906 Correct output type to int.
2907 (futex_wait): Use __futex_wait.
2908 (futex_wake): Use __futex_wake.
2909
2910 2021-02-10 Julian Brown <julian (a] codesourcery.com>
2911
2912 PR fortran/98979
2913 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
2914 errors.
2915
2916 2021-02-04 Julian Brown <julian (a] codesourcery.com>
2917
2918 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
2919
2920 2021-02-03 Andrew Stubbs <ams (a] codesourcery.com>
2921
2922 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
2923 EF_AMDGPU_MACH_AMDGCN_GFX908.
2924 (gcn_gfx908_s): New constant string.
2925 (isa_hsa_name): Add gfx908.
2926 (isa_code): Add gfx908.
2927
2928 2021-01-25 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2929
2930 * libgomp.texi (omp_fulfill_event): New entry.
2931
2932 2021-01-20 Jakub Jelinek <jakub (a] redhat.com>
2933
2934 * task.c (GOMP_task): Rename priority argument to priority_arg,
2935 add priority automatic variable and modify that variable. Instead of
2936 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
2937 check flags for that bit.
2938
2939 2021-01-19 Tobias Burnus <tobias (a] codesourcery.com>
2940
2941 PR fortran/98476
2942 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
2943
2944 2021-01-18 Andreas Schwab <schwab (a] suse.de>
2945
2946 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
2947
2948 2021-01-18 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
2949
2950 * config/rtems/sem.h (gomp_sem_getcount): New function.
2951
2952 2021-01-18 Jakub Jelinek <jakub (a] redhat.com>
2953
2954 * config/linux/sem.h (gomp_sem_getcount): New function.
2955 * config/posix/sem.h (gomp_sem_getcount): New function.
2956 * config/posix/sem.c (gomp_sem_getcount): New function.
2957 * config/accel/sem.h (gomp_sem_getcount): New function.
2958 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
2959 (omp_fulfill_event): Likewise.
2960
2961 2021-01-16 Kwok Cheung Yeung <kcy (a] codesourcery.com>
2962
2963 * fortran.c (omp_fulfill_event_): New.
2964 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
2965 (struct gomp_team): Add task_detach_queue and task_detach_count
2966 fields.
2967 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
2968 * libgomp_g.h (GOMP_task): Add extra argument.
2969 * omp.h.in (enum omp_event_handle_t): New.
2970 (omp_fulfill_event): New.
2971 * omp_lib.f90.in (omp_event_handle_kind): New.
2972 (omp_fulfill_event): New.
2973 * omp_lib.h.in (omp_event_handle_kind): New.
2974 (omp_fulfill_event): Declare.
2975 * priority_queue.c (priority_tree_find): New.
2976 (priority_list_find): New.
2977 (priority_queue_find): New.
2978 * priority_queue.h (priority_queue_predicate): New.
2979 (priority_queue_find): New.
2980 * task.c (gomp_init_task): Initialize detach field.
2981 (task_fulfilled_p): New.
2982 (GOMP_task): Add detach argument. Ignore detach argument if
2983 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
2984 field. Copy address of completion_sem into detach argument and
2985 into the start of the data record. Wait for detach event if task
2986 not deferred.
2987 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
2988 Remove completed tasks and requeue dependent tasks.
2989 (omp_fulfill_event): New.
2990 * team.c (gomp_new_team): Initialize task_detach_queue and
2991 task_detach_count fields.
2992 (free_team): Free task_detach_queue field.
2993 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
2994 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
2995 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
2996 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
2997 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
2998 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
2999 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
3000 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
3001 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
3002 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
3003 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
3004 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
3005
3006 2021-01-15 Jakub Jelinek <jakub (a] redhat.com>
3007
3008 PR target/70454
3009 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
3010 be added through preprocessor check on
3011 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
3012
3013 2021-01-14 Thomas Schwinge <thomas (a] codesourcery.com>
3014
3015 PR libgomp/65099
3016 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
3017 configurations.
3018 * configure: Regenerate.
3019 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
3020 check.
3021
3022 2021-01-05 Samuel Thibault <samuel.thibault (a] ens-lyon.org>
3023
3024 * configure: Re-generate.
3025
3026 2021-01-05 Samuel Thibault <samuel.thibault (a] ens-lyon.org>
3027
3028 * configure: Re-generate.
3029
3030 2021-01-05 Julian Brown <julian (a] codesourcery.com>
3031
3032 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
3033 (struct ptx_device): Add omp_stacks struct.
3034 (nvptx_open_device): Initialise cached-stacks housekeeping info.
3035 (nvptx_close_device): Free cached stacks block and mutex.
3036 (nvptx_stacks_free): New function.
3037 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
3038 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
3039 (nvptx_stacks_alloc): Rename to...
3040 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
3041 size or smaller is required.
3042 (nvptx_stacks_free): Remove.
3043 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
3044 during kernel execution.
3045
3046 2021-01-01 Jakub Jelinek <jakub (a] redhat.com>
3047
3048 * libgomp.texi: Bump @copying's copyright year.
3049
3050 2020-12-28 Gerald Pfeifer <gerald (a] pfeifer.com>
3051
3052 * libgomp.texi (Top): Avoid bad "up" link.
3053
3054 2020-12-18 Jakub Jelinek <jakub (a] redhat.com>
3055
3056 * testsuite/libgomp.c/task-6.c: New test.
3057
3058 2020-12-09 Andrew Stubbs <ams (a] codesourcery.com>
3059
3060 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
3061 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
3062
3063 2020-12-08 Tobias Burnus <tobias (a] codesourcery.com>
3064
3065 * testsuite/libgomp.fortran/scan-1.f90: New test.
3066
3067 2020-12-05 Iain Sandoe <iain (a] sandoe.co.uk>
3068
3069 PR target/97865
3070 * configure: Regenerate.
3071
3072 2020-11-29 John David Anglin <danglin (a] gcc.gnu.org>
3073
3074 * configure: Regenerate.
3075
3076 2020-11-25 Thomas Schwinge <thomas (a] codesourcery.com>
3077
3078 * testsuite/libgomp.oacc-c++/cache-1.C: New.
3079 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
3080
3081 2020-11-25 Andrew Stubbs <ams (a] codesourcery.com>
3082
3083 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
3084 expected results.
3085
3086 2020-11-24 Andrew Stubbs <ams (a] codesourcery.com>
3087
3088 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
3089 (reserved): Delete unused define.
3090
3091 2020-11-24 Thomas Schwinge <thomas (a] codesourcery.com>
3092
3093 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
3094 Tcl 8.5-specific behavior.
3095 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3096
3097 2020-11-18 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3098
3099 * env.c (gomp_global_icv): Remove nest_var field. Add
3100 max_active_levels_var field.
3101 (gomp_max_active_levels_var): Remove.
3102 (parse_boolean): Return true on success.
3103 (handle_omp_display_env): Express OMP_NESTED in terms of
3104 max_active_levels_var. Change format specifier for
3105 max_active_levels_var.
3106 (initialize_env): Set max_active_levels_var from
3107 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
3108 OMP_PROC_BIND.
3109 * icv.c (omp_set_nested): Express in terms of
3110 max_active_levels_var.
3111 (omp_get_nested): Likewise.
3112 (omp_set_max_active_levels): Use max_active_levels_var field instead
3113 of gomp_max_active_levels_var.
3114 (omp_get_max_active_levels): Likewise.
3115 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
3116 max_active_levels_var field.
3117 (gomp_supported_active_levels): Set to UCHAR_MAX.
3118 (gomp_max_active_levels_var): Delete.
3119 * libgomp.texi (omp_get_nested): Update documentation.
3120 (omp_set_nested): Likewise.
3121 (OMP_MAX_ACTIVE_LEVELS): Likewise.
3122 (OMP_NESTED): Likewise.
3123 (OMP_NUM_THREADS): Likewise.
3124 (OMP_PROC_BIND): Likewise.
3125 * parallel.c (gomp_resolve_num_threads): Replace reference
3126 to nest_var with max_active_levels_var. Use max_active_levels_var
3127 field instead of gomp_max_active_levels_var.
3128
3129 2020-11-18 Tobias Burnus <tobias (a] codesourcery.com>
3130
3131 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
3132 nvptx_usleep; use also for device={arch(gcn)}.
3133
3134 2020-11-14 Jakub Jelinek <jakub (a] redhat.com>
3135
3136 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
3137 (foo): Add tests for non-VLA private and firstprivate clauses on
3138 omp task.
3139 (bar): Likewise. Remove taking of address from private/firstprivate
3140 variables.
3141 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
3142 (foo): Add p, q, px and s arguments. Add tests for array reductions
3143 and for non-VLA private and firstprivate clauses on omp task.
3144 (bar): Removed.
3145 (main): Adjust foo caller. Don't call bar.
3146
3147 2020-11-13 Gerg Barany <gergo (a] codesourcery.com>
3148 Thomas Schwinge <thomas (a] codesourcery.com>
3149
3150 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3151 New.
3152 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3153 Likewise.
3154 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3155 Likewise.
3156 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3157 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3158
3159 2020-11-13 Gerg Barany <gergo (a] codesourcery.com>
3160 Thomas Schwinge <thomas (a] codesourcery.com>
3161
3162 PR fortran/94358
3163 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
3164
3165 2020-11-13 Jakub Jelinek <jakub (a] redhat.com>
3166
3167 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
3168 for array reductions.
3169 (main): Adjust foo callers.
3170
3171 2020-11-12 Jakub Jelinek <jakub (a] redhat.com>
3172
3173 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
3174 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
3175 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
3176 * allocator.c (omp_aligned_alloc): New for now static function,
3177 add alignment argument and handle it.
3178 (omp_alloc): Reimplement using omp_aligned_alloc.
3179 (GOMP_alloc, GOMP_free): New functions.
3180 (omp_free): Add ialias.
3181 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
3182 * testsuite/libgomp.c++/allocate-1.C: New test.
3183
3184 2020-11-12 Thomas Schwinge <thomas (a] codesourcery.com>
3185
3186 PR fortran/97782
3187 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
3188
3189 2020-11-10 Chung-Lin Tang <cltang (a] codesourcery.com>
3190
3191 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
3192 usable.
3193 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
3194 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
3195 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
3196 (goacc_enter_data_internal): Likewise.
3197 * target.c (gomp_map_vars_internal):
3198 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
3199 of gomp_attach_pointer for OpenMP cases.
3200 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
3201 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
3202 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
3203
3204 2020-11-05 Ulrich Drepper <drepper (a] redhat.com>
3205 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3206
3207 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
3208 * Makefile.in: Regenerate.
3209 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
3210 pragmas to ignore -Wdeprecated-declarations warnings.
3211 * icv.c: Likewise.
3212 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
3213 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
3214 and omp_get_nested with __GOMP_DEPRECATED_5_0.
3215 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
3216 deprecated.
3217 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
3218 to test options.
3219 * testsuite/libgomp.c/affinity-1.c: Likewise.
3220 * testsuite/libgomp.c/affinity-2.c: Likewise.
3221 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
3222 * testsuite/libgomp.c/lib-1.c: Likewise.
3223 * testsuite/libgomp.c/nested-1.c: Likewise.
3224 * testsuite/libgomp.c/nested-2.c: Likewise.
3225 * testsuite/libgomp.c/nested-3.c: Likewise.
3226 * testsuite/libgomp.c/pr32362-1.c: Likewise.
3227 * testsuite/libgomp.c/pr32362-2.c: Likewise.
3228 * testsuite/libgomp.c/pr32362-3.c: Likewise.
3229 * testsuite/libgomp.c/pr35549.c: Likewise.
3230 * testsuite/libgomp.c/pr42942.c: Likewise.
3231 * testsuite/libgomp.c/pr61200.c: Likewise.
3232 * testsuite/libgomp.c/sort-1.c: Likewise.
3233 * testsuite/libgomp.c/target-5.c: Likewise.
3234 * testsuite/libgomp.c/target-6.c: Likewise.
3235 * testsuite/libgomp.c/teams-1.c: Likewise.
3236 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
3237 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3238 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3239 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
3240 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3241 * testsuite/libgomp.fortran/lib2.f: Likewise.
3242 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3243 * testsuite/libgomp.fortran/teams1.f90: Likewise.
3244
3245 2020-11-02 Thomas Schwinge <thomas (a] codesourcery.com>
3246
3247 PR target/85486
3248 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
3249 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
3250 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3251
3252 2020-11-02 Thomas Schwinge <thomas (a] codesourcery.com>
3253
3254 PR testsuite/80219
3255 PR testsuite/85303
3256 * testsuite/lib/libgomp.exp (libgomp_init): Set
3257 'gcc_warning_prefix', 'gcc_error_prefix'.
3258
3259 2020-10-30 Jakub Jelinek <jakub (a] redhat.com>
3260
3261 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
3262 even in field_tgt_clear initializer.
3263
3264 2020-10-28 Jakub Jelinek <jakub (a] redhat.com>
3265
3266 * testsuite/libgomp.c/target-42.c: New test.
3267
3268 2020-10-28 Jakub Jelinek <jakub (a] redhat.com>
3269 Tom de Vries <tdevries (a] suse.de>
3270
3271 PR testsuite/81690
3272 * testsuite/libgomp.c/usleep.h: New file.
3273 * testsuite/libgomp.c/target-32.c: Include usleep.h.
3274 (main): Use tgt_usleep instead of usleep.
3275 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
3276 (main): Use tgt_usleep instead of usleep.
3277
3278 2020-10-28 Jakub Jelinek <jakub (a] redhat.com>
3279
3280 PR lto/96680
3281 * testsuite/libgomp.c/declare-variant-1.c: New test.
3282
3283 2020-10-22 Jakub Jelinek <jakub (a] redhat.com>
3284
3285 * testsuite/libgomp.c/target-41.c: New test.
3286
3287 2020-10-22 Jakub Jelinek <jakub (a] redhat.com>
3288
3289 * icv.c (omp_get_initial_device): Remove including corresponding
3290 ialias.
3291 * icv-device.c (omp_get_initial_device): New function. Return
3292 gomp_get_num_devices (). Add ialias.
3293 * target.c (resolve_device): Don't fail with
3294 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
3295 gomp_get_num_devices ().
3296 (omp_target_alloc, omp_target_free, omp_target_is_present,
3297 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
3298 omp_target_disassociate_ptr, omp_pause_resource): Use
3299 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
3300 first use in the functions, in uses dominated by the
3301 gomp_get_num_devices call use num_devices_openmp instead.
3302 * libgomp.texi (omp_get_initial_device): Document.
3303 * config/gcn/icv-device.c (omp_get_initial_device): New function.
3304 Add ialias.
3305 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
3306 * testsuite/libgomp.c/target-40.c: New test.
3307
3308 2020-10-21 Jakub Jelinek <jakub (a] redhat.com>
3309
3310 * env.c (parse_target_offload): Change new_offload var type to int,
3311 preinitialize to -1, remove found var and test new_offload != -1
3312 instead of found.
3313
3314 2020-10-20 Jakub Jelinek <jakub (a] redhat.com>
3315
3316 * target.c (gomp_target_init): Inside of the function, use automatic
3317 variables corresponding to num_devices, num_devices_openmp and devices
3318 global variables and update the globals only at the end of the
3319 function.
3320
3321 2020-10-20 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3322
3323 * env.c (gomp_target_offload_var): New.
3324 (parse_target_offload): New.
3325 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
3326 (initialize_env): Parse OMP_TARGET_OFFLOAD.
3327 * libgomp.h (gomp_target_offload_t): New.
3328 (gomp_target_offload_var): New.
3329 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
3330 * target.c (resolve_device): Generate error if device not found and
3331 offloading is mandatory.
3332 (gomp_target_fallback): Generate error if offloading is mandatory.
3333 (GOMP_target): Add argument in call to gomp_target_fallback.
3334 (GOMP_target_ext): Likewise.
3335 (gomp_target_data_fallback): Generate error if offloading is mandatory.
3336 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
3337 (GOMP_target_data_ext): Likewise.
3338 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
3339 (gomp_target_init): Return early if offloading is disabled.
3340
3341 2020-10-15 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3342
3343 * libgomp.texi (omp_get_max_active_levels): Modify description.
3344 (omp_get_supported_active_levels): Make descriptions consistent.
3345
3346 2020-10-14 Jakub Jelinek <jakub (a] redhat.com>
3347
3348 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
3349
3350 2020-10-13 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3351
3352 * env.c (gomp_max_active_levels_var): Initialize to
3353 gomp_supported_active_levels.
3354 (initialize_env): Limit gomp_max_active_levels_var to be at most
3355 equal to gomp_supported_active_levels.
3356 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
3357 (omp_get_supported_active_levels_): New.
3358 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
3359 to at most equal to gomp_supported_active_levels.
3360 (omp_get_supported_active_levels): New.
3361 * libgomp.h (gomp_supported_active_levels): New.
3362 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
3363 omp_get_supported_active_levels_.
3364 * libgomp.texi (omp_get_supported_active_levels): New.
3365 (omp_set_max_active_levels): Update. Add reference to
3366 omp_get_supported_active_levels.
3367 * omp.h.in (omp_get_supported_active_levels): New.
3368 * omp_lib.f90.in (omp_get_supported_active_levels): New.
3369 * omp_lib.h.in (omp_get_supported_active_levels): New.
3370 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
3371 against omp_get_supported_active_levels.
3372 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
3373
3374 2020-10-11 Clement Chigot <clement.chigot (a] atos.net>
3375
3376 * config/t-aix: Delete and recreate libgomp before creating
3377 FAT library.
3378
3379 2020-10-08 Tom de Vries <tdevries (a] suse.de>
3380
3381 PR libgomp/81802
3382 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
3383 dimensions.
3384
3385 2020-10-06 Tom de Vries <tdevries (a] suse.de>
3386
3387 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
3388
3389 2020-10-06 Tom de Vries <tdevries (a] suse.de>
3390
3391 PR middle-end/90861
3392 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
3393
3394 2020-10-05 Tom de Vries <tdevries (a] suse.de>
3395
3396 PR fortran/95654
3397 * testsuite/libgomp.fortran/pr95654.f90: New test.
3398
3399 2020-10-02 Tobias Burnus <tobias (a] codesourcery.com>
3400
3401 * Makefile.in: Regenerate with automake 1.15.1.
3402 * aclocal.m4: Likewise.
3403 * configure: Likewise.
3404 * testsuite/Makefile.in: Likewise.
3405
3406 2020-09-30 Andrew Stubbs <ams (a] codesourcery.com>
3407
3408 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
3409 and amdgcn targets.
3410
3411 2020-09-30 Tobias Burnus <tobias (a] codesourcery.com>
3412
3413 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
3414
3415 2020-09-29 Andrew Stubbs <ams (a] codesourcery.com>
3416
3417 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
3418 total number of threads is one.
3419 (gomp_team_barrier_wake): Likewise.
3420 (gomp_team_barrier_wait_end): Likewise.
3421 (gomp_team_barrier_wait_cancel_end): Likewise.
3422 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
3423 (gomp_team_barrier_wake): Likewise.
3424 (gomp_team_barrier_wait_end): Likewise.
3425 (gomp_team_barrier_wait_cancel_end): Likewise.
3426 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
3427
3428 2020-09-28 Tobias Burnus <tobias (a] codesourcery.com>
3429
3430 PR middle-end/96390
3431 * testsuite/libgomp.c++/pr96390.C: New test.
3432 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
3433
3434 2020-09-27 Clement Chigot <clement.chigot (a] atos.net>
3435
3436 * config/t-aix: Use $(AR) without -X32_64.
3437
3438 2020-09-25 Jakub Jelinek <jakub (a] redhat.com>
3439
3440 * testsuite/libgomp.c/loop-25.c: New test.
3441
3442 2020-09-22 Tobias Burnus <tobias (a] codesourcery.com>
3443
3444 PR fortran/95654
3445 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
3446
3447 2020-09-22 Tom de Vries <tdevries (a] suse.de>
3448
3449 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
3450 fails.
3451
3452 2020-09-16 Nathan Sidwell <nathan (a] acm.org>
3453
3454 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
3455
3456 2020-09-15 Tobias Burnus <tobias (a] codesourcery.com>
3457
3458 PR fortran/96668
3459 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
3460
3461 2020-09-15 Tobias Burnus <tobias (a] codesourcery.com>
3462
3463 PR fortran/96668
3464 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
3465 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
3466 (gomp_map_vars_existing): Update call to it.
3467 (gomp_map_fields_existing): Likewise
3468 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
3469 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
3470 remapped.
3471 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
3472 GOMP_MAP_POINTER.
3473 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
3474 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
3475
3476 2020-09-14 Tom de Vries <tdevries (a] suse.de>
3477
3478 * config/nvptx/atomic.c: New file. Add
3479 __sync_val_compare_and_swap_16.
3480 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
3481 target offload_target_nvptx.
3482
3483 2020-09-08 Julian Brown <julian (a] codesourcery.com>
3484
3485 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
3486 iteration-ordering assumptions.
3487
3488 2020-09-08 Julian Brown <julian (a] codesourcery.com>
3489
3490 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
3491 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3492
3493 2020-08-20 Chung-Lin Tang <cltang (a] codesourcery.com>
3494
3495 * plugin/plugin-nvptx.c (nvptx_free):
3496 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
3497 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
3498 comments.
3499
3500 2020-08-20 Tobias Burnus <tobias (a] codesourcery.com>
3501
3502 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
3503
3504 2020-08-13 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3505
3506 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
3507
3508 2020-08-13 Jakub Jelinek <jakub (a] redhat.com>
3509
3510 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
3511 * testsuite/libgomp.c/loop-23.c (main): Likewise.
3512 * testsuite/libgomp.c/loop-24.c: New test.
3513
3514 2020-08-08 Jakub Jelinek <jakub (a] redhat.com>
3515 Tobias Burnus <tobias (a] codesourcery.com>
3516
3517 PR fortran/93553
3518 * testsuite/libgomp.fortran/pr93553.f90: New test.
3519
3520 2020-08-05 Jakub Jelinek <jakub (a] redhat.com>
3521
3522 * testsuite/libgomp.c/loop-22.c: New test.
3523 * testsuite/libgomp.c/loop-23.c: New test.
3524
3525 2020-08-05 Jakub Jelinek <jakub (a] redhat.com>
3526
3527 PR middle-end/96459
3528 * testsuite/libgomp.c/teams-3.c: New test.
3529 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
3530 if not defined yet.
3531 (N(test)): Use it before all N(f*) calls.
3532 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
3533 (main): Don't call all test_* functions from within
3534 #pragma omp teams reduction(|:err), call them directly.
3535
3536 2020-08-04 Tom de Vries <tdevries (a] suse.de>
3537
3538 PR target/96428
3539 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
3540 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
3541
3542 2020-08-03 Julian Brown <julian (a] codesourcery.com>
3543 Thomas Schwinge <thomas (a] codesourcery.com>
3544
3545 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
3546 shared-memory devices. Extend with further checking.
3547
3548 2020-08-03 Martin Jambor <mjambor (a] suse.cz>
3549
3550 * plugin/Makefrag.am: Remove configuration of HSA plugin.
3551 * aclocal.m4: Regenerated.
3552 * Makefile.in: Regenerated.
3553 * config.h.in: Regenerated.
3554 * configure: Regenerated.
3555 * plugin/configfrag.ac: Likewise.
3556 * plugin/hsa_ext_finalize.h: Removed.
3557 * plugin/plugin-hsa.c: Likewise.
3558 * testsuite/Makefile.in: Regenerated.
3559 * testsuite/lib/libgomp.exp
3560 (offload_target_to_openacc_device_type): Remove hsa case.
3561 (check_effective_target_hsa_offloading_selected_nocache): Removed
3562 (check_effective_target_hsa_offloading_selected): Likewise.
3563 (libgomp_init): Do not add -Wno-hsa to additional_flags.
3564 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
3565 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3566 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
3567 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3568 * testsuite/libgomp.hsa.c/c.exp: Likewise.
3569 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3570 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
3571 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3572 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3573 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3574 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3575 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3576 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3577 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3578 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3579 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3580 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
3581 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3582 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
3583 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3584 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3585 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
3586 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3587 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3588
3589 2020-07-27 Julian Brown <julian (a] codesourcery.com>
3590 Thomas Schwinge <thomas (a] codesourcery.com>
3591
3592 * libgomp.h (struct target_var_desc): Rename do_detach field to
3593 is_attach.
3594 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
3595 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
3596 (goacc_enter_data_internal): Don't affect reference counts
3597 for attach mappings.
3598 (goacc_exit_data_internal): Don't affect reference counts for detach
3599 mappings.
3600 * target.c (gomp_map_vars_existing): Don't affect reference counts for
3601 attach mappings.
3602 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
3603 mark attach mappings.
3604 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
3605 reference count for attach mappings.
3606 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
3607 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3608 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3609 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
3610 test as shouldfail.
3611 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
3612 gracefully in no-finalize mode.
3613 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
3614
3615 2020-07-24 Thomas Schwinge <thomas (a] codesourcery.com>
3616
3617 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
3618 use.
3619 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3620 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3621
3622 2020-07-23 Julian Brown <julian (a] codesourcery.com>
3623 Thomas Schwinge <thomas (a] codesourcery.com>
3624
3625 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
3626 finalization for detach operation.
3627 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
3628 New test.
3629
3630 2020-07-23 Tobias Burnus <tobias (a] codesourcery.com>
3631
3632 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
3633 * libgomp_f.h.in (omp_check_defines): Check whether
3634 sizeof of determined Fortran kind and C typedef match.
3635 * omp_lib.f90.in: Add omp_depened_kind.
3636 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
3637 * configure: Regenerate.
3638 * Makefile.in: Regenerate.
3639 * testsuite/Makefile.in: Regenerate.
3640
3641 2020-07-22 Tobias Burnus <tobias (a] codesourcery.com>
3642
3643 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
3644 gcc/testsuite/c-c++-common/gomp/.
3645 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
3646 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
3647 from gcc/testsuite/gfortran.dg/gomp/.
3648 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
3649
3650 2020-07-22 Tobias Burnus <tobias (a] codesourcery.com>
3651
3652 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
3653 * omp_lib.h.in: Likewise.
3654
3655 2020-07-18 H.J. Lu <hjl.tools (a] gmail.com>
3656
3657 PR target/95620
3658 * testsuite/libgomp.c/pr95620.c: New test.
3659
3660 2020-07-16 Julian Brown <julian (a] codesourcery.com>
3661 Thomas Schwinge <thomas (a] codesourcery.com>
3662
3663 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
3664 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
3665
3666 2020-07-15 Tobias Burnus <tobias (a] codesourcery.com>
3667
3668 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
3669 avoid conversion on 32bit systems from 32bit to 64bit due
3670 to -fdefault-integer-8.
3671
3672 2020-07-15 Tobias Burnus <tobias (a] codesourcery.com>
3673
3674 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
3675 variables; add character(kind=4) tests; update TODO comment.
3676
3677 2020-07-15 Tobias Burnus <tobias (a] codesourcery.com>
3678
3679 * allocator.c: Add ialias for omp_init_allocator and
3680 omp_destroy_allocator.
3681 * configure.ac: Set INTPTR_T_KIND.
3682 * configure: Regenerate.
3683 * Makefile.in: Regenerate.
3684 * testsuite/Makefile.in: Regenerate.
3685 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
3686 omp_set_default_allocator_, omp_get_default_allocator_): New
3687 functions and ialias_redirect.
3688 * icv.c: Add ialias for omp_set_default_allocator and
3689 omp_get_default_allocator.
3690 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
3691 omp_destroy_allocator_, omp_set_default_allocator_ and
3692 omp_get_default_allocator_.
3693 * omp_lib.f90.in: Add allocator traits parameters, declare
3694 allocator routines and add related kind parameters.
3695 * omp_lib.h.in: Likewise.
3696 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
3697 * testsuite/libgomp.fortran/alloc-1.F90: New test.
3698 * testsuite/libgomp.fortran/alloc-2.F90: New test.
3699 * testsuite/libgomp.fortran/alloc-3.F: New test.
3700 * testsuite/libgomp.fortran/alloc-4.f90: New test.
3701 * testsuite/libgomp.fortran/alloc-5.f90: New test.
3702
3703 2020-07-14 Tom de Vries <tom (a] codesourcery.com>
3704 Cesar Philippidis <cesar (a] codesourcery.com>
3705 Thomas Schwinge <thomas (a] codesourcery.com>
3706 Kwok Cheung Yeung <kcy (a] codesourcery.com>
3707
3708 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
3709 New variable.
3710 (acc_init_1): Set acc_init_thread to pthread_self (). Set
3711 acc_init_state to initializing at the start, and to initialized at the
3712 end.
3713 (self_initializing_p): New function.
3714 (acc_get_device_type): Return acc_device_none if called by thread that
3715 is currently executing acc_init_1.
3716 * libgomp.texi (acc_get_device_type): Update documentation.
3717 (Implementation Status and Implementation-Defined Behavior): Likewise.
3718 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
3719
3720 2020-07-14 David Edelsohn <dje.gcc (a] gmail.com>
3721
3722 * config/t-aix: Set BITS from compiler cpp macro.
3723
3724 2020-07-14 Tobias Burnus <tobias (a] codesourcery.com>
3725
3726 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
3727
3728 2020-07-14 Tobias Burnus <tobias (a] codesourcery.com>
3729
3730 PR fortran/67311
3731 * testsuite/libgomp.fortran/target-map-1.f90: New test.
3732
3733 2020-07-14 Jakub Jelinek <jakub (a] redhat.com>
3734
3735 * testsuite/libgomp.c/loop-21.c: New test.
3736
3737 2020-07-13 Julian Brown <julian (a] codesourcery.com>
3738 Thomas Schwinge <thomas (a] codesourcery.com>
3739
3740 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
3741
3742 2020-07-10 Julian Brown <julian (a] codesourcery.com>
3743 Thomas Schwinge <thomas (a] codesourcery.com>
3744
3745 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
3746 dynamic_refcount.
3747 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3748 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
3749 dynamic_refcount.
3750 (acc_unmap_data): Update comment.
3751 (goacc_map_var_existing, goacc_enter_datum): Adjust for
3752 dynamic_refcount semantics.
3753 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
3754 Adjust for dynamic_refcount semantics.
3755 (goacc_enter_data_internal): Implement "present" case of dynamic
3756 memory-map handling here. Update "non-present" case for
3757 dynamic_refcount semantics.
3758 (goacc_exit_data_internal): Use goacc_exit_datum_1.
3759 * target.c (gomp_map_vars_internal): Remove
3760 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
3761 handling.
3762 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
3763 (gomp_load_image_to_device): Substitute dynamic_refcount for
3764 virtual_refcount.
3765 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
3766 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
3767 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
3768 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
3769 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
3770 trace output.
3771 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
3772 trace output.
3773 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
3774 test.
3775 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3776 Remove stale comment.
3777 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
3778 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3779 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3780 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3781 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3782 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
3783
3784 2020-07-10 Julian Brown <julian (a] codesourcery.com>
3785 Thomas Schwinge <thomas (a] codesourcery.com>
3786
3787 * oacc-mem.c (goacc_map_var_existing): New function.
3788 (goacc_enter_datum): Use above function.
3789 (goacc_exit_datum_1): New function.
3790 (goacc_exit_datum): Use above function.
3791
3792 2020-07-09 Julian Brown <julian (a] codesourcery.com>
3793 Thomas Schwinge <thomas (a] codesourcery.com>
3794
3795 PR middle-end/95270
3796 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
3797 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
3798
3799 2020-07-09 Julian Brown <julian (a] codesourcery.com>
3800
3801 * oacc-mem.c (find_group_last): Group data-movement clauses
3802 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
3803 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
3804
3805 2020-07-09 Jakub Jelinek <jakub (a] redhat.com>
3806
3807 * testsuite/libgomp.c/loop-19.c: New test.
3808 * testsuite/libgomp.c/loop-20.c: New test.
3809
3810 2020-07-09 Jakub Jelinek <jakub (a] redhat.com>
3811
3812 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
3813 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
3814 it. Remove __omp_alloctrait_value_max__.
3815 * allocator.c (omp_init_allocator): Handle omp_atv_default for
3816 omp_atk_alignment and omp_atk_pool_size.
3817
3818 2020-07-03 Thomas Schwinge <thomas (a] codesourcery.com>
3819
3820 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
3821 behavior for 'GOMP_MAP_FORCE_FROM'.
3822 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
3823
3824 2020-07-03 Thomas Schwinge <thomas (a] codesourcery.com>
3825
3826 * oacc-mem.c (goacc_exit_data_internal): Remove
3827 'GOMP_MAP_ALWAYS_FROM' handling.
3828
3829 2020-06-30 Thomas Schwinge <thomas (a] codesourcery.com>
3830
3831 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
3832 'scan-assembler' with 'scan-offload-rtl'.
3833 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
3834 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3835 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
3836 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
3837
3838 2020-06-30 Thomas Schwinge <thomas (a] codesourcery.com>
3839
3840 * target.c (gomp_map_vars_existing): Assert 'kind !=
3841 GOMP_MAP_ATTACH'.
3842 (gomp_map_vars_internal): Clean up.
3843
3844 2020-06-27 Jakub Jelinek <jakub (a] redhat.com>
3845
3846 * testsuite/libgomp.c/loop-17.c: New test.
3847 * testsuite/libgomp.c/loop-18.c: New test.
3848
3849 2020-06-26 Marek Polacek <polacek (a] redhat.com>
3850
3851 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
3852
3853 2020-06-23 Alexandre Oliva <oliva (a] adacore.com>
3854
3855 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
3856 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
3857
3858 2020-06-22 David Edelsohn <dje.gcc (a] gmail.com>
3859
3860 * Makefile.am: Use -include.
3861 * Makefile.in: Regenerate.
3862
3863 2020-06-21 David Edelsohn <dje.gcc (a] gmail.com>
3864
3865 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
3866 * Makefile.in: Regenerate
3867 * configure.ac (tmake_file): Substitute.
3868 * configure: Regenerate.
3869 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
3870 * config/t-aix: New file.
3871
3872 2020-06-17 Thomas Schwinge <thomas (a] codesourcery.com>
3873
3874 PR lto/94848
3875 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
3876 'dg-do run'.
3877
3878 2020-06-17 Andrew Stubbs <ams (a] codesourcery.com>
3879
3880 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
3881 variant for HSA_RUNTIME_LIB name.
3882 (find_executable_symbol_1): Delete.
3883 (find_executable_symbol): Delete.
3884 (init_kernel_properties): Add ".kd" suffix to symbol names.
3885 (find_load_offset): Delete.
3886 (create_and_finalize_hsa_program): Remove relocation handling.
3887
3888 2020-06-16 Tobias Burnus <tobias (a] codesourcery.com>
3889
3890 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
3891
3892 2020-06-08 Tobias Burnus <tobias (a] codesourcery.com>
3893
3894 PR lto/94848
3895 PR middle-end/95551
3896 * testsuite/libgomp.fortran/target-var.f90: New test.
3897
3898 2020-06-05 Thomas Schwinge <thomas (a] codesourcery.com>
3899 Julian Brown <julian (a] codesourcery.com>
3900
3901 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
3902 special handling.
3903
3904 2020-06-05 Thomas Schwinge <thomas (a] codesourcery.com>
3905 Julian Brown <julian (a] codesourcery.com>
3906
3907 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3908 Simplify.
3909
3910 2020-06-05 Julian Brown <julian (a] codesourcery.com>
3911
3912 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
3913 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
3914
3915 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3916
3917 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3918 Evaluate 'copyfrom' individually for each entry.
3919 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
3920
3921 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3922
3923 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3924 Evaluate 'finalize' individually for each entry.
3925 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
3926 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
3927 file.
3928
3929 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3930
3931 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
3932 usage.
3933 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
3934
3935 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3936 Julian Brown <julian (a] codesourcery.com>
3937
3938 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
3939 checking.
3940 (acc_unmap_data, goacc_exit_data_internal): Restore
3941 'is_tgt_unmapped' checking.
3942 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
3943 file.
3944 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
3945 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3946 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3947 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3948 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3949 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3950
3951 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3952 Julian Brown <julian (a] codesourcery.com>
3953
3954 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
3955
3956 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3957
3958 PR libgomp/92854
3959 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
3960
3961 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3962
3963 PR libgomp/92854
3964 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
3965 more.
3966
3967 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3968 Julian Brown <julian (a] codesourcery.com>
3969
3970 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
3971 'gomp_map_vars'.
3972 (acc_map_data): Clean up accordingly.
3973
3974 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3975
3976 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
3977 of over-eager 'finalize' clause.
3978 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
3979 file.
3980 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3981 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3982 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3983 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3984 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3985 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
3986 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3987 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
3988
3989 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
3990
3991 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
3992
3993 2020-06-04 Julian Brown <julian (a] codesourcery.com>
3994
3995 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
3996 error path.
3997 (goacc_detach_internal): Likewise.
3998
3999 2020-06-04 Thomas Schwinge <thomas (a] codesourcery.com>
4000
4001 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
4002 the checkpoint.
4003 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
4004 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
4005 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
4006 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
4007 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
4008
4009 2020-06-02 Jakub Jelinek <jakub (a] redhat.com>
4010
4011 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
4012 defined.
4013
4014 2020-05-30 Jakub Jelinek <jakub (a] redhat.com>
4015
4016 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
4017
4018 2020-05-30 Jakub Jelinek <jakub (a] redhat.com>
4019
4020 * allocator.c (omp_alloc): For size == 0, return NULL early.
4021
4022 2020-05-29 H.J. Lu <hjl.tools (a] gmail.com>
4023
4024 PR bootstrap/95413
4025 * configure: Regenerated.
4026
4027 2020-05-23 Thomas Koenig <tkoenig (a] gcc.gnu.org>
4028
4029 PR libfortran/95191
4030 * testsuite/libgomp.fortran/async_io_9.f90: New test.
4031
4032 2020-05-19 Jakub Jelinek <jakub (a] redhat.com>
4033
4034 * omp.h.in (omp_uintptr_t): New typedef.
4035 (__GOMP_UINTPTR_T_ENUM): Define.
4036 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
4037 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
4038 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
4039 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
4040 omp_get_default_allocator, omp_alloc, omp_free): Declare.
4041 * libgomp.h (struct gomp_team_state): Add def_allocator field.
4042 (gomp_def_allocator): Declare.
4043 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
4044 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
4045 omp_alloc and omp_free.
4046 * team.c (gomp_team_start): Copy over ts.def_allocator.
4047 * env.c (gomp_def_allocator): New variable.
4048 (parse_wait_policy): Adjust function comment.
4049 (parse_allocator): New function.
4050 (handle_omp_display_env): Print OMP_ALLOCATOR.
4051 (initialize_env): Call parse_allocator.
4052 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
4053 * allocator.c: New file.
4054 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
4055 functions.
4056 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
4057 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
4058 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
4059 * Makefile.in: Regenerated.
4060
4061 2020-05-15 H.J. Lu <hongjiu.lu (a] intel.com>
4062
4063 PR bootstrap/95147
4064 * configure: Regenerated.
4065
4066 2020-05-14 Thomas Koenig <tkoenig (a] gcc.gnu.org>
4067
4068 PR libfortran/95119
4069 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
4070
4071 2020-05-14 H.J. Lu <hongjiu.lu (a] intel.com>
4072
4073 * configure: Regenerated.
4074
4075 2020-05-14 Jakub Jelinek <jakub (a] redhat.com>
4076
4077 * testsuite/libgomp.c-c++-common/target-40.c: New test.
4078
4079 2020-05-13 Tobias Burnus <tobias (a] codesourcery.com>
4080
4081 PR fortran/94690
4082 * testsuite/libgomp.fortran/pr66199-3.f90: New.
4083 * testsuite/libgomp.fortran/pr66199-4.f90: New.
4084 * testsuite/libgomp.fortran/pr66199-5.f90: New.
4085 * testsuite/libgomp.fortran/pr66199-6.f90: New.
4086 * testsuite/libgomp.fortran/pr66199-7.f90: New.
4087 * testsuite/libgomp.fortran/pr66199-8.f90: New.
4088 * testsuite/libgomp.fortran/pr66199-9.f90: New.
4089
4090 2020-05-12 Jakub Jelinek <jakub (a] redhat.com>
4091
4092 * testsuite/libgomp.c/target-39.c: New test.
4093
4094 2020-04-29 Thomas Schwinge <thomas (a] codesourcery.com>
4095
4096 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
4097 * openacc.f90 (acc_device_current): Likewise.
4098 * openacc.h (acc_device_current): Likewise.
4099 * openacc_lib.h (acc_device_current): Likewise.
4100
4101 PR target/94282
4102 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
4103 'dg-allow-blank-lines-in-output'.
4104
4105 * oacc-init.c (get_openacc_name): Handle 'gcn'.
4106 * testsuite/lib/libgomp.exp
4107 (offload_target_to_openacc_device_type) [amdgcn*]: Return
4108 'radeon'. Adjust all users.
4109 (check_effective_target_openacc_amdgcn_accel_present): Rename
4110 to...
4111 (check_effective_target_openacc_radeon_accel_present): ... this.
4112 Adjust all users.
4113 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
4114 (check_effective_target_openacc_radeon_accel_selected): ... this.
4115 Adjust all users.
4116
4117 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
4118 'dg-do run'.
4119
4120 2020-04-23 Andrew Stubbs <ams (a] codesourcery.com>
4121
4122 PR other/94629
4123
4124 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
4125 hsa_iterate_agents.
4126 (GOMP_OFFLOAD_init_device): Check return values from both calls to
4127 hsa_agent_iterate_regions.
4128
4129 2020-04-20 Thomas Schwinge <thomas (a] codesourcery.com>
4130
4131 PR middle-end/94635
4132 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
4133 run'.
4134
4135 2020-04-20 Tobias Burnus <tobias (a] codesourcery.com>
4136
4137 PR middle-end/94120
4138 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
4139 test case.
4140
4141 2020-04-17 Tobias Burnus <tobias (a] codesourcery.com>
4142
4143 PR middle-end/94635
4144 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
4145
4146 2020-04-13 Thomas Schwinge <thomas (a] codesourcery.com>
4147
4148 PR libgomp/92843
4149 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4150 Rename to...
4151 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
4152 ... this.
4153 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4154 Rename to...
4155 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
4156 ... this.
4157 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4158 Rename to...
4159 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
4160 ... this.
4161 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4162 Rename to...
4163 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
4164 ... this.
4165 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4166 Rename to...
4167 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
4168 ... this.
4169 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4170 Rename to...
4171 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
4172 ... this.
4173 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4174 Rename to...
4175 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
4176 ... this.
4177 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4178 Rename to...
4179 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4180 ... this.
4181 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4182 Rename to...
4183 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
4184 ... this.
4185 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4186 Rename to...
4187 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
4188 ... this.
4189 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4190 Rename to...
4191 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
4192 ... this.
4193 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4194 Rename to...
4195 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
4196 ... this.
4197 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4198 Rename to...
4199 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
4200 ... this.
4201 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4202 Rename to...
4203 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
4204 ... this.
4205 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4206 Rename to...
4207 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
4208 ... this.
4209 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
4210 Rename to...
4211 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
4212 ... this.
4213
4214 2020-04-10 Julian Brown <julian (a] codesourcery.com>
4215 Thomas Schwinge <thomas (a] codesourcery.com>
4216
4217 PR libgomp/92843
4218 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4219 New file.
4220 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4221 Likewise.
4222 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4223 Likewise.
4224 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4225 Likewise.
4226 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4227 Likewise.
4228 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4229 Likewise.
4230 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4231 Likewise.
4232 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4233 Likewise.
4234 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4235 Likewise.
4236 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4237 Likewise.
4238 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4239 Likewise.
4240 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4241 Likewise.
4242 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4243 Likewise.
4244 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4245 Likewise.
4246 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4247 Likewise.
4248 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
4249 Likewise.
4250
4251 2020-04-10 Thomas Schwinge <thomas (a] codesourcery.com>
4252
4253 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
4254 run'.
4255
4256 2020-04-08 Tobias Burnus <tobias (a] codesourcery.com>
4257
4258 PR middle-end/94120
4259 * libgomp.oacc-c++/declare-pr94120.C: New.
4260
4261 2020-04-06 Maciej W. Rozycki <macro (a] wdc.com>
4262
4263 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
4264 files.
4265 * configure: Regenerate.
4266 * testsuite/libgomp-site-extra.exp.in: New file.
4267 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
4268 variable.
4269 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
4270 variable.
4271 * testsuite/Makefile.in: Regenerate.
4272
4273 2020-04-03 Thomas Schwinge <thomas (a] codesourcery.com>
4274
4275 PR tree-optimization/89713
4276 PR c/94392
4277 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
4278 'bar.sync'.
4279 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4280
4281 2020-03-31 Tobias Burnus <tobias (a] codesourcery.com>
4282
4283 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
4284 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
4285
4286 2020-03-24 Tobias Burnus <tobias (a] codesourcery.com>
4287
4288 PR libgomp/81689
4289 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
4290
4291 2020-03-20 Tobias Burnus <tobias (a] codesourcery.com>
4292
4293 PR libgomp/94251
4294 * target.c (gomp_load_image_to_device): Fix link
4295 variable handling.
4296
4297 2020-03-19 Jakub Jelinek <jakub (a] redhat.com>
4298
4299 PR c++/93931
4300 * testsuite/libgomp.c++/pr93931.C: New test.
4301
4302 2020-03-19 Tobias Burnus <tobias (a] codesourcery.com>
4303
4304 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
4305 dg-allow-blank-lines-in-output.
4306
4307 2020-03-18 Julian Brown <julian (a] codesourcery.com>
4308 Tobias Burnus <tobias (a] codesourcery.com>
4309
4310 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
4311 it work concurrently.
4312
4313 2020-03-18 Tobias Burnus <tobias (a] codesourcery.com>
4314
4315 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
4316 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
4317 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
4318
4319 2020-03-14 Jakub Jelinek <jakub (a] redhat.com>
4320
4321 PR middle-end/93566
4322 * testsuite/libgomp.c/pr93566.c: New test.
4323
4324 2020-02-21 Frederik Harwath <frederik (a] codesourcery.com>
4325
4326 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
4327 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
4328 integer(acc_device_property) for the type of the return value of
4329 acc_get_property.
4330
4331 2020-02-19 Tobias Burnus <tobias (a] codesourcery.com>
4332
4333 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
4334 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
4335 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
4336 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
4337 (acc_set_device_num): Fix Fortran argument name, use same name for C.
4338 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
4339 corrections; add note about the previous interface and named constant.
4340 (OpenACC library and environment variables): Fix two typos.
4341 * openacc.f90: Use for all procedures the argument names from the spec
4342 as for _h they are user visible.
4343 (openacc_kinds): Rename acc_device_property to
4344 acc_device_property_kinds and change value to int32 ; and update users.
4345 Re-add acc_device_property for for backward compatibility.
4346 (acc_get_property_string_h): Clean up as acc_device_property_kind
4347 changed.
4348 (acc_get_property_h): Likewise and return c_size_t instead of
4349 acc_device_property.
4350 (openacc): Also export acc_device_property_kinds.
4351 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
4352 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
4353 handling; check against /= 0 instead of == 1 to match C.
4354 * openacc_lib.h: Use for all procedures the argument names from the spec
4355 as for _h they are user visible. Place !GCC$ into the first column to
4356 be active also for fixed-form souce form.
4357 (acc_device_current, acc_device_property_kind, acc_device_property,
4358 acc_property_memory, acc_property_free_memory, acc_property_name,
4359 acc_property_vendor, acc_property_driver): New named constants.
4360 (acc_get_property, acc_get_property_string): New generic interface.
4361
4362 2020-02-13 Frederik Harwath <frederik (a] codesourcery.com>
4363
4364 PR libgomp/93481
4365 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
4366 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
4367 optional.
4368 (gomp_target_task_fn): Assert "devicep->async_run_func".
4369 (clear_unsupported_flags): New function to remove unsupported flags
4370 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
4371 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
4372 * testsuite/libgomp.c/target-33.c:
4373 Remove xfail for offload_target_nvptx.
4374 * testsuite/libgomp.c/target-34.c: Likewise.
4375
4376 2020-02-10 Frederik Harwath <frederik (a] codesourcery.com>
4377
4378 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
4379 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
4380 * testsuite/libgomp.c/target-34.c: Likewise.
4381 * testsuite/libgomp.c/target-link-1.c: Add xfail for
4382 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
4383
4384 2020-02-09 Jakub Jelinek <jakub (a] redhat.com>
4385
4386 * testsuite/libgomp.c/target-38.c: New test.
4387
4388 2020-02-06 Jakub Jelinek <jakub (a] redhat.com>
4389
4390 PR libgomp/93515
4391 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
4392
4393 2020-02-05 Tobias Burnus <tobias (a] codesourcery.com>
4394
4395 * testsuite/lib/libgomp.exp
4396 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
4397 and not as 'source' argument to libgomp_target_compile.
4398
4399 2020-02-03 Andrew Stubbs <ams (a] codesourcery.com>
4400
4401 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
4402 (gcn_gfx801_s): Remove.
4403 (isa_hsa_name): Remove gfx801.
4404 (isa_gcc_name): Remove gfx801/carizzo.
4405 (isa_code): Remove gfx801.
4406
4407 2020-02-03 Julian Brown <julian (a] codesourcery.com>
4408 Tobias Burnus <tobias (a] codesourcery.com>
4409
4410 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
4411 and *_finalize variants; document acc_attach and acc_detach; update
4412 references from OpenACC 2.0 to 2.6.
4413 * openacc.f90 (openacc_version): Update to 201711.
4414 * openacc_lib.h (openacc_version): Update to 201711.
4415 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
4416 openacc_version to 201711.
4417 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4418
4419 2020-01-31 Kwok Cheung Yeung <kcy (a] codesourcery.com>
4420
4421 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
4422 and vgpr_count fields.
4423 (struct kernel_info): Add a field for a hsa_kernel_description.
4424 (run_kernel): Reduce the number of threads/workers if the requested
4425 number would require too many VGPRs.
4426 (init_basic_kernel_info): Initialize description field with
4427 the hsa_kernel_description entry for the kernel.
4428
4429 2020-01-29 Tobias Burnus <tobias (a] codesourcery.com>
4430
4431 PR bootstrap/93409
4432 * plugin/configfrag.ac (enable_offload_targets): Skip
4433 HSA and GCN plugin besides -m32 also for -mx32.
4434 * configure: Regenerate.
4435
4436 2020-01-29 Frederik Harwath <frederik (a] codesourcery.com>
4437
4438 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
4439
4440 2020-01-29 Frederik Harwath <frederik (a] codesourcery.com>
4441
4442 * plugin-gcn.c (struct agent_info): Add fields "name" and
4443 "vendor_name" ...
4444 (GOMP_OFFLOAD_init_device): ... and init from here.
4445 (struct hsa_context_info): Add field "driver_version_s" ...
4446 (init_hsa_contest): ... and init from here.
4447 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
4448 implementation.
4449 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4450 Enable test execution for amdgcn and host offloading targets.
4451 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
4452 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4453 (expect_device_properties): Split function into ...
4454 (expect_device_string_properties): ... this new function ...
4455 (expect_device_memory): ... and this new function.
4456 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
4457 Add test.
4458
4459 2020-01-28 Julian Brown <julian (a] codesourcery.com>
4460
4461 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
4462 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
4463 component/non-component variable refs in a single directive.
4464 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
4465
4466 2020-01-24 Maciej W. Rozycki <macro (a] wdc.com>
4467
4468 * configure.ac: Handle `--with-toolexeclibdir='.
4469 * Makefile.in: Regenerate.
4470 * aclocal.m4: Regenerate.
4471 * configure: Regenerate.
4472 * testsuite/Makefile.in: Regenerate.
4473
4474 2020-01-24 Frederik Harwath <frederik (a] codesourcery.com>
4475
4476 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4477 (expect_device_properties): Remove "expected_free_mem" argument,
4478 change "expected_total_mem" argument type to size_t;
4479 change types of acc_get_property results to size_t,
4480 adapt format strings.
4481 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4482 Use %zu instead of %zd to print size_t values.
4483 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
4484 rename to ...
4485 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
4486 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
4487 rename to ...
4488 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
4489
4490 2020-01-23 Andrew Stubbs <ams (a] codesourcery.com>
4491
4492 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
4493 the device id.
4494
4495 2020-01-20 Andrew Stubbs <ams (a] codesourcery.com>
4496
4497 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
4498 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
4499 Adjust test dimensions for amdgcn.
4500 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
4501 gang/worker/vector expectations dynamically.
4502 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
4503 (main): Likewise.
4504 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
4505 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
4506 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
4507 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
4508 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
4509 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
4510 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
4511 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
4512 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4513 (acc_gang): Recognise acc_device_radeon.
4514 (acc_worker): Likewise.
4515 (acc_vector): Likewise.
4516 (main): Set expectations for amdgcn.
4517 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
4518 (main): Adjust gang/worker/vector expectations dynamically.
4519 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
4520 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
4521 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
4522 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
4523 for amdgcn.
4524
4525 2020-01-17 Andrew Stubbs <ams (a] codesourcery.com>
4526
4527 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
4528 acc_device_radeon.
4529 (openacc): Likewise.
4530 * openacc.f90 (openacc_kinds): Likewise.
4531 (openacc): Likewise.
4532 * openacc.h (acc_device_t): Likewise.
4533 * openacc_lib.h: Likewise.
4534 * testsuite/lib/libgomp.exp
4535 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
4536 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
4537 (cb_compute_construct_end): Likewise.
4538 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4539 (cb_enqueue_launch_start): Likewise.
4540 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
4541 (cb_enter_data_end): Likewise.
4542 (cb_exit_data_start): Likewise.
4543 (cb_exit_data_end): Likewise.
4544 (cb_compute_construct_end): Likewise.
4545 (cb_enqueue_launch_start): Likewise.
4546 (cb_enqueue_launch_end): Likewise.
4547 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
4548 (main): Likewise.
4549
4550 2020-01-10 Thomas Schwinge <thomas (a] codesourcery.com>
4551
4552 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
4553 to use this instead of 'enum gomp_device_property'.
4554 (GOMP_OFFLOAD_get_property): Rename to...
4555 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
4556 * libgomp.h (struct gomp_device_descr): Move
4557 'GOMP_OFFLOAD_openacc_get_property'...
4558 (struct acc_dispatch_t): ... here. Adjust all users.
4559 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
4560
4561 * target.c (gomp_map_vars_internal)
4562 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
4563 paths.
4564
4565 2020-01-10 Jakub Jelinek <jakub (a] redhat.com>
4566
4567 PR libgomp/93219
4568 * libgomp.h (gomp_print_string): Change return type from void to int.
4569 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
4570 not all characters have been written.
4571
4572 2020-01-08 Tobias Burnus <tobias (a] codesourcery.com>
4573
4574 * libgomp.texi: Fix typos, use https.
4575
4576 2020-01-03 Tobias Burnus <tobias (a] codesourcery.com>
4577
4578 * testsuite/libgomp.fortran/optional-map.f90: Add test for
4579 unallocated/disassociated actual arguments to nonallocatable/nonpointer
4580 dummy arguments; those are/shall be regarded as absent arguments.
4581 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4582 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
4583
4584 2020-01-01 Jakub Jelinek <jakub (a] redhat.com>
4585
4586 Update copyright years.
4587
4588 * libgomp.texi: Bump @copying's copyright year.
4589
4590 2019-12-31 Ayush Mittal <ayush.m (a] samsung.com>
4591
4592 PR libgomp/93065
4593 * oacc-init.c (goacc_runtime_deinitialize): New function.
4594
4595 2019-12-28 Jakub Jelinek <jakub (a] redhat.com>
4596
4597 PR bootstrap/93074
4598 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
4599 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
4600
4601 2019-12-22 Maciej W. Rozycki <macro (a] codesourcery.com>
4602 Frederik Harwath <frederik (a] codesourcery.com>
4603 Thomas Schwinge <tschwinge (a] codesourcery.com>
4604
4605 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
4606 * libgomp-plugin.h (gomp_device_property_value): New union.
4607 (gomp_device_property_value): New prototype.
4608 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
4609 constant.
4610 (acc_device_property_t): New enum.
4611 (acc_get_property, acc_get_property_string): New prototypes.
4612 * oacc-init.c (acc_get_device_type): Also assert that result
4613 is not `acc_device_current'.
4614 (get_property_any, acc_get_property, acc_get_property_string):
4615 New functions.
4616 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
4617 `acc_property_memory', `acc_property_free_memory',
4618 `acc_property_name', `acc_property_vendor' and
4619 `acc_property_driver' constants. Add `acc_device_property' data
4620 type.
4621 (openacc_internal): Add `acc_get_property' and
4622 `acc_get_property_string' interfaces. Add `acc_get_property_h',
4623 `acc_get_property_string_h', `acc_get_property_l' and
4624 `acc_get_property_string_l'.
4625 * oacc-host.c (host_get_property): New function.
4626 (host_dispatch): Wire it.
4627 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
4628 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
4629 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
4630 * libgomp.texi (OpenACC Runtime Library Routines): Add
4631 `acc_get_property'.
4632 (acc_get_property): New node.
4633 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
4634 function (stub).
4635 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
4636 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
4637 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
4638 calls.
4639 (GOMP_OFFLOAD_get_property): New function.
4640 (struct ptx_device): Add new field "name".
4641 (cuda_driver_version_s): Add new static variable ...
4642 (nvptx_init): ... and init from here.
4643
4644 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
4645 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
4646 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
4647 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
4648 with test helper functions.
4649
4650 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
4651
4652 2019-12-22 Maciej W. Rozycki <macro (a] wdc.com>
4653
4654 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
4655 variable.
4656
4657 2019-12-21 Thomas Schwinge <thomas (a] codesourcery.com>
4658
4659 * target.c (gomp_map_vars_internal): Restore 'omp declare target
4660 link' handling.
4661
4662 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4663
4664 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
4665 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
4666 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
4667
4668 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4669 Cesar Philippidis <cesar (a] codesourcery.com>
4670
4671 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
4672 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
4673 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
4674 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
4675 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
4676 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
4677 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
4678 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
4679 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
4680 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
4681 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
4682 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
4683 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
4684
4685 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4686
4687 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
4688 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
4689 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
4690 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
4691 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
4692 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
4693 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
4694 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
4695 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
4696 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
4697 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
4698 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
4699
4700 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4701
4702 * libgomp.h (struct target_var_desc): Add do_detach flag.
4703 * oacc-init.c (acc_shutdown_1): Free aux block if present.
4704 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
4705 struct components. Tidy up and add some new checks.
4706 (goacc_enter_data_internal): Update call to find_group_last.
4707 (goacc_exit_data_internal): Support detach operations and
4708 GOMP_MAP_STRUCT.
4709 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
4710 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
4711 attach/detach in enter/exit data detection code.
4712 * target.c (gomp_map_vars_existing): Initialise do_detach field of
4713 tgt_var_desc.
4714 (gomp_map_vars_internal): Support attach.
4715 (gomp_unmap_vars_internal): Support detach.
4716
4717 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4718 Thomas Schwinge <thomas (a] codesourcery.com>
4719
4720 * libgomp.h (struct splay_tree_aux): Add attach_count field.
4721 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
4722 * libgomp.map (OACC_2.6): New section. Add acc_attach,
4723 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
4724 acc_detach_finalize_async.
4725 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
4726 acc_detach, acc_detach_async, acc_detach_finalize,
4727 acc_detach_finalize_async): New functions.
4728 * openacc.h (acc_attach, acc_attach_async, acc_detach,
4729 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
4730 prototypes.
4731 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
4732 (gomp_remove_var_internal): Free attachment counts if present.
4733 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
4734 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
4735
4736 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4737 Cesar Philippidis <cesar (a] codesourcery.com>
4738
4739 * libgomp.h (gomp_map_val): Add prototype.
4740 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
4741 open-coding device-address calculation.
4742 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
4743 non-present case.
4744
4745 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4746
4747 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
4748 field for virtual_refcount.
4749 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
4750 (gomp_free_memmap): Remove prototype.
4751 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
4752 instead of calling gomp_free_memmap.
4753 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
4754 dynamic_refcount.
4755 (acc_unmap_data): Open code instead of forcing target_mem_desc's
4756 to_free field to NULL then calling gomp_unmap_vars. Handle
4757 REFCOUNT_INFINITY on target blocks.
4758 (goacc_enter_data): Rename to...
4759 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
4760 handling for mapping groups. Use virtual_refcount instead of
4761 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
4762 map_map_vars_async call. Re-do lookup for target pointer return value.
4763 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
4764 renamed goacc_enter_datum function.
4765 (goacc_exit_data): Rename to...
4766 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
4767 (acc_delete, acc_delete_async, acc_delete_finalize,
4768 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
4769 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
4770 goacc_exit_datum function.
4771 (gomp_acc_remove_pointer, find_pointer): Remove functions.
4772 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
4773 New functions.
4774 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
4775 goacc_exit_data_internal helper functions.
4776 * target.c (gomp_map_vars_internal): Handle
4777 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
4778 semantics.
4779 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
4780 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
4781 virtual_refcount field instead of dynamic_refcount.
4782 (gomp_free_memmap): Remove function.
4783 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
4784 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
4785 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
4786
4787 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4788 Thomas Schwinge <thomas (a] codesourcery.com>
4789
4790 * libgomp.h (struct splay_tree_aux): New.
4791 (struct splay_tree_key_s): Replace link_key field with aux pointer.
4792 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
4793 to aux struct.
4794 (gomp_remove_var_internal): Free aux block if present.
4795 (gomp_load_image_to_device): Zero-initialise aux field instead of
4796 link_key field.
4797 (omp_target_associate_pointer): Zero-initialise aux field.
4798
4799 2019-12-18 Jakub Jelinek <jakub (a] redhat.com>
4800
4801 PR middle-end/86416
4802 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
4803 q or none.
4804 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
4805 L or none.
4806
4807 2019-12-19 Julian Brown <julian (a] codesourcery.com>
4808 Maciej W. Rozycki <macro (a] codesourcery.com>
4809 Tobias Burnus <tobias (a] codesourcery.com>
4810 Thomas Schwinge <thomas (a] codesourcery.com>
4811
4812 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
4813 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
4814 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
4815 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
4816 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
4817 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
4818 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
4819 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
4820 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
4821
4822 2019-12-18 Thomas Schwinge <thomas (a] codesourcery.com>
4823
4824 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4825 called...
4826 (goacc_insert_pointer): ... from here, "present" case.
4827 (goacc_insert_pointer): Inline function into...
4828 (GOACC_enter_exit_data): ... here, and simplify.
4829
4830 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4831 called...
4832 (goacc_insert_pointer): ... from here, "not present" case.
4833
4834 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
4835 all users.
4836
4837 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
4838 'goacc_enter_data', 'goacc_exit_data'.
4839
4840 * oacc-mem.c (delete_copyout): Refactor into...
4841 (goacc_exit_data): ... this. Adjust all users.
4842
4843 * oacc-mem.c (present_create_copy): Refactor into...
4844 (goacc_enter_data): ... this. Adjust all users.
4845
4846 * target.c (gomp_unmap_vars_internal): Add a safeguard to
4847 'gomp_remove_var'.
4848
4849 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
4850 like 'GOMP_MAP_FROM'.
4851
4852 PR libgomp/92726
4853 PR libgomp/92970
4854 PR libgomp/92984
4855 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
4856 fails.
4857 (GOACC_enter_exit_data): Simplify accordingly.
4858 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
4859 subsuming...
4860 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
4861 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
4862 file.
4863 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
4864 subsuming...
4865 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
4866 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
4867 file.
4868 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
4869 subsuming...
4870 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
4871
4872 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
4873 'finalize' handling.
4874
4875 PR libgomp/92848
4876 * oacc-mem.c (acc_map_data, present_create_copy)
4877 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
4878 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
4879 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
4880 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
4881 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
4882 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
4883 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
4884 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4885 Remove "XFAIL"s.
4886
4887 * target.c (gomp_unmap_tgt): Make it 'static'.
4888 * libgomp.h (gomp_unmap_tgt): Remove.
4889
4890 2019-12-18 Tobias Burnus <tobias (a] codesourcery.com>
4891
4892 PR middle-end/86416
4893 * testsuite/libgomp.c/pr86416-1.c: New.
4894 * testsuite/libgomp.c/pr86416-2.c: New.
4895
4896 2019-12-17 Tobias Burnus <tobias (a] codesourcery.com>
4897
4898 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
4899 all symbols as public except for the 'use , only' imported symbol,
4900 which is private.
4901 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4902 all symbols from module openacc_kinds as PUBLIC
4903 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
4904 fix comment typo.
4905 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
4906
4907 2019-12-13 Julian Brown <julian (a] codesourcery.com>
4908
4909 PR libgomp/92881
4910
4911 * libgomp.h (gomp_remove_var_async): Add prototype.
4912 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
4913 gomp_remove_var.
4914 * target.c (gomp_unref_tgt): Change return type to bool, indicating
4915 whether target_mem_desc was unmapped.
4916 (gomp_unref_tgt_void): New.
4917 (gomp_remove_var): Reimplement in terms of...
4918 (gomp_remove_var_internal): ...this new helper function.
4919 (gomp_remove_var_async): New, implemented using above helper function.
4920 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
4921 gomp_unref_tgt.
4922
4923 2019-12-13 Andrew Stubbs <ams (a] codesourcery.com>
4924
4925 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
4926 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4927 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
4928 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
4929 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
4930 Likewise.
4931 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
4932 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
4933
4934 2019-12-13 Tobias Burnus <tobias (a] codesourcery.com>
4935
4936 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
4937 as public except for the 'use , only' imported symbol, which is
4938 private.
4939 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4940 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
4941 attributes for acc_copyout_finalize and acc_delete_finalize.
4942
4943 2019-12-11 Jakub Jelinek <jakub (a] redhat.com>
4944
4945 PR fortran/92899
4946 * testsuite/libgomp.fortran/atomic1.f90: New test.
4947
4948 2019-12-11 Thomas Schwinge <thomas (a] codesourcery.com>
4949
4950 PR libgomp/92843
4951 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
4952 reference counting for structured 'REFCOUNT_INFINITY'. Add some
4953 assertions.
4954 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
4955 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
4956 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
4957 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4958 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4959
4960 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
4961 * oacc-mem.c: ... here.
4962 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
4963 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
4964 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
4965 Remove.
4966 * libgomp_g.h: Update.
4967
4968 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
4969 * oacc-async.c: ... here.
4970 * oacc-int.h (goacc_wait): Declare.
4971 * libgomp_g.h: Update
4972
4973 PR libgomp/92854
4974 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
4975 New file.
4976 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
4977 Likewise.
4978 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
4979 Likewise.
4980 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
4981 Likewise.
4982 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
4983 Likewise.
4984 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
4985 Likewise.
4986
4987 2019-12-11 Thomas Schwinge <thomas (a] codesourcery.com>
4988 Julian Brown <julian (a] codesourcery.com>
4989
4990 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
4991 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
4992
4993 2019-12-11 Tobias Burnus <tobias (a] codesourcery.com>
4994
4995 * omp_lib.h.in: Fix spelling of function declaration
4996 omp_get_cancell(l)ation.
4997 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
4998 Fix typos.
4999 * env.c: Fix comment typos.
5000 * oacc-host.c: Likewise.
5001 * ordered.c: Likewise.
5002 * task.c: Likewise.
5003 * team.c: Likewise.
5004 * config/gcn/task.c: Likewise.
5005 * config/gcn/team.c: Likewise.
5006 * config/nvptx/task.c: Likewise.
5007 * config/nvptx/team.c: Likewise.
5008 * plugin/plugin-gcn.c: Likewise.
5009 * testsuite/libgomp.fortran/jacobi.f: Likewise.
5010 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5011 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
5012
5013 2019-12-11 Tobias Burnus <tobias (a] codesourcery.com>
5014
5015 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
5016 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
5017 unnecessary 'dg-additional-options "-w"'.
5018
5019 2019-12-09 Thomas Schwinge <thomas (a] codesourcery.com>
5020 Julian Brown <julian (a] codesourcery.com>
5021
5022 PR libgomp/92116
5023 PR libgomp/92877
5024
5025 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
5026 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
5027 Adjust all users.
5028 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5029 Remove XFAIL.
5030 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5031 Likewise.
5032 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
5033
5034 2019-12-09 Thomas Schwinge <thomas (a] codesourcery.com>
5035
5036 PR libgomp/92503
5037 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
5038 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
5039 file.
5040 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
5041 Likewise.
5042 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
5043 Likewise.
5044 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
5045 Likewise.
5046 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5047 Likewise.
5048 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5049 Likewise.
5050 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5051 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5052 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5053 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5054 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5055 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5056 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5057 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5058 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
5059 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
5060
5061 PR libgomp/92840
5062 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
5063 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
5064 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
5065 New file.
5066 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
5067 Likewise.
5068 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
5069 Likewise.
5070 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5071 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
5072
5073 PR libgomp/92511
5074 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
5075 this file...
5076 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
5077 this file...
5078 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
5079 file...
5080 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
5081 file...
5082 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
5083 ... with their content moved into, and extended in this new file.
5084 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
5085 New file.
5086 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
5087 Likewise.
5088 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
5089 Likewise.
5090 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
5091 Likewise.
5092
5093 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
5094
5095 PR libgomp/92854
5096 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
5097
5098 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
5099
5100 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
5101
5102 2019-12-09 Tobias Burnus <tobias (a] codesourcery.com>
5103
5104 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
5105 unique.
5106 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
5107 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
5108 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
5109 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
5110 Ditto.
5111 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
5112 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
5113
5114 2019-12-06 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5115
5116 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
5117
5118 2019-12-06 Tobias Burnus <tobias (a] codesourcery.com>
5119 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5120
5121 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
5122 if input it a NULL pointer.
5123 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
5124 diagnostic of NULL pointer.
5125 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
5126 * testsuite/libgomp.fortran/optional-map.f90: New.
5127 * testsuite/libgomp.fortran/use_device_addr-1.f90
5128 (test_dummy_opt_callee_1_absent): New.
5129 (test_dummy_opt_call_1): Call it.
5130 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5131 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
5132 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5133 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
5134 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
5135 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
5136 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
5137 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
5138 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
5139 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
5140 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
5141 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
5142 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
5143 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
5144 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
5145 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
5146
5147 2019-12-05 Tobias Burnus <tobias (a] codesourcery.com>
5148
5149 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
5150 expect dg-output of 'Error termination.' for GCN.
5151 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5152 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5153
5154 2019-12-04 Jakub Jelinek <jakub (a] redhat.com>
5155
5156 PR fortran/92756
5157 * testsuite/libgomp.fortran/teams1.f90: New test.
5158 * testsuite/libgomp.fortran/teams2.f90: New test.
5159
5160 2019-12-03 Frederik Harwath <frederik (a] codesourcery.com>
5161
5162 * oacc-init.c (acc_known_device_type): Add function.
5163 (unknown_device_type_error): Add function.
5164 (name_of_acc_device_t): Change to call unknown_device_type_error
5165 on unknown type.
5166 (resolve_device): Use acc_known_device_type.
5167 (acc_init): Fail if acc_device_t argument is not valid.
5168 (acc_shutdown): Likewise.
5169 (acc_get_num_devices): Likewise.
5170 (acc_set_device_type): Likewise.
5171 (acc_get_device_num): Likewise.
5172 (acc_set_device_num): Likewise.
5173 (acc_on_device): Add comment that argument validity is not checked.
5174
5175 2019-12-03 Andrew Stubbs <ams (a] codesourcery.com>
5176
5177 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5178 Recognize amdgcn.
5179 (check_effective_target_openacc_amdgcn_accel_present): New proc.
5180 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
5181 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
5182 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5183 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5184
5185 2019-12-03 Szabolcs Nagy <szabolcs.nagy (a] arm.com>
5186
5187 PR libgomp/91938
5188 * configure.tgt: Avoid IE tls on *-*-musl*.
5189
5190 2019-11-29 Tobias Burnus <tobias (a] codesourcery.com>
5191
5192 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
5193 adding a common-block test case.
5194
5195 2019-11-29 Jakub Jelinek <jakub (a] redhat.com>
5196
5197 PR c++/60228
5198 * testsuite/libgomp.c++/udr-20.C: New test.
5199 * testsuite/libgomp.c++/udr-21.C: New test.
5200
5201 2019-11-27 Thomas Schwinge <thomas (a] codesourcery.com>
5202
5203 * testsuite/lib/libgomp.exp
5204 (check_effective_target_offload_target_nvptx): New proc.
5205 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
5206 'dg-skip-if'.
5207 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
5208 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
5209 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
5210
5211 2019-11-21 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
5212
5213 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
5214 * testsuite/libgomp.c/pr39591-2.c: Likewise.
5215 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5216 * testsuite/libgomp.c/private-1.c: Likewise.
5217 * testsuite/libgomp.c/task-1.c: Likewise.
5218 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
5219
5220 2019-11-20 Julian Brown <julian (a] codesourcery.com>
5221
5222 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
5223 aq->mutex here.
5224 (queue_push_launch): Lock aq->mutex before calling
5225 wait_for_queue_nonfull.
5226 (queue_push_callback): Likewise.
5227 (queue_push_asyncwait): Likewise.
5228 (queue_push_placeholder): Likewise.
5229
5230 2019-11-20 Julian Brown <julian (a] codesourcery.com>
5231
5232 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
5233 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
5234 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
5235 return code.
5236
5237 2019-11-20 Julian Brown <julian (a] codesourcery.com>
5238
5239 PR libgomp/92511
5240
5241 * oacc-mem.c (present_create_copy): Fix device pointer return value in
5242 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
5243 in non-present/create case.
5244 (delete_copyout): Change error condition to fail only on copies outside
5245 of mapped block. Adjust error message accordingly.
5246 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
5247 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
5248 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
5249 message.
5250 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5251 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
5252 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5253
5254 2019-11-20 Maciej W. Rozycki <macro (a] wdc.com>
5255
5256 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
5257 libatomic in build-tree testing.
5258
5259 2019-11-18 Maciej W. Rozycki <macro (a] wdc.com>
5260
5261 * testsuite/Makefile.in: Regenerate.
5262
5263 2019-11-15 Andrew Stubbs <ams (a] codesourcery.com>
5264
5265 * testsuite/libgomp.c/target-print-1.c: New file.
5266 * testsuite/libgomp.fortran/target-print-1.f90: New file.
5267 * testsuite/libgomp.oacc-c/print-1.c: New file.
5268 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
5269
5270 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
5271 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5272 Julian Brown <julian (a] codesourcery.com>
5273 Tom de Vries <tom (a] codesourcery.com>
5274
5275 * plugin/Makefrag.am: Add amdgcn plugin support.
5276 * plugin/configfrag.ac: Likewise.
5277 * plugin/plugin-gcn.c: New file.
5278 * configure: Regenerate.
5279 * Makefile.in: Regenerate.
5280 * testsuite/Makefile.in: Regenerate.
5281
5282 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
5283
5284 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
5285 and use team_malloc variants.
5286 (gomp_gcn_exit_kernel): Use team_free.
5287 * libgomp.h (TEAM_ARENA_SIZE): Define.
5288 (TEAM_ARENA_START): Define.
5289 (TEAM_ARENA_FREE): Define.
5290 (TEAM_ARENA_END): Define.
5291 (team_malloc): New function.
5292 (team_malloc_cleared): New function.
5293 (team_free): New function.
5294 * team.c (gomp_new_team): Initialize and use team_malloc.
5295 (free_team): Use team_free.
5296 (gomp_free_thread): Use team_free.
5297 (gomp_pause_host): Use team_free.
5298 * work.c (gomp_init_work_share): Use team_malloc.
5299 (gomp_fini_work_share): Use team_free.
5300
5301 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
5302 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5303 Julian Brown <julian (a] codesourcery.com>
5304 Tom de Vries <tom (a] codesourcery.com>
5305
5306 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
5307 * Makefile.in: Regenerate.
5308 * config.h.in (PLUGIN_GCN): Add new undef.
5309 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
5310 * config/gcn/affinity-fmt.c: New file.
5311 * config/gcn/bar.c: New file.
5312 * config/gcn/bar.h: New file.
5313 * config/gcn/doacross.h: New file.
5314 * config/gcn/icv-device.c: New file.
5315 * config/gcn/oacc-target.c: New file.
5316 * config/gcn/simple-bar.h: New file.
5317 * config/gcn/target.c: New file.
5318 * config/gcn/task.c: New file.
5319 * config/gcn/team.c: New file.
5320 * config/gcn/time.c: New file.
5321 * configure.ac: Add amdgcn*-*-*.
5322 * configure: Regenerate.
5323 * configure.tgt: Add amdgcn*-*-*.
5324 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
5325 * libgomp.h (gcn_thrs): Add amdgcn variant.
5326 (set_gcn_thrs): Likewise.
5327 (gomp_thread): Likewise.
5328 * oacc-int.h (goacc_thread): Likewise.
5329 * oacc-target.c: New file.
5330 * openacc.f90 (acc_device_gcn): New parameter.
5331 * openacc.h (acc_device_t): Add acc_device_gcn.
5332 * team.c (gomp_free_pool_helper): Add amdgcn support.
5333
5334 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
5335 Julian Brown <julian (a] codesourcery.com>
5336
5337 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
5338 parameter.
5339 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
5340 queue constructor.
5341 * oacc-host.c (host_openacc_async_construct): Add device parameter.
5342 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
5343 device parameter.
5344
5345 2019-11-13 Andrew Stubbs <ams (a] codesourcery.com>
5346
5347 * configure.tgt (nvptx*-*-*): Add "accel" directory.
5348 * config/nvptx/libgomp-plugin.c: Move ...
5349 * config/accel/libgomp-plugin.c: ... to here.
5350 * config/nvptx/lock.c: Move ...
5351 * config/accel/lock.c: ... to here.
5352 * config/nvptx/mutex.c: Move ...
5353 * config/accel/mutex.c: ... to here.
5354 * config/nvptx/mutex.h: Move ...
5355 * config/accel/mutex.h: ... to here.
5356 * config/nvptx/oacc-async.c: Move ...
5357 * config/accel/oacc-async.c: ... to here.
5358 * config/nvptx/oacc-cuda.c: Move ...
5359 * config/accel/oacc-cuda.c: ... to here.
5360 * config/nvptx/oacc-host.c: Move ...
5361 * config/accel/oacc-host.c: ... to here.
5362 * config/nvptx/oacc-init.c: Move ...
5363 * config/accel/oacc-init.c: ... to here.
5364 * config/nvptx/oacc-mem.c: Move ...
5365 * config/accel/oacc-mem.c: ... to here.
5366 * config/nvptx/oacc-plugin.c: Move ...
5367 * config/accel/oacc-plugin.c: ... to here.
5368 * config/nvptx/omp-lock.h: Move ...
5369 * config/accel/omp-lock.h: ... to here.
5370 * config/nvptx/openacc.f90: Move ...
5371 * config/accel/openacc.f90: ... to here.
5372 * config/nvptx/pool.h: Move ...
5373 * config/accel/pool.h: ... to here.
5374 * config/nvptx/proc.c: Move ...
5375 * config/accel/proc.c: ... to here.
5376 * config/nvptx/ptrlock.c: Move ...
5377 * config/accel/ptrlock.c: ... to here.
5378 * config/nvptx/ptrlock.h: Move ...
5379 * config/accel/ptrlock.h: ... to here.
5380 * config/nvptx/sem.c: Move ...
5381 * config/accel/sem.c: ... to here.
5382 * config/nvptx/sem.h: Move ...
5383 * config/accel/sem.h: ... to here.
5384 * config/nvptx/thread-stacksize.h: Move ...
5385 * config/accel/thread-stacksize.h: ... to here.
5386
5387 2019-11-12 Maciej W. Rozycki <macro (a] codesourcery.com>
5388 Tobias Burnus <tobias (a] codesourcery.com>
5389 Frederik Harwath <frederik (a] codesourcery.com>
5390 Thomas Schwinge <thomas (a] codesourcery.com>
5391
5392 libgomp/
5393 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
5394 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
5395 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
5396
5397 2019-11-11 Tobias Burnus <tobias (a] codesourcery.com>
5398 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5399
5400 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
5401 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
5402
5403 2019-11-11 Thomas Schwinge <thomas (a] codesourcery.com>
5404
5405 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
5406
5407 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
5408 run'.
5409 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5410 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
5411
5412 2019-11-06 Thomas Schwinge <thomas (a] codesourcery.com>
5413
5414 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
5415 Add expected warnings about missing reduction clauses.
5416 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5417 Likewise.
5418 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
5419 Likewise.
5420 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
5421 Likewise.
5422
5423 2019-11-04 Tobias Burnus <tobias (a] codesourcery.com>
5424
5425 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
5426 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
5427 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
5428 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5429 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5430 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5431
5432 2019-11-04 Tobias Burnus <tobias (a] codesourcery.com>
5433
5434 PR fortran/92305
5435 * testsuite/libgomp.fortran/allocatable2.f90: Use
5436 unique numbers with 'stop'.
5437 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5438 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5439 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
5440 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
5441 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
5442
5443 2019-11-01 Tobias Burnus <tobias (a] codesourcery.com>
5444
5445 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
5446 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
5447 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5448 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
5449 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
5450 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
5451
5452 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com>
5453
5454 * testsuite/libgomp.fortran/target9.f90: New.
5455
5456 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com>
5457
5458 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
5459 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
5460 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
5461 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
5462 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
5463 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
5464 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
5465 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
5466 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
5467 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
5468 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
5469 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
5470 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
5471 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
5472 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
5473 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
5474 * testsuite/libgomp.fortran/associate1.f90: Ditto.
5475 * testsuite/libgomp.fortran/associate2.f90: Ditto.
5476 * testsuite/libgomp.fortran/associate3.f90: Ditto.
5477 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
5478 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
5479 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
5480 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
5481 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
5482 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
5483 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
5484 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
5485 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
5486 * testsuite/libgomp.fortran/character1.f90: Ditto.
5487 * testsuite/libgomp.fortran/character2.f90: Ditto.
5488 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
5489 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
5490 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
5491 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
5492 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
5493 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
5494 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
5495 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
5496 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
5497 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
5498 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
5499 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
5500 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
5501 * testsuite/libgomp.fortran/do1.f90: Ditto.
5502 * testsuite/libgomp.fortran/do2.f90: Ditto.
5503 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
5504 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
5505 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
5506 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
5507 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
5508 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
5509 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
5510 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
5511 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
5512 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
5513 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
5514 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
5515 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
5516 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
5517 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
5518 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
5519 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
5520 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
5521 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
5522 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
5523 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
5524 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
5525 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
5526 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
5527 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
5528 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
5529 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
5530 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
5531 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
5532 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
5533 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
5534 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
5535 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
5536 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
5537 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
5538 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
5539 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
5540 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
5541 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
5542 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
5543 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
5544 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
5545 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
5546 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
5547 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
5548 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
5549 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
5550 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
5551 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
5552 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5553 * testsuite/libgomp.fortran/lib1.f90: Ditto.
5554 * testsuite/libgomp.fortran/lib4.f90: Ditto.
5555 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
5556 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
5557 * testsuite/libgomp.fortran/nested1.f90: Ditto.
5558 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
5559 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
5560 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
5561 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5562 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
5563 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
5564 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
5565 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
5566 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
5567 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
5568 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
5569 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
5570 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
5571 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
5572 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
5573 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
5574 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
5575 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
5576 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
5577 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
5578 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
5579 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
5580 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
5581 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
5582 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5583 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
5584 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
5585 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
5586 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
5587 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
5588 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5589 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
5590 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
5591 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
5592 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
5593 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5594 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
5595 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
5596 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
5597 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
5598 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
5599 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
5600 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
5601 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
5602 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
5603 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
5604 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
5605 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
5606 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
5607 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
5608 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
5609 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
5610 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
5611 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
5612 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
5613 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
5614 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5615 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
5616 * testsuite/libgomp.fortran/reference1.f90: Ditto.
5617 * testsuite/libgomp.fortran/reference2.f90: Ditto.
5618 * testsuite/libgomp.fortran/retval1.f90: Ditto.
5619 * testsuite/libgomp.fortran/retval2.f90: Ditto.
5620 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
5621 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
5622 * testsuite/libgomp.fortran/simd1.f90: Ditto.
5623 * testsuite/libgomp.fortran/simd2.f90: Ditto.
5624 * testsuite/libgomp.fortran/simd3.f90: Ditto.
5625 * testsuite/libgomp.fortran/simd4.f90: Ditto.
5626 * testsuite/libgomp.fortran/simd5.f90: Ditto.
5627 * testsuite/libgomp.fortran/simd6.f90: Ditto.
5628 * testsuite/libgomp.fortran/simd7.f90: Ditto.
5629 * testsuite/libgomp.fortran/stack.f90: Ditto.
5630 * testsuite/libgomp.fortran/strassen.f90: Ditto.
5631 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
5632 * testsuite/libgomp.fortran/tabs2.f: Ditto.
5633 * testsuite/libgomp.fortran/target1.f90: Ditto.
5634 * testsuite/libgomp.fortran/target2.f90: Ditto.
5635 * testsuite/libgomp.fortran/target3.f90: Ditto.
5636 * testsuite/libgomp.fortran/target4.f90: Ditto.
5637 * testsuite/libgomp.fortran/target5.f90: Ditto.
5638 * testsuite/libgomp.fortran/target6.f90: Ditto.
5639 * testsuite/libgomp.fortran/target7.f90: Ditto.
5640 * testsuite/libgomp.fortran/target8.f90: Ditto.
5641 * testsuite/libgomp.fortran/task1.f90: Ditto.
5642 * testsuite/libgomp.fortran/task2.f90: Ditto.
5643 * testsuite/libgomp.fortran/task3.f90: Ditto.
5644 * testsuite/libgomp.fortran/task4.f90: Ditto.
5645 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5646 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5647 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5648 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5649 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5650 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
5651 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
5652 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
5653 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
5654 * testsuite/libgomp.fortran/udr1.f90: Ditto.
5655 * testsuite/libgomp.fortran/udr10.f90: Ditto.
5656 * testsuite/libgomp.fortran/udr11.f90: Ditto.
5657 * testsuite/libgomp.fortran/udr12.f90: Ditto.
5658 * testsuite/libgomp.fortran/udr13.f90: Ditto.
5659 * testsuite/libgomp.fortran/udr14.f90: Ditto.
5660 * testsuite/libgomp.fortran/udr15.f90: Ditto.
5661 * testsuite/libgomp.fortran/udr2.f90: Ditto.
5662 * testsuite/libgomp.fortran/udr3.f90: Ditto.
5663 * testsuite/libgomp.fortran/udr4.f90: Ditto.
5664 * testsuite/libgomp.fortran/udr5.f90: Ditto.
5665 * testsuite/libgomp.fortran/udr6.f90: Ditto.
5666 * testsuite/libgomp.fortran/udr7.f90: Ditto.
5667 * testsuite/libgomp.fortran/udr8.f90: Ditto.
5668 * testsuite/libgomp.fortran/udr9.f90: Ditto.
5669 * testsuite/libgomp.fortran/vla1.f90: Ditto.
5670 * testsuite/libgomp.fortran/vla2.f90: Ditto.
5671 * testsuite/libgomp.fortran/vla3.f90: Ditto.
5672 * testsuite/libgomp.fortran/vla4.f90: Ditto.
5673 * testsuite/libgomp.fortran/vla5.f90: Ditto.
5674 * testsuite/libgomp.fortran/vla6.f90: Ditto.
5675 * testsuite/libgomp.fortran/vla7.f90: Ditto.
5676 * testsuite/libgomp.fortran/vla8.f90: Ditto.
5677 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5678 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5679
5680 2019-10-30 Tobias Burnus <tobias (a] codesourcery.com>
5681
5682 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
5683 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
5684 Ditto; add 'dg-do run' for torture testing.
5685 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
5686 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5687 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5688 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5689 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5690 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5691 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
5692 * testsuite/libgomp.fortran/task2.f90: Ditto.
5693 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5694 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5695 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5696 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5697 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5698 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5699
5700 2019-10-28 Tobias Burnus <tobias (a] codesourcery.com>
5701
5702 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
5703 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
5704 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
5705 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
5706 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
5707 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
5708 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
5709 Use 'stop' not abort().
5710 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
5711 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
5712 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
5713 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
5714 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
5715 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
5716 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
5717 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
5718 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
5719 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
5720 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
5721 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
5722 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
5723 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
5724 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
5725 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
5726 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
5727 Ditto.
5728 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5729 Ditto.
5730 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5731 Ditto.
5732 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5733 Ditto.
5734 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5735 Ditto.
5736 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
5737 Ditto.
5738 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
5739 Ditto.
5740 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
5741 Ditto.
5742 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
5743 Ditto.
5744 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
5745 Ditto.
5746 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
5747 Ditto.
5748 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
5749 Ditto.
5750 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
5751 Ditto.
5752 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
5753 Ditto.
5754 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
5755 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
5756 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
5757 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
5758 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
5759 Likewise and also add 'dg-do run'.
5760 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
5761 Ditto.
5762
5763 2019-10-25 Cesar Philippidis <cesar (a] codesourcery.com>
5764 Tobias Burnus <tobias (a] codesourcery.com>
5765
5766 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
5767 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
5768 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
5769
5770 2019-10-14 Jakub Jelinek <jakub (a] redhat.com>
5771
5772 PR libgomp/92081
5773 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
5774 than 0.
5775
5776 2019-10-11 Tobias Burnus <tobias (a] codesourcery.com>
5777
5778 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
5779 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
5780
5781 2019-10-09 Thomas Schwinge <thomas (a] codesourcery.com>
5782
5783 PR middle-end/92036
5784 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
5785 file.
5786
5787 2019-10-09 Tobias Burnus <tobias (a] codesourcery.com>
5788
5789 PR testsuite/91884
5790 * testsuite/libgomp.fortran/fortran.exp: Conditionally
5791 add -lquadmath.
5792 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
5793
5794 2019-10-09 Jakub Jelinek <jakub (a] redhat.com>
5795
5796 PR libgomp/92028
5797 * target.c (gomp_map_vars_internal): Readd the previous
5798 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
5799 though do that just in the !not_found_cnt case.
5800
5801 2019-10-08 Tobias Burnus <tobias (a] codesourcery.com>
5802
5803 * gfortran.dg/gomp/target-simd.f90: New.
5804
5805 2019-10-02 Julian Brown <julian (a] codesourcery.com>
5806 Cesar Philippidis <cesar (a] codesourcery.com>
5807
5808 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
5809 * target.c (FIELD_TGT_EMPTY): Define.
5810 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
5811 as switch instead of list of ifs.
5812 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
5813
5814 2019-10-02 Andreas Tobler <andreast (a] gcc.gnu.org>
5815
5816 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
5817 include. Replace alloca () with __builtin_alloca ().
5818 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
5819
5820 2019-10-01 Jakub Jelinek <jakub (a] redhat.com>
5821
5822 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
5823 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
5824 * oacc-parallel.c: Don't include "libgomp_g.h".
5825 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
5826 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
5827 * aclocal.m4: Regenerated.
5828 * config.h.in: Regenerated.
5829 * configure: Regenerated.
5830 * Makefile.in: Regenerated.
5831
5832 2019-09-30 Kwok Cheung Yeung <kcy (a] codesourcery.com>
5833
5834 * libgomp_g.h: Include stdint.h instead of gstdint.h.
5835
5836 2019-09-27 Maciej W. Rozycki <macro (a] wdc.com>
5837
5838 * configure: Regenerate.
5839
5840 2019-09-13 Tobias Burnus <tobias (a] codesourcery.com>
5841
5842 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
5843 string is initialized.
5844
5845 2019-09-06 Florian Weimer <fweimer (a] redhat.com>
5846
5847 * configure: Regenerate.
5848
5849 2019-09-03 Chung-Lin Tang <cltang (a] codesourcery.com>
5850
5851 PR other/79543
5852 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
5853 scanning to conform to the GNU Coding Standards.
5854 * configure: Regenerate.
5855
5856 2019-08-28 Jakub Jelinek <jakub (a] redhat.com>
5857
5858 PR libgomp/91530
5859 * testsuite/libgomp.c/scan-21.c: New test.
5860 * testsuite/libgomp.c/scan-22.c: New test.
5861
5862 2019-08-27 Jakub Jelinek <jakub (a] redhat.com>
5863
5864 PR libgomp/91530
5865 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
5866 targets.
5867 * testsuite/libgomp.c/scan-12.c: Likewise.
5868 * testsuite/libgomp.c/scan-13.c: Likewise.
5869 * testsuite/libgomp.c/scan-14.c: Likewise.
5870 * testsuite/libgomp.c/scan-15.c: Likewise.
5871 * testsuite/libgomp.c/scan-16.c: Likewise.
5872 * testsuite/libgomp.c/scan-17.c: Likewise.
5873 * testsuite/libgomp.c/scan-18.c: Likewise.
5874 * testsuite/libgomp.c/scan-19.c: Likewise.
5875 * testsuite/libgomp.c/scan-20.c: Likewise.
5876 * testsuite/libgomp.c++/scan-9.C: Likewise.
5877 * testsuite/libgomp.c++/scan-10.C: Likewise.
5878 * testsuite/libgomp.c++/scan-11.C: Likewise.
5879 * testsuite/libgomp.c++/scan-12.C: Likewise.
5880 * testsuite/libgomp.c++/scan-14.C: Likewise.
5881 * testsuite/libgomp.c++/scan-15.C: Likewise.
5882 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
5883 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
5884 * testsuite/libgomp.c++/scan-16.C: Likewise.
5885
5886 2019-08-17 Thomas Koenig <tkoenig (a] gcc.gnu.org>
5887
5888 PR fortran/91473
5889 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
5890 -std=legacy so invalid code in the test case is accepted.
5891
5892 2019-08-12 Thomas Koenig <tkoenig (a] gcc.gnu.org>
5893
5894 PR fortran/91422
5895 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
5896 dimension.
5897
5898 2019-08-08 Jakub Jelinek <jakub (a] redhat.com>
5899
5900 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
5901 perform the lookup in the first loop only if !not_found_cnt, otherwise
5902 perform lookups for it in the second loop guarded with
5903 if (not_found_cnt || has_firstprivate).
5904 * testsuite/libgomp.c/target-37.c: New test.
5905 * testsuite/libgomp.c++/target-22.C: New test.
5906
5907 2019-08-07 Jakub Jelinek <jakub (a] redhat.com>
5908
5909 * testsuite/libgomp.c/target-18.c (struct S): New type.
5910 (foo): Use use_device_addr clause instead of use_device_ptr clause
5911 where required by OpenMP 5.0, add further tests for both use_device_ptr
5912 and use_device_addr clauses.
5913 * testsuite/libgomp.c++/target-9.C (struct S): New type.
5914 (foo): Use use_device_addr clause instead of use_device_ptr clause
5915 where required by OpenMP 5.0, add further tests for both use_device_ptr
5916 and use_device_addr clauses. Add t and u arguments.
5917 (main): Adjust caller.
5918
5919 2019-08-06 Jakub Jelinek <jakub (a] redhat.com>
5920
5921 * testsuite/libgomp.c++/loop-13.C: New test.
5922 * testsuite/libgomp.c++/loop-14.C: New test.
5923 * testsuite/libgomp.c++/loop-15.C: New test.
5924
5925 2019-07-31 Jakub Jelinek <jakub (a] redhat.com>
5926
5927 PR middle-end/91301
5928 * testsuite/libgomp.c++/for-27.C: New test.
5929
5930 2019-07-23 Steven G. Kargl <kargl (a] gcc.gnu.org>
5931
5932 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
5933 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5934
5935 2019-07-20 Jakub Jelinek <jakub (a] redhat.com>
5936
5937 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
5938
5939 2019-07-08 Jakub Jelinek <jakub (a] redhat.com>
5940
5941 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
5942 * testsuite/libgomp.c++/scan-16.C: Likewise.
5943
5944 2019-07-06 Jakub Jelinek <jakub (a] redhat.com>
5945
5946 * testsuite/libgomp.c/scan-19.c: New test.
5947 * testsuite/libgomp.c/scan-20.c: New test.
5948
5949 * testsuite/libgomp.c/scan-11.c: New test.
5950 * testsuite/libgomp.c/scan-12.c: New test.
5951 * testsuite/libgomp.c/scan-13.c: New test.
5952 * testsuite/libgomp.c/scan-14.c: New test.
5953 * testsuite/libgomp.c/scan-15.c: New test.
5954 * testsuite/libgomp.c/scan-16.c: New test.
5955 * testsuite/libgomp.c/scan-17.c: New test.
5956 * testsuite/libgomp.c/scan-18.c: New test.
5957 * testsuite/libgomp.c++/scan-9.C: New test.
5958 * testsuite/libgomp.c++/scan-10.C: New test.
5959 * testsuite/libgomp.c++/scan-11.C: New test.
5960 * testsuite/libgomp.c++/scan-12.C: New test.
5961 * testsuite/libgomp.c++/scan-13.C: New test.
5962 * testsuite/libgomp.c++/scan-14.C: New test.
5963 * testsuite/libgomp.c++/scan-15.C: New test.
5964 * testsuite/libgomp.c++/scan-16.C: New test.
5965
5966 2019-07-04 Jakub Jelinek <jakub (a] redhat.com>
5967
5968 * testsuite/libgomp.c/scan-9.c: New test.
5969 * testsuite/libgomp.c/scan-10.c: New test.
5970
5971 2019-07-03 Jakub Jelinek <jakub (a] redhat.com>
5972
5973 * testsuite/libgomp.c++/scan-1.C: New test.
5974 * testsuite/libgomp.c++/scan-2.C: New test.
5975 * testsuite/libgomp.c++/scan-3.C: New test.
5976 * testsuite/libgomp.c++/scan-4.C: New test.
5977 * testsuite/libgomp.c++/scan-5.C: New test.
5978 * testsuite/libgomp.c++/scan-6.C: New test.
5979 * testsuite/libgomp.c++/scan-7.C: New test.
5980 * testsuite/libgomp.c++/scan-8.C: New test.
5981 * testsuite/libgomp.c/scan-1.c: New test.
5982 * testsuite/libgomp.c/scan-2.c: New test.
5983 * testsuite/libgomp.c/scan-3.c: New test.
5984 * testsuite/libgomp.c/scan-4.c: New test.
5985 * testsuite/libgomp.c/scan-5.c: New test.
5986 * testsuite/libgomp.c/scan-6.c: New test.
5987 * testsuite/libgomp.c/scan-7.c: New test.
5988 * testsuite/libgomp.c/scan-8.c: New test.
5989
5990 2019-06-18 Thomas Schwinge <thomas (a] codesourcery.com>
5991
5992 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
5993 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
5994 Likewise.
5995
5996 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
5997 check.
5998
5999 2019-06-18 Cesar Philippidis <cesar (a] codesourcery.com>
6000
6001 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
6002 file.
6003
6004 2019-06-18 Thomas Schwinge <thomas (a] codesourcery.com>
6005
6006 PR fortran/90743
6007 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
6008 case.
6009 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
6010 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
6011 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
6012 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
6013
6014 PR testsuite/90861
6015 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
6016
6017 PR middle-end/90862
6018 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
6019
6020 2019-06-16 Tom de Vries <tdevries (a] suse.de>
6021
6022 PR tree-optimization/89376
6023 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
6024
6025 2019-06-15 Tom de Vries <tdevries (a] suse.de>
6026
6027 PR tree-optimization/89713
6028 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
6029 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
6030
6031 2019-06-15 Jakub Jelinek <jakub (a] redhat.com>
6032
6033 PR middle-end/90779
6034 * testsuite/libgomp.c/pr90779.c: New test.
6035 * testsuite/libgomp.fortran/pr90779.f90: New test.
6036
6037 2019-06-15 Tom de Vries <tdevries (a] suse.de>
6038
6039 PR tree-optimization/90009
6040 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
6041
6042 2019-06-13 Feng Xue <fxue (a] os.amperecomputing.com>
6043
6044 PR tree-optimization/89713
6045 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
6046
6047 2019-06-11 Jakub Jelinek <jakub (a] redhat.com>
6048
6049 PR target/90811
6050 * testsuite/libgomp.c/pr90811.c: New test.
6051
6052 2019-06-05 Jakub Jelinek <jakub (a] redhat.com>
6053
6054 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
6055 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
6056
6057 2019-06-04 Jakub Jelinek <jakub (a] redhat.com>
6058
6059 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
6060 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
6061 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
6062 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
6063
6064 2019-05-30 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6065
6066 * configure.ac: Call AX_COUNT_CPUS.
6067 Substitute CPU_COUNT.
6068 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
6069 count fallback.
6070 * aclocal.m4: Regenerate.
6071 * configure: Regenerate.
6072 * Makefile.in, testsuite/Makefile.in: Regenerate.
6073
6074 2019-05-29 Jakub Jelinek <jakub (a] redhat.com>
6075
6076 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
6077 to ...
6078 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
6079 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
6080 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
6081
6082 2019-05-27 Jakub Jelinek <jakub (a] redhat.com>
6083
6084 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
6085
6086 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
6087
6088 PR libgomp/90641
6089 * work.c (gomp_init_work_share): Instead of aligning final ordered
6090 value to multiples of long long alignment, align to that the
6091 first part (ordered team ids) and if inline_ordered_team_ids
6092 is not on a long long alignment boundary within the structure,
6093 use __alignof__ (long long) - 1 pad size always.
6094 * loop.c (GOMP_loop_start): Fix *mem computation if
6095 inline_ordered_team_ids is not aligned on long long alignment boundary
6096 within the structure.
6097 * loop-ull.c (GOMP_loop_ull_start): Likewise.
6098 * sections.c (GOMP_sections2_start): Likewise.
6099
6100 2019-05-24 Jakub Jelinek <jakub (a] redhat.com>
6101
6102 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
6103 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
6104
6105 PR libgomp/90585
6106 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
6107 HAVE_INTTYPES_H is defined.
6108 (print_uint64_t): New typedef.
6109 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
6110 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
6111 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
6112 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
6113 before casting to void *.
6114 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
6115 * oacc-mem.c: Don't include config.h nor stdint.h.
6116 * target.c: Don't include config.h.
6117 * oacc-cuda.c: Likewise.
6118 * oacc-host.c: Don't include stdint.h.
6119
6120 2019-05-20 Jakub Jelinek <jakub (a] redhat.com>
6121
6122 PR libgomp/90527
6123 * alloc.c (_GNU_SOURCE): Define.
6124
6125 2019-05-17 Thomas Schwinge <thomas (a] codesourcery.com>
6126
6127 * acc_prof.h: New file.
6128 * oacc-profiling.c: Likewise.
6129 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
6130 Add these, respectively.
6131 * Makefile.in: Regenerate.
6132 * env.c (initialize_env): Call goacc_profiling_initialize.
6133 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
6134 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
6135 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
6136 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
6137 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
6138 acc_prof_register, acc_prof_unregister, and acc_register_library.
6139 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
6140 GOMP_PLUGIN_goacc_thread.
6141 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
6142 prof_callbacks_enabled members.
6143 (goacc_prof_enabled, goacc_profiling_initialize)
6144 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
6145 (goacc_profiling_dispatch): Declare.
6146 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
6147 (GOACC_PROFILING_SETUP_P): Define.
6148 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
6149 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
6150 OpenACC Profiling Interface.
6151 * oacc-cuda.c (acc_get_current_cuda_device)
6152 (acc_get_current_cuda_context, acc_get_cuda_stream)
6153 (acc_set_cuda_stream): Likewise.
6154 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
6155 (acc_init, acc_set_device_type, acc_get_device_type)
6156 (acc_get_device_num, goacc_lazy_initialize): Likewise.
6157 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
6158 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
6159 (acc_unmap_data, present_create_copy, delete_copyout)
6160 (update_dev_host): Likewise.
6161 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
6162 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
6163 Likewise.
6164 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
6165 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
6166 Likewise.
6167 * libgomp.texi: Update.
6168 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
6169 file.
6170 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
6171 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
6172 Likewise.
6173 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6174 Likewise.
6175 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
6176 Likewise.
6177 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
6178 Likewise.
6179
6180 2019-05-13 Chung-Lin Tang <cltang (a] codesourcery.com>
6181
6182 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
6183 (struct goacc_asyncqueue_list): Likewise.
6184 (goacc_aq): Likewise.
6185 (goacc_aq_list): Likewise.
6186 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6187 (GOMP_OFFLOAD_openacc_async_test): Remove.
6188 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6189 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6190 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6191 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6192 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6193 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6194 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
6195 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
6196 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
6197 (GOMP_OFFLOAD_openacc_async_exec): Declare.
6198 (GOMP_OFFLOAD_openacc_async_construct): Declare.
6199 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
6200 (GOMP_OFFLOAD_openacc_async_test): Declare.
6201 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
6202 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
6203 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
6204 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
6205 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
6206
6207 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
6208 (gomp_acc_insert_pointer): Adjust declaration.
6209 (gomp_copy_host2dev): New declaration.
6210 (gomp_copy_dev2host): Likewise.
6211 (gomp_map_vars_async): Likewise.
6212 (gomp_unmap_tgt): Likewise.
6213 (gomp_unmap_vars_async): Likewise.
6214 (gomp_fini_device): Likewise.
6215
6216 * oacc-async.c (get_goacc_thread): New function.
6217 (get_goacc_thread_device): New function.
6218 (lookup_goacc_asyncqueue): New function.
6219 (get_goacc_asyncqueue): New function.
6220 (acc_async_test): Adjust code to use new async design.
6221 (acc_async_test_all): Likewise.
6222 (acc_wait): Likewise.
6223 (acc_wait_async): Likewise.
6224 (acc_wait_all): Likewise.
6225 (acc_wait_all_async): Likewise.
6226 (goacc_async_free): New function.
6227 (goacc_init_asyncqueues): Likewise.
6228 (goacc_fini_asyncqueues): Likewise.
6229 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
6230 design.
6231 (acc_set_cuda_stream): Likewise.
6232 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
6233 (host_openacc_register_async_cleanup): Remove.
6234 (host_openacc_async_exec): New function.
6235 (host_openacc_async_test): Adjust parameters.
6236 (host_openacc_async_test_all): Remove.
6237 (host_openacc_async_wait): Remove.
6238 (host_openacc_async_wait_async): Remove.
6239 (host_openacc_async_wait_all): Remove.
6240 (host_openacc_async_wait_all_async): Remove.
6241 (host_openacc_async_set_async): Remove.
6242 (host_openacc_async_synchronize): New function.
6243 (host_openacc_async_serialize): New function.
6244 (host_openacc_async_host2dev): New function.
6245 (host_openacc_async_dev2host): New function.
6246 (host_openacc_async_queue_callback): New function.
6247 (host_openacc_async_construct): New function.
6248 (host_openacc_async_destruct): New function.
6249 (struct gomp_device_descr host_dispatch): Remove initialization of old
6250 interface, add initialization of new async sub-struct.
6251 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
6252 (goacc_attach_host_thread_to_device): Remove old async code usage.
6253 * oacc-int.h (goacc_init_asyncqueues): New declaration.
6254 (goacc_fini_asyncqueues): Likewise.
6255 (goacc_async_copyout_unmap_vars): Likewise.
6256 (goacc_async_free): Likewise.
6257 (get_goacc_asyncqueue): Likewise.
6258 (lookup_goacc_asyncqueue): Likewise.
6259 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
6260 design.
6261 (present_create_copy): Adjust code to use new async design.
6262 (delete_copyout): Likewise.
6263 (update_dev_host): Likewise.
6264 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
6265 async design.
6266 (gomp_acc_remove_pointer): Adjust code to use new async design.
6267 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
6268 design.
6269 (GOACC_enter_exit_data): Likewise.
6270 (goacc_wait): Likewise.
6271 (GOACC_update): Likewise.
6272 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
6273 when called, warn as obsolete in comment.
6274 * target.c (goacc_device_copy_async): New function.
6275 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
6276 add goacc_device_copy_async case.
6277 (gomp_copy_dev2host): Likewise.
6278 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
6279 (gomp_map_pointer): Likewise.
6280 (gomp_map_fields_existing): Likewise.
6281 (gomp_map_vars_internal): New always_inline function, renamed from
6282 gomp_map_vars.
6283 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
6284 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
6285 passing goacc_asyncqueue argument.
6286 (gomp_unmap_tgt): Remove static, add attribute_hidden.
6287 (gomp_unref_tgt): New function.
6288 (gomp_unmap_vars_internal): New always_inline function, renamed from
6289 gomp_unmap_vars.
6290 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
6291 (gomp_unmap_vars_async): Implement by calling
6292 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
6293 (gomp_fini_device): New function.
6294 (gomp_exit_data): Adjust gomp_copy_dev2host call.
6295 (gomp_load_plugin_for_device): Remove old interface, adjust to load
6296 new async interface.
6297 (gomp_target_fini): Adjust code to call gomp_fini_device.
6298
6299 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
6300 (struct ptx_stream): Remove.
6301 (struct nvptx_thread): Remove current_stream field.
6302 (cuda_map_create): Remove.
6303 (cuda_map_destroy): Remove.
6304 (map_init): Remove.
6305 (map_fini): Remove.
6306 (map_pop): Remove.
6307 (map_push): Remove.
6308 (struct goacc_asyncqueue): Define.
6309 (struct nvptx_callback): Define.
6310 (struct ptx_free_block): Define.
6311 (struct ptx_device): Remove null_stream, active_streams, async_streams,
6312 stream_lock, and next fields.
6313 (enum ptx_event_type): Remove.
6314 (struct ptx_event): Remove.
6315 (ptx_event_lock): Remove.
6316 (ptx_events): Remove.
6317 (init_streams_for_device): Remove.
6318 (fini_streams_for_device): Remove.
6319 (select_stream_for_async): Remove.
6320 (nvptx_init): Remove ptx_events and ptx_event_lock references.
6321 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
6322 case.
6323 (nvptx_open_device): Add free_blocks initialization, remove
6324 init_streams_for_device call.
6325 (nvptx_close_device): Remove fini_streams_for_device call, add
6326 free_blocks destruct code.
6327 (event_gc): Remove.
6328 (event_add): Remove.
6329 (nvptx_exec): Adjust parameters and code.
6330 (nvptx_free): Likewise.
6331 (nvptx_host2dev): Remove.
6332 (nvptx_dev2host): Remove.
6333 (nvptx_set_async): Remove.
6334 (nvptx_async_test): Remove.
6335 (nvptx_async_test_all): Remove.
6336 (nvptx_wait): Remove.
6337 (nvptx_wait_async): Remove.
6338 (nvptx_wait_all): Remove.
6339 (nvptx_wait_all_async): Remove.
6340 (nvptx_get_cuda_stream): Remove.
6341 (nvptx_set_cuda_stream): Remove.
6342 (GOMP_OFFLOAD_alloc): Adjust code.
6343 (GOMP_OFFLOAD_free): Likewise.
6344 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6345 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
6346 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6347 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6348 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6349 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6350 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6351 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6352 (cuda_free_argmem): New function.
6353 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
6354 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
6355 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
6356 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
6357 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
6358 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
6359 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
6360 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
6361 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
6362 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
6363 (cuda_callback_wrapper): New function.
6364 (cuda_memcpy_sanity_check): New function.
6365 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
6366 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
6367 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
6368 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
6369
6370 2019-05-07 Thomas Schwinge <thomas (a] codesourcery.com>
6371
6372 PR target/87835
6373 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
6374
6375 2019-05-06 Thomas Schwinge <thomas (a] codesourcery.com>
6376
6377 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
6378
6379 2019-03-27 Kevin Buettner <kevinb (a] redhat.com>
6380
6381 * team.c (gomp_team_start): Initialize pool->threads[0].
6382
6383 2019-02-22 Thomas Schwinge <thomas (a] codesourcery.com>
6384
6385 * testsuite/libgomp.oacc-c++/c++.exp: Specify
6386 "-foffload=$offload_target".
6387 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6388 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6389 * testsuite/lib/libgomp.exp
6390 (check_effective_target_openacc_nvidia_accel_configured): Remove,
6391 as (conceptually) merged into
6392 check_effective_target_openacc_nvidia_accel_selected. Adjust all
6393 users.
6394
6395 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
6396 * testsuite/libgomp-test-support.exp.in: Adjust.
6397 * testsuite/lib/libgomp.exp: Likewise. Don't populate
6398 openacc_device_types_s.
6399 (offload_target_to_openacc_device_type): New proc.
6400 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
6401 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6402 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6403 * Makefile.in: Regenerate.
6404 * configure: Likewise.
6405 * testsuite/Makefile.in: Likewise.
6406
6407 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
6408 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
6409 instead of OFFLOAD_TARGETS.
6410 * target.c (gomp_target_init): Adjust.
6411 * testsuite/libgomp-test-support.exp.in: Likewise.
6412 * testsuite/lib/libgomp.exp: Likewise. Populate
6413 openacc_device_types_s instead of offload_targets_s_openacc.
6414 (check_effective_target_openacc_nvidia_accel_selected)
6415 (check_effective_target_openacc_host_selected): Adjust.
6416 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6417 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6418 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6419 * Makefile.in: Regenerate.
6420 * config.h.in: Likewise.
6421 * configure: Likewise.
6422 * testsuite/Makefile.in: Likewise.
6423
6424 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
6425 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
6426 "offloading: supported, but hardware not accessible".
6427 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6428 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6429
6430 2019-02-19 Chung-Lin Tang <cltang (a] codesourcery.com>
6431
6432 PR c/87924
6433 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
6434 goacc_wait().
6435 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
6436 and related adjustment.
6437
6438 2019-01-30 Jakub Jelinek <jakub (a] redhat.com>
6439
6440 PR c++/88988
6441 * testsuite/libgomp.c++/pr88988.C: New test.
6442
6443 2019-01-28 Jakub Jelinek <jakub (a] redhat.com>
6444
6445 PR middle-end/89002
6446 * testsuite/libgomp.c/pr89002.c: New test.
6447
6448 2019-01-28 Richard Biener <rguenther (a] suse.de>
6449
6450 PR testsuite/89064
6451 PR tree-optimization/86865
6452 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
6453
6454 2019-01-24 Tom de Vries <tdevries (a] suse.de>
6455
6456 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
6457 once instantiated_devices drops to 0.
6458
6459 2019-01-23 Tom de Vries <tdevries (a] suse.de>
6460
6461 PR target/PR88946
6462 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
6463 cuMemFree.
6464 (nvptx_exec): Don't call map_push if mapnum == 0.
6465 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
6466
6467 2019-01-23 Tom de Vries <tdevries (a] suse.de>
6468
6469 PR target/88941
6470 PR target/88939
6471 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
6472 (map_fini): Remove "assert (!s->map->active)".
6473 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
6474
6475 2019-01-23 Tom de Vries <tdevries (a] suse.de>
6476
6477 PR target/87835
6478 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
6479 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
6480
6481 2019-01-15 Tom de Vries <tdevries (a] suse.de>
6482
6483 PR target/80547
6484 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
6485 New test.
6486
6487 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6488
6489 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
6490 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
6491 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
6492 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
6493
6494 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6495
6496 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
6497
6498 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6499
6500 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
6501 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
6502 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
6503
6504 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6505
6506 PR target/85486
6507 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
6508 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
6509
6510 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6511
6512 PR target/85381
6513 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
6514 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
6515
6516 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6517
6518 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
6519 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
6520 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
6521
6522 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6523
6524 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
6525 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
6526 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
6527
6528 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6529
6530 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
6531 resources diagnostic.
6532
6533 2019-01-12 Tom de Vries <tdevries (a] suse.de>
6534
6535 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
6536 vector length to be 128.
6537 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
6538 length 2097152 to be reduced to 1024 instead of 32.
6539
6540 2019-01-11 Thomas Schwinge <thomas (a] codesourcery.com>
6541 James Norris <jnorris (a] codesourcery.com>
6542
6543 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
6544 Library Routines", and "Environment Variables".
6545
6546 2019-01-11 Tom de Vries <tdevries (a] suse.de>
6547
6548 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
6549 num_workers 16.
6550
6551 2019-01-11 Tom de Vries <tdevries (a] suse.de>
6552
6553 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
6554 -foffload=-w.
6555 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
6556 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
6557 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
6558 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
6559
6560 2019-01-11 Tom de Vries <tdevries (a] suse.de>
6561
6562 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
6563 test.
6564
6565 2019-01-10 Nathan Sidwell <nathan (a] acm.org>
6566 Julian Brown <julian (a] codesourcery.com>
6567
6568 PR lto/71959
6569 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
6570 * testsuite/libgomp.oacc-c++/pr71959.C: New.
6571
6572 2019-01-09 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
6573
6574 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
6575 and paste code.
6576
6577 2019-01-09 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
6578
6579 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
6580 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6581 write.
6582
6583 2019-01-09 Tom de Vries <tdevries (a] suse.de>
6584
6585 PR target/88756
6586 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
6587 #define instead of "const int".
6588 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
6589 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
6590 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
6591 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
6592
6593 2019-01-09 Tom de Vries <tdevries (a] suse.de>
6594
6595 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
6596 one worker.
6597
6598 2019-01-07 Tom de Vries <tdevries (a] suse.de>
6599
6600 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
6601 GOMP_OPENACC_DIM argument.
6602
6603 2019-01-03 Tom de Vries <tdevries (a] suse.de>
6604
6605 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
6606 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
6607
6608 2019-01-01 Jakub Jelinek <jakub (a] redhat.com>
6609
6610 Update copyright years.
6611
6612 2019-01-01 Jakub Jelinek <jakub (a] redhat.com>
6613
6614 * libgomp.texi: Bump @copying's copyright year.
6615
6616 2018-12-28 Thomas Schwinge <thomas (a] codesourcery.com>
6617
6618 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
6619 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
6620 (GOACC_declare): Redefine the "device" argument to "flags".
6621
6622 2018-12-28 Thomas Schwinge <thomas (a] codesourcery.com>
6623 Cesar Philippidis <cesar (a] codesourcery.com>
6624
6625 * target.c (struct gomp_coalesce_chunk): New structure.
6626 (struct gomp_coalesce_buf): Update the chunks member to use that
6627 type. Adjust all users.
6628
6629 2018-12-19 Tom de Vries <tdevries (a] suse.de>
6630
6631 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
6632 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
6633 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
6634
6635 2018-12-19 Tom de Vries <tdevries (a] suse.de>
6636
6637 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
6638 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
6639 gcc/testsuite/gcc.dg/goacc.
6640 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
6641
6642 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com>
6643 Chung-Lin Tang <cltang (a] codesourcery.com>
6644
6645 * oacc-mem.c (acc_present_or_create): Remove definition and change
6646 to alias of acc_create.
6647 (acc_present_or_copyin): Remove definition and change to alias of
6648 acc_copyin.
6649 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
6650 of acc_present_or_create.
6651 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
6652 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6653 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6654 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6655 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6656 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6657 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6658 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6659 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6660 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6661 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6662 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6663 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6664 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6665 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6666 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6667
6668 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com>
6669
6670 PR libgomp/88495
6671 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
6672 "identical parameters".
6673 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
6674 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
6675
6676 PR libgomp/88484
6677 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
6678 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
6679
6680 PR libgomp/88407
6681 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
6682 (nvptx_wait_async): Unseen async-argument is a no-op.
6683 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
6684 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
6685 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6686 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6687 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6688 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
6689 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
6690 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
6691 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
6692
6693 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
6694 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6695
6696 2018-12-14 Chung-Lin Tang <cltang (a] codesourcery.com>
6697
6698 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
6699 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6700 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6701
6702 2018-12-14 Thomas Schwinge <thomas (a] codesourcery.com>
6703
6704 PR libgomp/88370
6705 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
6706 (acc_set_cuda_stream): Clarify.
6707 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6708 "async_valid_p".
6709 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
6710 acc_async_sync".
6711 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
6712 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
6713 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
6714 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6715
6716 2018-12-14 Tom de Vries <tdevries (a] suse.de>
6717
6718 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
6719 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
6720 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
6721 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
6722 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
6723
6724 2018-12-13 Tom de Vries <tdevries (a] suse.de>
6725
6726 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
6727 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
6728 * fortran.c (omp_display_affinity_): ... here.
6729 * libgomp.h (gomp_print_string): Declare.
6730 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
6731 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6732 write.
6733
6734 2018-12-13 Jakub Jelinek <jakub (a] redhat.com>
6735
6736 PR libgomp/88460
6737 * testsuite/libgomp.c++/for-24.C (results): Include it in
6738 omp declare target region.
6739 (main): Use map (always, tofrom: results) instead of
6740 map (tofrom: results).
6741
6742 2018-12-12 Jakub Jelinek <jakub (a] redhat.com>
6743
6744 PR fortran/88463
6745 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
6746 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
6747
6748 * testsuite/libgomp.c-c++-common/for-16.c: New test.
6749
6750 2018-12-12 Andreas Schwab <schwab (a] suse.de>
6751
6752 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
6753 clobbered.
6754
6755 2018-12-09 Thomas Koenig <tkoenig (a] gcc.gnu.org>
6756
6757 PR fortran/88411
6758 * testsuite/libgomp.fortran/async_io_8.f90: New test.
6759
6760 2018-12-09 Thomas Schwinge <thomas (a] codesourcery.com>
6761 Jakub Jelinek <jakub (a] redhat.com>
6762
6763 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
6764 devicep->host2dev_func.
6765
6766 2018-12-08 Jakub Jelinek <jakub (a] redhat.com>
6767
6768 PR libgomp/87995
6769 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
6770 tls_runtime effective target.
6771 (t): New threadprivate variable.
6772 (main): Set t in threads which execute iterations of the worksharing
6773 loop. Propagate that to the task after the loop and don't abort
6774 if the current taskgroup hasn't been cancelled.
6775
6776 2018-12-02 Jakub Jelinek <jakub (a] redhat.com>
6777
6778 * testsuite/libgomp.c/task-reduction-3.c: New test.
6779
6780 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
6781
6782 2018-11-30 Cesar Philippidis <cesar (a] codesourcery.com>
6783
6784 PR libgomp/88288
6785 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
6786 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
6787
6788 2018-11-30 Thomas Schwinge <thomas (a] codesourcery.com>
6789
6790 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
6791
6792 2018-10-19 Richard Biener <rguenther (a] suse.de>
6793
6794 PR tree-optimization/88182
6795 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
6796
6797 2018-11-26 Jakub Jelinek <jakub (a] redhat.com>
6798
6799 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
6800 (RUNTEST): Don't define.
6801 (RUNTESTDEFAULTFLAGS): Add.
6802 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
6803 (distclean-am): Depend on distclean-DEJAGNU.
6804 (check-am): If -j% option is present in MFLAGS and if
6805 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
6806 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
6807 * testsuite/Makefile.in: Regenerated.
6808
6809 2018-11-26 Richard Biener <rguenther (a] suse.de>
6810
6811 PR tree-optimization/88182
6812 * testsuite/libgomp.c++/pr88182.C: New testcase.
6813
6814 2018-11-20 Jakub Jelinek <jakub (a] redhat.com>
6815
6816 PR bootstrap/88106
6817 * config/mingw32/affinity-fmt.c: New file.
6818
6819 2018-11-09 Jakub Jelinek <jakub (a] redhat.com>
6820
6821 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
6822 (gomp_display_affinity): Use __builtin_choose_expr to handle
6823 properly handle argument having integral, or pointer or some other
6824 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
6825 with uint64_t type instead of %llx and unsigned long long.
6826
6827 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
6828 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
6829
6830 2018-11-08 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6831
6832 * affinity.c: Include <string.h>, <stdio.h>.
6833 (gomp_display_affinity_place): Remove cpusetp.
6834 * teams.c: Include <limits.h>.
6835
6836 2018-11-08 Jakub Jelinek <jakub (a] redhat.com>
6837
6838 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
6839 in_reduction clause for s[0].
6840
6841 * affinity.c (gomp_display_affinity_place): New function.
6842 * affinity-fmt.c: New file.
6843 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
6844 * config/linux/affinity.c (gomp_display_affinity_place): New function.
6845 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
6846 Move these functions to ...
6847 * config/nvptx/teams.c: ... here. New file.
6848 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
6849 New functions.
6850 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
6851 functions.
6852 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
6853 and _aligned_malloc.
6854 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
6855 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
6856 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
6857 gomp_affinity_format_len): New variables.
6858 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
6859 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
6860 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
6861 modifiers. Display (non-default) chunk sizes. Print
6862 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
6863 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
6864 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
6865 * fortran.c: Include stdio.h and string.h.
6866 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
6867 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
6868 (omp_set_affinity_format_, omp_get_affinity_format_,
6869 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
6870 omp_pause_resource_all_): New functions.
6871 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
6872 switch.
6873 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
6874 functions to ...
6875 * teams.c: ... here. New file.
6876 * libgomp_g.h: Include gstdint.h.
6877 (GOMP_loop_nonmonotonic_runtime_start,
6878 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
6879 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
6880 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
6881 GOMP_parallel_loop_nonmonotonic_runtime,
6882 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6883 GOMP_loop_ull_nonmonotonic_runtime_start,
6884 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
6885 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
6886 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6887 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
6888 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
6889 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6890 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6891 GOMP_teams_reg): Declare.
6892 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
6893 gomp_aligned_alloc uses fallback implementation.
6894 (gomp_aligned_alloc, gomp_aligned_free): Declare.
6895 (enum gomp_schedule_type): Add GFS_MONOTONIC.
6896 (struct gomp_doacross_work_share): Add extra field.
6897 (struct gomp_work_share): Add task_reductions field.
6898 (struct gomp_taskgroup): Add workshare and reductions fields.
6899 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
6900 (gomp_thread_handle): New typedef.
6901 (gomp_display_affinity_place, gomp_set_affinity_format,
6902 gomp_display_string, gomp_display_affinity,
6903 gomp_display_affinity_thread): Declare.
6904 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
6905 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
6906 gomp_workshare_task_reduction_register): Declare.
6907 (gomp_team_start): Add taskgroup argument.
6908 (gomp_pause_host): Declare.
6909 (gomp_init_work_share, gomp_work_share_start): Change bool argument
6910 to size_t.
6911 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
6912 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
6913 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
6914 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6915 GOMP_loop_ull_doacross_start,
6916 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6917 GOMP_loop_maybe_nonmonotonic_runtime_next,
6918 GOMP_loop_maybe_nonmonotonic_runtime_start,
6919 GOMP_loop_nonmonotonic_runtime_next,
6920 GOMP_loop_nonmonotonic_runtime_start,
6921 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6922 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6923 GOMP_loop_ull_nonmonotonic_runtime_next,
6924 GOMP_loop_ull_nonmonotonic_runtime_start,
6925 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6926 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
6927 GOMP_taskgroup_reduction_register,
6928 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6929 GOMP_teams_reg and GOMP_taskwait_depend.
6930 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
6931 omp_{capture,display}_affinity{,_}, and
6932 omp_[gs]et_affinity_format{,_}.
6933 * loop.c: Include string.h.
6934 (GOMP_loop_runtime_next): Add ialias.
6935 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6936 (gomp_loop_static_start, gomp_loop_dynamic_start,
6937 gomp_loop_guided_start, gomp_loop_ordered_static_start,
6938 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
6939 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6940 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
6941 or gomp_doacross_init callers.
6942 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
6943 GOMP_loop_doacross_start): New functions.
6944 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
6945 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
6946 Mask off GFS_MONOTONIC bit.
6947 (GOMP_loop_maybe_nonmonotonic_runtime_next,
6948 GOMP_loop_maybe_nonmonotonic_runtime_start,
6949 GOMP_loop_nonmonotonic_runtime_next,
6950 GOMP_loop_nonmonotonic_runtime_start,
6951 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6952 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
6953 functions.
6954 (gomp_parallel_loop_start): Pass NULL as taskgroup to
6955 gomp_team_start.
6956 * loop_ull.c: Include string.h.
6957 (GOMP_loop_ull_runtime_next): Add ialias.
6958 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6959 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
6960 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
6961 gomp_loop_ull_ordered_dynamic_start,
6962 gomp_loop_ull_ordered_guided_start,
6963 gomp_loop_ull_doacross_static_start,
6964 gomp_loop_ull_doacross_dynamic_start,
6965 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
6966 and gomp_doacross_ull_init callers.
6967 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6968 GOMP_loop_ull_doacross_start): New functions.
6969 (GOMP_loop_ull_runtime_start,
6970 GOMP_loop_ull_ordered_runtime_start,
6971 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
6972 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6973 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6974 GOMP_loop_ull_nonmonotonic_runtime_next,
6975 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
6976 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
6977 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
6978 (omp_pause_resource_t, omp_depend_t): New typedefs.
6979 (enum omp_lock_hint_t): Renamed to ...
6980 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
6981 enumerators using numbers and omp_lock_hint_* as their aliases.
6982 (omp_lock_hint_t): New typedef. Rename to ...
6983 (omp_sync_hint_t): ... this.
6984 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
6985 omp_sync_hint_t instead of omp_lock_hint_t.
6986 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6987 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6988 Declare.
6989 (omp_target_is_present, omp_target_disassociate_ptr):
6990 Change first argument from void * to const void *.
6991 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
6992 from void * to const void *.
6993 (omp_target_associate_ptr): Change first and second arguments from
6994 void * to const void *.
6995 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
6996 omp_pause_hard): New parameters.
6997 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6998 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6999 New interfaces.
7000 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
7001 omp_pause_hard): New parameters.
7002 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
7003 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
7004 New externals.
7005 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
7006 EXTRA argument. If not needed to prepare array, if extra is 0,
7007 clear ws->doacross, otherwise allocate just doacross structure and
7008 extra payload. If array is needed, allocate also extra payload.
7009 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
7010 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
7011 doacross == NULL.
7012 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
7013 gomp_team_start.
7014 (GOMP_parallel): Likewise. Formatting fix.
7015 (GOMP_parallel_reductions): New function.
7016 (GOMP_cancellation_point): If taskgroup has workshare
7017 flag set, check cancelled of prev taskgroup if any.
7018 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
7019 on prev taskgroup if any.
7020 * sections.c: Include string.h.
7021 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7022 (GOMP_sections_start): Adjust gomp_work_share_start caller.
7023 (GOMP_sections2_start): New function.
7024 (GOMP_parallel_sections_start, GOMP_parallel_sections):
7025 Pass NULL as taskgroup to gomp_team_start.
7026 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
7027 gomp_work_share_start callers.
7028 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
7029 If taskgroup has workshare flag set, check cancelled on prev
7030 taskgroup if any. Guard all cancellation tests with
7031 gomp_cancel_var test.
7032 (omp_target_is_present, omp_target_disassociate_ptr):
7033 Change ptr argument from void * to const void *.
7034 (omp_target_memcpy): Change src argument from void * to const void *.
7035 (omp_target_memcpy_rect): Likewise.
7036 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
7037 instead of char * where needed.
7038 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
7039 from void * to const void *.
7040 (omp_pause_resource, omp_pause_resource_all): New functions.
7041 * task.c (gomp_task_handle_depend): Handle new depend array format
7042 in addition to the old. Handle mutexinoutset kinds the same as
7043 inout for now, handle unspecified kinds.
7044 (gomp_create_target_task): If taskgroup has workshare flag set, check
7045 cancelled on prev taskgroup if any. Guard all cancellation tests with
7046 gomp_cancel_var test. Handle new depend array format count in
7047 addition to the old.
7048 (GOMP_task): Likewise. Adjust function comment.
7049 (gomp_task_run_pre): If taskgroup has workshare flag set, check
7050 cancelled on prev taskgroup if any. Guard all cancellation tests with
7051 gomp_cancel_var test.
7052 (GOMP_taskwait_depend): New function.
7053 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
7054 format in addition to the old. Handle mutexinoutset kinds the same as
7055 inout for now, handle unspecified kinds. Fix a function comment typo.
7056 (gomp_taskgroup_init): New function.
7057 (GOMP_taskgroup_start): Use it.
7058 (gomp_reduction_register, gomp_create_artificial_team,
7059 GOMP_taskgroup_reduction_register,
7060 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7061 gomp_parallel_reduction_register,
7062 gomp_workshare_task_reduction_register,
7063 gomp_workshare_taskgroup_start,
7064 GOMP_workshare_task_reduction_unregister): New functions.
7065 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
7066 check cancelled on prev taskgroup if any. Guard all cancellation
7067 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
7068 by calling GOMP_taskgroup_reduction_register.
7069 * team.c (gomp_thread_attr): Remove comment.
7070 (struct gomp_thread_start_data): Add handle field.
7071 (gomp_thread_start): Call pthread_detach.
7072 (gomp_new_team): Adjust gomp_init_work_share caller.
7073 (gomp_free_pool_helper): Call pthread_detach.
7074 (gomp_team_start): Add taskgroup argument, initialize implicit
7075 tasks' taskgroup field to that. Don't call
7076 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
7077 (gomp_team_end): Determine nesting by thr->ts.level != 0
7078 rather than thr->ts.team != NULL.
7079 (gomp_pause_pool_helper, gomp_pause_host): New functions.
7080 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
7081 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
7082 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
7083 if more than 1 allocate also extra payload at the end of array. Never
7084 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
7085 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
7086 return true instead of ws.
7087 * Makefile.in: Regenerated.
7088 * configure: Regenerated.
7089 * config.h.in: Regenerated.
7090 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
7091 in some cases.
7092 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
7093 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
7094 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
7095 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
7096 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
7097 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
7098 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
7099 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
7100 * testsuite/libgomp.c-c++-common/for-10.c: New test.
7101 * testsuite/libgomp.c-c++-common/for-11.c: New test.
7102 * testsuite/libgomp.c-c++-common/for-12.c: New test.
7103 * testsuite/libgomp.c-c++-common/for-13.c: New test.
7104 * testsuite/libgomp.c-c++-common/for-14.c: New test.
7105 * testsuite/libgomp.c-c++-common/for-15.c: New test.
7106 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
7107 define a different N(test), don't define N(f0) to N(f14), but instead
7108 define N(f20) to N(f34) using != comparisons.
7109 * testsuite/libgomp.c-c++-common/for-7.c: New test.
7110 * testsuite/libgomp.c-c++-common/for-8.c: New test.
7111 * testsuite/libgomp.c-c++-common/for-9.c: New test.
7112 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
7113 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
7114 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
7115 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
7116 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
7117 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
7118 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
7119 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
7120 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
7121 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
7122 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
7123 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
7124 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
7125 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
7126 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
7127 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
7128 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
7129 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
7130 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
7131 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
7132 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
7133 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
7134 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
7135 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
7136 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
7137 * testsuite/libgomp.c++/depend-1.C: New test.
7138 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
7139 * testsuite/libgomp.c++/depobj-1.C: New test.
7140 * testsuite/libgomp.c++/for-16.C: New test.
7141 * testsuite/libgomp.c++/for-21.C: New test.
7142 * testsuite/libgomp.c++/for-22.C: New test.
7143 * testsuite/libgomp.c++/for-23.C: New test.
7144 * testsuite/libgomp.c++/for-24.C: New test.
7145 * testsuite/libgomp.c++/for-25.C: New test.
7146 * testsuite/libgomp.c++/for-26.C: New test.
7147 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
7148 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
7149 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
7150 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
7151 * testsuite/libgomp.c++/task-reduction-10.C: New test.
7152 * testsuite/libgomp.c++/task-reduction-11.C: New test.
7153 * testsuite/libgomp.c++/task-reduction-12.C: New test.
7154 * testsuite/libgomp.c++/task-reduction-13.C: New test.
7155 * testsuite/libgomp.c++/task-reduction-14.C: New test.
7156 * testsuite/libgomp.c++/task-reduction-15.C: New test.
7157 * testsuite/libgomp.c++/task-reduction-16.C: New test.
7158 * testsuite/libgomp.c++/task-reduction-17.C: New test.
7159 * testsuite/libgomp.c++/task-reduction-18.C: New test.
7160 * testsuite/libgomp.c++/task-reduction-19.C: New test.
7161 * testsuite/libgomp.c/task-reduction-1.c: New test.
7162 * testsuite/libgomp.c++/task-reduction-1.C: New test.
7163 * testsuite/libgomp.c/task-reduction-2.c: New test.
7164 * testsuite/libgomp.c++/task-reduction-2.C: New test.
7165 * testsuite/libgomp.c++/task-reduction-3.C: New test.
7166 * testsuite/libgomp.c++/task-reduction-4.C: New test.
7167 * testsuite/libgomp.c++/task-reduction-5.C: New test.
7168 * testsuite/libgomp.c++/task-reduction-6.C: New test.
7169 * testsuite/libgomp.c++/task-reduction-7.C: New test.
7170 * testsuite/libgomp.c++/task-reduction-8.C: New test.
7171 * testsuite/libgomp.c++/task-reduction-9.C: New test.
7172 * testsuite/libgomp.c/teams-1.c: New test.
7173 * testsuite/libgomp.c/teams-2.c: New test.
7174 * testsuite/libgomp.c/thread-limit-4.c: New test.
7175 * testsuite/libgomp.c/thread-limit-5.c: New test.
7176 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
7177
7178 2018-11-06 Chung-Lin Tang <cltang (a] codesourcery.com>
7179
7180 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
7181 acc_memcpy_to/from_device functions, now with async parameter.
7182 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
7183 (acc_memcpy_from_device): Likewise.
7184 (acc_memcpy_to_device_async): New API function.
7185 (acc_memcpy_from_device_async): Likewise.
7186 (present_create_copy): Add async parameter and async setting/unsetting.
7187 (acc_create): Adjust present_create_copy call.
7188 (acc_copyin): Likewise.
7189 (acc_present_or_create): Likewise.
7190 (acc_present_or_copyin): Likewise.
7191 (acc_create_async): New API function.
7192 (acc_copyin_async): New API function.
7193 (delete_copyout): Add async parameter and async setting/unsetting.
7194 (acc_delete): Adjust delete_copyout call.
7195 (acc_copyout): Likewise.
7196 (acc_delete_async): New API function.
7197 (acc_copyout_async): Likewise.
7198 (update_dev_host): Add async parameter and async setting/unsetting.
7199 (acc_update_device): Adjust update_dev_host call.
7200 (acc_update_self): Likewise.
7201 (acc_update_device_async): New API function.
7202 (acc_update_self_async): Likewise.
7203 * openacc.h (acc_copyin_async): Declare new API function.
7204 (acc_create_async): Likewise.
7205 (acc_copyout_async): Likewise.
7206 (acc_delete_async): Likewise.
7207 (acc_update_device_async): Likewise.
7208 (acc_update_self_async): Likewise.
7209 (acc_memcpy_to_device_async): Likewise.
7210 (acc_memcpy_from_device_async): Likewise.
7211 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
7212 (acc_copyin_async_64_h): New subroutine.
7213 (acc_copyin_async_array_h): New subroutine.
7214 (acc_create_async_32_h): New subroutine.
7215 (acc_create_async_64_h): New subroutine.
7216 (acc_create_async_array_h): New subroutine.
7217 (acc_copyout_async_32_h): New subroutine.
7218 (acc_copyout_async_64_h): New subroutine.
7219 (acc_copyout_async_array_h): New subroutine.
7220 (acc_delete_async_32_h): New subroutine.
7221 (acc_delete_async_64_h): New subroutine.
7222 (acc_delete_async_array_h): New subroutine.
7223 (acc_update_device_async_32_h): New subroutine.
7224 (acc_update_device_async_64_h): New subroutine.
7225 (acc_update_device_async_array_h): New subroutine.
7226 (acc_update_self_async_32_h): New subroutine.
7227 (acc_update_self_async_64_h): New subroutine.
7228 (acc_update_self_async_array_h): New subroutine.
7229 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
7230 (acc_copyin_async_64_h): New subroutine.
7231 (acc_copyin_async_array_h): New subroutine.
7232 (acc_create_async_32_h): New subroutine.
7233 (acc_create_async_64_h): New subroutine.
7234 (acc_create_async_array_h): New subroutine.
7235 (acc_copyout_async_32_h): New subroutine.
7236 (acc_copyout_async_64_h): New subroutine.
7237 (acc_copyout_async_array_h): New subroutine.
7238 (acc_delete_async_32_h): New subroutine.
7239 (acc_delete_async_64_h): New subroutine.
7240 (acc_delete_async_array_h): New subroutine.
7241 (acc_update_device_async_32_h): New subroutine.
7242 (acc_update_device_async_64_h): New subroutine.
7243 (acc_update_device_async_array_h): New subroutine.
7244 (acc_update_self_async_32_h): New subroutine.
7245 (acc_update_self_async_64_h): New subroutine.
7246 (acc_update_self_async_array_h): New subroutine.
7247 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
7248 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
7249 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
7250 acc_memcpy_to_device_async*, acc_update_device_async*, and
7251 acc_update_self_async* entries.
7252 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
7253 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
7254 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
7255
7256 2018-10-31 Joseph Myers <joseph (a] codesourcery.com>
7257
7258 PR bootstrap/82856
7259 * Makefile.am: Include multilib.am
7260 (AUTOMAKE_OPTIONS): Add info-in-builddir.
7261 (CLEANFILES): Remove libgomp.info.
7262 * configure.ac: Remove AC_PREREQ.
7263 * testsuite/Makefile.am (RUNTEST): Remove quotes.
7264 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
7265 Regenerate.
7266
7267 2018-10-29 Joseph Myers <joseph (a] codesourcery.com>
7268 Julian Brown <julian (a] codesourcery.com>
7269
7270 * testsuite/libgomp.oacc-c++/this.C: New.
7271
7272 2018-09-18 Cesar Philippidis <cesar (a] codesourcery.com>
7273
7274 * plugin/plugin-nvptx.c (struct cuda_map): New.
7275 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
7276 h_tail with (cuda_map *) map.
7277 (cuda_map_create): New function.
7278 (cuda_map_destroy): New function.
7279 (map_init): Update to use a linked list of cuda_map objects.
7280 (map_fini): Likewise.
7281 (map_pop): Likewise.
7282 (map_push): Likewise. Return CUdeviceptr instead of void.
7283 (init_streams_for_device): Remove stales references to ptx_stream
7284 members.
7285 (select_stream_for_async): Likewise.
7286 (nvptx_exec): Update call to map_init.
7287
7288 2018-09-09 Cesar Philippidis <cesar (a] codesourcery.com>
7289 Julian Brown <julian (a] codesourcery.com>
7290
7291 PR middle-end/86336
7292 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
7293
7294 2018-08-21 Nicolas Koenig <koenigni (a] gcc.gnu.org>
7295 Thomas Koenig <tkoenig (a] gcc.gnu.org>
7296
7297 PR fortran/25829
7298 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7299 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7300 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7301 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7302 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7303 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7304 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7305
7306 2018-08-13 Cesar Philippidis <cesar (a] codesourcery.com>
7307 Tom de Vries <tdevries (a] suse.de>
7308
7309 PR target/85590
7310 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
7311 (cuOccupancyMaxPotentialBlockSize): Declare.
7312 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
7313 CUDA_ONE_CALL_MAYBE_NULL.
7314 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
7315 CUoccupancyB2DSize and declare
7316 cuOccupancyMaxPotentialBlockSize.
7317 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
7318 default num_gangs and num_workers when the driver supports it.
7319
7320 2018-08-08 Tom de Vries <tdevries (a] suse.de>
7321
7322 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
7323 CUDA_ONE_CALL_MAYBE_NULL.
7324 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
7325 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
7326 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
7327 are not found.
7328
7329 2018-08-08 Tom de Vries <tdevries (a] suse.de>
7330
7331 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
7332 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
7333 present.
7334
7335 2018-08-08 Tom de Vries <tdevries (a] suse.de>
7336
7337 * plugin/plugin-nvptx.c
7338 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
7339 (nvptx_open_device): Use
7340 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
7341
7342 2018-08-08 Tom de Vries <tdevries (a] suse.de>
7343
7344 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
7345 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
7346
7347 2018-08-07 Tom de Vries <tdevries (a] suse.de>
7348
7349 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
7350 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
7351 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
7352 corresponding call in CUDA_ONE_CALL. Add def/undef of
7353 CUDA_ONE_CALL_MAYBE_NULL.
7354 (CUDA_CALL_EXISTS): Define.
7355
7356 2018-08-07 Tom de Vries <tdevries (a] suse.de>
7357
7358 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
7359 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
7360 corresponding undefs right after.
7361
7362 2018-08-04 Tom de Vries <tdevries (a] suse.de>
7363
7364 * plugin/configfrag.ac: For --without-cuda-driver, set
7365 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
7366 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
7367 * configure: Regenerate.
7368
7369 2018-08-02 Tom de Vries <tdevries (a] suse.de>
7370
7371 PR target/86660
7372 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
7373 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
7374 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
7375 Same.
7376 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
7377 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
7378 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
7379
7380 2018-08-01 Cesar Philippidis <cesar (a] codesourcery.com>
7381 Thomas Schwinge <thomas (a] codesourcery.com>
7382
7383 * config/nvptx/oacc-parallel.c: Truncate.
7384
7385 2018-08-01 Cesar Philippidis <cesar (a] codesourcery.com>
7386 James Norris <jnorris (a] codesourcery.com>
7387
7388 * plugin/plugin-nvptx.c (struct map): Removed.
7389 (map_init, map_pop): Remove use of struct map.
7390 (map_push): Likewise and change argument list.
7391 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
7392
7393 2018-08-01 Tom de Vries <tdevries (a] suse.de>
7394
7395 * plugin/cuda-lib.def: New file. Factor out of ...
7396 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
7397 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
7398 using CUDA_CALLS.
7399
7400 2018-07-31 Andre Vieira <andre.simoesdiasvieira (a] arm.com>
7401
7402 Revert 'AsyncI/O patch committed'.
7403 2018-07-25 Nicolas Koenig <koenigni (a] gcc.gnu.org>
7404 Thomas Koenig <tkoenig (a] gcc.gnu.org>
7405
7406 PR fortran/25829
7407 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7408 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7409 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7410 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7411 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7412 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7413 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7414
7415 2018-07-30 Tom de Vries <tdevries (a] suse.de>
7416
7417 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
7418 (nvptx_exec): Ensure worker and vector default dims don't exceed
7419 targ_fn->max_threads_per_block.
7420
7421 2018-07-30 Tom de Vries <tdevries (a] suse.de>
7422
7423 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
7424 (nvptx_open_device): Init default_dims for device.
7425 (nvptx_exec): Use default_dims from device.
7426
7427 2018-07-26 Jakub Jelinek <jakub (a] redhat.com>
7428
7429 PR testsuite/86660
7430 * testsuite/libgomp.c++/for-15.C (results): Include it in
7431 omp declare target region.
7432 (main): Use map (always, tofrom: results) instead of
7433 map (tofrom: results).
7434
7435 PR middle-end/86660
7436 * testsuite/libgomp.c/pr86660.c: New test.
7437
7438 2018-07-26 Cesar Philippidis <cesar (a] codesourcery.com>
7439 Tom de Vries <tdevries (a] suse.de>
7440
7441 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
7442 sufficient resources to launch a kernel, and give a hint on how to fix
7443 it.
7444
7445 2018-07-26 Cesar Philippidis <cesar (a] codesourcery.com>
7446 Tom de Vries <tdevries (a] suse.de>
7447
7448 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
7449 max_threads_per_block and max_threads_per_multiprocessor fields.
7450 (nvptx_open_device): Initialize new fields.
7451 (nvptx_exec): Use num_sms, and new fields.
7452
7453 2018-07-26 Tom de Vries <tdevries (a] suse.de>
7454
7455 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
7456 to correct locations. Remove xfail.
7457
7458 2018-07-26 Tom de Vries <tdevries (a] suse.de>
7459
7460 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
7461 acc_wait. Move acc_async_test calls to correct locations. Remove
7462 xfail.
7463
7464 2018-07-25 Nicolas Koenig <koenigni (a] gcc.gnu.org>
7465 Thomas Koenig <tkoenig (a] gcc.gnu.org>
7466
7467 PR fortran/25829
7468 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7469 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7470 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7471 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7472 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7473 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7474 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7475
7476 2018-07-17 Jakub Jelinek <jakub (a] redhat.com>
7477
7478 PR middle-end/86542
7479 * testsuite/libgomp.c++/pr86542.C: New test.
7480
7481 PR middle-end/86539
7482 * testsuite/libgomp.c++/pr86539.C: New test.
7483
7484 2018-07-11 Jakub Jelinek <jakub (a] redhat.com>
7485
7486 PR c++/86443
7487 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
7488 (results): Make sure the variable is not inside declare target region.
7489 (qux): Remove unused function.
7490
7491 2018-07-10 Jakub Jelinek <jakub (a] redhat.com>
7492
7493 PR c++/86443
7494 * testsuite/libgomp.c++/for-15.C: New test.
7495
7496 2018-06-26 Jakub Jelinek <jakub (a] redhat.com>
7497
7498 PR c++/86291
7499 * testsuite/libgomp.c++/pr86291.C: New test.
7500
7501 2018-06-24 Gerald Pfeifer <gerald (a] pfeifer.com>
7502
7503 * libgomp.texi (Top): Move www.openmp.org to https.
7504 (Enabling OpenMP): Ditto.
7505 (omp_get_active_level): Ditto.
7506 (omp_get_ancestor_thread_num): Ditto.
7507 (omp_get_cancellation): Ditto.
7508 (omp_get_default_device): Ditto.
7509 (omp_get_dynamic): Ditto.
7510 (omp_get_level): Ditto.
7511 (omp_get_max_active_levels): Ditto.
7512 (omp_get_max_task_priority): Ditto.
7513 (omp_get_max_threads): Ditto.
7514 (omp_get_nested): Ditto.
7515 (omp_get_num_devices): Ditto.
7516 (omp_get_num_procs): Ditto.
7517 (omp_get_num_teams): Ditto.
7518 (omp_get_num_threads): Ditto.
7519 (omp_get_proc_bind): Ditto.
7520 (omp_get_schedule): Ditto.
7521 (omp_get_team_num): Ditto.
7522 (omp_get_team_size): Ditto.
7523 (omp_get_thread_limit): Ditto.
7524 (omp_get_thread_num): Ditto.
7525 (omp_in_parallel): Ditto.
7526 (omp_in_final): Ditto.
7527 (omp_is_initial_device): Ditto.
7528 (omp_set_default_device): Ditto.
7529 (omp_set_dynamic): Ditto.
7530 (omp_set_max_active_levels): Ditto.
7531 (omp_set_nested): Ditto.
7532 (omp_set_num_threads): Ditto.
7533 (omp_set_schedule): Ditto.
7534 (omp_init_lock): Ditto.
7535 (omp_set_lock): Ditto.
7536 (omp_test_lock): Ditto.
7537 (omp_unset_lock): Ditto.
7538 (omp_destroy_lock): Ditto.
7539 (omp_init_nest_lock): Ditto.
7540 (omp_set_nest_lock): Ditto.
7541 (omp_test_nest_lock): Ditto.
7542 (omp_unset_nest_lock): Ditto.
7543 (omp_destroy_nest_lock): Ditto.
7544 (omp_get_wtick): Ditto.
7545 (omp_get_wtime): Ditto.
7546 (OMP_CANCELLATION): Ditto.
7547 (OMP_DISPLAY_ENV): Ditto.
7548 (OMP_DEFAULT_DEVICE): Ditto.
7549 (OMP_DYNAMIC): Ditto.
7550 (OMP_MAX_ACTIVE_LEVELS): Ditto.
7551 (OMP_MAX_TASK_PRIORITY): Ditto.
7552 (OMP_NESTED): Ditto.
7553 (OMP_NUM_THREADS): Ditto.
7554 (OMP_PROC_BIND): Ditto.
7555 (OMP_PLACES): Ditto.
7556 (OMP_STACKSIZE): Ditto.
7557 (OMP_SCHEDULE): Ditto.
7558 (OMP_THREAD_LIMIT): Ditto.
7559 (OMP_WAIT_POLICY): Ditto.
7560
7561 2018-06-22 Cesar Philippidis <cesar (a] codesourcery.com>
7562 James Norris <jnorris (a] codesourcery.com>
7563 Julian Brown <julian (a] codesourcery.com>
7564 Thomas Schwinge <thomas (a] codesourcery.com>
7565 Tom de Vries <tom (a] codesourcery.com>
7566
7567 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
7568 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
7569 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
7570 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
7571 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7572 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7573 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
7574 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
7575 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
7576 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
7577 Likewise.
7578 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7579 Likewise.
7580 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7581 Likewise.
7582 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
7583 Likewise.
7584 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
7585 Likewise.
7586 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7587 Likewise.
7588 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
7589 Likewise.
7590 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
7591 Likewise.
7592 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
7593 Likewise.
7594 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
7595 Likewise.
7596 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
7597 Likewise.
7598 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
7599 Likewise.
7600 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
7601 Likewise.
7602 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
7603 Likewise.
7604 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
7605 Likewise.
7606 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
7607 Likewise.
7608 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
7609 Likewise.
7610 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
7611 Likewise.
7612 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
7613 Likewise.
7614 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
7615 Likewise.
7616 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
7617 Likewise.
7618 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
7619 Likewise.
7620 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
7621 Likewise.
7622 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
7623 Likewise.
7624 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
7625 Likewise.
7626 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
7627 Likewise.
7628 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
7629 Likewise.
7630 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
7631 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
7632 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
7633 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
7634 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
7635 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
7636 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
7637 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
7638 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
7639 Likewise.
7640 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
7641 Likewise.
7642 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
7643 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
7644 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
7645 Likewise.
7646 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
7647 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
7648 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
7649 Likewise.
7650 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
7651 Likewise.
7652 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
7653 Likewise.
7654 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
7655 Likewise.
7656 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
7657 Likewise.
7658 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
7659 Likewise.
7660 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
7661 Likewise.
7662 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
7663 Likewise.
7664 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
7665 Likewise.
7666 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
7667 Likewise.
7668 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
7669 Likewise.
7670 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
7671 Likewise.
7672 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
7673 Likewise.
7674 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
7675 Likewise.
7676 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
7677 Likewise.
7678 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
7679 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
7680 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
7681 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
7682 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
7683 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
7684 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
7685
7686 2018-06-20 Chung-Lin Tang <cltang (a] codesourcery.com>
7687 Thomas Schwinge <thomas (a] codesourcery.com>
7688 Cesar Philippidis <cesar (a] codesourcery.com>
7689
7690 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
7691 (gomp_acc_remove_pointer): Update declaration.
7692 (gomp_acc_declare_allocate): Declare.
7693 (gomp_remove_var): Declare.
7694 * libgomp.map (OACC_2.5): Define.
7695 * oacc-mem.c (acc_map_data): Update refcount.
7696 (acc_unmap_data): Likewise.
7697 (present_create_copy): Likewise.
7698 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
7699 (acc_copyin): Likewise.
7700 (FLAG_FINALIZE): Define.
7701 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
7702 (acc_delete_finalize): New function.
7703 (acc_delete_finalize_async): New function.
7704 (acc_copyout_finalize): New function.
7705 (acc_copyout_finalize_async): New function.
7706 (gomp_acc_insert_pointer): Update refcounts.
7707 (gomp_acc_remove_pointer): Return if data is not present on the
7708 accelerator.
7709 * oacc-parallel.c (find_pset): Rename to find_pointer.
7710 (find_pointer): Add support for GOMP_MAP_POINTER.
7711 (handle_ftn_pointers): New function.
7712 (GOACC_parallel_keyed): Update refcounts of variables.
7713 (GOACC_enter_exit_data): Add support for finalized data mappings.
7714 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
7715 of fortran arrays.
7716 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
7717 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
7718 for GOMP_MAP_FORCE_FROM.
7719 * openacc.f90 (module openacc_internal): Add
7720 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
7721 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
7722 acc_copyout_finalize and acc_delete_finalize.
7723 (acc_copyout_finalize_32_h): New subroutine.
7724 (acc_copyout_finalize_64_h): New subroutine.
7725 (acc_copyout_finalize_array_h): New subroutine.
7726 (acc_delete_finalize_32_h): New subroutine.
7727 (acc_delete_finalize_64_h): New subroutine.
7728 (acc_delete_finalize_array_h): New subroutine.
7729 * openacc.h (acc_copyout_finalize): Declare.
7730 (acc_copyout_finalize_async): Declare.
7731 (acc_delete_finalize): Declare.
7732 (acc_delete_finalize_async): Declare.
7733 * openacc_lib.h (acc_copyout_finalize): New interface.
7734 (acc_delete_finalize): New interface.
7735 * target.c (gomp_map_vars): Update dynamic_refcount.
7736 (gomp_remove_var): New function.
7737 (gomp_unmap_vars): Use it.
7738 (gomp_unload_image_from_device): Likewise.
7739 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
7740 case to utilize OpenACC 2.5 data clause semantics.
7741 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7742 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7743 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7744 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7745 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7746 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7747 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7748 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7749 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7750 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7751 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7752 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
7753 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
7754 utilize OpenACC 2.5 data clause semantics.
7755 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7756 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7757 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7758 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7759 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7760 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7761 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7762 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7763 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7764
7765 2018-05-21 Janus Weil <janus (a] gcc.gnu.org>
7766
7767 PR fortran/85841
7768 PR testsuite/85865
7769 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
7770 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
7771 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
7772 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
7773 * testsuite/libgomp.fortran/task2.f90: Ditto.
7774 * testsuite/libgomp.fortran/vla1.f90: Ditto.
7775 * testsuite/libgomp.fortran/vla2.f90: Ditto.
7776 * testsuite/libgomp.fortran/vla3.f90: Ditto.
7777 * testsuite/libgomp.fortran/vla4.f90: Ditto.
7778 * testsuite/libgomp.fortran/vla5.f90: Ditto.
7779 * testsuite/libgomp.fortran/vla6.f90: Ditto.
7780 * testsuite/libgomp.fortran/vla8.f90: Ditto.
7781 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
7782 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
7783
7784 2018-05-18 Cesar Philippidis <cesar (a] codesourcery.com>
7785
7786 PR c++/85782
7787 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
7788
7789 2018-05-09 Tom de Vries <tom (a] codesourcery.com>
7790
7791 PR libgomp/82901
7792 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
7793 to GOACC_enter_exit_data.
7794
7795 2018-05-09 Tom de Vries <tom (a] codesourcery.com>
7796
7797 PR libgomp/83792
7798 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
7799 (async_synchronous_p): New function.
7800 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
7801 async_valid_p.
7802 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
7803 async_valid_stream_id_p.
7804 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
7805 * oacc-parallel.c (GOACC_parallel_keyed): Same.
7806
7807 2018-05-07 Tom de Vries <tom (a] codesourcery.com>
7808
7809 PR testsuite/85677
7810 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
7811 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
7812
7813 2018-05-03 Tom de Vries <tom (a] codesourcery.com>
7814
7815 PR testsuite/85106
7816 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
7817 extra_tool_flags if it contains an -foffload=-fdump-* flag.
7818 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
7819 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
7820
7821 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
7822
7823 PR libgomp/85411
7824 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
7825 GOMP_OPENACC_DIM ...
7826 * env.c (parse_gomp_openacc_dim): ... here. New function.
7827 (initialize_env): Call parse_gomp_openacc_dim.
7828 (goacc_default_dims): Define.
7829 * libgomp.h (goacc_default_dims): Declare.
7830 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
7831 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
7832 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
7833 GOMP_PLUGIN_acc_default_dim.
7834 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
7835 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
7836
7837 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
7838
7839 PR testsuite/83791
7840 * testsuite/libgomp.c++/udr-9.C: Update.
7841 * testsuite/libgomp.c++/atomic-16.C: Remove.
7842 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
7843 * testsuite/libgomp.c++/loop-13.C: Remove.
7844 * testsuite/libgomp.c++/loop-14.C: Remove.
7845 * testsuite/libgomp.c++/loop-15.C: Remove.
7846 * testsuite/libgomp.c++/monotonic-1.C: Remove.
7847 * testsuite/libgomp.c++/monotonic-2.C: Remove.
7848 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
7849 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
7850 * testsuite/libgomp.c++/ordered-1.C: Remove.
7851 * testsuite/libgomp.c++/pr45784.C: Remove.
7852 * testsuite/libgomp.c++/pr64824.C: Remove.
7853 * testsuite/libgomp.c++/pr64868.C: Remove.
7854 * testsuite/libgomp.c++/pr66199-1.C: Remove.
7855 * testsuite/libgomp.c++/pr66199-2.C: Remove.
7856 * testsuite/libgomp.c++/pr66199-3.C: Remove.
7857 * testsuite/libgomp.c++/pr66199-4.C: Remove.
7858 * testsuite/libgomp.c++/pr66199-5.C: Remove.
7859 * testsuite/libgomp.c++/pr66199-6.C: Remove.
7860 * testsuite/libgomp.c++/pr66199-7.C: Remove.
7861 * testsuite/libgomp.c++/pr66199-8.C: Remove.
7862 * testsuite/libgomp.c++/pr66199-9.C: Remove.
7863 * testsuite/libgomp.c++/pr69389.C: Remove.
7864 * testsuite/libgomp.c++/simd10.C: Remove.
7865 * testsuite/libgomp.c++/simd11.C: Remove.
7866 * testsuite/libgomp.c++/simd12.C: Remove.
7867 * testsuite/libgomp.c++/simd13.C: Remove.
7868 * testsuite/libgomp.c++/target-1.C: Remove.
7869 * testsuite/libgomp.c++/target-3.C: Remove.
7870 * testsuite/libgomp.c++/target-4.C: Remove.
7871 * testsuite/libgomp.c++/target-5.C: Remove.
7872 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
7873 * testsuite/libgomp.c++/taskloop-1.C: Remove.
7874 * testsuite/libgomp.c++/taskloop-2.C: Remove.
7875 * testsuite/libgomp.c++/taskloop-3.C: Remove.
7876 * testsuite/libgomp.c++/taskloop-4.C: Remove.
7877 * testsuite/libgomp.c++/udr-9.C: Remove.
7878 * testsuite/libgomp.c++/for-10.C: Remove.
7879 * testsuite/libgomp.c++/for-11.C: Remove.
7880 * testsuite/libgomp.c++/for-12.C: Remove.
7881 * testsuite/libgomp.c++/for-13.C: Remove.
7882 * testsuite/libgomp.c++/for-14.C: Remove.
7883 * testsuite/libgomp.c++/for-9.C: Remove.
7884 * testsuite/libgomp.c/atomic-18.c: Move ...
7885 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
7886 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
7887 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
7888 * testsuite/libgomp.c/loop-13.c: Move ...
7889 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
7890 * testsuite/libgomp.c/loop-14.c: Move ...
7891 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
7892 * testsuite/libgomp.c/loop-15.c: Remove.
7893 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
7894 * testsuite/libgomp.c/monotonic-1.c: Move ...
7895 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
7896 * testsuite/libgomp.c/monotonic-2.c: Move ...
7897 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
7898 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
7899 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
7900 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
7901 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
7902 * testsuite/libgomp.c/ordered-4.c: Move ...
7903 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
7904 * testsuite/libgomp.c/pr45784.c: Move ...
7905 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
7906 * testsuite/libgomp.c/pr64824.c: Move ...
7907 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
7908 * testsuite/libgomp.c/pr64868.c: Move ...
7909 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
7910 * testsuite/libgomp.c/pr66199-1.c: Move ...
7911 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
7912 * testsuite/libgomp.c/pr66199-2.c: Move ...
7913 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
7914 * testsuite/libgomp.c/pr66199-3.c: Move ...
7915 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
7916 * testsuite/libgomp.c/pr66199-4.c: Move ...
7917 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
7918 * testsuite/libgomp.c/pr66199-5.c: Move ...
7919 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
7920 * testsuite/libgomp.c/pr66199-6.c: Move ...
7921 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
7922 * testsuite/libgomp.c/pr66199-7.c: Move ...
7923 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
7924 * testsuite/libgomp.c/pr66199-8.c: Move ...
7925 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
7926 * testsuite/libgomp.c/pr66199-9.c: Move ...
7927 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
7928 * testsuite/libgomp.c/pr69389.c: Move ...
7929 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
7930 * testsuite/libgomp.c/simd-14.c: Move ...
7931 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
7932 * testsuite/libgomp.c/simd-15.c: Move ...
7933 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
7934 * testsuite/libgomp.c/simd-16.c: Move ...
7935 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
7936 * testsuite/libgomp.c/simd-17.c: Move ...
7937 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
7938 * testsuite/libgomp.c/target-1.c: Move ...
7939 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
7940 * testsuite/libgomp.c/target-10.c: Move ...
7941 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
7942 * testsuite/libgomp.c/target-13.c: Move ...
7943 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
7944 * testsuite/libgomp.c/target-2.c: Move ...
7945 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
7946 * testsuite/libgomp.c/taskgroup-1.c: Move ...
7947 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
7948 * testsuite/libgomp.c/taskloop-1.c: Move ...
7949 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
7950 * testsuite/libgomp.c/taskloop-2.c: Move ...
7951 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
7952 * testsuite/libgomp.c/taskloop-3.c: Move ...
7953 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
7954 * testsuite/libgomp.c/taskloop-4.c: Move ...
7955 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
7956 * testsuite/libgomp.c/udr-1.c: Move ...
7957 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
7958 * testsuite/libgomp.c/for-1.c: Move ...
7959 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
7960 * testsuite/libgomp.c/for-1.h: Move ...
7961 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
7962 * testsuite/libgomp.c/for-2.c: Move ...
7963 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
7964 * testsuite/libgomp.c/for-2.h: Move ...
7965 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
7966 * testsuite/libgomp.c/for-3.c: Move ...
7967 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
7968 * testsuite/libgomp.c/for-4.c: Move ...
7969 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
7970 * testsuite/libgomp.c/for-5.c: Move ...
7971 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
7972 * testsuite/libgomp.c/for-6.c: Move ...
7973 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
7974
7975 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
7976
7977 PR libgomp/82428
7978 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
7979 __builtin_goacc_parlevel_{id,size}.
7980 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
7981 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
7982 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
7983 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
7984 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
7985 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
7986 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
7987 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
7988 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
7989 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
7990 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
7991 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
7992 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
7993 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
7994 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
7995 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
7996 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
7997 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
7998 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
7999 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
8000 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
8001 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
8002 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
8003
8004 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
8005
8006 PR testsuite/85106
8007 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
8008
8009 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
8010
8011 PR testsuite/85106
8012 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
8013
8014 2018-04-29 Julian Brown <julian (a] codesourcery.com>
8015 Tom de Vries <tom (a] codesourcery.com>
8016
8017 PR testsuite/85527
8018 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
8019 arbitrary order for iterations of atomic subtract check.
8020
8021 2018-04-28 Tom de Vries <tom (a] codesourcery.com>
8022
8023 PR testsuite/85527
8024 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
8025 atomic capture results obtained in parallel loop to an array, instead of
8026 to a scalar.
8027
8028 2018-04-26 Tom de Vries <tom (a] codesourcery.com>
8029
8030 PR libgomp/84020
8031 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
8032 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
8033 (process_GOMP_NVPTX_JIT): New function.
8034 (link_ptx): Use process_GOMP_NVPTX_JIT.
8035
8036 2018-04-26 Richard Biener <rguenther (a] suse.de>
8037 Tom de Vries <tom (a] codesourcery.com>
8038
8039 PR lto/85422
8040 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
8041
8042 2018-04-26 Tom de Vries <tom (a] codesourcery.com>
8043
8044 PR target/85519
8045 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
8046 recursion depth from 25 to 23.
8047 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
8048
8049 2018-04-24 H.J. Lu <hongjiu.lu (a] intel.com>
8050
8051 * configure: Regenerated.
8052
8053 2018-04-20 Nathan Sidwell <nathan (a] codesourcery.com>
8054 Tom de Vries <tom (a] codesourcery.com>
8055
8056 PR target/85445
8057 * testsuite/libgomp.oacc-c++/ref-1.C: New.
8058
8059 2018-04-19 Thomas Schwinge <thomas (a] codesourcery.com>
8060
8061 PR libgomp/85463
8062 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
8063 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8064 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8065 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
8066 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
8067 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
8068
8069 PR libfortran/85166
8070 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
8071 abort".
8072 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8073
8074 2018-04-19 Jakub Jelinek <jakub (a] redhat.com>
8075
8076 * configure: Regenerated.
8077
8078 2018-04-18 David Malcolm <dmalcolm (a] redhat.com>
8079
8080 PR jit/85384
8081 * configure: Regenerate.
8082
8083 2018-04-16 Cesar Philippidis <cesar (a] codesourcery.com>
8084 Tom de Vries <tom (a] codesourcery.com>
8085
8086 PR middle-end/84955
8087 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8088 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8089
8090 2018-04-12 Thomas Koenig <tkoenig (a] gcc.gnu.org>
8091
8092 PR fortran/83064
8093 PR testsuite/85346
8094 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
8095 test from gfortran.dg to here.
8096
8097 2018-04-12 Cesar Philippidis <cesar (a] codesourcery.com>
8098
8099 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
8100 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
8101
8102 2018-04-12 Cesar Philippidis <cesar (a] codesourcery.com>
8103
8104 PR middle-end/84955
8105 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8106 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8107
8108 2018-04-05 Tom de Vries <tom (a] codesourcery.com>
8109
8110 PR target/85204
8111 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
8112
8113 2018-03-26 Tom de Vries <tom (a] codesourcery.com>
8114
8115 PR tree-optimization/85063
8116 * testsuite/libgomp.c/switch-conversion-2.c: New test.
8117 * testsuite/libgomp.c/switch-conversion.c: New test.
8118 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
8119 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
8120
8121 2018-03-25 Thomas Koenig <tkoenig (a] gcc.gnu.org>
8122
8123 PR fortran/84381
8124 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
8125 call abort by STOP n.
8126 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
8127 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
8128 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
8129 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
8130 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
8131 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
8132 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
8133 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
8134 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
8135 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
8136 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
8137 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
8138 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
8139 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
8140 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
8141 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
8142 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
8143 * testsuite/libgomp.fortran/associate1.f90: Likewise.
8144 * testsuite/libgomp.fortran/associate2.f90: Likewise.
8145 * testsuite/libgomp.fortran/associate3.f90: Likewise.
8146 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
8147 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
8148 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
8149 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
8150 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
8151 * testsuite/libgomp.fortran/character1.f90: Likewise.
8152 * testsuite/libgomp.fortran/character2.f90: Likewise.
8153 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
8154 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
8155 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
8156 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
8157 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
8158 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
8159 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
8160 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
8161 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
8162 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
8163 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
8164 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
8165 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
8166 * testsuite/libgomp.fortran/do1.f90: Likewise.
8167 * testsuite/libgomp.fortran/do2.f90: Likewise.
8168 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
8169 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
8170 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
8171 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
8172 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
8173 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
8174 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8175 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
8176 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
8177 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
8178 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
8179 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
8180 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8181 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
8182 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
8183 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
8184 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
8185 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
8186 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
8187 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
8188 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
8189 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
8190 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
8191 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
8192 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
8193 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
8194 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
8195 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8196 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
8197 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
8198 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
8199 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
8200 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
8201 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8202 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8203 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
8204 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
8205 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
8206 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
8207 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
8208 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
8209 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
8210 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
8211 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
8212 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
8213 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
8214 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
8215 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
8216 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
8217 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8218 * testsuite/libgomp.fortran/lib2.f: Likewise.
8219 * testsuite/libgomp.fortran/lib3.f: Likewise.
8220 * testsuite/libgomp.fortran/lib4.f90: Likewise.
8221 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
8222 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
8223 * testsuite/libgomp.fortran/nested1.f90: Likewise.
8224 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
8225 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
8226 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
8227 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
8228 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
8229 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
8230 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
8231 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
8232 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
8233 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
8234 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
8235 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
8236 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
8237 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
8238 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
8239 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
8240 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
8241 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
8242 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
8243 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8244 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
8245 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
8246 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
8247 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
8248 * testsuite/libgomp.fortran/pr25162.f: Likewise.
8249 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
8250 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
8251 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
8252 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
8253 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
8254 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
8255 * testsuite/libgomp.fortran/pr28390.f: Likewise.
8256 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
8257 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
8258 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
8259 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
8260 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
8261 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
8262 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
8263 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
8264 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
8265 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
8266 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
8267 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
8268 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
8269 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
8270 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
8271 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
8272 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
8273 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
8274 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
8275 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
8276 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
8277 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
8278 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
8279 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
8280 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
8281 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8282 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
8283 * testsuite/libgomp.fortran/reference1.f90: Likewise.
8284 * testsuite/libgomp.fortran/reference2.f90: Likewise.
8285 * testsuite/libgomp.fortran/retval1.f90: Likewise.
8286 * testsuite/libgomp.fortran/retval2.f90: Likewise.
8287 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
8288 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
8289 * testsuite/libgomp.fortran/simd1.f90: Likewise.
8290 * testsuite/libgomp.fortran/simd2.f90: Likewise.
8291 * testsuite/libgomp.fortran/simd3.f90: Likewise.
8292 * testsuite/libgomp.fortran/simd4.f90: Likewise.
8293 * testsuite/libgomp.fortran/simd5.f90: Likewise.
8294 * testsuite/libgomp.fortran/simd6.f90: Likewise.
8295 * testsuite/libgomp.fortran/simd7.f90: Likewise.
8296 * testsuite/libgomp.fortran/stack.f90: Likewise.
8297 * testsuite/libgomp.fortran/strassen.f90: Likewise.
8298 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
8299 * testsuite/libgomp.fortran/tabs2.f: Likewise.
8300 * testsuite/libgomp.fortran/target1.f90: Likewise.
8301 * testsuite/libgomp.fortran/target2.f90: Likewise.
8302 * testsuite/libgomp.fortran/target3.f90: Likewise.
8303 * testsuite/libgomp.fortran/target4.f90: Likewise.
8304 * testsuite/libgomp.fortran/target5.f90: Likewise.
8305 * testsuite/libgomp.fortran/target6.f90: Likewise.
8306 * testsuite/libgomp.fortran/target7.f90: Likewise.
8307 * testsuite/libgomp.fortran/target8.f90: Likewise.
8308 * testsuite/libgomp.fortran/task1.f90: Likewise.
8309 * testsuite/libgomp.fortran/task2.f90: Likewise.
8310 * testsuite/libgomp.fortran/task3.f90: Likewise.
8311 * testsuite/libgomp.fortran/task4.f90: Likewise.
8312 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
8313 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
8314 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
8315 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
8316 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
8317 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8318 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8319 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8320 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
8321 * testsuite/libgomp.fortran/udr1.f90: Likewise.
8322 * testsuite/libgomp.fortran/udr10.f90: Likewise.
8323 * testsuite/libgomp.fortran/udr11.f90: Likewise.
8324 * testsuite/libgomp.fortran/udr12.f90: Likewise.
8325 * testsuite/libgomp.fortran/udr13.f90: Likewise.
8326 * testsuite/libgomp.fortran/udr14.f90: Likewise.
8327 * testsuite/libgomp.fortran/udr15.f90: Likewise.
8328 * testsuite/libgomp.fortran/udr2.f90: Likewise.
8329 * testsuite/libgomp.fortran/udr3.f90: Likewise.
8330 * testsuite/libgomp.fortran/udr4.f90: Likewise.
8331 * testsuite/libgomp.fortran/udr5.f90: Likewise.
8332 * testsuite/libgomp.fortran/udr6.f90: Likewise.
8333 * testsuite/libgomp.fortran/udr7.f90: Likewise.
8334 * testsuite/libgomp.fortran/udr8.f90: Likewise.
8335 * testsuite/libgomp.fortran/udr9.f90: Likewise.
8336 * testsuite/libgomp.fortran/vla1.f90: Likewise.
8337 * testsuite/libgomp.fortran/vla2.f90: Likewise.
8338 * testsuite/libgomp.fortran/vla3.f90: Likewise.
8339 * testsuite/libgomp.fortran/vla4.f90: Likewise.
8340 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8341 * testsuite/libgomp.fortran/vla6.f90: Likewise.
8342 * testsuite/libgomp.fortran/vla7.f90: Likewise.
8343 * testsuite/libgomp.fortran/vla8.f90: Likewise.
8344 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
8345 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
8346 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8347 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8348 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8349 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8350 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8351 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8352 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8353 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8354 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8355 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
8356 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8357 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
8358 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8359 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8360 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8361 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8362 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8363 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8364 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8365 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8366 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8367 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
8368 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
8369 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8370 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8371 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8372 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8373 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8374 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8375 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8376 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8377 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8378 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8379 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8380 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8381 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8382 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
8383 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8384 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
8385 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8386 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
8387 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
8388 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
8389 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
8390 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8391 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8392 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8393 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8394 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8395 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8396 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8397 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8398 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8399 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8400 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8401 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8402 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8403 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8404 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8405 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8406 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8407 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8408 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8409 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8410 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
8411 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8412 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
8413 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8414 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
8415 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
8416 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
8417 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
8418 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8419 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8420 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8421 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8422 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8423 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8424 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8425 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8426 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
8427 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
8428 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8429 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8430 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8431 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8432 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
8433 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
8434 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
8435 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8436 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8437 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
8438
8439 2018-03-20 Richard Biener <rguenther (a] suse.de>
8440
8441 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
8442 parallelizable loop.
8443
8444 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com>
8445
8446 PR target/84148
8447 * configure: Regenerate.
8448
8449 2018-02-16 Jakub Jelinek <jakub (a] redhat.com>
8450
8451 PR fortran/84418
8452 * libgomp.fortran/pr84418-1.f90: New test.
8453 * libgomp.fortran/pr84418-2.f90: New test.
8454
8455 2018-02-14 Jakub Jelinek <jakub (a] redhat.com>
8456
8457 PR fortran/84313
8458 * testsuite/libgomp.fortran/threadprivate4.f90: Add
8459 -std=f2003 -fall-intrinsics into dg-additional-options.
8460
8461 2018-02-08 Martin Jambor <mjambor (a] suse.cz>
8462
8463 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
8464 clonable.
8465
8466 2018-02-08 Martin Jambor <mjambor (a] suse.cz>
8467
8468 * testsuite/libgomp.hsa.c/staticvar.c: New test.
8469
8470 2018-02-07 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
8471
8472 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
8473 [__cplusplus]: Declare extern "C".
8474
8475 2018-02-07 Tom de Vries <tom (a] codesourcery.com>
8476
8477 PR libgomp/84217
8478 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
8479
8480 2018-01-29 Christoph Spiel <cspiel (a] freenet.de>
8481 Jakub Jelinek <jakub (a] redhat.com>
8482
8483 PR libgomp/84096
8484 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
8485 instead of omp_lock_t.
8486
8487 2018-01-25 Tom de Vries <tom (a] codesourcery.com>
8488
8489 PR target/84028
8490 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
8491
8492 2018-01-24 Tom de Vries <tom (a] codesourcery.com>
8493
8494 PR target/83589
8495 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
8496
8497 2018-01-24 Tom de Vries <tom (a] codesourcery.com>
8498
8499 PR target/81352
8500 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
8501
8502 2018-01-19 Tom de Vries <tom (a] codesourcery.com>
8503 Cesar Philippidis <cesar (a] codesourcery.com>
8504
8505 PR target/83920
8506 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
8507 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
8508
8509 2018-01-03 Jakub Jelinek <jakub (a] redhat.com>
8510
8511 Update copyright years.
8512
8513 * libgomp.texi: Bump @copying's copyright year.
8514
8515 2017-12-30 Tom de Vries <tom (a] codesourcery.com>
8516
8517 PR libgomp/83046
8518 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
8519 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
8520
8521 2017-12-27 Tom de Vries <tom (a] codesourcery.com>
8522
8523 PR c++/83046
8524 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
8525 (test_nonstatic): Fix return type to workaround PR83046.
8526
8527 2017-12-05 Jakub Jelinek <jakub (a] redhat.com>
8528
8529 PR testsuite/83281
8530 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
8531 j suffix instead of i.
8532 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
8533 Likewise.
8534
8535 2017-12-01 Cesar Philippidis <cesar (a] codesourcery.com>
8536
8537 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
8538 call to acc_wait (1).
8539
8540 2017-11-24 Jakub Jelinek <jakub (a] redhat.com>
8541
8542 PR fortran/81304
8543 * testsuite/libgomp.fortran/pr81304.f90: New test.
8544
8545 2017-11-23 Jakub Jelinek <jakub (a] redhat.com>
8546
8547 PR fortran/81841
8548 * libgomp.fortran/pr81841.f90: New test.
8549
8550 2017-11-22 Jakub Jelinek <jakub (a] redhat.com>
8551
8552 PR libgomp/83106
8553 * target.c (gomp_target_init): Compute lengths just once and
8554 use them in both malloc size and subsequent copying.
8555
8556 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com>
8557
8558 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
8559 * acinclude.m4: Add cet.m4.
8560 * configure: Regenerate.
8561 * Makefile.in: Likewise.
8562 * testsuite/Makefile.in: Likewise.
8563
8564 2017-11-15 Tom de Vries <tom (a] codesourcery.com>
8565
8566 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
8567 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
8568 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
8569 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
8570 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
8571 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
8572
8573 2017-11-14 Tom de Vries <tom (a] codesourcery.com>
8574
8575 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
8576 non-nvidia devices.
8577
8578 2017-11-07 Jakub Jelinek <jakub (a] redhat.com>
8579
8580 PR c++/82835
8581 * testsuite/libgomp.c++/pr82835.C: New test.
8582
8583 2017-11-06 Martin Liska <mliska (a] suse.cz>
8584
8585 * testsuite/libgomp.c++/loop-2.C: Return a value
8586 for functions with non-void return type, or change type to void,
8587 or add -Wno-return-type for test.
8588 * testsuite/libgomp.c++/loop-4.C: Likewise.
8589 * testsuite/libgomp.c++/parallel-1.C: Likewise.
8590 * testsuite/libgomp.c++/shared-1.C: Likewise.
8591 * testsuite/libgomp.c++/single-1.C: Likewise.
8592 * testsuite/libgomp.c++/single-2.C: Likewise.
8593
8594 2017-10-31 Tom de Vries <tom (a] codesourcery.com>
8595
8596 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
8597 "do {} while (false)".
8598 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
8599 after HSA_DEBUG call.
8600
8601 2017-10-28 Jakub Jelinek <jakub (a] redhat.com>
8602
8603 * target.c (struct gomp_coalesce_buf): New type.
8604 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
8605 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
8606 (gomp_copy_host2dev): Add CBUF argument, if copying into
8607 the cached ranges, memcpy into buffer instead of copying
8608 into device.
8609 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
8610 Add CBUF argument, pass it through to other calls.
8611 (gomp_map_vars): Aggregate copies from host to device if small enough
8612 and with small enough gaps in between into memcpy into a buffer and
8613 fewer host to device copies from the buffer.
8614 (gomp_update): Adjust gomp_copy_host2dev caller.
8615
8616 2017-10-17 Thomas Schwinge <thomas (a] codesourcery.com>
8617
8618 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
8619 run" directive.
8620 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8621 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8622 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8623 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8624
8625 2017-10-16 Tom de Vries <tom (a] codesourcery.com>
8626
8627 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
8628 openacc_nvidia_accel_selected.
8629 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
8630 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
8631 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
8632 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
8633 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
8634 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
8635 openacc_nvidia_accel_selected. Skip for shared memory device.
8636 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
8637 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
8638
8639 2017-10-09 Martin Jambor <mjambor (a] suse.cz>
8640
8641 PR hsa/82416
8642 * testsuite/libgomp.hsa.c/pr82416.c: New test.
8643
8644 2017-10-07 Tom de Vries <tom (a] codesourcery.com>
8645
8646 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
8647 Remove acc_device_nvidia references.
8648 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
8649 Same.
8650
8651 2017-10-05 Tom de Vries <tom (a] codesourcery.com>
8652
8653 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
8654 vector_length(32) clause from acc parallel directive.
8655 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
8656
8657 2017-10-04 Tom de Vries <tom (a] codesourcery.com>
8658
8659 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
8660 (main): Reduce sum of arr elements. Assert that hres is exactly
8661 representable in 32-bit floating point.
8662 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
8663 (main): Reduce sum of arr elements. Assert that hres and hmres are
8664 exactly representable in 32-bit floating point.
8665 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
8666
8667 2017-09-28 Tom de Vries <tom (a] codesourcery.com>
8668
8669 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
8670 setting.
8671 * testsuite/libgomp.c++/pr69393.C: Same.
8672 * testsuite/libgomp.c++/taskloop-1.C: Same.
8673 * testsuite/libgomp.c++/taskloop-3.C: Same.
8674 * testsuite/libgomp.c++/taskloop-4.C: Same.
8675 * testsuite/libgomp.c/for-4.c: Same.
8676 * testsuite/libgomp.c/pr66199-3.c: Same.
8677 * testsuite/libgomp.c/pr66199-4.c: Same.
8678 * testsuite/libgomp.c/pr66199-6.c: Same.
8679 * testsuite/libgomp.c/taskloop-1.c: Same.
8680 * testsuite/libgomp.c/taskloop-3.c: Same.
8681 * testsuite/libgomp.c/taskloop-4.c: Same.
8682 * testsuite/libgomp.fortran/aligned1.f03: Same.
8683 * testsuite/libgomp.fortran/condinc1.f: Same.
8684 * testsuite/libgomp.fortran/condinc3.f90: Same.
8685 * testsuite/libgomp.fortran/crayptr1.f90: Same.
8686 * testsuite/libgomp.fortran/crayptr2.f90: Same.
8687 * testsuite/libgomp.fortran/crayptr3.f90: Same.
8688 * testsuite/libgomp.fortran/omp_cond1.f: Same.
8689 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
8690 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
8691 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
8692 * testsuite/libgomp.fortran/recursion1.f90: Same.
8693 * testsuite/libgomp.fortran/target2.f90: Same.
8694 * testsuite/libgomp.fortran/target5.f90: Same.
8695 * testsuite/libgomp.fortran/task3.f90: Same.
8696
8697 2017-09-28 Tom de Vries <tom (a] codesourcery.com>
8698
8699 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
8700 vector_length(32) clause from acc parallel directive.
8701 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
8702
8703 2017-09-27 Tom de Vries <tom (a] codesourcery.com>
8704
8705 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
8706 Remove acc_device_nvidia references.
8707
8708 2017-09-16 Tom de Vries <tom (a] codesourcery.com>
8709
8710 PR c/81875
8711 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
8712
8713 2017-09-14 Tom de Vries <tom (a] codesourcery.com>
8714
8715 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
8716 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
8717 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
8718 * testsuite/libgomp.c/c.exp: Include test-cases from
8719 libgomp.c-c++-common.
8720 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
8721 files.
8722
8723 2017-09-14 Jakub Jelinek <jakub (a] redhat.com>
8724
8725 PR c++/81314
8726 * testsuite/libgomp.c++/pr81314.C: New test.
8727
8728 2017-09-03 Gerald Pfeifer <gerald (a] pfeifer.com>
8729
8730 * libgomp.texi (Top): www.openacc.org now uses https.
8731 (Enabling OpenACC): Ditto.
8732 (acc_get_num_devices): Ditto.
8733 (acc_set_device_type): Ditto.
8734 (acc_get_device_type): Ditto.
8735 (acc_set_device_num): Ditto.
8736 (acc_get_device_num): Ditto.
8737 (acc_async_test): Ditto.
8738 (acc_async_test_all): Ditto.
8739 (acc_wait): Ditto.
8740 (acc_wait_all): Ditto.
8741 (acc_wait_all_async): Ditto.
8742 (acc_wait_async): Ditto.
8743 (acc_init): Ditto.
8744 (acc_shutdown): Ditto.
8745 (acc_on_device): Ditto.
8746 (acc_malloc): Ditto.
8747 (acc_free): Ditto.
8748 (acc_copyin): Ditto.
8749 (acc_present_or_copyin): Ditto.
8750 (acc_create): Ditto.
8751 (acc_present_or_create): Ditto.
8752 (acc_copyout): Ditto.
8753 (acc_delete): Ditto.
8754 (acc_update_device): Ditto.
8755 (acc_update_self): Ditto.
8756 (acc_map_data): Ditto.
8757 (acc_unmap_data): Ditto.
8758 (acc_deviceptr): Ditto.
8759 (acc_hostptr): Ditto.
8760 (acc_is_present): Ditto.
8761 (acc_memcpy_to_device): Ditto.
8762 (acc_memcpy_from_device): Ditto.
8763 (acc_get_current_cuda_device): Ditto.
8764 (acc_get_current_cuda_context): Ditto.
8765 (acc_get_cuda_stream): Ditto.
8766 (acc_set_cuda_stream): Ditto.
8767 (ACC_DEVICE_TYPE): Ditto.
8768 (ACC_DEVICE_NUM): Ditto.
8769 (OpenACC Library Interoperability): Ditto.
8770
8771 2017-08-09 Jakub Jelinek <jakub (a] redhat.com>
8772
8773 PR c/81687
8774 * testsuite/libgomp.c/pr81687-1.c: New test.
8775 * testsuite/libgomp.c/pr81687-2.c: New test.
8776
8777 2017-08-07 Jakub Jelinek <jakub (a] redhat.com>
8778
8779 PR c/69389
8780 * testsuite/libgomp.c/pr69389.c: New test.
8781 * testsuite/libgomp.c++/pr69389.C: New test.
8782
8783 2017-08-07 Tom de Vries <tom (a] codesourcery.com>
8784
8785 PR middle-end/78266
8786 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
8787 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
8788
8789 2017-07-27 Jakub Jelinek <jakub (a] redhat.com>
8790
8791 PR c/45784
8792 * testsuite/libgomp.c/pr45784.c: New test.
8793 * testsuite/libgomp.c++/pr45784.C: New test.
8794
8795 2017-07-19 Tom de Vries <tom (a] codesourcery.com>
8796
8797 * testsuite/libgomp.oacc-c/vec.c: New test.
8798
8799 2017-07-03 Tom de Vries <tom (a] codesourcery.com>
8800
8801 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
8802
8803 2017-06-27 Tom de Vries <tom (a] codesourcery.com>
8804
8805 * plugin/plugin-nvptx.c (notify_var): New function.
8806 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
8807
8808 2017-06-27 Tom de Vries <tom (a] codesourcery.com>
8809
8810 * env.c (parse_unsigned_long_1): Factor out of ...
8811 (parse_unsigned_long): ... here.
8812 (parse_int_1): Factor out of ...
8813 (parse_int): ... here.
8814 (parse_int_secure): New function.
8815 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
8816 * secure_getenv.h: Factor out of ...
8817 * plugin/plugin-hsa.c: ... here.
8818 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
8819
8820 2017-06-21 Jakub Jelinek <jakub (a] redhat.com>
8821
8822 PR c++/81130
8823 * testsuite/libgomp.c++/pr81130.C: New test.
8824
8825 2017-06-17 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
8826
8827 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
8828 default args.
8829 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
8830 dg-xfail-run-if default args.
8831
8832 2017-06-02 Bernd Edlinger <bernd.edlinger (a] hotmail.de>
8833
8834 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
8835 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8836
8837 2017-05-30 Jakub Jelinek <jakub (a] redhat.com>
8838
8839 PR libgomp/80822
8840 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
8841 (gomp_affinity_init_level): Use it. Always analyze the core and thread
8842 sibling lists, depending on level just pick up what CPUs to put
8843 together into a place vs. whether add multiple ordered places.
8844
8845 2017-05-24 Thomas Schwinge <thomas (a] codesourcery.com>
8846
8847 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
8848 * libgomp.map (OACC_2.0.1): Add these.
8849 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
8850 for "acc_wait", and "acc_wait_all", respectively.
8851 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
8852 for "acc_wait", and "acc_wait_all", respectively.
8853 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
8854 * libgomp.texi (acc_wait, acc_wait_all): Update.
8855 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
8856 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
8857 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8858
8859 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
8860 acc_present_or_copyin and acc_present_or_create procedures,
8861 respectively.
8862 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
8863 generally different variants of OpenACC Runtime Library functions.
8864 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8865
8866 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
8867 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8868
8869 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
8870 of preprocessor definitions.
8871 * libgomp.h (strong_alias): Guard by "#ifdef
8872 HAVE_ATTRIBUTE_ALIAS".
8873 * oacc-mem.c: Provide "acc_pcreate" as alias for
8874 "acc_present_or_create", and "acc_pcopyin" as alias for
8875 "acc_present_or_copyin".
8876 * libgomp.map: New version "OACC_2.0.1".
8877 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
8878 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
8879 its content into...
8880 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
8881 Extend testing.
8882
8883 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
8884 when disabling nvptx offloading.
8885
8886 2017-05-23 Thomas Schwinge <thomas (a] codesourcery.com>
8887
8888 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
8889 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8890 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8891
8892 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
8893 * testsuite/lib/libgomp.exp
8894 (check_effective_target_openacc_nvidia_accel_configured): New
8895 proc.
8896 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
8897 (check_effective_target_c++): New procs.
8898 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
8899 (check_effective_target_c++): Likewise.
8900
8901 2017-05-22 Jakub Jelinek <jakub (a] redhat.com>
8902
8903 PR middle-end/80809
8904 * testsuite/libgomp.c/pr80809-2.c: New test.
8905 * testsuite/libgomp.c/pr80809-3.c: New test.
8906
8907 PR middle-end/80809
8908 * testsuite/libgomp.c/pr80809-1.c: New test.
8909
8910 PR middle-end/80853
8911 * testsuite/libgomp.c/pr80853.c: New test.
8912
8913 2017-05-19 Thomas Schwinge <thomas (a] codesourcery.com>
8914
8915 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
8916 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
8917 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8918 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8919 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8920
8921 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
8922 Debug output for failure.
8923
8924 2017-05-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
8925
8926 * testsuite/lib/libgomp.exp: Load scanlang.exp.
8927
8928 2017-04-27 Jakub Jelinek <jakub (a] redhat.com>
8929
8930 PR bootstrap/80531
8931 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
8932 bootstrap compare failures.
8933
8934 2017-04-20 Alexander Monakov <amonakov (a] ispras.ru>
8935
8936 * testsuite/libgomp.c/target-36.c: New testcase.
8937
8938 2017-04-13 Jakub Jelinek <jakub (a] redhat.com>
8939
8940 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
8941 instead of char.
8942
8943 2017-04-11 Jakub Jelinek <jakub (a] redhat.com>
8944
8945 PR libgomp/80394
8946 * testsuite/libgomp.c/pr80394.c: New test.
8947
8948 2017-04-04 Jakub Jelinek <jakub (a] redhat.com>
8949
8950 PR libgomp/79876
8951 * config/posix/thread-stacksize.h: New file.
8952 * config/darwin/thread-stacksize.h: New file.
8953 * config/nvptx/thread-stacksize.h: New file.
8954 * env.c: Include thread-stacksize.h.
8955 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
8956 instead of 0. Call pthread_attr_setstacksize even if
8957 GOMP_DEFAULT_STACKSIZE is non-zero.
8958
8959 2017-03-30 Jakub Jelinek <jakub (a] redhat.com>
8960
8961 * env.c (initialize_env): Initialize stacksize to 0.
8962
8963 2017-03-22 Cesar Philippidis <cesar (a] codesourcery.com>
8964
8965 PR c++/80029
8966 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
8967
8968 2017-03-08 Jakub Jelinek <jakub (a] redhat.com>
8969
8970 PR c/79940
8971 * testsuite/libgomp.c/pr79940.c: New test.
8972
8973 2017-02-15 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
8974
8975 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
8976 targets.
8977 Add __float128 options.
8978
8979 2017-02-11 John David Anglin <danglin (a] gcc.gnu.org>
8980
8981 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
8982 hppa*-*-* dg-skip-if directive.
8983
8984 2017-02-09 Jakub Jelinek <jakub (a] redhat.com>
8985
8986 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
8987 dg-skip-if directive into a comment.
8988
8989 2017-02-09 Nathan Sidwell <nathan (a] codesourcery.com>
8990 Chung-Lin Tang <cltang (a] codesourcery.com>
8991
8992 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
8993 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
8994 add additional case.
8995 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
8996 "openacc_nvidia_accel_selected".
8997 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
8998 Add num_workers(8) clause.
8999
9000 2017-02-08 John David Anglin <danglin (a] gcc.gnu.org>
9001
9002 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
9003 hppa*-*-*.
9004 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
9005 include complex.h on hppa*-*-hpux*.
9006 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9007
9008 2017-02-02 Thomas Schwinge <thomas (a] codesourcery.com>
9009
9010 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
9011
9012 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
9013 GOMP_OFFLOAD_openacc_exec. Adjust all users.
9014 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
9015 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
9016 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
9017 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
9018 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
9019 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
9020 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
9021 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
9022
9023 2017-01-31 Thomas Schwinge <thomas (a] codesourcery.com>
9024
9025 * libgomp-plugin.h: #include <stdbool.h>.
9026 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
9027 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
9028 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
9029 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
9030 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
9031 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
9032 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
9033 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
9034 (GOMP_OFFLOAD_openacc_register_async_cleanup)
9035 (GOMP_OFFLOAD_openacc_async_test)
9036 (GOMP_OFFLOAD_openacc_async_test_all)
9037 (GOMP_OFFLOAD_openacc_async_wait)
9038 (GOMP_OFFLOAD_openacc_async_wait_async)
9039 (GOMP_OFFLOAD_openacc_async_wait_all)
9040 (GOMP_OFFLOAD_openacc_async_wait_all_async)
9041 (GOMP_OFFLOAD_openacc_async_set_async)
9042 (GOMP_OFFLOAD_openacc_create_thread_data)
9043 (GOMP_OFFLOAD_openacc_destroy_thread_data)
9044 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
9045 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
9046 (GOMP_OFFLOAD_openacc_get_cuda_stream)
9047 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
9048 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
9049 these.
9050 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
9051 (GOMP_OFFLOAD_unload_image): Fix argument types.
9052
9053 2017-01-26 Jakub Jelinek <jakub (a] redhat.com>
9054
9055 * testsuite/lib/libgomp.exp
9056 (check_effective_target_hsa_offloading_selected_nocache): Fix up
9057 check_compile invocation. Fix up removal of executable. Drop
9058 bogus "2>&1" argument.
9059
9060 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
9061 directive.
9062
9063 2017-01-24 Pekka Jskelinen <pekka (a] parmance.com>
9064 Martin Jambor <mjambor (a] suse.cz>
9065
9066 * plugin/hsa.h: Moved to top level include.
9067 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
9068
9069 2017-01-21 Jakub Jelinek <jakub (a] redhat.com>
9070
9071 PR other/79046
9072 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
9073 of cat to get version from BASE-VER file.
9074 * testsuite/Makefile.in: Regenerated.
9075
9076 2017-01-19 Jakub Jelinek <jakub (a] redhat.com>
9077
9078 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
9079 for _WIN64.
9080
9081 2017-01-17 Jakub Jelinek <jakub (a] redhat.com>
9082
9083 * plugin/hsa.h: Add GCC runtime library exception.
9084 * plugin/hsa_ext_finalize.h: Likewise.
9085
9086 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
9087 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
9088 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
9089 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
9090 plugin/include/cuda as include dir and -ldl instead of -lcuda as
9091 library to link ptx plugin against.
9092 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
9093 (CUDA_CALLS): Define.
9094 (cuda_lib, cuda_lib_inited): New variables.
9095 (init_cuda_lib): New function.
9096 (CUDA_CALL_PREFIX): Define.
9097 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
9098 (CUDA_CALL): Use FN instead of (FN).
9099 (CUDA_CALL_NOCHECK): Define.
9100 (cuda_error, fini_streams_for_device, select_stream_for_async,
9101 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
9102 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
9103 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
9104 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
9105 CUDA_CALL_NOCHECK.
9106 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
9107 CUDA_CALL_NOCHECK.
9108 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
9109 Use CUDA_CALL_NOCHECK.
9110 * plugin/cuda/cuda.h: New file.
9111 * config.h.in: Regenerated.
9112 * configure: Regenerated.
9113
9114 PR other/79046
9115 * configure.ac: Add GCC_BASE_VER.
9116 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
9117 get version from BASE-VER file.
9118 * testsuite/Makefile.in: Regenerated.
9119 * configure: Regenerated.
9120 * Makefile.in: Regenerated.
9121
9122 2017-01-09 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
9123
9124 PR libgomp/60670
9125 * Makefile.am: Make fincludedir multilib-aware.
9126 * Makefile.in: Regenerate.
9127
9128 2017-01-01 Jakub Jelinek <jakub (a] redhat.com>
9129
9130 Update copyright years.
9131
9132 * libgomp.texi: Bump @copying's copyright year.
9133
9134 2016-12-02 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
9135
9136 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
9137 pthread_spinlock_t instead of gomp_mutex_t lock.
9138 (gomp_get_thread_pool): Likewise.
9139 (gomp_release_thread_pool): Likewise.
9140 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
9141 Likewise.
9142
9143 2016-12-02 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
9144
9145 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
9146 thread pool in case nthreads == 1.
9147
9148 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru>
9149
9150 * config/nvptx/env.c: Delete.
9151 * icv.c: Move definitions of ICV variables back ...
9152 * env.c: ...here. Do not compile environment-related functionality if
9153 LIBGOMP_OFFLOADED_ONLY is set.
9154
9155 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru>
9156
9157 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
9158 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
9159 * configure: Regenerate.
9160 * config.h.in: Likewise.
9161
9162 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru>
9163
9164 * Makefile.in: Regenerate with automake-1.11.6.
9165 * aclocal.m4: Likewise.
9166 * configure: Likewise.
9167 * testsuite/Makefile.in: Likewise.
9168
9169 2016-11-28 Alexander Monakov <amonakov (a] ispras.ru>
9170
9171 * config/nvptx/critical.c: Delete to use generic implementation.
9172
9173 2016-11-28 Jonas Hahnfeld <Hahnfeld (a] itc.rwth-aachen.de>
9174
9175 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
9176 ../../affinity.c as fallback.
9177 * config/nvptx/affinity.c: Delete to use fallback implementation.
9178
9179 2016-11-23 Alexander Monakov <amonakov (a] ispras.ru>
9180 Jakub Jelinek <jakub (a] redhat.com>
9181 Dmitry Melnik <dm (a] ispras.ru>
9182
9183 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
9184 * Makefile.in. Regenerate.
9185 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
9186 (LIBGOMP_USE_PTHREADS): ...here; new define.
9187 * configure: Regenerate.
9188 * config.h.in: Likewise.
9189 * config/posix/affinity.c: Move to...
9190 * affinity.c: ...here (new file). Guard use of Pthreads-specific
9191 interface by LIBGOMP_USE_PTHREADS.
9192 * critical.c: Split out GOMP_atomic_{start,end} into...
9193 * atomic.c: ...here (new file).
9194 * env.c: Split out ICV definitions into...
9195 * icv.c: ...here (new file) and...
9196 * icv-device.c: ...here. New file.
9197 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
9198 (gomp_destroy_lock_30): Ditto.
9199 (gomp_set_lock_30): Ditto.
9200 (gomp_unset_lock_30): Ditto.
9201 (gomp_test_lock_30): Ditto.
9202 (gomp_init_nest_lock_30): Ditto.
9203 (gomp_destroy_nest_lock_30): Ditto.
9204 (gomp_set_nest_lock_30): Ditto.
9205 (gomp_unset_nest_lock_30): Ditto.
9206 (gomp_test_nest_lock_30): Ditto.
9207 * lock.c: New.
9208 * config/nvptx/lock.c: New.
9209 * config/nvptx/bar.c: New.
9210 * config/nvptx/bar.h: New.
9211 * config/nvptx/doacross.h: New.
9212 * config/nvptx/error.c: New.
9213 * config/nvptx/icv-device.c: New.
9214 * config/nvptx/mutex.h: New.
9215 * config/nvptx/pool.h: New.
9216 * config/nvptx/proc.c: New.
9217 * config/nvptx/ptrlock.h: New.
9218 * config/nvptx/sem.h: New.
9219 * config/nvptx/simple-bar.h: New.
9220 * config/nvptx/target.c: New.
9221 * config/nvptx/task.c: New.
9222 * config/nvptx/team.c: New.
9223 * config/nvptx/time.c: New.
9224 * config/posix/simple-bar.h: New.
9225 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
9226 (gomp_num_teams_var): Declare.
9227 (struct gomp_thread_pool): Change threads_dock member to
9228 gomp_simple_barrier_t.
9229 [__nvptx__] (gomp_thread): New implementation.
9230 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
9231 (gomp_thread_destructor): Ditto.
9232 (gomp_init_thread_affinity): Ditto.
9233 * team.c: Guard uses of Pthreads-specific interfaces by
9234 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
9235 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
9236 * config/nvptx/alloc.c: Delete.
9237 * config/nvptx/barrier.c: Ditto.
9238 * config/nvptx/fortran.c: Ditto.
9239 * config/nvptx/iter.c: Ditto.
9240 * config/nvptx/iter_ull.c: Ditto.
9241 * config/nvptx/loop.c: Ditto.
9242 * config/nvptx/loop_ull.c: Ditto.
9243 * config/nvptx/ordered.c: Ditto.
9244 * config/nvptx/parallel.c: Ditto.
9245 * config/nvptx/priority_queue.c: Ditto.
9246 * config/nvptx/sections.c: Ditto.
9247 * config/nvptx/single.c: Ditto.
9248 * config/nvptx/splay-tree.c: Ditto.
9249 * config/nvptx/work.c: Ditto.
9250 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
9251 -foffload=-lgfortran in addition to -lgfortran.
9252 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
9253 * plugin/plugin-nvptx.c: Include <limits.h>.
9254 (struct targ_fn_descriptor): Add new fields.
9255 (struct ptx_device): Ditto. Set them...
9256 (nvptx_open_device): ...here.
9257 (nvptx_adjust_launch_bounds): New.
9258 (nvptx_host2dev): Allow NULL 'nvthd'.
9259 (nvptx_dev2host): Ditto.
9260 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
9261 (link_ptx): Adjust log sizes.
9262 (nvptx_host2dev): Allow NULL 'nvthd'.
9263 (nvptx_dev2host): Ditto.
9264 (nvptx_set_clocktick): New. Use it...
9265 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
9266 fields.
9267 (GOMP_OFFLOAD_dev2dev): New.
9268 (nvptx_adjust_launch_bounds): New.
9269 (nvptx_stacks_size): New.
9270 (nvptx_stacks_alloc): New.
9271 (nvptx_stacks_free): New.
9272 (GOMP_OFFLOAD_run): New.
9273 (GOMP_OFFLOAD_async_run): New (stub).
9274
9275 2016-11-23 Martin Jambor <mjambor (a] suse.cz>
9276
9277 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
9278 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
9279 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9280
9281 2016-11-23 Martin Liska <mliska (a] suse.cz>
9282 Martin Jambor <mjambor (a] suse.cz>
9283
9284 * plugin/hsa.h: New file.
9285 * plugin/hsa_ext_finalize.h: New file.
9286 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
9287 header file unistd.h, and functions secure_getenv, __secure_getenv,
9288 getuid, geteuid, getgid and getegid.
9289 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
9290 -D_GNU_SOURCE.
9291 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
9292 Handle various cases of secure_getenv presence, add an implementation
9293 when we can test effective UID and GID.
9294 (struct hsa_runtime_fn_info): New structure.
9295 (hsa_runtime_fn_info hsa_fns): New variable.
9296 (hsa_runtime_lib): Likewise.
9297 (support_cpu_devices): Likewise.
9298 (init_enviroment_variables): Load newly introduced ENV
9299 variables.
9300 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
9301 (hsa_fatal): Likewise.
9302 (DLSYM_FN): New macro.
9303 (init_hsa_runtime_functions): New function.
9304 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
9305 structure. Depending on environment, also allow CPU devices.
9306 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
9307 (get_kernarg_memory_region): Likewise.
9308 (GOMP_OFFLOAD_init_device): Likewise.
9309 (destroy_hsa_program): Likewise.
9310 (init_basic_kernel_info): New function.
9311 (GOMP_OFFLOAD_load_image): Use it.
9312 (create_and_finalize_hsa_program): Call hsa run-time functions via
9313 hsa_fns structure.
9314 (create_single_kernel_dispatch): Likewise.
9315 (release_kernel_dispatch): Likewise.
9316 (init_single_kernel): Likewise.
9317 (parse_target_attributes): Allow up multiple HSA grid dimensions.
9318 (get_group_size): New function.
9319 (run_kernel): Likewise.
9320 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
9321 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
9322 structure.
9323 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
9324 * testsuite/libgomp-test-support.exp.in: Likewise.
9325 * Makefile.in: Regenerated.
9326 * aclocal.m4: Likewise.
9327 * config.h.in: Likewise.
9328 * configure: Likewise.
9329 * testsuite/Makefile.in: Likewise.
9330
9331 2016-11-15 Martin Jambor <mjambor (a] suse.cz>
9332 Alexander Monakov <amonakov (a] ispras.ru>
9333
9334 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
9335 mapping clauses to target constructs.
9336 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
9337
9338 2016-11-15 Matthias Klose <doko (a] ubuntu.com>
9339
9340 * configure: Regenerate.
9341
9342 2016-11-10 Jakub Jelinek <jakub (a] redhat.com>
9343
9344 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
9345 * omp_lib.h.in (openmp_version): Likewise.
9346 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
9347 of 201307.
9348 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9349
9350 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
9351 (fib_wrapper): Add map(from: x) clause.
9352 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
9353 (e_53_2): Likewise.
9354 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
9355 (accum): Add map(tmp) clause.
9356 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
9357 (accum): Add map(tofrom: tmp) clause.
9358 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
9359 (gramSchmidt): Likewise.
9360 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
9361 map(tofrom: sum) clause.
9362 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
9363 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
9364 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
9365 only allowed on the loop iterator.
9366 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
9367 * testsuite/libgomp.fortran/taskloop2.f90: New test.
9368 * testsuite/libgomp.fortran/taskloop4.f90: New test.
9369 * testsuite/libgomp.fortran/doacross1.f90: New test.
9370 * testsuite/libgomp.fortran/doacross3.f90: New test.
9371 * testsuite/libgomp.fortran/taskloop1.f90: New test.
9372 * testsuite/libgomp.fortran/taskloop3.f90: New test.
9373 * testsuite/libgomp.fortran/doacross2.f90: New test.
9374 * testsuite/libgomp.c/doacross-1.c (main): Add missing
9375 #pragma omp atomic read.
9376 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9377 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
9378
9379 2016-11-02 Cesar Philippidis <cesar (a] codesourcery.com>
9380 Nathan Sidwell <nathan (a] acm.org>
9381
9382 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
9383 to determine default geometry.
9384 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
9385 dimension.
9386
9387 2016-11-01 Jakub Jelinek <jakub (a] redhat.com>
9388
9389 * hashtab.h: Use standard GPLv3 with runtime exception
9390 boilerplate.
9391
9392 2016-10-27 Aldy Hernandez <aldyh (a] redhat.com>
9393
9394 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
9395 size when allocating new thread.
9396
9397 2016-09-14 Marek Polacek <polacek (a] redhat.com>
9398
9399 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
9400
9401 2016-08-19 Jakub Jelinek <jakub (a] redhat.com>
9402
9403 PR fortran/71014
9404 * testsuite/libgomp.fortran/pr71014.f90: New test.
9405
9406 2016-08-18 Chung-Lin Tang <cltang (a] codesourcery.com>
9407
9408 PR middle-end/70895
9409 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
9410 firstprivate clauses.
9411 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
9412 copy clauses.
9413 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9414 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9415 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
9416 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9417 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9418 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9419 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9420 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9421 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9422 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9423 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9424 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
9425
9426 2016-08-14 Chung-Lin Tang <cltang (a] codesourcery.com>
9427
9428 PR fortran/70598
9429 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
9430
9431 2016-08-08 Jakub Jelinek <jakub (a] redhat.com>
9432
9433 PR c++/58706
9434 * testsuite/libgomp.c++/pr58706.C: New test.
9435
9436 2016-08-04 Thomas Schwinge <thomas (a] codesourcery.com>
9437
9438 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
9439 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
9440 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
9441 Likewise.
9442 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
9443 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
9444 Likewise.
9445 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
9446
9447 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
9448 test, and don't hardcode -O0.
9449
9450 2016-08-03 Nathan Sidwell <nathan (a] codesourcery.com>
9451
9452 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
9453
9454 2016-07-15 Cesar Philippidis <cesar (a] codesourcery.com>
9455
9456 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
9457 test.
9458
9459 2016-07-03 H.J. Lu <hongjiu.lu (a] intel.com>
9460
9461 PR middle-end/71734
9462 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
9463 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
9464
9465 2016-07-01 Jakub Jelinek <jakub (a] redhat.com>
9466
9467 PR fortran/71717
9468 * testsuite/libgomp.fortran/associate3.f90: New test.
9469
9470 2016-06-17 Jakub Jelinek <jakub (a] redhat.com>
9471
9472 * testsuite/libgomp.c++/target-21.C: New test.
9473
9474 2016-06-16 Jakub Jelinek <jakub (a] redhat.com>
9475
9476 * testsuite/libgomp.c++/target-20.C: New test.
9477
9478 2016-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
9479 Cesar Philippidis <cesar (a] codesourcery.com>
9480
9481 PR middle-end/71373
9482 * libgomp.oacc-c/nested-function-1.c: New file.
9483 * libgomp.oacc-c/nested-function-2.c: Likewise.
9484 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
9485 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
9486 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
9487
9488 2016-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
9489
9490 PR c/71381
9491 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
9492 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
9493 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
9494
9495 2016-06-03 Chung-Lin Tang <cltang (a] codesourcery.com>
9496
9497 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
9498 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
9499
9500 2016-06-01 Cesar Philippidis <cesar (a] codesourcery.com>
9501
9502 PR c/70688
9503 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
9504
9505 2016-05-26 Jakub Jelinek <jakub (a] redhat.com>
9506
9507 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
9508 instead of invalid schedule(static, 0).
9509 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9510
9511 2016-05-26 Chung-Lin Tang <cltang (a] codesourcery.com>
9512
9513 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
9514 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
9515 parameter, use to set async stream around call to gomp_unmap_vars,
9516 call gomp_unmap_vars() with 'do_copyfrom' set to true.
9517 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
9518 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
9519 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
9520 (event_add): Add int parameter, initialize 'val' field when
9521 adding new ptx_event struct.
9522 (nvptx_evec): Adjust event_add() call arguments.
9523 (nvptx_host2dev): Likewise.
9524 (nvptx_dev2host): Likewise.
9525 (nvptx_wait_async): Likewise.
9526 (nvptx_wait_all_async): Likewise.
9527 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
9528 pass to event_add() call.
9529 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
9530 parameter.
9531 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
9532 call openacc.register_async_cleanup_func() hook.
9533 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
9534 * target.c (gomp_copy_from_async): Delete function.
9535 (gomp_map_vars): Remove async_refcount.
9536 (gomp_unmap_vars): Likewise.
9537 (gomp_load_image_to_device): Likewise.
9538 (omp_target_associate_ptr): Likewise.
9539 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
9540 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
9541 (gomp_copy_from_async): Remove.
9542
9543 2016-05-26 Chung-Lin Tang <cltang (a] codesourcery.com>
9544
9545 * target.c (gomp_device_copy): New function.
9546 (gomp_copy_host2dev): Likewise.
9547 (gomp_copy_dev2host): Likewise.
9548 (gomp_free_device_memory): Likewise.
9549 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
9550 (gomp_map_pointer): Likewise.
9551 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
9552 NULL value from alloc_func plugin hook.
9553 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
9554 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
9555 (gomp_unmap_vars): Likewise.
9556 (gomp_update): Adjust to call gomp_copy_dev2host and
9557 gomp_copy_host2dev functions.
9558 (gomp_unload_image_from_device): Handle false value from
9559 unload_image_func plugin hook.
9560 (gomp_init_device): Handle false value from init_device_func
9561 plugin hook.
9562 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
9563 (omp_target_free): Adjust to call gomp_free_device_memory.
9564 (omp_target_memcpy): Handle return values from host2dev_func,
9565 dev2host_func, and dev2dev_func plugin hooks.
9566 (omp_target_memcpy_rect_worker): Likewise.
9567 (gomp_target_fini): Handle false value from fini_device_func
9568 plugin hook.
9569 * libgomp.h (struct gomp_device_descr): Adjust return type of
9570 init_device_func, fini_device_func, unload_image_func, free_func,
9571 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
9572 * oacc-init.c (acc_shutdown_1): Handle false value from
9573 fini_device_func plugin hook.
9574 * oacc-host.c (host_init_device): Change return type to bool.
9575 (host_fini_device): Likewise.
9576 (host_unload_image): Likewise.
9577 (host_free): Likewise.
9578 (host_dev2host): Likewise.
9579 (host_host2dev): Likewise.
9580 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
9581 (acc_memcpy_to_device): Likewise.
9582 (acc_memcpy_from_device): Likewise.
9583 (delete_copyout): Add libfnname parameter, handle free_func
9584 hook fatal error case.
9585 (acc_delete): Adjust delete_copyout call.
9586 (acc_copyout): Likewise.
9587 (update_dev_host): Move gomp_mutex_unlock to after
9588 host2dev/dev2host hook calls.
9589
9590 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
9591 to 'hsa_error_msg', for clarity.
9592 (hsa_fatal): Likewise.
9593 (hsa_error): New function.
9594 (init_hsa_context): Change return type to bool, adjust to return
9595 false on error.
9596 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
9597 return value.
9598 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
9599 return false on error.
9600 (get_agent_info): Adjust to return NULL on error.
9601 (destroy_hsa_program): Change return type to bool, adjust to
9602 return false on error.
9603 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
9604 (destroy_module): Change return type to bool, adjust to
9605 return false on error.
9606 (GOMP_OFFLOAD_unload_image): Likewise.
9607 (GOMP_OFFLOAD_fini_device): Likewise.
9608 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
9609 (GOMP_OFFLOAD_free): Change to return false when called.
9610 (GOMP_OFFLOAD_dev2host): Likewise.
9611 (GOMP_OFFLOAD_host2dev): Likewise.
9612 (GOMP_OFFLOAD_dev2dev): Likewise.
9613
9614 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
9615 (CUDA_CALL): Likewise.
9616 (CUDA_CALL_ASSERT): Likewise.
9617 (map_init): Change return type to bool, use CUDA_CALL* macros.
9618 (map_fini): Likewise.
9619 (init_streams_for_device): Change return type to bool, adjust
9620 call to map_init.
9621 (fini_streams_for_device): Change return type to bool, adjust
9622 call to map_fini.
9623 (select_stream_for_async): Release stream_lock before calls to
9624 GOMP_PLUGIN_fatal, adjust call to map_init.
9625 (nvptx_init): Use CUDA_CALL* macros.
9626 (nvptx_attach_host_thread_to_device): Change return type to bool,
9627 use CUDA_CALL* macros.
9628 (nvptx_open_device): Use CUDA_CALL* macros.
9629 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
9630 macros.
9631 (nvptx_get_num_devices): Use CUDA_CALL* macros.
9632 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
9633 (nvptx_exec): Use CUDA_CALL* macros.
9634 (nvptx_alloc): Use CUDA_CALL* macros.
9635 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
9636 (nvptx_host2dev): Likewise.
9637 (nvptx_dev2host): Likewise.
9638 (nvptx_wait): Use CUDA_CALL* macros.
9639 (nvptx_wait_async): Likewise.
9640 (nvptx_wait_all): Likewise.
9641 (nvptx_wait_all_async): Likewise.
9642 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
9643 use CUDA_CALL* macros, adjust call to map_fini.
9644 (GOMP_OFFLOAD_init_device): Change return type to bool,
9645 adjust code accordingly.
9646 (GOMP_OFFLOAD_fini_device): Likewise.
9647 (GOMP_OFFLOAD_load_image): Adjust calls to
9648 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
9649 use CUDA_CALL* macros.
9650 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
9651 return code.
9652 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
9653 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
9654 handle error return.
9655 (GOMP_OFFLOAD_dev2host): Likewise.
9656 (GOMP_OFFLOAD_host2dev): Likewise.
9657 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
9658 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
9659
9660 2016-05-24 Cesar Philippidis <cesar (a] codesourcery.com>
9661
9662 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
9663 (acc_free): Likewise.
9664 (acc_memcpy_to_device): Likewise.
9665 (acc_memcpy_from_device): Likewise.
9666 (acc_deviceptr): Likewise.
9667 (acc_hostptr): Likewise.
9668 (acc_is_present): Likewise.
9669 (acc_map_data): Likewise.
9670 (acc_unmap_data): Likewise.
9671 (present_create_copy): Likewise.
9672 (delete_copyout): Likewise.
9673 (update_dev_host): Likewise.
9674 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
9675 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
9676 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
9677 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9678 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
9679 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
9680 it only runs on nvptx targets.
9681 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9682 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9683 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9684 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9685 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9686 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9687 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9688 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9689 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9690 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9691 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9692 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9693 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9694 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9695 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9696 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9697 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9698 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9699 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9700 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9701 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9702 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9703 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9704
9705 2016-05-23 Martin Jambor <mjambor (a] suse.cz>
9706
9707 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
9708
9709 2016-05-17 Chung-Lin Tang <cltang (a] codesourcery.com>
9710
9711 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
9712 to gomp_init_targets_once.
9713 (acc_set_device_type): Remove !cached_base_dev condition on call to
9714 gomp_init_targets_once, move call to before acc_device_lock acquire,
9715 to avoid deadlock.
9716 (acc_get_device_num): Remove !cached_base_dev condition on call to
9717 gomp_init_targets_once.
9718 (acc_set_device_num): Likewise.
9719
9720 2016-05-16 Martin Jambor <mjambor (a] suse.cz>
9721
9722 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
9723
9724 2016-05-02 Nathan Sidwell <nathan (a] codesourcery.com>
9725
9726 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
9727 expected partitioning.
9728
9729 2016-04-29 Cesar Philippidis <cesar (a] codesourcery.com>
9730
9731 PR middle-end/70626
9732 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
9733 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
9734 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
9735
9736 2016-04-21 Alexander Monakov <amonakov (a] ispras.ru>
9737
9738 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
9739 non-fatal.
9740
9741 2016-04-19 Jakub Jelinek <jakub (a] redhat.com>
9742
9743 PR middle-end/70680
9744 * testsuite/libgomp.c/pr70680-1.c: New test.
9745 * testsuite/libgomp.c/pr70680-2.c: New test.
9746
9747 2016-04-14 Cesar Philippidis <cesar (a] codesourcery.com>
9748
9749 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
9750 pass parameter variables to subroutines.
9751
9752 2016-04-14 Cesar Philippidis <cesar (a] codesourcery.com>
9753
9754 PR middle-end/70643
9755 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
9756
9757 2016-04-13 Cesar Philippidis <cesar (a] codesourcery.com>
9758
9759 PR testsuite/68242
9760 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
9761 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9762
9763 2016-04-12 Thomas Schwinge <thomas (a] codesourcery.com>
9764
9765 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
9766 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
9767 GOACC_declare prototype.
9768
9769 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
9770 Merge this file, and...
9771 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
9772 ... this file, and...
9773 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
9774 ... this file, and...
9775 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
9776 ... this file, and...
9777 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
9778 ... this file, and...
9779 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
9780 ... this file, and...
9781 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
9782 ... this file, and...
9783 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
9784 ... this file, and...
9785 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
9786 ... this file, and...
9787 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
9788 ... this file, and...
9789 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
9790 ... this file, and...
9791 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
9792 ... this file, and...
9793 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
9794 ... this file into...
9795 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
9796 file.
9797
9798 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9799 Make failure observable.
9800
9801 2016-04-12 Jakub Jelinek <jakub (a] redhat.com>
9802
9803 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
9804 field.
9805 * target.c (gomp_target_fallback_firstprivate,
9806 gomp_target_unshare_firstprivate): Removed.
9807 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
9808 before waiting for dependencies.
9809 (gomp_target_task_fn): Don't copy firstprivate vars here.
9810 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
9811 firstprivate_copies here.
9812 (gomp_create_target_task): Don't initialize firstprivate_copies field.
9813 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
9814 explicit/implicit firstprivate.
9815
9816 2016-04-08 Cesar Philippidis <cesar (a] codesourcery.com>
9817
9818 PR lto/70289
9819 PR ipa/70348
9820 PR tree-optimization/70373
9821 PR middle-end/70533
9822 PR middle-end/70534
9823 PR middle-end/70535
9824 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
9825 test.
9826 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
9827 test.
9828 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
9829 test.
9830 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
9831 test.
9832 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
9833 test.
9834 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
9835 test.
9836 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
9837 test.
9838 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
9839 test.
9840 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
9841 test.
9842 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
9843 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
9844 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
9845 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
9846 test.
9847 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
9848 test.
9849 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
9850 test.
9851 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
9852 test.
9853 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
9854 coverage.
9855 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9856 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
9857 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
9858 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
9859 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
9860 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
9861 coverage.
9862 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9863 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9864 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9865 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9866 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
9867 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
9868 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
9869 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
9870 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
9871 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9872 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9873 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9874 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9875 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9876 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
9877
9878 2016-03-30 Thomas Schwinge <thomas (a] codesourcery.com>
9879 James Norris <jnorris (a] codesourcery.com>
9880 Nathan Sidwell <nathan (a] codesourcery.com>
9881 Julian Brown <julian (a] codesourcery.com>
9882 Cesar Philippidis <cesar (a] codesourcery.com>
9883 Chung-Lin Tang <cltang (a] codesourcery.com>
9884 Tom de Vries <tom (a] codesourcery.com>
9885
9886 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
9887 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9888 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9889 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
9890 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9891 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9892 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9893 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
9894 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9895 XFAIL.
9896 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
9897 Incorporate...
9898 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
9899 file.
9900 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
9901 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
9902 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
9903 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
9904 Likewise.
9905 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
9906 Likewise.
9907 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9908 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
9909 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
9910 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
9911 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
9912 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9913 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
9914 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
9915 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
9916 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
9917 Likewise.
9918 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
9919 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
9920 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
9921 file...
9922 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
9923 file into...
9924 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
9925 file. Update.
9926 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
9927 file.
9928 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
9929 Likewise.
9930 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
9931 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
9932 ... this new file. Update.
9933 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
9934 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
9935 ... this new file. Update.
9936 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
9937 file. Incorporate...
9938 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
9939 file, and...
9940 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
9941 file, and...
9942 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
9943 file.
9944 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
9945
9946 2016-03-29 Thomas Schwinge <thomas (a] codesourcery.com>
9947
9948 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
9949 set-torture-options.
9950
9951 2016-03-24 Thomas Schwinge <thomas (a] codesourcery.com>
9952
9953 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
9954 gcc-dg-runtest.
9955 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9956 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
9957 -fno-builtin-acc_on_device instead of -O0.
9958 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
9959 -O0.
9960 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9961 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
9962 Likewise.
9963 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9964 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9965 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9966 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9967 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9968 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9969 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9970 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9971 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9972 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9973 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9974 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9975 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9976 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9977 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9978 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9979 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9980 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
9981 Don't specify -O2.
9982 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
9983 Likewise.
9984 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
9985 Likewise.
9986
9987 2016-03-24 Martin Liska <mliska (a] suse.cz>
9988
9989 * plugin/plugin-hsa.c (packet_store_release): New function
9990 that is taken from the HSA runtime manual.
9991 (GOMP_OFFLOAD_run): Use the function.
9992
9993 2016-03-23 Jakub Jelinek <jakub (a] redhat.com>
9994
9995 PR c++/70376
9996 * testsuite/libgomp.c++/pr70376.C: New test.
9997
9998 2016-03-23 Tom de Vries <tom (a] codesourcery.com>
9999
10000 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
10001 initialization of lresult and lvresult.
10002 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
10003
10004 2016-03-23 James Norris <jnorris (a] codesourcery.com>
10005 Daichi Fukuoka <dc-fukuoka (a] sgi.com>
10006
10007 PR libgomp/69414
10008 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
10009 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
10010 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
10011 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
10012
10013 2016-03-23 Martin Liska <mliska (a] suse.cz>
10014
10015 PR hsa/70337
10016 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
10017 argument just in case a dispatched kernel uses that argument.
10018
10019 2016-03-16 Thomas Schwinge <thomas (a] codesourcery.com>
10020
10021 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
10022 -ftree-parallelize-loops/-fopenacc changes.
10023 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
10024 Likewise.
10025 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10026 Likewise.
10027 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
10028 Likewise.
10029 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
10030 Likewise.
10031 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
10032 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
10033
10034 2016-03-13 Thomas Schwinge <thomas (a] codesourcery.com>
10035
10036 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
10037 always_ld_library_path the path to libgcc_s.
10038
10039 2016-03-10 Cesar Philippidis <cesar (a] codesourcery.com>
10040
10041 PR testsuite/70009
10042 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
10043
10044 2016-03-09 Tom de Vries <tom (a] codesourcery.com>
10045
10046 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
10047 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
10048 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10049 Same.
10050 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
10051 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
10052 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
10053 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
10054
10055 2016-03-07 Martin Jambor <mjambor (a] suse.cz>
10056
10057 * testsuite/lib/libgomp.exp
10058 (check_effective_target_hsa_offloading_selected_nocache): New.
10059 (check_effective_target_hsa_offloading_selected): Likewise.
10060 * testsuite/libgomp.hsa.c/c.exp: Likewise.
10061 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
10062 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
10063 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
10064 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
10065 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
10066 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
10067 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
10068 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
10069 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
10070 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
10071 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
10072 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
10073 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
10074 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
10075 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
10076 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
10077
10078 2016-03-07 Martin Jambor <mjambor (a] suse.cz>
10079
10080 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
10081 non-shared memory accelerators.
10082 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
10083 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
10084 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
10085 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
10086 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
10087 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
10088 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
10089 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
10090 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
10091
10092 2016-03-07 Martin Jambor <mjambor (a] suse.cz>
10093
10094 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
10095 ALWAYS_CFLAGS.
10096
10097 2016-03-02 Jakub Jelinek <jakub (a] redhat.com>
10098
10099 PR libgomp/69555
10100 * testsuite/libgomp.c++/pr69555-1.C: New test.
10101 * testsuite/libgomp.c++/pr69555-2.C: New test.
10102
10103 2016-02-26 Keith McDaniel <k.allen.mcdaniel (a] gmail.com>
10104 Martin Jambor <mjambor (a] suse.cz>
10105
10106 * testsuite/lib/libgomp.exp
10107 (check_effective_target_offload_device_shared_as): New proc.
10108 * testsuite/libgomp.c++/declare_target-1.C: New test.
10109
10110 2016-02-25 Ilya Verbin <ilya.verbin (a] intel.com>
10111
10112 PR driver/68463
10113 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
10114
10115 2016-02-23 Thomas Schwinge <thomas (a] codesourcery.com>
10116
10117 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
10118 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
10119 dims.
10120 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
10121 -ftree-parallelize-loops/-fopenacc changes.
10122 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
10123 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
10124 Likewise.
10125 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
10126 Likewise.
10127 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
10128 Likewise.
10129 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
10130 Likewise.
10131 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
10132 Likewise.
10133 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
10134 Likewise.
10135 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
10136 Likewise.
10137 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
10138 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
10139 Likewise.
10140 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
10141 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
10142 Likewise.
10143 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
10144 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
10145 Likewise.
10146
10147 2016-02-22 Cesar Philippidis <cesar (a] codesourcery.com>
10148
10149 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
10150
10151 2016-02-19 Jakub Jelinek <jakub (a] redhat.com>
10152
10153 PR driver/69805
10154 * testsuite/libgomp.c/pr69805.c: New test.
10155
10156 2016-02-16 Tom de Vries <tom (a] codesourcery.com>
10157
10158 PR lto/67709
10159 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
10160
10161 2016-02-09 Tom de Vries <tom (a] codesourcery.com>
10162
10163 PR tree-optimization/69599
10164 * testsuite/libgomp.c/omp-nested-3.c: New test.
10165 * testsuite/libgomp.c/pr46032-2.c: New test.
10166 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
10167 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
10168
10169 2016-02-09 Tom de Vries <tom (a] codesourcery.com>
10170
10171 PR lto/69707
10172 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
10173
10174 2016-02-02 Alexander Monakov <amonakov (a] ispras.ru>
10175
10176 * testsuite/libgomp.c/target-31.c: Fix testcase.
10177
10178 2016-02-02 Alexander Monakov <amonakov (a] ispras.ru>
10179
10180 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
10181 clause.
10182 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
10183 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
10184 reduction and map clauses.
10185 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10186
10187 2016-02-02 James Norris <jnorris (a] codesourcery.com>
10188
10189 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
10190
10191 2016-02-02 Thomas Schwinge <thomas (a] codesourcery.com>
10192
10193 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
10194 * oacc-parallel.c (GOACC_host_data): Remove function definition.
10195
10196 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
10197 cases.
10198
10199 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
10200 variables.
10201 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
10202 (hsa_kmt_lib): Set variables.
10203 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
10204 always_ld_library_path.
10205 * Makefile.in: Regenerate.
10206 * configure: Likewise.
10207 * testsuite/Makefile.in: Likewise.
10208
10209 * plugin/configfrag.ac (offload_additional_options)
10210 (offload_additional_lib_paths): Don't amend for hsa offloading.
10211 * configure: Regenerate.
10212
10213 * plugin/configfrag.ac: Don't configure for offloading target if
10214 we don't build the corresponding plugin.
10215 * configure: Regenerate.
10216
10217 2016-02-01 Nathan Sidwell <nathan (a] codesourcery.com>
10218
10219 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
10220 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
10221
10222 2016-01-26 Tom de Vries <tom (a] codesourcery.com>
10223
10224 PR tree-optimization/69110
10225 * testsuite/libgomp.c/pr69110.c: New test.
10226
10227 2016-01-25 Richard Biener <rguenther (a] suse.de>
10228
10229 PR lto/69393
10230 * testsuite/libgomp.c++/pr69393.C: New testcase.
10231
10232 2016-01-22 Ilya Verbin <ilya.verbin (a] intel.com>
10233
10234 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
10235 function wasn't mapped to the device with non-shared memory.
10236
10237 2016-01-20 Ilya Verbin <ilya.verbin (a] intel.com>
10238
10239 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
10240
10241 2016-01-19 Martin Jambor <mjambor (a] suse.cz>
10242 Martin Liska <mliska (a] suse.cz>
10243
10244 * plugin/Makefrag.am: Add HSA plugin requirements.
10245 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
10246 (HSA_RUNTIME_LIB): Likewise.
10247 (HSA_RUNTIME_CPPFLAGS): Likewise.
10248 (HSA_RUNTIME_INCLUDE): New substitution.
10249 (HSA_RUNTIME_LIB): Likewise.
10250 (HSA_RUNTIME_LDFLAGS): Likewise.
10251 (hsa-runtime): New configure option.
10252 (hsa-runtime-include): Likewise.
10253 (hsa-runtime-lib): Likewise.
10254 (PLUGIN_HSA): New substitution variable.
10255 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
10256 configure options.
10257 (PLUGIN_HSA_CPPFLAGS): Likewise.
10258 (PLUGIN_HSA_LDFLAGS): Likewise.
10259 (PLUGIN_HSA_LIBS): Likewise.
10260 Check that we have access to HSA run-time.
10261 * libgomp-plugin.h (offload_target_type): New element
10262 OFFLOAD_TARGET_TYPE_HSA.
10263 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
10264 args.
10265 (bool gomp_create_target_task): Updated.
10266 (gomp_device_descr): Extra parameter of run_func and async_run_func,
10267 new field can_run_func.
10268 * libgomp_g.h (GOMP_target_ext): Update prototype.
10269 * oacc-host.c (host_run): Added a new parameter args.
10270 * target.c (calculate_firstprivate_requirements): New function.
10271 (copy_firstprivate_data): Likewise.
10272 (gomp_target_fallback_firstprivate): Use them.
10273 (gomp_target_unshare_firstprivate): New function.
10274 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
10275 devices.
10276 (GOMP_target): Do host fallback for all shared memory devices. Do not
10277 pass any args to plugins.
10278 (GOMP_target_ext): Introduce device-specific argument parameter args.
10279 Allow host fallback if device shares memory. Do not remap data if
10280 device has shared memory.
10281 (gomp_target_task_fn): Likewise. Also treat shared memory devices
10282 like host fallback for mappings.
10283 (GOMP_target_data): Treat shared memory devices like host fallback.
10284 (GOMP_target_data_ext): Likewise.
10285 (GOMP_target_update): Likewise.
10286 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
10287 gomp_create_target_task.
10288 (GOMP_target_enter_exit_data): Likewise.
10289 (omp_target_alloc): Treat shared memory devices like host fallback.
10290 (omp_target_free): Likewise.
10291 (omp_target_is_present): Likewise.
10292 (omp_target_memcpy): Likewise.
10293 (omp_target_memcpy_rect): Likewise.
10294 (omp_target_associate_ptr): Likewise.
10295 (gomp_load_plugin_for_device): Also load can_run.
10296 * task.c (GOMP_PLUGIN_target_task_completion): Free
10297 firstprivate_copies.
10298 (gomp_create_target_task): Accept new argument args and store it to
10299 ttask.
10300 * plugin/plugin-hsa.c: New file.
10301
10302 2016-01-18 Tom de Vries <tom (a] codesourcery.com>
10303
10304 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
10305 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
10306 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
10307 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
10308 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
10309 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
10310 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
10311 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
10312 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
10313 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
10314 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10315 Same.
10316 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10317 Same.
10318 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
10319 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
10320 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
10321 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
10322 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
10323 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
10324 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
10325 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10326 Same.
10327 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
10328
10329 2016-01-15 Jakub Jelinek <jakub (a] redhat.com>
10330
10331 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
10332
10333 2016-01-15 Cesar Philippidis <cesar (a] codesourcery.com>
10334
10335 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
10336
10337 2016-01-12 James Norris <jnorris (a] codesourcery.com>
10338
10339 * libgomp.texi: Updates for OpenACC.
10340
10341 2016-01-11 Alexander Monakov <amonakov (a] ispras.ru>
10342
10343 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
10344
10345 2016-01-07 H.J. Lu <hongjiu.lu (a] intel.com>
10346
10347 PR fortran/66680
10348 * testsuite/libgomp.fortran/pr66680.f90: New test.
10349
10350 2016-01-07 Jakub Jelinek <jakub (a] redhat.com>
10351
10352 PR middle-end/68960
10353 * testsuite/libgomp.c/pr68960.c: New test.
10354
10355 2016-01-06 Nathan Sidwell <nathan (a] acm.org>
10356
10357 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
10358 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
10359
10360 2016-01-04 Jakub Jelinek <jakub (a] redhat.com>
10361
10362 Update copyright years.
10363
10364 * libgomp.texi: Bump @copying's copyright year.
10365
10366 2015-12-31 Nathan Sidwell <nathan (a] acm.org>
10367
10368 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
10369 dg-additional-options syntax.
10370 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10371 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10372 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10373 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10374 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10375 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10376 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10377 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10378 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10379 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10380 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10381 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10382 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10383 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
10384 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10385 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10386 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10387 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10388
10389 2015-12-15 Ilya Verbin <ilya.verbin (a] intel.com>
10390
10391 * libgomp.h (REFCOUNT_LINK): Define.
10392 (struct splay_tree_key_s): Add link_key.
10393 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
10394 Replace target address of the pointer with target address of newly
10395 mapped object in the splay tree. Set link pointer on target to the
10396 device address of the mapped object.
10397 (gomp_unmap_vars): Restore target address of the pointer in the splay
10398 tree for REFCOUNT_LINK objects after unmapping.
10399 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
10400 declare target link" objects.
10401 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
10402 "omp declare target link" objects, which were mapped for the image.
10403 (gomp_exit_data): Restore target address of the pointer in the splay
10404 tree for REFCOUNT_LINK objects after unmapping.
10405 * testsuite/libgomp.c/target-link-1.c: New file.
10406
10407 2015-12-14 Ilya Verbin <ilya.verbin (a] intel.com>
10408
10409 * libgomp.h (gomp_device_state): New enum.
10410 (struct gomp_device_descr): Replace is_initialized with state.
10411 (gomp_fini_device): Remove declaration.
10412 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
10413 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
10414 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
10415 (acc_set_device_type): Use state instead of is_initialized.
10416 (acc_set_device_num): Likewise.
10417 * target.c (resolve_device): Use state instead of is_initialized.
10418 Do not initialize finalized device.
10419 (gomp_map_vars): Do nothing if device is finalized.
10420 (gomp_unmap_vars): Likewise.
10421 (gomp_update): Likewise.
10422 (GOMP_offload_register_ver): Use state instead of is_initialized.
10423 (GOMP_offload_unregister_ver): Likewise.
10424 (gomp_init_device): Likewise.
10425 (gomp_unload_device): Likewise.
10426 (gomp_fini_device): Remove.
10427 (gomp_get_target_fn_addr): Do nothing if device is finalized.
10428 (GOMP_target): Go to host fallback if device is finalized.
10429 (GOMP_target_ext): Likewise.
10430 (gomp_exit_data): Do nothing if device is finalized.
10431 (gomp_target_task_fn): Go to host fallback if device is finalized.
10432 (gomp_target_fini): New static function.
10433 (gomp_target_init): Use state instead of is_initialized.
10434 Call gomp_target_fini at exit.
10435
10436 2015-12-09 Tom de Vries <tom (a] codesourcery.com>
10437
10438 PR tree-optimization/68716
10439 * testsuite/libgomp.c/omp-nested-2.c: New test.
10440
10441 2015-12-02 Thomas Schwinge <thomas (a] codesourcery.com>
10442
10443 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
10444 target openacc_nvidia_accel_selected.
10445 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
10446 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
10447 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
10448 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
10449
10450 2015-12-01 Julian Brown <julian (a] codesourcery.com>
10451 James Norris <James_Norris (a] mentor.com>
10452
10453 * oacc-parallel.c (GOACC_host_data): New function.
10454 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
10455 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
10456 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
10457 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
10458 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
10459 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
10460 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
10461
10462 2015-11-30 James Norris <jnorris (a] codesourcery.com>
10463 Cesar Philippidis <cesar (a] codesourcery.com>
10464
10465 libgomp/
10466 * libgomp.oacc-fortran/routine-5.f90: New test.
10467 * libgomp.oacc-fortran/routine-7.f90: New test.
10468 * libgomp.oacc-fortran/routine-9.f90: New test.
10469
10470 2015-11-30 Tom de Vries <tom (a] codesourcery.com>
10471
10472 PR tree-optimization/46032
10473 * testsuite/libgomp.c/pr46032.c: New test.
10474
10475 2015-11-27 Jakub Jelinek <jakub (a] redhat.com>
10476
10477 PR libgomp/68579
10478 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
10479 (gomp_create_target_task): Call it before freeing
10480 GOMP_TARGET_TASK_DATA tasks.
10481
10482 PR c/63326
10483 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
10484 in between case label and OpenMP standalone directives.
10485 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
10486
10487 2015-11-26 David Edelsohn <dje.gcc (a] gmail.com>
10488
10489 * configure: Regenerate.
10490
10491 2015-11-26 Jakub Jelinek <jakub (a] redhat.com>
10492
10493 * testsuite/libgomp.c/target-35.c: New test.
10494
10495 2015-11-22 James Norris <jnorris (a] codesourcery.com>
10496 Cesar Philippidis <cesar (a] codesourcery.com>
10497
10498 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
10499 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10500 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10501 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10502 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10503
10504 2015-11-20 Jakub Jelinek <jakub (a] redhat.com>
10505
10506 PR middle-end/68221
10507 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
10508 * testsuite/libgomp.c/reduction-12.c: Likewise.
10509 * testsuite/libgomp.c++/reduction-11.C: Likewise.
10510 * testsuite/libgomp.c++/reduction-12.C: Likewise.
10511
10512 2015-11-19 Nathan Sidwell <nathan (a] codesourcery.com>
10513
10514 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
10515 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
10516 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
10517 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
10518 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
10519 and fix.
10520 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10521 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10522
10523 2015-11-18 Nathan Sidwell <nathan (a] codesourcery.com>
10524
10525 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
10526 worker & gang cases.
10527 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
10528
10529 2015-11-17 Cesar Philippidis <cesar (a] codesourcery.com>
10530
10531 * config/nvptx/priority_queue.c: New file.
10532
10533 2015-11-14 Jakub Jelinek <jakub (a] redhat.com>
10534
10535 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
10536 sections.
10537
10538 2015-11-14 Jakub Jelinek <jakub (a] redhat.com>
10539 Aldy Hernandez <aldyh (a] redhat.com>
10540 Ilya Verbin <ilya.verbin (a] intel.com>
10541
10542 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
10543 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
10544 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
10545 iterators or IV by chunk size.
10546 * parallel.c (gomp_resolve_num_threads): Don't assume that
10547 if thr->ts.team is non-NULL, then pool must be non-NULL.
10548 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
10549 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
10550 GOMP_PLUGIN_target_task_completion.
10551 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
10552 * Makefile.in: Regenerate.
10553 * libgomp.h: Shuffle prototypes and forward definitions around so
10554 priority queues can be defined.
10555 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
10556 (enum gomp_target_task_state): New enum.
10557 (struct gomp_target_task): Add state, tgt, task and team fields.
10558 (gomp_create_target_task): Change return type to bool, add
10559 state argument.
10560 (gomp_target_task_fn): Change return type to bool.
10561 (struct gomp_device_descr): Add async_run_func.
10562 (struct gomp_task): Remove children, next_child, prev_child,
10563 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
10564 Add pnode field.
10565 (struct gomp_taskgroup): Remove children.
10566 Add taskgroup_queue.
10567 (struct gomp_team): Change task_queue type to a priority queue.
10568 (splay_compare): Define inline.
10569 (priority_queue_offset): New.
10570 (priority_node_to_task): New.
10571 (task_to_priority_node): New.
10572 * oacc-mem.c: Do not include splay-tree.h.
10573 * priority_queue.c: New file.
10574 * priority_queue.h: New file.
10575 * splay-tree.c: Do not include splay-tree.h.
10576 (splay_tree_foreach_internal): New.
10577 (splay_tree_foreach): New.
10578 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
10579 (splay_tree_callback): Define typedef.
10580 * target.c (splay_compare): Move to libgomp.h.
10581 (GOMP_target): Don't adjust *thr in any way around running offloaded
10582 task.
10583 (GOMP_target_ext): Likewise. Handle target nowait.
10584 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
10585 return value from gomp_create_target_task, if false, fallthrough
10586 as if no dependencies exist.
10587 (gomp_target_task_fn): Change return type to bool, return true
10588 if the task should have another part scheduled later. Handle
10589 target nowait.
10590 (gomp_load_plugin_for_device): Initialize async_run.
10591 * task.c (gomp_init_task): Initialize children_queue.
10592 (gomp_clear_parent_in_list): New.
10593 (gomp_clear_parent_in_tree): New.
10594 (gomp_clear_parent): Handle priorities.
10595 (GOMP_task): Likewise.
10596 (priority_queue_move_task_first,
10597 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
10598 New functions.
10599 (gomp_create_target_task): Use priority queues. Change return type
10600 to bool, add state argument, return false if for async
10601 {{enter,exit} data,update} constructs no dependencies need to be
10602 waited for, handle target nowait. Set task->fn to NULL instead of
10603 gomp_target_task_fn.
10604 (verify_children_queue): Remove.
10605 (priority_list_upgrade_task): New.
10606 (priority_queue_upgrade_task): New.
10607 (verify_task_queue): Remove.
10608 (priority_list_downgrade_task): New.
10609 (priority_queue_downgrade_task): New.
10610 (gomp_task_run_pre): Use priority queues.
10611 Abstract code out to priority_queue_downgrade_task.
10612 (gomp_task_run_post_handle_dependers): Use priority queues.
10613 (gomp_task_run_post_remove_parent): Likewise.
10614 (gomp_task_run_post_remove_taskgroup): Likewise.
10615 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
10616 tasks specially.
10617 (GOMP_taskwait): Likewise.
10618 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
10619 priority-queue_upgrade_task.
10620 (GOMP_taskgroup_start): Use priority queues.
10621 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
10622 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
10623 barrier.
10624 * taskloop.c (GOMP_taskloop): Handle priorities.
10625 * team.c (gomp_new_team): Call priority_queue_init.
10626 (free_team): Call priority_queue_free.
10627 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
10628 team created for target nowait in implicit parallel region.
10629 (gomp_team_start): For nested check, test thr->ts.level instead of
10630 thr->ts.team != NULL.
10631 * testsuite/libgomp.c/doacross-3.c: New test.
10632 * testsuite/libgomp.c/ordered-5.c: New test.
10633 * testsuite/libgomp.c/priority.c: New test.
10634 * testsuite/libgomp.c/target-31.c: New test.
10635 * testsuite/libgomp.c/target-32.c: New test.
10636 * testsuite/libgomp.c/target-33.c: New test.
10637 * testsuite/libgomp.c/target-34.c: New test.
10638
10639 2015-11-13 Nathan Sidwell <nathan (a] codesourcery.com>
10640
10641 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
10642
10643 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
10644 loop is sequential.
10645
10646 2015-11-13 Nathan Sidwell <nathan (a] codesourcery.com>
10647
10648 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
10649 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
10650
10651 2015-11-12 James Norris <jnorris (a] codesourcery.com>
10652 Joseph Myers <joseph (a] codesourcery.com>
10653
10654 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
10655 * oacc-parallel.c (GOACC_declare): New function.
10656 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
10657 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
10658 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
10659 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
10660 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
10661
10662 2015-11-12 Nathan Sidwell <nathan (a] codesourcery.com>
10663
10664 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
10665
10666 2015-11-1 Nathan Sidwell <nathan (a] codesourcery.com>
10667
10668 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
10669 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
10670
10671 2015-11-09 Nathan Sidwell <nathan (a] codesourcery.com>
10672
10673 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
10674 inadvertent commit.
10675
10676 2015-11-09 Nathan Sidwell <nathan (a] codesourcery.com>
10677
10678 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
10679 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
10680 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
10681 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
10682 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
10683
10684 2015-11-06 Thomas Schwinge <thomas (a] codesourcery.com>
10685
10686 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
10687 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10688
10689 2015-11-05 Jakub Jelinek <jakub (a] redhat.com>
10690 Ilya Verbin <ilya.verbin (a] intel.com>
10691
10692 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
10693 GOMP_loop_nonmonotonic_dynamic_start,
10694 GOMP_loop_nonmonotonic_guided_next,
10695 GOMP_loop_nonmonotonic_guided_start,
10696 GOMP_loop_ull_nonmonotonic_dynamic_next,
10697 GOMP_loop_ull_nonmonotonic_dynamic_start,
10698 GOMP_loop_ull_nonmonotonic_guided_next,
10699 GOMP_loop_ull_nonmonotonic_guided_start,
10700 GOMP_parallel_loop_nonmonotonic_dynamic,
10701 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
10702 (GOMP_target_41): Renamed to ...
10703 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10704 arguments.
10705 (GOMP_target_data_41): Renamed to ...
10706 (GOMP_target_data_ext): ... this.
10707 (GOMP_target_update_41): Renamed to ...
10708 (GOMP_target_update_ext): ... this.
10709 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
10710 GOMP_target_data_ext and GOMP_target_update_ext instead of
10711 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
10712 Export GOMP_loop_nonmonotonic_dynamic_next,
10713 GOMP_loop_nonmonotonic_dynamic_start,
10714 GOMP_loop_nonmonotonic_guided_next,
10715 GOMP_loop_nonmonotonic_guided_start,
10716 GOMP_loop_ull_nonmonotonic_dynamic_next,
10717 GOMP_loop_ull_nonmonotonic_dynamic_start,
10718 GOMP_loop_ull_nonmonotonic_guided_next,
10719 GOMP_loop_ull_nonmonotonic_guided_start,
10720 GOMP_parallel_loop_nonmonotonic_dynamic and
10721 GOMP_parallel_loop_nonmonotonic_guided.
10722 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
10723 GOMP_parallel_loop_nonmonotonic_guided,
10724 GOMP_loop_nonmonotonic_dynamic_start,
10725 GOMP_loop_nonmonotonic_guided_start,
10726 GOMP_loop_nonmonotonic_dynamic_next,
10727 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
10728 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
10729 GOMP_loop_ull_nonmonotonic_guided_start,
10730 GOMP_loop_ull_nonmonotonic_dynamic_next,
10731 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
10732 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
10733 functions.
10734 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
10735 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
10736 Use gomp_map_val function.
10737 (gomp_target_fallback_firstprivate): New static function.
10738 (GOMP_target_41): Renamed to ...
10739 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10740 arguments. Move firstprivate fallback handling into a new
10741 function.
10742 (GOMP_target_data_41): Renamed to ...
10743 (GOMP_target_data_ext): ... this.
10744 (GOMP_target_update_41): Renamed to ...
10745 (GOMP_target_update_ext): ... this.
10746 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
10747 gomp_map_0len_lookup instead of gomp_map_lookup.
10748 (omp_target_is_present): Use gomp_map_0len_lookup instead of
10749 gomp_map_lookup.
10750 * testsuite/libgomp.c/target-28.c: Likewise.
10751 * testsuite/libgomp.c/monotonic-1.c: New test.
10752 * testsuite/libgomp.c/monotonic-2.c: New test.
10753 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
10754 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
10755 * testsuite/libgomp.c/pr66199-5.c: New test.
10756 * testsuite/libgomp.c/pr66199-6.c: New test.
10757 * testsuite/libgomp.c/pr66199-7.c: New test.
10758 * testsuite/libgomp.c/pr66199-8.c: New test.
10759 * testsuite/libgomp.c/pr66199-9.c: New test.
10760 * testsuite/libgomp.c/reduction-11.c: New test.
10761 * testsuite/libgomp.c/reduction-12.c: New test.
10762 * testsuite/libgomp.c/reduction-13.c: New test.
10763 * testsuite/libgomp.c/reduction-14.c: New test.
10764 * testsuite/libgomp.c/reduction-15.c: New test.
10765 * testsuite/libgomp.c/target-12.c (main): Adjust for
10766 omp_target_is_present change for one-past-last element.
10767 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
10768 the same var is both mapped and privatized.
10769 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
10770 handling of zero-length array sections.
10771 * testsuite/libgomp.c/target-28.c: New test.
10772 * testsuite/libgomp.c/target-29.c: New test.
10773 * testsuite/libgomp.c/target-30.c: New test.
10774 * testsuite/libgomp.c/target-teams-1.c: New test.
10775 * testsuite/libgomp.c++/member-6.C: New test.
10776 * testsuite/libgomp.c++/member-7.C: New test.
10777 * testsuite/libgomp.c++/monotonic-1.C: New test.
10778 * testsuite/libgomp.c++/monotonic-2.C: New test.
10779 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
10780 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
10781 * testsuite/libgomp.c++/pr66199-3.C: New test.
10782 * testsuite/libgomp.c++/pr66199-4.C: New test.
10783 * testsuite/libgomp.c++/pr66199-5.C: New test.
10784 * testsuite/libgomp.c++/pr66199-6.C: New test.
10785 * testsuite/libgomp.c++/pr66199-7.C: New test.
10786 * testsuite/libgomp.c++/pr66199-8.C: New test.
10787 * testsuite/libgomp.c++/pr66199-9.C: New test.
10788 * testsuite/libgomp.c++/reduction-11.C: New test.
10789 * testsuite/libgomp.c++/reduction-12.C: New test.
10790 * testsuite/libgomp.c++/target-13.C: New test.
10791 * testsuite/libgomp.c++/target-14.C: New test.
10792 * testsuite/libgomp.c++/target-15.C: New test.
10793 * testsuite/libgomp.c++/target-16.C: New test.
10794 * testsuite/libgomp.c++/target-17.C: New test.
10795 * testsuite/libgomp.c++/target-18.C: New test.
10796 * testsuite/libgomp.c++/target-19.C: New test.
10797
10798 2015-11-04 Nathan Sidwell <nathan (a] codesourcery.com>
10799
10800 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
10801 and reduction copy.
10802 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10803 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10804 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10805 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10806 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
10807 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10808 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
10809 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10810 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10811 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
10812 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
10813 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10814 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10815 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
10816
10817 2015-11-04 Nathan Sidwell <nathan (a] codesourcery.com>
10818
10819 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
10820 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
10821 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
10822 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
10823 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
10824 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
10825 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
10826 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
10827
10828 2015-11-03 Nathan Sidwell <nathan (a] codesourcery.com>
10829
10830 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
10831 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
10832 (GOMP_OFFLOAD_openacc_parallel): Likewise.
10833 * oacc-host.c (host_openacc_exec): Likewise.
10834 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
10835
10836 2015-11-03 Julian Brown <julian (a] codesourcery.com>
10837 Thomas Schwinge <thomas (a] codesourcery.com>
10838
10839 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
10840 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10841 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
10842 Likewise.
10843 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
10844 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
10845
10846 2015-11-03 James Norris <jnorris (a] codesourcery.com>
10847
10848 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
10849 file.
10850 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
10851 Likewise.
10852 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
10853 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
10854 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
10855 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
10856 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
10857
10858 2015-10-29 Nathan Sidwell <nathan (a] codesourcery.com>
10859
10860 * openacc.h (enum acc_device_t): Reformat. Ensure layout
10861 compatibility.
10862 (enum acc_async_t): Reformat.
10863 (acc_on_device): Declare compatible with builtin and provide C++
10864 wrapper.
10865 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
10866
10867 2015-10-29 Thomas Schwinge <thomas (a] codesourcery.com>
10868 Cesar Philippidis <cesar (a] codesourcery.com>
10869
10870 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
10871 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
10872 ... this. Add a description of the test at the top of the file.
10873 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
10874 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
10875 ... this. Add a description of the test at the top of the file.
10876
10877 2015-10-28 Nathan Sidwell <nathan (a] codesourcery.com>
10878
10879 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
10880 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
10881 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
10882 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
10883 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
10884 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
10885
10886 2015-10-27 Nathan Sidwell <nathan (a] codesourcery.com>
10887
10888 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
10889 dimensions.
10890
10891 2015-10-27 Thomas Schwinge <thomas (a] codesourcery.com>
10892
10893 PR testsuite/68063
10894 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
10895
10896 2015-10-27 James Norris <jnorris (a] codesourcery.com>
10897
10898 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
10899 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
10900
10901 2015-10-26 Thomas Schwinge <thomas (a] codesourcery.com>
10902
10903 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
10904 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10905
10906 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
10907 acc_device_nvidia usage.
10908 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
10909 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10910 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
10911
10912 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
10913 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
10914
10915 PR libgomp/66518
10916 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
10917
10918 PR libgomp/65437
10919 PR libgomp/66518
10920 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
10921 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
10922
10923 2015-10-23 Tom de Vries <tom (a] codesourcery.com>
10924
10925 PR testsuite/68063
10926 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
10927
10928 2015-10-20 Nathan Sidwell <nathan (a] codesourcery.com>
10929
10930 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
10931 vector_length.
10932 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10933
10934 2015-10-14 Ilya Verbin <ilya.verbin (a] intel.com>
10935 Aleksander Ivanushenko <aleksander.ivanushenko (a] intel.com>
10936
10937 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
10938 to 0 when mapnum is 0.
10939
10940 2015-10-14 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
10941
10942 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
10943 Cast to int from int32_t.
10944
10945 2015-10-13 Jakub Jelinek <jakub (a] redhat.com>
10946 Aldy Hernandez <aldyh (a] redhat.com>
10947 Ilya Verbin <ilya.verbin (a] intel.com>
10948
10949 * config/linux/affinity.c (omp_get_place_num_procs,
10950 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10951 * config/linux/doacross.h: New file.
10952 * config/posix/affinity.c (omp_get_place_num_procs,
10953 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10954 * config/posix/doacross.h: New file.
10955 * env.c: Include gomp-constants.h.
10956 (struct gomp_task_icv): Rename run_sched_modifier to
10957 run_sched_chunk_size.
10958 (gomp_max_task_priority_var): New variable.
10959 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
10960 (handle_omp_display_env): Change _OPENMP value from 201307 to
10961 201511. Print OMP_MAX_TASK_PRIORITY.
10962 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
10963 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
10964 chunk_size and run_sched_modifier to run_sched_chunk_size.
10965 (omp_get_max_task_priority, omp_get_initial_device,
10966 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
10967 omp_get_partition_place_nums): New functions.
10968 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
10969 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
10970 to chunk_size.
10971 (omp_get_num_places_, omp_get_place_num_procs_,
10972 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
10973 omp_get_place_proc_ids_8_, omp_get_place_num_,
10974 omp_get_partition_num_places_, omp_get_partition_place_nums_,
10975 omp_get_partition_place_nums_8_, omp_get_initial_device_,
10976 omp_get_max_task_priority_): New functions.
10977 * libgomp_g.h (GOMP_loop_doacross_static_start,
10978 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
10979 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
10980 GOMP_loop_ull_doacross_dynamic_start,
10981 GOMP_loop_ull_doacross_guided_start,
10982 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
10983 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
10984 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
10985 GOMP_target_data_41, GOMP_target_update_41,
10986 GOMP_target_enter_exit_data): New prototypes.
10987 (GOMP_task): Add prototype argument.
10988 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
10989 (struct gomp_doacross_work_share): New type.
10990 (struct gomp_work_share): Add doacross field.
10991 (struct gomp_task_icv): Rename run_sched_modifier to
10992 run_sched_chunk_size.
10993 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
10994 GOMP_TASK_UNDEFERRED. Add comments.
10995 (struct gomp_task_depend_entry): Add comments.
10996 (struct gomp_task): Likewise.
10997 (struct gomp_taskgroup): Likewise.
10998 (struct gomp_target_task): New type.
10999 (struct gomp_team): Add comment.
11000 (gomp_get_place_proc_ids_8, gomp_doacross_init,
11001 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
11002 gomp_create_target_task, gomp_target_task_fn): New prototypes.
11003 (struct target_var_desc): New type.
11004 (struct target_mem_desc): Adjust comment. Use struct
11005 target_var_desc instead of splay_tree_key for list.
11006 (REFCOUNT_INFINITY): Define.
11007 (struct splay_tree_key_s): Remove copy_from field.
11008 (struct gomp_device_descr): Add dev2dev_func field.
11009 (enum gomp_map_vars_kind): New enum.
11010 (gomp_map_vars): Add one argument.
11011 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
11012 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
11013 omp_get_place_num_procs, omp_get_place_num_procs_,
11014 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
11015 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
11016 omp_get_place_num_, omp_get_partition_num_places,
11017 omp_get_partition_num_places_, omp_get_partition_place_nums,
11018 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
11019 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
11020 omp_target_free, omp_target_is_present, omp_target_memcpy,
11021 omp_target_memcpy_rect, omp_target_associate_ptr and
11022 omp_target_disassociate_ptr.
11023 (GOMP_4.0.2): Renamed to ...
11024 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
11025 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
11026 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
11027 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11028 GOMP_loop_doacross_static_start, GOMP_doacross_post,
11029 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
11030 GOMP_loop_ull_doacross_guided_start,
11031 GOMP_loop_ull_doacross_runtime_start,
11032 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
11033 GOMP_doacross_ull_wait.
11034 * libgomp.texi: Document omp_get_max_task_priority.
11035 Rename modifier argument to chunk_size for omp_set_schedule and
11036 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
11037 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
11038 to run_sched_chunk_size renaming.
11039 (GOMP_loop_ordered_runtime_start): Likewise.
11040 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
11041 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11042 GOMP_parallel_loop_runtime_start): New functions.
11043 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
11044 to run_sched_chunk_size renaming.
11045 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
11046 GOMP_loop_doacross_guided_start): New functions or aliases.
11047 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
11048 run_sched_modifier to run_sched_chunk_size renaming.
11049 (GOMP_loop_ull_ordered_runtime_start): Likewise.
11050 (gomp_loop_ull_doacross_static_start,
11051 gomp_loop_ull_doacross_dynamic_start,
11052 gomp_loop_ull_doacross_guided_start,
11053 GOMP_loop_ull_doacross_runtime_start): New functions.
11054 (GOMP_loop_ull_doacross_static_start,
11055 GOMP_loop_ull_doacross_dynamic_start,
11056 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
11057 * oacc-mem.c (acc_map_data, present_create_copy,
11058 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
11059 to gomp_map_vars.
11060 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
11061 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
11062 instead of false to gomp_map_vars.
11063 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
11064 * omp.h.in (omp_lock_hint_t): New type.
11065 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11066 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11067 omp_get_place_num, omp_get_partition_num_places,
11068 omp_get_partition_place_nums, omp_get_initial_device,
11069 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
11070 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
11071 omp_target_associate_ptr, omp_target_disassociate_ptr): New
11072 prototypes.
11073 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
11074 (omp_lock_hint_none, omp_lock_hint_uncontended,
11075 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11076 omp_lock_hint_speculative): New parameters.
11077 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11078 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11079 omp_get_place_num, omp_get_partition_num_places,
11080 omp_get_partition_place_nums, omp_get_initial_device,
11081 omp_get_max_task_priority): New interfaces.
11082 (omp_set_schedule, omp_get_schedule): Rename modifier argument
11083 to chunk_size.
11084 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
11085 (omp_lock_hint_none, omp_lock_hint_uncontended,
11086 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11087 omp_lock_hint_speculative): New parameters.
11088 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11089 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11090 omp_get_place_num, omp_get_partition_num_places,
11091 omp_get_partition_place_nums, omp_get_initial_device,
11092 omp_get_max_task_priority): New functions and subroutines.
11093 * ordered.c: Include stdarg.h and string.h.
11094 (MAX_COLLAPSED_BITS): Define.
11095 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
11096 gomp_doacross_ull_init, GOMP_doacross_ull_post,
11097 GOMP_doacross_ull_wait): New functions.
11098 * target.c: Include errno.h.
11099 (resolve_device): If device is not initialized, call
11100 gomp_init_device on it.
11101 (gomp_map_lookup): New function.
11102 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
11103 Don't bump refcount if REFCOUNT_INFINITY. Handle
11104 GOMP_MAP_ALWAYS_TO_P.
11105 (get_kind): Rename is_openacc argument to short_mapkind.
11106 (gomp_map_pointer): Use gomp_map_lookup.
11107 (gomp_map_fields_existing): New function.
11108 (gomp_map_vars): Rename is_openacc argument to short_mapkind
11109 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
11110 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
11111 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
11112 Adjust for tgt->list changed type and copy_from living in there.
11113 (gomp_copy_from_async): Adjust for tgt->list changed type and
11114 copy_from living in there.
11115 (gomp_unmap_vars): Likewise.
11116 (gomp_update): Likewise. Rename is_openacc argument to
11117 short_mapkind. Don't fail if object is not mapped.
11118 (gomp_load_image_to_device): Initialize refcount to
11119 REFCOUNT_INFINITY.
11120 (gomp_target_fallback): New function.
11121 (gomp_get_target_fn_addr): Likewise.
11122 (GOMP_target): Adjust gomp_map_vars caller, use
11123 gomp_get_target_fn_addr and gomp_target_fallback.
11124 (GOMP_target_41): New function.
11125 (gomp_target_data_fallback): New function.
11126 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
11127 (GOMP_target_data_41): New function.
11128 (GOMP_target_update): Adjust gomp_update caller.
11129 (GOMP_target_update_41): New function.
11130 (gomp_exit_data, GOMP_target_enter_exit_data,
11131 gomp_target_task_fn, omp_target_alloc, omp_target_free,
11132 omp_target_is_present, omp_target_memcpy,
11133 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
11134 omp_target_associate_ptr, omp_target_disassociate_ptr,
11135 gomp_load_plugin_for_device): New functions.
11136 * task.c: Include gomp-constants.h. Include taskloop.c
11137 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
11138 (gomp_task_handle_depend): New function.
11139 (GOMP_task): Use it. Add priority argument. Use
11140 gomp-constant.h constants instead of hardcoded numbers.
11141 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
11142 (gomp_create_target_task): New function.
11143 (verify_children_queue, verify_taskgroup_queue,
11144 verify_task_queue): New functions.
11145 (gomp_task_run_pre): Call verify_*_queue functions.
11146 If an upcoming tied task is about to leave the sibling or
11147 taskgroup queues in an invalid state, adjust appropriately.
11148 Remove taskgroup argument. Add comments.
11149 (gomp_task_run_post_handle_dependers): Add comments.
11150 (gomp_task_run_post_remove_parent): Likewise.
11151 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
11152 (GOMP_taskwait): Likewise. Add comments.
11153 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
11154 problem such that the first non parent_depends_on task does not
11155 end up at the end of the children queue.
11156 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
11157 GOMP_TASK_UNDEFERRED.
11158 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
11159 * taskloop.c: New file.
11160 * testsuite/lib/libgomp.exp
11161 (check_effective_target_offload_device_nonshared_as): New proc.
11162 * testsuite/libgomp.c/affinity-2.c: New test.
11163 * testsuite/libgomp.c/doacross-1.c: New test.
11164 * testsuite/libgomp.c/doacross-2.c: New test.
11165 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
11166 Add map clause to target.
11167 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
11168 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
11169 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
11170 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
11171 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
11172 Likewise.
11173 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
11174 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
11175 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
11176 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
11177 not defined. Use those where needed.
11178 * testsuite/libgomp.c/for-4.c: New test.
11179 * testsuite/libgomp.c/for-5.c: New test.
11180 * testsuite/libgomp.c/for-6.c: New test.
11181 * testsuite/libgomp.c/linear-1.c: New test.
11182 * testsuite/libgomp.c/ordered-4.c: New test.
11183 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
11184 only allowed on the loop iterator.
11185 * testsuite/libgomp.c/pr66199-3.c: New test.
11186 * testsuite/libgomp.c/pr66199-4.c: New test.
11187 * testsuite/libgomp.c/reduction-7.c: New test.
11188 * testsuite/libgomp.c/reduction-8.c: New test.
11189 * testsuite/libgomp.c/reduction-9.c: New test.
11190 * testsuite/libgomp.c/reduction-10.c: New test.
11191 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
11192 map(tofrom:s).
11193 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
11194 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
11195 * testsuite/libgomp.c/target-11.c: New test.
11196 * testsuite/libgomp.c/target-12.c: New test.
11197 * testsuite/libgomp.c/target-13.c: New test.
11198 * testsuite/libgomp.c/target-14.c: New test.
11199 * testsuite/libgomp.c/target-15.c: New test.
11200 * testsuite/libgomp.c/target-16.c: New test.
11201 * testsuite/libgomp.c/target-17.c: New test.
11202 * testsuite/libgomp.c/target-18.c: New test.
11203 * testsuite/libgomp.c/target-19.c: New test.
11204 * testsuite/libgomp.c/target-20.c: New test.
11205 * testsuite/libgomp.c/target-21.c: New test.
11206 * testsuite/libgomp.c/target-22.c: New test.
11207 * testsuite/libgomp.c/target-23.c: New test.
11208 * testsuite/libgomp.c/target-24.c: New test.
11209 * testsuite/libgomp.c/target-25.c: New test.
11210 * testsuite/libgomp.c/target-26.c: New test.
11211 * testsuite/libgomp.c/target-27.c: New test.
11212 * testsuite/libgomp.c/taskloop-1.c: New test.
11213 * testsuite/libgomp.c/taskloop-2.c: New test.
11214 * testsuite/libgomp.c/taskloop-3.c: New test.
11215 * testsuite/libgomp.c/taskloop-4.c: New test.
11216 * testsuite/libgomp.c++/ctor-13.C: New test.
11217 * testsuite/libgomp.c++/doacross-1.C: New test.
11218 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
11219 Replace offload_device with offload_device_nonshared_as.
11220 * testsuite/libgomp.c++/for-12.C: New test.
11221 * testsuite/libgomp.c++/for-13.C: New test.
11222 * testsuite/libgomp.c++/for-14.C: New test.
11223 * testsuite/libgomp.c++/linear-1.C: New test.
11224 * testsuite/libgomp.c++/member-1.C: New test.
11225 * testsuite/libgomp.c++/member-2.C: New test.
11226 * testsuite/libgomp.c++/member-3.C: New test.
11227 * testsuite/libgomp.c++/member-4.C: New test.
11228 * testsuite/libgomp.c++/member-5.C: New test.
11229 * testsuite/libgomp.c++/ordered-1.C: New test.
11230 * testsuite/libgomp.c++/reduction-5.C: New test.
11231 * testsuite/libgomp.c++/reduction-6.C: New test.
11232 * testsuite/libgomp.c++/reduction-7.C: New test.
11233 * testsuite/libgomp.c++/reduction-8.C: New test.
11234 * testsuite/libgomp.c++/reduction-9.C: New test.
11235 * testsuite/libgomp.c++/reduction-10.C: New test.
11236 * testsuite/libgomp.c++/reference-1.C: New test.
11237 * testsuite/libgomp.c++/simd14.C: New test.
11238 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
11239 * testsuite/libgomp.c++/target-5.C: New test.
11240 * testsuite/libgomp.c++/target-6.C: New test.
11241 * testsuite/libgomp.c++/target-7.C: New test.
11242 * testsuite/libgomp.c++/target-8.C: New test.
11243 * testsuite/libgomp.c++/target-9.C: New test.
11244 * testsuite/libgomp.c++/target-10.C: New test.
11245 * testsuite/libgomp.c++/target-11.C: New test.
11246 * testsuite/libgomp.c++/target-12.C: New test.
11247 * testsuite/libgomp.c++/taskloop-1.C: New test.
11248 * testsuite/libgomp.c++/taskloop-2.C: New test.
11249 * testsuite/libgomp.c++/taskloop-3.C: New test.
11250 * testsuite/libgomp.c++/taskloop-4.C: New test.
11251 * testsuite/libgomp.c++/taskloop-5.C: New test.
11252 * testsuite/libgomp.c++/taskloop-6.C: New test.
11253 * testsuite/libgomp.c++/taskloop-7.C: New test.
11254 * testsuite/libgomp.c++/taskloop-8.C: New test.
11255 * testsuite/libgomp.c++/taskloop-9.C: New test.
11256 * testsuite/libgomp.fortran/affinity1.f90: New test.
11257 * testsuite/libgomp.fortran/affinity2.f90: New test.
11258
11259 2015-10-13 Tom de Vries <tom (a] codesourcery.com>
11260
11261 PR tree-optimization/67476
11262 * testsuite/libgomp.c/autopar-3.c: New test.
11263 * testsuite/libgomp.c/autopar-4.c: New test.
11264 * testsuite/libgomp.c/autopar-5.c: New test.
11265 * testsuite/libgomp.c/autopar-6.c: New test.
11266 * testsuite/libgomp.c/autopar-7.c: New test.
11267 * testsuite/libgomp.c/autopar-8.c: New test.
11268
11269 2015-10-12 James Norris <jnorris (a] codesourcery.com>
11270
11271 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
11272 initializer.
11273
11274 2015-10-09 David Malcolm <dmalcolm (a] redhat.com>
11275
11276 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
11277 using load_gcc_lib.
11278
11279 2015-10-02 Thomas Schwinge <thomas (a] codesourcery.com>
11280
11281 * oacc-ptx.h: Remove file, moving its content into...
11282 * config/nvptx/fortran.c: ... here...
11283 * config/nvptx/oacc-init.c: ..., here...
11284 * config/nvptx/oacc-parallel.c: ..., and here.
11285 * config/nvptx/openacc.f90: New file.
11286 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
11287 (link_ptx): Don't link in predefined bits of PTX code.
11288
11289 2015-09-30 Nathan Sidwell <nathan (a] codesourcery.com>
11290 Bernd Schmidt <bernds (a] codesourcery.com>
11291
11292 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
11293 (struct targ_ptx_obj): New.
11294 (nvptx_tdata): Move earlier, change data format.
11295 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
11296 objects.
11297 (GOMP_OFFLOAD_load_image): Adjust.
11298
11299 2015-09-30 Thomas Schwinge <thomas (a] codesourcery.com>
11300
11301 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
11302 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11303 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11304 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11305 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11306 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11307 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11308 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11309 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11310 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11311 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11312 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11313 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11314 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11315 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11316 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11317 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11318 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11319 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11320 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11321 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11322 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11323 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11324 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11325 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11326 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11327 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11328 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11329 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11330 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11331 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11332 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11333 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11334 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11335 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11336 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11337 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11338 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11339 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11340 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11341 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11342 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11343 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11344 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11345 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11346 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11347 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11348 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11349 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11350 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11351 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11352 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11353 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11354 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11355 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11356 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11357 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11358 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11359 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11360 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11361 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11362 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11363 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11364
11365 2015-09-29 Nathan Sidwell <nathan (a] codesourcery.com>
11366
11367 * oacc-init.c (acc_on_device): Force optimization level.
11368
11369 2015-09-29 Nathan Sidwell <nathan (a] codesourcery.com>
11370
11371 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
11372 (cuda_errlist): Delete.
11373 (cuda_error): Reimplement.
11374
11375 2015-09-28 Nathan Sidwell <nathan (a] codesourcery.com>
11376
11377 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
11378 array.
11379 * libgomp.map (GOACC_parallel_keyed): New.
11380 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
11381 all callers.
11382 (GOACC_parallel_keyed): New interface. Lose geometry arguments
11383 and take keyed varargs list. Adjust call to exec_func.
11384 (GOACC_parallel): Force host fallback.
11385 * libgomp_g.h (GOACC_parallel): Remove.
11386 (GOACC_parallel_keyed): Declare.
11387 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
11388 (struct targ_gn_descriptor): Replace name field with launch field.
11389 (nvptx_exec): Lose separate geometry args, take array. Process
11390 dynamic dimensions and adjust.
11391 (struct nvptx_tdata): Replace fn_names field with fn_descs.
11392 (GOMP_OFFLOAD_load_image): Adjust for change in function table
11393 data.
11394 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
11395 passing.
11396 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
11397 passing.
11398
11399 2015-09-22 Chung-Lin Tang <cltang (a] codesourcery.com>
11400
11401 PR libgomp/67141
11402 * oacc-int.h (goacc_host_init): Add declaration.
11403 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
11404 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
11405
11406 2015-09-08 Aditya Kumar <hiraditya (a] msn.com>
11407 Sebastian Pop <s.pop (a] samsung.com>
11408
11409 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
11410 match o/p.
11411 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
11412 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
11413 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
11414 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
11415 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
11416
11417 2015-09-03 Jakub Jelinek <jakub (a] redhat.com>
11418
11419 * configure.tgt: Add missing ;; in between nvptx and rtems
11420 snippets.
11421
11422 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11423
11424 * config/posix/pool.h (gomp_adjust_thread_attr): New.
11425 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
11426 (gomp_thread_pool_reservoir): Add priority member.
11427 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
11428 priority.
11429 (parse_thread_pools): Likewise.
11430 * team.c (gomp_team_start): Call configuration provided
11431 gomp_adjust_thread_attr(). Destroy thread attributes if
11432 necessary.
11433 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
11434
11435 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11436
11437 * config/posix/pool.h: New.
11438 * config/rtems/pool.h: Likewise.
11439 * config/rtems/proc.c: Likewise.
11440 * libgomp.h (gomp_thread_destructor): Declare.
11441 * team.c: Include configuration provided "pool.h".
11442 (gomp_get_thread_pool): Define in configuration.
11443 (gomp_team_end): Call configuration defined
11444 gomp_release_thread_pool().
11445
11446 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11447
11448 * config/rtems/bar.c: New.
11449 * config/rtems/bar.h: Likewise.
11450 * config/rtems/mutex.c: Likewise.
11451 * config/rtems/mutex.h: Likewise.
11452 * config/rtems/sem.c: Likewise.
11453 * config/rtems/sem.h: Likewise.
11454 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
11455 <sys/lock.h> header file.
11456 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
11457 supported by Newlib.
11458 * configure: Regenerate.
11459
11460 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11461
11462 * team.c (gomp_new_thread_pool): Delete and move content to ...
11463 (gomp_get_thread_pool): ... new function. Allocate and
11464 initialize thread pool on demand.
11465 (get_last_team): Use gomp_get_thread_pool().
11466 (gomp_team_start): Delete thread pool initialization.
11467
11468 2015-09-03 Tom de Vries <tom (a] codesourcery.com>
11469
11470 PR tree-optimization/65637
11471 * testsuite/libgomp.c/autopar-2.c: New test.
11472
11473 2015-08-29 Tom de Vries <tom (a] codesourcery.com>
11474
11475 PR tree-optimization/46193
11476 * testsuite/libgomp.c/pr46193.c: New test.
11477
11478 2015-08-24 Nathan Sidwell <nathan (a] codesourcery.com>
11479
11480 libgomp/
11481 * libgomp.map: Add 4.0.2 version.
11482 * target.c (offload_image_descr): Add version field.
11483 (gomp_load_image_to_device): Add version argument. Adjust plugin
11484 call. Improve load mismatch diagnostic.
11485 (gomp_unload_image_from_device): Add version argument. Adjust plugin
11486 call.
11487 (GOMP_offload_regster): Make stub function, move bulk to ...
11488 (GOMP_offload_register_ver): ... here. Process version argument.
11489 (GOMP_offload_unregister): Make stub function, move bulk to ...
11490 (GOMP_offload_unregister_ver): ... here. Process version argument.
11491 (gomp_init_device): Process version field.
11492 (gomp_unload_device): Process version field.
11493 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
11494 macros. Check plugin version.
11495 * libgomp.h (gomp_device_descr): Add version function field. Adjust
11496 loader and unloader types.
11497 * oacc-host.c: Include gomp-constants.h.
11498 (host_version): New.
11499 (host_load_image, host_unload_image): Adjust.
11500 (host_dispatch): Add host_version.
11501 * plugin/plugin-nvptx.c: Include gomp-constants.h.
11502 (GOMP_OFFLOAD_version): New.
11503 (GOMP_OFFLOAD_load_image): Add version arg and check it.
11504 (GOMP_OFFLOAD_unload_image): Likewise.
11505 * plugin/plugin-host.c: Include gomp-constants.h.
11506 (GOMP_OFFLOAD_version): New.
11507 (GOMP_OFFLOAD_load_image): Add version arg.
11508 (GOMP_OFFLOAD_unload_image): Likewise.
11509
11510 2015-08-24 Tom de Vries <tom (a] codesourcery.com>
11511
11512 PR tree-optimization/65468
11513 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
11514
11515 2015-08-24 Tom de Vries <tom (a] codesourcery.com>
11516
11517 PR tree-optimization/65468
11518 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
11519
11520 2015-08-24 Joost VandeVondele <vondele (a] gnu.gcc.org>
11521
11522 PR libgomp/66761
11523 PR libgomp/67303
11524 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
11525 (gomp_iter_guided_next): Idem.
11526 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
11527 (gomp_iter_ull_guided_next): Idem.
11528 * config/linux/wait.h (do_spin): Idem.
11529
11530 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com>
11531
11532 * libgomp-plugin.h (enum offload_target_type): Remove
11533 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
11534 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
11535 * openacc.h (enum acc_device_t): Likewise.
11536 * openacc_lib.h: Likewise.
11537 * oacc-init.c (name_of_acc_device_t): Don't handle it.
11538 (acc_on_device): Just use __builtin_acc_on_device.
11539 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
11540 of acc_on_device builtin.
11541 * plugin/plugin-host.h: Remove file.
11542 * plugin/plugin-host.c: Likewise, but salvage some content into...
11543 * oacc-host.c: ... this file.
11544 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
11545 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
11546 * Makefile.in: Regenerate.
11547 * configure: Likewise.
11548 * testsuite/lib/libgomp.exp
11549 (check_effective_target_openacc_host_nonshm_selected): Remove.
11550 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
11551 ACC_DEVICE_TYPE=host_nonshm.
11552 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11553 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11554 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11555 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11556 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11557 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11558
11559 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com>
11560 Jakub Jelinek <jakub (a] redhat.com>
11561
11562 * config/nvptx/affinity.c: New file.
11563 * config/nvptx/alloc.c: Likewise.
11564 * config/nvptx/bar.c: Likewise.
11565 * config/nvptx/barrier.c: Likewise.
11566 * config/nvptx/critical.c: Likewise.
11567 * config/nvptx/env.c: Likewise.
11568 * config/nvptx/error.c: Likewise.
11569 * config/nvptx/fortran.c: Likewise.
11570 * config/nvptx/iter.c: Likewise.
11571 * config/nvptx/iter_ull.c: Likewise.
11572 * config/nvptx/libgomp-plugin.c: Likewise.
11573 * config/nvptx/lock.c: Likewise.
11574 * config/nvptx/loop.c: Likewise.
11575 * config/nvptx/loop_ull.c: Likewise.
11576 * config/nvptx/mutex.c: Likewise.
11577 * config/nvptx/oacc-async.c: Likewise.
11578 * config/nvptx/oacc-cuda.c: Likewise.
11579 * config/nvptx/oacc-host.c: Likewise.
11580 * config/nvptx/oacc-init.c: Likewise.
11581 * config/nvptx/oacc-mem.c: Likewise.
11582 * config/nvptx/oacc-parallel.c: Likewise.
11583 * config/nvptx/oacc-plugin.c: Likewise.
11584 * config/nvptx/omp-lock.h: Likewise.
11585 * config/nvptx/ordered.c: Likewise.
11586 * config/nvptx/parallel.c: Likewise.
11587 * config/nvptx/proc.c: Likewise.
11588 * config/nvptx/ptrlock.c: Likewise.
11589 * config/nvptx/sections.c: Likewise.
11590 * config/nvptx/sem.c: Likewise.
11591 * config/nvptx/single.c: Likewise.
11592 * config/nvptx/splay-tree.c: Likewise.
11593 * config/nvptx/target.c: Likewise.
11594 * config/nvptx/task.c: Likewise.
11595 * config/nvptx/team.c: Likewise.
11596 * config/nvptx/time.c: Likewise.
11597 * config/nvptx/work.c: Likewise.
11598 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
11599 * configure: Regenerate.
11600 * configure.tgt (config_path): Set to "nvptx" for target
11601 nvptx*-*-*.
11602
11603 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com>
11604
11605 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
11606
11607 2015-08-03 Nathan Sidwell <nathan (a] codesourcery.com>
11608
11609 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
11610 (cuda_errlist): Constify.
11611 (errmsg): Move into ...
11612 (cuda_error): ... here. Make smaller.
11613 (_XSTR, _STR): Delete.
11614 (cuda_synames): Delete.
11615 (verify_device_library): Delete.
11616 (nvptx_init): Don't call it.
11617
11618 2015-07-28 Tom de Vries <tom (a] codesourcery.com>
11619
11620 * testsuite/libgomp.c/uns-outer-4.c: New test.
11621
11622 2015-07-24 Cesar Philippidis <cesar (a] codesourcery.com>
11623
11624 * testsuite/libgomp.c/pr66714.c: New test.
11625
11626 2015-07-22 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
11627
11628 PR libgomp/66950
11629 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
11630 (fib_ref): New function.
11631 (fib): Correct corner cases in the recursion.
11632 (main): Replace the non-simd loop with fib_ref call.
11633 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
11634 subroutine.
11635 (fibonacci): Lower the parameter N to 30. Correct accordingly check
11636 for the last array element value. Replace the non-simd loop with
11637 fib_ref call. Remove redundant b_ref array. Remove the comparison
11638 of the last array element with according Fibonacci sequence element.
11639 (fib): Correct corner cases in the recursion.
11640
11641 2015-07-21 Nathan Sidwell <nathan (a] codesourcery.com>
11642
11643 * target.c (gomp_offload_image_to_device): Rename to ...
11644 (gomp_load_image_to_device): ... here.
11645 (GOMP_offload_register): Adjust call.
11646 (gomp_init_device): Likewise.
11647 (gomp_unload_image_from_device): New. Broken out of ...
11648 (GOMP_offload_unregister): ... here. Call it.
11649 (gomp_unload_device): New.
11650 * libgomp.h (gomp_unload_device): Declare.
11651 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
11652 mem maps.
11653
11654 2015-07-20 Nathan Sidwell <nathan (a] codesourcery.com>
11655
11656 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
11657 wait=-specific if.
11658 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
11659 !=0 condition.
11660 (goacc_waits): Move !num_waits handling to ...
11661 (GOACC_wait): ... here, the only caller that might have zero waits.
11662
11663 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
11664 (struct ptx_image_data): Move earlier, add fns field.
11665 (struct ptx_device): Add images and image_lock fields.
11666 (ptx_images, ptx_image_lock): Delete.
11667 (nvptx_open_device): Initialize images and image_lock fields.
11668 (nvptx_close_device): Destroy image_lock.
11669 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
11670 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
11671 fields.
11672
11673 2015-07-17 Nathan Sidwell <nathan (a] codesourcery.com>
11674
11675 * target.c (GOMP_offload_register): Use int for device type arg.
11676 (GOMP_offload_unregister): Likewise.
11677
11678 * target.c (struct_offload_image_descr): Constify host_table.
11679 (gomp_offload_image_to_device): Likewise.
11680 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
11681
11682 * libgomp.h (gomp_device_descr): Constify target data arguments.
11683 * target.c (struct offload_image_descr): Constify target_data.
11684 (gomp_offload_image_to_device): Likewise.
11685 (GOMP_offload_register): Likewise.
11686 (GOMP_offload_unregister): Likewise.
11687 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
11688 GOMP_OFFLOAD_unload_image): Constify target data.
11689 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
11690 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
11691
11692 2015-07-16 Nathan Sidwell <nathan (a] codesourcery.com>
11693
11694 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
11695 Workaround driver library const error.
11696 (struct nvptx_tdata, nvptx_tdata_t): New.
11697 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
11698 type.
11699
11700 2015-07-15 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
11701
11702 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
11703 of EPS parameter from integer to real.
11704 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
11705 type of EPS parameter from integer to real.
11706
11707 2015-07-15 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11708
11709 * team.c (get_last_team): New.
11710 (gomp_new_team): Recycle last non-nested team if possible.
11711 (gomp_team_end): Move team work share list free lock destruction
11712 to ...
11713 (free_team): ... here.
11714
11715 2015-07-14 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
11716
11717 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
11718 and ref from int to double. Replaced their comparison with
11719 an inequality of their difference and EPS.
11720 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
11721 comparison of pri and a reference number with an inequality of their
11722 difference and EPS.
11723 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
11724 the comparison of sum and sum_ref with an inequality of their
11725 difference and EPS.
11726 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
11727 the comparison of pri and a reference number with an inequality of
11728 their difference and EPS.
11729
11730 2015-07-13 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
11731
11732 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
11733 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
11734 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
11735 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
11736 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
11737 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
11738 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
11739 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
11740 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
11741 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
11742 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
11743 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
11744 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
11745 variables.
11746 (vec_mult): Likewise. Add #pragma omp taskwait.
11747 (main): Adjust caller.
11748 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
11749 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
11750 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
11751 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
11752 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
11753 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
11754 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
11755 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
11756 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
11757 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
11758 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
11759 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
11760 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
11761 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
11762 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
11763 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
11764 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
11765 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
11766 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
11767 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
11768 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
11769 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
11770 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
11771 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
11772 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
11773 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
11774 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
11775 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
11776 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
11777 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
11778 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
11779 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
11780 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
11781 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
11782 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
11783 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
11784 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
11785 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
11786 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
11787 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
11788 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
11789 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
11790 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
11791 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
11792 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
11793 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
11794 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
11795 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
11796 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
11797 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
11798 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
11799 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
11800 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
11801 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
11802 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
11803 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
11804 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
11805 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
11806 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
11807 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
11808 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
11809 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
11810 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
11811 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
11812 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
11813 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
11814 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
11815 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
11816 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
11817 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
11818 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
11819 (vec_mult): Add !$omp taskwait.
11820 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
11821 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
11822 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
11823 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
11824 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
11825 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
11826 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
11827 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
11828 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
11829 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
11830 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
11831 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
11832 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
11833 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
11834 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
11835 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
11836 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
11837 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
11838 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
11839 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
11840 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
11841 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
11842 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
11843 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
11844 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
11845 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
11846 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
11847 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
11848 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
11849 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
11850 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
11851 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
11852 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
11853 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
11854 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
11855 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
11856 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
11857 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
11858 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
11859 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
11860 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
11861 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
11862 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
11863 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
11864 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
11865 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
11866 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
11867 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
11868 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
11869 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
11870 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
11871 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
11872 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
11873 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
11874 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
11875 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
11876 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
11877 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
11878 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
11879 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
11880 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
11881 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
11882 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
11883 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
11884 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
11885 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
11886 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
11887
11888 2015-07-10 Tom de Vries <tom (a] codesourcery.com>
11889
11890 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
11891 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
11892
11893 2015-07-08 Thomas Schwinge <thomas (a] codesourcery.com>
11894
11895 PR libgomp/65099
11896 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
11897 in a 64-bit configuration.
11898 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
11899 offloading testing if no such device is available.
11900 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11901 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11902
11903 2015-07-08 Tom de Vries <tom (a] codesourcery.com>
11904
11905 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
11906 second call to f.
11907 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11908
11909 2015-07-07 Tom de Vries <tom (a] codesourcery.com>
11910
11911 PR tree-optimization/66642
11912 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
11913 iteration count case.
11914 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
11915 function, factor out of ...
11916 (main): ... here. Test low iteration count case.
11917
11918 2015-07-06 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
11919
11920 * libgomp.h (gomp_thread_pool): Comment last_team field.
11921
11922 2015-07-02 Uros Bizjak <ubizjak (a] gmail.com>
11923
11924 * testsuite/libgomp.c++/pr66702-1.C: Require
11925 vect_simd_clones effective target.
11926 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
11927
11928 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
11929
11930 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11931 already set. Use DEFAULT_CFLAGS in dg-runtest.
11932 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
11933 "-O2".
11934
11935 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
11936
11937 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11938 already set. Use DEFAULT_CFLAGS in dg-runtest.
11939 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
11940 * testsuite/libgomp.c++/pr64824.C: Same.
11941 * testsuite/libgomp.c++/pr64868.C: Same.
11942 * testsuite/libgomp.c++/pr66199-1.C: Same.
11943 * testsuite/libgomp.c++/pr66199-2.C: Same.
11944 * testsuite/libgomp.c++/target-2.C: Same.
11945 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
11946 -std=<standard> option.
11947 * testsuite/libgomp.c++/udr-11.C: Same.
11948 * testsuite/libgomp.c++/udr-12.C: Same.
11949 * testsuite/libgomp.c++/udr-13.C: Same.
11950 * testsuite/libgomp.c++/udr-14.C: Same.
11951 * testsuite/libgomp.c++/udr-15.C: Same.
11952 * testsuite/libgomp.c++/udr-16.C: Same.
11953 * testsuite/libgomp.c++/udr-17.C: Same.
11954 * testsuite/libgomp.c++/udr-18.C: Same.
11955 * testsuite/libgomp.c++/udr-19.C: Same.
11956 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
11957 * testsuite/libgomp.c++/simd-1.C: Same.
11958 * testsuite/libgomp.c++/simd-2.C: Same.
11959 * testsuite/libgomp.c++/simd-3.C: Same.
11960 * testsuite/libgomp.c++/simd-4.C: Same.
11961 * testsuite/libgomp.c++/simd-5.C: Same.
11962 * testsuite/libgomp.c++/simd-6.C: Same.
11963 * testsuite/libgomp.c++/simd-7.C: Same.
11964 * testsuite/libgomp.c++/simd-8.C: Same.
11965 * testsuite/libgomp.c++/simd-9.C: Same.
11966 * testsuite/libgomp.c++/simd10.C: Same.
11967 * testsuite/libgomp.c++/simd11.C: Same.
11968 * testsuite/libgomp.c++/simd12.C: Same.
11969 * testsuite/libgomp.c++/simd13.C: Same.
11970
11971 2015-06-30 Jakub Jelinek <jakub (a] redhat.com>
11972
11973 PR middle-end/66702
11974 * testsuite/libgomp.c++/pr66702-1.C: New test.
11975 * testsuite/libgomp.c++/pr66702-2.C: New test.
11976
11977 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
11978
11979 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
11980 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
11981 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
11982 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
11983
11984 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
11985
11986 PR tree-optimization/66652
11987 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
11988 using restrict pointers.
11989 (main): Add arguments to calls to f.
11990 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11991
11992 2015-06-23 Andreas Tobler <andreast (a] gcc.gnu.org>
11993
11994 * configure.ac: Fix check for header <sys/sysctl.h>.
11995 * configure: Regenerate.
11996 * config.h.in: Likewise.
11997
11998 2015-06-23 Tom de Vries <tom (a] codesourcery.com>
11999
12000 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
12001 abort.
12002 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
12003
12004 2015-06-19 Thomas Schwinge <thomas (a] codesourcery.com>
12005
12006 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
12007 acc_device_nvidia.
12008
12009 PR libgomp/66518
12010 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
12011 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12012
12013 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
12014
12015 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
12016 dg-additional-options for any remaining options.
12017 * testsuite/libgomp.c/atomic-2.c: Same.
12018 * testsuite/libgomp.c/atomic-4.c: Same.
12019 * testsuite/libgomp.c/atomic-5.c: Same.
12020 * testsuite/libgomp.c/atomic-6.c: Same.
12021 * testsuite/libgomp.c/autopar-1.c: Same.
12022 * testsuite/libgomp.c/copyin-1.c: Same.
12023 * testsuite/libgomp.c/copyin-2.c: Same.
12024 * testsuite/libgomp.c/copyin-3.c: Same.
12025 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
12026 * testsuite/libgomp.c/nestedfn-5.c: Same.
12027 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
12028 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
12029 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
12030 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12031 * testsuite/libgomp.c/pr32362-1.c: Same.
12032 * testsuite/libgomp.c/pr32362-2.c: Same.
12033 * testsuite/libgomp.c/pr32362-3.c: Same.
12034 * testsuite/libgomp.c/pr39591-1.c: Same.
12035 * testsuite/libgomp.c/pr39591-2.c: Same.
12036 * testsuite/libgomp.c/pr39591-3.c: Same.
12037 * testsuite/libgomp.c/pr58392.c: Same.
12038 * testsuite/libgomp.c/pr58756.c: Same.
12039 * testsuite/libgomp.c/simd-1.c: Same.
12040 * testsuite/libgomp.c/simd-10.c: Same.
12041 * testsuite/libgomp.c/simd-11.c: Same.
12042 * testsuite/libgomp.c/simd-12.c: Same.
12043 * testsuite/libgomp.c/simd-13.c: Same.
12044 * testsuite/libgomp.c/simd-14.c: Same.
12045 * testsuite/libgomp.c/simd-15.c: Same.
12046 * testsuite/libgomp.c/simd-2.c: Same.
12047 * testsuite/libgomp.c/simd-3.c: Same.
12048 * testsuite/libgomp.c/simd-4.c: Same.
12049 * testsuite/libgomp.c/simd-5.c: Same.
12050 * testsuite/libgomp.c/simd-6.c: Same.
12051 * testsuite/libgomp.c/simd-7.c: Same.
12052 * testsuite/libgomp.c/simd-8.c: Same.
12053 * testsuite/libgomp.c/simd-9.c: Same.
12054
12055 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
12056
12057 * testsuite/libgomp.c/pr35625.c: Fix typo.
12058
12059 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
12060
12061 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
12062 in dg-options.
12063 * testsuite/libgomp.c/atomic-3.c: Same.
12064 * testsuite/libgomp.c/debug-1.c: Same.
12065 * testsuite/libgomp.c/nqueens-1.c: Same.
12066 * testsuite/libgomp.c/pr26171.c: Same.
12067 * testsuite/libgomp.c/pr48591.c: Same.
12068 * testsuite/libgomp.c/pr64824.c: Same.
12069 * testsuite/libgomp.c/pr64868.c: Same.
12070 * testsuite/libgomp.c/pr66133.c: Same.
12071 * testsuite/libgomp.c/pr66199-1.c: Same.
12072 * testsuite/libgomp.c/pr66199-2.c: Same.
12073 * testsuite/libgomp.c/target-8.c: Same.
12074
12075 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
12076
12077 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
12078 -std={gnu99,c99}.
12079 * testsuite/libgomp.c/for-1.c: Same.
12080 * testsuite/libgomp.c/for-2.c: Same.
12081 * testsuite/libgomp.c/for-3.c: Same.
12082 * testsuite/libgomp.c/pr35625.c: Same.
12083 * testsuite/libgomp.c/pr39154.c: Same.
12084 * testsuite/libgomp.c/simd-16.c: Same.
12085 * testsuite/libgomp.c/simd-17.c: Same.
12086
12087 2015-06-13 Tom de Vries <tom (a] codesourcery.com>
12088
12089 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
12090
12091 2015-06-13 Tom de Vries <tom (a] codesourcery.com>
12092
12093 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
12094 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12095 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
12096 (N): Define.
12097 (main): Use N instead of hardcoded constants.
12098
12099 2015-06-05 Tom de Vries <tom (a] codesourcery.com>
12100
12101 merge from gomp4 branch:
12102 2015-05-28 Tom de Vries <tom (a] codesourcery.com>
12103
12104 PR tree-optimization/65443
12105 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
12106 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
12107 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
12108
12109 2015-05-29 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org>
12110
12111 * testsuite/libgomp.graphite/bounds.c: Adjust for
12112 cleanup-tree-dump removal.
12113 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
12114 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12115 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12116 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12117 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12118 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12119 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12120 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12121 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12122 * testsuite/libgomp.graphite/pr41118.c: Likewise.
12123
12124 2015-05-28 Uros Bizjak <ubizjak (a] gmail.com>
12125
12126 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
12127 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
12128 (futex_wake) [!__x86_64__]: Ditto.
12129
12130 2015-05-28 Julian Brown <julian (a] codesourcery.com>
12131
12132 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
12133 function comment. Only call gomp_fatal if new argument is true.
12134 (acc_dev_num_out_of_range): New function.
12135 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
12136 acc_dev_num_out_of_range as appropriate.
12137 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12138 (acc_get_device_num, acc_set_device_num): Update calls to
12139 resolve_device.
12140 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
12141 output.
12142
12143 2015-05-28 Julian Brown <julian (a] codesourcery.com>
12144
12145 PR libgomp/65742
12146 * oacc-init.c (plugin/plugin-host.h): Include.
12147 (acc_on_device): Check whether we're in an offloaded region for
12148 host_nonshm
12149 plugin. Don't use __builtin_acc_on_device.
12150 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
12151 nonshm_exec flag in thread-local data.
12152 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
12153 data for host_nonshm plugin.
12154 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
12155 for host_nonshm plugin.
12156 * plugin/plugin-host.h: New.
12157
12158 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com>
12159
12160 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
12161
12162 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com>
12163
12164 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
12165 Declare as int.
12166 (FUTEX_PRIVATE_FLAG): Remove L suffix.
12167 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
12168 Declare as int.
12169
12170 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com>
12171
12172 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
12173
12174 2015-05-27 Chung-Lin Tang <cltang (a] codesourcery.com>
12175
12176 * target.c (gomp_map_pointer): New function abstracting out
12177 GOMP_MAP_POINTER handling.
12178 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
12179 gomp_map_pointer().
12180
12181 2015-05-19 Jakub Jelinek <jakub (a] redhat.com>
12182
12183 PR middle-end/66199
12184 * testsuite/libgomp.c/pr66199-1.c: New test.
12185 * testsuite/libgomp.c/pr66199-2.c: New test.
12186 * testsuite/libgomp.c++/pr66199-1.C: New test.
12187 * testsuite/libgomp.c++/pr66199-2.C: New test.
12188 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
12189 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
12190
12191 2015-05-19 Julian Brown <julian (a] codesourcery.com>
12192
12193 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
12194 on cuInit failure.
12195
12196 2015-05-13 Jakub Jelinek <jakub (a] redhat.com>
12197
12198 PR middle-end/66133
12199 * testsuite/libgomp.c/pr66133.c: New test.
12200
12201 2015-05-13 Michael Haubenwallner <michael.haubenwallner (a] ssi-schaefer.com>
12202
12203 * Makefile.in: Regenerated with automake-1.11.6.
12204 * aclocal.m4: Likewise.
12205 * config.h.in: Likewise.
12206 * configure: Likewise.
12207 * testsuite/Makefile.in: Likewise.
12208
12209 2015-05-08 Jason Merrill <jason (a] redhat.com>
12210
12211 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
12212 _Complex.
12213
12214 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
12215
12216 2015-05-06 Julian Brown <julian (a] codesourcery.com>
12217
12218 * oacc-init.c (acc_device_lock): Add explanatory comment.
12219 (resolve_device): Add comment about locking requirement.
12220 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
12221 gomp_init_device and gomp_fini_device calls.
12222 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12223 (acc_get_device_num, acc_set_device_num): Add locking around
12224 resolve_device and gomp_init_device calls.
12225
12226 2015-05-06 Julian Brown <julian (a] codesourcery.com>
12227
12228 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
12229 goacc_thread_lock on error paths.
12230 * oacc-mem.c (lookup_host): Remove locking from function. Note
12231 locking requirement for caller in function comment.
12232 (lookup_dev): Likewise.
12233 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
12234 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
12235 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
12236 Add locking.
12237
12238 2015-05-05 Thomas Schwinge <thomas (a] codesourcery.com>
12239
12240 PR testsuite/65205
12241 PR libgomp/65993
12242 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
12243 don't expect "0x" prefix for "%p" format specifier, don't expect
12244 "(nil)" for NULL pointer.
12245 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12246 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12247 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12248 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12249 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12250 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12251 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12252 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12253 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12254 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12255 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12256 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12257 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12258 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12259 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12260 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12261 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12262 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12263 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12264 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12265 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12266 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12267 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12268 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12269 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12270 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12271 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12272 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12273 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
12274 accurately specify what we're looking for.
12275 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12276 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12277 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12278 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12279 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12280
12281 2015-04-30 James Norris <jnorris (a] codesourcery.com>
12282
12283 PR testsuite/65205
12284 * testsuite/lib/libgomp.exp
12285 (check_effective_target_openacc_host_selected)
12286 (check_effective_target_openacc_host_nonshm_selected): New
12287 procedures.
12288 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
12289 dg-shouldfail.
12290 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12291 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12292 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12293 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12294 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12295 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12296 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12297 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12298 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12299 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12300 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12301 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12302 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12303 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12304 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12305 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12306 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12307 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12308 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12309 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12310 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12311 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12312 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12313 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12314 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12315 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12316 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12317 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12318 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12319 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12320 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12321 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12322 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12323 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12324 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12325 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12326 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12327 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12328 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12329 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12330 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12331 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12332 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12333
12334 2015-04-08 Julian Brown <julian (a] codesourcery.com>
12335
12336 * libgomp.h (target_mem_desc: Remove mem_map field.
12337 (acc_dispatch_t): Remove open_device_func, close_device_func,
12338 get_device_num_func, set_device_num_func, target_data members.
12339 Change create_thread_data_func argument to device number instead of
12340 generic pointer.
12341 * oacc-async.c (assert.h): Include.
12342 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
12343 (acc_wait_all, acc_wait_all_async): Use current host thread's
12344 active device, not base_dev.
12345 * oacc-cuda.c (acc_get_current_cuda_device)
12346 (acc_get_current_cuda_context, acc_get_cuda_stream)
12347 (acc_set_cuda_stream): Likewise.
12348 * oacc-host.c (host_dispatch): Don't set open_device_func,
12349 close_device_func, get_device_num_func or set_device_num_func.
12350 * oacc-init.c (base_dev, init_key): Remove.
12351 (cached_base_dev): New.
12352 (name_of_acc_device_t): New.
12353 (acc_init_1): Initialise default-numbered device, not zeroth.
12354 (acc_shutdown_1): Close all devices of a given type.
12355 (goacc_destroy_thread): Don't use base_dev.
12356 (lazy_open, lazy_init, lazy_init_and_open): Remove.
12357 (goacc_attach_host_thread_to_device): New.
12358 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
12359 (acc_get_num_devices): Don't use base_dev.
12360 (acc_set_device_type): Reimplement.
12361 (acc_get_device_type): Don't use base_dev.
12362 (acc_get_device_num): Tweak logic.
12363 (acc_set_device_num): Likewise.
12364 (acc_on_device): Use acc_get_device_type.
12365 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
12366 (goacc_lazy_initialize): Reimplement with acc_init and
12367 goacc_attach_host_thread_to_device.
12368 * oacc-int.h (goacc_thread): Add base_dev field.
12369 (base_dev): Remove extern declaration.
12370 (goacc_attach_host_thread_to_device): Add prototype.
12371 * oacc-mem.c (acc_malloc): Use current thread's device instead of
12372 base_dev.
12373 (acc_free): Likewise.
12374 (acc_memcpy_to_device): Likewise.
12375 (acc_memcpy_from_device): Likewise.
12376 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
12377 goacc_lazy_initialize (throughout).
12378 (GOACC_parallel): Use tgt_offset to locate target functions.
12379 * target.c (gomp_map_vars): Don't set tgt->mem_map.
12380 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
12381 (gomp_load_plugin_for_device): Remove open_device, close_device,
12382 get_device_num, set_device_num openacc hook initialisation. Don't set
12383 openacc.target_data.
12384 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
12385 (GOMP_OFFLOAD_openacc_close_device)
12386 (GOMP_OFFLOAD_openacc_get_device_num)
12387 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
12388 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
12389 to int.
12390 * plugin/plugin-nvptx.c (ptx_inited): Remove.
12391 (instantiated_devices, ptx_dev_lock): New.
12392 (struct ptx_image_data): New.
12393 (ptx_devices, ptx_images, ptx_image_lock): New.
12394 (fini_streams_for_device): Reorder cuStreamDestroy call.
12395 (nvptx_get_num_devices): Remove forward declaration.
12396 (nvptx_init): Change return type to bool.
12397 (nvptx_fini): Remove.
12398 (nvptx_attach_host_thread_to_device): New.
12399 (nvptx_open_device): Return struct ptx_device* instead of void*.
12400 (nvptx_close_device): Change argument type to struct ptx_device*,
12401 return type to void.
12402 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
12403 (kernel_target_data, kernel_host_table): Remove static globals.
12404 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
12405 (GOMP_OFFLOAD_init_device): Reimplement.
12406 (GOMP_OFFLOAD_fini_device): Likewise.
12407 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
12408 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
12409 (GOMP_OFFLOAD_host2dev): Use ORD argument.
12410 (GOMP_OFFLOAD_openacc_open_device)
12411 (GOMP_OFFLOAD_openacc_close_device)
12412 (GOMP_OFFLOAD_openacc_set_device_num)
12413 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
12414 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
12415 (device number).
12416
12417 testsuite/
12418 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
12419
12420 2015-04-06 Ilya Verbin <ilya.verbin (a] intel.com>
12421
12422 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
12423 * libgomp.h (struct gomp_memory_mapping): Remove.
12424 (struct target_mem_desc): Change type of mem_map from
12425 gomp_memory_mapping * to splay_tree_s *.
12426 (struct gomp_device_descr): Remove register_image_func, get_table_func.
12427 Add load_image_func, unload_image_func.
12428 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
12429 Remove offload_regions_registered.
12430 (gomp_init_tables): Remove.
12431 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12432 to splay_tree_s *.
12433 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
12434 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
12435 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
12436 offload_regions_registered.
12437 Initialize load_image_func, unload_image_func, mem_map.root.
12438 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
12439 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
12440 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
12441 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
12442 gomp_memory_mapping *. Use dev's lock and splay_tree.
12443 (lookup_dev): Use dev's lock.
12444 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
12445 (acc_is_present): Likewise.
12446 (acc_map_data): Likewise.
12447 (acc_unmap_data): Likewise. Use dev's lock.
12448 (present_create_copy): Likewise.
12449 (delete_copyout): Pass dev to lookup_host instead of mem_map.
12450 (update_dev_host): Likewise.
12451 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
12452 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
12453 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
12454 (GOMP_OFFLOAD_get_table): Remove
12455 (GOMP_OFFLOAD_load_image): New function.
12456 (GOMP_OFFLOAD_unload_image): New function.
12457 * target.c (register_lock): New mutex for offload image registration.
12458 (num_devices): Do not guard with PLUGIN_SUPPORT.
12459 (gomp_realloc_unlock): New static function.
12460 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
12461 before gomp_fatal.
12462 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
12463 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
12464 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
12465 mem_map's.
12466 (gomp_unmap_vars): Likewise.
12467 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
12468 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
12469 (gomp_offload_image_to_device): New static function.
12470 (GOMP_offload_register): Add mutex lock.
12471 Call gomp_offload_image_to_device for all initialized devices.
12472 Replace gomp_realloc with gomp_realloc_unlock.
12473 (GOMP_offload_unregister): New function.
12474 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
12475 get_table_func from the plugin with calls to init_device_func and
12476 gomp_offload_image_to_device.
12477 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12478 to splay_tree_s *.
12479 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
12480 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
12481 (GOMP_target_data): Do not call gomp_init_tables.
12482 (GOMP_target_update): Likewise. Remove argument from gomp_update.
12483 (gomp_load_plugin_for_device): Replace register_image and get_table
12484 with load_image and unload_image in DLSYM ().
12485 (gomp_register_images_for_device): Remove function.
12486 (gomp_target_init): Do not initialize current_device.mem_map.*,
12487 current_device.offload_regions_registered.
12488 Remove call to gomp_register_images_for_device.
12489 Do not free offload_images and num_offload_images.
12490
12491 2015-03-30 Jakub Jelinek <jakub (a] redhat.com>
12492
12493 PR fortran/65597
12494 * testsuite/libgomp.fortran/pr65597.f90: New test.
12495
12496 2015-03-27 Tom de Vries <tom (a] codesourcery.com>
12497
12498 PR testsuite/65594
12499 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
12500 (init, check): New function.
12501 (foo): Change return type to void.
12502 (main): Call init and check.
12503
12504 2015-03-27 Tom de Vries <tom (a] codesourcery.com>
12505
12506 PR testsuite/65594
12507 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
12508 (foo): Use M for non-inner loops to scale down test-case.
12509
12510 2015-03-25 Kai Tietz <ktietz (a] redhat.com>
12511
12512 PR libgomp/64972
12513 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
12514 (GOACC_data_start): Likewise.
12515 * target.c (gomp_map_vars): Likewise.
12516
12517 2015-03-21 John David Anglin <danglin (a] gcc.gnu.org>
12518
12519 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
12520 hppa*-*-hpux*.
12521
12522 2015-03-19 Jakub Jelinek <jakub (a] redhat.com>
12523
12524 * testsuite/libgomp.c/target-10.c: New test.
12525 * testsuite/libgomp.c++/target-4.C: New test.
12526
12527 2015-03-13 Ilya Verbin <ilya.verbin (a] intel.com>
12528
12529 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
12530 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
12531
12532 2015-03-13 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
12533
12534 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
12535 * configure.ac (*-*-rtems*): Assume Pthread is supported.
12536 (pthread.h): Check for this header file.
12537 * configure: Regenerate.
12538
12539 2015-02-25 Tom de Vries <tom (a] codesourcery.com>
12540
12541 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
12542 (check_reduction_op, check_reduction_macro, max, min):
12543 Declare.
12544 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
12545 function.
12546 (main): Use new functions.
12547
12548 2015-02-18 Ilya Tocar <ilya.tocar (a] intel.com>
12549
12550 * target.c (gomp_load_plugin_for_device): Use const char * instead of
12551 char * for variables holding dlerror return values.
12552 (DLSYM_OPT): Ditto.
12553
12554 2015-02-17 Thomas Schwinge <thomas (a] codesourcery.com>
12555
12556 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
12557
12558 2015-02-17 Thomas Schwinge <thomas (a] codesourcery.com>
12559 Cesar Philippidis <cesar (a] codesourcery.com>
12560
12561 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
12562 GOACC_ctaid, and GOACC_nctaid routines.
12563
12564 2015-02-11 Jakub Jelinek <jakub (a] redhat.com>
12565
12566 PR c/64824
12567 * testsuite/libgomp.c/atomic-18.c: New test.
12568 * testsuite/libgomp.c++/atomic-16.C: New test.
12569
12570 2015-02-04 Jakub Jelinek <jakub (a] redhat.com>
12571
12572 PR c/64824
12573 PR c/64868
12574 * testsuite/libgomp.c/pr64824.c: New test.
12575 * testsuite/libgomp.c/pr64868.c: New test.
12576 * testsuite/libgomp.c++/pr64824.C: New test.
12577 * testsuite/libgomp.c++/pr64868.C: New test.
12578
12579 2015-02-01 David Edelsohn <dje.gcc (a] gmail.com>
12580
12581 PR libgomp/64635
12582 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
12583 Link with -lpthread.
12584 * config/aix/plugin-suffix.h: Delete.
12585
12586 2015-01-28 Jack Howarth <howarth.at.gcc (a] gmail.com>
12587
12588 PR libgomp/64635
12589 * configure.tgt (*-*-aix*): Use config_path "aix posix".
12590 (*-*-darwin*): Use config_path "bsd darwin posix".
12591 (*-*-hpux*): Use config_path "hpux posix".
12592 * target.c: Add include of plugin-suffix.h and use
12593 SONAME_SUFFIX macro.
12594 * config/aix/plugin-suffix.h: New file.
12595 * config/darwin/plugin-suffix.h: New file.
12596 * config/hpux/plugin-suffix.h: New file.
12597 * config/posix/plugin-suffix.h: New file.
12598
12599 2015-01-23 Jakub Jelinek <jakub (a] redhat.com>
12600
12601 PR middle-end/64734
12602 * libgomp.c/pr64734.c: New test.
12603
12604 2015-01-23 Tom de Vries <tom (a] codesourcery.com>
12605
12606 PR libgomp/64672
12607 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
12608
12609 2015-01-23 Tom de Vries <tom (a] codesourcery.com>
12610
12611 PR libgomp/64707
12612 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
12613 dg-options.
12614
12615 2015-01-19 Thomas Schwinge <thomas (a] codesourcery.com>
12616
12617 PR libgomp/64625
12618 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
12619 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
12620 formal parameter. Update all users.
12621 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
12622 Document unused formal parameter.
12623
12624 2015-01-16 Thomas Schwinge <thomas (a] codesourcery.com>
12625
12626 * oacc-parallel.c: Don't include <alloca.h>.
12627 (GOACC_parallel): Use gomp_alloca instead of alloca.
12628
12629 2015-01-16 Gerald Pfeifer <gerald (a] pfeifer.com>
12630
12631 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
12632
12633 2015-01-15 Thomas Schwinge <thomas (a] codesourcery.com>
12634 James Norris <jnorris (a] codesourcery.com>
12635 Tom de Vries <tom (a] codesourcery.com>
12636 Julian Brown <julian (a] codesourcery.com>
12637 Cesar Philippidis <cesar (a] codesourcery.com>
12638 Nathan Sidwell <nathan (a] codesourcery.com>
12639 Tobias Burnus <burnus (a] net-b.de>
12640
12641 * Makefile.am (search_path): Add $(top_srcdir)/../include.
12642 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
12643 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
12644 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
12645 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
12646 Include $(top_srcdir)/plugin/Makefrag.am.
12647 (nodist_libsubinclude_HEADERS): Add openacc.h.
12648 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
12649 openacc.f90, openacc.mod, openacc_kinds.mod.
12650 (omp_lib.mod): Generalize into...
12651 (%.mod): ... this new rule.
12652 (openacc_kinds.mod, openacc.mod): New rules.
12653 * plugin/configfrag.ac: New file.
12654 * configure.ac: Move plugin/offloading support into it. Include
12655 it. Instantiate testsuite/libgomp-test-support.pt.exp.
12656 * plugin/Makefrag.am: New file.
12657 * testsuite/Makefile.am (OFFLOAD_TARGETS)
12658 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
12659 export.
12660 (libgomp-test-support.exp): New rule.
12661 (all-local): Depend on it.
12662 * Makefile.in: Regenerate.
12663 * testsuite/Makefile.in: Regenerate.
12664 * config.h.in: Likewise.
12665 * configure: Likewise.
12666 * configure.tgt: Harden shell syntax.
12667 * env.c: Include "oacc-int.h".
12668 (parse_acc_device_type): New function.
12669 (gomp_debug_var, goacc_device_type, goacc_device_num): New
12670 variables.
12671 (initialize_env): Initialize those. Call
12672 goacc_runtime_initialize.
12673 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
12674 (gomp_fatal): Call gomp_vfatal.
12675 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
12676 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
12677 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
12678 (splay_tree_node, splay_tree, splay_tree_key)
12679 (struct target_mem_desc, struct splay_tree_key_s)
12680 (struct gomp_memory_mapping, struct acc_dispatch_t)
12681 (struct gomp_device_descr, gomp_acc_insert_pointer)
12682 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
12683 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
12684 (gomp_free_memmap, gomp_fini_device): New declarations.
12685 (gomp_vdebug, gomp_debug): New macros.
12686 Include "splay-tree.h".
12687 * libgomp.map (OACC_2.0): New symbol version. Use for
12688 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
12689 acc_set_device_type_h_, acc_get_device_type,
12690 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
12691 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
12692 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
12693 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
12694 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
12695 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
12696 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
12697 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
12698 acc_copyin_array_h_, acc_present_or_copyin,
12699 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
12700 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
12701 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
12702 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
12703 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
12704 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
12705 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
12706 acc_update_device, acc_update_device_32_h_,
12707 acc_update_device_64_h_, acc_update_device_array_h_,
12708 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
12709 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
12710 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
12711 acc_is_present_64_h_, acc_is_present_array_h_,
12712 acc_memcpy_to_device, acc_memcpy_from_device,
12713 acc_get_current_cuda_device, acc_get_current_cuda_context,
12714 acc_get_cuda_stream, acc_set_cuda_stream.
12715 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
12716 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
12717 GOACC_update, GOACC_wait, GOACC_get_thread_num,
12718 GOACC_get_num_threads.
12719 (GOMP_PLUGIN_1.0): New symbol version. Use for
12720 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
12721 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
12722 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
12723 GOMP_PLUGIN_acc_thread.
12724 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
12725 environment variable.
12726 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
12727 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
12728 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
12729 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
12730 (splay_tree_remove): New declarations.
12731 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
12732 (splay_tree_remove, splay_tree_lookup): Move into...
12733 * splay-tree.c: ... this new file.
12734 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
12735 (splay_tree_node, splay_tree, splay_tree_key)
12736 (struct target_mem_desc, struct splay_tree_key_s)
12737 (struct gomp_device_descr): Don't declare.
12738 (num_devices_openmp): New variable.
12739 (gomp_get_num_devices ): Use it.
12740 (gomp_init_targets_once): New function.
12741 (gomp_get_num_devices ): Use it.
12742 (get_kind, gomp_copy_from_async, gomp_free_memmap)
12743 (gomp_fini_device, gomp_register_image_for_device): New functions.
12744 (gomp_map_vars): Add devaddrs parameter.
12745 (gomp_update): Add mm parameter.
12746 (gomp_init_device): Move most of it into...
12747 (gomp_init_tables): ... this new function.
12748 (gomp_register_images_for_device): Remove function.
12749 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
12750 Make them hidden instead of static.
12751 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
12752 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
12753 (GOMP_target_end_data, GOMP_target_update)
12754 (gomp_load_plugin_for_device, gomp_target_init): Update for
12755 OpenACC changes.
12756 * oacc-async.c: New file.
12757 * oacc-cuda.c: Likewise.
12758 * oacc-host.c: Likewise.
12759 * oacc-init.c: Likewise.
12760 * oacc-int.h: Likewise.
12761 * oacc-mem.c: Likewise.
12762 * oacc-parallel.c: Likewise.
12763 * oacc-plugin.c: Likewise.
12764 * oacc-plugin.h: Likewise.
12765 * oacc-ptx.h: Likewise.
12766 * openacc.f90: Likewise.
12767 * openacc.h: Likewise.
12768 * openacc_lib.h: Likewise.
12769 * plugin/plugin-host.c: Likewise.
12770 * plugin/plugin-nvptx.c: Likewise.
12771 * libgomp-plugin.c: Likewise.
12772 * libgomp-plugin.h: Likewise.
12773 * libgomp_target.h: Remove file after merging content into the
12774 former file. Update all users.
12775 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
12776 (offload_targets_s, offload_targets_s_openacc): New variables.
12777 (check_effective_target_openacc_nvidia_accel_present)
12778 (check_effective_target_openacc_nvidia_accel_selected): New
12779 procedures.
12780 (libgomp_init): Update for OpenACC changes.
12781 * testsuite/libgomp-test-support.exp.in: New file.
12782 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
12783 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12784 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12785 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
12786 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
12787 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
12788 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
12789 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
12790 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12791 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
12792 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
12793 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
12794 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
12795 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12796 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
12797 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12798 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
12799 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
12800 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
12801 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
12802 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
12803 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
12804 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
12805 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
12806 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12807 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
12808 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
12809 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
12810 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
12811 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
12812 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12813 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12814 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12815 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
12816 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
12817 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12818 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
12819 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12820 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
12821 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
12822 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
12823 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
12824 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12825 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12826 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12827 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
12828 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12829 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12830 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12831 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12832 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12833 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
12834 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12835 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12836 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12837 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12838 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12839 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12840 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12841 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
12842 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
12843 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
12844 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12845 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12846 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12847 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
12848 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
12849 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12850 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12851 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12852 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
12853 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12854 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12855 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12856 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
12857 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
12858 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12859 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12860 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
12861 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
12862 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
12863 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
12864 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12865 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12866 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12867 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
12868 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
12869 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12870 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12871 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
12872 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
12873 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
12874 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
12875 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12876 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12877 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12878 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12879 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
12880 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12881 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12882 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
12883 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
12884 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
12885 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12886 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
12887 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
12888 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
12889 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
12890 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
12891 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12892 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
12893 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
12894 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12895 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
12896 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
12897 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
12898 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
12899 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
12900 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
12901 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
12902 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
12903 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
12904 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
12905 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
12906 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
12907 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
12908 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
12909 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
12910 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
12911 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
12912 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
12913 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
12914 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12915 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
12916 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
12917 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12918 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12919 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12920 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12921 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
12922 Likewise.
12923 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
12924 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
12925 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
12926 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
12927 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
12928 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
12929 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12930 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12931 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12932 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12933 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12934 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12935 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12936 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
12937 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
12938 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
12939 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
12940 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
12941 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
12942 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
12943 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
12944 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
12945 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
12946 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
12947 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12948 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
12949 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12950 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12951 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
12952 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
12953 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
12954 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
12955 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
12956 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12957 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
12958 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
12959 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
12960 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
12961 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
12962 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
12963 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
12964 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
12965 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
12966 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
12967 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
12968 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
12969 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
12970 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12971 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12972 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12973 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12974 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12975 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12976 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12977 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12978 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12979 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12980 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12981 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12982 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12983
12984 2015-01-10 Thomas Schwinge <thomas (a] codesourcery.com>
12985 Julian Brown <julian (a] codesourcery.com>
12986 David Malcolm <dmalcolm (a] redhat.com>
12987
12988 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
12989 to "GNU Offloading and Multi Processing Runtime Library". Change
12990 all users.
12991 * configure: Regenerate.
12992 * libgomp.texi: Update.
12993
12994 2015-01-08 Thomas Schwinge <thomas (a] codesourcery.com>
12995
12996 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
12997 "$tgt_dir/lib32".
12998 * configure: Regenerate.
12999
13000 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
13001 "intelmic" in $offload_targets.
13002
13003 2015-01-05 Jakub Jelinek <jakub (a] redhat.com>
13004
13005 Update copyright years.
13006
13007 * libgomp.texi: Bump @copying's copyright year.
13008
13009 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov (a] arm.com>
13010
13011 * testsuite/lib/libgomp.exp: Load target-utils.exp.
13012 Move load of target-supports.exp earlier.
13013
13014 2014-12-10 Ilya Verbin <ilya.verbin (a] intel.com>
13015
13016 * testsuite/libgomp.c/target-9.c: New test.
13017
13018 2014-12-09 Varvara Rainchik <varvara.rainchik (a] intel.com>
13019
13020 * config.h.in: Regenerate.
13021 * configure: Regenerate.
13022 * configure.ac: Add GCC_CHECK_EMUTLS.
13023 * libgomp.h: Add check for USE_EMUTLS: this case
13024 is equal to HAVE_TLS.
13025 * team.c: Likewise.
13026
13027 2014-12-03 Uros Bizjak <ubizjak (a] gmail.com>
13028
13029 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
13030
13031 2014-11-28 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
13032 Ilya Verbin <ilya.verbin (a] intel.com>
13033
13034 * testsuite/libgomp.c/target-critical-1.c: New test.
13035
13036 2014-11-26 Jakub Jelinek <jakub (a] redhat.com>
13037
13038 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
13039 to dg-options unless expensive testing is on.
13040 (TESTITERS): Define to N if not defined.
13041 (main): Use TESTITERS instead of N.
13042 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
13043 dg-additional-options depending on whether expensive testing is on.
13044 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
13045 Decrease N to 100000 and CHUNKSZ to 10000.
13046
13047 2014-11-24 Jakub Jelinek <jakub (a] redhat.com>
13048
13049 PR fortran/63938
13050 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
13051 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
13052
13053 2014-11-21 Steve Ellcey <sellcey (a] imgtec.com>
13054
13055 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
13056
13057 2014-11-21 H.J. Lu <hongjiu.lu (a] intel.com>
13058
13059 PR bootstrap/63784
13060 * configure: Regenerated.
13061
13062 2014-11-19 Uros Bizjak <ubizjak (a] gmail.com>
13063
13064 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
13065 vect_simd_clones effective target.
13066 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13067
13068 2014-11-14 Jakub Jelinek <jakub (a] redhat.com>
13069
13070 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
13071 of 32 as block_size.
13072 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
13073 instead of 32 as block_size.
13074
13075 2014-11-13 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
13076 Ilya Verbin <ilya.verbin (a] intel.com>
13077
13078 * Makefile.in: Regenerate.
13079 * configure: Regenerate.
13080 * configure.ac: Set up offload_additional_options,
13081 offload_additional_lib_paths and offload_targets.
13082 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
13083 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
13084 * testsuite/Makefile.in: Regenerate.
13085 * testsuite/lib/libgomp.exp (libgomp_init): Append
13086 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
13087 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
13088 build directory to LD_LIBRARY_PATH for intelmic offload targets.
13089
13090 2014-11-13 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
13091 Ilya Verbin <ilya.verbin (a] intel.com>
13092 Kirill Yukhin <kirill.yukhin (a] intel.com>
13093 Ilya Tocar <ilya.tocar (a] intel.com>
13094
13095 * testsuite/lib/libgomp.exp
13096 (check_effective_target_offload_device): New.
13097 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
13098 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
13099 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
13100 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
13101 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
13102 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
13103 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
13104 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
13105 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
13106 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
13107 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
13108 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
13109 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
13110 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
13111 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
13112 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
13113 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
13114 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
13115 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
13116 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
13117 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
13118 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
13119 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
13120 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
13121 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
13122 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
13123 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
13124 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
13125 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
13126 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
13127 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
13128 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
13129 * testsuite/libgomp.c/target-7.c: Fix test.
13130 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
13131 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
13132 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
13133 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
13134 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
13135 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
13136 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
13137 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
13138 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
13139 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
13140 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
13141 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
13142 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
13143 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
13144 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
13145 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
13146 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
13147 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
13148 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13149 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
13150 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
13151 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
13152 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
13153 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
13154 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
13155 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
13156 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
13157 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
13158 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
13159 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
13160 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
13161
13162 2014-11-13 Jakub Jelinek <jakub (a] redhat.com>
13163 Ilya Verbin <ilya.verbin (a] intel.com>
13164 Thomas Schwinge <thomas (a] codesourcery.com>
13165 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
13166
13167 * libgomp.map (GOMP_4.0.1): New symbol version.
13168 Add GOMP_offload_register.
13169 * libgomp_target.h: New file.
13170 * splay-tree.h: New file.
13171 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
13172 (gomp_target_init): New forward declaration.
13173 (gomp_is_initialized): New static variable.
13174 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
13175 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
13176 New structures.
13177 (offload_images, num_offload_images, devices, num_devices): New static
13178 variables.
13179 (splay_compare): New static function.
13180 (struct gomp_device_descr): New structure.
13181 (gomp_get_num_devices): Call gomp_target_init.
13182 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
13183 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
13184 (GOMP_offload_register): New function.
13185 (GOMP_target): Arrange for host callback to be performed in a separate
13186 initial thread and contention group, inheriting ICVs from
13187 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
13188 Add device initialization and lookup for target function in splay tree.
13189 (GOMP_target_data): Add device initialization and call gomp_map_vars.
13190 (GOMP_target_end_data): Call gomp_unmap_vars.
13191 (GOMP_target_update): Add device initialization and call gomp_update.
13192 (gomp_load_plugin_for_device, gomp_register_images_for_device)
13193 (gomp_target_init): New static functions.
13194
13195 2014-11-13 Bernd Schmidt <bernds (a] codesourcery.com>
13196 Thomas Schwinge <thomas (a] codesourcery.com>
13197 Ilya Verbin <ilya.verbin (a] intel.com>
13198 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
13199
13200 * config.h.in: Regenerate.
13201 * configure: Regenerate.
13202 * configure.ac: Check for libdl, required for plugin support.
13203 (PLUGIN_SUPPORT): Define if plugins are supported.
13204 (enable_offload_targets): Support Intel MIC targets.
13205 (OFFLOAD_TARGETS): List of target names suitable for offloading.
13206
13207 2014-11-11 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
13208
13209 PR target/63610
13210 * configure: Regenerate.
13211
13212 2014-11-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
13213
13214 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
13215
13216 2014-10-06 Marek Polacek <polacek (a] redhat.com>
13217
13218 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
13219 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
13220 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
13221 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13222
13223 2014-10-06 Marek Polacek <polacek (a] redhat.com>
13224
13225 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
13226 * testsuite/libgomp.c/nqueens-1.c: Likewise.
13227 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13228 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13229 * testsuite/libgomp.c/pr36802-2.c: Likewise.
13230 * testsuite/libgomp.c/pr36802-3.c: Likewise.
13231 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
13232 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13233 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
13234 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
13235 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
13236 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
13237 * testsuite/libgomp.c/omp-single-1.c: Likewise.
13238 * testsuite/libgomp.c/omp-single-2.c: Likewise.
13239 * testsuite/libgomp.c/omp_matvec.c: Likewise.
13240 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
13241 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
13242 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
13243 declarations.
13244
13245 2014-10-03 Jakub Jelinek <jakub (a] redhat.com>
13246
13247 PR libgomp/61200
13248 * testsuite/libgomp.c/pr61200.c: New test.
13249
13250 2014-09-18 Jakub Jelinek <jakub (a] redhat.com>
13251
13252 PR c++/63248
13253 * testsuite/libgomp.c++/pr63248.C: New test.
13254
13255 2014-08-04 Jakub Jelinek <jakub (a] redhat.com>
13256
13257 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
13258 is not zero, but taskgroup->children is NULL and there are
13259 any task->children, schedule those instead of waiting.
13260 * testsuite/libgomp.c/depend-6.c: New test.
13261 * testsuite/libgomp.c/depend-7.c: New test.
13262 * testsuite/libgomp.c/depend-8.c: New test.
13263 * testsuite/libgomp.c/depend-9.c: New test.
13264 * testsuite/libgomp.c/depend-10.c: New test.
13265
13266 2014-08-01 Jakub Jelinek <jakub (a] redhat.com>
13267
13268 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
13269 (struct gomp_taskwait): New type.
13270 (struct gomp_task): Add taskwait and parent_depends_on, remove
13271 in_taskwait and taskwait_sem fields.
13272 (gomp_finish_task): Don't destroy taskwait_sem.
13273 * task.c (gomp_init_task): Don't init in_taskwait, instead init
13274 taskwait and parent_depends_on.
13275 (GOMP_task): For if (0) tasks with depend clause that depend on
13276 earlier tasks don't defer them, instead call
13277 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
13278 Initialize redundant_out field, for redundant out entries just
13279 move them at the end of linked list instead of removing them
13280 completely, and set redundant_out flag instead of redundant.
13281 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
13282 that task.
13283 (gomp_task_run_post_handle_dependers): If parent is in
13284 gomp_task_maybe_wait_for_dependencies and newly runnable task
13285 is not parent_depends_on, queue it in parent->children linked
13286 list after all runnable tasks with parent_depends_on set.
13287 Adjust for addition of taskwait indirection.
13288 (gomp_task_run_post_remove_parent): If parent is in
13289 gomp_task_maybe_wait_for_dependencies and task to be removed
13290 is parent_depends_on, decrement n_depend and if needed awake
13291 parent. Adjust for addition of taskwait indirection.
13292 (GOMP_taskwait): Adjust for addition of taskwait indirection.
13293 (gomp_task_maybe_wait_for_dependencies): New function.
13294 * testsuite/libgomp.c/depend-5.c: New test.
13295
13296 2014-07-13 Tobias Burnus <burnus (a] net-b.de>
13297
13298 * testsuite/libgomp.fortran/pr34020.f90: Make compile
13299 with TS 18508/Fortran 2015.
13300
13301 2014-07-06 Marek Polacek <polacek (a] redhat.com>
13302
13303 PR c/6940
13304 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
13305
13306 2014-07-03 Jakub Jelinek <jakub (a] redhat.com>
13307
13308 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
13309 matches regex $lang_source_re, add $lang_include_flags to options.
13310 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
13311 * testsuite/libgomp.c++/c++.exp: Likewise.
13312 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
13313 and lang_include_flags instead of adding -fintrinsic-modules-path= to
13314 ALWAYS_CFLAGS.
13315 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
13316
13317 2014-07-03 Thomas Schwinge <thomas (a] codesourcery.com>
13318
13319 * testsuite/libgomp.fortran/fortran.exp: Explain
13320 gfortran-dg-runtest usage.
13321
13322 2014-06-25 Jakub Jelinek <jakub (a] redhat.com>
13323
13324 * testsuite/libgomp.fortran/simd5.f90: New test.
13325 * testsuite/libgomp.fortran/simd6.f90: New test.
13326 * testsuite/libgomp.fortran/simd7.f90: New test.
13327
13328 2014-06-24 Jakub Jelinek <jakub (a] redhat.com>
13329
13330 * testsuite/libgomp.c/for-2.c: Define SC to static for
13331 #pragma omp for simd testing.
13332 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
13333 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
13334 SC macro.
13335 * testsuite/libgomp.c/simd-14.c: New test.
13336 * testsuite/libgomp.c/simd-15.c: New test.
13337 * testsuite/libgomp.c/simd-16.c: New test.
13338 * testsuite/libgomp.c/simd-17.c: New test.
13339 * testsuite/libgomp.c++/for-10.C: Define SC to static for
13340 #pragma omp for simd testing.
13341 * testsuite/libgomp.c++/simd10.C: New test.
13342 * testsuite/libgomp.c++/simd11.C: New test.
13343 * testsuite/libgomp.c++/simd12.C: New test.
13344 * testsuite/libgomp.c++/simd13.C: New test.
13345
13346 * testsuite/libgomp.fortran/aligned1.f03: New test.
13347 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
13348 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
13349 tasks with !$omp parallel !$omp single.
13350 * testsuite/libgomp.fortran/target8.f90: New test.
13351 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
13352 not to use trim in the combiner, instead call elemental function.
13353 (fn): New elemental function.
13354 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
13355 Make elemental.
13356 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
13357 omp_in): Likewise.
13358 * testsuite/libgomp.fortran/udr12.f90: New test.
13359 * testsuite/libgomp.fortran/udr13.f90: New test.
13360 * testsuite/libgomp.fortran/udr14.f90: New test.
13361 * testsuite/libgomp.fortran/udr15.f90: New test.
13362
13363 2014-06-18 Jakub Jelinek <jakub (a] redhat.com>
13364
13365 * omp_lib.f90.in (openmp_version): Set to 201307.
13366 * omp_lib.h.in (openmp_version): Likewise.
13367 * testsuite/libgomp.c/target-8.c: New test.
13368 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
13369 and inbranch clauses.
13370 * testsuite/libgomp.fortran/depend-3.f90: New test.
13371 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
13372 openmp_version.
13373 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13374 * testsuite/libgomp.fortran/target1.f90: New test.
13375 * testsuite/libgomp.fortran/target2.f90: New test.
13376 * testsuite/libgomp.fortran/target3.f90: New test.
13377 * testsuite/libgomp.fortran/target4.f90: New test.
13378 * testsuite/libgomp.fortran/target5.f90: New test.
13379 * testsuite/libgomp.fortran/target6.f90: New test.
13380 * testsuite/libgomp.fortran/target7.f90: New test.
13381
13382 2014-06-10 Jakub Jelinek <jakub (a] redhat.com>
13383
13384 PR fortran/60928
13385 * testsuite/libgomp.fortran/allocatable9.f90: New test.
13386 * testsuite/libgomp.fortran/allocatable10.f90: New test.
13387 * testsuite/libgomp.fortran/allocatable11.f90: New test.
13388 * testsuite/libgomp.fortran/allocatable12.f90: New test.
13389 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
13390 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
13391 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
13392 * testsuite/libgomp.fortran/associate1.f90: New test.
13393 * testsuite/libgomp.fortran/associate2.f90: New test.
13394 * testsuite/libgomp.fortran/procptr1.f90: New test.
13395
13396 2014-06-06 Jakub Jelinek <jakub (a] redhat.com>
13397
13398 * testsuite/libgomp.fortran/simd1.f90: New test.
13399 * testsuite/libgomp.fortran/udr1.f90: New test.
13400 * testsuite/libgomp.fortran/udr2.f90: New test.
13401 * testsuite/libgomp.fortran/udr3.f90: New test.
13402 * testsuite/libgomp.fortran/udr4.f90: New test.
13403 * testsuite/libgomp.fortran/udr5.f90: New test.
13404 * testsuite/libgomp.fortran/udr6.f90: New test.
13405 * testsuite/libgomp.fortran/udr7.f90: New test.
13406 * testsuite/libgomp.fortran/udr8.f90: New test.
13407 * testsuite/libgomp.fortran/udr9.f90: New test.
13408 * testsuite/libgomp.fortran/udr10.f90: New test.
13409 * testsuite/libgomp.fortran/udr11.f90: New test.
13410
13411 2014-05-27 Uros Bizjak <ubizjak (a] gmail.com>
13412
13413 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
13414 vect_simd_clones effective target.
13415 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
13416
13417 2014-05-21 Jakub Jelinek <jakub (a] redhat.com>
13418
13419 PR middle-end/61252
13420 * testsuite/libgomp.c++/simd-9.C: New test.
13421
13422 2014-05-18 Uros Bizjak <ubizjak (a] gmail.com>
13423
13424 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
13425 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
13426 texts according to their @menu entry positions.
13427
13428 2014-05-11 Jakub Jelinek <jakub (a] redhat.com>
13429
13430 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
13431 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
13432 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
13433 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
13434 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
13435 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
13436 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
13437 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
13438 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
13439 * testsuite/libgomp.fortran/depend-1.f90: New test.
13440 * testsuite/libgomp.fortran/depend-2.f90: New test.
13441 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
13442 * testsuite/libgomp.fortran/simd1.f90: New test.
13443 * testsuite/libgomp.fortran/simd2.f90: New test.
13444 * testsuite/libgomp.fortran/simd3.f90: New test.
13445 * testsuite/libgomp.fortran/simd4.f90: New test.
13446 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
13447
13448 2014-05-02 Jakub Jelinek <jakub (a] redhat.com>
13449
13450 * testsuite/libgomp.c/simd-10.c: New test.
13451 * testsuite/libgomp.c/simd-11.c: New test.
13452 * testsuite/libgomp.c/simd-12.c: New test.
13453 * testsuite/libgomp.c/simd-13.c: New test.
13454
13455 2014-04-24 Jakub Jelinek <jakub (a] redhat.com>
13456
13457 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
13458 atomic type clauses in any order and optional comma in between.
13459 * testsuite/libgomp.c++/atomic-15.C: Likewise.
13460 * testsuite/libgomp.c/atomic-17.c: Likewise.
13461
13462 * testsuite/libgomp.c/simd-7.c: New test.
13463 * testsuite/libgomp.c/simd-8.c: New test.
13464 * testsuite/libgomp.c/simd-9.c: New test.
13465 * testsuite/libgomp.c/loop-16.c: New test.
13466
13467 2014-04-02 Richard Henderson <rth (a] redhat.com>
13468
13469 * config/linux/futex.h (futex_wait): Get error value from errno.
13470 (futex_wake): Likewise.
13471
13472 2014-03-25 Jakub Jelinek <jakub (a] redhat.com>
13473
13474 PR c++/60331
13475 * testsuite/libgomp.c++/udr-11.C: New test.
13476 * testsuite/libgomp.c++/udr-12.C: New test.
13477 * testsuite/libgomp.c++/udr-13.C: New test.
13478 * testsuite/libgomp.c++/udr-14.C: New test.
13479 * testsuite/libgomp.c++/udr-15.C: New test.
13480 * testsuite/libgomp.c++/udr-16.C: New test.
13481 * testsuite/libgomp.c++/udr-17.C: New test.
13482 * testsuite/libgomp.c++/udr-18.C: New test.
13483 * testsuite/libgomp.c++/udr-19.C: New test.
13484
13485 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com>
13486
13487 Update copyright years
13488
13489 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com>
13490
13491 * hashtab.h: Use the standard form for the copyright notice.
13492
13493 2014-01-02 Tobias Burnus <burnus (a] net-b.de>
13494
13495 * libgomp.texi: Bump @copying's copyright year.
13496
13497 2013-12-17 Andreas Tobler <andreast (a] gcc.gnu.org>
13498
13499 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
13500 alloca () with __builtin_alloca ().
13501 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
13502 * testsuite/libgomp.c/lock-3.c: Likewise.
13503 * testsuite/libgomp.c/pr48591.c: Likewise.
13504
13505 2013-12-17 Jakub Jelinek <jakub (a] redhat.com>
13506
13507 PR testsuite/59534
13508 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
13509 comparisons.
13510
13511 2013-12-16 Jakub Jelinek <jakub (a] redhat.com>
13512
13513 PR libgomp/58756
13514 * testsuite/libgomp.c/pr58756.c: New test.
13515
13516 2013-12-12 Jakub Jelinek <jakub (a] redhat.com>
13517
13518 PR libgomp/59467
13519 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
13520 !$omp parallel.
13521
13522 2013-11-07 Thomas Schwinge <thomas (a] codesourcery.com>
13523
13524 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
13525 ALWAYS_CFLAGS.
13526 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
13527 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
13528 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
13529 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
13530 Likewise.
13531
13532 * libgomp_g.h: Include <stddef.h> for size_t.
13533
13534 * libgomp.spec.in: Update comment about libgomp's dependencies.
13535 * configure.ac: Likewise.
13536 * configure: Regenerate.
13537
13538 2013-10-16 Tobias Burnus <burnus (a] net-b.de>
13539
13540 * libgomp.texi: (Runtime Library Routines): Update references for
13541 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
13542 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
13543 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
13544 (Environment Variables): Update references for OpenMP 4.0. Add
13545 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
13546 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
13547 order.
13548
13549 2013-10-14 Jakub Jelinek <jakub (a] redhat.com>
13550
13551 * env.c (parse_bind_var): Initialize value to avoid
13552 (false positive) warning.
13553
13554 2013-10-12 Jakub Jelinek <jakub (a] redhat.com>
13555
13556 PR libgomp/58691
13557 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
13558 to check variable.
13559 (gomp_init_num_threads): Move i variable declaration into
13560 #ifdef CPU_ALLOC_SIZE block.
13561 * config/linux/affinity.c (gomp_affinity_init_level): Test
13562 gomp_places_list_len == 0 rather than gomp_places_list == 0
13563 when checking for topology reading error.
13564 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
13565 * env.c (parse_affinity): Add ignore argument, if true, don't populate
13566 gomp_places_list, only parse env var and always return false.
13567 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
13568 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
13569 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
13570 and either of these variables were parsed correctly into a places
13571 list.
13572
13573 2013-10-11 Thomas Schwinge <thomas (a] codesourcery.com>
13574 Jakub Jelinek <jakub (a] redhat.com>
13575
13576 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
13577 of 5 loopfn matches.
13578 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13579 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13580 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
13581 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13582 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13583 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13584 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13585 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13586
13587 2013-10-11 Thomas Schwinge <thomas (a] codesourcery.com>
13588
13589 * Makefile.am (omp_lib.mod): Streamline rule.
13590 * Makefile.in: Regenerate.
13591
13592 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
13593 exceptions.
13594
13595 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
13596 * testsuite/libgomp.fortran/lib1.f90: Likewise.
13597 * testsuite/libgomp.fortran/lib2.f: Likewise.
13598 * testsuite/libgomp.fortran/lib3.f: Likewise.
13599
13600 * configure.ac: Typo fix.
13601 * configure: Regenerate.
13602
13603 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
13604 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13605
13606 * omp.h.in: Don't touch the user's namespace.
13607
13608 2013-10-11 Jakub Jelinek <jakub (a] redhat.com>
13609 Tobias Burnus <burnus (a] net-b.de>
13610 Richard Henderson <rth (a] redhat.com>
13611
13612 * target.c: New file.
13613 * Makefile.am (libgomp_la_SOURCES): Add target.c.
13614 * Makefile.in: Regenerated.
13615 * libgomp_g.h (GOMP_task): Add depend argument.
13616 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13617 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13618 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
13619 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13620 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13621 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
13622 GOMP_taskgroup_start, GOMP_taskgroup_end,
13623 GOMP_parallel_sections): New prototypes.
13624 * fortran.c (omp_is_initial_device): Add ialias_redirect.
13625 (omp_is_initial_device_): New function.
13626 (ULP, STR1, STR2, ialias_redirect): Removed.
13627 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
13628 omp_set_default_device_8_, omp_get_default_device_,
13629 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
13630 functions.
13631 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13632 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13633 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
13634 @@GOMP_4.0.
13635 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
13636 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
13637 omp_set_default_device, omp_set_default_device_,
13638 omp_set_default_device_8_, omp_get_default_device,
13639 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
13640 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
13641 omp_get_team_num_): Export @@OMP_4.0.
13642 * team.c (struct gomp_thread_start_data): Add place field.
13643 (gomp_thread_start): Clear thr->thread_pool and
13644 thr->task before returning. Use gomp_team_barrier_wait_final
13645 instead of gomp_team_barrier_wait. Initialize thr->place.
13646 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
13647 team_cancelled and task_queued_count fields.
13648 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
13649 before calling pthread_exit.
13650 (gomp_free_thread): No longer static. Use
13651 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
13652 (gomp_team_start): Add flags argument. Set
13653 thr->thread_pool->threads_busy to nthreads immediately after creating
13654 new pool. Use gomp_managed_threads_lock instead of
13655 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
13656 (gomp_team_end): Use gomp_managed_threads_lock instead of
13657 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
13658 of gomp_team_barrier_wait. If team->team_cancelled, call
13659 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
13660 rather than thr->ts.work_share.
13661 (initialize_team): Don't call gomp_sem_init here.
13662 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
13663 caller.
13664 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
13665 * env.c (gomp_global_icv): Add default_device_var, target_data and
13666 bind_var initializers.
13667 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13668 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13669 gomp_places_list_len): New variables.
13670 (parse_bind_var, parse_one_place, parse_places_var): New functions.
13671 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
13672 sized places.
13673 (gomp_cancel_var): New global variable.
13674 (parse_int): New function.
13675 (handle_omp_display_env): New function.
13676 (initialize_env): Use it. Initialize default_device_var.
13677 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
13678 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
13679 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
13680 been successfully parsed (and call gomp_init_affinity in that case).
13681 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13682 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13683 omp_get_team_num, omp_is_initial_device): New functions.
13684 * libgomp.h: Include stdlib.h.
13685 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
13686 Define.
13687 (struct target_mem_desc): Forward declare.
13688 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
13689 and thread_limit_var fields.
13690 (gomp_get_num_devices): New prototype.
13691 (gomp_cancel_var): New extern decl.
13692 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
13693 team_cancelled and task_queued_count fields. Add comments about
13694 task_{,queued_,running_}count.
13695 (gomp_cancel_kind): New enum.
13696 (gomp_work_share_end_cancel): New prototype.
13697 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
13698 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
13699 and depend fields.
13700 (struct gomp_taskgroup): New type.
13701 (struct gomp_task_depend_entry,
13702 struct gomp_dependers_vec): New types.
13703 (gomp_finish_task): Free depend_hash if non-NULL.
13704 (struct gomp_team_state): Add place_partition_off
13705 and place_partition_len fields.
13706 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13707 gomp_places_list_len): New extern decls.
13708 (struct gomp_thread): Add place field.
13709 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13710 (gomp_init_thread_affinity): Add place argument.
13711 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13712 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13713 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13714 gomp_affinity_init_level, gomp_affinity_print_place): New
13715 prototypes.
13716 (gomp_team_start): Add flags argument.
13717 (gomp_thread_limit_var, gomp_remaining_threads_count,
13718 gomp_remaining_threads_lock): Remove.
13719 (gomp_managed_threads_lock): New variable.
13720 (struct gomp_thread_pool): Add threads_busy field.
13721 (gomp_free_thread): New prototype.
13722 * task.c: Include hashtab.h.
13723 (hash_entry_type): New typedef.
13724 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
13725 (gomp_init_task): Clear dependers, depend_hash, depend_count,
13726 copy_ctors_done and taskgroup fields.
13727 (GOMP_task): Add depend argument, handle depend clauses. If
13728 gomp_team_barrier_cancelled or if it's taskgroup has been
13729 cancelled, don't queue or start new tasks. Set copy_ctors_done
13730 field if needed. Initialize taskgroup field. If copy_ctors_done
13731 and already cancelled, don't discard the task. If taskgroup is
13732 non-NULL, enqueue the task into taskgroup queue. Increment
13733 num_children field in taskgroup. Increment task_queued_count.
13734 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
13735 gomp_task_run_post_remove_taskgroup): New inline functions.
13736 (gomp_task_run_post_handle_depend_hash,
13737 gomp_task_run_post_handle_dependers,
13738 gomp_task_run_post_handle_depend): New functions.
13739 (GOMP_taskwait): Use them. If more than one new tasks
13740 have been queued, wake other threads if needed.
13741 (gomp_barrier_handle_tasks): Likewise. If
13742 gomp_team_barrier_cancelled, don't start any new tasks, just free
13743 all tasks.
13744 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
13745 * omp_lib.f90.in
13746 (omp_proc_bind_kind, omp_proc_bind_false,
13747 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13748 omp_proc_bind_spread): New params.
13749 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13750 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13751 omp_get_team_num, omp_is_initial_device): New interfaces.
13752 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
13753 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
13754 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
13755 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
13756 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
13757 useless use omp_lib_kinds.
13758 * omp.h.in (omp_proc_bind_t): New typedef.
13759 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13760 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13761 omp_get_team_num, omp_is_initial_device): New prototypes.
13762 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
13763 through to gomp_team_start.
13764 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
13765 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
13766 Adjust gomp_parallel_loop_start callers.
13767 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13768 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13769 GOMP_loop_end_cancel): New functions.
13770 (GOMP_parallel_end): Add ialias_redirect.
13771 * hashtab.h: New file.
13772 * libgomp.texi (Environment Variables): Minor cleanup,
13773 update section refs to OpenMP 4.0rc2.
13774 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
13775 environment variables.
13776 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
13777 team->work_shares_to_free to thr->ts.work_share before calling
13778 free_work_share.
13779 (gomp_work_share_end_cancel): New function.
13780 * config/linux/proc.c: Include errno.h.
13781 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
13782 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
13783 sizeof (cpu_set_t) to determine number of iterations. Fix up check
13784 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
13785 gomp_cpuset_size is sizeof (cpu_set_t).
13786 (gomp_init_num_threads): Initialize gomp_cpuset_size,
13787 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
13788 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
13789 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
13790 contain any logical CPUs.
13791 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
13792 is NULL. Use gomp_cpusetp instead of &cpuset and pass
13793 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
13794 pthread_getaffinity_np. Check gomp_places_list instead of
13795 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
13796 * config/linux/bar.c (gomp_barrier_wait_end,
13797 gomp_barrier_wait_last): Use BAR_* defines.
13798 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
13799 from state where needed. Set work_share_cancelled to 0 on last
13800 thread.
13801 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
13802 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
13803 functions.
13804 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
13805 Add cpusetsize argument.
13806 (gomp_cpuset_size, gomp_cpusetp): Declare.
13807 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
13808 (affinity_counter): Remove.
13809 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
13810 if CPU_ALLOC_SIZE isn't defined.
13811 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
13812 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
13813 bind current thread to the first place.
13814 (gomp_init_thread_affinity): Rewritten. Add place argument, just
13815 pthread_setaffinity_np to gomp_places_list[place].
13816 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13817 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13818 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13819 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
13820 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13821 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13822 (gomp_barrier_t): Add awaited_final field.
13823 (gomp_barrier_init): Initialize awaited_final field.
13824 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
13825 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
13826 prototypes.
13827 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
13828 defines.
13829 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
13830 gomp_team_barrier_cancelled): New inline functions.
13831 (gomp_barrier_last_thread,
13832 gomp_team_barrier_set_task_pending,
13833 gomp_team_barrier_clear_task_pending,
13834 gomp_team_barrier_set_waiting_for_tasks,
13835 gomp_team_barrier_waiting_for_tasks,
13836 gomp_team_barrier_done): Use BAR_* defines.
13837 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
13838 (gomp_barrier_wait_end): Use BAR_* defines.
13839 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
13840 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
13841 Use BAR_* defines.
13842 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
13843 gomp_team_barrier_cancel): New functions.
13844 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
13845 argument.
13846 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13847 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13848 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13849 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
13850 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13851 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13852 (gomp_barrier_t): Add cancellable field.
13853 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
13854 gomp_team_barrier_cancel): New prototypes.
13855 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
13856 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
13857 gomp_team_barrier_cancelled): New inline functions.
13858 (gomp_barrier_wait_start, gomp_barrier_last_thread,
13859 gomp_team_barrier_set_task_pending,
13860 gomp_team_barrier_clear_task_pending,
13861 gomp_team_barrier_set_waiting_for_tasks,
13862 gomp_team_barrier_waiting_for_tasks,
13863 gomp_team_barrier_done): Use BAR_* defines.
13864 * barrier.c (GOMP_barrier_cancel): New function.
13865 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
13866 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13867 omp_proc_bind_spread): New params.
13868 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13869 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13870 omp_get_team_num, omp_is_initial_device): New externals.
13871 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
13872 New functions.
13873 (gomp_resolve_num_threads): Adjust for thread_limit now being in
13874 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
13875 infinity. If not nested, just return minimum of max_num_threads
13876 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
13877 to the returned value. Otherwise, don't update atomically
13878 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
13879 (GOMP_parallel_end): Adjust for thread_limit now being in
13880 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
13881 infinity. Adjust threads_busy in the pool rather than
13882 gomp_remaining_threads_count. Remember team->nthreads and call
13883 gomp_team_end before adjusting threads_busy, if not nested
13884 afterwards, just set it to 1 non-atomically. Add ialias.
13885 (GOMP_parallel_start): Adjust gomp_team_start caller.
13886 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
13887 * testsuite/libgomp.c/affinity-1.c: New test.
13888 * testsuite/libgomp.c/atomic-15.c: New test.
13889 * testsuite/libgomp.c/atomic-16.c: New test.
13890 * testsuite/libgomp.c/atomic-17.c: New test.
13891 * testsuite/libgomp.c/cancel-for-1.c: New test.
13892 * testsuite/libgomp.c/cancel-for-2.c: New test.
13893 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
13894 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
13895 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
13896 * testsuite/libgomp.c/cancel-sections-1.c: New test.
13897 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
13898 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
13899 * testsuite/libgomp.c/depend-1.c: New test.
13900 * testsuite/libgomp.c/depend-2.c: New test.
13901 * testsuite/libgomp.c/depend-3.c: New test.
13902 * testsuite/libgomp.c/depend-4.c: New test.
13903 * testsuite/libgomp.c/for-1.c: New test.
13904 * testsuite/libgomp.c/for-1.h: New file.
13905 * testsuite/libgomp.c/for-2.c: New test.
13906 * testsuite/libgomp.c/for-2.h: New file.
13907 * testsuite/libgomp.c/for-3.c: New test.
13908 * testsuite/libgomp.c/pr58392.c: New test.
13909 * testsuite/libgomp.c/simd-1.c: New test.
13910 * testsuite/libgomp.c/simd-2.c: New test.
13911 * testsuite/libgomp.c/simd-3.c: New test.
13912 * testsuite/libgomp.c/simd-4.c: New test.
13913 * testsuite/libgomp.c/simd-5.c: New test.
13914 * testsuite/libgomp.c/simd-6.c: New test.
13915 * testsuite/libgomp.c/target-1.c: New test.
13916 * testsuite/libgomp.c/target-2.c: New test.
13917 * testsuite/libgomp.c/target-3.c: New test.
13918 * testsuite/libgomp.c/target-4.c: New test.
13919 * testsuite/libgomp.c/target-5.c: New test.
13920 * testsuite/libgomp.c/target-6.c: New test.
13921 * testsuite/libgomp.c/target-7.c: New test.
13922 * testsuite/libgomp.c/taskgroup-1.c: New test.
13923 * testsuite/libgomp.c/thread-limit-1.c: New test.
13924 * testsuite/libgomp.c/thread-limit-2.c: New test.
13925 * testsuite/libgomp.c/thread-limit-3.c: New test.
13926 * testsuite/libgomp.c/udr-1.c: New test.
13927 * testsuite/libgomp.c/udr-2.c: New test.
13928 * testsuite/libgomp.c/udr-3.c: New test.
13929 * testsuite/libgomp.c++/affinity-1.C: New test.
13930 * testsuite/libgomp.c++/atomic-10.C: New test.
13931 * testsuite/libgomp.c++/atomic-11.C: New test.
13932 * testsuite/libgomp.c++/atomic-12.C: New test.
13933 * testsuite/libgomp.c++/atomic-13.C: New test.
13934 * testsuite/libgomp.c++/atomic-14.C: New test.
13935 * testsuite/libgomp.c++/atomic-15.C: New test.
13936 * testsuite/libgomp.c++/cancel-for-1.C: New test.
13937 * testsuite/libgomp.c++/cancel-for-2.C: New test.
13938 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
13939 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
13940 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
13941 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
13942 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
13943 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
13944 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
13945 * testsuite/libgomp.c++/cancel-test.h: New file.
13946 * testsuite/libgomp.c++/for-9.C: New test.
13947 * testsuite/libgomp.c++/for-10.C: New test.
13948 * testsuite/libgomp.c++/for-11.C: New test.
13949 * testsuite/libgomp.c++/simd-1.C: New test.
13950 * testsuite/libgomp.c++/simd-2.C: New test.
13951 * testsuite/libgomp.c++/simd-3.C: New test.
13952 * testsuite/libgomp.c++/simd-4.C: New test.
13953 * testsuite/libgomp.c++/simd-5.C: New test.
13954 * testsuite/libgomp.c++/simd-6.C: New test.
13955 * testsuite/libgomp.c++/simd-7.C: New test.
13956 * testsuite/libgomp.c++/simd-8.C: New test.
13957 * testsuite/libgomp.c++/target-1.C: New test.
13958 * testsuite/libgomp.c++/target-2.C: New test.
13959 * testsuite/libgomp.c++/target-2-aux.cc: New file.
13960 * testsuite/libgomp.c++/target-3.C: New test.
13961 * testsuite/libgomp.c++/taskgroup-1.C: New test.
13962 * testsuite/libgomp.c++/udr-1.C: New test.
13963 * testsuite/libgomp.c++/udr-2.C: New test.
13964 * testsuite/libgomp.c++/udr-3.C: New test.
13965 * testsuite/libgomp.c++/udr-4.C: New test.
13966 * testsuite/libgomp.c++/udr-5.C: New test.
13967 * testsuite/libgomp.c++/udr-6.C: New test.
13968 * testsuite/libgomp.c++/udr-7.C: New test.
13969 * testsuite/libgomp.c++/udr-8.C: New test.
13970 * testsuite/libgomp.c++/udr-9.C: New test.
13971
13972 2013-09-20 Jakub Jelinek <jakub (a] redhat.com>
13973
13974 PR testsuite/57605
13975 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
13976 ALWAYS_CFLAGS.
13977
13978 2013-09-20 Alan Modra <amodra (a] gmail.com>
13979
13980 * configure: Regenerate.
13981
13982 2013-09-19 Jakub Jelinek <jakub (a] redhat.com>
13983
13984 * testsuite/libgomp.c/sections-2.c: New test.
13985
13986 2013-06-28 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
13987
13988 * testsuite/libgomp.fortran/strassen.f90:
13989 Add dg-skip-if aarch64_tiny.
13990
13991 2013-06-20 Iain Sandoe <iain (a] codesourcery.com>
13992 Cesar Philippidis <cesar (a] codesourcery.com>
13993
13994 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
13995 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
13996 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
13997 * testsuite/libgomp.fortran/fortran.exp: Likewise.
13998 * testsuite/libgomp.graphite/graphite.exp: Likewise.
13999 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
14000 Use dg-runtest rather than gfortran-dg-runtest.
14001
14002 2013-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
14003
14004 * testsuite/libgomp.c/icv-2.c: Extend current handling of
14005 Linux-based x86 systems to cover all GNU systems.
14006 * testsuite/libgomp.c/lock-3.c: Likewise.
14007 * testsuite/libgomp.c/pr48591.c: Likewise.
14008
14009 2013-06-06 Thomas Schwinge <thomas (a] codesourcery.com>
14010
14011 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
14012 GNU/Hurd, as done for Linux-based systems.
14013
14014 * config/posix/ptrlock.h: Fix comment.
14015
14016 2013-05-27 Tobias Burnus <burnus (a] net-b.de>
14017
14018 PR fortran/57423
14019 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
14020 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
14021 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
14022 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
14023 omp_destroy_nest_lock): Correct arguments to match the one in
14024 the OpenMP spec.
14025 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
14026 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
14027 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
14028 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
14029
14030 2013-05-16 Jakub Jelinek <jakub (a] redhat.com>
14031
14032 * testsuite/libgomp.c/loop-13.c: New test.
14033 * testsuite/libgomp.c/loop-14.c: New test.
14034 * testsuite/libgomp.c/loop-15.c: New test.
14035 * testsuite/libgomp.c++/loop-13.C: New test.
14036 * testsuite/libgomp.c++/loop-14.C: New test.
14037 * testsuite/libgomp.c++/loop-15.C: New test.
14038
14039 2013-02-06 Jakub Jelinek <jakub (a] redhat.com>
14040
14041 PR middle-end/56217
14042 * testsuite/libgomp.c++/pr56217.C: New test.
14043
14044 2013-02-01 Alan Modra <amodra (a] gmail.com>
14045
14046 * task.c (GOMP_task, GOMP_taskwait): Comment.
14047
14048 2013-01-31 Dmitry Vyukov <dvyukov (a] gcc.gnu.org>
14049 Joost VandeVondele <Joost.VandeVondele (a] mat.ethz.ch>
14050
14051 PR libgomp/55561
14052 * config/linux/wait.h (do_spin): Use atomic load for addr.
14053 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
14054 for intptr and ptrlock.
14055 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
14056 for ptrlock.
14057
14058 2013-01-22 Alan Modra <amodra (a] gmail.com>
14059
14060 PR libgomp/51376
14061 PR libgomp/56073
14062 * task.c (GOMP_task): Revert 2011-12-09 change.
14063 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
14064 barrier to read task->children..
14065 (gomp_barrier_handle_tasks): ..and matching atomic store with
14066 release barrier here when setting parent->children to NULL.
14067
14068 2013-01-16 Jakub Jelinek <jakub (a] redhat.com>
14069 Tobias Burnus <burnus (a] net-b.de>
14070
14071 PR driver/55884
14072 * testsuite/libgomp.fortran/fortran.exp: Use
14073 -fintrinsic-modules-path= instead of
14074 -fintrinsic-modules-path.
14075
14076 2013-01-14 Richard Sandiford <rdsandiford (a] googlemail.com>
14077
14078 Update copyright years.
14079
14080 2012-12-19 Tobias Burnus <burnus (a] net-b.de>
14081
14082 * testsuite/libgomp.fortran/fortran.exp: Set
14083 -fintrinsic-modules-path.
14084
14085 2012-12-19 Tobias Burnus <burnus (a] net-b.de>
14086
14087 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
14088 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
14089
14090 2012-11-21 Jakub Jelinek <jakub (a] redhat.com>
14091
14092 PR libgomp/55411
14093 * team.c (gomp_free_thread): Decrease gomp_managed_threads
14094 if pool had any threads_used.
14095
14096 2012-11-07 Jack Howarth <howarth (a] bromo.med.uc.edu>
14097
14098 * testsuite/libgomp.c++/pr24455.C: Use
14099 -Wl,-undefined,dynamic_lookup on darwin.
14100
14101 2012-11-07 David Edelsohn <dje.gcc (a] gmail.com>
14102
14103 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
14104
14105 2012-10-24 Dominique d'Humieres <dominiq (a] lps.ens.fr>
14106
14107 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
14108
14109 2012-10-23 Ian Bolton <ian.bolton (a] arm.com>
14110 Jim MacArthur <jim.macarthur (a] arm.com>
14111 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
14112 Nigel Stephens <nigel.stephens (a] arm.com>
14113 Ramana Radhakrishnan <ramana.radhakrishnan (a] arm.com>
14114 Richard Earnshaw <rearnsha (a] arm.com>
14115 Sofiane Naci <sofiane.naci (a] arm.com>
14116 Stephen Thomas <stephen.thomas (a] arm.com>
14117 Tejas Belagod <tejas.belagod (a] arm.com>
14118 Yufeng Zhang <yufeng.zhang (a] arm.com>
14119
14120 * configure.tgt: Add AArch64.
14121
14122 2012-10-04 Jason Merrill <jason (a] redhat.com>
14123
14124 * testsuite/libgomp.c++/tls-init1.C: New.
14125
14126 2012-09-14 David Edelsohn <dje.gcc (a] gmail.com>
14127
14128 * configure: Regenerated.
14129
14130 2012-08-29 Chung-Lin Tang <cltang (a] codesourcery.com>
14131
14132 * config/linux/mips/futex.h (sys_futex0): Change to static
14133 function with noinline, nomips16 attributes under MIPS16. Adjust
14134 asm statement to place 'li v0,SYS_futex' immediately before
14135 syscall insn.
14136
14137 2012-07-04 Sandra Loosemore <sandra (a] codesourcery.com>
14138
14139 * libgomp.texi (Library Index): Renamed from "Index" to prevent
14140 conflict with index.html on case-insensitive file systems.
14141
14142 2012-07-03 Uros Bizjak <ubizjak (a] gmail.com>
14143
14144 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
14145 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
14146
14147 2012-07-02 Richard Guenther <rguenther (a] suse.de>
14148 Michael Matz <matz (a] suse.de>
14149 Tobias Grosser <tobias (a] grosser.es>
14150 Sebastian Pop <sebpop (a] gmail.com>
14151
14152 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
14153 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14154 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14155 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14156
14157 2012-06-28 Andreas Schwab <schwab (a] linux-m68k.org>
14158
14159 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
14160
14161 2012-06-22 Richard Guenther <rguenther (a] suse.de>
14162
14163 Merge from graphite branch
14164 2012-01-13 Tobias Grosser <tobias (a] grosser.es>
14165
14166 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14167 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14168
14169 2012-06-07 Jakub Jelinek <jakub (a] redhat.com>
14170
14171 PR middle-end/53580
14172 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
14173 use GOMP_barrier () call instead.
14174 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14175 * testsuite/libgomp.c/pr26943-4.c: Likewise.
14176 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
14177 call GOMP_barrier instead.
14178 * testsuite/libgomp.fortran/vla5.f90: Likewise.
14179
14180 2012-06-06 Jakub Jelinek <jakub (a] redhat.com>
14181
14182 PR libgomp/52993
14183 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
14184 argument to memset call.
14185
14186 2012-05-16 H.J. Lu <hongjiu.lu (a] intel.com>
14187
14188 * configure: Regenerated.
14189
14190 2012-04-11 Manuel Lpez-Ibez <manu (a] gcc.gnu.org>
14191
14192 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
14193
14194 2012-03-31 H.J. Lu <hongjiu.lu (a] intel.com>
14195
14196 PR bootstrap/52812
14197 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
14198
14199 2012-03-22 Jakub Jelinek <jakub (a] redhat.com>
14200
14201 PR middle-end/52547
14202 * testsuite/libgomp.c/pr52547.c: New test.
14203
14204 2012-03-16 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org>
14205
14206 * testsuite/lib/libgomp.exp: load fortran-modules.exp
14207
14208 2012-03-14 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14209
14210 * configure.tgt (mips-sgi-irix6*): Remove.
14211
14212 2012-03-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14213
14214 * configure.tgt (alpha*-dec-osf*): Remove.
14215
14216 * config/osf/sem.h: Remove.
14217 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
14218
14219 2012-02-29 Eric Botcazou <ebotcazou (a] adacore.com>
14220
14221 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
14222
14223 2012-02-27 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14224
14225 PR libstdc++/52188
14226 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
14227 Remove ENABLE_SYMVERS_SOL2.
14228 * configure: Regenerate.
14229 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
14230 (PREPROCESS): New variable.
14231 (libgomp.ver): New target.
14232 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
14233 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
14234 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
14235 Use libgomp.ver.
14236 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
14237 * Makefile.in: Regenerate.
14238
14239 2012-02-14 Walter Lee <walt (a] tilera.com>
14240
14241 * configure.tgt: Handle tilegx and tilepro.
14242 * config/linux/tile/futex.h: New file.
14243
14244 2012-02-08 Richard Guenther <rguenther (a] suse.de>
14245
14246 PR tree-optimization/46886
14247 * testsuite/libgomp.c/pr46886.c: New testcase.
14248
14249 2012-01-25 Matthias Klose <doko (a] ubuntu.com>
14250
14251 * config/linux/arm: Remove empty directory.
14252 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
14253
14254 2011-12-09 Alan Modra <amodra (a] gmail.com>
14255
14256 PR libgomp/51376
14257 * task.c (GOMP_taskwait): Don't access task->children outside of
14258 task_lock mutex region.
14259 (GOMP_task): Likewise.
14260
14261 2011-12-06 Jakub Jelinek <jakub (a] redhat.com>
14262
14263 PR libgomp/51132
14264 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
14265 to file scope.
14266 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14267 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14268 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14269 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14270 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14271
14272 2011-12-02 Alan Modra <amodra (a] gmail.com>
14273
14274 * config/linux/affinity.c: Use atomic rather than sync builtin.
14275 * config/linux/lock.c: Likewise.
14276 * config/linux/ptrlock.h: Likewise.
14277 * config/linux/ptrlock.c: Likewise.
14278 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
14279 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
14280 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
14281 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
14282 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
14283 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
14284 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
14285 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
14286 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
14287 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
14288
14289 2011-11-30 Alan Modra <amodra (a] gmail.com>
14290
14291 PR libgomp/51298
14292 * config/linux/bar.h: Use atomic rather than sync builtins.
14293 * config/linux/bar.c: Likewise. Add missing acquire
14294 synchronisation on generation field.
14295 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
14296 double unlock.
14297
14298 2011-11-30 Alan Modra <amodra (a] gmail.com>
14299
14300 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
14301 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
14302 * config/linux/mutex.h: Use atomic rather than sync builtins.
14303 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
14304 * config/linux/omp-lock.h: Comment fix.
14305 * config/linux/arm/mutex.h: Delete.
14306 * config/linux/powerpc/mutex.h: Delete.
14307 * config/linux/ia64/mutex.h: Delete.
14308 * config/linux/mips/mutex.h: Delete.
14309
14310 2011-11-30 Alan Modra <amodra (a] gmail.com>
14311
14312 PR libgomp/51249
14313 * config/linux/sem.h: Rewrite.
14314 * config/linux/sem.c: Rewrite.
14315
14316 2011-11-28 Richard Henderson <rth (a] redhat.com>
14317
14318 * libgomp.h (enum memmodel): New.
14319
14320 2011-11-21 Andreas Tobler <andreast (a] fgznet.ch>
14321
14322 * configure: Regenerate.
14323
14324 2011-10-10 Matthias Klose <doko (a] ubuntu.com>
14325
14326 * config/posix95: Remove empty directory.
14327
14328 2011-08-26 Jakub Jelinek <jakub (a] redhat.com>
14329
14330 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
14331
14332 2011-08-19 Jakub Jelinek <jakub (a] redhat.com>
14333
14334 PR fortran/49792
14335 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
14336 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
14337
14338 2011-08-08 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14339
14340 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
14341
14342 2011-08-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14343
14344 PR libgomp/49965
14345 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
14346
14347 2011-08-03 Uros Bizjak <ubizjak (a] gmail.com>
14348
14349 * config/linux/proc.h: New.
14350 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
14351 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
14352 (gomp_init_num_threads): Update call to cpuset_popcount.
14353 (get_num_procs): Ditto.
14354 * config/linux/affinity.c (gomp_init_affinity): Call
14355 gomp_cpuset_popcount.
14356
14357 2011-08-02 Jakub Jelinek <jakub (a] redhat.com>
14358
14359 PR fortran/42041
14360 PR fortran/46752
14361 * omp.h.in (omp_in_final): New prototype.
14362 * omp_lib.f90.in (omp_in_final): New interface.
14363 (omp_integer_kind, omp_logical_kind): Remove
14364 and replace all its uses in the module with 4.
14365 (openmp_version): Change to 201107.
14366 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
14367 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
14368 kind for the parameters.
14369 (omp_in_final): New external.
14370 (openmp_version): Change to 201107.
14371 * task.c (omp_in_final): New function.
14372 (gomp_init_task): Initialize final_task.
14373 (GOMP_task): Remove unused attribute from flags. Handle final
14374 tasks.
14375 (GOMP_taskyield): New function.
14376 (omp_in_final): Return true if if (false) or final (true) task
14377 or descendant of final (true).
14378 * fortran.c (omp_in_final_): New function.
14379 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
14380 (GOMP_3.0): Export GOMP_taskyield.
14381 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
14382 variables.
14383 (parse_unsigned_long_list): New function.
14384 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
14385 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
14386 even if parse_affinity returned false.
14387 * config/linux/affinity.c (gomp_init_affinity): Handle
14388 gomp_cpu_affinity_len == 0.
14389 * libgomp_g.h (GOMP_taskyield): New prototype.
14390 * libgomp.h (struct gomp_task): Add final_task field.
14391 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
14392 * team.c (gomp_team_start): Override new task's nthreads_var icv
14393 if list form OMP_NUM_THREADS has been used and it has value for
14394 the new nesting level.
14395
14396 * testsuite/libgomp.c/atomic-11.c: New test.
14397 * testsuite/libgomp.c/atomic-12.c: New test.
14398 * testsuite/libgomp.c/atomic-13.c: New test.
14399 * testsuite/libgomp.c/atomic-14.c: New test.
14400 * testsuite/libgomp.c/reduction-6.c: New test.
14401 * testsuite/libgomp.c/task-5.c: New test.
14402 * testsuite/libgomp.c++/atomic-2.C: New test.
14403 * testsuite/libgomp.c++/atomic-3.C: New test.
14404 * testsuite/libgomp.c++/atomic-4.C: New test.
14405 * testsuite/libgomp.c++/atomic-5.C: New test.
14406 * testsuite/libgomp.c++/atomic-6.C: New test.
14407 * testsuite/libgomp.c++/atomic-7.C: New test.
14408 * testsuite/libgomp.c++/atomic-8.C: New test.
14409 * testsuite/libgomp.c++/atomic-9.C: New test.
14410 * testsuite/libgomp.c++/task-8.C: New test.
14411 * testsuite/libgomp.c++/reduction-4.C: New test.
14412 * testsuite/libgomp.fortran/allocatable7.f90: New test.
14413 * testsuite/libgomp.fortran/allocatable8.f90: New test.
14414 * testsuite/libgomp.fortran/crayptr3.f90: New test.
14415 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
14416 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
14417 * testsuite/libgomp.fortran/pointer1.f90: New test.
14418 * testsuite/libgomp.fortran/pointer2.f90: New test.
14419 * testsuite/libgomp.fortran/task4.f90: New test.
14420
14421 2011-08-02 Tobias Burnus <burnus (a] net-b.de>
14422
14423 * libgomp.texi: Update OpenMP spec references to 3.1.
14424 (omp_in_final,OMP_PROC_BIND): New sections.
14425 (OMP_NUM_THREADS): Document that the value can be now a list.
14426 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
14427
14428 2011-08-02 H.J. Lu <hongjiu.lu (a] intel.com>
14429
14430 * config/linux/x86/futex.h: Check __x86_64__ instead of
14431 __LP64__.
14432
14433 2011-07-29 Jakub Jelinek <jakub (a] redhat.com>
14434
14435 PR middle-end/49897
14436 PR middle-end/49898
14437 * testsuite/libgomp.c/pr49897-1.c: New test.
14438 * testsuite/libgomp.c/pr49897-2.c: New test.
14439 * testsuite/libgomp.c/pr49898-1.c: New test.
14440 * testsuite/libgomp.c/pr49898-2.c: New test.
14441
14442 2011-07-28 H.J. Lu <hongjiu.lu (a] intel.com>
14443
14444 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
14445 for ia32 instead of ilp32.
14446
14447 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
14448 * testsuite/libgomp.c/atomic-6.c: Likewise.
14449
14450 2011-07-23 Sebastian Pop <sebastian.pop (a] amd.com>
14451
14452 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
14453 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
14454
14455 2011-07-25 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14456
14457 PR libgomp/45351
14458 * config/osf/sem.h: New file.
14459 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
14460
14461 2011-07-18 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14462
14463 PR target/49541
14464 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
14465 ldflags.
14466
14467 2011-07-15 Jakub Jelinek <jakub (a] redhat.com>
14468
14469 * config/linux/wait.h (do_spin): New inline, largely copied
14470 from do_wait, just don't do futex_wait here, instead return true if
14471 it should be done.
14472 (do_wait): Implement using do_spin.
14473 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
14474 to prototype.
14475 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14476 __sync_bool_compare_and_swap, pass the oldval to
14477 gomp_mutex_lock_slow.
14478 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
14479 If all mutex contenders are just spinning and not sleeping, don't
14480 change state to 2 unnecessarily. Optimize the loop when state has
14481 already become 2 to use just one atomic operation per loop instead
14482 of two.
14483 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
14484 to prototype.
14485 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14486 __sync_bool_compare_and_swap, pass the oldval to
14487 gomp_mutex_lock_slow.
14488
14489 2011-06-22 Jakub Jelinek <jakub (a] redhat.com>
14490
14491 PR libgomp/49490
14492 * iter.c (gomp_iter_static_next): For chunk size 0
14493 only use n ceil/ nthreads size for the first
14494 n % nthreads threads in the team instead of
14495 all threads except for the last few ones which
14496 get less work or none at all.
14497 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
14498 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
14499 chunk argument, set run_sched_modifier to 0 for static
14500 resp. 1 for other kinds. If chunk argument is 0
14501 and not static, set value to 1.
14502
14503 2011-05-19 Jakub Jelinek <jakub (a] redhat.com>
14504
14505 PR c++/49043
14506 * testsuite/libgomp.c++/pr49043.C: New test.
14507
14508 PR c++/48869
14509 * testsuite/libgomp.c++/pr48869.C: New test.
14510
14511 2011-05-06 Jakub Jelinek <jakub (a] redhat.com>
14512
14513 PR fortran/48894
14514 * fortran.c: Include limits.h.
14515 (TO_INT): Define.
14516 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
14517 *set.
14518 (omp_set_num_threads_8_, omp_set_schedule_8_,
14519 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
14520 omp_get_team_size_8_): Use TO_INT macro.
14521 * testsuite/libgomp.fortran/pr48894.f90: New test.
14522
14523 2011-04-13 Jakub Jelinek <jakub (a] redhat.com>
14524
14525 PR middle-end/48591
14526 * testsuite/libgomp.c/pr48591.c: New test.
14527
14528 2011-03-21 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14529
14530 PR bootstrap/48135
14531 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
14532 * configure: Regenerate.
14533
14534 2011-02-27 Jakub Jelinek <jakub (a] redhat.com>
14535
14536 PR fortran/47886
14537 * testsuite/libgomp.fortran/task3.f90: New test.
14538
14539 2011-02-24 Tobias Burnus <burnus (a] net-b.de>
14540
14541 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
14542
14543 2011-02-23 Jakub Jelinek <jakub (a] redhat.com>
14544
14545 PR libgomp/47854
14546 * libgomp.texi (omp_get_wtime): Don't say time in the past
14547 must be Unix Epoch.
14548
14549 2011-02-18 Jakub Jelinek <jakub (a] redhat.com>
14550
14551 PR libgomp/47804
14552 * testsuite/libgomp.fortran/fortran.exp: Check for both
14553 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
14554 but $blddir != "", still append ${blddir}/${lang_library_path}
14555 to ld_library_path.
14556
14557 2011-02-16 Tobias Burnus <burnus (a] net-b.de>
14558
14559 PR libgomp/47758
14560 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
14561 of libquadmath.a before adding its libpath to ldflags.
14562
14563 2011-02-14 Jakub Jelinek <jakub (a] redhat.com>
14564
14565 PR libgomp/47731
14566 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
14567 to FUTEX_WAIT futex syscall.
14568 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
14569
14570 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14571
14572 * configure: Regenerate.
14573
14574 2011-01-20 Benjamin Kosnik <bkoz (a] redhat.com>
14575
14576 PR libstdc++/36104
14577 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
14578
14579 2011-01-16 Gerald Pfeifer
14580
14581 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
14582
14583 2010-12-14 Jakub Jelinek <jakub (a] redhat.com>
14584
14585 PR fortran/46874
14586 * libgomp.fortran/allocatable6.f90: New test.
14587
14588 2010-12-06 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14589
14590 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
14591 * configure: Regenerate.
14592
14593 2010-12-06 Dave Korn <dave.korn.cygwin (a] gmail.com>
14594
14595 PR target/40125
14596 PR lto/46695
14597 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
14598 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
14599 * aclocal.m4: Regenerate.
14600 * configure: Regenerate.
14601 * Makefile.in: Regenerate.
14602 * testsuite/Makefile.in: Regenerate.
14603
14604 2010-12-02 Jakub Jelinek <jakub (a] redhat.com>
14605
14606 PR fortran/46753
14607 * libgomp.fortran/pr46753.f90: New test.
14608
14609 PR libgomp/43706
14610 * env.c (initialize_env): Default to spin count 300000
14611 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
14612 is specified.
14613
14614 PR libgomp/45240
14615 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
14616 at the end if sync builtins aren't supported.
14617
14618 2010-12-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14619
14620 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
14621
14622 2010-12-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14623
14624 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
14625
14626 2010-11-24 Iain Sandoe <iains (a] gcc.gnu.org>
14627
14628 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
14629
14630 2010-11-16 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
14631 Tobias Burnus <burnus (a] net-b.de>
14632
14633 PR fortran/32049
14634 * configure.ac:
14635 * configure: Regenerate.
14636
14637 2010-10-06 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
14638
14639 * config/linux/futex.h: New.
14640 * config/linux/arm/mutex.h: New.
14641 * configure.tgt (arm*-*-linux*): Add config path.
14642
14643 2010-09-30 Sebastian Pop <sebastian.pop (a] amd.com>
14644
14645 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14646
14647 2010-09-23 Tobias Burnus <burnus (a] net-b.de>
14648
14649 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
14650 Change Fortran datatype to LOGICAL.
14651 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
14652 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
14653
14654 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14655
14656 * configure: Regenerate.
14657
14658 2010-07-26 Jakub Jelinek <jakub (a] redhat.com>
14659
14660 * libgomp.texi: Add function keyword to a couple of Fortran
14661 interfaces, use integer instead of int for Fortran.
14662
14663 2010-07-26 Aldy Hernandez <aldyh (a] redhat.com>
14664
14665 * libgomp.texi: Fix spelling and pasto problems throughout.
14666 Adjust prototypes to match code.
14667
14668 2010-07-24 Tobias Burnus <burnus (a] net-b.de>
14669
14670 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
14671 silence -fwhole-file warning.
14672
14673 2010-07-23 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14674
14675 * configure.tgt (*-*-solaris2.[56]*): Removed.
14676
14677 2010-07-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14678
14679 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
14680 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
14681 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
14682 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
14683 targetting solaris2*.
14684 * configure: Regenerate.
14685 * config.h.in: Regenerate.
14686
14687 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
14688 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
14689 Add libgomp_version_dep.
14690 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
14691 versioning.
14692 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
14693 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
14694 * Makefile.in: Regenerate.
14695
14696 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
14697 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14698 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
14699 to common block, protected by
14700 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14701
14702 2010-06-10 Gerald Pfeifer <gerald (a] pfeifer.com>
14703
14704 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
14705
14706 2010-06-09 Iain Sandoe <iains (a] gcc.gnu.org>
14707
14708 PR bootstrap/43170
14709 * configure: Regenerate.
14710
14711 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14712
14713 PR other/43620
14714 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
14715 * configure: Regenerate.
14716 * Makefile.in: Regenerate.
14717 * testsuite/Makefile.in: Regenerate.
14718
14719 2010-04-26 Jakub Jelinek <jakub (a] redhat.com>
14720
14721 PR c/43893
14722 * testsuite/libgomp.c/pr43893.c: New test.
14723 * testsuite/libgomp.c++/pr43893.C: New test.
14724
14725 2010-04-21 Jakub Jelinek <jakub (a] redhat.com>
14726
14727 PR middle-end/43570
14728 * testsuite/libgomp.fortran/vla8.f90: New test.
14729
14730 2010-04-20 Jakub Jelinek <jakub (a] redhat.com>
14731
14732 PR libgomp/43706
14733 * config/linux/affinity.c (gomp_init_affinity): Decrease
14734 gomp_available_cpus if affinity mask confines the process to fewer
14735 CPUs.
14736 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
14737 non-NULL, just return gomp_available_cpus.
14738
14739 PR libgomp/43569
14740 * sections.c (gomp_sections_init): Initialize ws->mode.
14741
14742 2010-04-14 Uros Bizjak <ubizjak (a] gmail.com>
14743
14744 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
14745 not unused bar variable.
14746 * configure: Regenerate.
14747
14748 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14749
14750 * Makefile.in: Regenerate.
14751 * aclocal.m4: Regenerate.
14752 * testsuite/Makefile.in: Regenerate.
14753
14754 2010-03-22 Jakub Jelinek <jakub (a] redhat.com>
14755
14756 PR libgomp/42942
14757 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
14758 (initialize_env): Adjust callers.
14759 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
14760 when the argument is 0.
14761
14762 * testsuite/libgomp.c/pr42942.c: New test.
14763
14764 2010-03-08 Tobias Grosser <grosser (a] fim.uni-passau.de>
14765
14766 PR middle-end/42644
14767 PR middle-end/42130
14768 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14769 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
14770
14771 2010-01-29 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14772
14773 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
14774 * testsuite/libgomp.c++/task-6.C: Likewise.
14775
14776 2010-01-28 Steve Ellcey <sje (a] cup.hp.com>
14777
14778 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
14779
14780 2010-01-26 Paolo Bonzini <bonzini (a] gnu.org>
14781
14782 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
14783 * configure: Regenerate.
14784
14785 2010-01-26 Jakub Jelinek <jakub (a] redhat.com>
14786
14787 PR fortran/42866
14788 * testsuite/libgomp.fortran/allocatable5.f90: New test.
14789
14790 2010-01-20 Paolo Bonzini <bonzini (a] gnu.org>
14791
14792 * configure.ac: Test for executability of GFORTRAN.
14793 * configure: Regenerate.
14794
14795 2010-01-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
14796
14797 * configure: Regenerate.
14798
14799 2010-01-04 H.J. Lu <hongjiu.lu (a] intel.com>
14800
14801 PR libgomp/42602
14802 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
14803
14804 2010-01-03 Richard Guenther <rguenther (a] suse.de>
14805
14806 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
14807
14808 2009-12-23 Sebastian Pop <sebpop (a] gmail.com>
14809
14810 * testsuite/libgomp.graphite/pr4118.c: New.
14811
14812 2009-12-22 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk>
14813
14814 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
14815 for darwin, protect the test with require-effective-target tls_runtime.
14816 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
14817
14818 2009-12-22 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk>
14819
14820 PR target/41605
14821 * testsuite/lib/libgomp.exp: Provide -B options to allow for
14822 link spec %s substitutions for static libraries.
14823
14824 2009-12-18 Jack Howarth <howarth (a] bromo.med.uc.edu>
14825
14826 PR testsuite/42135
14827 * libgomp.graphite/force-parallel-2.c: Reduce array size.
14828
14829 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14830
14831 * Makefile.in: Regenerate.
14832 * configure: Regenerate.
14833 * testsuite/Makefile.in: Regenerate.
14834
14835 2009-11-30 Dave Korn <dave.korn.cygwin (a] gmail.com>
14836
14837 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
14838 settings for LC_ALL and LANG.
14839
14840 2009-11-25 Jakub Jelinek <jakub (a] redhat.com>
14841
14842 PR fortran/42162
14843 * testsuite/libgomp.fortran/pr42162.f90: New test.
14844
14845 2009-11-13 Jakub Jelinek <jakub (a] redhat.com>
14846
14847 PR middle-end/42029
14848 * testsuite/libgomp.c/pr42029.c: New test.
14849
14850 2009-10-26 Jakub Jelinek <jakub (a] redhat.com>
14851
14852 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
14853 *s. Accept ld version without text in ()s.
14854 * configure: Regenerated.
14855
14856 2009-10-22 Razya Ladelsky <razya (a] il.ibm.com>
14857
14858 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
14859
14860 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14861
14862 PR libgomp/41418
14863 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
14864 or a hyphen (happens with fortran language disabled).
14865 * configure: Regenerate.
14866
14867 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14868
14869 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
14870 use sed script portable to Solaris /bin/sed for extracting ld
14871 version.
14872 * configure: Regenerate.
14873
14874 2009-09-17 Alexander Monakov <amonakov (a] ispras.ru>
14875
14876 * testsuite/libgomp.graphite/bounds.c: New test.
14877
14878 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14879
14880 * Makefile.am (libgomp_la_LINK): New.
14881 * Makefile.in: Regenerate.
14882
14883 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14884
14885 * configure.ac (AC_PREREQ): Bump to 2.64.
14886
14887 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14888
14889 * Makefile.am (install-html, install-pdf): Remove.
14890 * Makefile.in: Regenerate.
14891
14892 * Makefile.in: Regenerate.
14893 * aclocal.m4: Regenerate.
14894 * config.h.in: Regenerate.
14895 * configure: Regenerate.
14896 * testsuite/Makefile.in: Regenerate.
14897
14898 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14899
14900 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
14901 * Makefile.in: Regenerate.
14902
14903 2009-08-20 Dave Korn <dave.korn.cygwin (a] gmail.com>
14904
14905 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
14906 * Makefile.in: Regenerate.
14907
14908 2009-08-19 Tobias Burnus <burnus (a] net-b.de>
14909
14910 PR fortran/41102
14911 omp_lib.h.in: Fix -std=f95 errors.
14912
14913 2009-08-14 David Edelsohn <edelsohn (a] gnu.org>
14914
14915 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
14916 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
14917 * testsuite/libgomp.graphite/graphite.exp: New.
14918
14919 2009-08-05 Andreas Tobler <a.tobler (a] schweiz.org>
14920
14921 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
14922 only build.
14923
14924 2009-08-04 David Daney <ddaney (a] caviumnetworks.com>
14925
14926 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
14927 needed memory barrier semantics.
14928 * config/linux/mips/mutex.h: New file.
14929
14930 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
14931
14932 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
14933
14934 2009-07-16 Joseph Myers <joseph (a] codesourcery.com>
14935
14936 * configure: Regenerate.
14937
14938 2009-07-11 Richard Sandiford <rdsandiford (a] googlemail.com>
14939
14940 PR testsuite/40699
14941 PR testsuite/40707
14942 PR testsuite/40709
14943 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
14944 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
14945 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
14946
14947 2009-07-02 Richard Sandiford <r.sandiford (a] uk.ibm.com>
14948
14949 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
14950 options when choosing a multilib.
14951
14952 2009-06-30 Richard Sandiford <r.sandiford (a] uk.ibm.com>
14953
14954 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
14955 ld_library_path. Use add_path. Add just find_libgcc_s to
14956 ld_library_path, not every libgcc multilib directory.
14957 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
14958 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
14959 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
14960 Use add_path.
14961 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
14962
14963 2009-06-09 Nathan Froyd <froydnj (a] codesourcery.com>
14964
14965 * Makefile.am (LTLDFLAGS): Define.
14966 (LINK): Define.
14967 * Makefile.in: Regenerate.
14968
14969 2009-05-27 Janne Blomqvist <jb (a] gcc.gnu.org>
14970
14971 PR fortran/39718
14972 * testsuite/libgomp.fortran/fortran.exp: Don't link with
14973 libgfortranbegin, check existence of libgfortran.a instead of
14974 libgfortranbegin.a.
14975
14976 2009-05-20 Jakub Jelinek <jakub (a] redhat.com>
14977
14978 PR libgomp/40174
14979 * team.c (gomp_thread_start): Destroy thr->release semaphore.
14980 (gomp_free_pool_helper): Likewise.
14981
14982 2009-04-20 Vasilis Liaskovitis <vliaskov (a] gmail.com>
14983 Jakub Jelinek <jakub (a] redhat.com>
14984
14985 PR fortran/35423
14986 * testsuite/libgomp.fortran/workshare2.f90: New test.
14987
14988 2009-04-09 Nick Clifton <nickc (a] redhat.com>
14989
14990 * iter.c: Change copyright header to refer to version 3 of the
14991 GNU General Public License with version 3.1 of the GCC Runtime
14992 Library Exception and to point readers at the COPYING3 and
14993 COPYING3.RUNTIME files and the FSF's license web page.
14994 * alloc.c: Likewise.
14995 * barrier.c: Likewise.
14996 * config/bsd/proc.c: Likewise.
14997 * config/linux/affinity.c: Likewise.
14998 * config/linux/alpha/futex.h: Likewise.
14999 * config/linux/bar.c: Likewise.
15000 * config/linux/bar.h: Likewise.
15001 * config/linux/ia64/futex.h: Likewise.
15002 * config/linux/ia64/mutex.h: Likewise.
15003 * config/linux/lock.c: Likewise.
15004 * config/linux/mips/futex.h: Likewise.
15005 * config/linux/mutex.c: Likewise.
15006 * config/linux/mutex.h: Likewise.
15007 * config/linux/powerpc/futex.h: Likewise.
15008 * config/linux/proc.c: Likewise.
15009 * config/linux/ptrlock.c: Likewise.
15010 * config/linux/ptrlock.h: Likewise.
15011 * config/linux/s390/futex.h: Likewise.
15012 * config/linux/sem.c: Likewise.
15013 * config/linux/sem.h: Likewise.
15014 * config/linux/sparc/futex.h: Likewise.
15015 * config/linux/wait.h: Likewise.
15016 * config/linux/x86/futex.h: Likewise.
15017 * config/mingw32/proc.c: Likewise.
15018 * config/mingw32/time.c: Likewise.
15019 * config/posix/affinity.c: Likewise.
15020 * config/posix/bar.c: Likewise.
15021 * config/posix/bar.h: Likewise.
15022 * config/posix/lock.c: Likewise.
15023 * config/posix/mutex.h: Likewise.
15024 * config/posix/proc.c: Likewise.
15025 * config/posix/ptrlock.h: Likewise.
15026 * config/posix/sem.c: Likewise.
15027 * config/posix/sem.h: Likewise.
15028 * config/posix/time.c: Likewise.
15029 * config/posix95/lock.c: Likewise.
15030 * critical.c: Likewise.
15031 * env.c: Likewise.
15032 * error.c: Likewise.
15033 * fortran.c: Likewise.
15034 * iter_ull.c: Likewise.
15035 * libgomp.h: Likewise.
15036 * libgomp_f.h.in: Likewise.
15037 * libgomp_g.h: Likewise.
15038 * loop.c: Likewise.
15039 * loop_ull.c: Likewise.
15040 * omp.h.in: Likewise.
15041 * omp_lib.f90.in: Likewise.
15042 * omp_lib.h.in: Likewise.
15043 * ordered.c: Likewise.
15044 * parallel.c: Likewise.
15045 * sections.c: Likewise.
15046 * single.c: Likewise.
15047 * task.c: Likewise.
15048 * team.c: Likewise.
15049 * work.c: Likewise.
15050
15051 2009-04-09 Jakub Jelinek <jakub (a] redhat.com>
15052
15053 * testsuite/config/default.exp: Change copyright header to refer to
15054 version 3 of the GNU General Public License and to point readers
15055 at the COPYING3 file and the FSF's license web page.
15056
15057 2009-04-08 Jakub Jelinek <jakub (a] redhat.com>
15058
15059 PR middle-end/39573
15060 * libgomp.c++/pr39573.C: New test.
15061
15062 2009-04-01 Jakub Jelinek <jakub (a] redhat.com>
15063
15064 PR other/39591
15065 * testsuite/libgomp.c/pr39591-1.c: New test.
15066 * testsuite/libgomp.c/pr39591-2.c: New test.
15067 * testsuite/libgomp.c/pr39591-3.c: New test.
15068
15069 2009-03-25 Uros Bizjak <ubizjak (a] gmail.com>
15070
15071 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
15072 * testsuite/libgomp.c/atomic-6.c: Ditto.
15073
15074 2009-03-23 Jakub Jelinek <jakub (a] redhat.com>
15075
15076 PR c/39495
15077 * testsuite/libgomp.c/loop-12.c: New test.
15078 * testsuite/libgomp.c/loop-11.c: New test.
15079 * testsuite/libgomp.c++/loop-11.C: New test.
15080 * testsuite/libgomp.c++/loop-12.C: New test.
15081 * testsuite/libgomp.c++/for-8.C: New test.
15082
15083 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15084
15085 * configure: Regenerate.
15086
15087 2009-02-11 Jakub Jelinek <jakub (a] redhat.com>
15088
15089 PR middle-end/39154
15090 * testsuite/libgomp.c/pr39154.c: New test.
15091
15092 2009-01-30 Ian Lance Taylor <iant (a] google.com>
15093
15094 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
15095 libgomp_ld_is_gold. Get gold version number.
15096 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
15097 * configure: Rebuild.
15098
15099 2009-01-19 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk>
15100
15101 * testsuite/lib/libgomp.exp: Add -B option for targets that
15102 use libgfortran.a%s in their specs.
15103
15104 2009-01-07 Jakub Jelinek <jakub (a] redhat.com>
15105
15106 PR libgomp/38086
15107 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
15108 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
15109 HAVE_AS_SYMVER_DIRECTIVE is not defined.
15110 * configure: Regenerated.
15111 * config.h.in: Likewise.
15112
15113 2008-12-28 Jakub Jelinek <jakub (a] redhat.com>
15114
15115 PR c++/38650
15116 * testsuite/libgomp.c/pr38650.c: New test.
15117 * testsuite/libgomp.c++/pr38650.C: New test.
15118
15119 2008-12-27 Jakub Jelinek <jakub (a] redhat.com>
15120
15121 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
15122
15123 2008-12-26 Uros Bizjak <ubizjak (a] gmail.com>
15124
15125 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
15126
15127 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15128
15129 * configure: Regenerate.
15130
15131 2008-12-08 Jakub Jelinek <jakub (a] redhat.com>
15132
15133 PR middle-end/36802
15134 * testsuite/libgomp.c/pr36802-1.c: New test.
15135 * testsuite/libgomp.c/pr36802-2.c: New test.
15136 * testsuite/libgomp.c/pr36802-3.c: New test.
15137
15138 2008-12-01 Janis Johnson <janis187 (a] us.ibm.com>
15139
15140 PR libgomp/38270
15141 * config/linux/powerpc/mutex.h: New.
15142
15143 2008-12-01 Jakub Jelinek <jakub (a] redhat.com>
15144
15145 PR c++/38257
15146 * testsuite/libgomp.c++/for-7.C: New test.
15147
15148 PR c++/38348
15149 * testsuite/libgomp.c++/for-6.C: New test.
15150
15151 2008-11-26 Janis Johnson <janis187 (a] us.ibm.com>
15152
15153 PR testsuite/28870
15154 * testsuite/lib/libgomp.exp: Include new timeout library files.
15155 (libgomp_target_compile): Set timeout value from new proc.
15156
15157 2008-11-13 Steve Ellcey <sje (a] cup.hp.com>
15158
15159 PR libgomp/37938
15160 * config/linux/ia64/mutex.h: New.
15161
15162 2008-11-04 Tobias Burnus <burnus (a] net-b.de>
15163
15164 PR libgomp/37935
15165 * libgomp.texi (Runtime library routines, environment variables):
15166 Update for OpenMP version 3.0.
15167
15168 2008-09-26 Peter O'Gorman <pogma (a] thewrittenword.com>
15169 Steve Ellcey <sje (a] cup.hp.com>
15170
15171 * configure: Regenerate for new libtool.
15172 * Makefile.in: Ditto.
15173 * testsuite/Makefile.in: Ditto.
15174
15175 2008-09-19 Jakub Jelinek <jakub (a] redhat.com>
15176 Andreas Tobler <a.tobler (a] schweiz.org>
15177
15178 * config/bsd/proc.c: New file.
15179 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
15180 * configure.ac: Check for header <sys/sysctl.h>
15181 * configure: Regenerate.
15182 * config.h.in: Likewise.
15183
15184 2008-09-05 Janis Johnson <janis187 (a] us.ibm.com>
15185
15186 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
15187
15188 2008-08-31 Aaron W. LaFramboise <aaronavay62 (a] aaronwl.com>
15189
15190 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
15191 * Makefile.in: Regenerated.
15192 * testsuite/Makefile.in: Regenerated.
15193
15194 2008-08-21 Nathan Froyd <froydnj (a] codesourcery.com>
15195
15196 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
15197 depend on blddir if blddir exists.
15198 (libgomp_target_compile): Likewise.
15199 * testsuite/libgomp.c++/c++.exp: Likewise.
15200 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15201
15202 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15203
15204 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
15205 Do not list GPL as Invariant Section.
15206
15207 2008-07-28 Ilie Garbacea <ilie (a] mips.com>
15208 Chao-ying Fu <fu (a] mips.com>
15209
15210 * configure.tgt: Enable futex for MIPS.
15211 * config/linux/mips/futex.h: New file.
15212
15213 2008-07-16 Jakub Jelinek <jakub (a] redhat.com>
15214
15215 * team.c (gomp_team_end): Free team immediately if it has
15216 just one thread.
15217
15218 2008-07-08 David Edelsohn <edelsohn (a] gnu.org>
15219
15220 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
15221 * testsuite/libgomp.fortran/fortran.exp: Same.
15222 * testsuite/libgomp.c/c.exp: Same.
15223 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
15224 directory to library path first.
15225
15226 2008-06-29 Krister Walfridsson <krister.walfridsson (a] gmail.com>
15227
15228 * env.c (parse_stacksize): Add cast to avoid warning.
15229 (parse_spincount): Likewise.
15230
15231 2008-06-27 Jakub Jelinek <jakub (a] redhat.com>
15232
15233 * testsuite/libgomp.c/loop-10.c: New test.
15234 * libgomp.c/loop-3.c (main): Add lastprivate clause.
15235 * libgomp.c++/loop-6.C (main): Likewise.
15236
15237 PR debug/36617
15238 * testsuite/libgomp.c/debug-1.c: New test.
15239
15240 2008-06-19 Jakub Jelinek <jakub (a] redhat.com>
15241
15242 * testsuite/libgomp.c/nqueens-1.c: New test.
15243
15244 PR c++/36523
15245 * testsuite/libgomp.c++/task-7.C: New function.
15246
15247 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15248
15249 * configure: Regenerate.
15250
15251 2008-06-15 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca>
15252
15253 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
15254 mutex when HAVE_SYNC_BUILTINS isn't defined.
15255
15256 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15257
15258 * libgomp.texi (omp_test_lock): Fix typo.
15259
15260 2008-06-12 Tobias Burnus <burnus (a] net-b.de>
15261
15262 * omp_lib.f90.in: Add "implicit none".
15263
15264 2008-06-12 Jakub Jelinek <jakub (a] redhat.com>
15265
15266 PR middle-end/36506
15267 * testsuite/libgomp.c/reduction-5.c: New test.
15268
15269 2008-06-11 Jakub Jelinek <jakub (a] redhat.com>
15270
15271 * libgomp.h (struct gomp_task): Add in_tied_task field.
15272 * task.c (gomp_init_task): Initialize it.
15273 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
15274 unconditionally. Don't call gomp_team_barrier_wake if
15275 current task is implicit or if(0) from implicit and number of
15276 running tasks is equal to nthreads - 1.
15277
15278 PR libgomp/36471
15279 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
15280 omp_get_team_size_8): Fix pastos.
15281
15282 PR libgomp/36469
15283 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
15284 * configure: Regenerated.
15285 * config.h.in: Regenerated.
15286 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
15287 defined.
15288
15289 2008-06-06 Andreas Tobler <a.tobler (a] schweiz.org>
15290
15291 PR bootstrap/36452
15292 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
15293 (GOMP_loop_ull_dynamic_start): Likewise.
15294 (GOMP_loop_ull_guided_start): Likewise.
15295 (GOMP_loop_ull_ordered_static_start): Likewise.
15296 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
15297 (GOMP_loop_ull_ordered_guided_start): Likewise.
15298
15299 2008-06-06 Jakub Jelinek <jakub (a] redhat.com>
15300 Richard Henderson <rth (a] redhat.com>
15301 Ulrich Drepper <drepper (a] redhat.com>
15302 Jakob Blomer <jakob.blomer (a] ira.uka.de>
15303
15304 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
15305 Substitute also OMP_*LOCK_25*.
15306 * configure: Regenerated.
15307 * config.h.in: Regenerated.
15308 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
15309 ptrlock.c and task.c.
15310 * Makefile.in: Regenerated.
15311 * testsuite/Makefile.in: Regenerated.
15312 * task.c: New file.
15313 * loop_ull.c: New file.
15314 * iter_ull.c: New file.
15315 * libgomp.h: Include ptrlock.h.
15316 (enum gomp_task_kind): New type.
15317 (struct gomp_team): Add task_lock, task_queue, task_count,
15318 task_running_count, single_count fields. Add
15319 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
15320 Remove work_share_lock, generation_mask,
15321 oldest_live_gen, num_live_gen and init_work_shares fields, add
15322 work work_share_list_alloc, work_share_list_free and work_share_chunk
15323 fields. Change work_shares from pointer to pointers into an array.
15324 Change ordered_release field into gomp_sem_t ** from flexible array
15325 member. Add implicit_task and initial_work_shares fields.
15326 Move close to the end of the struct.
15327 (struct gomp_team_state): Add single_count, last_work_share,
15328 active_level and level fields, remove work_share_generation.
15329 (gomp_barrier_handle_tasks): New prototype.
15330 (gomp_finish_task): New inline function.
15331 (struct gomp_work_share): Move chunk_size, end, incr into
15332 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
15333 next_ll fields. Reshuffle fields. Add next_alloc,
15334 next_ws, next_free and inline_ordered_team_ids fields, change
15335 ordered_team_ids into pointer from flexible array member.
15336 Add mode field. Put lock and next into a different cache line
15337 from most of the write-once fields.
15338 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
15339 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
15340 gomp_iter_ull_guided_next): New prototypes.
15341 (gomp_new_icv): New prototype.
15342 (struct gomp_thread): Add thread_pool and task fields.
15343 (struct gomp_thread_pool): New type.
15344 (gomp_new_team): New prototype.
15345 (gomp_team_start): Change type of last argument.
15346 (gomp_new_work_share): Removed.
15347 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
15348 (gomp_work_share_init_done): New static inline.
15349 (gomp_throttled_spin_count_var, gomp_available_cpus,
15350 gomp_managed_threads): New extern decls.
15351 (gomp_init_task): New prototype.
15352 (gomp_spin_count_var): New extern var decl.
15353 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
15354 or no alias support, or if not PIC.
15355 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
15356 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
15357 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
15358 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
15359 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
15360 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
15361 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
15362 gomp_test_nest_lock_25): New prototypes.
15363 (omp_lock_symver, strong_alias): Define.
15364 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
15365 decls.
15366 (gomp_end_task): New.
15367 (struct gomp_task_icv, gomp_global_icv): New.
15368 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
15369 (struct gomp_task): New.
15370 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15371 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15372 (gomp_icv): New.
15373 (gomp_schedule_type): Reorder enum to match
15374 omp_sched_t.
15375 * team.c (struct gomp_thread_start_data): Add thread_pool and task
15376 fields.
15377 (gomp_thread_start): Add gomp_team_barrier_wait call.
15378 For non-nested case remove clearing of docked thread thr fields.
15379 Use pool fields instead of global gomp_* variables. Use
15380 gomp_barrier_wait_last when needed. Initialize ts.active_level.
15381 Create tasks for each member thread.
15382 (free_team): Only destroy team barrier, task_lock here and free it.
15383 (gomp_free_thread): Free last_team if non-NULL.
15384 (gomp_team_end): Call gomp_team_barrier_wait instead of
15385 gomp_barrier_wait. For nested case call one extra
15386 gomp_barrier_wait. Move here some destruction from free_team.
15387 Call free_team on pool->last_team if any, rather than freeing
15388 current team. Destroy work_share_list_free_lock ifndef
15389 HAVE_SYNC_BUILTINS.
15390 (gomp_new_icv): New function.
15391 (gomp_threads, gomp_threads_size, gomp_threads_used,
15392 gomp_threads_dock): Removed.
15393 (gomp_thread_destructor): New variable.
15394 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
15395 functions.
15396 (gomp_team_start): Create new pool if current thread doesn't have
15397 one. Use pool fields instead of global gomp_* variables.
15398 Initialize thread_pool field for new threads. Clear single_count.
15399 Change last argument from ws to team, don't create
15400 new team, set ts.work_share to &team->work_shares[0] and clear
15401 ts.last_work_share. Don't clear ts.work_share_generation.
15402 If number of threads changed, adjust atomically gomp_managed_threads.
15403 Use gomp_init_task instead of gomp_new_task,
15404 set thr->task to the corresponding implicit_task array entry.
15405 Create tasks for each member thread. Initialize ts.level.
15406 (initialize_team): Call pthread_key_create on
15407 gomp_thread_destructor.
15408 (team_destructor): New function.
15409 (new_team): Removed.
15410 (gomp_new_team): New function.
15411 (free_team): Free gomp_work_share blocks chained through next_alloc,
15412 instead of freeing work_shares and destroying work_share_lock.
15413 (gomp_team_end): Call gomp_fini_work_share. If number of threads
15414 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
15415 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
15416 of gomp_barrier_wait.
15417 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
15418 instead of gomp_barrier_wait. Call gomp_work_share_init_done
15419 if gomp_work_share_start returned true. Don't unlock ws->lock.
15420 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
15421 of gomp_barrier_wait.
15422 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
15423 gomp_work_share_init_done if gomp_work_share_start returned true.
15424 Don't unlock ws->lock.
15425 * work.c: Include stddef.h.
15426 (free_work_share): Use work_share_list_free_lock instead
15427 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
15428 Call gomp_fini_work_share and then either free ws if orphaned, or
15429 put it into work_share_list_free list of the current team.
15430 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
15431 functions.
15432 (gomp_work_share_start, gomp_work_share_end,
15433 gomp_work_share_end_nowait): Rewritten.
15434 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
15435 (openmp_version): Set to 200805.
15436 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15437 omp_sched_guided, omp_sched_auto): New parameters.
15438 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15439 omp_set_max_active_levels, omp_get_max_active_levels,
15440 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15441 omp_get_active_level): New interfaces.
15442 * omp_lib.h.in (openmp_version): Set to 200805.
15443 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15444 omp_sched_guided, omp_sched_auto): New parameters.
15445 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15446 omp_set_max_active_levels, omp_get_max_active_levels,
15447 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15448 omp_get_active_level): New externals.
15449 * loop.c: Include limits.h.
15450 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
15451 GFS_AUTO.
15452 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
15453 Likewise. Use gomp_icv.
15454 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
15455 ts.static_trip here.
15456 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
15457 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
15458 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
15459 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
15460 don't unlock ws->lock, otherwise lock it.
15461 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
15462 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
15463 (gomp_parallel_loop_start): Call gomp_new_team instead of
15464 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
15465 Adjust gomp_team_start caller. Pass 0 as second argument to
15466 gomp_resolve_num_threads.
15467 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
15468 If adding ws->chunk_size nthreads + 1 times after end won't
15469 overflow, set ws->mode to 1.
15470 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
15471 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
15472 GOMP_loop_ull_ordered_static_start,
15473 GOMP_loop_ull_ordered_dynamic_start,
15474 GOMP_loop_ull_ordered_guided_start,
15475 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
15476 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
15477 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
15478 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
15479 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
15480 prototypes.
15481 * libgomp.map: Export lock routines also @@OMP_2.0.
15482 (GOMP_loop_ordered_dynamic_first,
15483 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
15484 GOMP_loop_ordered_static_first): Remove.
15485 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
15486 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
15487 GOMP_loop_ull_ordered_dynamic_next,
15488 GOMP_loop_ull_ordered_dynamic_start,
15489 GOMP_loop_ull_ordered_guided_next,
15490 GOMP_loop_ull_ordered_guided_start,
15491 GOMP_loop_ull_ordered_runtime_next,
15492 GOMP_loop_ull_ordered_runtime_start,
15493 GOMP_loop_ull_ordered_static_next,
15494 GOMP_loop_ull_ordered_static_start,
15495 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
15496 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
15497 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
15498 (omp_set_schedule, omp_get_schedule,
15499 omp_get_thread_limit, omp_set_max_active_levels,
15500 omp_get_max_active_levels, omp_get_level,
15501 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
15502 omp_set_schedule_, omp_set_schedule_8_,
15503 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15504 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15505 omp_get_max_active_levels_, omp_get_level_,
15506 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15507 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15508 New exports @@OMP_3.0.
15509 * omp.h.in (omp_sched_t): New type.
15510 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15511 omp_set_max_active_levels, omp_get_max_active_levels,
15512 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15513 omp_get_active_level): New prototypes.
15514 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
15515 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
15516 gomp_thread_limit_var, gomp_remaining_threads_count,
15517 gomp_remaining_threads_lock): New variables.
15518 (parse_spincount): New function.
15519 (initialize_env): Call gomp_init_num_threads unconditionally.
15520 Initialize gomp_available_cpus. Call parse_spincount,
15521 initialize gomp_{,throttled_}spin_count_var
15522 depending on presence and value of OMP_WAIT_POLICY and
15523 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
15524 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
15525 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
15526 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
15527 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
15528 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15529 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15530 (gomp_global_icv): New.
15531 (parse_schedule): Use it. Parse "auto".
15532 (omp_set_num_threads): Use gomp_icv.
15533 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
15534 Likewise.
15535 (omp_get_max_threads): Move from parallel.c.
15536 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15537 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
15538 add ialias.
15539 (parse_stacksize, parse_wait_policy): New functions.
15540 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
15541 both wrappers for compatibility and new locks.
15542 (omp_set_schedule, omp_get_schedule,
15543 omp_get_thread_limit, omp_set_max_active_levels,
15544 omp_get_max_active_levels, omp_get_level,
15545 omp_get_ancestor_thread_num, omp_get_team_size,
15546 omp_get_active_level): New ialias_redirect.
15547 (omp_set_schedule_, omp_set_schedule_8_,
15548 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15549 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15550 omp_get_max_active_levels_, omp_get_level_,
15551 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15552 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15553 New functions.
15554 * parallel.c: Include limits.h.
15555 (gomp_resolve_num_threads): Add count argument. Rewritten.
15556 (GOMP_parallel_start): Call gomp_new_team and pass that as last
15557 argument to gomp_team_start. Pass 0 as second argument to
15558 gomp_resolve_num_threads.
15559 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
15560 if gomp_thread_limit_var != ULONG_MAX.
15561 (omp_in_parallel): Implement using ts.active_level.
15562 (omp_get_max_threads): Move to env.c.
15563 (omp_get_level, omp_get_ancestor_thread_num,
15564 omp_get_team_size, omp_get_active_level): New functions,
15565 add ialias.
15566 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
15567 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
15568 gomp_iter_dynamic_next instead of the _locked variant and don't take
15569 lock around it, otherwise acquire it before calling
15570 gomp_iter_dynamic_next_locked.
15571 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
15572 gomp_iter_dynamic_next instead of the _locked variant and don't take
15573 lock around it.
15574 (GOMP_parallel_sections_start): Call gomp_new_team instead of
15575 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
15576 Adjust gomp_team_start caller. Pass count as second argument to
15577 gomp_resolve_num_threads, don't adjust num_threads after the call.
15578 Use gomp_icv.
15579 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
15580 ws->chunk_size by incr.
15581 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
15582 code.
15583 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
15584 types.
15585 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
15586 (omp_check_defines): Check even the compat defines.
15587 * config/linux/ptrlock.c: New file.
15588 * config/linux/ptrlock.h: New file.
15589 * config/linux/wait.h: New file.
15590 * config/posix/ptrlock.c: New file.
15591 * config/posix/ptrlock.h: New file.
15592 * config/linux/bar.h (gomp_team_barrier_wait,
15593 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15594 (gomp_team_barrier_set_task_pending,
15595 gomp_team_barrier_clear_task_pending,
15596 gomp_team_barrier_set_waiting_for_tasks,
15597 gomp_team_barrier_waiting_for_tasks,
15598 gomp_team_barrier_done): New inlines.
15599 (gomp_barrier_t): Rewritten.
15600 (gomp_barrier_state_t): New typedef.
15601 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
15602 gomp_barrier_wait_start): Rewritten.
15603 (gomp_barrier_wait_end): Change second argument to
15604 gomp_barrier_state_t.
15605 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15606 inlines.
15607 * config/linux/bar.c: Include wait.h instead of libgomp.h and
15608 futex.h.
15609 (gomp_barrier_wait_end): Rewritten.
15610 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15611 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
15612 * config/posix/bar.h (gomp_barrier_t): Add generation field.
15613 (gomp_barrier_state_t): New typedef.
15614 (gomp_team_barrier_wait,
15615 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15616 (gomp_barrier_wait_start): Or all but low 2 bits from generation
15617 into the return value. Return gomp_barrier_state_t.
15618 (gomp_team_barrier_set_task_pending,
15619 gomp_team_barrier_clear_task_pending,
15620 gomp_team_barrier_set_waiting_for_tasks,
15621 gomp_team_barrier_waiting_for_tasks,
15622 gomp_team_barrier_done): New inlines.
15623 (gomp_barrier_wait_end): Change second argument to
15624 gomp_barrier_state_t.
15625 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15626 inlines.
15627 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
15628 (gomp_barrier_wait_end): Change second argument to
15629 gomp_barrier_state_t.
15630 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15631 gomp_team_barrier_wake): New functions.
15632 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
15633 futex.h.
15634 (gomp_futex_wake, gomp_futex_wait): New variables.
15635 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
15636 * config/linux/lock.c: Rewrite to make locks task owned,
15637 for backwards compatibility provide the old entrypoints
15638 if symbol versioning. Include wait.h instead of libgomp.h and
15639 futex.h.
15640 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
15641 * config/posix95/lock.c: Rewrite to make locks task owned,
15642 for backwards compatibility provide the old entrypoints
15643 if symbol versioning.
15644 * config/posix/lock.c: Rewrite to make locks task owned,
15645 for backwards compatibility provide the old entrypoints
15646 if symbol versioning.
15647 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
15648 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
15649 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
15650 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15651 (sys_futex0): Return error code.
15652 (futex_wake, futex_wait): If ENOSYS was returned, clear
15653 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15654 (cpu_relax, atomic_write_barrier): New static inlines.
15655 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15656 (futex_wake, futex_wait): If ENOSYS was returned, clear
15657 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15658 (cpu_relax, atomic_write_barrier): New static inlines.
15659 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15660 (sys_futex0): Return error code.
15661 (futex_wake, futex_wait): If ENOSYS was returned, clear
15662 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15663 (cpu_relax, atomic_write_barrier): New static inlines.
15664 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15665 (sys_futex0): Return error code.
15666 (futex_wake, futex_wait): If ENOSYS was returned, clear
15667 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15668 (cpu_relax, atomic_write_barrier): New static inlines.
15669 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15670 (sys_futex0): Return error code.
15671 (futex_wake, futex_wait): If ENOSYS was returned, clear
15672 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15673 (cpu_relax, atomic_write_barrier): New static inlines.
15674 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15675 (sys_futex0): Return error code.
15676 (futex_wake, futex_wait): If ENOSYS was returned, clear
15677 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15678 (cpu_relax, atomic_write_barrier): New static inlines.
15679 * config/linux/sem.c: Include wait.h instead of libgomp.h and
15680 futex.h.
15681 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
15682 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
15683 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
15684 types.
15685 (omp_nest_lock_t): Change owner into void *, add lock field.
15686 * config/posix95/omp-lock.h: Include semaphore.h.
15687 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15688 (omp_lock_t): Use sem_t instead of mutex if semaphores
15689 aren't broken.
15690 (omp_nest_lock_t): Likewise. Change owner to void *.
15691 * config/posix/omp-lock.h: Include semaphore.h.
15692 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15693 (omp_lock_t): Use sem_t instead of mutex if semaphores
15694 aren't broken.
15695 (omp_nest_lock_t): Likewise. Add owner field.
15696
15697 2008-06-06 Jakub Jelinek <jakub (a] redhat.com>
15698
15699 * testsuite/libgomp.c/collapse-1.c: New test.
15700 * testsuite/libgomp.c/collapse-2.c: New test.
15701 * testsuite/libgomp.c/collapse-3.c: New test.
15702 * testsuite/libgomp.c/icv-1.c: New test.
15703 * testsuite/libgomp.c/icv-2.c: New test.
15704 * testsuite/libgomp.c/lib-2.c: New test.
15705 * testsuite/libgomp.c/lock-1.c: New test.
15706 * testsuite/libgomp.c/lock-2.c: New test.
15707 * testsuite/libgomp.c/lock-3.c: New test.
15708 * testsuite/libgomp.c/loop-4.c: New test.
15709 * testsuite/libgomp.c/loop-5.c: New test.
15710 * testsuite/libgomp.c/loop-6.c: New test.
15711 * testsuite/libgomp.c/loop-7.c: New test.
15712 * testsuite/libgomp.c/loop-8.c: New test.
15713 * testsuite/libgomp.c/loop-9.c: New test.
15714 * testsuite/libgomp.c/nested-3.c: New test.
15715 * testsuite/libgomp.c/nestedfn-6.c: New test.
15716 * testsuite/libgomp.c/sort-1.c: New test.
15717 * testsuite/libgomp.c/task-1.c: New test.
15718 * testsuite/libgomp.c/task-2.c: New test.
15719 * testsuite/libgomp.c/task-3.c: New test.
15720 * testsuite/libgomp.c/task-4.c: New test.
15721 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
15722 to C++ testsuite default compiler options.
15723 * testsuite/libgomp.c++/collapse-1.C: New test.
15724 * testsuite/libgomp.c++/collapse-2.C: New test.
15725 * testsuite/libgomp.c++/ctor-10.C: New test.
15726 * testsuite/libgomp.c++/for-1.C: New test.
15727 * testsuite/libgomp.c++/for-2.C: New test.
15728 * testsuite/libgomp.c++/for-3.C: New test.
15729 * testsuite/libgomp.c++/for-4.C: New test.
15730 * testsuite/libgomp.c++/for-5.C: New test.
15731 * testsuite/libgomp.c++/loop-8.C: New test.
15732 * testsuite/libgomp.c++/loop-9.C: New test.
15733 * testsuite/libgomp.c++/loop-10.C: New test.
15734 * testsuite/libgomp.c++/task-1.C: New test.
15735 * testsuite/libgomp.c++/task-2.C: New test.
15736 * testsuite/libgomp.c++/task-3.C: New test.
15737 * testsuite/libgomp.c++/task-4.C: New test.
15738 * testsuite/libgomp.c++/task-5.C: New test.
15739 * testsuite/libgomp.c++/task-6.C: New test.
15740 * testsuite/libgomp.fortran/allocatable1.f90: New test.
15741 * testsuite/libgomp.fortran/allocatable2.f90: New test.
15742 * testsuite/libgomp.fortran/allocatable3.f90: New test.
15743 * testsuite/libgomp.fortran/allocatable4.f90: New test.
15744 * testsuite/libgomp.fortran/collapse1.f90: New test.
15745 * testsuite/libgomp.fortran/collapse2.f90: New test.
15746 * testsuite/libgomp.fortran/collapse3.f90: New test.
15747 * testsuite/libgomp.fortran/collapse4.f90: New test.
15748 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
15749 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
15750 * testsuite/libgomp.fortran/lib4.f90: New test.
15751 * testsuite/libgomp.fortran/lock-1.f90: New test.
15752 * testsuite/libgomp.fortran/lock-2.f90: New test.
15753 * testsuite/libgomp.fortran/nested1.f90: New test.
15754 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
15755 * testsuite/libgomp.fortran/strassen.f90: New test.
15756 * testsuite/libgomp.fortran/tabs1.f90: New test.
15757 * testsuite/libgomp.fortran/tabs2.f: New test.
15758 * testsuite/libgomp.fortran/task1.f90: New test.
15759 * testsuite/libgomp.fortran/task2.f90: New test.
15760 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
15761 * testsuite/libgomp.fortran/vla5.f90: Likewise.
15762 * testsuite/libgomp.c/pr26943-2.c: Likewise.
15763 * testsuite/libgomp.c/pr26943-3.c: Likewise.
15764 * testsuite/libgomp.c/pr26943-4.c: Likewise.
15765
15766 2008-05-23 Jakub Jelinek <jakub (a] redhat.com>
15767
15768 PR c++/36308
15769 * testsuite/libgomp.c++/ctor-11.C: New test.
15770 * testsuite/libgomp.c++/ctor-12.C: New test.
15771
15772 2008-05-15 Janis Johnson <janis187 (a] us.ibm.com>
15773
15774 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
15775
15776 2008-05-07 Jakub Jelinek <jakub (a] redhat.com>
15777
15778 PR middle-end/36106
15779 * testsuite/libgomp.c/atomic-5.c: New test.
15780 * testsuite/libgomp.c/atomic-6.c: New test.
15781 * testsuite/libgomp.c/autopar-1.c: New test.
15782
15783 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15784
15785 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
15786 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
15787 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
15788 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
15789 * configure: Regenerate.
15790 * Makefile.in, testsuite/Makefile.in: Likewise.
15791
15792 2008-04-18 Paolo Bonzini <bonzini (a] gnu.org>
15793
15794 PR bootstrap/35457
15795 * aclocal.m4: Regenerate.
15796 * configure: Regenerate.
15797
15798 2008-03-18 Jakub Jelinek <jakub (a] redhat.com>
15799
15800 PR middle-end/35611
15801 * testsuite/libgomp.c/atomic-4.c: New test.
15802
15803 PR libgomp/35625
15804 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
15805 (gomp_iter_guided_next): Likewise.
15806 * testsuite/libgomp.c/pr35625.c: New test.
15807
15808 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
15809
15810 * aclocal.m4: Regenerate.
15811 * configure: Likewise.
15812 * Makefile.in: Likewise.
15813 * testsuite/Makefile.in: Likewise.
15814
15815 2008-03-13 Jakub Jelinek <jakub (a] redhat.com>
15816
15817 PR middle-end/35185
15818 * testsuite/libgomp.c++/pr35185.C: New test.
15819
15820 2008-03-12 Jakub Jelinek <jakub (a] redhat.com>
15821
15822 PR middle-end/35549
15823 * testsuite/libgomp.c/pr35549.c: New test.
15824
15825 2008-03-06 Jakub Jelinek <jakub (a] redhat.com>
15826
15827 * testsuite/libgomp.c/atomic-3.c: New test.
15828
15829 2008-03-03 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
15830
15831 PR fortran/33197
15832 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
15833 .F08 file suffixes.
15834
15835 2008-03-03 Peter O'Gorman <pogma (a] thewrittenword.com>
15836
15837 PR libgomp/33131
15838 * configure.ac: Add ACX_HEADER_STRING.
15839 * env.c: Include strings.h.
15840 * aclocal.m4: Regenerate.
15841 * config.h.in: Regenerate.
15842 * configure: Regenerate.
15843 * Makefile.in: Regenerate.
15844 * testsuite/Makefile.in: Regenerate.
15845
15846 2008-02-15 Jakub Jelinek <jakub (a] redhat.com>
15847
15848 PR middle-end/35196
15849 * testsuite/libgomp.c/pr35196.c: New test.
15850
15851 PR middle-end/35130
15852 * testsuite/libgomp.fortran/pr35130.f90: New test.
15853 * testsuite/libgomp.c/pr35130.c: New test.
15854
15855 2008-01-25 Jakub Jelinek <jakub (a] redhat.com>
15856
15857 PR middle-end/33880
15858 * testsuite/libgomp.c/pr33880.c: New test.
15859 * testsuite/libgomp.fortran/pr33880.f90: New test.
15860
15861 2008-01-24 David Edelsohn <edelsohn (a] gnu.org>
15862
15863 * configure: Regenerate.
15864
15865 2008-01-08 Jakub Jelinek <jakub (a] redhat.com>
15866
15867 * configure.ac: Move futex checking into ../config/futex.m4.
15868 * configure: Rebuilt.
15869 * aclocal.m4: Rebuilt.
15870 * Makefile.in: Rebuilt.
15871
15872 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
15873 2007-10-15 ../config/tls.m4 change.
15874
15875 2007-12-19 Jakub Jelinek <jakub (a] redhat.com>
15876
15877 PR c++/34513
15878 * testsuite/libgomp.c/pr34513.c: New test.
15879 * testsuite/libgomp.c++/pr34513.C: New test.
15880
15881 2007-12-17 Jack Howarth <howarth (a] bromo.med.uc.edu>
15882
15883 PR target/32765
15884 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
15885
15886 2007-12-04 Jakub Jelinek <jakub (a] redhat.com>
15887
15888 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
15889
15890 2007-12-03 Jakub Jelinek <jakub (a] redhat.com>
15891
15892 * testsuite/libgomp.c/private-1.c: New test.
15893
15894 2007-11-29 Andris Pavenis <andris.pavenis (a] iki.fi>
15895 Paolo Bonzini <bonzini (a] gnu.org>
15896
15897 * Makefile.am: Use space as vpath separator. Use 'vpath %'
15898 instead of 'VPATH ='.
15899 * Makefile.in: Regenerate.
15900
15901 2007-11-23 Matthias Klose <doko (a] ubuntu.com>
15902
15903 * configure.ac: Adjust makeinfo version check.
15904 * configure: Regenerate.
15905
15906 2007-11-10 Jakub Jelinek <jakub (a] redhat.com>
15907
15908 PR fortran/34020
15909 * testsuite/libgomp.fortran/pr34020.f90: New test.
15910
15911 2007-11-06 Jakub Jelinek <jakub (a] redhat.com>
15912
15913 PR c++/33894
15914 * testsuite/libgomp.c++/atomic-1.C: New test.
15915
15916 2007-10-25 Jakub Jelinek <jakub (a] redhat.com>
15917
15918 PR libgomp/33275
15919 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
15920 Make x and y integers rather than (implicit) reals. Add private (j)
15921 clause to the last omp parallel.
15922
15923 2007-10-15 Maciej W. Rozycki <macro (a] linux-mips.org>
15924
15925 * configure: Regenerate following changes to ../config/tls.m4.
15926
15927 2007-09-28 Jakub Jelinek <jakub (a] redhat.com>
15928
15929 * testsuite/libgomp.fortran/stack.f90: New test.
15930
15931 2007-09-10 Danny Smith <dannysmith (a] users.sourceforge.net>
15932
15933 * config/mingw32/proc.c: New file.
15934
15935 2007-09-05 Uros Bizjak <ubizjak (a] gmail.com>
15936
15937 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
15938 (main): Use __get_cpuid to get i386 target fetaures.
15939 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
15940 (main): Use __get_cpuid to get x86_64 target fetaures.
15941
15942 2007-08-15 Jack Howarth <howarth (a] bromo.med.uc.edu>
15943
15944 PR target/32765
15945 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
15946 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
15947
15948 2007-07-12 Jakub Jelinek <jakub (a] redhat.com>
15949
15950 PR fortran/32550
15951 * testsuite/libgomp.fortran/pr32550.f90: New test.
15952 * testsuite/libgomp.fortran/crayptr2.f90: New test.
15953
15954 2007-07-05 H.J. Lu <hongjiu.lu (a] intel.com>
15955
15956 * aclocal.m4: Regenerated.
15957
15958 2007-07-05 Tobias Burnus <burnus (a] net-b.de>
15959
15960 PR fortran/32359
15961 * testsuite/libgomp.fortran/pr32359.f90: New.
15962
15963 2007-07-02 Jakub Jelinek <jakub (a] redhat.com>
15964
15965 PR libgomp/32468
15966 * sections.c (GOMP_parallel_sections_start): Only decrease
15967 number of threads to COUNT if dyn_var is true.
15968 * testsuite/libgomp.c/pr32468.c: New test.
15969
15970 2007-07-02 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
15971
15972 PR libgomp/26308
15973 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
15974
15975 2007-06-21 Jakub Jelinek <jakub (a] redhat.com>
15976
15977 PR middle-end/32362
15978 * testsuite/libgomp.c/pr32362-1.c: New test.
15979 * testsuite/libgomp.c/pr32362-2.c: New test.
15980 * testsuite/libgomp.c/pr32362-3.c: New test.
15981
15982 2007-06-07 Jakub Jelinek <jakub (a] redhat.com>
15983
15984 * team.c (gomp_team_start): Fix setting up thread_attr
15985 stack size.
15986
15987 2007-06-02 Paolo Bonzini <bonzini (a] gnu.org>
15988
15989 * configure: Regenerate.
15990
15991 2007-05-23 Steve Ellcey <sje (a] cup.hp.com>
15992
15993 * Makefile.in: Regenerate.
15994 * configure: Regenerate.
15995 * aclocal.m4: Regenerate.
15996 * testsuite/Makefile.in: Regenerate.
15997
15998 2007-05-04 Jakub Jelinek <jakub (a] redhat.com>
15999
16000 * config/linux/proc.c: New file.
16001
16002 PR libgomp/28482
16003 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
16004
16005 2007-04-19 Daniel Franke <franke.daniel (a] gmail.com>
16006
16007 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
16008
16009 2007-04-16 Matthias Klose <doko (a] debian.org>
16010
16011 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
16012 flags if not building with -m64.
16013 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
16014 flag for i?86-*-* targets, if current target matches -m64.
16015
16016 2007-04-14 Steve Ellcey <sje (a] cup.hp.com>
16017
16018 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
16019 * Makefile.in: Regenerate.
16020
16021 2007-04-07 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca>
16022
16023 PR testsuite/31369
16024 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
16025 ld_library_path.
16026 * testsuite/libgomp.fortran/fortran.exp: Likewise.
16027
16028 2007-04-04 Jakub Jelinek <jakub (a] redhat.com>
16029
16030 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
16031 decls.
16032 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
16033 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
16034 (parse_affinity): New function.
16035 (initialize_env): Call it and gomp_init_affinity.
16036 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
16037 create new pthread_attr_t and call gomp_init_thread_affinity
16038 on it for each thread before passing the attribute to pthread_create.
16039 * config/linux/affinity.c: New file.
16040 * config/posix/affinity.c: New file.
16041 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
16042 * configure: Rebuilt.
16043 * config.h.in: Rebuilt.
16044 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
16045 * Makefile.in: Rebuilt.
16046
16047 2007-03-23 Andreas Tobler <a.tobler (a] schweiz.org>
16048
16049 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
16050 *-*-darwin*.
16051 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
16052 and use it if found.
16053
16054 2007-03-18 Uros Bizjak <ubizjak (a] gmail.com>
16055
16056 * testsuite/config/default.exp: New file.
16057 * testsuite/lib/libgomp.exp: New file.
16058 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
16059 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
16060 load_lib *, load_gcc_lib *): Move to libgomp.exp.
16061 (libgomp_load): Remove.
16062 * testsuite/lib/libgomp.exp (libgomp_init): Compute
16063 always_ld_library_path, not ld_library_path. Set additional_flags
16064 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
16065 (target_compile): Do not call libgomp_init. Append lang_library_path
16066 and lang_link_flags to options.
16067 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
16068 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
16069 here.
16070 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
16071 always_ld_library_path. Set LD_LIBRARY_PATH here.
16072 * testsuite/libgomp.fortran/fortran.exp: Ditto.
16073 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
16074 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
16075 CX8 flag.
16076 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
16077 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
16078 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
16079 * testsuite/libgomp.c/pr29947-1.c: Ditto.
16080 * testsuite/libgomp.c/atomic-10.c: Ditto.
16081
16082 2007-03-21 Jakub Jelinek <jakub (a] redhat.com>
16083
16084 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
16085 dg-final cleanup-modules line.
16086 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
16087 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
16088 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
16089 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
16090 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
16091 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
16092 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
16093
16094 2007-03-18 Andreas Schwab <schwab (a] suse.de>
16095
16096 * acinclude.m4: Adjust regular expression for ld version
16097 extraction.
16098 * configure: Regenerate.
16099
16100 2007-03-01 Brooks Moses <brooks.moses (a] codesourcery.com>
16101
16102 * Makefile.am: Add install-pdf target as copied from
16103 automake v1.10 rules.
16104 * Makefile.in: Regenerate
16105
16106 2007-02-07 Jakub Jelinek <jakub (a] redhat.com>
16107
16108 PR libgomp/28486
16109 * configure: Regenerate.
16110
16111 PR c++/30703
16112 * testsuite/libgomp.c++/pr30703.C: New test.
16113
16114 2007-02-02 Jakub Jelinek <jakub (a] redhat.com>
16115
16116 Revert:
16117 2006-07-05 Eric Christopher <echristo (a] apple.com>
16118 * configure.ac: Depend addition of -pthread on host OS.
16119 * configure: Regenerate.
16120
16121 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
16122
16123 * libgomp.texi: Fix spacing after abbreviations.
16124
16125 2007-01-31 Daniel Franke <franke.daniel (a] gmail.com>
16126
16127 PR libgomp/30546
16128 * configure.ac: Add check for makeinfo
16129 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
16130 if an appropriate version of makeinfo is found.
16131 * aclocal.m4: Regenerated.
16132 * configure: Regenerated.
16133 * Makefile.in: Regenerated.
16134 * testsuite/Makefile.in: Regenerated.
16135
16136 2007-01-29 Daniel Franke <franke.daniel (a] gmail.com>
16137
16138 PR libgomp/30540
16139 * libgomp.texi: More about implementation-dependent settings.
16140
16141 2007-01-26 Tobias Burnus <burnus (a] net-b.de>
16142
16143 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
16144
16145 2007-01-24 Jakub Jelinek <jakub (a] redhat.com>
16146
16147 PR middle-end/30494
16148 * testsuite/libgomp.c/pr30494.c: New test.
16149
16150 2007-01-15 Tom Tromey <tromey (a] redhat.com>
16151
16152 * configure: Rebuilt.
16153 * configure.ac: Fixed comment.
16154
16155 2007-01-14 Daniel Franke <franke.daniel (a] gmail.com>
16156
16157 * libgomp.texi: Document implementation specific default values of
16158 environment variables.
16159
16160 2006-12-21 Daniel Franke <franke.daniel (a] gmail.com>
16161
16162 PR libgomp/28209
16163 * libgomp.texi: New file.
16164 * configure.ac: Add --enable-generated-files-in-srcdir option.
16165 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
16166 files to srcdir.
16167 * Makefile.in: Regenerated.
16168 * config.h.in: Regenerated.
16169 * testsuite/Makefile.in: Regenerated.
16170 * NOTES: Removed.
16171
16172 2006-12-04 Daniel Franke <franke.daniel (a] gmail.com>
16173
16174 PR libgomp/29949
16175 * env.c (omp_set_num_threads): Set illegal thread count to 1.
16176
16177 2006-12-04 Eric Botcazou <ebotcazou (a] libertysurf.fr>
16178
16179 * configure: Regenerate.
16180
16181 2006-12-04 Jakub Jelinek <jakub (a] redhat.com>
16182
16183 PR libgomp/29947
16184 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
16185 start if there shouldn't be any loop iterations.
16186 (gomp_loop_ordered_static_start): Remove start == end test.
16187 * testsuite/libgomp.c/pr29947-1.c: New test.
16188 * testsuite/libgomp.c/pr29947-2.c: New test.
16189
16190 2006-12-02 Eric Botcazou <ebotcazou (a] libertysurf.fr>
16191
16192 * configure.tgt: Force initial-exec TLS model on Linux only.
16193
16194 2006-11-13 Daniel Jacobowitz <dan (a] codesourcery.com>
16195
16196 * configure: Regenerated.
16197
16198 2006-11-09 Uros Bizjak <ubizjak (a] gmail.com>
16199
16200 * env.c (parse_schedule): Reject out of range values.
16201 (parse_unsigned_long): Reject out of range, negative or zero values.
16202
16203 2006-10-29 Jakub Jelinek <jakub (a] redhat.com>
16204
16205 PR fortran/29629
16206 * testsuite/libgomp.fortran/pr29629.f90: New test.
16207
16208 2006-10-24 Eric Botcazou <ebotcazou (a] libertysurf.fr>
16209
16210 PR libgomp/29494
16211 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
16212 * config/posix95: New directory.
16213 * config/posix95/omp-lock.h: New file.
16214 * config/posix95/lock.c: Likewise.
16215
16216 2006-10-14 Geoffrey Keating <geoffk (a] apple.com>
16217
16218 * aclocal.m4: Regenerate.
16219 * configure: Regenerate.
16220
16221 2006-10-05 Danny Smith <dannysmith (a] users.sourceforge.net>
16222
16223 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
16224 '<' to '<='.
16225
16226 2006-10-05 Danny Smith <dannysmith (a] users.sourceforge.net>
16227
16228 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
16229 test.
16230 * configure: Regenerate.
16231 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
16232
16233 2006-09-26 Jakub Jelinek <jakub (a] redhat.com>
16234
16235 PR middle-end/25261
16236 PR middle-end/28790
16237 * testsuite/libgomp.c/nestedfn-4.c: New test.
16238 * testsuite/libgomp.c/nestedfn-5.c: New test.
16239 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
16240
16241 PR fortran/29097
16242 * testsuite/libgomp.fortran/condinc1.f: New test.
16243 * testsuite/libgomp.fortran/condinc2.f: New test.
16244 * testsuite/libgomp.fortran/condinc3.f90: New test.
16245 * testsuite/libgomp.fortran/condinc4.f90: New test.
16246 * testsuite/libgomp.fortran/condinc1.inc: New file.
16247
16248 2006-09-18 Tom Tromey <tromey (a] redhat.com>
16249
16250 * configure: Rebuilt.
16251
16252 2006-09-13 Joseph S. Myers <joseph (a] codesourcery.com>
16253
16254 PR c/28768
16255 PR preprocessor/14634
16256 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
16257 to AC_DEFINE.
16258 * configure: Regenerate.
16259
16260 2006-09-08 Steven G. Kargl <kargl (a] gcc.gnu.org>
16261
16262 * testsuite/libgomp.fortran/reduction3.f90: Change
16263 -2147483648 to -huge(i)-1 to avoid overflow.
16264 * testsuite/libgomp.fortran/reduction4.f90: Change
16265 Z'ffffffff' to not(0) to avoid overflow.
16266
16267 2006-08-26 Joseph S. Myers <joseph (a] codesourcery.com>
16268
16269 PR libgomp/25938
16270 * Makefile.am (libsubincludedir): New.
16271 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
16272 * Makefile.in: Regenerate.
16273
16274 2006-08-17 Jakub Jelinek <jakub (a] redhat.com>
16275
16276 PR libgomp/28725
16277 * env.c: Include ctype.h.
16278 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
16279 leading and/or trailing whitespace and compare strings case
16280 insensitively.
16281
16282 2006-07-16 Jakub Jelinek <jakub (a] redhat.com>
16283
16284 PR fortran/28390
16285 * testsuite/libgomp.fortran/pr28390.f: New test.
16286
16287 2006-07-05 Eric Christopher <echristo (a] apple.com>
16288
16289 * configure.ac: Depend addition of -pthread on host OS.
16290 * configure: Regenerate.
16291
16292 2006-06-21 Jakub Jelinek <jakub (a] redhat.com>
16293
16294 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
16295 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
16296 defined.
16297
16298 2006-06-20 Jakub Jelinek <jakub (a] redhat.com>
16299
16300 PR libgomp/26175
16301 PR libgomp/26477
16302 * configure.ac: If neither --enable-linux-futex nor
16303 --disable-linux-futex is passed, determine the default by checking
16304 for compiling and/or running against NPTL. With --enable-linux-futex,
16305 check if SYS_gettid and SYS_futex are defined.
16306 * configure: Rebuilt.
16307
16308 2006-06-14 Richard Henderson <rth (a] redhat.com>
16309
16310 PR libgomp/28008
16311 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
16312 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
16313
16314 2006-06-09 Richard Henderson <rth (a] redhat.com>
16315
16316 * env.c (gomp_nthreads_var): Change to unsigned long.
16317 (gomp_run_sched_chunk): Likewise.
16318 (parse_unsigned_long): Rename from parse_num_threads and generalize.
16319 (initialize_env): Initialize gomp_thread_attr.
16320 * libgomp.h (gomp_nthreads_var): Update decl.
16321 (gomp_run_sched_chunk): Likewise.
16322 (gomp_thread_attr): Declare.
16323 * team.c (gomp_thread_attr): Export.
16324 (initialize_team): Don't initialize it.
16325
16326 2006-06-09 Jakub Jelinek <jakub (a] redhat.com>
16327
16328 PR fortran/27916
16329 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
16330 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
16331
16332 2006-06-06 Francois-Xavier Coudert <coudert (a] clipper.ens.fr>
16333
16334 * config/mingw32/time.c: New file.
16335 * configure.tgt: Use it.
16336
16337 2006-05-23 Carlos O'Donell <carlos (a] codesourcery.com>
16338
16339 * Makefile.am: Add install-html target. Add install-html to .PHONY
16340 * Makefile.in: Regenerate.
16341
16342 2006-05-22 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca>
16343
16344 PR libgomp/27612
16345 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
16346 * testsuite/libgomp.c/critical-1.c: Likewise.
16347 * testsuite/libgomp.c/loop-1.c: Likewise.
16348 * testsuite/libgomp.c/loop-2.c: Likewise.
16349 * testsuite/libgomp.c/single-1.c: Likewise.
16350 * testsuite/libgomp.c/ordered-1.c: Likewise.
16351 * testsuite/libgomp.c/ordered-2.c: Likewise.
16352
16353 2006-05-15 Jakub Jelinek <jakub (a] redhat.com>
16354
16355 PR middle-end/27416
16356 * libgomp.fortran/pr27416-1.f90: New test.
16357
16358 2006-05-03 Jakub Jelinek <jakub (a] redhat.com>
16359
16360 PR fortran/27395
16361 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
16362 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
16363
16364 2006-05-02 Jakub Jelinek <jakub (a] redhat.com>
16365
16366 PR c++/26943
16367 * testsuite/libgomp.c/pr26943-1.c: New test.
16368 * testsuite/libgomp.c/pr26943-2.c: New test.
16369 * testsuite/libgomp.c/pr26943-3.c: New test.
16370 * testsuite/libgomp.c/pr26943-4.c: New test.
16371 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
16372 * testsuite/libgomp.c++/pr26943.C: New test.
16373
16374 2006-05-02 Jakub Jelinek <jakub (a] redhat.com>
16375
16376 PR middle-end/27337
16377 * testsuite/libgomp.c++/pr27337.C: New test.
16378
16379 2006-04-26 Jakub Jelinek <jakub (a] redhat.com>
16380
16381 PR c/26171
16382 * testsuite/libgomp.c/pr26171.c: New test.
16383
16384 2006-04-25 Richard Henderson <rth (a] redhat.com>
16385
16386 PR libgomp/25865
16387 * configure.ac: Use GCC_CHECK_TLS.
16388 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
16389 * Makefile.in, aclocal.m4, configure: Regenerate.
16390
16391 2006-04-10 Matthias Klose <doko (a] debian.org>
16392
16393 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
16394 directory names containing underscores.
16395
16396 2006-03-21 Jakub Jelinek <jakub (a] redhat.com>
16397
16398 PR c++/26691
16399 * testsuite/libgomp.c++/pr26691.C: New test.
16400
16401 2006-03-13 Jakub Jelinek <jakub (a] redhat.com>
16402
16403 * testsuite/libgomp.fortran/retval2.f90: New test.
16404
16405 2006-03-09 Diego Novillo <dnovillo (a] redhat.com>
16406
16407 * testsuite/libgomp.c++: New directory.
16408
16409 2006-02-25 Shantonu Sen <ssen (a] opendarwin.org>
16410
16411 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
16412 * config/posix/sem.c: Implement the above.
16413
16414 2006-02-25 Andreas Tobler <a.tobler (a] schweiz.ch>
16415
16416 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
16417 define HAVE_BROKEN_POSIX_SEMAPHORES.
16418 * configure: Rebuilt.
16419 * config.h.in: Rebuilt.
16420
16421 2006-02-17 Francois-Xavier Coudert <coudert (a] clipper.ens.fr>
16422
16423 PR bootstrap/26161
16424 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
16425 for the other pthread check.
16426 * configure: Regenerate.
16427 * config.h.in: Regenerate.
16428
16429 2006-02-15 Jakub Jelinek <jakub (a] redhat.com>
16430
16431 PR libgomp/25938
16432 PR libgomp/25984
16433 * Makefile.am (fincludedir): New variable.
16434 (nodist_include_HEADERS): Remove Fortran files.
16435 (nodist_finclude_HEADERS): New variable.
16436 * Makefile.in: Regenerated.
16437
16438 2006-02-13 Jakub Jelinek <jakub (a] redhat.com>
16439
16440 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
16441 Remove tests for returning assumed character length arrays.
16442
16443 2006-02-12 Roger Sayle <roger (a] eyesopen.com>
16444 John David Anglin <dave (a] hiauly1.hia.nrc.ca>
16445
16446 PR libgomp/25936
16447 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
16448
16449 2006-02-08 Ulrich Weigand <uweigand (a] de.ibm.com>
16450
16451 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
16452
16453 2006-02-07 Eric Botcazou <ebotcazou (a] libertysurf.fr>
16454
16455 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
16456 part of LD_LIBRARY_PATH manually.
16457
16458 2006-02-03 H.J. Lu <hongjiu.lu (a] intel.com>
16459
16460 PR libgomp/25852
16461 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
16462 libgomp_init.
16463
16464 2005-01-25 Paolo Bonzini <bonzini (a] gnu.org>
16465
16466 PR libgomp/25884
16467 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
16468 * configure.ac (PERL): Don't set.
16469 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
16470 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
16471 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
16472 * omp.h.in: Wrap the new configure substitutions with @ characters.
16473 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
16474 * aclocal.m4, configure, Makefile.in: Regenerate.
16475 * mkomp_h.pl: Delete.
16476
16477 2005-01-24 Paolo Bonzini <bonzini (a] gnu.org>
16478
16479 PR libgomp/25259
16480 * configure.ac: Use GCC_HEADER_STDINT.
16481 * libgomp.h: Include gstdint.h.
16482 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
16483 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
16484
16485 2006-01-24 Richard Henderson <rth (a] redhat.com>
16486
16487 PR libgomp/25942
16488 * configure.ac: Add AM_MAINTAINER_MODE.
16489 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
16490
16491 2006-01-24 Diego Novillo <dnovillo (a] redhat.com>
16492
16493 * Makefile.in: Regenerate.
16494 * testsuite/Makefile.in: Regenerate.
16495 * aclocal.m4: Regenerate.
16496
16497 2006-01-23 Andreas Tobler <a.tobler (a] schweiz.ch>
16498
16499 * config/posix/proc.c: Conditional include of sys/loadavg.h for
16500 Solaris.
16501 * configure.ac: Add check for loadavg.h.
16502 (link_gomp): Adjust comment.
16503 * configure: Regenerate.
16504 * config.h.in: Regenerate.
16505
16506 2006-01-21 Steve Ellcey <sje (a] cup.hp.com>
16507
16508 PR libgomp/25877
16509 * configure.ac: Remove check for alloca.h.
16510 * configure: Regenerate.
16511 * config.h.in: Regenerate.
16512 * libgomp.h: define gomp_alloca to be __builtin_alloca.
16513 * team.c: Remove use of alloca.h.
16514 Call gomp_alloca instead of alloca.
16515
16516 2006-01-20 Steve Ellcey <sje (a] cup.hp.com>
16517
16518 PR libgomp/25877
16519 * team.c: Add include of alloca.h.
16520 * configure.ac: Add check for alloca.h.
16521 * configure: Regenerate.
16522 * config.h.in: Regenerate.
16523
16524 2006-01-17 Jakub Jelinek <jakub (a] redhat.com>
16525
16526 PR fortran/25219
16527 * testsuite/libgomp.fortran/pr25219.f90: New test.
16528
16529 2005-12-05 Uros Bizjak <uros (a] kss-loka.si>
16530
16531 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
16532 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
16533 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16534 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16535 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
16536 testsuite/libgomp.fortran/threadprivate1.f90,
16537 testsuite/libgomp.fortran/threadprivate2.f90,
16538 testsuite/libgomp.fortran/threadprivate3.f90,
16539 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16540 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16541 testsuite/libgomp.fortran/omp_parse3.f90: Change required
16542 effective-target to TLS runtime.
16543
16544 * testsuite/libgomp.fortran/pr25162.f: Require
16545 effective-target TLS runtime.
16546
16547 2005-12-01 Jakub Jelinek <jakub (a] redhat.com>
16548
16549 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
16550 * testsuite/libgomp.c/nestedfn-3.c: New test.
16551
16552 2005-11-30 Jakub Jelinek <jakub (a] redhat.com>
16553
16554 PR fortran/25162
16555 * testsuite/libgomp.fortran/pr25162.f: New test.
16556
16557 2005-11-28 Jakub Jelinek <jakub (a] redhat.com>
16558
16559 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
16560 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
16561
16562 2005-11-25 Jakub Jelinek <jakub (a] redhat.com>
16563
16564 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
16565 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
16566 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
16567 single.c, team.c, work.c, config/linux/alpha/futex.h,
16568 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
16569 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
16570 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
16571 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
16572 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
16573 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
16574 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
16575 FSF address.
16576
16577 2005-11-18 Jakub Jelinek <jakub (a] redhat.com>
16578
16579 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
16580 to nodist_noinst_HEADERS.
16581 * Makefile.in: Rebuilt.
16582
16583 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
16584 add integer count field.
16585 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
16586 omp_nest_lock_t type change.
16587 (omp_init_nest_lock): Likewise. Initialize count to 0.
16588 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
16589 Increment count.
16590 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
16591 Decrement count.
16592 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
16593 Increment count if successful and return the new nesting level.
16594 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
16595 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
16596 * testsuite/libgomp.c/lib-1.c: New test.
16597 * testsuite/libgomp.fortran/lib1.f90: New test.
16598 * testsuite/libgomp.fortran/lib2.f: New test.
16599 * testsuite/libgomp.fortran/lib3.f: New test.
16600
16601 2005-11-17 Richard Henderson <rth (a] redhat.com>
16602
16603 PR 24845
16604 * Makefile.am (nodist_toolexeclib_HEADERS): New.
16605 * configure.ac (link_gomp): New. Substitute it.
16606 (AC_CONFIG_FILES): Add libgomp.spec.
16607 * libgomp.spec.in: New file.
16608 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
16609 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
16610
16611 2005-11-18 Jakub Jelinek <jakub (a] redhat.com>
16612
16613 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
16614 reduction(-:var) behaving the same as reduction(+:var).
16615 * testsuite/libgomp.c/reduction-4.c: New test.
16616
16617 2005-11-15 Uros Bizjak <uros (a] kss-loka.si>
16618
16619 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
16620 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
16621 testsuite/libgomp.c/copyin-3.c,
16622 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16623 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16624 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
16625 testsuite/libgomp.c++/pr24455.C,
16626 testsuite/libgomp.fortran/threadprivate1.f90,
16627 testsuite/libgomp.fortran/threadprivate2.f90,
16628 testsuite/libgomp.fortran/threadprivate3.f90,
16629 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16630 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16631 testsuite/libgomp.fortran/omp_parse3.f90: Require
16632 effective-target TLS.
16633
16634 2005-11-14 Diego Novillo <dnovillo (a] redhat.com>
16635
16636 * HEADER: Remove.
16637
16638 2005-11-13 Jakub Jelinek <jakub (a] redhat.com>
16639
16640 PR libgomp/24797
16641 * team.c (initialize_team): Pass NULL rather than free as
16642 pthread_key_create destructor. Initialize thread specific data
16643 pointer in initial thread to a static local variable rather than
16644 malloced memory.
16645
16646 2005-11-11 Uros Bizjak <uros (a] kss-loka.si>
16647
16648 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
16649 its location to ld_library_path.
16650
16651 2005-11-10 Diego Novillo <dnovillo (a] redhat.com>
16652
16653 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
16654
16655 2005-11-10 Diego Novillo <dnovillo (a] redhat.com>
16656
16657 * testsuite/libgomp.c: Rename from libgomp.dg.
16658
16659 2005-11-09 Diego Novillo <dnovillo (a] redhat.com>
16660
16661 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
16662 threadprivate variable 'i'.
16663
16664 2005-11-09 Jakub Jelinek <jakub (a] redhat.com>
16665
16666 * config/linux/s390/futex.h: New file.
16667 * configure.tgt: Use it.
16668
16669 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
16670 before the parallel.
16671
16672 2005-11-08 Jakub Jelinek <jakub (a] redhat.com>
16673
16674 PR c++/24734
16675 * testsuite/libgomp.c++/master-1.C: New test.
16676
16677 2005-11-07 Jakub Jelinek <jakub (a] redhat.com>
16678
16679 * testsuite/libgomp.dg/copyin-3.c: New test.
16680
16681 2005-11-07 Jakub Jelinek <jakub (a] redhat.com>
16682
16683 * testsuite/libgomp.fortran/retval1.f90: New test.
16684 * testsuite/libgomp.fortran/vla7.f90: New test.
16685
16686 2005-11-06 Jakub Jelinek <jakub (a] redhat.com>
16687
16688 * testsuite/libgomp.fortran/vla2.f90: New test.
16689 * testsuite/libgomp.fortran/vla3.f90: New test.
16690 * testsuite/libgomp.fortran/vla4.f90: New test.
16691 * testsuite/libgomp.fortran/vla5.f90: New test.
16692 * testsuite/libgomp.fortran/vla6.f90: New test.
16693
16694 2005-11-01 Jakub Jelinek <jakub (a] redhat.com>
16695
16696 * config/linux/sparc/futex.h: New file.
16697 * configure.tgt: Use it.
16698 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
16699
16700 * critical.c: Include stdlib.h.
16701 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
16702 ignoring return value.
16703 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
16704 LIBGOMP_CHECK_SYNC_BUILTINS check.
16705 * configure: Rebuilt.
16706
16707 2005-10-31 Jakub Jelinek <jakub (a] redhat.com>
16708
16709 * testsuite/libgomp.fortran/vla1.f90: New test.
16710
16711 2005-10-31 Richard Henderson <rth (a] redhat.com>
16712
16713 * testsuite/libgomp.fortran/character2.f90: Fix race condition
16714 setting 's' in different threads.
16715
16716 2005-10-31 Jakub Jelinek <jakub (a] redhat.com>
16717
16718 * libgomp.h (attribute_hidden, ialias): Define.
16719 * config/posix/proc.c (omp_get_num_procs): Add ialias.
16720 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
16721 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
16722 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16723 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16724 omp_test_lock, omp_test_nest_lock): Likewise.
16725 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
16726 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16727 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16728 omp_test_lock, omp_test_nest_lock): Likewise.
16729 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
16730 omp_get_dynamic, omp_get_nested): Likewise.
16731 * parallel.c (omp_get_num_threads, omp_get_max_threads,
16732 omp_get_thread_num, omp_in_parallel): Likewise.
16733 * fortran.c (ialias_redirect): Define.
16734 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
16735 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
16736 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
16737 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
16738 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
16739 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
16740 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
16741 omp_get_wtime): Add ialias_redirect.
16742
16743 2005-10-30 Jakub Jelinek <jakub (a] redhat.com>
16744
16745 * fortran.c: Include stdlib.h.
16746
16747 2005-10-29 Jakub Jelinek <jakub (a] redhat.com>
16748
16749 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
16750 * Makefile.in: Regenerated.
16751
16752 2005-10-28 Jakub Jelinek <jakub (a] redhat.com>
16753
16754 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
16755 * libgomp_f.h.in (omp_check_defines): New function.
16756 * env.c: Include libgomp_f.h.
16757 (initialize_env): Call omp_check_defines.
16758
16759 * testsuite/libgomp.dg/copyin-2.c: New test.
16760 * testsuite/libgomp.c++/copyin-2.C: New test.
16761 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
16762
16763 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
16764 * testsuite/libgomp.fortran/sharing2.f90: New test.
16765
16766 * testsuite/libgomp.dg/copyin-1.c: New test.
16767 * testsuite/libgomp.c++/copyin-1.C: New test.
16768
16769 2005-10-26 Jakub Jelinek <jakub (a] redhat.com>
16770
16771 * testsuite/libgomp.fortran/crayptr1.f90: New test.
16772
16773 * testsuite/libgomp.fortran/workshare1.f90: New test.
16774
16775 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
16776 only test.
16777 * libgomp.fortran/sharing1.f90: New test.
16778
16779 2005-10-24 Jakub Jelinek <jakub (a] redhat.com>
16780
16781 PR c++/24502
16782 * testsuite/libgomp.c++/loop-7.C: New test.
16783
16784 * testsuite/libgomp.dg/nestedfn-2.c: New test.
16785
16786 * testsuite/libgomp.dg/nestedfn-1.c: New test.
16787 * testsuite/libgomp.fortran/reduction6.f90: New test.
16788 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
16789
16790 2005-10-23 Richard Henderson <rth (a] redhat.com>
16791
16792 * testsuite/libgomp.c++/ctor-1.C: New.
16793 * testsuite/libgomp.c++/ctor-2.C: New.
16794 * testsuite/libgomp.c++/ctor-3.C: New.
16795 * testsuite/libgomp.c++/ctor-4.C: New.
16796 * testsuite/libgomp.c++/ctor-5.C: New.
16797 * testsuite/libgomp.c++/ctor-6.C: New.
16798 * testsuite/libgomp.c++/ctor-7.C: New.
16799 * testsuite/libgomp.c++/ctor-8.C: New.
16800 * testsuite/libgomp.c++/ctor-9.C: New.
16801
16802 2005-10-21 Diego Novillo <dnovillo (a] redhat.com>
16803
16804 PR 24455
16805 * testsuite/libgomp.c++/pr24455-1.C: New test.
16806 * testsuite/libgomp.c++/pr24455.C: New test.
16807 * testsuite/libgomp.dg/pr24455-1.c: New test.
16808 * testsuite/libgomp.dg/pr24455.c: New test.
16809
16810 2005-10-20 Richard Henderson <rth (a] redhat.com>
16811
16812 * testsuite/libgomp.c++/loop-6.C: New.
16813 * testsuite/libgomp.dg/loop-3.c: New.
16814
16815 2005-10-20 Jakub Jelinek <jakub (a] redhat.com>
16816
16817 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
16818 explicitly private.
16819 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
16820 explicitly shared.
16821
16822 2005-10-19 Diego Novillo <dnovillo (a] redhat.com>
16823
16824 * testsuite/libgomp.fortran/jacobi.f: New test.
16825
16826 2005-10-19 Richard Henderson <rth (a] redhat.com>
16827
16828 * configure.tgt (i?86-linux): Default to with_arch instead of
16829 CFLAGS. Add -mtune to match target_cpu.
16830 (x86_64-linux): Tune to i686.
16831
16832 * fortran.c (omp_test_nest_lock_): Fix typo.
16833
16834 2005-10-19 Jakub Jelinek <jakub (a] redhat.com>
16835
16836 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16837 gomp_ordered_sync): Do nothing if team->nthreads == 1.
16838 * testsuite/libgomp.dg/ordered-3.c: New test.
16839
16840 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
16841 Remove volatile keyword.
16842
16843 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
16844 in COMMON block to avoid warnings on 64-bit targets.
16845
16846 2005-10-18 Diego Novillo <dnovillo (a] redhat.com>
16847
16848 * testsuite/libgomp.dg/shared-3.c: New test.
16849
16850 2005-10-18 Jakub Jelinek <jakub (a] redhat.com>
16851
16852 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
16853 * testsuite/libgomp.fortran/reduction5.f90: New test.
16854
16855 2005-10-18 Jakub Jelinek <jakub (a] redhat.com>
16856
16857 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
16858 dg-options.
16859 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
16860 flush loop now that __sync_synchronize has proper memory barrier.
16861 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
16862 Add -ffixed-form to dg-options.
16863
16864 2005-10-17 Diego Novillo <dnovillo (a] redhat.com>
16865
16866 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
16867 from subdirectories.
16868 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
16869 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
16870 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
16871 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
16872 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
16873 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
16874 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
16875 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
16876 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
16877 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
16878 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
16879 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
16880 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
16881 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
16882 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
16883 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
16884 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
16885 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
16886 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
16887 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
16888 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
16889 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
16890 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
16891 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
16892 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
16893
16894 2005-10-17 Jakub Jelinek <jakub (a] redhat.com>
16895
16896 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
16897 lang_library_path exists. Use find instead of glob to gather tests.
16898 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
16899
16900 2005-10-17 Diego Novillo <dnovillo (a] redhat.com>
16901
16902 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
16903 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
16904 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
16905 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
16906 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
16907 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
16908 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
16909 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
16910 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
16911 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
16912 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
16913 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
16914 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
16915
16916 2005-10-15 Jakub Jelinek <jakub (a] redhat.com>
16917
16918 * testsuite/libgomp.dg/vla-1.c: New test.
16919
16920 * testsuite/libgomp.fortran/reference2.f90: New test.
16921
16922 * testsuite/libgomp.fortran/character2.f90: Remove explicit
16923 declaration of omp_get_thread_num.
16924 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
16925 use omp_lib.
16926
16927 * testsuite/libgomp.fortran/reduction1.f90: New test.
16928 * testsuite/libgomp.fortran/reduction2.f90: New test.
16929 * testsuite/libgomp.fortran/reduction3.f90: New test.
16930 * testsuite/libgomp.fortran/reduction4.f90: New test.
16931
16932 2005-10-13 Richard Henderson <rth (a] redhat.com>
16933
16934 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
16935 * Makefile.in: Regenerate.
16936 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
16937 * libgomp.h: Include bar.h.
16938 (struct gomp_barrier): Remove.
16939 (struct gomp_team): Add barrier. Replace master_barrier with
16940 master_release. Replace threads with ordered_release.
16941 (struct gomp_thread): Replace barrier with release.
16942 * ordered.c (gomp_ordered_first): Update for ordered_release change.
16943 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
16944 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
16945 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
16946 (GOMP_single_copy_end): Likewise.
16947 * team.c (gomp_threads_dock): New.
16948 (gomp_barrier_init, gomp_barrier_destroy): Remove.
16949 (gomp_thread_start): Use gomp_barrier_wait.
16950 (new_team, free_team): Update for gomp_team changes.
16951 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
16952 (gomp_team_end): Use gomp_barrier_wait.
16953 (initialize_team): Update for gomp_thread changes.
16954 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
16955 (gomp_work_share_end_nowait): Use atomic ops when available.
16956 * config/linux/bar.c, config/linux/bar.h: New files.
16957 * config/posix/bar.c, config/posix/bar.h: New files.
16958
16959 2005-10-13 Jakub Jelinek <jakub (a] redhat.com>
16960
16961 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
16962 * testsuite/libgomp.dg/single-2.c: New test.
16963
16964 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
16965 lang_link_flags): Unset, so that they aren't inherited from previously
16966 sourced *.exp.
16967
16968 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
16969
16970 2005-10-12 Richard Henderson <rth (a] redhat.com>
16971
16972 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
16973 (libgomp_init): Use lang_test_file, lang_library_path, and
16974 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
16975
16976 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
16977 (lang_test_file, lang_link_flags): New.
16978 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
16979
16980 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
16981 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
16982 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
16983 testsuite/libgomp.c++/parallel-1.C,
16984 testsuite/libgomp.c++/reduction-1.C,
16985 testsuite/libgomp.c++/reduction-2.C,
16986 testsuite/libgomp.c++/reduction-3.C,
16987 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
16988 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
16989 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
16990 New files, largely cribbed from the C testsuite.
16991
16992 2005-10-12 Jakub Jelinek <jakub (a] redhat.com>
16993
16994 * testsuite/libgomp.fortran/character1.f90: New test.
16995 * testsuite/libgomp.fortran/character2.f90: New test.
16996
16997 * testsuite/libgomp.dg/nested-1.c: New test.
16998 * testsuite/libgomp.dg/nested-2.c: New test.
16999 * testsuite/libgomp.fortran/do1.f90: New test.
17000 * testsuite/libgomp.fortran/do2.f90: New test.
17001
17002 * testsuite/libgomp.fortran/reference1.f90: New test.
17003
17004 2005-10-11 Jakub Jelinek <jakub (a] redhat.com>
17005
17006 * testsuite/libgomp.dg/reduction-1.c: New test.
17007 * testsuite/libgomp.dg/reduction-2.c: New test.
17008 * testsuite/libgomp.dg/reduction-3.c: New test.
17009
17010 2005-10-10 Jakub Jelinek <jakub (a] redhat.com>
17011
17012 * testsuite/libgomp.dg/atomic-1.c: New test.
17013 * testsuite/libgomp.dg/atomic-2.c: New test.
17014
17015 2005-10-09 Richard Henderson <rth (a] redhat.com>
17016
17017 * critical.c (atomic_lock): New.
17018 (initialize_critical): Initialize it.
17019 (GOMP_atomic_start, GOMP_atomic_end): New.
17020 * libgomp.map: Export them.
17021 * libgomp_g.h: Declare them.
17022
17023 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
17024
17025 2005-10-02 Richard Henderson <rth (a] redhat.com>
17026
17027 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
17028 to XCFLAGS instead of CFLAGS.
17029
17030 2005-09-30 Richard Henderson <rth (a] redhat.com>
17031
17032 * configure.ac: Determine whether -pthread or -lpthread is needed.
17033 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
17034 * Makefile.in, configure: Rebuild.
17035
17036 2005-09-28 Richard Henderson <rth (a] redhat.com>
17037
17038 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
17039 * testsuite/libgomp.dg/omp-single-3.c: New test.
17040
17041 2005-09-28 Diego Novillo <dnovillo (a] redhat.com>
17042
17043 * testsuite/libgomp.dg/omp-single-2.c: New test.
17044 * testsuite/libgomp.dg/shared-2.c: Fix return code.
17045
17046 2005-09-27 Richard Henderson <rth (a] redhat.com>
17047
17048 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
17049 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
17050
17051 2005-09-27 Jakub Jelinek <jakub (a] redhat.com>
17052
17053 * testsuite/libgomp.dg/omp-loop03.c: New test.
17054
17055 2005-09-27 Diego Novillo <dnovillo (a] redhat.com>
17056
17057 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
17058
17059 2005-09-27 Diego Novillo <dnovillo (a] redhat.com>
17060
17061 * testsuite/libgomp.dg/omp-single-1.c: New test.
17062 * testsuite/libgomp.dg/shared-1.c: Return 0.
17063 Add prototype for abort.
17064 * testsuite/libgomp.dg/shared-2.c: Likewise.
17065
17066 2005-09-26 Jakub Jelinek <jakub (a] redhat.com>
17067
17068 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
17069 constructs.
17070
17071 2005-09-26 Diego Novillo <dnovillo (a] redhat.com>
17072
17073 * testsuite/libgomp.dg/shared-1.c: New test.
17074 * testsuite/libgomp.dg/shared-2.c: New test.
17075
17076 2005-09-24 Richard Henderson <rth (a] redhat.com>
17077
17078 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
17079
17080 2005-09-24 Richard Henderson <rth (a] redhat.com>
17081
17082 * iter.c (gomp_iter_static_next): Round up when computing number
17083 of iterations. Don't bother distributing a remainder equally.
17084
17085 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
17086 Don't call srand. Zero b before testing.
17087 (main): New.
17088
17089 2005-09-24 Jakub Jelinek <jakub (a] redhat.com>
17090
17091 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
17092 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
17093
17094 2005-09-23 Jakub Jelinek <jakub (a] redhat.com>
17095
17096 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
17097 without !$omp end do, followed immediately by subroutine end.
17098
17099 2005-09-23 Diego Novillo <dnovillo (a] redhat.com>
17100
17101 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
17102
17103 2005-09-22 Richard Henderson <rth (a] redhat.com>
17104
17105 * critical.c (GOMP_critical_name_start): Change argument to void**.
17106 Reuse the pointer space if the mutex fits.
17107 (GOMP_critical_name_end): Likewise.
17108 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
17109 * libgomp_g.h (GOMP_critical_name_start): Update decl.
17110 (GOMP_critical_name_end): Likewise.
17111 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
17112 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
17113
17114 2005-09-20 Richard Henderson <rth (a] redhat.com>
17115
17116 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
17117 (create_lock_lock): New.
17118 (initialize_critical): Initialize it.
17119 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
17120 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
17121
17122 2005-09-20 Diego Novillo <dnovillo (a] redhat.com>
17123
17124 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
17125
17126 2005-09-20 Diego Novillo <dnovillo (a] redhat.com>
17127
17128 * testsuite/libgomp.dg/omp-loop01.c: New test.
17129 * testsuite/libgomp.dg/omp-loop02.c: New test.
17130
17131 2005-09-20 Jakub Jelinek <jakub (a] redhat.com>
17132
17133 * configure.ac (AC_PROG_FC): Add.
17134 (USE_FORTRAN): New automake conditional.
17135 * configure: Rebuilt.
17136 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
17137 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
17138 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
17139 Add rules to build them.
17140 * Makefile.in: Rebuilt.
17141 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
17142 OMP_NEST_LOCK_KIND.
17143 * libgomp.map: Add Fortran wrappers.
17144 * libgomp_f.h.in: New file.
17145 * omp_lib.h.in: New file.
17146 * omp_lib.f90.in: New file.
17147 * fortran.c: New file.
17148 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
17149 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
17150 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
17151 libgfortran has been built.
17152 * testsuite/libgomp.fortran/fortran.exp: New file.
17153 * testsuite/libgomp.fortran/omp_cond1.f: New test.
17154 * testsuite/libgomp.fortran/omp_cond2.f: New test.
17155 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
17156 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
17157 * testsuite/libgomp.fortran/omp_hello.f: New test.
17158 * testsuite/libgomp.fortran/omp_orphan.f: New test.
17159 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
17160 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
17161 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
17162 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
17163 * testsuite/libgomp.fortran/omp_reduction.f: New test.
17164 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
17165 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
17166
17167 2005-08-30 Richard Henderson <rth (a] redhat.com>
17168
17169 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
17170 function for when aliases are not usable.
17171 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
17172 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17173 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
17174 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
17175 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
17176 GOMP_loop_ordered_guided_next): Likewise.
17177 * ordered.c (GOMP_ordered_start): Likewise.
17178
17179 2005-08-01 Diego Novillo <dnovillo (a] redhat.com>
17180
17181 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
17182 * testsuite/libgomp.dg/omp_hello.c: Fix return code
17183 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
17184 * testsuite/libgomp.dg/omp_orphan.c: Likewise
17185 * testsuite/libgomp.dg/omp_reduction.c: Likewise
17186 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
17187 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
17188 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
17189 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
17190
17191 2005-07-07 Eric Christopher <echristo (a] redhat.com>
17192 Diego Novillo <dnovillo (a] redhat.com>
17193
17194 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
17195 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
17196 up code.
17197 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
17198 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
17199 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
17200 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
17201 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
17202 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
17203 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
17204
17205 2005-06-13 Diego Novillo <dnovillo (a] redhat.com>
17206
17207 * TOPLEVEL.patch: Remove.
17208
17209 2005-05-16 Richard Henderson <rth (a] redhat.com>
17210
17211 * configure.ac: Test for clock_gettime.
17212 * config.h.in, configure: Rebuild.
17213 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
17214 (omp_get_wtime): Use clock_gettime if available.
17215 (omp_get_wtick): Use clock_getres if available.
17216
17217 2005-05-11 Richard Henderson <rth (a] redhat.com>
17218
17219 * config/linux/ia64/futex.h: New file.
17220 * configure.tgt: Use it.
17221
17222 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
17223
17224 2005-05-07 Richard Henderson <rth (a] redhat.com>
17225
17226 * config/linux/powerpc/futex.h: New file.
17227 * configure.tgt: Use it.
17228
17229 * config/linux/i486/futex.h: Merge ...
17230 * config/linux/x86_64/futex.h: ... into ...
17231 * config/linux/x86/futex.h: ... here.
17232 * configure.tgt: Update to match.
17233
17234 2005-05-06 Richard Henderson <rth (a] redhat.com>
17235
17236 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
17237 * config/linux/i486/futex.h: Likewise.
17238 * config/linux/x86_64/futex.h: Likewise.
17239
17240 * config/linux/lock.c: New file.
17241 * config/linux/omp-lock.h: New file.
17242
17243 * critical.c, env.h: Don't include omp.h
17244 * config/posix/lock.c: Include libgomp.h instead of omp.h.
17245 * config/posix/time.c: Likewise.
17246 * config/posix/omp-lock.h: New file.
17247 * libgomp.h: Include omp-lock.h and omp.h.
17248 * Makefile.am (nodist_include_HEADERS): New.
17249 (omp.h): New rule.
17250 * configure.ac (PERL): New.
17251 * mkomp_h.pl: New file.
17252 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
17253 with templates.
17254 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
17255
17256 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
17257 build directory. Re-add -march=i486 hack.
17258
17259 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
17260 (libgomp_link_flags): Remove.
17261 (libgomp_initialized): Remove.
17262 (libgomp_init): Don't protect from reinitialization. Copy code
17263 from libstdc++ for getting the multilib set correctly.
17264
17265 2005-05-05 Richard Henderson <rth (a] redhat.com>
17266
17267 * config/linux/alpha/futex.h: New file.
17268 * configure.tgt (alpha*-*-linux*): Use it.
17269
17270 * config/posix/mutex.c: New file.
17271 * config/posix/sem.c: Use libgomp.h.
17272
17273 * configure.tgt (x86_64-linux): Also test CC for -m32.
17274 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
17275
17276 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
17277 after $gccpath.
17278
17279 * Makefile.am (SUBDIRS): New.
17280 (libgomp_la_LDFLAGS): Add -lpthread.
17281 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
17282 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
17283
17284 * libgomp_g.h: New file.
17285 * libgomp.h: Split out all public declarations to libgomp_g.h.
17286 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
17287 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
17288 * config/linux/sem.h: Likewise.
17289 * config/posix/sem.h: Likewise.
17290
17291 * Makefile.am (AM_LDFLAGS): New.
17292 (libgomp_version_script): Split out from ...
17293 (libgomp_la_LDFLAGS): ... here.
17294 (libgomp_version_info): New.
17295 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
17296 (LIBGOMP_ENABLE): New.
17297 (LIBGOMP_CHECK_LINKER_FEATURES): New.
17298 (LIBGOMP_ENABLE_SYMVERS): New.
17299 * configure.ac (AC_INIT): Version 1.0.
17300 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
17301 (enable-linux-futex): Likewise. Rename from enable-futex.
17302 (libtool_VERSION): New.
17303 (LIBGOMP_ENABLE_SYMVERS): Use it.
17304 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
17305 * Makefile.in, aclocal.m4, configure: Rebuild.
17306
17307 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
17308 (gomp_mutex_unlock_slow): Fix typo.
17309 * config/linux/sem.c: Similarly.
17310 (gomp_sem_post_slow): Fix typo.
17311 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
17312 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
17313 [__PIC__] (sys_futex0): Don't use tmp output in asm.
17314
17315 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
17316 (libgomp_la_LDFLAGS): Add top_srcdir to path.
17317 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
17318 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
17319 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
17320 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
17321 LDFLAGS. Pull enable_futex check to top-level.
17322 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
17323 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
17324
17325 First attempt at real configury.
17326 * Makefile, config.h: Remove file.
17327 * Makefile.am, Makefile.in: New file.
17328 * acinclude.m4 aclocal.m4: New file.
17329 * configure.ac, configure.tgt, configure: New file.
17330
17331 * config/posix/lock.c: Rename from sys-lock.c.
17332 * config/posix/mutex.h: Rename from sys-mutex.h.
17333 * config/posix/sem.c: Rename from sys-sem.c.
17334 * config/posix/sem.h: Rename from sys-sem.h.
17335 * config/posix/proc.c: Rename from sys-proc.c.
17336 * config/posix/time.c: Rename from sys-proc.c.
17337
17338 * config/linux/mutex.c: New file.
17339 * config/linux/mutex.h: New file.
17340 * config/linux/sem.c: New file.
17341 * config/linux/sem.h: New file.
17342 * config/linux/i486/futex.h: New file.
17343 * config/linux/x86_64/futex.h: New file.
17344
17345 2005-05-04 Richard Henderson <rth (a] redhat.com>
17346
17347 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
17348 * libgomp.h: Declare them.
17349 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
17350 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
17351
17352 2005-05-04 Richard Henderson <rth (a] redhat.com>
17353
17354 * libgomp-1 code drop
17355
17356 2005-05-04 Richard Henderson <rth (a] redhat.com>
17357
17358 * iter.c (gomp_iter_static_next): Return tri-state on 0.
17359 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
17360 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
17361 (gomp_iter_static_next): Update.
17362 (gomp_ordered_static_next): Update.
17363 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
17364 (gomp_loop_ordered_static_start): Likewise. Exit early for a
17365 totally empty range.
17366 (gomp_loop_ordered_static_next): Refine test for calling
17367 gomp_ordered_static_next.
17368 * testsuite/ordered-1.c: Add case for more threads than iterations.
17369
17370 * iter.c (gomp_iter_runtime_next_locked): Remove.
17371 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
17372 gomp_loop_guided_start, gomp_loop_ordered_static_start,
17373 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
17374 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
17375 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
17376 gomp_loop_ordered_guided_next): Downcase name, make static, add
17377 an external alias with the old name.
17378 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
17379 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
17380 switch and call one of the above static functions.
17381 * libgomp.h: Update.
17382
17383 * work.c (gomp_work_share_start): Lock the mutex for !first too.
17384 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
17385 GOMP_loop_guided_start, GOMP_loop_runtime_start,
17386 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17387 GOMP_loop_ordered_guided_start): Update to match.
17388 * sections.c (GOMP_sections_start): Likewise.
17389 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
17390
17391 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17392 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
17393 Use bounds check instead of modulus.
17394 (gomp_ordered_sync): Split out of GOMP_ordered_start.
17395 (gomp_ordered_last): Don't sync with ordered_owner here.
17396 (gomp_ordered_next): Likewise.
17397 (gomp_ordered_static_loop_next): Likewise.
17398 * loop.c, libgomp.h: Update to match.
17399
17400 * libgomp.h (GOMP_barrier): Declare.
17401
17402 * testsuite/barrier-1.c: New file.
17403 * testsuite/critical-1.c: New file.
17404 * testsuite/ordered-2.c: New file.
17405 * testsuite/ordered-1.c: New file.
17406 * testsuite/sections-1.c: New file.
17407 * testsuite/single-1.c: New file.
17408 * testsuite/Makefile (TESTS): Add them.
17409
17410 2005-05-04 Richard Henderson <rth (a] redhat.com>
17411
17412 * libgomp.h (struct gomp_work_share): Add ordered_owner.
17413 * loop.c (GOMP_loop_static_start): If not the startup thread,
17414 acquire the mutex to wait for initialization complete.
17415 (GOMP_loop_ordered_static_start): Likewise.
17416 (GOMP_loop_ordered_runtime_start): Likewise.
17417 (GOMP_loop_ordered_static_first): Remove.
17418 (GOMP_loop_ordered_dynamic_first): Remove.
17419 (GOMP_loop_ordered_guided_first): Remove.
17420 (GOMP_loop_ordered_runtime_first): Remove.
17421 * ordered.c (gomp_ordered_loop_first): Post to own release when
17422 we're the first thread.
17423 (gomp_ordered_loop_last): Wait on release if not owner.
17424 (gomp_ordered_loop_next): Likewise.
17425 (gomp_ordered_static_loop_init): New.
17426 (gomp_ordered_static_loop_next): Use ordered_owner.
17427 (GOMP_ordered_start): Likewise.
17428 * work.c (gomp_new_work_share): Initialize ordered_owner.
17429
17430 2005-05-03 Richard Henderson <rth (a] redhat.com>
17431
17432 * Makefile (OPT): New.
17433 (CFLAGS): Use it.
17434
17435 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
17436 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
17437 * libgomp.h, libgomp.map, NOTES: Update to match.
17438
17439 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
17440 Add initialized and thr members.
17441 (gomp_thread_start): Pause when initially spawned to wait for
17442 the whole team to be created.
17443 (gomp_team_start): Release team members at the end.
17444
17445 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
17446 (f_foo_1): Use GOMP_loop_end.
17447 (f_foo_2): Use GOMP_loop_end_nowait.
17448
17449 * testsuite/loop-2.c: New file.
17450 * testsuite/Makefile (TESTS): Add it.
17451
17452 2005-05-03 Richard Henderson <rth (a] redhat.com>
17453
17454 * iter.c (gomp_iter_static_next): Fix overflow check typo.
17455 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
17456 * team.c (new_team): Initialize oldest_live_gen to 1 if no
17457 initial work_share.
17458
17459 * testsuite/Makefile: New file.
17460 * testsuite/loop-1.c: New file.
17461
17462 2005-05-03 Richard Henderson <rth (a] redhat.com>
17463
17464 Initial implementation and checkin.
17465
17467 Copyright (C) 2005-2022 Free Software Foundation, Inc.
17468
17469 Copying and distribution of this file, with or without modification,
17470 are permitted in any medium without royalty provided the copyright
17471 notice and this notice are preserved.
17472